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

📄 mdtsvgblkd_peripherals.xsl

📁 microblaze下ucos移植源码
💻 XSL
📖 第 1 页 / 共 4 页
字号:
<?xml version="1.0" standalone="no"?>			<xsl:stylesheet version="1.0"           xmlns:svg="http://www.w3.org/2000/svg"           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"           xmlns:math="http://exslt.org/math"           xmlns:exsl="http://exslt.org/common"           xmlns:xlink="http://www.w3.org/1999/xlink"           extension-element-prefixes="math">				<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"	       doctype-public="-//W3C//DTD SVG 1.0//EN"		   doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>			<!--	<xsl:variable name="INF_H"   select="$BIF_H       + ceiling($BIF_H div 2)"/>				<xsl:variable name="INF_W"   select="($BIF_W * 2) + $BIF_GAP"/>-->	<!-- ======================= DEF FUNCTIONS =================================== --><!-- <xsl:template name="Define_FreeCmplxModules">		<xsl:for-each select="BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and not(@IS_PENALIZED) and not(@STACK_INDEX))]">			120GG		<xsl:variable name="cmplxId_" sele1200Gct="position()"/>				<xsl:if test="@MODCLASS='MEMORY_UNIT'">			<xsl:call-template name="Define_PeripheralMemory">				<xsl:with-param name="iPeriId" select="$cmplxId_"/>			</xsl:call-template>		</xsl:if>				<xsl:if test="((@MODCLASS='MASTER_SLAVE') or (@MODCLASS = 'MONITOR'))">			<xsl:variable name="modInst_" select="MODULE/@INSTANCE"/>			<xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>			<xsl:call-template name="Define_Peripheral">				<xsl:with-param name="iModInst"  select="$modInst_"/>				<xsl:with-param name="iModType"  select="$modType_"/>			</xsl:call-template>				</xsl:if>			</xsl:for-each>		</xsl:template>	--><xsl:template name="Define_PenalizedModules">		<xsl:for-each select="BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and @IS_PENALIZED)]">					<xsl:variable name="penalId_">unkmodule_<xsl:value-of select="@BKTROW"/>_<xsl:value-of select="@MODS_X"/></xsl:variable>		<!--				<xsl:message>Drawing penalized module <xsl:value-of select="$penalId_"/></xsl:message>				<xsl:if test="@MODCLASS='MEMORY_UNIT'">			<xsl:call-template name="Define_PeripheralMemory">				<xsl:with-param name="iPeriId" select="$penalId_"/>			</xsl:call-template>		</xsl:if>-->				<!--				<xsl:if test="((@MODCLASS='MASTER_SLAVE') or (@MODCLASS = 'MONITOR'))">			<xsl:variable name="modInst_" select="MODULE/@INSTANCE"/>			<xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>			<xsl:call-template name="Define_Peripheral">				<xsl:with-param name="iModInst"  select="$modInst_"/>				<xsl:with-param name="iModType"  select="$modType_"/>				<xsl:with-param name="iUnkInst"  select="$penalId_"/>			</xsl:call-template>				</xsl:if>-->					</xsl:for-each>		</xsl:template>	<xsl:template name="Define_IPBucket">				<xsl:for-each select="BLKDSHAPES/IPBUCKET">				<xsl:for-each select="MODULE">							<xsl:call-template name="Define_IPBucketModule">				<xsl:with-param name="iIPType"   select="@MODTYPE"/>				<xsl:with-param name="iIPName"   select="@INSTANCE"/>			</xsl:call-template>						</xsl:for-each>						<symbol id="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))))"/>				<rect x="0" 		      y="0"  			  rx="4"			  ry="4"		      width= "{$bucket_w_}" 		      height="{$bucket_h_}" 		      style="stroke-width:2; stroke:{$COL_BLACK}; fill:{$COL_IORING_LT}"/>				 			<xsl:variable name="bkt_mods_w_" select="@MODS_W"/>						<xsl:for-each select="MODULE">									<xsl:variable name="clm_"   select="((     position() - 1)  mod $bkt_mods_w_)"/>				<xsl:variable name="row_"   select="floor((position() - 1)  div $bkt_mods_w_)"/>								<xsl:variable name="bk_x_"  select="$BLKD_MOD_BKTLANE_W + ($clm_ * ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G))"/>				<xsl:variable name="bk_y_"  select="$BLKD_MOD_BKTLANE_H + ($row_ * ($BLKD_MOD_H + $BLKD_MOD_BUCKET_G))"/>									 				<use x="{$bk_x_}"   					 y="{$bk_y_}" 					 xlink:href="#ipbktmodule_{@INSTANCE}"/>		  		  					 					 			</xsl:for-each>		 					 	</symbol>			</xsl:for-each>	</xsl:template>	<xsl:template name="Define_UNKBucket">				<xsl:for-each select="BLKDSHAPES/UNKBUCKET">			<symbol id="unkbucket">			<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))))"/>				<rect x="0" 		      y="0"  			  rx="4"			  ry="4"		      width= "{$bucket_w_}" 		      height="{$bucket_h_}" 		      style="stroke-width:2; stroke:{$COL_BLACK}; fill:{$COL_BG_UNK}"/>				 			<xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and @IS_PENALIZED)]">							<xsl:variable name="bkt_mods_w_" select="@MODS_W"/>								<xsl:variable name="mod_row_"    select="@BKTROW"/>					<xsl:variable name="row_mods_h_" select="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/BKTROW[(@INDEX = $mod_row_)]/@MODS_H"/>	<!--								<xsl:message>The row module is <xsl:value-of select="@BKTROW"/></xsl:message>				<xsl:message>The height of the module is <xsl:value-of select="$row_mods_h_"/></xsl:message>-->																<xsl:variable name="bk_x_"  select="$BLKD_MOD_BKTLANE_W + (@MODS_X * ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G))"/>				<xsl:variable name="bk_y_"  select="$BLKD_MOD_BKTLANE_H + ($row_mods_h_ * ($BLKD_MOD_H + $BLKD_MOD_BUCKET_G))"/>								<use x="{$bk_x_}"   					 y="{$bk_y_}" 					 xlink:href="#symbol_unkmodule_{@BKTROW}_{@MODS_X}"/>		  		  <!--				 -->				 			</xsl:for-each>		 					</symbol>					</xsl:for-each>	</xsl:template>			<xsl:template name="Define_SBSBuckets">		<xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET">					<xsl:variable name="bus_name_"   select="@BUSNAME"/>		<xsl:variable name="bus_std_"    select="@BUSSTD"/><!--				<xsl:variable name="bus_std_"    select="BUSCONNS/BUSCONN/@BUSSTD"/>-->			<xsl:variable name="bus_conn_w_" select="BUSCONNS/@BUSLANE_W"/>				<xsl:variable name="bucket_bg_col_">			<xsl:call-template name="BusType2LightColor">				<xsl:with-param name="iBusType" select="$bus_std_"/>			</xsl:call-template>		</xsl:variable>				<xsl:variable name="bucket_col_">			<xsl:call-template name="BusType2Color">				<xsl:with-param name="iBusType" select="$bus_std_"/>			</xsl:call-template>		</xsl:variable>						<xsl:for-each select="MODULE">							<xsl:sort data-type="text" select="@INSTANCE" order="ascending"/>					<xsl:call-template name="Define_SBSBucketModule">				<xsl:with-param name="iBifType"  select="$bus_std_"/>				<xsl:with-param name="iIPType"   select="@MODTYPE"/>				<xsl:with-param name="iIPName"   select="@INSTANCE"/>			</xsl:call-template>						</xsl:for-each>						<symbol id="sbsbucket_{$bus_name_}">			<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 + $BLKD_BIFC_H) * @MODS_H) + ($BLKD_MOD_BUCKET_G * (@MODS_H - 1))))"/>						<rect x="0"			      y="0"  				  rx="4"				  ry="4"			      width= "{$bucket_w_}" 			      height="{$bucket_h_}" 			      style="stroke-width:2; stroke:{$bucket_col_}; fill:{$bucket_bg_col_}"/>				 			<xsl:variable name="bkt_mods_w_" select="@MODS_W"/>						<xsl:for-each select="MODULE">									<xsl:sort data-type="text" select="@INSTANCE" order="ascending"/>								<xsl:variable name="clm_"   select="((     position() - 1)  mod $bkt_mods_w_)"/>				<xsl:variable name="row_"   select="floor((position() - 1)  div $bkt_mods_w_)"/>								<xsl:variable name="bk_x_"  select="$BLKD_MOD_BKTLANE_W + ($clm_ * ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G))"/>				<xsl:variable name="bk_y_"  select="$BLKD_MOD_BKTLANE_H + ($row_ * ($BLKD_MOD_H + $BLKD_BIFC_H + $BLKD_MOD_BUCKET_G))"/>					 				<!-- Lay out the module in the bucket -->				 <use x="{$bk_x_}" y="{$bk_y_}"  xlink:href="#sbsbktmodule_{@INSTANCE}"/>		  								<!-- Add its connection to the piece shared bus -->				<xsl:variable name="h_bus_y_" select="$bk_y_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>				<!--								<xsl:variable name="h_bus_x_" select="$bk_x_ - ($BLKD_MOD_BUCKET_G + ceiling($BLKD_MOD_W div 2))"/>-->					<xsl:variable name="h_bus_x_">					<xsl:choose>						<xsl:when test="($clm_ = '0')">0</xsl:when>											<xsl:when test="not($clm_ = '0')">							<xsl:value-of select="$bk_x_ - ($BLKD_MOD_BUCKET_G + ceiling($BLKD_MOD_W div 2))"/>						</xsl:when>					</xsl:choose>				</xsl:variable>				<!--								<xsl:variable name="h_bus_y_" select="$bk_y_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W)"/>				<xsl:message>h bus x <xsl:value-of select="$h_bus_x_"/></xsl:message>				<xsl:message>h bus y <xsl:value-of select="$h_bus_y_"/></xsl:message>-->					<xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>				<xsl:variable name="h_bus_width_"  select="($bk_x_ - $h_bus_x_ + ceiling($BLKD_MOD_W div 2))"/>									<rect x="{$h_bus_x_}" 		      		  y="{$h_bus_y_}"  		      		  width= "{$h_bus_width_}" 		      		  height="{$BLKD_P2P_BUS_W}" 		      		  style="fill:{$bucket_col_}"/>							</xsl:for-each>						<xsl:variable name="num_sbsbktmods_" select="count(MODULE)"/>			<xsl:variable name="num_sbsbktrows_" select="ceiling($num_sbsbktmods_ div $BLKD_BKT_MODS_PER_ROW)"/>						<!-- If there is more than one row, connect the rows with a vertical bar -->					<xsl:if test="($num_sbsbktrows_ &gt; 1)">								<xsl:variable name="v_bus_x_"    select="$BLKD_MOD_BKTLANE_W + ($BLKD_MOD_W + $BLKD_MOD_BUCKET_G)"/>								<xsl:variable name="bkt_top_"    select="$BLKD_MOD_BKTLANE_H + (0                      * ($BLKD_MOD_H + $BLKD_BIFC_H + $BLKD_MOD_BUCKET_G))"/>				<xsl:variable name="bkt_bot_"    select="$BLKD_MOD_BKTLANE_H + (($num_sbsbktrows_ - 1) * ($BLKD_MOD_H + $BLKD_BIFC_H + $BLKD_MOD_BUCKET_G))"/>								<xsl:variable name="v_bus_y_top_" select="$bkt_top_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>				<xsl:variable name="v_bus_y_bot_" select="$bkt_bot_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>								<xsl:variable name="v_bus_width_"   select="$BLKD_P2P_BUS_W"/>				<xsl:variable name="v_bus_height_"  select="($v_bus_y_bot_ - $v_bus_y_top_)"/>				<rect x="0" 		      		  y="{$v_bus_y_top_}"  		      		  width= "{$v_bus_width_}" 		      		  height="{$v_bus_height_}" 		      		  style="fill:{$bucket_col_}"/>			</xsl:if>					</symbol>			</xsl:for-each>				</xsl:template>			<xsl:template name="Define_SBSBucketModule">		<xsl:param name="iBifType"  select="'OPB'"/>	<xsl:param name="iIPName"   select="'_ipType_'"/>	<xsl:param name="iIPType"   select="'_ipName_'"/>	<!--		<xsl:message>The IPType is <xsl:value-of select="$iIPType"/> </xsl:message>-->		<xsl:variable name="bif_y_">		<xsl:value-of select="$BLKD_MOD_LANE_H + $BLKD_BIFC_H"/>		</xsl:variable>	<xsl:variable name="label_y_">		<xsl:value-of select="$BLKD_MOD_LANE_H + $BLKD_BIF_H + $BLKD_BIFC_H +  $BLKD_BIF_GAP_V"/>		</xsl:variable>		<xsl:variable name="modBg_Col_">		<xsl:choose>			<xsl:when test="$iIPType = 'mpmc'"><xsl:value-of select="$COL_MPMC_BG"/></xsl:when>			<xsl:otherwise><xsl:value-of select="$COL_BG"/></xsl:otherwise>		</xsl:choose>	</xsl:variable>	    <symbol id="sbsbktmodule_{$iIPName}">				<rect x="0"		      y="{$BLKD_BIFC_H}"			  rx="6" 			  ry="6" 		      width = "{$BLKD_MOD_W}"		      height= "{$BLKD_MOD_H}"			  style="fill:{$modBg_Col_}; stroke:{$COL_WHITE}; stroke-width:2"/>					  		<rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"		      y="{$label_y_}"			  rx="3" 			  ry="3" 		      width= "{$BLKD_MOD_LABEL_W}"		      height="{$BLKD_MOD_LABEL_H}"			  style="fill:{$COL_WHITE}; stroke:none;"/>					  	<xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@GROUP">	  				<rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"		      	  y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) - 2}"			      rx="3" 			      ry="3" 		      	  width= "{$BLKD_MOD_LABEL_W}"		          height="{$BLKD_BIF_H}"			  	  style="fill:{$COL_IORING_LT}; stroke:none;"/>					  		   	   <text class="ioplblgrp" 			  	  x="{ceiling($BLKD_MOD_W div 2)}"		          y="{$label_y_ + $BLKD_BIF_H + ceiling($BLKD_BIF_H div 3) + 12}">			   <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iIPName)]/@GROUP"/>	   		</text>	   	  	</xsl:if> 	   		<text class="bciptype" 			  x="{ceiling($BLKD_MOD_W div 2)}"			  y="{$label_y_ + 8}">				<xsl:value-of select="$iIPType"/>		</text>						<text class="bciplabel" 			  x="{ceiling($BLKD_MOD_W div 2)}"			  y="{$label_y_ + 16}">				<xsl:value-of select="$iIPName"/>	   </text>

⌨️ 快捷键说明

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