?? mdtsvgblkd_busses.xsl
字號:
<?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:exsl="http://exslt.org/common" xmlns:math="http://exslt.org/math" 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:template name="Define_Busses"><!-- <xsl:param name="drawarea_w" select="500"/> <xsl:param name="drawarea_h" select="500"/>--> <xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR"> <xsl:call-template name="Define_BusArrowsEastWest"> <xsl:with-param name="iBusType" select="@BUSSTD"/> </xsl:call-template> <xsl:call-template name="Define_BusArrowsNorthSouth"> <xsl:with-param name="iBusType" select="@BUSSTD"/> </xsl:call-template> <xsl:call-template name="Define_SplitBusses"> <xsl:with-param name="iBusType" select="@BUSSTD"/> </xsl:call-template> </xsl:for-each> <xsl:call-template name="Define_SharedBus"> <xsl:with-param name="iBusType" select="'PLB'"/> </xsl:call-template> <xsl:call-template name="Define_SharedBus"> <xsl:with-param name="iBusType" select="'PLBV46'"/> </xsl:call-template> <xsl:call-template name="Define_SharedBus"> <xsl:with-param name="iBusType" select="'OPB'"/> </xsl:call-template> <xsl:call-template name="Define_SharedBus_Group"/> </xsl:template><xsl:template name="Define_BusArrowsEastWest"> <xsl:param name="iBusType" select="'OPB'"/> <xsl:variable name="bus_col_"> <xsl:call-template name="BusType2Color"> <xsl:with-param name="iBusType" select="$iBusType"/> </xsl:call-template> </xsl:variable> <xsl:variable name="bus_col_lt_"> <xsl:call-template name="BusType2LightColor"> <xsl:with-param name="iBusType" select="$iBusType"/> </xsl:call-template> </xsl:variable> <symbol id="{$iBusType}_BusArrowEast"> <path class="bus" d="M 0,0 L {$BLKD_BUS_ARROW_W}, {ceiling($BLKD_BUS_ARROW_H div 2)} L 0,{$BLKD_BUS_ARROW_H}, Z" style="stroke:none; fill:{$bus_col_}"/> </symbol> <symbol id="{$iBusType}_BusArrowWest"> <use x="0" y="0" xlink:href="#{$iBusType}_BusArrowEast" transform="scale(-1,1) translate({$BLKD_BUS_ARROW_W * -1},0)"/> </symbol> <symbol id="{$iBusType}_BusArrowHInitiator"> <rect x="0" y="{$BLKD_BUS_ARROW_G}" width= "{$BLKD_BUS_ARROW_W}" height="{$BLKD_P2P_BUS_W}" style="stroke:none; fill:{$bus_col_}"/> </symbol> </xsl:template><!-- <xsl:param name="bus_col" select="'OPB'"/>--> <xsl:template name="Define_BusArrowsNorthSouth"> <xsl:param name="iBusType" select="'OPB'"/> <xsl:variable name="busColor_"> <xsl:call-template name="BusType2Color"> <xsl:with-param name="iBusType" select="$iBusType"/> </xsl:call-template> </xsl:variable> <xsl:variable name="busColor_lt_"> <xsl:call-template name="BusType2LightColor"> <xsl:with-param name="iBusType" select="$iBusType"/> </xsl:call-template> </xsl:variable> <symbol id="{$iBusType}_BusArrowSouth"> <path class="bus" d="M 0,0 L {$BLKD_BUS_ARROW_H},0 L {ceiling($BLKD_BUS_ARROW_H div 2)}, {$BLKD_BUS_ARROW_W} Z" style="stroke:none; fill:{$busColor_}"/> </symbol> <symbol id="{$iBusType}_BusArrowNorth"> <use x="0" y="0" xlink:href="#{$iBusType}_BusArrowSouth" transform="scale(1,-1) translate(0,{$BLKD_BUS_ARROW_H * -1})"/> </symbol> <symbol id="{$iBusType}_BusArrowInitiator"> <rect x="{$BLKD_BUS_ARROW_G}" y="0" width= "{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}" height="{$BLKD_BUS_ARROW_H}" style="stroke:none; fill:{$busColor_}"/> </symbol> </xsl:template> <xsl:template name="Draw_P2PBus"> <xsl:param name="iBusX" select="0"/> <xsl:param name="iBusTop" select="0"/> <xsl:param name="iBusBot" select="0"/> <xsl:param name="iBotRnk" select="'_unk_'"/> <xsl:param name="iTopRnk" select="'_unk_'"/> <xsl:param name="iBusStd" select="'_bstd_'"/> <xsl:param name="iBusName" select="'_p2pbus_'"/> <xsl:variable name="busColor_"> <xsl:choose> <xsl:when test="@BUSSTD"> <xsl:call-template name="BusType2Color"> <xsl:with-param name="iBusType" select="@BUSSTD"/> </xsl:call-template> </xsl:when> <xsl:when test="not($iBusStd = '_bstd_')"> <xsl:call-template name="BusType2Color"> <xsl:with-param name="iBusType" select="$iBusStd"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="BusType2Color"> <xsl:with-param name="iBusType" select="'TRS'"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="p2pH_" select="($iBusBot - $iBusTop) - ($BLKD_BUS_ARROW_H * 2)"/> <xsl:variable name="botArrow_"> <xsl:choose> <xsl:when test="((($iBotRnk = 'INITIATOR') or ($iBotRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when> <xsl:otherwise>BusArrowSouth</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="topArrow_"> <xsl:choose> <xsl:when test="((($iTopRnk = 'INITIATOR') or ($iTopRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when> <xsl:otherwise>BusArrowNorth</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:if test="@BUSSTD"> <use x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}" y="{$iBusTop + ($BLKD_BIFC_H - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}" xlink:href="#{@BUSSTD}_{$topArrow_}"/> <use x="{(bBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}" y="{$iBusBot - $BLKD_BUS_ARROW_H}" xlink:href="#{@BUSSTD}_{$botArrow_}"/> </xsl:if> <xsl:if test="(not(@BUSSTD) and not($iBusStd = '_bstd_'))"> <use x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}" y="{$iBusTop + ($BLKD_BIFC_H - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}" xlink:href="#{$iBusStd}_{$topArrow_}"/> <use x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}" y="{$iBusBot - $BLKD_BUS_ARROW_H}" xlink:href="#{$iBusStd}_{$botArrow_}"/> </xsl:if> <rect x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2) + $BLKD_BUS_ARROW_G}" y="{$iBusTop + $BLKD_BIFC_H + $BLKD_BUS_ARROW_H}" height= "{$p2pH_ - ($BLKD_BUS_ARROW_H * 2)}" width="{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}" style="stroke:none; fill:{$busColor_}"/> <text class="p2pbuslabel" x="{$iBusX + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}" y="{$iBusTop + ($BLKD_BUS_ARROW_H * 3)}"> <xsl:value-of select="$iBusName"/> </text> <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP"> <text class="ioplblgrp" x="{$iBusX + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}" y="{$iBusTop + ($BLKD_BUS_ARROW_H * 10)}"> <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iBusName)]/@GROUP"/> </text> </xsl:if> </xsl:template> <xsl:template name="Draw_Proc2ProcBus"> <xsl:param name="iBc_Y" select="0"/> <xsl:param name="iBcLeft_X" select="0"/> <xsl:param name="iBcRght_X" select="0"/> <xsl:param name="iLeftRnk" select="'_unk_'"/> <xsl:param name="iRghtRnk" select="'_unk_'"/> <xsl:param name="iBusStd" select="'_bstd_'"/> <xsl:param name="iBusName" select="'_p2pbus_'"/> <xsl:variable name="busColor_"> <xsl:call-template name="BusType2Color"> <xsl:with-param name="iBusType" select="$iBusStd"/> </xsl:call-template> </xsl:variable> <xsl:variable name="pr2pr_W_" select="($iBcRght_X - $iBcLeft_X)"/> <xsl:variable name="leftArrow_"> <xsl:choose> <xsl:when test="((($iLeftRnk = 'INITIATOR') or ($iLeftRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -