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

📄 mdtsvgblkd_buslanespaces.xsl

📁 microblaze下ucos移植源码
💻 XSL
📖 第 1 页 / 共 5 页
字号:
					<xsl:otherwise>																<xsl:variable name="modInstance_"     select="@INSTANCE"/>						<xsl:variable name="modshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $modInstance_)]]/@SHAPE_VERTI_INDEX"/>						<xsl:variable name="modBifSide_"      select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>						<xsl:variable name="modBif_Y_"        select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>						<xsl:variable name="modBc_Y_"         select="((($BLKD_BIF_H + $BLKD_BIF_GAP_V) * $modBif_Y_) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_BIF_GAP_V))"/>										<!--																<xsl:message>Memory Instance <xsl:value-of select="$procInstance_"/></xsl:message>-->																						<xsl:variable name="modshp_Y_">							<xsl:call-template name="_calc_Stack_Shape_Y">								<xsl:with-param name="iHorizIdx"  select="$p2pshp_hori_idx_"/>								<xsl:with-param name="iVertiIdx"  select="$modshp_vert_idx_"/>							</xsl:call-template>						</xsl:variable>																<xsl:variable name="modBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>						<xsl:variable name="modBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>						<xsl:variable name="bcMod_Y_"     select="($modshp_Y_ + $modBc_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>						<xsl:variable name="bcMod_X_">							<xsl:choose>								<xsl:when test="$modBifSide_ = '0'">		 							<xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($BLKD_MOD_W div 2) + $BLKD_BIFC_W))"/>								</xsl:when>								<xsl:when test="$modBifSide_ = '1'">		 							<xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>								</xsl:when>								<xsl:otherwise>0</xsl:otherwise>							</xsl:choose>						</xsl:variable>						<!--																<xsl:message>Bc Bif Y <xsl:value-of select="$modBif_Y_"/></xsl:message>							<xsl:message>Bc Mod Y <xsl:value-of select="$modBc_Y_"/></xsl:message>							<xsl:message>Bc Mod X <xsl:value-of select="$bcMod_X_"/></xsl:message>							<P2PCONN X="{$bcInSpace_X_}" Y="{$bcMod_Y_}" BUSSTD="{$busStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>-->																<P2PCONN X="{$bcMod_X_}" Y="{$bcMod_Y_}" BUSNAME="{$modBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>											</xsl:otherwise>													</xsl:choose>			</xsl:for-each>		</xsl:variable>			<xsl:variable name="busTop_"  select="math:min(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>	<xsl:variable name="busBot_"  select="math:max(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>	<xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>	<xsl:variable name="busName_" select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSNAME"/>	<xsl:variable name="busStd_"  select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSSTD"/><!--	-->		<!-- Draw the vertical part of the bus -->			<xsl:if test="$busStd_ = 'PLBV46_P2P'">	<rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 	  	  y="{$v_bus_y_}"  	 	  width= "{$BLKD_P2P_BUS_W}" 	 	  height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 	 	  style="stroke:{$COL_WHITE};stroke-width:1.5;fill:{$busColor_}"/>	</xsl:if>		<xsl:if test="not($busStd_ = 'PLBV46_P2P')">	<rect x="{$bcInSpace_X_ + $BLKD_P2P_BUS_W}" 	  	  y="{$v_bus_y_}"  	 	  width= "{$BLKD_P2P_BUS_W}" 	 	  height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 	 	  style="stroke:none;fill:{$busColor_}"/>	</xsl:if>	<!--	-->		<!--		 	  style="stroke:{$busColor_lt_};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$busColor_}"/>-->		<!-- Place the bus label.-->		<text class="p2pbuslabel" 			  x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"			  y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">			<xsl:value-of select="$busName_"/>	</text>									<!-- Draw the busconnection and horizontal lines.-->								<xsl:for-each select="exsl:node-set($p2pConn_heights_)/P2PCONN">										<xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BLKD_BIFC_W div 2))"/>			<xsl:variable name="bus_y_" select="@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>					<xsl:variable name="h_bus_ul_x_">				<xsl:choose>					<xsl:when test="@BIFSIDE='0'">						<xsl:value-of select="$bus_x_"/>					</xsl:when>					<xsl:when test="@BIFSIDE='1'">						<xsl:value-of select="(@X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W) - 1"/>					</xsl:when>				</xsl:choose>			</xsl:variable>						<xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>				<xsl:variable name="h_bus_height_" select="$BLKD_P2P_BUS_W"/>			<xsl:variable name="h_bus_width_"><!--								<xsl:message>BIFSIDE <xsl:value-of select="@BIFSIDE"/></xsl:message>				<xsl:message>BUSSTD  <xsl:value-of select="@BUSSTD"/></xsl:message>				<xsl:message>BIFRANK <xsl:value-of select="@BIFRANK"/></xsl:message>-->								<xsl:choose>					<xsl:when test="@BIFSIDE='0'">						<xsl:value-of select="(@X - $bus_x_ - $BLKD_BUS_ARROW_W)"/>					</xsl:when>					<xsl:when test="@BIFSIDE='1'">						<xsl:value-of select="$bus_x_ - $h_bus_ul_x_ + 1"/>					</xsl:when>									</xsl:choose>			</xsl:variable>							<!-- Draw Bus connection-->			<use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>						<!-- Draw the arrow -->			<xsl:choose>				<xsl:when test="((@BIFSIDE='0') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">					<use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>				</xsl:when>				<xsl:when test="((@BIFSIDE='1') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">					<use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>				</xsl:when>								<xsl:when test="((@BIFSIDE='0') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">					<use   x="{@X - $BLKD_BUS_ARROW_W}"   y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>				</xsl:when>								<xsl:when test="((@BIFSIDE='1') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">					<use   x="{(@X + $BLKD_BIFC_W)}" y="{@Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>				</xsl:when>								</xsl:choose>					<!-- Draw the horizontal part of the bus -->			<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:variable name="busTop_" select="math:min(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>	<xsl:variable name="busBot_" select="math:max(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>	<xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>	<xsl:variable name="busName_" select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSNAME"/>-->		<!-- Draw the vertical part of the bus -->	<!--		<rect x="{$bcInSpace_X_ + $P2P_BUS_W}" 	  	  y="{$v_bus_y_}"  	 	  width= "{$P2P_BUS_W}" 	 	  height="{($busBot_ - $busTop_) + $P2P_BUS_W}" 	 	  style="stroke:{$COL_WHITE};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$busColor_}"/>-->		<!--		 	  style="stroke:{$busColor_lt_};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$busColor_}"/>-->		<!-- Place the bus label.-->	<!--		<text class="p2pbuslabel" 			  x="{$bcInSpace_X_   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"			  y="{$busTop_ + ($BLKD_BUS_ARROW_H * 3)}">			<xsl:value-of select="$busName_"/>	</text>	-->								</xsl:template>								<!-- 		 ===========================================================			Handle MultiStack Point to Point connections		 ===========================================================-->					<xsl:template name="BCLaneSpace_MultiStack_PointToPoint">			<xsl:param name="iBusStd"          select="'NONE'"/>		<xsl:param name="iBusName"         select="'NONE'"/>		<xsl:param name="iBifRank"         select="'NONE'"/>		<xsl:param name="iStackToEast"     select="'NONE'"/>		<xsl:param name="iStackToWest"     select="'NONE'"/>		<xsl:param name="iStackToEast_W"   select="0"/>		<xsl:param name="iStackToWest_W"   select="0"/>		<xsl:param name="iLaneInSpace_X"   select="0"/>			<xsl:variable name="busColor_">		<xsl:call-template name="BusType2Color">			<xsl:with-param name="iBusType" select="$iBusStd"/>		</xsl:call-template>		</xsl:variable>			<xsl:variable name="space_W_">		<xsl:call-template name="_calc_Space_Width"> 			<xsl:with-param name="iStackToEast"  select="$iStackToEast"/>			<xsl:with-param name="iStackToWest"  select="$iStackToWest"/>		</xsl:call-template>			</xsl:variable>		<xsl:variable name ="extSpaceWest_W_" select="ceiling($iStackToWest_W div 2)"/>	<xsl:variable name ="extSpaceEast_W_" select="ceiling($iStackToEast_W div 2)"/>									<!-- Store the connections in a variable -->	<xsl:variable name="bcInSpace_X_"  select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>						<xsl:variable name="multiConns_">								<xsl:for-each select="BUSCONN">										<xsl:variable name="bifName_"      select="@BUSINTERFACE"/>			<xsl:variable name="multiInstance_" select="@INSTANCE"/>			<xsl:variable name="mulshp_hori_idx_">				<xsl:choose>					<xsl:when test="@IS_PROCCONN">						<xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $multiInstance_)]/@STACK_HORIZ_INDEX"/>					</xsl:when>					<xsl:otherwise>						<xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $multiInstance_)])]/@STACK_HORIZ_INDEX"/>					</xsl:otherwise>				</xsl:choose>			</xsl:variable> 										<xsl:variable name="mulshp_vert_idx_">				<xsl:choose>					<xsl:when test="@IS_PROCCONN">						<xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $multiInstance_)]/@SHAPE_VERTI_INDEX"/>					</xsl:when>					<xsl:otherwise>						<xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $multiInstance_)])]/@SHAPE_VERTI_INDEX"/>					</xsl:otherwise>				</xsl:choose>			</xsl:variable> 				<!--										<xsl:message>Shape Horiz <xsl:value-of select="$mulshp_hori_idx_"/></xsl:message>			<xsl:message>Shape Verti <xsl:value-of select="$mulshp_vert_idx_"/></xsl:message>-->											<xsl:variable name="mulshp_Y_">				<xsl:call-template name="_calc_Stack_Shape_Y">					<xsl:with-param name="iHorizIdx"  select="$mulshp_hori_idx_"/>					<xsl:with-param name="iVertiIdx"  select="$mulshp_vert_idx_"/>				</xsl:call-template>			</xsl:variable>									<xsl:variable name="cmplxStack_H_diff_">				<xsl:choose>					<xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>					<xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">												<xsl:variable name="stackToWest_AbvSbs_H_">							<xsl:call-template name="_calc_Stack_AbvSbs_Height">								<xsl:with-param name="iStackIdx"  select="$iStackToWest"/>							</xsl:call-template>						</xsl:variable>									<xsl:variable name="stackToEast_AbvSbs_H_">							<xsl:call-template name="_calc_Stack_AbvSbs_Height">								<xsl:with-param name="iStackIdx"  select="$iStackToEast"/>							</xsl:call-template>						</xsl:variable>				<!--								<xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>				<xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>-->										<xsl:choose>							<xsl:when test="(($mulshp_hori_idx_ = $iStackToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">									<xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>							</xsl:when>								<xsl:when test="(($mulshp_hori_idx_ = $iStackToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">								<xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>							</xsl:when>								<xsl:otherwise>0</xsl:otherwise>							</xsl:choose>															</xsl:when>				</xsl:choose>			</xsl:variable>																													<xsl:variable name="procStack_H_diff_">				<xsl:choose>					<xsl:when test="   (($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">0</xsl:when>					<xsl:when test="not(($iStackToEast = 'NONE') or ($iStackToWest = 'NONE'))">									<xsl:variable name="stackToWest_AbvSbs_H_">							<xsl:call-template name="_calc_Stack_AbvSbs_Height">								<xsl:with-param name="iStackIdx"  select="$iStackToWest"/>							</xsl:call-template>						</xsl:variab

⌨️ 快捷键说明

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