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

📄 mdtsvgblkd_buslanespaces.xsl

📁 microblaze下ucos移植源码
💻 XSL
📖 第 1 页 / 共 5 页
字号:
	</xsl:variable>				<xsl:variable name="h_bus_ul_y_">		<xsl:choose>						<xsl:when test="($is_blwSbs_ = 'TRUE') and ($vert_line_y1_ &gt; $vert_line_y2_)">				<xsl:value-of select="$vert_line_y1_ - ceiling($BLKD_P2P_BUS_W div 2)"/>			</xsl:when>			<xsl:when test="($is_blwSbs_ = 'TRUE') and ($vert_line_y2_ &gt; $vert_line_y1_)">				<xsl:value-of select="$vert_line_y2_ - ceiling($BLKD_P2P_BUS_W div 2)"/>			</xsl:when>						<xsl:when test="($is_abvSbs_ = 'TRUE') and ($vert_line_y1_ &gt; $vert_line_y2_)">				<xsl:value-of select="$vert_line_y2_ - ceiling($BLKD_P2P_BUS_W div 2)"/>			</xsl:when>			<xsl:when test="($is_abvSbs_ = 'TRUE') and ($vert_line_y2_ &gt; $vert_line_y1_)">				<xsl:value-of select="$vert_line_y1_ - ceiling($BLKD_P2P_BUS_W div 2)"/>			</xsl:when>					</xsl:choose>	</xsl:variable>				<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="$v_bus_ul_x_ - $h_bus_ul_x_ + $BLKD_P2P_BUS_W"/>			</xsl:when>			<xsl:when test="@ORIENTED='EAST'">				<xsl:value-of select="($bc_X_ - $v_bus_ul_x_) + ceiling(($BLKD_BIFC_W - $BLKD_BIFC_Wi) div 2) + 1"/>			</xsl:when>		</xsl:choose>	</xsl:variable>						<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:template>						<!-- 		 ===========================================================			Handle connections from processors to Memory UNITs		 ===========================================================-->	<xsl:template name="BCLaneSpace_ProcBifToMemoryUnit">			<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:message>Stack To East <xsl:value-of select="$iStackToEast"/></xsl:message>	<xsl:message>Stack to West <xsl:value-of select="$iStackToWest"/></xsl:message>	<xsl:message>Stack to East Width <xsl:value-of select="$iStackToEast_W"/></xsl:message>	<xsl:message>Stack to West Width <xsl:value-of select="$iStackToWest_W"/></xsl:message>	<xsl:message>Shared Bus Y <xsl:value-of select="$iSpaceSharedBus_Y"/></xsl:message>	<xsl:message>Lane in space X <xsl:value-of select="$iLaneInSpace_X"/></xsl:message>	<xsl:variable name="bcInSpace_X_"  select="($laneInSpace_X +  ceiling($BLKD_BIFC_W div 2) - ceiling($BLKD_BUS_ARROW_W div 2))"/>	-->				<xsl:variable name="bcInSpace_X_"  select="$iLaneInSpace_X"/>	<xsl:variable name="procInstance_" select="BUSCONN[@IS_PROCCONN]/@INSTANCE"/>	<xsl:variable name="mem_procshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>	<xsl:variable name="mem_procshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>							<xsl:variable name="mem_procshp_Y_">		<xsl:call-template name="_calc_Stack_Shape_Y">			<xsl:with-param name="iHorizIdx"  select="$mem_procshp_hori_idx_"/>			<xsl:with-param name="iVertiIdx"  select="$mem_procshp_vert_idx_"/>		</xsl:call-template>	</xsl:variable>		<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)"/>									<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="(($mem_procshp_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="(($mem_procshp_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="mem_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="(($mem_procshp_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="(($mem_procshp_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="memConn_heights_">		<xsl:for-each select="BUSCONN">											<xsl:variable name="bifName_"       select="@BUSINTERFACE"/>													<xsl:choose>				<xsl:when test="@IS_PROCCONN and @BIF_Y">												<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 = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>					<xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>					<xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>					<xsl:variable name="bcProc_Y_"     select="($mem_procshp_Y_ + $procBif_Y_ + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $mem_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>											<MEMCONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME="{$procBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>														</xsl:when>													<xsl:otherwise>														<xsl:variable name="memcInstance_"  select="@INSTANCE"/>					<xsl:variable name="memcshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@SHAPE_VERTI_INDEX"/>					<xsl:variable name="memcBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>					<xsl:variable name="memcBif_Y_"    select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>															<xsl:variable name="memshp_Y_">						<xsl:call-template name="_calc_Stack_Shape_Y">							<xsl:with-param name="iHorizIdx"  select="$mem_procshp_hori_idx_"/>							<xsl:with-param name="iVertiIdx"  select="$memcshp_vert_idx_"/>						</xsl:call-template>				    </xsl:variable>										<xsl:variable name="memcMOD_W_" select="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@MODS_W) * $BLKD_MOD_W)"/>															<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="memcConn_Y_">						<xsl:choose>							<xsl:when test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@MODS_H = 1)">								<xsl:value-of  select="($memshp_Y_ + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_BIF_GAP_V) +  ($memcBif_Y_ * ($BLKD_BIF_H + $BLKD_BIF_GAP_V)) + ceiling($BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>							</xsl:when>							<xsl:otherwise>								<xsl:value-of  select="($memshp_Y_ + $BLKD_MOD_H + $BLKD_MOD_LANE_H + ($memcBif_Y_ * ($BLKD_BIF_H + $BLKD_BIF_GAP_V)) + ceiling($BLKD_BIF_H div 2) - ceiling($BLKD_BIFC_H div 2) + $cmplxStack_H_diff_)"/>							</xsl:otherwise>						</xsl:choose>					</xsl:variable>										<xsl:variable name="memcConn_X_">						<xsl:choose>							<xsl:when test="$memcBifSide_ = '0'"> 								<xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($memcMOD_W_ div 2) + $BLKD_BIFC_W))"/>							</xsl:when>							<xsl:when test="$memcBifSide_ = '1'"> 								<xsl:value-of select="ceiling($memcMOD_W_ div 2)"/>							</xsl:when>						</xsl:choose>					</xsl:variable>											<xsl:variable name="memcBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>					<xsl:variable name="memcBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>										<MEMCONN X="{$memcConn_X_}" Y="{$memcConn_Y_}" BUSNAME="{$memcBusName_}" BUSSTD="{$iBusStd}" BIFRANK="{$memcBifRank_}" BIFSIDE="{$memcBifSide_}"/><!--					-->														</xsl:otherwise>			</xsl:choose>		</xsl:for-each>	</xsl:variable>													<!-- Draw the busconnection and horizontal lines.-->							<xsl:for-each select="exsl:node-set($memConn_heights_)/MEMCONN">									<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="adjusted_X_">			<xsl:choose>				<xsl:when test="((@X &lt; ($bus_x_ + $BLKD_BUS_ARROW_W)) and (@BIFSIDE ='0'))">					<xsl:value-of select="(@X + $BLKD_P2P_BUS_W)"/>				</xsl:when>				<xsl:otherwise>					<xsl:value-of select="@X"/>				</xsl:otherwise>			</xsl:choose>		</xsl:variable>		<!--		<xsl:choose>			<xsl:when test="((@X &lt; ($bus_x_ + $BLKD_BUS_ARROW_W)) and (@BIFSIDE ='0'))">				<xsl:message>Adjusting...</xsl:message>			</xsl:when>		</xsl:choose>-->								<xsl:variable name="h_bus_ul_x_dx_">			<xsl:choose>				<xsl:when test="((@X &lt; ($bus_x_ + $BLKD_BUS_ARROW_W)) and (@BIFSIDE='0'))">					<xsl:value-of select="$BLKD_P2P_BUS_W"/>				</xsl:when>				<xsl:otherwise>0</xsl:otherwise>			</xsl:choose>		</xsl:variable>				<xsl:variable name="h_bus_ul_x_">			<xsl:choose>				<xsl:when test="@BIFSIDE='0'">					<xsl:value-of select="($bus_x_ - $h_bus_ul_x_dx_)"/>				</xsl:when>				<xsl:when test="@BIFSIDE='1'">					<xsl:value-of select="(@X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W)"/>				</xsl:when>			</xsl:choose>		</xsl:variable>			

⌨️ 快捷键说明

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