mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-11-06 03:32:34 -05:00
Renamed MicroBlaze directory to MicroBlaze_Spartan-6_EthernetLite.
This commit is contained in:
parent
04f17c5cee
commit
52a9e4ecd8
35 changed files with 20253 additions and 0 deletions
|
|
@ -0,0 +1,180 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
|
||||
<!--
|
||||
<xsl:output method="xml"
|
||||
version="1.0"
|
||||
encoding="UTF-8" indent="yes"
|
||||
doctype-public="-//W3C//DTD SVG Tiny 1.1//EN"
|
||||
doctype-system="http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
BUS INTERFACE DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_BIF_H" select="16"/>
|
||||
<xsl:variable name="BLKD_BIF_W" select="32"/>
|
||||
|
||||
<xsl:variable name="BLKD_BIFC_H" select="24"/>
|
||||
<xsl:variable name="BLKD_BIFC_W" select="24"/>
|
||||
|
||||
<xsl:variable name="BLKD_BIFC_dx" select="ceiling($BLKD_BIFC_W div 5)"/>
|
||||
<xsl:variable name="BLKD_BIFC_dy" select="ceiling($BLKD_BIFC_H div 5)"/>
|
||||
<xsl:variable name="BLKD_BIFC_Hi" select="($BLKD_BIFC_H - ($BLKD_BIFC_dy * 2))"/>
|
||||
<xsl:variable name="BLKD_BIFC_Wi" select="($BLKD_BIFC_W - ($BLKD_BIFC_dx * 2))"/>
|
||||
|
||||
<xsl:variable name="BLKD_BIF_TYPE_ONEWAY" select="'OneWay'"/>
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
GLOLBAL BUS INTERFACE DIMENSIONS
|
||||
(Define for global MdtSVG_BifShapes.xsl which is used across all
|
||||
diagrams to define the shapes of bifs the same across all diagrams)
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BIF_H" select="$BLKD_BIF_H"/>
|
||||
<xsl:variable name="BIF_W" select="$BLKD_BIF_W"/>
|
||||
|
||||
<xsl:variable name="BIFC_H" select="$BLKD_BIFC_H"/>
|
||||
<xsl:variable name="BIFC_W" select="$BLKD_BIFC_W"/>
|
||||
|
||||
<xsl:variable name="BIFC_dx" select="$BLKD_BIFC_dx"/>
|
||||
<xsl:variable name="BIFC_dy" select="$BLKD_BIFC_dy"/>
|
||||
|
||||
<xsl:variable name="BIFC_Hi" select="$BLKD_BIFC_Hi"/>
|
||||
<xsl:variable name="BIFC_Wi" select="$BLKD_BIFC_Wi"/>
|
||||
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
BUS DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_P2P_BUS_W" select="($BLKD_BUS_ARROW_H - ($BLKD_BUS_ARROW_G * 2))"/>
|
||||
<xsl:variable name="BLKD_SBS_LANE_H" select="($BLKD_MOD_H + ($BLKD_BIF_H * 2))"/>
|
||||
<xsl:variable name="BLKD_BUS_LANE_W" select="($BLKD_BIF_W + ($BLKD_MOD_BIF_GAP_H * 2))"/>
|
||||
<xsl:variable name="BLKD_BUS_ARROW_W" select="ceiling($BLKD_BIFC_W div 3)"/>
|
||||
<xsl:variable name="BLKD_BUS_ARROW_H" select="ceiling($BLKD_BIFC_H div 2)"/>
|
||||
<xsl:variable name="BLKD_BUS_ARROW_G" select="ceiling($BLKD_BIFC_W div 12)"/>
|
||||
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
IO PORT DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_IOP_H" select="16"/>
|
||||
<xsl:variable name="BLKD_IOP_W" select="16"/>
|
||||
<xsl:variable name="BLKD_IOP_SPC" select="12"/>
|
||||
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
INTERRUPT NOTATION DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_INTR_W" select="18"/>
|
||||
<xsl:variable name="BLKD_INTR_H" select="18"/>
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
MODULE DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_MOD_IO_GAP" select="8"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_W" select="( ($BLKD_BIF_W * 2) + ($BLKD_MOD_BIF_GAP_H * 1) + ($BLKD_MOD_LANE_W * 2))"/>
|
||||
<xsl:variable name="BLKD_MOD_H" select="($BLKD_MOD_LABEL_H + ($BLKD_BIF_H * 1) + ($BLKD_MOD_BIF_GAP_V * 1) + ($BLKD_MOD_LANE_H * 2))"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_BIF_GAP_H" select="ceiling($BLKD_BIF_H div 4)"/>
|
||||
<xsl:variable name="BLKD_MOD_BIF_GAP_V" select="ceiling($BLKD_BIFC_H div 2)"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_LABEL_W" select="(($BLKD_BIF_W * 2) + $BLKD_MOD_BIF_GAP_H)"/>
|
||||
<xsl:variable name="BLKD_MOD_LABEL_H" select="(($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 3))"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_LANE_W" select="ceiling($BLKD_BIF_W div 3)"/>
|
||||
<xsl:variable name="BLKD_MOD_LANE_H" select="ceiling($BLKD_BIF_H div 4)"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_EDGE_W" select="ceiling($BLKD_MOD_LANE_W div 2)"/>
|
||||
<xsl:variable name="BLKD_MOD_SHAPES_G" select="($BLKD_BIF_W + $BLKD_BIF_W)"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_BKTLANE_H" select="$BLKD_BIF_H"/>
|
||||
<xsl:variable name="BLKD_MOD_BKTLANE_W" select="$BLKD_BIF_H"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_BUCKET_G" select="ceiling($BLKD_BIF_W div 2)"/>
|
||||
|
||||
<xsl:variable name="BLKD_MPMC_MOD_H" select="(($BLKD_BIF_H * 1) + ($BLKD_MOD_BIF_GAP_V * 2) + ($BLKD_MOD_LANE_H * 2))"/>
|
||||
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
GLOBAL DIAGRAM DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_IORCHAN_H" select="$BLKD_BIF_H"/>
|
||||
<xsl:variable name="BLKD_IORCHAN_W" select="$BLKD_BIF_H"/>
|
||||
|
||||
<xsl:variable name="BLKD_PRTCHAN_H" select="($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 2)"/>
|
||||
<xsl:variable name="BLKD_PRTCHAN_W" select="($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 2) + 8"/>
|
||||
|
||||
<xsl:variable name="BLKD_DRAWAREA_MIN_W" select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * 3) + ($BLKD_MOD_BUCKET_G * 2)))"/>
|
||||
|
||||
<xsl:variable name="BLKD_INNER_X" select="($BLKD_PRTCHAN_W + $BLKD_IORCHAN_W + $BLKD_INNER_GAP)"/>
|
||||
<xsl:variable name="BLKD_INNER_Y" select="($BLKD_PRTCHAN_H + $BLKD_IORCHAN_H + $BLKD_INNER_GAP)"/>
|
||||
<xsl:variable name="BLKD_INNER_GAP" select="ceiling($BLKD_MOD_W div 2)"/>
|
||||
|
||||
<xsl:variable name="BLKD_SBS2IP_GAP" select="$BLKD_MOD_H"/>
|
||||
<xsl:variable name="BLKD_BRIDGE_GAP" select="($BLKD_BUS_LANE_W * 4)"/>
|
||||
<xsl:variable name="BLKD_IP2UNK_GAP" select="$BLKD_MOD_H"/>
|
||||
<xsl:variable name="BLKD_PROC2SBS_GAP" select="($BLKD_BIF_H * 2)"/>
|
||||
<xsl:variable name="BLKD_IOR2PROC_GAP" select="$BLKD_BIF_W"/>
|
||||
<xsl:variable name="BLKD_MPMC2PROC_GAP" select="($BLKD_BIF_H * 2)"/>
|
||||
<xsl:variable name="BLKD_SPECS2KEY_GAP" select="$BLKD_BIF_W"/>
|
||||
<xsl:variable name="BLKD_DRAWAREA2KEY_GAP" select="ceiling($BLKD_BIF_W div 3)"/>
|
||||
|
||||
<xsl:variable name="BLKD_KEY_H" select="250"/>
|
||||
<xsl:variable name="BLKD_KEY_W" select="($BLKD_DRAWAREA_MIN_W + ceiling($BLKD_DRAWAREA_MIN_W div 2.5))"/>
|
||||
|
||||
|
||||
<xsl:variable name="BLKD_SPECS_H" select="100"/>
|
||||
<xsl:variable name="BLKD_SPECS_W" select="300"/>
|
||||
|
||||
|
||||
|
||||
<xsl:variable name="BLKD_BKT_MODS_PER_ROW" select="3"/>
|
||||
|
||||
<!--
|
||||
<xsl:template name="Print_Dimensions">
|
||||
<xsl:message>MOD_LABEL_W : <xsl:value-of select="$MOD_LABEL_W"/></xsl:message>
|
||||
<xsl:message>MOD_LABEL_H : <xsl:value-of select="$MOD_LABEL_H"/></xsl:message>
|
||||
|
||||
<xsl:message>MOD_LANE_W : <xsl:value-of select="$MOD_LANE_W"/></xsl:message>
|
||||
<xsl:message>MOD_LANE_H : <xsl:value-of select="$MOD_LANE_H"/></xsl:message>
|
||||
|
||||
<xsl:message>MOD_EDGE_W : <xsl:value-of select="$MOD_EDGE_W"/></xsl:message>
|
||||
<xsl:message>MOD_SHAPES_G : <xsl:value-of select="$MOD_SHAPES_G"/></xsl:message>
|
||||
|
||||
<xsl:message>MOD_BKTLANE_W : <xsl:value-of select="$MOD_BKTLANE_W"/></xsl:message>
|
||||
<xsl:message>MOD_BKTLANE_H : <xsl:value-of select="$MOD_BKTLANE_H"/></xsl:message>
|
||||
<xsl:message>MOD_BUCKET_G : <xsl:value-of select="$MOD_BUCKET_G"/></xsl:message>
|
||||
|
||||
</xsl:template>
|
||||
-->
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!-- Generic colors, shared between modules like webpages diagrams and pdfs -->
|
||||
|
||||
<xsl:variable name="COL_XLNX" select="'#AA0017'"/>
|
||||
|
||||
<xsl:variable name="COL_BLACK" select="'#000000'"/>
|
||||
<xsl:variable name="COL_WHITE" select="'#FFFFFF'"/>
|
||||
|
||||
<xsl:variable name="COL_GRAY" select="'#CECECE'"/>
|
||||
<xsl:variable name="COL_GRAY_LT" select="'#E1E1E1'"/>
|
||||
<xsl:variable name="COL_GRAY_DK" select="'#B1B1B1'"/>
|
||||
|
||||
<xsl:variable name="COL_YELLOW" select="'#FFFFDD'"/>
|
||||
<xsl:variable name="COL_YELLOW_LT" select="'#FFFFEE'"/>
|
||||
|
||||
<xsl:variable name="COL_RED" select="'#AA0000'"/>
|
||||
|
||||
<xsl:variable name="COL_GREEN" select="'#33CC33'"/>
|
||||
|
||||
<xsl:variable name="COL_BLUE_LT" select="'#AAAAFF'"/>
|
||||
|
||||
<!-- Colors specific to the Diagrams -->
|
||||
<xsl:variable name="COL_BG" select="'#CCCCCC'"/>
|
||||
<xsl:variable name="COL_BG_LT" select="'#EEEEEE'"/>
|
||||
<xsl:variable name="COL_BG_UNK" select="'#DDDDDD'"/>
|
||||
|
||||
<xsl:variable name="COL_PROC_BG" select="'#FFCCCC'"/>
|
||||
<xsl:variable name="COL_PROC_BG_MB" select="'#222222'"/>
|
||||
<xsl:variable name="COL_PROC_BG_PP" select="'#90001C'"/>
|
||||
<xsl:variable name="COL_PROC_BG_USR" select="'#666699'"/>
|
||||
|
||||
<xsl:variable name="COL_MPMC_BG" select="'#8B0800'"/>
|
||||
|
||||
<xsl:variable name="COL_MOD_BG" select="'#F0F0F0'"/>
|
||||
<xsl:variable name="COL_MOD_SPRT" select="'#888888'"/>
|
||||
<xsl:variable name="COL_MOD_MPRT" select="'#888888'"/>
|
||||
|
||||
<xsl:variable name="COL_IORING" select="'#000088'"/>
|
||||
<xsl:variable name="COL_IORING_LT" select="'#CCCCFF'"/>
|
||||
<xsl:variable name="COL_SYSPRT" select="'#0000BB'"/>
|
||||
|
||||
<xsl:variable name="COL_INTCS">
|
||||
<INTCCOLOR INDEX="0" RGB="#FF9900"/>
|
||||
<INTCCOLOR INDEX="1" RGB="#00CCCC"/>
|
||||
<INTCCOLOR INDEX="2" RGB="#33FF33"/>
|
||||
<INTCCOLOR INDEX="3" RGB="#FF00CC"/>
|
||||
<INTCCOLOR INDEX="4" RGB="#99FF33"/>
|
||||
<INTCCOLOR INDEX="5" RGB="#0066CC"/>
|
||||
<INTCCOLOR INDEX="6" RGB="#9933FF"/>
|
||||
<INTCCOLOR INDEX="7" RGB="#3300FF"/>
|
||||
<INTCCOLOR INDEX="8" RGB="#00FF33"/>
|
||||
<INTCCOLOR INDEX="9" RGB="#FF3333"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="COL_BUSSTDS">
|
||||
<BUSCOLOR BUSSTD="AXI" RGB="#0084AB" RGB_LT="#D0E6EF" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="XIL" RGB="#990066" RGB_LT="#CC3399" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="OCM" RGB="#0000DD" RGB_LT="#9999DD" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="OPB" RGB="#339900" RGB_LT="#CCDDCC" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
|
||||
<BUSCOLOR BUSSTD="LMB" RGB="#7777FF" RGB_LT="#DDDDFF" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="FSL" RGB="#CC00CC" RGB_LT="#FFBBFF" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="DCR" RGB="#6699FF" RGB_LT="#BBDDFF" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="FCB" RGB="#8C00FF" RGB_LT="#CCCCFF" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
|
||||
<BUSCOLOR BUSSTD="PLB" RGB="#FF5500" RGB_LT="#FFBB00" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="PLBV34" RGB="#FF5500" RGB_LT="#FFBB00" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="PLBV46" RGB="#BB9955" RGB_LT="#FFFFDD" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#BB9955" RGB_LT="#FFFFDD" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
|
||||
<BUSCOLOR BUSSTD="USER" RGB="#009999" RGB_LT="#00CCCC" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="KEY" RGB="#444444" RGB_LT="#888888" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="GRAYSCALE" RGB="#444444" RGB_LT="#888888" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
</xsl:variable>
|
||||
<xsl:variable name = "COL_BUSSTDS_NUMOF" select="count(exsl:node-set($COL_BUSSTDS)/BUSCOLOR)"/>
|
||||
|
||||
<xsl:template name="F_BusStd2RGB">
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB">
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'USER')]/@RGB"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_BusStd2RGB_LT">
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_LT">
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_LT"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'USER')]/@RGB_LT"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_BusStd2RGB_DK">
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_DK">
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_DK"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'USER')]/@RGB_DK"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_BusStd2RGB_TXT">
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_TXT">
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_TXT"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'USER')]/@RGB_TXT"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_IntcIdx2RGB">
|
||||
<xsl:param name="iIntcIdx" select="'0'"/>
|
||||
|
||||
<xsl:variable name="index_" select="$iIntcIdx mod 9"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_INTCS)/INTCCOLOR[(@INDEX = $index_)]/@RGB">
|
||||
<xsl:value-of select="exsl:node-set($COL_INTCS)/INTCCOLOR[(@INDEX = $index_)]/@RGB"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_INTCS)/INTCCOLOR[(@INDEX = '0')]/@RGB"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE stylesheet [
|
||||
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
|
||||
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
|
||||
|
||||
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
|
||||
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
|
||||
|
||||
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
|
||||
<!ENTITY HEXUPPER "ABCDEFxX0123456789">
|
||||
<!ENTITY HEXLOWER "abcdefxX0123456789">
|
||||
<!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
|
||||
|
||||
<!ENTITY ALLMODS "MODULE[(@INSTANCE)]">
|
||||
<!ENTITY BUSMODS "MODULE[(@MODCLASS ='BUS')]">
|
||||
<!ENTITY CPUMODS "MODULE[(@MODCLASS ='PROCESSOR')]">
|
||||
|
||||
<!ENTITY MODIOFS "MODULE/IOINTERFACES/IOINTERFACE">
|
||||
<!ENTITY ALLIOFS "&MODIOFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<!ENTITY V11MODBIFS "MODULE/BUSINTERFACE">
|
||||
<!ENTITY V12MODBIFS "MODULE/BUSINTERFACES/BUSINTERFACE">
|
||||
<!ENTITY V11ALLBIFS "&V11MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and @TYPE and @BUSSTD]">
|
||||
<!ENTITY V12ALLBIFS "&V12MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and @TYPE and @BUSSTD]">
|
||||
|
||||
<!ENTITY V11MODPORTS "MODULE/PORT">
|
||||
<!ENTITY V12MODPORTS "MODULE/PORTS/PORT">
|
||||
<!ENTITY V11ALLPORTS "&V11MODPORTS;[ (not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<!ENTITY V12ALLPORTS "&V12MODPORTS;[ (not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<!ENTITY V11NDFPORTS "&V11MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (not(@BUS) and not(@IOS)))]">
|
||||
<!ENTITY V12NDFPORTS "&V12MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (not(@BUS) and not(@IOS)))]">
|
||||
<!ENTITY V11DEFPORTS "&V11MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@BUS) or (@IOS)))]">
|
||||
<!ENTITY V12DEFPORTS "&V12MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@BUS) or (@IOS)))]">
|
||||
]>
|
||||
|
||||
<!--
|
||||
<!ENTITY MSTBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'MASTER')]">
|
||||
<!ENTITY SLVBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'SLAVE')]">
|
||||
<!ENTITY MOSBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'MASTER') or (@TYPE = 'SLAVE'))]">
|
||||
<!ENTITY P2PBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR'))]">
|
||||
-->
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math exsl dyn xlink">
|
||||
<!--
|
||||
======================================================
|
||||
EDK SYSTEM (EDWARD) Globals.
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="G_SYS_ROOT" select="/"/>
|
||||
<!--
|
||||
<xsl:variable name="G_SYS_DOC" select="dyn:evaluate($G_SYS_ROOT)"/>
|
||||
<xsl:variable name="G_SYS_DOC" select="dyn:evaluate($G_SYS_ROOT)"/>
|
||||
-->
|
||||
<xsl:variable name="G_SYS" select="$G_SYS_ROOT/EDKSYSTEM"/>
|
||||
<xsl:variable name="G_SYS_TIMESTAMP" select="$G_SYS/@TIMESTAMP"/>
|
||||
<xsl:variable name="G_SYS_EDKVERSION" select="$G_SYS/@EDKVERSION"/>
|
||||
|
||||
<xsl:variable name="G_SYS_INFO" select="$G_SYS/SYSTEMINFO"/>
|
||||
<xsl:variable name="G_SYS_INFO_PKG" select="$G_SYS_INFO/@PACKAGE"/>
|
||||
<xsl:variable name="G_SYS_INFO_DEV" select="$G_SYS_INFO/@DEVICE"/>
|
||||
<xsl:variable name="G_SYS_INFO_ARCH" select="$G_SYS_INFO/@ARCH"/>
|
||||
<xsl:variable name="G_SYS_INFO_SPEED" select="$G_SYS_INFO/@SPEEDGRADE"/>
|
||||
|
||||
<xsl:variable name="G_SYS_MODS" select="$G_SYS/MODULES"/>
|
||||
<xsl:variable name="G_SYS_EXPS" select="$G_SYS/EXTERNALPORTS"/>
|
||||
|
||||
<!-- INDEX KEYS FOR FAST ACCESS -->
|
||||
<xsl:key name="G_MAP_MODULES" match="&ALLMODS;" use="@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_PROCESSORS" match="&CPUMODS;" use="@INSTANCE"/>
|
||||
|
||||
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@BUSSTD_PSF"/>
|
||||
|
||||
<xsl:key name="G_MAP_ALL_IOFS" match="&ALLIOFS;" use="../../@INSTANCE"/>
|
||||
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="@TYPE"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="@TYPE"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="@BUSSTD_PSF"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="@BUSSTD_PSF"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="../@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="../../@INSTANCE"/>
|
||||
|
||||
<!--
|
||||
<xsl:key name="G_MAP_ALL_BIFS_BY_BUS" match="&ALLBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS_BY_STD" match="&ALLBIFS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS_BY_STD" match="&ALLBIFS;" use="@BUSSTD_PSF"/>
|
||||
|
||||
|
||||
<xsl:key name="G_MAP_MST_BIFS" match="&MSTBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_SLV_BIFS" match="&SLVBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_MOS_BIFS" match="&MOSBIFS;" use="@BUSNAME"/>
|
||||
|
||||
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSSTD_PSF"/>
|
||||
-->
|
||||
|
||||
<xsl:key name="G_MAP_ALL_PORTS" match="&V11ALLPORTS;" use="../@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_ALL_PORTS" match="&V12ALLPORTS;" use="../../@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_DEF_PORTS" match="&V11DEFPORTS;" use="../@INSTANCE"/> <!-- Default ports -->
|
||||
<xsl:key name="G_MAP_DEF_PORTS" match="&V12DEFPORTS;" use="../../@INSTANCE"/> <!-- Default ports -->
|
||||
<xsl:key name="G_MAP_NDF_PORTS" match="&V11NDFPORTS;" use="../@INSTANCE"/> <!-- Non Default ports -->
|
||||
<xsl:key name="G_MAP_NDF_PORTS" match="&V12NDFPORTS;" use="../../@INSTANCE"/> <!-- Non Default ports -->
|
||||
|
||||
<xsl:variable name="G_BIFTYPES">
|
||||
|
||||
<BIFTYPE TYPE="SLAVE"/>
|
||||
<BIFTYPE TYPE="MASTER"/>
|
||||
<BIFTYPE TYPE="MASTER_SLAVE"/>
|
||||
|
||||
<BIFTYPE TYPE="TARGET"/>
|
||||
<BIFTYPE TYPE="INITIATOR"/>
|
||||
|
||||
<BIFTYPE TYPE="MONITOR"/>
|
||||
|
||||
<BIFTYPE TYPE="USER"/>
|
||||
<BIFTYPE TYPE="TRANSPARENT"/>
|
||||
|
||||
</xsl:variable>
|
||||
<xsl:variable name="G_BIFTYPES_NUMOF" select="count(exsl:node-set($G_BIFTYPES)/BIFTYPE)"/>
|
||||
|
||||
<xsl:variable name="G_IFTYPES">
|
||||
<IFTYPE TYPE="SLAVE"/>
|
||||
<IFTYPE TYPE="MASTER"/>
|
||||
<IFTYPE TYPE="MASTER_SLAVE"/>
|
||||
|
||||
<IFTYPE TYPE="TARGET"/>
|
||||
<IFTYPE TYPE="INITIATOR"/>
|
||||
|
||||
<IFTYPE TYPE="MONITOR"/>
|
||||
|
||||
<IFTYPE TYPE="USER"/>
|
||||
<!--
|
||||
<IFTYPE TYPE="TRANSPARENT"/>
|
||||
-->
|
||||
</xsl:variable>
|
||||
<xsl:variable name="G_IFTYPES_NUMOF" select="count(exsl:node-set($G_IFTYPES)/IFTYPE)"/>
|
||||
|
||||
<xsl:variable name="G_BUSSTDS">
|
||||
|
||||
<BUSSTD NAME="AXI"/>
|
||||
<BUSSTD NAME="XIL"/>
|
||||
<BUSSTD NAME="OCM"/>
|
||||
<BUSSTD NAME="OPB"/>
|
||||
<BUSSTD NAME="LMB"/>
|
||||
<BUSSTD NAME="FSL"/>
|
||||
<BUSSTD NAME="DCR"/>
|
||||
<BUSSTD NAME="FCB"/>
|
||||
<BUSSTD NAME="PLB"/>
|
||||
<BUSSTD NAME="PLB34"/>
|
||||
<BUSSTD NAME="PLBV46"/>
|
||||
<BUSSTD NAME="PLBV46_P2P"/>
|
||||
|
||||
<BUSSTD NAME="USER"/>
|
||||
<BUSSTD NAME="KEY"/>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="G_BUSSTDS_NUMOF" select="count(exsl:node-set($G_BUSSTDS)/BUSSTD)"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -0,0 +1,584 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!--
|
||||
<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"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
Function to put TEXT CSS and other Internal
|
||||
Styling properties directly into the output
|
||||
svg. The Qt 4.3 Renderer
|
||||
cannot handle separate CSS StyleSheets
|
||||
======================================================
|
||||
-->
|
||||
<xsl:template name="F_WriteText">
|
||||
|
||||
<xsl:param name="iClass" select="'_UNKNOWN_'"/>
|
||||
<xsl:param name="iText" select="' '"/>
|
||||
<xsl:param name="iX" select="'0'"/>
|
||||
<xsl:param name="iY" select="'0'"/>
|
||||
|
||||
<!--
|
||||
<xsl:message>TEXT <xsl:value-of select="$iText"/></xsl:message>
|
||||
<xsl:message>CLASS <xsl:value-of select="$iClass"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:element name="text">
|
||||
<xsl:attribute name="x"><xsl:value-of select="$iX"/></xsl:attribute>
|
||||
<xsl:attribute name="y"><xsl:value-of select="$iY"/></xsl:attribute>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="$iClass = 'sharedbus_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'12pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'p2pbus_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'p2pbus_label_horiz'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'12pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="writing-mode"><xsl:value-of select="'tb'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
|
||||
<xsl:when test="$iClass = 'bif_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'bc_ipinst'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'bc_iptype'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_XLNX"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'iogrp_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_IORING"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'mpmc_title'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_WHITE"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'16pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'oblique'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'mpmc_biflabel'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_WHITE"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'intr_symbol'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'bkt_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'9pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'ipclass_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'9pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'key_header'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'key_title'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_XLNX"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'14pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'key_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'key_label_small'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
|
||||
<xsl:when test="$iClass = 'key_label_ul'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-decoration"><xsl:value-of select="'underline'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
|
||||
<xsl:when test="$iClass = 'ipd_portlabel'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'ipd_biflabel'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'ipd_iptype'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_XLNX"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'ipd_ipname'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'blkd_spec_name'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'blkd_spec_value_mid'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise><xsl:message>UNKNOWN Text style class <xsl:value-of select="$iClass"/></xsl:message></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:value-of select="$iText"/>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
<!--
|
||||
text.ioplblgrp {
|
||||
fill: #000088;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
text.iplabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
text-anchor: middle;
|
||||
font-family: Courier Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.iptype {
|
||||
fill: #AA0017;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.busintlabel {
|
||||
fill: #810017;
|
||||
stroke: none;
|
||||
font-size: 7pt;
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.mpmcbiflabel {
|
||||
fill: #FFFFFF;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.buslabel {
|
||||
fill: #CC3333;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
|
||||
text.ipclass {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 7pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Times Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.procclass {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 7pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Times Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
text.portlabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.ipdbiflbl {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.mmMHeader {
|
||||
fill: #FFFFFF;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.mmSHeader {
|
||||
fill: #810017;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
|
||||
text.dbglabel {
|
||||
fill: #555555;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Times Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.iopnumb {
|
||||
fill: #555555;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
|
||||
tspan.iopgrp {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
baseline-shift:super;
|
||||
font-family: Arial Courier san-serif;
|
||||
}
|
||||
|
||||
|
||||
text.biflabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
|
||||
}
|
||||
|
||||
text.p2pbuslabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
writing-mode: tb;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.mpbuslabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
writing-mode: tb;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
text.sharedbuslabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
text.splitbustxt {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
text.horizp2pbuslabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
|
||||
text.keytitle {
|
||||
fill: #AA0017;
|
||||
stroke: none;
|
||||
font-size: 12pt;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.keyheader {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.keylabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.keylblul {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
text-decoration: underline;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.specsheader {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.specsvalue {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.specsvaluemid {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.intrsymbol {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
-->
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,546 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!--
|
||||
<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="iBusStd" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_BusArrowsNorthSouth">
|
||||
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SplitBusses">
|
||||
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusStd" select="'AXI'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusStd" select="'OPB'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusStd" select="'PLB'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusStd" select="'PLBV46'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus_Group"/>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Define_BusArrowsEastWest">
|
||||
<xsl:param name="iBusStd" select="'PLB'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="busStdColor_lt_">
|
||||
<xsl:call-template name="F_BusStd2RGB_LT">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<g id="{$iBusStd}_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:{$busStdColor_}"/>
|
||||
</g>
|
||||
|
||||
<g id="{$iBusStd}_BusArrowWest">
|
||||
<use x="0" y="0" xlink:href="#{$iBusStd}_BusArrowEast" transform="scale(-1,1) translate({$BLKD_BUS_ARROW_W * -1},0)"/>
|
||||
</g>
|
||||
|
||||
<g id="{$iBusStd}_BusArrowHInitiator">
|
||||
<rect x="0"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{$BLKD_BUS_ARROW_W}"
|
||||
height="{$BLKD_P2P_BUS_W}"
|
||||
style="stroke:none; fill:{$busStdColor_}"/>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
<xsl:param name="bus_col" select="'OPB'"/>
|
||||
-->
|
||||
|
||||
<xsl:template name="Define_BusArrowsNorthSouth">
|
||||
<xsl:param name="iBusStd" select="'PLB'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="busStdColor_lt_">
|
||||
<xsl:call-template name="F_BusStd2RGB_LT">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<g id="{$iBusStd}_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:{$busStdColor_}"/>
|
||||
</g>
|
||||
|
||||
<g id="{$iBusStd}_BusArrowNorth">
|
||||
<use x="0" y="0" xlink:href="#{$iBusStd}_BusArrowSouth" transform="scale(1,-1) translate(0,{$BLKD_BUS_ARROW_H * -1})"/>
|
||||
</g>
|
||||
|
||||
<g id="{$iBusStd}_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:{$busStdColor_}"/>
|
||||
</g>
|
||||
|
||||
</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="iBusStd" select="'_bstd_'"/>
|
||||
<xsl:param name="iBusName" select="'_p2pbus_'"/>
|
||||
<xsl:param name="iBotBifType" select="'_unk_'"/>
|
||||
<xsl:param name="iTopBifType" select="'_unk_'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="@BUSSTD">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="not($iBusStd = '_bstd_')">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" 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="((($iBotBifType = 'INITIATOR') or ($iBotBifType = '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="((($iTopBifType = 'INITIATOR') or ($iTopBifType = '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="{($iBusX + 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:{$busStdColor_}"/>
|
||||
|
||||
<!--
|
||||
<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:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="($iBusX + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4)"/>
|
||||
<xsl:with-param name="iY" select="($iBusTop + ($BLKD_BUS_ARROW_H * 3))"/>
|
||||
<xsl:with-param name="iText" select="$iBusName"/>
|
||||
<xsl:with-param name="iClass" select="'p2pbus_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:if test="$G_ROOT/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="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP"/>
|
||||
</text>
|
||||
-->
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="(iBusX + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6)"/>
|
||||
<xsl:with-param name="iY" select="($iBusTop + ($BLKD_BUS_ARROW_H * 10))"/>
|
||||
<xsl:with-param name="iText" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP"/>
|
||||
<xsl:with-param name="iClass" select="'iogrp_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Draw_Proc2ProcBus">
|
||||
|
||||
<xsl:param name="iBc_Y" select="0"/>
|
||||
<xsl:param name="iBusStd" select="'_bstd_'"/>
|
||||
<xsl:param name="iBusName" select="'_p2pbus_'"/>
|
||||
<xsl:param name="iBcLeft_X" select="0"/>
|
||||
<xsl:param name="iBcRght_X" select="0"/>
|
||||
<xsl:param name="iLeftBifType" select="'_unk_'"/>
|
||||
<xsl:param name="iRghtBifType" select="'_unk_'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" 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="((($iLeftBifType = 'INITIATOR') or ($iLeftBifType = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowWest</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="rghtArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iRghtBifType = 'INITIATOR') or ($iRghtBifType = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowEast</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="bus_Y_" select="($iBc_Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
|
||||
|
||||
<use x="{$iBcLeft_X}" y="{$bus_Y_}" xlink:href="#{$iBusStd}_{$leftArrow_}"/>
|
||||
<use x="{$iBcRght_X - $BLKD_BUS_ARROW_W}" y="{$bus_Y_}" xlink:href="#{$iBusStd}_{$rghtArrow_}"/>
|
||||
|
||||
<rect x="{$iBcLeft_X + $BLKD_BUS_ARROW_W}"
|
||||
y="{$bus_Y_ + $BLKD_BUS_ARROW_G}"
|
||||
width= "{$pr2pr_W_ - (2 * $BLKD_BUS_ARROW_W)}"
|
||||
height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
|
||||
<!--
|
||||
<text class="horizp2pbuslabel"
|
||||
x="{$iBcLeft_X + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}"
|
||||
y="{($bus_Y_)}"><xsl:value-of select="$iBusName"/></text>
|
||||
|
||||
<text class="horizp2pbuslabel"
|
||||
x="{$iBcRght_X - (string-length($iBusName) * 8)}"
|
||||
y="{($bus_Y_)}"><xsl:value-of select="$iBusName"/></text>
|
||||
-->
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="($iBcLeft_X + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4)"/>
|
||||
<xsl:with-param name="iY" select="$bus_Y_"/>
|
||||
<xsl:with-param name="iText" select="$iBusName"/>
|
||||
<xsl:with-param name="iClass" select="'p2pbus_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<!--
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="(iBcRght_X - (string-length($iBusName) * 8))"/>
|
||||
<xsl:with-param name="iY" select="$bus_Y_"/>
|
||||
<xsl:with-param name="iText" select="$iBusName"/>
|
||||
<xsl:with-param name="iClass" select="'p2pbus_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
-->
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Draw_SplitConnBus">
|
||||
|
||||
<xsl:param name="iBc_X" select="0"/>
|
||||
<xsl:param name="iBc_Y" select="0"/>
|
||||
<xsl:param name="iBc_Type" select="'_unk_'"/>
|
||||
<xsl:param name="iBc_Side" select="'_unk_'"/>
|
||||
<xsl:param name="iBusStd" select="'_bstd_'"/>
|
||||
<xsl:param name="iBusName" select="'_p2pbus_'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="connArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iBc_Type = 'INITIATOR') or ($iBc_Type = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowEast</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="arrow_Y_" select="($iBc_Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
|
||||
|
||||
<xsl:variable name="bus_X_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($iBc_X - ($BLKD_BUS_ARROW_W * 2))"/></xsl:when>
|
||||
<xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($iBc_X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W)"/></xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<use x="{$bus_X_}" y="{$arrow_Y_}" xlink:href="#{$busStd}_BusArrowHInitiator"/>
|
||||
-->
|
||||
|
||||
<xsl:variable name="arrow_X_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($iBc_X - $BLKD_BUS_ARROW_W)"/></xsl:when>
|
||||
<xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($iBc_X + $BLKD_BIFC_W)"/></xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBusStd = 'FSL') and (($iBc_Type = 'MASTER') or ($iBc_Type = 'INITIATOR')))">
|
||||
<use x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_{$connArrow_}"/>
|
||||
<use x="{$bus_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_BusArrowHInitiator"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(($iBc_Side = '1') and not($iBusStd = 'FSL') and (($iBc_Type = 'MASTER') or ($iBc_Type = 'INITIATOR')))">
|
||||
<use x="{$arrow_X_ - $BLKD_BIFC_W}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_SplitBus_WEST"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(($iBc_Side = '1') and (($iBc_Type = 'SLAVE') or ($iBc_Type = 'TARGET') or ($iBc_Type = 'USER')))">
|
||||
<use x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_SplitBus_EAST"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<use x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_{$connArrow_}"/>
|
||||
<use x="{$bus_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_BusArrowHInitiator"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:variable name="text_X_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($bus_X_ - $BLKD_BUS_ARROW_W - (string-length($iBusName) * 5))"/></xsl:when>
|
||||
<xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($bus_X_ + $BLKD_BUS_ARROW_W)"/></xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<!--
|
||||
<text class="horizp2pbuslabel"
|
||||
x="{$text_X_}"
|
||||
y="{($arrow_Y_)}">
|
||||
<xsl:value-of select="$iBusName"/>
|
||||
</text>
|
||||
-->
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="$text_X_"/>
|
||||
<xsl:with-param name="iY" select="$arrow_Y_"/>
|
||||
<xsl:with-param name="iText" select="$iBusName"/>
|
||||
<xsl:with-param name="iClass" select="'p2pbus_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_SharedBus">
|
||||
|
||||
<xsl:param name="iBusStd" select="'PLB46'"/>
|
||||
|
||||
<xsl:variable name="sharedbus_w_" select="($G_Total_DrawArea_W - ($BLKD_INNER_GAP * 2))"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="busStdColor_lt_">
|
||||
<xsl:call-template name="F_BusStd2RGB_LT">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<g id="{$iBusStd}_SharedBus">
|
||||
<use x="0" y="0" xlink:href="#{$iBusStd}_BusArrowWest"/>
|
||||
<use x="{$sharedbus_w_ - $BLKD_BUS_ARROW_W}" y="0" xlink:href="#{$iBusStd}_BusArrowEast"/>
|
||||
|
||||
<rect x="{$BLKD_BUS_ARROW_W}"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{$sharedbus_w_ - ($BLKD_BUS_ARROW_W * 2)}"
|
||||
height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
</g>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_SplitBusses">
|
||||
|
||||
<xsl:param name="iBusStd" select="'FSL'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bifc_r_" select="ceiling($BLKD_BIFC_W div 3)"/>
|
||||
|
||||
<g id="{$iBusStd}_SplitBus_EAST">
|
||||
<use x="0" y="0" xlink:href="#{$iBusStd}_BusArrowWest"/>
|
||||
|
||||
<rect x="{$BLKD_BUS_ARROW_W}"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{$BLKD_BIFC_W}"
|
||||
height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
|
||||
</g>
|
||||
|
||||
<xsl:variable name="splbus_w_" select="($BLKD_BUS_ARROW_W + $BLKD_BIFC_W + $BLKD_BIFC_Wi)"/>
|
||||
|
||||
<g id="{$iBusStd}_SplitBus_WEST">
|
||||
<use x="0" y="0" xlink:href="#{$iBusStd}_SplitBus_EAST" transform="scale(-1,1) translate({$splbus_w_ * -1},0)"/>
|
||||
</g>
|
||||
|
||||
<g id="{$iBusStd}_SplitBus_OneWay">
|
||||
|
||||
<rect x="0"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{($BLKD_BUS_ARROW_W * 2)}"
|
||||
height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
|
||||
<rect x="{($BLKD_BUS_ARROW_W * 2)}"
|
||||
y="0"
|
||||
width= "{$BLKD_BUS_ARROW_H}"
|
||||
height="{$BLKD_BUS_ARROW_H}" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
|
||||
</g>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_SharedBus_Group">
|
||||
|
||||
<!-- The Bridges go into the shared bus shape -->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/BRIDGESHAPES/MODULE">
|
||||
|
||||
<xsl:variable name="modInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="modType_" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>
|
||||
|
||||
<xsl:call-template name="Define_Peripheral">
|
||||
<xsl:with-param name="iModVori" select="'normal'"/>
|
||||
<xsl:with-param name="iModInst" select="$modInst_"/>
|
||||
<xsl:with-param name="iModType" select="$modType_"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<g id="group_sharedBusses">
|
||||
|
||||
<!-- Draw the shared bus shapes first -->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/SBSSHAPES/MODULE">
|
||||
<xsl:variable name="instance_" select="@INSTANCE"/>
|
||||
|
||||
<xsl:variable name="busStd_" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUSSTD"/>
|
||||
<xsl:variable name="busIndex_" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUS_INDEX"/>
|
||||
|
||||
<xsl:variable name="busY_" select="($busIndex_ * $BLKD_SBS_LANE_H)"/>
|
||||
|
||||
<use x="0" y="{$busY_}" xlink:href="#{$busStd_}_SharedBus"/>
|
||||
|
||||
<!--
|
||||
<text class="sharedbuslabel"
|
||||
x="8"
|
||||
y="{$busY_ + $BLKD_BUS_ARROW_H + 10}">
|
||||
<xsl:value-of select="$instance_"/>
|
||||
</text>
|
||||
-->
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="'8'"/>
|
||||
<xsl:with-param name="iY" select="($busY_ + $BLKD_BUS_ARROW_H + 10)"/>
|
||||
<xsl:with-param name="iText" select="$instance_"/>
|
||||
<xsl:with-param name="iClass" select="'sharedbus_label'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
|
||||
</g>
|
||||
|
||||
<g id="KEY_SharedBus">
|
||||
<use x="0" y="0" xlink:href="#KEY_BusArrowWest"/>
|
||||
<use x="30" y="0" xlink:href="#KEY_BusArrowEast"/>
|
||||
|
||||
<xsl:variable name="key_col_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="'KEY'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<rect x="{$BLKD_BUS_ARROW_W}"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{30 - $BLKD_BUS_ARROW_W}"
|
||||
height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$key_col_}"/>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,115 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<xsl:variable name="G_ROOT" select="/"/>
|
||||
|
||||
<!--
|
||||
===========================================================================
|
||||
CALCULATE GLOBAL VARIABLES BASED ON BLKDIAGRAM DEF IN INPUT XML
|
||||
===========================================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="G_Total_StandAloneMpmc_H">
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/MPMCSHAPE">
|
||||
<xsl:value-of select="($BLKD_MPMC_MOD_H + $BLKD_MPMC2PROC_GAP)"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/MPMCSHAPE)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_Max_Stack_BlwSbs_H">
|
||||
<xsl:call-template name="F_Calc_Max_Stack_BlwSbs_Height"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_Max_Stack_AbvSbs_H">
|
||||
<xsl:call-template name="F_Calc_Max_Stack_AbvSbs_Height"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_Total_Stacks_W">
|
||||
<xsl:call-template name="F_Calc_Stack_X">
|
||||
<xsl:with-param name="iStackIdx" select="($G_ROOT/EDKSYSTEM/BLKDIAGRAM/@STACK_HORIZ_WIDTH)"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_NumOfSharedBusses" select="count($G_ROOT/EDKSYSTEM/BLKDIAGRAM/SBSSHAPES/MODULE)"/>
|
||||
<xsl:variable name="G_Total_SharedBus_H" select="($G_NumOfSharedBusses * $BLKD_SBS_LANE_H)"/>
|
||||
|
||||
<xsl:variable name="G_NumOfBridges" select="count($G_ROOT/EDKSYSTEM/BLKDIAGRAM/BRIDGESHAPES/MODULE)"/>
|
||||
<xsl:variable name="G_Total_Bridges_W" select="(($G_NumOfBridges * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))) + $BLKD_BRIDGE_GAP)"/>
|
||||
|
||||
<xsl:variable name="G_Total_DrawArea_CLC" select="($G_Total_Stacks_W + $G_Total_Bridges_W + ($BLKD_INNER_GAP * 2))"/>
|
||||
|
||||
<xsl:variable name="G_Total_DrawArea_W">
|
||||
<xsl:if test="$G_Total_DrawArea_CLC > ($BLKD_KEY_W + $BLKD_SPECS_W + $BLKD_SPECS2KEY_GAP)">
|
||||
<xsl:value-of select="$G_Total_DrawArea_CLC"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not($G_Total_DrawArea_CLC > ($BLKD_KEY_W + $BLKD_SPECS2KEY_GAP + $BLKD_SPECS_W))">
|
||||
<xsl:value-of select="($BLKD_KEY_W + $BLKD_SPECS_W + $BLKD_SPECS2KEY_GAP)"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_IpBucketMods_H">
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/IPBUCKET/@MODS_H"><xsl:value-of select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/IPBUCKET/@MODS_H"/></xsl:if>
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/BLKDIAGRAM/IPBUCKET/@MODS_H)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="G_Total_IpBucket_H" select="($G_IpBucketMods_H * ($BLKD_MOD_H + $BLKD_BIF_H))"/>
|
||||
|
||||
<xsl:variable name="G_Total_UnkBucket_H">
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET">
|
||||
|
||||
<xsl:variable name="unkBucketMods_H_">
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@MODS_H"><xsl:value-of select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@MODS_H"/></xsl:if>
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@MODS_H)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="total_UnkMod_H_" select="($unkBucketMods_H_ * ($BLKD_MOD_H + $BLKD_BIF_H))"/>
|
||||
|
||||
<xsl:variable name="unkBucketBifs_H_">
|
||||
<xsl:if test="/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@BIFS_H"><xsl:value-of select="/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@BIFS_H"/></xsl:if>
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@BIFS_H)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="total_UnkBif_H_" select="($unkBucketBifs_H_ * ($BLKD_MOD_H + $BLKD_BIF_H))"/>
|
||||
|
||||
<xsl:value-of select="($total_UnkBif_H_ + $total_UnkMod_H_)"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_SharedBus_Y" select="($BLKD_INNER_Y + $G_Total_StandAloneMpmc_H + $G_Max_Stack_AbvSbs_H + $BLKD_PROC2SBS_GAP)"/>
|
||||
|
||||
<!-- ===========================================================================
|
||||
Calculate the width of the Block Diagram based on the total number of
|
||||
buslanes and modules in the design. If there are no buslanes or modules,
|
||||
a default width, just wide enough to display the KEY and SPECS is used
|
||||
=========================================================================== -->
|
||||
<xsl:variable name="G_Total_Blkd_W" select="($G_Total_DrawArea_W + (($BLKD_PRTCHAN_W + $BLKD_IORCHAN_W)* 2))"/>
|
||||
<xsl:variable name="G_Total_Diag_W" select="$G_Total_Blkd_W"/>
|
||||
|
||||
<!-- =========================================================================== -->
|
||||
<!-- Calculate the height of the Block Diagram based on the total number of -->
|
||||
<!-- buslanes and modules in the design. Take into account special shapes such -->
|
||||
<!-- as MultiProc shapes. -->
|
||||
<!-- =========================================================================== -->
|
||||
|
||||
|
||||
<xsl:variable name="G_Total_DrawArea_H" select="($G_Total_StandAloneMpmc_H + $G_Max_Stack_AbvSbs_H + $BLKD_PROC2SBS_GAP + $G_Total_SharedBus_H + $G_Max_Stack_BlwSbs_H + $BLKD_SBS2IP_GAP + $G_Total_IpBucket_H + $BLKD_IP2UNK_GAP + $G_Total_UnkBucket_H + ($BLKD_INNER_GAP * 2))"/>
|
||||
<xsl:variable name="G_Total_Blkd_H" select="($G_Total_DrawArea_H + (($BLKD_PRTCHAN_H + $BLKD_IORCHAN_H)* 2))"/>
|
||||
|
||||
<xsl:variable name="G_Total_Diag_H">
|
||||
<xsl:if test="($IN_TESTMODE = 'TRUE')">
|
||||
<xsl:message>Generating Blkdiagram in TestMode </xsl:message>
|
||||
<xsl:value-of select="$G_Total_Blkd_H"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
|
||||
<xsl:value-of select="($G_Total_Blkd_H + $BLKD_DRAWAREA2KEY_GAP + $BLKD_KEY_H)"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -0,0 +1,495 @@
|
|||
<?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:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
<!--
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
|
||||
doctype-public="-//W3C//DTD SVG Tiny 1.1//EN"
|
||||
doctype-system="http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"/>
|
||||
-->
|
||||
|
||||
<!-- ======================= DEF BLOCK =============================== -->
|
||||
<xsl:template name="Define_IOPorts">
|
||||
|
||||
<xsl:variable name="key_col_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="'KEY'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="key_lt_col_">
|
||||
<xsl:call-template name="F_BusStd2RGB_LT">
|
||||
<xsl:with-param name="iBusStd" select="'KEY'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<g id="G_IOPort">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}"
|
||||
fill="{$COL_IORING_LT}"
|
||||
stroke="{$COL_IORING}"
|
||||
stroke-width="1"/>
|
||||
|
||||
<path d="M 0,0
|
||||
L {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
L 0,{$BLKD_IOP_H}
|
||||
Z"
|
||||
stroke="none"
|
||||
fill="{$COL_SYSPRT}"/>
|
||||
</g>
|
||||
|
||||
<g id="G_BIPort">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$COL_IORING_LT}; stroke:{$COL_IORING}; stroke-width:1"/>
|
||||
|
||||
<path class="btop"
|
||||
d="M 0,{ceiling($BLKD_IOP_H div 2)}
|
||||
{ceiling($BLKD_IOP_W div 2)},0
|
||||
{$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
Z" style="stroke:none; fill:{$COL_SYSPRT}"/>
|
||||
|
||||
<path class="bbot"
|
||||
d="M 0,{ceiling($BLKD_IOP_H div 2)}
|
||||
{ceiling($BLKD_IOP_W div 2)},{$BLKD_IOP_H}
|
||||
{$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
Z" style="stroke:none; fill:{$COL_SYSPRT}"/>
|
||||
|
||||
</g>
|
||||
|
||||
<g id="KEY_IOPort">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/>
|
||||
|
||||
<path class="ioport"
|
||||
d="M 0,0
|
||||
L {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
L 0,{$BLKD_IOP_H}
|
||||
Z" style="stroke:none; fill:{$key_col_}"/>
|
||||
</g>
|
||||
|
||||
<g id="KEY_BIPort">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/>
|
||||
|
||||
<path class="btop"
|
||||
d="M 0,{ceiling($BLKD_IOP_H div 2)}
|
||||
{ceiling($BLKD_IOP_W div 2)},0
|
||||
{$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
Z" style="stroke:none; fill:{$key_col_}"/>
|
||||
|
||||
<path class="bbot"
|
||||
d="M 0,{ceiling($BLKD_IOP_H div 2)}
|
||||
{ceiling($BLKD_IOP_W div 2)},{$BLKD_IOP_H}
|
||||
{$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
Z" style="stroke:none; fill:{$key_col_}"/>
|
||||
</g>
|
||||
|
||||
<g id="KEY_INPort">
|
||||
<use x="0" y="0" xlink:href="#KEY_IOPort"/>
|
||||
<rect
|
||||
x="{$BLKD_IOP_W}"
|
||||
y="0"
|
||||
width= "{ceiling($BLKD_IOP_W div 2)}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/>
|
||||
</g>
|
||||
|
||||
<g id="KEY_OUTPort">
|
||||
<use x="0" y="0" xlink:href="#KEY_IOPort" transform="scale(-1,1) translate({$BLKD_IOP_W * -1},0)"/>
|
||||
<rect
|
||||
x="{$BLKD_IOP_W}"
|
||||
y="0"
|
||||
width= "{ceiling($BLKD_IOP_W div 2)}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/>
|
||||
</g>
|
||||
|
||||
<g id="KEY_INOUTPort">
|
||||
<use x="0" y="0" xlink:href="#KEY_BIPort"/>
|
||||
<rect
|
||||
x="{$BLKD_IOP_W}"
|
||||
y="0"
|
||||
width= "{ceiling($BLKD_IOP_W div 2)}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:template>
|
||||
|
||||
<!-- ======================= DRAW BLOCK =============================== -->
|
||||
|
||||
<xsl:template name="Draw_IOPorts">
|
||||
|
||||
<xsl:variable name="ports_count_" select="count($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT)"/>
|
||||
|
||||
<xsl:if test="($ports_count_ > 30)">
|
||||
<xsl:call-template name="Draw_IOPorts_4Sides"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="($ports_count_ <= 30)">
|
||||
<xsl:call-template name="Draw_IOPorts_2Sides"/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Draw_IOPorts_2Sides">
|
||||
|
||||
<xsl:variable name="ports_count_" select="count($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT)"/>
|
||||
<xsl:variable name="ports_per_side_" select="ceiling($ports_count_ div 2)"/>
|
||||
|
||||
<xsl:variable name="h_ofs_">
|
||||
<xsl:value-of select="$BLKD_PRTCHAN_W + ceiling(($G_Total_DrawArea_W - (($ports_per_side_ * $BLKD_IOP_W) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="v_ofs_">
|
||||
<xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($G_Total_DrawArea_H - (($ports_per_side_ * $BLKD_IOP_H) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:for-each select="EXTERNALPORTS/PORT">
|
||||
<xsl:sort data-type="number" select="@INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="poffset_" select="0"/>
|
||||
<xsl:variable name="pcount_" select="$poffset_ + (position() -1)"/>
|
||||
|
||||
<xsl:variable name="pdir_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@DIR='I' or @DIR='IN' or @DIR='INPUT')">I</xsl:when>
|
||||
<xsl:when test="(@DIR='O' or @DIR='OUT' or @DIR='OUTPUT')">O</xsl:when>
|
||||
<xsl:when test="(@DIR='IO' or @DIR='INOUT')">B</xsl:when>
|
||||
<xsl:otherwise>I</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pside_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 0) and ($pcount_ < ($ports_per_side_ * 1)))">W</xsl:when>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 1) and ($pcount_ < ($ports_per_side_ * 2)))">E</xsl:when>
|
||||
<xsl:otherwise>D</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pdec_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($ports_per_side_ * 0)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($ports_per_side_ * 1)"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="px_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($BLKD_PRTCHAN_W - $BLKD_IOP_W)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)) - 2)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $G_Total_DrawArea_W)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)))"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="py_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $G_Total_DrawArea_H)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $BLKD_IOP_H)"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="prot_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'I'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'I'))">-90</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'I'))">180</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'I'))">90</xsl:when>
|
||||
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'O'))">180</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'O'))">90</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'O'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'O'))">-90</xsl:when>
|
||||
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="txo_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')">-10</xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')">6</xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="(($BLKD_IOP_W * 2) - 4)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')">6</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="tyo_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_IOP_H * 2) + 4"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')">-2</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="$pdir_ = 'B'">
|
||||
<use x="{$px_}"
|
||||
y="{$py_}"
|
||||
id="{@NAME}"
|
||||
xlink:href="#G_BIPort"
|
||||
transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">
|
||||
<rect
|
||||
x="{$px_}"
|
||||
y="{$py_}"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}" style="stroke:{$COL_IORING}; stroke-width:1"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($pdir_ = 'B')">
|
||||
<use x="{$px_}"
|
||||
y="{$py_}"
|
||||
id="{@NAME}"
|
||||
xlink:href="#G_IOPort"
|
||||
transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
|
||||
</xsl:if>
|
||||
|
||||
<text class="iopnumb"
|
||||
x="{$px_ + $txo_}"
|
||||
y="{$py_ + $tyo_}">
|
||||
<xsl:value-of select="@INDEX"/><tspan class="iopgrp"><xsl:value-of select="@GROUP"/></tspan>
|
||||
</text>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Draw_IOPorts_4Sides">
|
||||
|
||||
<xsl:variable name="ports_count_" select="count($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT)"/>
|
||||
<xsl:variable name="ports_per_side_" select="ceiling($ports_count_ div 4)"/>
|
||||
|
||||
<xsl:variable name="h_ofs_">
|
||||
<xsl:value-of select="$BLKD_PRTCHAN_W + ceiling(($G_Total_DrawArea_W - (($ports_per_side_ * $BLKD_IOP_W) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="v_ofs_">
|
||||
<xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($G_Total_DrawArea_H - (($ports_per_side_ * $BLKD_IOP_H) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT">
|
||||
<xsl:sort data-type="number" select="@INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="poffset_" select="0"/>
|
||||
<xsl:variable name="pcount_" select="$poffset_ + (position() -1)"/>
|
||||
|
||||
<xsl:variable name="pdir_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@DIR='I' or @DIR='IN' or @DIR='INPUT')">I</xsl:when>
|
||||
<xsl:when test="(@DIR='O' or @DIR='OUT' or @DIR='OUTPUT')">O</xsl:when>
|
||||
<xsl:when test="(@DIR='IO' or @DIR='INOUT')">B</xsl:when>
|
||||
<xsl:otherwise>I</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pside_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 0) and ($pcount_ < ($ports_per_side_ * 1)))">W</xsl:when>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 1) and ($pcount_ < ($ports_per_side_ * 2)))">S</xsl:when>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 2) and ($pcount_ < ($ports_per_side_ * 3)))">E</xsl:when>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 3) and ($pcount_ < ($ports_per_side_ * 4)))">N</xsl:when>
|
||||
<xsl:otherwise>D</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pdec_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($ports_per_side_ * 0)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($ports_per_side_ * 1)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($ports_per_side_ * 2)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($ports_per_side_ * 3)"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="px_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($BLKD_PRTCHAN_W - $BLKD_IOP_W)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)) - 2)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $G_Total_DrawArea_W)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)))"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="py_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $G_Total_DrawArea_H)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $BLKD_IOP_H)"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="prot_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'I'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'I'))">-90</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'I'))">180</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'I'))">90</xsl:when>
|
||||
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'O'))">180</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'O'))">90</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'O'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'O'))">-90</xsl:when>
|
||||
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="txo_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')">-14</xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')">8</xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="(($BLKD_IOP_W * 2) - 4)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')">8</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="tyo_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_IOP_H * 2) + 4"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')">-2</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="$pdir_ = 'B'">
|
||||
<use x="{$px_}"
|
||||
y="{$py_}"
|
||||
id="{@NAME}"
|
||||
xlink:href="#G_BIPort"
|
||||
transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">
|
||||
<rect
|
||||
x="{$px_}"
|
||||
y="{$py_}"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}" style="stroke:{$COL_IORING}; stroke-width:1"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($pdir_ = 'B')">
|
||||
<use x="{$px_}"
|
||||
y="{$py_}"
|
||||
id="{@NAME}"
|
||||
xlink:href="#G_IOPort"
|
||||
transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
|
||||
</xsl:if>
|
||||
|
||||
<text class="iopnumb"
|
||||
x="{$px_ + $txo_}"
|
||||
y="{$py_ + $tyo_}"><xsl:value-of select="@INDEX"/><tspan class="iopgrp"><xsl:value-of select="@GROUP"/></tspan>
|
||||
</text>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Define_ExtPortsTable">
|
||||
|
||||
<!--
|
||||
<xsl:if test="$oriented_= 'WEST'"><xsl:value-of select="$proc2procX_ - (string-length(@BUSNAME) * 6)"/></xsl:if>
|
||||
<xsl:variable name="max_name_" select="math:max(string-length($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT/@NAME))"/>
|
||||
<xsl:variable name="max_sgnm_" select="math:max(string-length($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT/@SIGNAME))"/>
|
||||
|
||||
<xsl:message>MAX NAME <xsl:value-of select="$max_name_"/></xsl:message>
|
||||
<xsl:message>MAX SIG <xsl:value-of select="$max_sgnm_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="ext_ports_">
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT)">
|
||||
<EXTPORT NAME="__none__" SIGNAME="__none_" NAMELEN="0" SIGLEN="0"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT">
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT">
|
||||
<EXTPORT NAME="{@NAME}" SIGNAME="{@SIGNAME}" NAMELEN="{string-length(@NAME)}" SIGLEN="{string-length(@SIGNAME)}"/>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="max_name_" select="math:max(exsl:node-set($ext_ports_)/EXTPORT/@NAMELEN)"/>
|
||||
<xsl:variable name="max_sign_" select="math:max(exsl:node-set($ext_ports_)/EXTPORT/@SIGLEN)"/>
|
||||
|
||||
<xsl:variable name="h_font_" select="12"/>
|
||||
<xsl:variable name="w_font_" select="12"/>
|
||||
|
||||
<xsl:variable name="w_num_" select="($w_font_ * 5)"/>
|
||||
<xsl:variable name="w_dir_" select="($w_font_ * 3)"/>
|
||||
<xsl:variable name="w_lsbmsb_" select="($w_font_ * 9)"/>
|
||||
<xsl:variable name="w_attr_" select="($w_font_ * 4)"/>
|
||||
<xsl:variable name="w_name_" select="($w_font_ * $max_name_)"/>
|
||||
<xsl:variable name="w_sign_" select="($w_font_ * $max_sign_)"/>
|
||||
|
||||
<xsl:variable name="w_table_" select="($w_num_ + $w_name_ + $w_dir_ + $w_sign_ + $w_attr_)"/>
|
||||
|
||||
<!--
|
||||
<xsl:message>MAX NAME <xsl:value-of select="$max_name_"/></xsl:message>
|
||||
<xsl:message>MAX SIG <xsl:value-of select="$max_sign_"/></xsl:message>
|
||||
|
||||
<xsl:message>W NUM <xsl:value-of select="$w_num_"/></xsl:message>
|
||||
<xsl:message>W DIR <xsl:value-of select="$w_dir_"/></xsl:message>
|
||||
<xsl:message>W NAM <xsl:value-of select="$w_name_"/></xsl:message>
|
||||
<xsl:message>W SIG <xsl:value-of select="$w_sign_"/></xsl:message>
|
||||
<xsl:message>W ATT <xsl:value-of select="$w_attr_"/></xsl:message>
|
||||
|
||||
<xsl:message>W TABLE <xsl:value-of select="$w_table_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<g id="BlkDiagram_ExtPortsTable">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$w_table_}"
|
||||
height="{$h_font_}" style="fill:{$COL_RED}; stroke:none; stroke-width:1"/>
|
||||
</g>
|
||||
|
||||
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- ======================= END MAIN BLOCK =========================== -->
|
||||
|
||||
</xsl:stylesheet>
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,465 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!--
|
||||
<xsl:output method="xml"
|
||||
version="1.0"
|
||||
encoding="UTF-8"
|
||||
indent="yes"
|
||||
doctype-public="-//W3C//DTD SVG Tiny 1.1//EN"
|
||||
doctype-system="http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"/>
|
||||
-->
|
||||
|
||||
|
||||
<!-- ======================= DEF BLOCK =================================== -->
|
||||
<xsl:template name="Define_AllStacks">
|
||||
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/BCLANESPACES/BCLANESPACE[(@EAST < $G_ROOT/EDKSYSTEM/BLKDIAGRAM/@STACK_HORIZ_WIDTH)]">
|
||||
|
||||
<xsl:call-template name="Define_Stack">
|
||||
<xsl:with-param name="iStackIdx" select="@EAST"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_Stack">
|
||||
<xsl:param name="iStackIdx" select="100"/>
|
||||
|
||||
<!-- Define the stack's peripheral shapes-->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and not(@MODCLASS = 'MEMORY_UNIT'))]">
|
||||
|
||||
<xsl:for-each select="MODULE">
|
||||
<xsl:variable name="modInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="modType_" select="$G_ROOT/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="iShapeId" select="../@SHAPE_ID"/>
|
||||
<xsl:with-param name="iHorizIdx" select="../@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="../@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Define the stack's memory shapes-->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@MODCLASS='MEMORY_UNIT'))]">
|
||||
<xsl:call-template name="Define_MemoryUnit">
|
||||
<xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
|
||||
|
||||
<!-- Define the stack's processors-->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/PROCSHAPES/MODULE[@INSTANCE and @BIFS_W and @BIFS_H and (@STACK_HORIZ_INDEX = $iStackIdx)]">
|
||||
<xsl:call-template name="Define_Processor"/>
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Make an inventory of all the things in this processor's stack -->
|
||||
<xsl:variable name="pstackW_">
|
||||
<xsl:call-template name="F_Calc_Stack_Width">
|
||||
<xsl:with-param name="iStackIdx" select="$iStackIdx"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pstackH_">
|
||||
<xsl:call-template name="F_Calc_Stack_Height">
|
||||
<xsl:with-param name="iStackIdx" select="$iStackIdx"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>Proc Stack Height <xsl:value-of select="$pstackH_"/></xsl:message>
|
||||
<xsl:message>Proc Stack Height <xsl:value-of select="$pstackH_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="procW_" select="$BLKD_MOD_W"/>
|
||||
<xsl:variable name="procX_" select="(ceiling($pstackW_ div 2) - ceiling($procW_ div 2))"/>
|
||||
|
||||
<xsl:variable name="sbsGap_" select="($BLKD_PROC2SBS_GAP + $G_Total_SharedBus_H)"/>
|
||||
|
||||
<xsl:variable name="stack_name_">
|
||||
<xsl:call-template name="F_generate_Stack_Name">
|
||||
<xsl:with-param name="iHorizIdx" select="$iStackIdx"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>Horiz index<xsl:value-of select="$stackIdx"/></xsl:message>
|
||||
<xsl:message>Drawing stack <xsl:value-of select="$stack_name_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<!-- Now use all this stuff to draw the stack-->
|
||||
<g id="{$stack_name_}">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
rx="6"
|
||||
ry="6"
|
||||
width = "{$pstackW_}"
|
||||
height= "{$pstackH_}"
|
||||
style="fill:{$COL_BG}; stroke:none;"/>
|
||||
|
||||
|
||||
<!-- First draw the the processor's peripherals-->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/CMPLXSHAPE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
|
||||
<xsl:sort select="@STACK_VERTI_INDEX" data-type="number"/>
|
||||
|
||||
|
||||
<xsl:variable name="shapeW_" select="(@MODS_W * $BLKD_MOD_W)"/>
|
||||
<xsl:variable name="shapeX_" select="(ceiling($pstackW_ div 2) - ceiling($shapeW_ div 2))"/>
|
||||
|
||||
<xsl:variable name="stack_SymName_">
|
||||
<xsl:call-template name="F_generate_Stack_SymbolName">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>Drawing stack peripheral <xsl:value-of select="$stack_SymName_"/></xsl:message>
|
||||
-->
|
||||
<xsl:variable name="shapeY_">
|
||||
<xsl:call-template name="F_Calc_Stack_Shape_Y">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<use x="{$shapeX_}" y="{$shapeY_}" xlink:href="#{$stack_SymName_}"/>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
|
||||
<!-- Then draw the slave buckets for the shared busses that this processor is master to -->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">
|
||||
<xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
|
||||
|
||||
<xsl:variable name="bucketW_" select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
|
||||
<xsl:variable name="bucketX_" select="(ceiling($pstackW_ div 2) - ceiling($bucketW_ div 2))"/>
|
||||
|
||||
<xsl:variable name="bucketY_">
|
||||
<xsl:call-template name="F_Calc_Stack_Shape_Y">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>SBS Bucket Y <xsl:value-of select="$bucketY_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<use x="{$bucketX_}" y="{$bucketY_}" xlink:href="#sbsbucket_{@BUSNAME}"/>
|
||||
|
||||
<xsl:variable name="slavesOfTxt_">SLAVES OF <xsl:value-of select="@BUSNAME"/></xsl:variable>
|
||||
<!--
|
||||
<text class="bkt_label"
|
||||
x="{$bucketX_}"
|
||||
y="{$bucketY_ - 4}"><xsl:value-of select="$slavesOfTxt_"/></text>
|
||||
-->
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="$bucketX_"/>
|
||||
<xsl:with-param name="iY" select="($bucketY_ - 4)"/>
|
||||
<xsl:with-param name="iText" select="$slavesOfTxt_"/>
|
||||
<xsl:with-param name="iClass" select="'bkt_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Then draw the the processor itself -->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
|
||||
<xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
|
||||
|
||||
<xsl:variable name="procY_">
|
||||
<xsl:call-template name="F_Calc_Stack_Shape_Y">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="stack_SymName_">
|
||||
<xsl:call-template name="F_generate_Stack_SymbolName">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<use x="{$procX_}" y="{$procY_}" xlink:href="#{$stack_SymName_}"/>
|
||||
|
||||
|
||||
<!--
|
||||
<xsl:if test = "not(@IS_LIKEPROC)">
|
||||
<text class="ipclass_label"
|
||||
x="{$procX_}"
|
||||
y="{$procY_ - 4}">PROCESSOR</text>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test = "@IS_LIKEPROC = 'TRUE'">
|
||||
|
||||
<text class="ipclass_label"
|
||||
x="{$procX_}"
|
||||
y="{$procY_ - 4}">USER MODULE</text>
|
||||
</xsl:if>
|
||||
|
||||
-->
|
||||
|
||||
<xsl:if test = "not(@IS_LIKEPROC)">
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="$procX_"/>
|
||||
<xsl:with-param name="iY" select="($procY_ - 4)"/>
|
||||
<xsl:with-param name="iText" select="'PROCESSOR'"/>
|
||||
<xsl:with-param name="iClass" select="'ipclass_label'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test = "@IS_LIKEPROC = 'TRUE'">
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="$procX_"/>
|
||||
<xsl:with-param name="iY" select="($procY_ - 4)"/>
|
||||
<xsl:with-param name="iText" select="'USER MODULE'"/>
|
||||
<xsl:with-param name="iClass" select="'ipclass_label'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:for-each>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_Processor">
|
||||
<xsl:param name="iProcInst" select="@INSTANCE"/>
|
||||
<xsl:param name="iModType" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@MODTYPE"/>
|
||||
|
||||
<xsl:variable name="label_y_">
|
||||
<xsl:value-of select="$BLKD_MOD_LANE_H"/>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>The proctype is <xsl:value-of select="$procType"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="procH_" select="(($BLKD_MOD_LANE_H * 2) + (($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIFS_H) + ($BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
|
||||
<xsl:variable name="procW_" select="(($BLKD_MOD_LANE_W * 2) + (($BLKD_BIF_W * @BIFS_W) + $BLKD_MOD_BIF_GAP_H))"/>
|
||||
|
||||
<xsl:variable name="procColor_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($iModType,'microblaze')"><xsl:value-of select="$COL_PROC_BG_MB"/></xsl:when>
|
||||
<xsl:when test="contains($iModType,'ppc')"><xsl:value-of select="$COL_PROC_BG_PP"/></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$COL_PROC_BG_USR"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>The proc color is <xsl:value-of select="$procColor"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="procName_">
|
||||
<xsl:call-template name="F_generate_Stack_SymbolName">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>The proc name is <xsl:value-of select="$procName_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<g id="{$procName_}">
|
||||
|
||||
<rect x="0"
|
||||
y="0"
|
||||
rx="6"
|
||||
ry="6"
|
||||
width = "{$procW_}"
|
||||
height= "{$procH_}"
|
||||
style="fill:{$procColor_}; stroke:{$COL_WHITE}; stroke-width:2"/>
|
||||
|
||||
|
||||
<rect x="{ceiling($procW_ div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
|
||||
y="{$BLKD_MOD_LANE_H}"
|
||||
rx="3"
|
||||
ry="3"
|
||||
width= "{$BLKD_MOD_LABEL_W}"
|
||||
height="{$BLKD_MOD_LABEL_H}"
|
||||
style="fill:{$COL_WHITE}; stroke:none;"/>
|
||||
<!--
|
||||
<text class="bciptype"
|
||||
x="{ceiling($procW_ div 2)}"
|
||||
y="{$BLKD_MOD_LANE_H + 8}">
|
||||
<xsl:value-of select="$iModType"/>
|
||||
</text>
|
||||
|
||||
<text class="bciplabel"
|
||||
x="{ceiling($procW_ div 2)}"
|
||||
y="{$BLKD_MOD_LANE_H + 16}">
|
||||
<xsl:value-of select="$iProcInst"/>
|
||||
</text>
|
||||
-->
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="ceiling($procW_ div 2)"/>
|
||||
<xsl:with-param name="iY" select="($BLKD_MOD_LANE_H + 8)"/>
|
||||
<xsl:with-param name="iText" select="$iModType"/>
|
||||
<xsl:with-param name="iClass" select="'bc_iptype'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="ceiling($procW_ div 2)"/>
|
||||
<xsl:with-param name="iY" select="($BLKD_MOD_LANE_H + 16)"/>
|
||||
<xsl:with-param name="iText" select="$iProcInst"/>
|
||||
<xsl:with-param name="iClass" select="'bc_ipinst'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
|
||||
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@GROUP">
|
||||
|
||||
<rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
|
||||
y="{$BLKD_MOD_LANE_H + $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="{$BLKD_MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) + 12}">
|
||||
<xsl:value-of select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@GROUP"/>
|
||||
</text>
|
||||
-->
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="ceiling($BLKD_MOD_W div 2)"/>
|
||||
<xsl:with-param name="iY" select="($BLKD_MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) + 12)"/>
|
||||
<xsl:with-param name="iText" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@GROUP"/>
|
||||
<xsl:with-param name="iClass" select="'iogrp_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/BUSINTERFACE[(@BIF_X and @BIF_Y)]">
|
||||
|
||||
<xsl:variable name="bifBusStd_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@BUSSTD">
|
||||
<xsl:value-of select="@BUSSTD"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="'TRS'"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bifBusColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$bifBusStd_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="bifName_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(@NAME) <= 5">
|
||||
<xsl:value-of select="@NAME"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="substring(@NAME,0,5)"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bif_x_" select="(( $BLKD_BIF_W * @BIF_X) + ($BLKD_MOD_BIF_GAP_H * @BIF_X) + ($BLKD_MOD_LANE_W * 1))"/>
|
||||
<xsl:variable name="bif_y_" select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
|
||||
|
||||
<xsl:variable name="horz_line_y_" select="($bif_y_ + ceiling($BLKD_BIFC_H div 2))"/>
|
||||
|
||||
<xsl:variable name="horz_line_x1_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@BIF_X = '0'">0</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="($BLKD_MOD_W - $BLKD_MOD_LANE_W)"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="horz_line_x2_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@BIF_X = '0'"><xsl:value-of select="$BLKD_MOD_LANE_W"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$BLKD_MOD_W + 1"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<line x1="{$horz_line_x1_}"
|
||||
y1="{$horz_line_y_ - 2}"
|
||||
x2="{$horz_line_x2_}"
|
||||
y2="{$horz_line_y_ - 2}"
|
||||
style="stroke:{$bifBusColor_};stroke-width:1"/>
|
||||
|
||||
<use x="{$bif_x_}" y="{$bif_y_}" xlink:href="#{$bifBusStd_}_BifLabel"/>
|
||||
|
||||
<!--
|
||||
<text class="bif_label"
|
||||
x="{$bif_x_ + ceiling($BIF_W div 2)}"
|
||||
y="{$bif_y_ + ceiling($BIF_H div 2) + 3}">
|
||||
<xsl:value-of select="$bifName_"/>
|
||||
</text>
|
||||
-->
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="($bif_x_ + ceiling($BIF_W div 2))"/>
|
||||
<xsl:with-param name="iY" select="($bif_y_ + ceiling($BIF_H div 2) + 3)"/>
|
||||
<xsl:with-param name="iText" select="$bifName_"/>
|
||||
<xsl:with-param name="iClass" select="'bif_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:variable name="intcIdx_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/INTERRUPTINFO/@INTC_INDEX">
|
||||
<xsl:value-of select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/INTERRUPTINFO/@INTC_INDEX"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>"_no_interrupt_cntlr_"</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message> The intc index should <xsl:value-of select="$interrupt_cntlr_"/></xsl:message>
|
||||
<xsl:message> The intc index is <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTC_INDEX"/></xsl:message>
|
||||
-->
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(INTERRUPTINFO[(@INTC_INDEX = $intcIdx_)])]">
|
||||
|
||||
<xsl:variable name="intrColor_">
|
||||
<xsl:call-template name="F_IntcIdx2RGB">
|
||||
<xsl:with-param name="iIntcIdx" select="$intcIdx_"/>
|
||||
<!--
|
||||
<xsl:with-param name="iIntcIdx" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/INTERRUPTINFO/@INTC_INDEX"/>
|
||||
-->
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="F_draw_InterruptedProc">
|
||||
<xsl:with-param name="iIntr_X" select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
|
||||
<xsl:with-param name="iIntr_Y" select="3"/>
|
||||
<xsl:with-param name="iIntr_COL" select="$intrColor_"/>
|
||||
<xsl:with-param name="iIntr_IDX" select="$intcIdx_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -0,0 +1,271 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!--
|
||||
<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"/>
|
||||
-->
|
||||
|
||||
<!-- ======================= DEF BLOCK =================================== -->
|
||||
|
||||
<xsl:template name="Define_ConnectedBifTypes">
|
||||
|
||||
<xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
|
||||
<xsl:variable name="busStd_" select="@BUSSTD"/>
|
||||
<xsl:variable name="psfStd_" select="@BUSSTD_PSF"/>
|
||||
<xsl:for-each select="$G_SYS_MODS">
|
||||
<xsl:variable name="bif_by_busStd_" select="key('G_MAP_ALL_BIFS',$busStd_)[((@IS_INSTANTIATED = 'TRUE') or (@IS_INMHS = 'TRUE'))]"/>
|
||||
<xsl:variable name="num_of_busStd_" select="count($bif_by_busStd_)"/>
|
||||
|
||||
<xsl:variable name="bif_by_psfStd_" select="key('G_MAP_ALL_BIFS',$psfStd_)[((@IS_INSTANTIATED = 'TRUE') or (@IS_INMHS = 'TRUE'))]"/>
|
||||
<xsl:variable name="num_of_psfStd_" select="count($bif_by_psfStd_)"/>
|
||||
<!--
|
||||
<xsl:message>DEBUG : <xsl:value-of select="$busStd_"/> : <xsl:value-of select="$num_of_busStd_"/> : <xsl:value-of select="$num_of_psfStd_"/></xsl:message>
|
||||
<xsl:variable name="bif_by_busStd_" select="key('G_MAP_ALL_BIFS',$busStd_)[(@IS_INSTANTIATED = 'TRUE')]"/>
|
||||
<xsl:variable name="num_of_busStd_" select="count($bif_by_busStd_)"/>
|
||||
-->
|
||||
<xsl:if test="(($num_of_busStd_ > 0) or ($num_of_psfStd_ > 0))">
|
||||
<xsl:if test="($num_of_busStd_ > 0)">
|
||||
<xsl:call-template name="Define_BifLabel">
|
||||
<xsl:with-param name="iBusStd" select="$busStd_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:if test="($num_of_psfStd_ > 0)">
|
||||
<xsl:call-template name="Define_BifLabel">
|
||||
<xsl:with-param name="iBusStd" select="$psfStd_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="exsl:node-set($G_BIFTYPES)/BIFTYPE">
|
||||
<xsl:variable name="bifType_" select="@TYPE"/>
|
||||
|
||||
<xsl:variable name="num_of_bifType_" select="count($bif_by_busStd_[(@TYPE = $bifType_)])"/>
|
||||
<!--
|
||||
<xsl:message>DEBUG : <xsl:value-of select="$bifType_"/> : <xsl:value-of select="$num_of_bifType_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:if test="($num_of_bifType_ > 0)">
|
||||
<xsl:if test="($num_of_busStd_ > 0)">
|
||||
<xsl:call-template name="Define_BifTypeConnector">
|
||||
<xsl:with-param name="iBusStd" select="$busStd_"/>
|
||||
<xsl:with-param name="iBifType" select="$bifType_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:if test="($num_of_psfStd_ > 0)">
|
||||
<xsl:call-template name="Define_BifTypeConnector">
|
||||
<xsl:with-param name="iBusStd" select="$busStd_"/>
|
||||
<xsl:with-param name="iBifType" select="$bifType_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:call-template name="Define_BifLabel">
|
||||
<xsl:with-param name="iBusStd" select="'KEY'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:for-each select="exsl:node-set($G_BIFTYPES)/BIFTYPE">
|
||||
<xsl:variable name="bifType_" select="@TYPE"/>
|
||||
|
||||
<xsl:call-template name="Define_BifTypeConnector">
|
||||
<xsl:with-param name="iBusStd" select="'KEY'"/>
|
||||
<xsl:with-param name="iBifType" select="$bifType_"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Define_BifLabel">
|
||||
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<g id="{$iBusStd}_BifLabel">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
rx="3"
|
||||
ry="3"
|
||||
width= "{$BIF_W}"
|
||||
height="{$BIF_H}"
|
||||
style="fill:{$busStdColor_}; stroke:black; stroke-width:1"/>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_BifTypeConnector">
|
||||
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
<xsl:param name="iBifType" select="'USER'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="busStdColor_lt_">
|
||||
<xsl:call-template name="F_BusStd2RGB_LT">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bifc_wi_" select="ceiling($BIFC_W div 3)"/>
|
||||
<xsl:variable name="bifc_hi_" select="ceiling($BIFC_H div 3)"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="$iBifType = 'SLAVE'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2) + 0.5}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_Wi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'MASTER'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
width= "{$BIFC_W}"
|
||||
height="{$BIFC_H}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<rect x="{$BIFC_dx + 0.5}"
|
||||
y="{$BIFC_dy}"
|
||||
width= "{$BIFC_Wi}"
|
||||
height="{$BIFC_Hi}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'INITIATOR'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
width= "{$BIFC_W}"
|
||||
height="{$BIFC_H}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<rect x="{$BIFC_dx + 0.5}"
|
||||
y="{$BIFC_dy}"
|
||||
width= "{$BIFC_Wi}"
|
||||
height="{$BIFC_Hi}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'TARGET'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2) + 0.5}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_Wi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'MASTER_SLAVE'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2) + 0.5}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_Wi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
<rect
|
||||
x="0"
|
||||
y="{ceiling($BIFC_H div 2)}"
|
||||
width= "{$BIFC_W}"
|
||||
height="{ceiling($BIFC_H div 2)}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<rect
|
||||
x="{$BIFC_dx + 0.5}"
|
||||
y="{ceiling($BIFC_H div 2)}"
|
||||
width= "{$BIFC_Wi}"
|
||||
height="{ceiling($BIFC_Hi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'MONITOR'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<rect
|
||||
x="0"
|
||||
y="0.5"
|
||||
width= "{$BIFC_W}"
|
||||
height="{ceiling($BIFC_Hi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
<rect
|
||||
x="0"
|
||||
y="{ceiling($BIFC_H div 2) + 4}"
|
||||
width= "{$BIFC_W}"
|
||||
height="{ceiling($BIFC_Hi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'USER'">
|
||||
<g id="{$iBusStd}_busconn_USER">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2) + 0.5}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_Wi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$COL_WHITE}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2) + 0.5}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_Wi div 2)}"
|
||||
style="fill:{$COL_WHITE}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
Loading…
Add table
Add a link
Reference in a new issue