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

📄 mdtsvgblkd_buslanespaces.xsl

📁 microblaze下ucos移植源码
💻 XSL
📖 第 1 页 / 共 5 页
字号:
		<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:choose>				<xsl:when test="@BIFSIDE='0'">					<xsl:value-of select="($adjusted_X_ - $bus_x_ - $BLKD_BUS_ARROW_W)"/>				</xsl:when>				<xsl:when test="@BIFSIDE='1'">					<xsl:value-of select="$bus_x_ - $h_bus_ul_x_"/>				</xsl:when>			</xsl:choose>		</xsl:variable>			<!--		 		<xsl:message>bc_X_       <xsl:value-of select="@X"/></xsl:message> 		<xsl:message>bus_X_      <xsl:value-of select="$bus_x_"/></xsl:message> 		<xsl:message>bif side    <xsl:value-of select="@BIFSIDE"/></xsl:message> 		<xsl:message>h_bus_ul_x  <xsl:value-of select="$h_bus_ul_x_"/></xsl:message> 		<xsl:message>h_bus_ul_x_dx_  <xsl:value-of select="$h_bus_ul_x_dx_"/></xsl:message> 		<xsl:message>h_bus_width <xsl:value-of select="$h_bus_width_"/></xsl:message> 		<xsl:message>h_bus_ul_y  <xsl:value-of select="$h_bus_ul_y_"/></xsl:message>-->						<!-- Place the bus connection -->		<use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>				<!-- Draw the arrow -->		<xsl:choose>			<xsl:when test="@BIFSIDE='0'">				<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'">				<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: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($memConn_heights_)/MEMCONN/@Y)"/>	<xsl:variable name="busBot_"  select="math:max(exsl:node-set($memConn_heights_)/MEMCONN/@Y)"/>	<xsl:variable name="busName_" select="exsl:node-set($memConn_heights_)/MEMCONN/@BUSNAME"/>	<xsl:variable name="busSide_" select="exsl:node-set($memConn_heights_)/MEMCONN/@BIFSIDE"/><!-- 		<xsl:if test="($busSide_ = '0')">	<xsl:for-each select="exsl:node-set($memConn_heights_)/MEMCONN"> 		<xsl:message>mc_X_       <xsl:value-of select="@X"/></xsl:message>	</xsl:for-each>	<xsl:message>bcInSpace_X_       <xsl:value-of select="($bcInSpace_X_ + $BLKD_P2P_BUS_W)"/></xsl:message>	<xsl:message> ========= </xsl:message>	</xsl:if>-->			<xsl:variable name="leftmost_x_"  select="math:min(exsl:node-set($memConn_heights_)/MEMCONN/@X)"/>	<!--  Hack to fix CR473515 -->	<xsl:variable name="v_bus_x_dx_">		<xsl:choose> 			<xsl:when test="(($busSide_ = '0') and (($leftmost_x_ - ($bcInSpace_X_ + $BLKD_P2P_BUS_W)) &lt;= $BLKD_P2P_BUS_W))">-4</xsl:when>			<xsl:otherwise><xsl:value-of select="$BLKD_P2P_BUS_W"/></xsl:otherwise>		</xsl:choose>	</xsl:variable>				<xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_P2P_BUS_W div 2)"/>	<xsl:variable name="v_bus_x_">		<xsl:choose>			<xsl:when test="$busSide_ ='0'">				<xsl:value-of select="($bcInSpace_X_ + $v_bus_x_dx_)"/>			</xsl:when>			<xsl:when test="$busSide_ ='1'">				<xsl:value-of select="($bcInSpace_X_ + $BLKD_P2P_BUS_W)"/>			</xsl:when>		</xsl:choose>	</xsl:variable>			<!-- Draw the vertical part of the bus -->		<rect x="{$v_bus_x_}" 	  	  y="{$v_bus_y_}"  	 	  width= "{$BLKD_P2P_BUS_W}" 	 	  height="{($busBot_ - $busTop_) + $BLKD_P2P_BUS_W}" 	 	  style="stroke:none; fill:{$busColor_}"/><!--  Hack to fix CR473515 -->	<xsl:if test="($busSide_ ='0')">		<rect x="{$v_bus_x_}" 	  	  	  y="{$v_bus_y_   + ($busBot_ - $busTop_)}" 	 	      width= "{$BLKD_P2P_BUS_W * 2}" 	 	      height="{$BLKD_P2P_BUS_W}" 	 	      style="stroke:none; fill:{$busColor_}"/>	</xsl:if>		 	  <!--		<xsl:message>v_bus_x  <xsl:value-of select="$v_bus_x_"/></xsl:message>-->		<!-- 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 generic Point to Point connections		 ===========================================================-->	<xsl:template name="BCLaneSpace_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="busColor_lt_">		<xsl:call-template name="BusType2LightColor">			<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)"/>									<xsl:variable name="bcInSpace_X_"  select="($iLaneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>	<xsl:variable name="p2pInstance_" select="BUSCONN[(@BIF_Y)]/@INSTANCE"/>						<xsl:variable name="p2pshp_hori_idx_">		<xsl:choose>			<xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">				<xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@STACK_HORIZ_INDEX"/>			</xsl:when>			<xsl:otherwise>				<xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@STACK_HORIZ_INDEX"/>			</xsl:otherwise>		</xsl:choose>	</xsl:variable>								<xsl:variable name="p2pshp_vert_idx_">		<xsl:choose>			<xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">				<xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@SHAPE_VERTI_INDEX"/>			</xsl:when>			<xsl:otherwise>				<xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@SHAPE_VERTI_INDEX"/>			</xsl:otherwise>		</xsl:choose>	</xsl:variable>							<!--										<xsl:variable name="p2pshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>					<xsl:variable name="p2pshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>-->												<xsl:variable name="p2pshp_Y_">		<xsl:call-template name="_calc_Stack_Shape_Y">			<xsl:with-param name="iHorizIdx"  select="$p2pshp_hori_idx_"/>			<xsl:with-param name="iVertiIdx"  select="$p2pshp_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="(($p2pshp_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="(($p2pshp_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: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="(($p2pshp_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="(($p2pshp_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>									<!-- Store the conns in a variable -->		<xsl:variable name="p2pConn_heights_">			<xsl:for-each select="BUSCONN">												<xsl:variable name="bifName_" select="@BUSINTERFACE"/>											<xsl:choose>					<xsl:when test="@IS_PROCCONN and @BIF_Y">										<!--																				<xsl:message>Proc <xsl:value-of select="$procInstance_"/></xsl:message>-->																<xsl:variable name="procBif_Y_"   select="((($BLKD_BIF_H + $BLKD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_BIF_GAP_V))"/>						<xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>						<xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>						<xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>																<xsl:variable name="bcProc_Y_"     select="($p2pshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $procStack_H_diff_)"/>						<xsl:variable name="bcProc_X_">							<xsl:choose>								<xsl:when test="$procBifSide_ = '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="$procBifSide_ = '1'">		 							<xsl:value-of select="ceiling($BLKD_MOD_W div 2)"/>								</xsl:when>								<xsl:otherwise>0</xsl:otherwise>							</xsl:choose>						</xsl:variable>												<P2PCONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME= "{$procBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>										<!--												<xsl:message>bcProc_X_ <xsl:value-of select="$bcProc_X_"/></xsl:message>						<xsl:message>bcProc_Y_ <xsl:value-of select="$bcProc_Y_"/></xsl:message>						<P2PCONN X="{$bcInSpace_X_}" Y="{$bcProc_Y_}" BUSSTD="{$busStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}" STACK_ID=""/>-->											</xsl:when>									

⌨️ 快捷键说明

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