⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdtsvgblkd_main.xsl

📁 microblaze下ucos移植源码
💻 XSL
📖 第 1 页 / 共 4 页
字号:
				<xsl:variable name="brdgPosition_"  select="@POSITION"/>		<xsl:variable name="brdgInstance_"  select="@INSTANCE"/>				<xsl:variable name="min_bus_idx_" select="math:min(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/><!--				<xsl:variable name="max_bus_idx_" select="math:max(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>		     	<xsl:message>Maximum index <xsl:value-of select="$max_bus_idx_"/></xsl:message>     	<xsl:message>Minimum index <xsl:value-of select="$min_bus_idx_"/></xsl:message>-->						<xsl:variable name="brdg_X_"  select="($BLKD_INNER_X + $BLKD_BRIDGE_GAP + $BLKD_BUS_LANE_W + (@POSITION * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))))"/>			<xsl:variable name="brdg_Y_"  select="($G_SharedBus_Y  + ($min_bus_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_SBS_LANE_H div 2) - ceiling($BLKD_MOD_H div 2))"/>				<use  x="{$brdg_X_}"  y="{$brdg_Y_}"  xlink:href="#symbol_{$brdgInstance_}"/>		</xsl:for-each>					<!--		<xsl:message>Found <xsl:value-of select="count(exsl:node-set($bridgeShapes_)/BRIDGECONN)"/> busconns </xsl:message>		<xsl:message>Drawing connection for bridge <xsl:value-of select="$brdgInstance_"/> at <xsl:value-of select="@POSITION"/> </xsl:message>-->			<xsl:for-each select="exsl:node-set($bridgeShapes_)/BRIDGECONN">		<xsl:sort select="@POSITION" data-type="number"/>				<xsl:variable name="brdgInstance_"  select="@INSTANCE"/>		<xsl:variable name="brdgPosition_"  select="@POSITION"/>				<xsl:variable name="busColor_">			<xsl:call-template name="BusType2Color">				<xsl:with-param name="iBusType" select="@BUSSTD"/>			</xsl:call-template>			</xsl:variable>				<xsl:variable name="min_bus_idx_" select="math:min(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>		<xsl:variable name="brdg_Y1_"     select="($G_SharedBus_Y  + ($min_bus_idx_ * $BLKD_SBS_LANE_H) + ceiling($BLKD_SBS_LANE_H div 2) - ceiling($BLKD_MOD_H div 2))"/>		<xsl:variable name="brdg_X_"      select="($BLKD_INNER_X   + $BLKD_BRIDGE_GAP + $BLKD_BUS_LANE_W + (@POSITION * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))))"/>					<xsl:variable name="bc_Y_"        select="$brdg_Y1_ + $BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_BIF_GAP_V + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2)"/>			<xsl:variable name="bc_X_">			<xsl:choose>				<xsl:when test="@ORIENTED='WEST'">					<xsl:value-of select="($brdg_X_ - $BLKD_BIFC_W)"/>				</xsl:when>				<xsl:when test="@ORIENTED='EAST'">					<xsl:value-of select="($brdg_X_ + $BLKD_MOD_W)"/>				</xsl:when>			</xsl:choose>		</xsl:variable>					<!-- Layout the bus conn -->		<use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>				<!-- Figure out the positions of the lines -->		<!--				<xsl:variable name="vert_line_x_"  select="$bc_X_    + ceiling($BLKD_BIFC_W div 2)"/>		<xsl:message>vert line x <xsl:value-of select="$vert_line_x_"/></xsl:message>		<xsl:message>bus index <xsl:value-of select="@BUSINDEX"/></xsl:message>-->						<xsl:variable name="vert_line_x_">			<xsl:choose>				<xsl:when test="@ORIENTED='WEST'">					<xsl:value-of select="($bc_X_ - ($BLKD_BUS_LANE_W - $BLKD_BIFC_W))"/>				</xsl:when>				<xsl:when test="@ORIENTED='EAST'">					<xsl:value-of select="($bc_X_ + ($BLKD_BUS_LANE_W - $BLKD_P2P_BUS_W))"/>				</xsl:when>			</xsl:choose>		</xsl:variable>					<!-- At least one of the points is going to be the bus --><!--				<xsl:variable name="vert_line_y1_" select="($G_SharedBus_Y  + $BLKD_PROC2SBS_GAP + (@BUSINDEX * $BLKD_SBS_LANE_H))"/>-->				<xsl:variable name="vert_line_y1_" select="($G_SharedBus_Y  + (@BUSINDEX * $BLKD_SBS_LANE_H))"/>		<xsl:variable name="vert_line_y2_" select="$bc_Y_ + ceiling($BLKD_BIFC_H div 2)"/>				<xsl:variable name="v_bus_ul_y_">			<xsl:choose>				<xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">					<xsl:value-of select="$vert_line_y2_"/>				</xsl:when>				<xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">					<xsl:value-of select="$vert_line_y1_"/>				</xsl:when>			</xsl:choose>		</xsl:variable>	<!--				<xsl:variable name="v_bus_ul_x_" select="$vert_line_x_"/>-->			<xsl:variable name="v_bus_ul_x_">			<xsl:choose>				<xsl:when test="@ORIENTED='WEST'">					<xsl:value-of select="($vert_line_x_ + $BLKD_BIF_GAP_H)"/>				</xsl:when>				<xsl:when test="@ORIENTED='EAST'">					<xsl:value-of select="($vert_line_x_ - $BLKD_BIF_GAP_H)"/>				</xsl:when>			</xsl:choose>		</xsl:variable>							<xsl:variable name="v_bus_width_" select="$BLKD_P2P_BUS_W"/>		<xsl:variable name="v_bus_height_">			<xsl:choose>				<xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">					<xsl:value-of select="($vert_line_y1_ - $vert_line_y2_)"/>				</xsl:when>				<xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">					<xsl:value-of select="($vert_line_y2_ - $vert_line_y1_)"/>				</xsl:when>			</xsl:choose>		</xsl:variable>					<xsl:variable name="h_bus_ul_x_">			<xsl:choose>				<xsl:when test="@ORIENTED='WEST'">					<xsl:value-of select="($bc_X_ - ($BLKD_BUS_LANE_W - $BLKD_BIFC_W) + $BLKD_BIF_GAP_H)"/>				</xsl:when>				<xsl:when test="@ORIENTED='EAST'">					<xsl:value-of select="($bc_X_ + $BLKD_BIFC_W - ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2))"/>				</xsl:when>			</xsl:choose>		</xsl:variable>					<xsl:variable name="h_bus_ul_y_" select="$bc_Y_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>		<xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>				<xsl:variable name="h_bus_width_">			<xsl:choose>				<xsl:when test="@ORIENTED='WEST'">					<xsl:value-of select="(($bc_X_ + ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2)) - $h_bus_ul_x_ + 1)"/>				</xsl:when>				<xsl:when test="@ORIENTED='EAST'">					<xsl:value-of select="(($v_bus_ul_x_ + $BLKD_P2P_BUS_W) - $h_bus_ul_x_)"/>				</xsl:when>			</xsl:choose>		</xsl:variable>					<!--				<xsl:message>vert line y1 <xsl:value-of select="$vert_line_y1_"/></xsl:message>-->						<rect x="{$v_bus_ul_x_}" 		  	  y="{$v_bus_ul_y_ + 2}"  		 	  width= "{$v_bus_width_}" 		 	  height="{$v_bus_height_}" 		 	  style="stroke:none; fill:{$busColor_}"/>				<rect x="{$h_bus_ul_x_}" 		  	  y="{$h_bus_ul_y_}"  		 	  width= "{$h_bus_width_}" 		 	  height="{$h_bus_height_}" 		 	  style="stroke:none; fill:{$busColor_}"/>			</xsl:for-each>		</xsl:template>				<!-- =========================================================================== --><!--                          FUNCTION TEMPLATE                                  --><!--																			 --><!-- Draw the IP Bucket          												 --><!-- =========================================================================== --><xsl:template name="Draw_BlkDiagram_IPBucket">		<!-- Draw IP Bucket -->		<xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/IPBUCKET">			<xsl:variable name="bucket_w_"  select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>		<xsl:variable name="bucket_h_"  select="(($BLKD_MOD_BKTLANE_H * 2) + (($BLKD_MOD_H * @MODS_H) + ($BLKD_MOD_BUCKET_G * (@MODS_H - 1))))"/>				<xsl:variable name="bucket_x_"  select="(ceiling($G_total_blkd_W div 2) - ceiling($bucket_w_ div 2))"/>		<xsl:variable name="bucket_y_"  select="($G_SharedBus_Y + $G_total_SharedBus_H + $G_max_Stack_BlwSbs_H + $BLKD_SBS2IP_GAP)"/>				<text class="ipclass"			x="{$bucket_x_}" 			y="{$bucket_y_ - 4}">IP</text>				<use   x="{$bucket_x_}"   y="{$bucket_y_}"  xlink:href="#ipbucket"/>			</xsl:for-each>	</xsl:template>		<xsl:template name="Draw_BlkDiagram_Key">	<use   x="{ceiling($G_total_blkd_W div 2) - ceiling($BLKD_KEY_W div 2)}"   y="0"  xlink:href="#BlkDiagram_Key"/> </xsl:template><xsl:template name="Define_BlkDiagram_Key">		<xsl:variable name="key_col_">		<xsl:call-template name="BusType2Color">			<xsl:with-param name="iBusType" select="'KEY'"/>		</xsl:call-template>		</xsl:variable>		<xsl:variable name="key_lt_col_">		<xsl:call-template name="BusType2LightColor">			<xsl:with-param name="iBusType" select="'KEY'"/>		</xsl:call-template>		</xsl:variable>		<symbol id="KEY_IntrCntrl">		<rect  			x="0"			y="0"			rx="3"			ry="3"			width= "{ceiling($BLKD_INTR_W div 2)}" 			height="{$BLKD_INTR_H}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 					<line x1="0" 			  y1="{ceiling($BLKD_INTR_H div 4)}"			  x2="{ceiling($BLKD_INTR_W div 2)}" 			  y2="{ceiling($BLKD_INTR_H div 4)}" 			  style="stroke:{$COL_BLACK};stroke-width:2"/>			  		<text class="intrsymbol" 			  x="1.5"			  y="{7 + ceiling($BLKD_INTR_H div 2)}">x</text>				</symbol>			<symbol id="KEY_IntrdProc">		<rect  			x="0"			y="0"			rx="3"			ry="3"			width= "{ceiling($BLKD_INTR_W div 2)}" 			height="{$BLKD_INTR_H}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 					<line x1="0" 			  y1="{ceiling($BLKD_INTR_H div 4) - 2}"			  x2="{ceiling($BLKD_INTR_W div 2)}" 			  y2="{ceiling($BLKD_INTR_H div 4) - 2}" 			  style="stroke:{$COL_BLACK};stroke-width:1"/>			  		<line x1="0" 			  y1="{ceiling($BLKD_INTR_H div 4) + 2}"			  x2="{ceiling($BLKD_INTR_W div 2)}" 			  y2="{ceiling($BLKD_INTR_H div 4) + 2}" 			  style="stroke:{$COL_BLACK};stroke-width:1"/>			  		<text class="intrsymbol" 			  x="1.5"			  y="{7 + ceiling($BLKD_INTR_H div 2)}">x</text>	</symbol>		<symbol id="KEY_IntrSrc">		<rect  			x="0"			y="0"			rx="3"			ry="3"			width= "{$BLKD_INTR_W}" 			height="{ceiling($BLKD_INTR_H div 2)}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 					<line x1="{ceiling($BLKD_INTR_W div 2)}" 			  y1="0"			  x2="{ceiling($BLKD_INTR_W div 2)}" 			  y2="{ceiling($BLKD_INTR_H div 2)}" 			  style="stroke:{$COL_BLACK};stroke-width:1"/>			  		<text class="intrsymbol" 			  x="2"			  y="7">y</text>					<text class="intrsymbol" 			  x="{2 + ceiling($BLKD_INTR_W div 2)}"			  y="7">x</text>	</symbol>			<symbol id="BlkDiagram_Key">		<rect               x="0"			  y="0"		      width= "{$BLKD_KEY_W}"		      height="{$BLKD_KEY_H}"			  style="fill:{$COL_BG}; stroke:none;"/>					  		<rect               x="0"			  y="0"		      width= "{$BLKD_KEY_W}"		      height="16"			  style="fill:{$COL_BG}; stroke:none;"/>					  		<text class="keytitle"              x="{ceiling($BLKD_KEY_W div 2)} "			  y="14">KEY</text>		  			  		<rect               x="0"			  y="16"		      width= "{$BLKD_KEY_W}"		      height="16"			  style="fill:{$COL_BG_LT}; stroke:none;"/>					  		<text class="keyheader"              x="{ceiling($BLKD_KEY_W div 2)} "			  y="30">SYMBOLS</text>		  			     		<use  x="32"  y="47"  xlink:href="#KEY_Bif" transform="scale(0.75)"/> 		<text class="keylabel"              x="12"			  y="60">bus interface</text>		  			     		<use   x="20"  y="68"  xlink:href="#KEY_SharedBus"/> 		<text class="keylabel"              x="12"			  y="85">shared bus</text>		  			  		<text class="keylblul"              x="110"			  y="47">Bus connections</text>		  			     		<use   x="110"  y="58"  xlink:href="#KEY_busconn_MASTER"/> 		<text class="keylabel"              x="140"			  y="72">master or initiator</text>		  			     		<use   x="110"  y="{58 + (($BLKD_BIFC_H  + 4) * 1)}"  xlink:href="#KEY_busconn_SLAVE"/> 		<text class="keylabel"              x="140"			  y="{72 + (($BLKD_BIFC_H + 4) * 1)}">slave or target</text>		  			     		<use   x="110"  y="{58 + (($BLKD_BIFC_H  + 4) * 2)}"  xlink:href="#KEY_busconn_MASTER_SLAVE"/> 		<text class="keylabel"              x="140"			  y="{72 + (($BLKD_BIFC_H + 4) * 2)}">master slave</text>		  			     		<use   x="110"  y="{58 + (($BLKD_BIFC_H  + 4) * 3)}"  xlink:href="#KEY_busconn_MONITOR"/>		<text class="keylabel"              x="140"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -