Remove MicroBlaze directory.
parent
52a9e4ecd8
commit
659be53a3e
@ -1,180 +0,0 @@
|
||||
<?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>
|
@ -1,150 +0,0 @@
|
||||
<?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>
|
@ -1,168 +0,0 @@
|
||||
<?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>
|
@ -1,584 +0,0 @@
|
||||
<?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
@ -1,546 +0,0 @@
|
||||
<?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
@ -1,115 +0,0 @@
|
||||
<?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>
|
@ -1,495 +0,0 @@
|
||||
<?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
@ -1,465 +0,0 @@
|
||||
<?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>
|
@ -1,271 +0,0 @@
|
||||
<?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>
|
@ -1 +0,0 @@
|
||||
-p xc6slx45tfgg484-3
|
@ -1,263 +0,0 @@
|
||||
<?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 MODBIFS "MODULE/BUSINTERFACES/BUSINTERFACE">
|
||||
<!ENTITY ALLBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<!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'))]">
|
||||
|
||||
<!ENTITY MODPORTS "MODULE/PORTS/PORT">
|
||||
<!ENTITY ALLPORTS "&MODPORTS;[ (not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<!ENTITY NDFPORTS "&MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (not(@BUS) and not(@IOS)))]">
|
||||
<!ENTITY DEFPORTS "&MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@BUS) or (@IOS)))]">
|
||||
]>
|
||||
|
||||
<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="/"/>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
EDK SYSTEM (EDWARD) Globals.
|
||||
======================================================
|
||||
-->
|
||||
<xsl:variable name="G_SYS_EVAL">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not($P_SYSTEM_XML = '__UNDEF__')"><xsl:text>document($P_SYSTEM_XML)</xsl:text></xsl:when>
|
||||
<xsl:otherwise><xsl:text>/</xsl:text></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_SYS_DOC" select="dyn:evaluate($G_SYS_EVAL)"/>
|
||||
<xsl:variable name="G_SYS" select="$G_SYS_DOC/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"/>
|
||||
|
||||
<xsl:variable name="COL_FOCUSED_MASTER" select="'AAAAFF'"/>
|
||||
<xsl:variable name="COL_BG_OUTOF_FOCUS_CONNECTIONS" select="'AA7711'"/>
|
||||
|
||||
<!-- 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="&ALLBIFS;" use="../../@INSTANCE"/>
|
||||
|
||||
<xsl:key name="G_MAP_ALL_BIFS_BY_BUS" match="&ALLBIFS;" use="@BUSNAME"/>
|
||||
<!--
|
||||
-->
|
||||
|
||||
<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="&ALLPORTS;" use="../../@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_DEF_PORTS" match="&DEFPORTS;" use="../../@INSTANCE"/> <!-- Default ports -->
|
||||
<xsl:key name="G_MAP_NDF_PORTS" match="&NDFPORTS;" use="../../@INSTANCE"/> <!-- Non Default ports -->
|
||||
|
||||
<!--
|
||||
<xsl:key name="G_MAP_MASTER_BIFS" match="&MSTBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_MASTER_BIFS" match="MODULE[not(@MODCLASS ='BUS')]/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'MASTER')]" use="../../@INSTANCE.@NAME"/>
|
||||
<xsl:key name="G_MAP_BUSSES_BY_INSTANCE" match="MODULE[(@MODCLASS ='BUS')]" use="@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_XB_BUSSES" match="MODULE[(@MODCASS ='BUS')and (@IS_CROSSBAR)]" use="@INSTANCE"/>
|
||||
-->
|
||||
<!--
|
||||
======================================================
|
||||
Groups.xml (BLOCKS) Globals
|
||||
======================================================
|
||||
-->
|
||||
<xsl:variable name="G_GRP_EVAL">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not($P_GROUPS_XML = '__UNDEF__')"><xsl:text>document($P_GROUPS_XML)</xsl:text></xsl:when>
|
||||
<xsl:otherwise><xsl:text>/</xsl:text></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_GRPS_DOC" select="dyn:evaluate($G_GRP_EVAL)"/>
|
||||
<xsl:variable name="G_GROUPS" select="$G_GRPS_DOC/BLOCKS"/>
|
||||
|
||||
<xsl:variable name="G_NUM_OF_PROCS" select="count($G_SYS/MODULES/MODULE[(@MODCLASS = 'PROCESSOR')])"/>
|
||||
<xsl:variable name="G_NUM_OF_PROCS_W_ADDRS" select="count($G_SYS/MODULES/MODULE[(@MODCLASS = 'PROCESSOR') and MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]])"/>
|
||||
|
||||
<xsl:variable name="G_FOCUSED_SCOPE">
|
||||
<xsl:choose>
|
||||
|
||||
<!-- FOCUSING ON SPECIFIC SELECTIONS-->
|
||||
<xsl:when test="$G_ROOT/SAV/SELECTION">
|
||||
</xsl:when>
|
||||
|
||||
<!-- FOCUSING ON PROCESSOR -->
|
||||
<xsl:when test="$G_ROOT/SAV/MASTER">
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>FOCUSED MASTERS SPECIFIED</xsl:message></xsl:if>
|
||||
<xsl:for-each select="$G_ROOT/SAV/MASTER">
|
||||
<xsl:variable name="m_inst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="m_mod_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $m_inst_)]"/>
|
||||
<xsl:for-each select="$m_mod_/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and not(@BUSNAME = '__NOC__') and ((@TYPE = 'MASTER') or (@TYPE = 'SLAVE') or (@TYPE = 'INITIATOR') or (@TYPE = 'TARGET'))]">
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED MASTER BIF <xsl:value-of select="$m_inst_"/>.<xsl:value-of select="@NAME"/> = <xsl:value-of select="@BUSNAME"/></xsl:message></xsl:if>
|
||||
<xsl:variable name="b_bus_" select="@BUSNAME"/>
|
||||
<BUS NAME="{@BUSNAME}" BUSSTD="{@BUSSTD}"/>
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@INSTANCE = $m_inst_) and (@MODCLASS = 'BUS_BRIDGE'))]/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'SLAVE') and (@BUSNAME = $b_bus_)]">
|
||||
<xsl:variable name="b_inst_" select="../../@INSTANCE"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="MASTERS/MASTER">
|
||||
<xsl:for-each select="MASTERS/MASTER">
|
||||
<xsl:variable name="sm_inst_" select="@INSTANCE"/>
|
||||
<xsl:if test="count($G_ROOT/SAV/MASTER[(@INSTANCE = $sm_inst_)]) > 0">
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL BRIDGE <xsl:value-of select="$b_inst_"/></xsl:message></xsl:if>
|
||||
<PERIPHERAL NAME="{$b_inst_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL BRIDGE <xsl:value-of select="$b_inst_"/></xsl:message></xsl:if>
|
||||
<PERIPHERAL NAME="{$b_inst_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
<xsl:for-each select="$m_mod_/PERIPHERALS/PERIPHERAL">
|
||||
<xsl:variable name="p_id_" select="@INSTANCE"/>
|
||||
<xsl:variable name="p_mod_" select="$G_SYS_MODS/MODULE[@INSTANCE = $p_id_]"/>
|
||||
<PERIPHERAL NAME="{@INSTANCE}"/>
|
||||
<xsl:variable name="p_mr_cnt_" select="count($m_mod_/MEMORYMAP/MEMRANGE[(@INSTANCE = $p_id_)])"/>
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL <xsl:value-of select="$p_id_"/> has <xsl:value-of select="$p_mr_cnt_"/> memory ranges</xsl:message></xsl:if>
|
||||
<xsl:for-each select="$m_mod_/MEMORYMAP/MEMRANGE[(@INSTANCE = $p_id_)]/ACCESSROUTE/ROUTEPNT">
|
||||
<xsl:variable name="b_id_" select="@INSTANCE"/>
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[((@INSTANCE = $b_id_) and (@MODCLASS = 'BUS'))]">
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL BUS <xsl:value-of select="@INSTANCE"/></xsl:message></xsl:if>
|
||||
<BUS NAME="{@INSTANCE}" BUSSTD="{@BUSSTD}"/>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
|
||||
<!-- FOCUSING ON BUS -->
|
||||
<xsl:when test="$G_ROOT/SAV/BUS">
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>FOCUSED BUSSES SPECIFIED</xsl:message></xsl:if>
|
||||
<xsl:for-each select="$G_ROOT/SAV/BUS">
|
||||
<xsl:variable name="m_inst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="m_mod_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $m_inst_)]"/>
|
||||
<xsl:variable name="m_bstd_" select="$m_mod_/@BUSSTD"/>
|
||||
<BUS NAME="{$m_inst_}" BUSSTD="{$m_bstd_}"/>
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED BUS <xsl:value-of select="$m_inst_"/> <xsl:value-of select="$m_bstd_"/></xsl:message></xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_HAVE_XB_BUSSES">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(count($G_SYS_MODS/MODULE[((@MODCLASS = 'BUS') and (@IS_CROSSBAR = 'TRUE'))]) > 0)">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:template name="F_ModClass_To_IpClassification">
|
||||
<xsl:param name="iModClass" select="'NONE'"/>
|
||||
<xsl:param name="iBusStd" select="'NONE'"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iModClass = 'BUS'"><xsl:value-of select="$iBusStd"/> Bus</xsl:when>
|
||||
<xsl:when test="$iModClass = 'DEBUG'">Debug</xsl:when>
|
||||
<xsl:when test="$iModClass = 'MEMORY'">Memory</xsl:when>
|
||||
<xsl:when test="$iModClass = 'MEMORY_CNTLR'">Memory Controller</xsl:when>
|
||||
<xsl:when test="$iModClass = 'INTERRUPT_CNTLR'">Interrupt Controller</xsl:when>
|
||||
<xsl:when test="$iModClass = 'PERIPHERAL'">Peripheral</xsl:when>
|
||||
<xsl:when test="$iModClass = 'PROCESSOR'">Processor</xsl:when>
|
||||
<xsl:when test="$iModClass = 'BUS_BRIDGE'">Bus Bridge</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$iModClass"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_Connection_To_AXI_SLAVE">
|
||||
<xsl:param name="iNameParam" select="''"/>
|
||||
<xsl:param name="iModuleRefParam" select="''"/>
|
||||
|
||||
<xsl:variable name="FilName" select="$iModuleRefParam/PARAMETERS/PARAMETER[@NAME=concat('C_', $iNameParam, '_MASTERS')]/@VALUE"/>
|
||||
<!-- <xsl:message>FIL NAME WAS <xsl:value-of select="$FilName"/></xsl:message> -->
|
||||
<xsl:value-of select="$FilName"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_IS_Interface_External">
|
||||
<xsl:param name="iInstRef"/> <!-- Instance reference -->
|
||||
<xsl:param name="iIntfRef"/> <!-- Interface reference -->
|
||||
<xsl:variable name="intfName_" select="$iIntfRef/@NAME"/>
|
||||
<xsl:variable name="instName_" select="$iInstRef/@INSTANCE"/>
|
||||
|
||||
<!-- <xsl:message>NAME 1 <xsl:value-of select="$expName1_"/></xsl:message>-->
|
||||
<!-- <xsl:message>NAME 2 <xsl:value-of select="$expName2_"/></xsl:message>-->
|
||||
<!--
|
||||
<xsl:variable name="expName1_" select="concat($instName_,'_',$intfName_,'_',@PHYSICAL,'_pin')"/>
|
||||
<xsl:variable name="expName2_" select="concat($instName_,'_',@PHYSICAL,'_pin')"/>
|
||||
-->
|
||||
|
||||
<!-- Store the number of physical ports connected externals in a variable -->
|
||||
|
||||
<xsl:variable name="connected_externals_">
|
||||
<xsl:for-each select="$iIntfRef/PORTMAPS/PORTMAP">
|
||||
<xsl:variable name="portName_" select="@PHYSICAL"/>
|
||||
<xsl:if test="$iInstRef/PORTS/PORT[(@NAME = $portName_)]">
|
||||
<xsl:variable name="portNet_" select="$iInstRef/PORTS/PORT[(@NAME = $portName_)]/@SIGNAME"/>
|
||||
<xsl:if test="$G_SYS_EXPS/PORT[(@SIGNAME = $portNet_)]">
|
||||
<EXTP NAME="{@PHYSICAL}"/>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message><xsl:value-of select="$instName_"/>.<xsl:value-of select="$intfName_"/> has <xsl:value-of select="count(exsl:node-set($connected_externals_)/EXTP)"/> connected externals.</xsl:message>
|
||||
-->
|
||||
<xsl:choose>
|
||||
<xsl:when test="(count(exsl:node-set($connected_externals_)/EXTP) > 0)">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
@ -1,245 +0,0 @@
|
||||
<?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;' ">
|
||||
]>
|
||||
|
||||
<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">
|
||||
|
||||
<xsl:include href="edw2xtl_sav_globals.xsl"/>
|
||||
|
||||
<xsl:include href="edw2xtl_sav_view_addr.xsl"/>
|
||||
<xsl:include href="edw2xtl_sav_view_busif.xsl"/>
|
||||
<xsl:include href="edw2xtl_sav_view_port.xsl"/>
|
||||
<xsl:include href="edw2xtl_sav_view_groups.xsl"/>
|
||||
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||
|
||||
<xsl:param name="P_SYSTEM_XML" select= "'__UNDEF__'"/>
|
||||
<xsl:param name="P_GROUPS_XML" select= "'__UNDEF__'"/>
|
||||
|
||||
<xsl:param name="G_DEBUG" select="'FALSE'"/>
|
||||
<xsl:param name="G_ADD_CHOICES" select="'TRUE'"/>
|
||||
|
||||
<!--
|
||||
<xsl:param name="P_VIEW" select="'__UNDEF__'"/>
|
||||
<xsl:param name="P_MODE" select="'__UNDEF__'"/>
|
||||
<xsl:param name="P_SCOPE" select="'__UNDEF__'"/>
|
||||
-->
|
||||
|
||||
|
||||
|
||||
<!-- MAIN TEMPLATE -->
|
||||
|
||||
<xsl:template match="SAV[@VIEW]">
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>SAV VIEW <xsl:value-of select="@VIEW"/></xsl:message>
|
||||
<xsl:message>SAV MODE <xsl:value-of select="@MODE"/></xsl:message>
|
||||
<xsl:message>SAV SCOPE <xsl:value-of select="@SCOPE"/></xsl:message>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@VIEW = 'PORT') and not(@VIEW = 'BUSINTERFACE') and not(@VIEW = 'ADDRESS')">
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED VIEW <xsl:value-of select="@VIEW"/></xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(@MODE and not(@MODE = 'FLAT') and not(@MODE = 'TREE') and not(@MODE = 'GROUPS'))">
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED MODE <xsl:value-of select="@MODE"/></xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(@SCOPE and not(@SCOPE = 'FULL') and not(@SCOPE= 'FOCUS'))">
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED SCOPE <xsl:value-of select="@SCOPE"/></xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$P_SYSTEM_XML ='__UNDEF__'">
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: SYSTEM XML UNDEFINED</xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="not($G_SYS)" >
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: EDKSYSTEM MISSING in SYSTEM XML <xsl:value-of select="$P_SYSTEM_XML"/></xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($P_GROUPS_XML ='__UNDEF__') and (@MODE = 'GROUPS')" >
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: GROUP XML UNDEFINED for FOCUS</xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($P_GROUPS_XML ='__UNDEF__') and (@SCOPE = 'FOCUS') and (@VIEW = 'BUSINTERFACE')" >
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: GROUP XML UNDEFINED for SCOPE</xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>SYSTEM XML <xsl:value-of select="$P_SYSTEM_XML"/></xsl:message>
|
||||
<xsl:message>GROUPS XML <xsl:value-of select="$P_GROUPS_XML"/></xsl:message>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:variable name="use_mode_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@MODE = 'GROUPS'">TREE</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="@MODE"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="num_procs_focused_on_" select="count(MASTER)"/>
|
||||
<xsl:variable name="num_buses_focused_on_" select="count(BUS)"/>
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:attribute name="CLASS">PROJECT</xsl:attribute>
|
||||
<xsl:attribute name="VIEW_ID"><xsl:value-of select="@VIEW"/></xsl:attribute>
|
||||
<xsl:attribute name="DISPLAYMODE"><xsl:value-of select="$use_mode_"/></xsl:attribute>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<!-- ADDRESS TAB VIEW -->
|
||||
<xsl:when test="(@VIEW = 'ADDRESS')">
|
||||
<xsl:call-template name="WRITE_VIEW_ADDRESS"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- BIF TAB VIEWS -->
|
||||
<xsl:when test="((@VIEW ='BUSINTERFACE') and (@SCOPE = 'FOCUS') and ($num_procs_focused_on_ > 0))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_FOCUS_ON_PROCS"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- BIF TAB VIEWS -->
|
||||
<xsl:when test="((@VIEW ='BUSINTERFACE') and (@SCOPE = 'FOCUS') and ($num_buses_focused_on_ > 0))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_FOCUS_ON_BUSES"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@VIEW ='BUSINTERFACE') and (@MODE = 'TREE') and not(@SCOPE))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_TREE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@VIEW = 'BUSINTERFACE') and (@MODE = 'FLAT') and not(@SCOPE))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_FLAT"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@VIEW = 'BUSINTERFACE') and (@MODE = 'GROUPS'))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
|
||||
<xsl:with-param name="iModules" select="$G_BLOCKS"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
|
||||
|
||||
<!-- PORT TAB VIEWS -->
|
||||
<xsl:when test="((@VIEW ='PORT') and (@SCOPE = 'FOCUS'))">
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_FOCUSED"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Generate XTeller panel data for Ports using hierarchy -->
|
||||
<xsl:when test="((@VIEW = 'PORT') and (@MODE = 'TREE'))">
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_TREE"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Generate XTeller panel data for Ports without hierarchy, (flat view) -->
|
||||
<xsl:when test="((@VIEW='PORT') and (@MODE = 'FLAT'))">
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_FLAT"/>
|
||||
</xsl:when>
|
||||
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:message>ERROR during SAV XTeller generation with panel <xsl:value-of select="@VIEW"/> and display mode <xsl:value-of select="@MODE"/></xsl:message>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="EDKSYSTEM">
|
||||
|
||||
<!--
|
||||
<xsl:message>EDW VERSION <xsl:value-of select="$G_EDWVER"/></xsl:message>
|
||||
<xsl:message>VIEW <xsl:value-of select="$VIEW"/></xsl:message>
|
||||
<xsl:message>MODE <xsl:value-of select="$MODE"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="by_interface_">
|
||||
<xsl:choose>
|
||||
<!--
|
||||
Show interfaces or not
|
||||
-->
|
||||
<xsl:when test="(($SHOW_BUSIF ='TRUE') or ($SHOW_IOIF ='TRUE'))">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>VIEW <xsl:value-of select="$VIEW"/></xsl:message>
|
||||
<xsl:message>MODE <xsl:value-of select="$MODE"/></xsl:message>
|
||||
<xsl:message>BY INTERFACE <xsl:value-of select="$by_interface_"/></xsl:message>
|
||||
-->
|
||||
<xsl:variable name="displayMode_">
|
||||
<xsl:choose>
|
||||
<!--
|
||||
Hard code view to view for address panel,
|
||||
always show view in what was formerly
|
||||
multiprocessor view. See below.
|
||||
|
||||
<xsl:when test="(($G_NUM_OF_PROCS > 1) and ($VIEW='ADDRESS'))">TREE</xsl:when>
|
||||
<xsl:when test="(($G_NUM_OF_PROCS <= 1) and ($VIEW='ADDRESS'))">FLAT</xsl:when>
|
||||
-->
|
||||
<xsl:when test="($VIEW='ADDRESS')">TREE</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$MODE"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<SET CLASS="PROJECT" VIEW= "{$VIEW}" MODE="{$displayMode_}">
|
||||
<xsl:choose>
|
||||
|
||||
<!-- Generate XTeller panel data for Bus Interfaces using hierarchy -->
|
||||
<xsl:when test="(($VIEW='BUSINTERFACE') and (not($MODE) or ($MODE = 'TREE')))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_TREE"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Generate XTeller panel data for Bus Interfaces without hierarchy, (flat view) -->
|
||||
<xsl:when test="(($VIEW='BUSINTERFACE') and ($MODE = 'FLAT'))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_FLAT"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Generate XTeller panel data for Ports using hierarchy -->
|
||||
<xsl:when test="(($VIEW='PORT') and (not($MODE) or ($MODE = 'TREE')))">
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_TREE"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Generate XTeller panel data for Ports without hierarchy, (flat view) -->
|
||||
<xsl:when test="(($VIEW='PORT') and ($MODE = 'FLAT'))">
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_FLAT"/>
|
||||
</xsl:when>
|
||||
|
||||
<!--
|
||||
Hard code display of the address panel to always the the same.
|
||||
No more tree or flat mode, always show address panel
|
||||
in what was formerly the multiprocessor view.
|
||||
-->
|
||||
<xsl:when test="($VIEW='ADDRESS')">
|
||||
<xsl:call-template name="WRITE_VIEW_ADDRESS"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:message>ERROR during SAV XTeller generation with panel <xsl:value-of select="$VIEW"/> and display mode <xsl:value-of select="$MODE"/></xsl:message>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</SET>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
@ -1,894 +0,0 @@
|
||||
<?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;' ">
|
||||
]>
|
||||
|
||||
<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="exsl dyn math xlink">
|
||||
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||
|
||||
<!--
|
||||
================================================================================
|
||||
Generate XTeller for ADDRESSES
|
||||
================================================================================
|
||||
-->
|
||||
|
||||
<xsl:template name="WRITE_VIEW_ADDRESS">
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[((@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ACCESSROUTE)]))]">
|
||||
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="procInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="procMod_" select="self::node()"/>
|
||||
<xsl:variable name="procModType" select="@MODTYPE"/>
|
||||
<xsl:variable name="procModClass_" select="@MODCLASS"/>
|
||||
<xsl:variable name="procInstHdrVal_"><xsl:value-of select="$procInst_"/>'s Address Map</xsl:variable>
|
||||
<xsl:variable name="procInstRowIdx_" select="position() - 1"/>
|
||||
|
||||
<!-- <SET ID="{$procInst_}" CLASS="MODULE" ROW_INDEX="{$procInstRowIdx_}"> -->
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:attribute name="ID"><xsl:value-of select="$procInst_"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
|
||||
<xsl:attribute name="ROW_INDEX"><xsl:value-of select="$procInstRowIdx_"/></xsl:attribute>
|
||||
|
||||
<!-- <VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$procInstHdrVal_}"/> -->
|
||||
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="NAME">INSTANCE</xsl:attribute>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$procInstHdrVal_"/></xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Instance</xsl:attribute>
|
||||
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:for-each select="$procMod_/MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@MEMTYPE = 'BRIDGE')))]">
|
||||
<xsl:sort data-type="number" select="@BASEDECIMAL" order="ascending"/>
|
||||
|
||||
<xsl:variable name="addr_id_"><xsl:value-of select="@BASENAME"/>:<xsl:value-of select="@HIGHNAME"/></xsl:variable>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
|
||||
<!--
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>ADDRESS ID <xsl:value-of select="$addr_id_"/></xsl:message>
|
||||
</xsl:if>
|
||||
-->
|
||||
|
||||
<xsl:variable name="set_id_">
|
||||
<xsl:if test="(@INSTANCE)">
|
||||
<xsl:value-of select="$procInst_"/>.<xsl:value-of select="@INSTANCE"/>:<xsl:value-of select="$addr_id_"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@INSTANCE)">
|
||||
<xsl:value-of select="$procInst_"/>:<xsl:value-of select="$addr_id_"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="procAddrRowIdx_" select="position() - 1"/>
|
||||
<SET ID="{$set_id_}" CLASS="ADDRESS" ROW_INDEX="{$procAddrRowIdx_}">
|
||||
|
||||
<xsl:if test="(@INSTANCE)">
|
||||
<xsl:variable name="periInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="periMod_" select="key('G_MAP_MODULES', $periInst_)"/>
|
||||
<!--
|
||||
<xsl:variable name="subInstance_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $instance_)]"/>
|
||||
<xsl:message>Count memrange slaves <xsl:value-of select="count($modMemMapSlvs_)"/> </xsl:message>
|
||||
<xsl:message>Count mod valid bifs <xsl:value-of select="count($modValidBifs_)"/> </xsl:message>
|
||||
-->
|
||||
|
||||
|
||||
<xsl:variable name="periModType_" select="$periMod_/@MODTYPE"/>
|
||||
<xsl:variable name="periViewIcon_" select="$periMod_/LICENSEINFO/@ICON_NAME"/>
|
||||
<xsl:variable name="periHwVersion_" select="$periMod_/@HWVERSION"/>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$periInst_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$periModType_}" VIEWICON="{$periViewIcon_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$periHwVersion_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not(@INSTANCE)">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$procInst_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$procModType}" VIEWICON="{$procMod_/LICENSEINFO/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$procHwVersion_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
|
||||
|
||||
<xsl:variable name="instName_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@INSTANCE"><xsl:value-of select="@INSTANCE"/></xsl:when>
|
||||
<xsl:otherwise>Connected<xsl:value-of select="$procInst_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<!--
|
||||
<xsl:message>INST : <xsl:value-of select="$set_id_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="is_locked_">
|
||||
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="baseAddrViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>TEXTBOX</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
|
||||
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
|
||||
|
||||
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
|
||||
|
||||
<xsl:variable name="sizeViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>DROPDOWN</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
|
||||
|
||||
<xsl:variable name="periInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="periMod_" select="key('G_MAP_MODULES', $periInst_)"/>
|
||||
<xsl:variable name="periModClass_" select="$periMod_/@MODCLASS"/>
|
||||
<xsl:variable name="periValidBifs_" select="key('G_MAP_ALL_BIFS', $periInst_)[not(@BUSNAME = '__NOC__')]"/>
|
||||
<xsl:variable name="periMemMapSlvs_" select="$periMod_/MEMORYMAP/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE"/>
|
||||
<xsl:variable name="periMemMapBifs_">
|
||||
<xsl:for-each select="$periMemMapSlvs_">
|
||||
<xsl:variable name="periSlvBifName_" select="@BUSINTERFACE"/>
|
||||
<xsl:if test="$periValidBifs_[(@NAME = $periSlvBifName_)]">
|
||||
<xsl:variable name="periBif_" select="$periValidBifs_[(@NAME = $periSlvBifName_)]"/>
|
||||
<xsl:variable name="periBifName_" select="$periBif_/@NAME"/>
|
||||
<xsl:variable name="periBifBus_" select="$periBif_/@BUSNAME"/>
|
||||
<!--
|
||||
<xsl:message> Slv Bif <xsl:value-of select="$periBifName_"/> = <xsl:value-of select="$periBifBus_"/></xsl:message>
|
||||
-->
|
||||
<MMBIF NAME="{$periBifName_}" BUS="{$periBifBus_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="num_of_periMemMapBifs_" select="count(exsl:node-set($periMemMapBifs_)/MMBIF)"/>
|
||||
|
||||
<!--
|
||||
<xsl:message> Total num of slv bifs <xsl:value-of select="$num_of_periMemMapBifs_"/> </xsl:message>
|
||||
<xsl:message> </xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="valid_bifNames_">
|
||||
<xsl:for-each select="exsl:node-set($periMemMapBifs_)/MMBIF">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="$bifName_"/>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="valid_busNames_">
|
||||
<xsl:for-each select="exsl:node-set($periMemMapBifs_)/MMBIF">
|
||||
<xsl:variable name="busName_" select="@BUS"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="$busName_"/>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message> Mod Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
|
||||
<xsl:message> Mod Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
|
||||
<xsl:message>Slv Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
|
||||
<xsl:variable name="modBifs_" select="$modInst_/BUSINTERFACES"/>
|
||||
<xsl:if test="$periValidBifs_[(@NAME = $bifName_)]">
|
||||
<xsl:variable name="busName_" select="$periValidBifs_[(@NAME = $bifName_)]/@BUSNAME"/>
|
||||
<xsl:message>Mod Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="$bifName_"/>
|
||||
</xsl:if>
|
||||
-->
|
||||
<!--
|
||||
<xsl:message>Module Instances <xsl:value-of select="$instName_"/> </xsl:message>
|
||||
<xsl:message>Base Name <xsl:value-of select="$baseName_"/> </xsl:message>
|
||||
<xsl:message>High Name <xsl:value-of select="$highName_"/> </xsl:message>
|
||||
<xsl:message>Valid bif names <xsl:value-of select="$valid_bifNames_"/> </xsl:message>
|
||||
<xsl:message>Valid bif names <xsl:value-of select="$valid_bifNames_"/> </xsl:message>
|
||||
<xsl:message>Valid bus names <xsl:value-of select="$valid_busNames_"/> </xsl:message>
|
||||
-->
|
||||
|
||||
|
||||
<xsl:variable name="var_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length($valid_bifNames_) < 1">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$periModClass_ = 'BUS'">Not Applicable</xsl:when>
|
||||
<xsl:otherwise>Not Connected</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$var_bifNames_}"/>
|
||||
<xsl:if test="(($num_of_periMemMapBifs_ > 0) and (string-length($valid_busNames_) > 0))">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$valid_busNames_}"/>
|
||||
</xsl:if>
|
||||
</SET> <!-- End of one processor memory range row -->
|
||||
</xsl:for-each> <!-- end of processor memory ranges loop -->
|
||||
</xsl:element><!-- End of Processor memory map set -->
|
||||
</xsl:for-each> <!-- end of processor module address space loop -->
|
||||
|
||||
<!--
|
||||
Add branch for valid address that are not part of a processor's
|
||||
memory map. Usually modules that have just been added, but have
|
||||
not been connected to a bus yet.
|
||||
-->
|
||||
|
||||
<xsl:variable name="nonProcAddresses_">
|
||||
|
||||
<!-- Add a dummy non proc as a place holder. Otherwise the exsl:node-set test
|
||||
Below complains if the variable is completely empty
|
||||
-->
|
||||
<NONPROCADDRESS INSTANCE="__DUMMY__" BASENAME="__DUMMY__" HIGHNAME="__DUMMY__" BASEDECIMAL="__DUMMY__"/>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ACCESSROUTE)]))]">
|
||||
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
|
||||
|
||||
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
|
||||
<NONPROCADDRESS INSTANCE="{$nonProcInst_}" BASENAME="{$baseName_}" HIGHNAME="{$highName_}" BASEDECIMAL="{$baseDecimal_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:variable>
|
||||
|
||||
<!-- Add unmapped addresses -->
|
||||
<xsl:variable name="hasUnMappedAddress">
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]">
|
||||
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
|
||||
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])"><xsl:value-of select="$nonProcInst_"/></xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="string-length($hasUnMappedAddress) > 1">
|
||||
|
||||
<SET ID="Unmapped Addresses" CLASS="MODULE" ROW_INDEX="{$G_NUM_OF_PROCS_W_ADDRS}">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="Unmapped Addresses"/>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]/MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<xsl:variable name="nonProcMod_" select="../.."/>
|
||||
<xsl:variable name="nonProcMMap_" select="$nonProcMod_/MEMORYMAP"/>
|
||||
<xsl:variable name="instance_" select="$nonProcMod_/@INSTANCE"/>
|
||||
|
||||
<xsl:variable name="row_index_" select="position()"/>
|
||||
<xsl:variable name="instName_" select="$nonProcMod_/@INSTANCE"/>
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[((@BASENAME = $baseName_) and (@HIGHNAME = $highName_))]">
|
||||
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $instName_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
|
||||
|
||||
<xsl:variable name="addr_id_"><xsl:value-of select="$baseName_"/>:<xsl:value-of select="$highName_"/></xsl:variable>
|
||||
<xsl:variable name="set_id_"><xsl:value-of select="$instName_"/>:<xsl:value-of select="$addr_id_"/></xsl:variable>
|
||||
|
||||
<xsl:variable name="inst_modtype_" select="$nonProcMod_/@MODTYPE"/>
|
||||
<xsl:variable name="inst_viewicon_" select="$nonProcMod_/LICENSEINFO/@ICON_NAME"/>
|
||||
<xsl:variable name="inst_modclass_" select="$nonProcMod_/@MODCLASS"/>
|
||||
<xsl:variable name="inst_hwversion_" select="$nonProcMod_/@HWVERSION"/>
|
||||
|
||||
<SET ID="{$set_id_}" CLASS="ADDRESS">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$instance_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$inst_modtype_}" VIEWICON="{$inst_viewicon_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$inst_hwversion_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
|
||||
|
||||
<xsl:variable name="is_locked_">
|
||||
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="baseAddrViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>TEXTBOX</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
|
||||
|
||||
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
|
||||
|
||||
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<!--
|
||||
Lock, DCache and ICache removed in 11.1
|
||||
|
||||
<xsl:if test="(@IS_CACHEABLE = 'TRUE')">
|
||||
|
||||
<xsl:variable name="is_dcached_">
|
||||
<xsl:if test="(@IS_DCACHED = 'TRUE')">TRUE</xsl:if>
|
||||
<xsl:if test="(not(@IS_DCACHED) or not(@IS_DCACHED = 'TRUE'))">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="is_icached_">
|
||||
<xsl:if test="(@IS_ICACHED = 'TRUE')">TRUE</xsl:if>
|
||||
<xsl:if test="(not(@IS_ICACHED) or not(@IS_ICACHED = 'TRUE'))">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="DCache" NAME="IS_DCACHED" VALUE="{$is_dcached_}"/>
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="ICache" NAME="IS_ICACHED" VALUE="{$is_icached_}"/>
|
||||
</xsl:if>
|
||||
-->
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
|
||||
|
||||
<xsl:variable name="sizeViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>DROPDOWN</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
|
||||
|
||||
<xsl:variable name="valid_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
|
||||
<!-- <xsl:message>Bif Name <xsl:value-of select="$bifName_"/> </xsl:message> -->
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@BUSINTERFACE"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@NAME"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="def_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(string-length($valid_bifNames_) < 1) or ((string-length($valid_bifNames_) = 1) and ($valid_bifNames_ = ':'))">Not Connected</xsl:when>
|
||||
<xsl:when test="starts-with($valid_bifNames_,':')"><xsl:value-of select="substring-after($valid_bifNames_,':')"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$def_bifNames_}"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="slvBifName_" select="@BUSINTERFACE"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
|
||||
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
|
||||
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="slvBifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
|
||||
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
|
||||
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
|
||||
</SET> <!-- End of one non processor memory range row -->
|
||||
</xsl:if>
|
||||
|
||||
</xsl:for-each> <!-- end of non processor memory ranges loop -->
|
||||
|
||||
</xsl:for-each> <!-- end of NONPROCADDRESS loop -->
|
||||
|
||||
</SET> <!-- End of non processor tree branch -->
|
||||
|
||||
</xsl:if> <!-- End of test to see if we have and non processor mapped address -->
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="__WRITE_VIEW_ADDRESS__">
|
||||
|
||||
<!--
|
||||
-->
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[((@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ACCESSROUTE)]))]">
|
||||
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="procInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="modClass_" select="@MODCLASS"/>
|
||||
|
||||
<xsl:variable name="procInstHdrVal_"><xsl:value-of select="$procInst_"/>'s Address Map</xsl:variable>
|
||||
<xsl:variable name="procInstRowIdx_" select="position() - 1"/>
|
||||
<xsl:variable name="modInstance_" select="self::node()"/>
|
||||
|
||||
<SET ID="{$procInst_}" CLASS="MODULE" ROW_INDEX="{$procInstRowIdx_}">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$procInstHdrVal_}"/>
|
||||
|
||||
<xsl:for-each select="$modInstance_/MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@MEMTYPE = 'BRIDGE')))]">
|
||||
<xsl:sort data-type="number" select="@BASEDECIMAL" order="ascending"/>
|
||||
|
||||
<xsl:variable name="addr_id_"><xsl:value-of select="@BASENAME"/>:<xsl:value-of select="@HIGHNAME"/></xsl:variable>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>ADDRESS ID <xsl:value-of select="$addr_id_"/></xsl:message>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:variable name="set_id_">
|
||||
<xsl:if test="(@INSTANCE)">
|
||||
<xsl:value-of select="$procInst_"/>.<xsl:value-of select="@INSTANCE"/>:<xsl:value-of select="$addr_id_"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@INSTANCE)">
|
||||
<xsl:value-of select="$procInst_"/>:<xsl:value-of select="$addr_id_"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="procAddrRowIdx_" select="position() - 1"/>
|
||||
<SET ID="{$set_id_}" CLASS="ADDRESS" ROW_INDEX="{$procAddrRowIdx_}">
|
||||
|
||||
<xsl:if test="(@INSTANCE)">
|
||||
<xsl:variable name="instance_" select="@INSTANCE"/>
|
||||
<xsl:variable name="subInstance_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $instance_)]"/>
|
||||
|
||||
<xsl:variable name="inst_modtype_" select="$subInstance_/@MODTYPE"/>
|
||||
<xsl:variable name="inst_viewicon_" select="$subInstance_/LICENSEINFO/@ICON_NAME"/>
|
||||
<xsl:variable name="inst_hwversion_" select="$subInstance_/@HWVERSION"/>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$instance_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$inst_modtype_}" VIEWICON="{$inst_viewicon_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$inst_hwversion_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not(@INSTANCE)">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$modInstance_/@INSTANCE}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$modInstance_/@MODTYPE}" VIEWICON="{$modInstance_/LICENSEINFO/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$modInstance_/@HWVERSION}"/>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
|
||||
|
||||
<xsl:variable name="instName_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@INSTANCE"><xsl:value-of select="@INSTANCE"/></xsl:when>
|
||||
<xsl:otherwise>Connected<xsl:value-of select="$modInstance_/@INSTANCE"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<!--
|
||||
<xsl:message>INST : <xsl:value-of select="$set_id_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="is_locked_">
|
||||
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="baseAddrViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>TEXTBOX</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
|
||||
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
|
||||
|
||||
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
|
||||
|
||||
<xsl:variable name="sizeViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>DROPDOWN</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
|
||||
|
||||
<xsl:variable name="modInst_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $instName_)]"/>
|
||||
<xsl:variable name="modMemMap_" select="$modInst_/MEMORYMAP"/>
|
||||
|
||||
<xsl:variable name="valid_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
|
||||
<!-- <xsl:message>Bif Name <xsl:value-of select="$bifName_"/> </xsl:message> -->
|
||||
<xsl:variable name="modBifs_" select="$modInst_/BUSINTERFACES"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@BUSINTERFACE"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$modInst_"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@NAME"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>Module Instances <xsl:value-of select="$instName_"/> </xsl:message>
|
||||
<xsl:message>Base Name <xsl:value-of select="$baseName_"/> </xsl:message>
|
||||
<xsl:message>High Name <xsl:value-of select="$highName_"/> </xsl:message>
|
||||
<xsl:message>Valid bif names <xsl:value-of select="$valid_bifNames_"/> </xsl:message>
|
||||
-->
|
||||
|
||||
|
||||
<xsl:variable name="def_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length($valid_bifNames_) < 1">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$modClass_ = 'BUS'">Not Applicable</xsl:when>
|
||||
<xsl:otherwise>Not Connected</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:when test="starts-with($valid_bifNames_,':')"><xsl:value-of select="substring-after($valid_bifNames_,':')"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$def_bifNames_}"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
|
||||
<xsl:variable name="modBifs_" select="$modInst_/BUSINTERFACES"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:variable name="numBifs_" select="count($modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))])"/>
|
||||
<xsl:if test="((position() = 1) or ($numBifs_ = 1))">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$busName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$modInst_"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:variable name="numBifs_" select="count($modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))])"/>
|
||||
<xsl:if test="((position() = 1) or ($numBifs_ = 1))">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$busName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!--
|
||||
-->
|
||||
</SET> <!-- End of one processor memory range row -->
|
||||
</xsl:for-each> <!-- end of processor memory ranges loop -->
|
||||
</SET>
|
||||
</xsl:for-each> <!-- end of processor module address space loop -->
|
||||
|
||||
<!--
|
||||
Add branch for valid address that are not part of a processor's
|
||||
memory map. Usually modules that have just been added, but have
|
||||
not been connected to a bus yet.
|
||||
-->
|
||||
|
||||
<xsl:variable name="nonProcAddresses_">
|
||||
|
||||
<!-- Add a dummy non proc as a place holder. Otherwise the exsl:node-set test
|
||||
Below complains if the variable is completely empty
|
||||
-->
|
||||
<NONPROCADDRESS INSTANCE="__DUMMY__" BASENAME="__DUMMY__" HIGHNAME="__DUMMY__" BASEDECIMAL="__DUMMY__"/>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ACCESSROUTE)]))]">
|
||||
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
|
||||
|
||||
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
|
||||
<NONPROCADDRESS INSTANCE="{$nonProcInst_}" BASENAME="{$baseName_}" HIGHNAME="{$highName_}" BASEDECIMAL="{$baseDecimal_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:variable>
|
||||
|
||||
<!-- Add unmapped addresses -->
|
||||
<xsl:variable name="hasUnMappedAddress">
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]">
|
||||
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
|
||||
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])"><xsl:value-of select="$nonProcInst_"/></xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="string-length($hasUnMappedAddress) > 1">
|
||||
|
||||
<SET ID="Unmapped Addresses" CLASS="MODULE" ROW_INDEX="{$G_NUM_OF_PROCS_W_ADDRS}">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="Unmapped Addresses"/>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]/MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<xsl:variable name="nonProcMod_" select="../.."/>
|
||||
<xsl:variable name="nonProcMMap_" select="$nonProcMod_/MEMORYMAP"/>
|
||||
<xsl:variable name="instance_" select="$nonProcMod_/@INSTANCE"/>
|
||||
|
||||
<xsl:variable name="row_index_" select="position()"/>
|
||||
<xsl:variable name="instName_" select="$nonProcMod_/@INSTANCE"/>
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[((@BASENAME = $baseName_) and (@HIGHNAME = $highName_))]">
|
||||
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $instName_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
|
||||
|
||||
<xsl:variable name="addr_id_"><xsl:value-of select="$baseName_"/>:<xsl:value-of select="$highName_"/></xsl:variable>
|
||||
<xsl:variable name="set_id_"><xsl:value-of select="$instName_"/>:<xsl:value-of select="$addr_id_"/></xsl:variable>
|
||||
|
||||
<xsl:variable name="inst_modtype_" select="$nonProcMod_/@MODTYPE"/>
|
||||
<xsl:variable name="inst_viewicon_" select="$nonProcMod_/LICENSEINFO/@ICON_NAME"/>
|
||||
<xsl:variable name="inst_modclass_" select="$nonProcMod_/@MODCLASS"/>
|
||||
<xsl:variable name="inst_hwversion_" select="$nonProcMod_/@HWVERSION"/>
|
||||
|
||||
<SET ID="{$set_id_}" CLASS="ADDRESS">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$instance_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$inst_modtype_}" VIEWICON="{$inst_viewicon_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$inst_hwversion_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
|
||||
|
||||
<xsl:variable name="is_locked_">
|
||||
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="baseAddrViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>TEXTBOX</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
|
||||
|
||||
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
|
||||
|
||||
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<!--
|
||||
Lock, DCache and ICache removed in 11.1
|
||||
|
||||
<xsl:if test="(@IS_CACHEABLE = 'TRUE')">
|
||||
|
||||
<xsl:variable name="is_dcached_">
|
||||
<xsl:if test="(@IS_DCACHED = 'TRUE')">TRUE</xsl:if>
|
||||
<xsl:if test="(not(@IS_DCACHED) or not(@IS_DCACHED = 'TRUE'))">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="is_icached_">
|
||||
<xsl:if test="(@IS_ICACHED = 'TRUE')">TRUE</xsl:if>
|
||||
<xsl:if test="(not(@IS_ICACHED) or not(@IS_ICACHED = 'TRUE'))">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="DCache" NAME="IS_DCACHED" VALUE="{$is_dcached_}"/>
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="ICache" NAME="IS_ICACHED" VALUE="{$is_icached_}"/>
|
||||
</xsl:if>
|
||||
-->
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
|
||||
|
||||
<xsl:variable name="sizeViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>DROPDOWN</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
|
||||
|
||||
<xsl:variable name="valid_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
|
||||
<!-- <xsl:message>Bif Name <xsl:value-of select="$bifName_"/> </xsl:message> -->
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@BUSINTERFACE"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@NAME"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="def_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(string-length($valid_bifNames_) < 1) or ((string-length($valid_bifNames_) = 1) and ($valid_bifNames_ = ':'))">Not Connected</xsl:when>
|
||||
<xsl:when test="starts-with($valid_bifNames_,':')"><xsl:value-of select="substring-after($valid_bifNames_,':')"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$def_bifNames_}"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="slvBifName_" select="@BUSINTERFACE"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
|
||||
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
|
||||
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="slvBifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
|
||||
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
|
||||
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
|
||||
</SET> <!-- End of one non processor memory range row -->
|
||||
</xsl:if>
|
||||
|
||||
</xsl:for-each> <!-- end of non processor memory ranges loop -->
|
||||
|
||||
</xsl:for-each> <!-- end of NONPROCADDRESS loop -->
|
||||
|
||||
</SET> <!-- End of non processor tree branch -->
|
||||
|
||||
</xsl:if> <!-- End of test to see if we have and non processor mapped address -->
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
@ -1,631 +0,0 @@
|
||||
<?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;' ">
|
||||
]>
|
||||
|
||||
<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="exsl dyn math xlink">
|
||||
|
||||
|
||||
<!--
|
||||
================================================================================
|
||||
Generate XTeller for BIFS
|
||||
================================================================================
|
||||
-->
|
||||
|
||||
<xsl:template name="WRITE_VIEW_BIF_TREE">
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE">
|
||||
|
||||
<xsl:variable name="modRef_" select="self::node()"/>
|
||||
<xsl:variable name="m_inst_" select="$modRef_/@INSTANCE"/>
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:attribute name="ID"><xsl:value-of select="@INSTANCE"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$modRef_/@POTENTIAL_INDEX">
|
||||
<xsl:attribute name="POTENTIAL_INDEX"><xsl:value-of select="$modRef_/@POTENTIAL_INDEX"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="$modRef_/@CONNECTED_INDEX">
|
||||
<xsl:attribute name="CONNECTED_INDEX"><xsl:value-of select="$modRef_/@CONNECTED_INDEX"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<!--
|
||||
CR452579
|
||||
Can only modify INSTANCE name in Hierarchal view.
|
||||
-->
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="INSTANCE" VALUE="{@INSTANCE}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{@MODTYPE}" VIEWICON="{LICENSEINFO/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{@HWVERSION}"/>
|
||||
|
||||
<xsl:variable name="ipClassification_">
|
||||
<xsl:call-template name="F_ModClass_To_IpClassification">
|
||||
<xsl:with-param name="iModClass" select="@MODCLASS"/>
|
||||
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Classification" NAME="IPCLASS" VALUE="{$ipClassification_}"/>
|
||||
|
||||
<!-- Write Bus Interfaces here -->
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To put things in the right scope for the keys below -->
|
||||
<xsl:variable name="m_bifs_all_" select="key('G_MAP_ALL_BIFS', $m_inst_)"/>
|
||||
<xsl:for-each select="$m_bifs_all_">
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_TREE_SET">
|
||||
<xsl:with-param name="iModRef" select="$modRef_"/>
|
||||
<xsl:with-param name="iBifRef" select="self::node()"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each> <!-- End of bus interface loop -->
|
||||
</xsl:for-each>
|
||||
</xsl:element>
|
||||
</xsl:for-each> <!-- End module loop -->
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="WRITE_VIEW_BIF_TREE_SET">
|
||||
<xsl:param name="iModRef" select="'__NONE__'"/>
|
||||
<xsl:param name="iBifRef" select="'__NONE__'"/>
|
||||
<xsl:param name="iBifCol" select="'__NONE__'"/>
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:if test="not($iBifCol = '__NONE__')">
|
||||
<xsl:attribute name="RGB_FG"><xsl:value-of select="$iBifCol"/></xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:attribute name="ID"><xsl:value-of select="$iBifRef/@NAME"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">BUSINTERFACE</xsl:attribute>
|
||||
|
||||
<xsl:if test="($iBifRef/@TYPE = 'MONITOR')">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@IS_P2P)">
|
||||
<xsl:attribute name="IS_P2P_MONITOR">TRUE</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="IS_SHARED_MONITOR">TRUE</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="{$iBifRef/@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Type" NAME="TYPE" VALUE="{$iBifRef/@TYPE}"/>
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Standard</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSSTD</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@BUSSTD_PSF)">
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSSTD_PSF"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="($iBifRef/@BUSSTD)">
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSSTD"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="($iBifRef/@BUS_STD)">
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUS_STD"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE">USER</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@TYPE = 'INITIATOR')">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">TEXTBOX</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
|
||||
<xsl:variable name="def_noc_name_"><xsl:value-of select="$iModRef/@INSTANCE"/>_<xsl:value-of select="$iBifRef/@NAME"/></xsl:variable>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$def_noc_name_"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSSTD = 'AXI') and ($iBifRef/@TYPE = 'SLAVE') and ($G_HAVE_XB_BUSSES = 'TRUE'))">
|
||||
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE">No Connection</xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@TYPE = 'MONITOR') and ($iBifRef/MONITORS/MONITOR))">
|
||||
<xsl:variable name="monitorBif_" select="$iBifRef/MONITORS/MONITOR"/>
|
||||
<xsl:variable name="p2pMonConn_" select="concat($monitorBif_/@INSTANCE,'.',$monitorBif_/@BUSINTERFACE)"/>
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$p2pMonConn_"/></xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($iBifRef/@TYPE = 'SLAVE')">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSSTD = 'AXI') and ($G_HAVE_XB_BUSSES ='TRUE'))">
|
||||
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBifRef/MASTERS/MASTER">
|
||||
<xsl:variable name="mastersList_"><xsl:for-each select="$iBifRef/MASTERS/MASTER"><xsl:if test="position() > 1"> & </xsl:if><xsl:value-of select="concat(@INSTANCE,'.',@BUSINTERFACE)"/></xsl:for-each></xsl:variable>
|
||||
<xsl:variable name="mastersConn_" select="concat($iBifRef/@BUSNAME,':',$mastersList_)"/>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$mastersConn_"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="WRITE_VIEW_BIF_FLAT">
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE">
|
||||
|
||||
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
|
||||
<xsl:variable name="moduleRef_" select="self::node()"/>
|
||||
<xsl:variable name="busifsRef_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="self::node()/BUSINTERFACES"><xsl:text>$moduleRef_/BUSINTERFACES</xsl:text></xsl:when>
|
||||
<xsl:otherwise><xsl:text>$moduleRef_</xsl:text></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:for-each select="dyn:evaluate($busifsRef_)/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_FLAT_SET">
|
||||
<xsl:with-param name="iModRef" select="$moduleRef_"/>
|
||||
<xsl:with-param name="iBifRef" select="self::node()"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each> <!-- End of Bus Interface Loop -->
|
||||
</xsl:for-each> <!-- End of Module loop -->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_BIF_FLAT_SET">
|
||||
|
||||
<xsl:param name="iModRef" select="'__NONE__'"/>
|
||||
<xsl:param name="iBifRef" select="'__NONE__'"/>
|
||||
<xsl:param name="iBifCol" select="'__NONE__'"/>
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:if test="not($iBifCol = '__NONE__')">
|
||||
<xsl:attribute name="RGB_FG"><xsl:value-of select="$iBifCol"/></xsl:attribute>
|
||||
</xsl:if>
|
||||
<!--
|
||||
<xsl:attribute name="ID"><xsl:value-of select="$iModRef/@INSTANCE"/>.<xsl:value-of select="$iBifRef/@NAME"/></xsl:attribute>
|
||||
-->
|
||||
<xsl:attribute name="ID"><xsl:value-of select="$iBifRef/@NAME"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">BUSINTERFACE</xsl:attribute>
|
||||
|
||||
<xsl:if test="($iBifRef/@TYPE = 'MONITOR')">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@IS_P2P)">
|
||||
<xsl:attribute name="IS_P2P_MONITOR">TRUE</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="IS_SHARED_MONITOR">TRUE</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:if>
|
||||
|
||||
<!-- CR452579 Can only modify INSTANCE name in Hierarchal view. -->
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$iModRef/@INSTANCE}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface" NAME="NAME" VALUE="{$iBifRef/@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$iModRef/@MODTYPE}" VIEWICON="{$iModRef/LICENSEINFO/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$iModRef/@HWVERSION}"/>
|
||||
|
||||
<xsl:variable name="ipClassification_">
|
||||
<xsl:call-template name="F_ModClass_To_IpClassification">
|
||||
<xsl:with-param name="iModClass" select="$iModRef/@MODCLASS"/>
|
||||
<xsl:with-param name="iBusStd" select="$iBifRef/@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Classification" NAME="IPCLASS" VALUE="{$ipClassification_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Type" NAME="TYPE" VALUE="{$iBifRef/@TYPE}"/>
|
||||
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Standard</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSSTD</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@BUS_STD)">
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUS_STD"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="($iBifRef/@BUSSTD)">
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSSTD"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE">USER</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBifRef/@TYPE = 'INITIATOR'">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">TEXTBOX</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
|
||||
<xsl:variable name="def_noc_name_"><xsl:value-of select="$iModRef/@INSTANCE"/>_<xsl:value-of select="$iBifRef/@NAME"/></xsl:variable>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$def_noc_name_"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSSTD = 'AXI') and ($iBifRef/@TYPE = 'SLAVE') and ($G_HAVE_XB_BUSSES = 'TRUE'))">
|
||||
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE">No Connection</xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@TYPE = 'MONITOR') and ($iBifRef/MONITORS/MONITOR))">
|
||||
<xsl:variable name="monitorBif_" select="$iBifRef/MONITORS/MONITOR"/>
|
||||
<xsl:variable name="p2pMonConn_" select="concat($monitorBif_/@INSTANCE,'.',$monitorBif_/@BUSINTERFACE)"/>
|
||||
<!--
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$p2pMonConn_}"/>
|
||||
-->
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$p2pMonConn_"/></xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($iBifRef/@TYPE = 'SLAVE')">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBifRef/@BUSSTD = 'AXI' and $G_HAVE_XB_BUSSES ='TRUE'">
|
||||
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBifRef/MASTERS/MASTER">
|
||||
<xsl:variable name="mastersList_"><xsl:for-each select="$iBifRef/MASTERS/MASTER"><xsl:if test="position() > 1"> & </xsl:if><xsl:value-of select="concat(@INSTANCE,'.',@BUSINTERFACE)"/></xsl:for-each></xsl:variable>
|
||||
<xsl:variable name="mastersConn_" select="concat($iBifRef/@BUSNAME,':',$mastersList_)"/>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$mastersConn_"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!--
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$iBifRef/@BUSNAME}"/>
|
||||
-->
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
|
||||
<xsl:param name="iModRef" select="None"/>
|
||||
<xsl:param name="iBifRef" select="None"/>
|
||||
|
||||
<xsl:variable name="b_bus_" select="$iBifRef/@BUSNAME"/>
|
||||
<xsl:variable name="b_name_" select="$iBifRef/@NAME"/>
|
||||
<xsl:variable name="b_type_" select="$iBifRef/@TYPE"/>
|
||||
<xsl:variable name="b_bstd_" select="$iBifRef/@BUSSTD"/>
|
||||
<xsl:variable name="b_bstd_psf_" select="$iBifRef/@BUSSTD_PSF"/>
|
||||
<xsl:variable name="b_protocol_" select="$iBifRef/@PROTOCOL"/>
|
||||
|
||||
<xsl:element name="CHOICES">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($b_type_ = 'INITIATOR')">
|
||||
<xsl:variable name="initiator_busName_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($b_bus_ = '__NOC__')"><xsl:value-of select="concat($iModRef/@INSTANCE,'_',$b_name_)"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$b_bus_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<CHOICE NAME="{$initiator_busName_}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(($b_type_ = 'MASTER') or ($b_type_ = 'SLAVE') or ($b_type_ = 'MASTER_SLAVE'))">
|
||||
<CHOICE NAME="No Connection"/>
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
|
||||
<xsl:if test="not(($b_bstd_ = 'AXI') and ($b_type_ = 'SLAVE'))">
|
||||
<CHOICE NAME="New Connection"/>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="key('G_MAP_BUSSES',$b_bstd_)">
|
||||
<xsl:variable name="busName_" select="@INSTANCE"/>
|
||||
<xsl:choose>
|
||||
<!-- CR#590473 This was setting wrong choices filled up-->
|
||||
<!--xsl:when test="(($b_type_ = 'SLAVE') and (@IS_CROSSBAR) and $iBifRef/@PROTOCOL)">
|
||||
<xsl:for-each select="key('G_MAP_MST_BIFS',$busName_)[(@PROTOCOL = $b_protocol_)]">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<xsl:variable name="xb_slave_busName_" select="concat($busName_,':',$insName_,'.',$bifName_)"/>
|
||||
<CHOICE NAME="{$xb_slave_busName_}"/>
|
||||
</xsl:for-each>
|
||||
</xsl:when-->
|
||||
<xsl:when test="($b_type_ = 'SLAVE') and (@IS_CROSSBAR)">
|
||||
<xsl:for-each select="key('G_MAP_MST_BIFS',$busName_)">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<xsl:variable name="xb_slave_busName_" select="concat($busName_,':',$insName_,'.',$bifName_)"/>
|
||||
<CHOICE NAME="{$xb_slave_busName_}"/>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CHOICE NAME="{$busName_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($b_type_ = 'TARGET')">
|
||||
<CHOICE NAME="No Connection"/>
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
|
||||
<xsl:variable name="use_bstd_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($b_bstd_ = 'AXIS') or ($b_bstd_ = 'XIL'))">
|
||||
<xsl:value-of select="$b_bstd_psf_"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$b_bstd_"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBifRef/@PROTOCOL">
|
||||
<xsl:for-each select="key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR') and (@PROTOCOL = $b_protocol_)]">
|
||||
<xsl:variable name="busName_" select="@BUSNAME"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="($busName_ = '__NOC__')">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<xsl:variable name="initiator_busName_" select="concat($insName_,'_',$bifName_)"/>
|
||||
<CHOICE NAME="{$initiator_busName_}"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CHOICE NAME="{$busName_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR')]">
|
||||
<xsl:variable name="busName_" select="@BUSNAME"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="($busName_ = '__NOC__')">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<xsl:variable name="initiator_busName_" select="concat($insName_,'_',$bifName_)"/>
|
||||
<CHOICE NAME="{$initiator_busName_}"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CHOICE NAME="{$busName_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($b_type_ = 'MONITOR')">
|
||||
<CHOICE NAME="No Connection"/>
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@IS_P2P = 'TRUE')">
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
|
||||
<xsl:variable name="use_bstd_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($b_bstd_ = 'AXIS') or ($b_bstd_ = 'XIL'))">
|
||||
<xsl:value-of select="$b_bstd_psf_"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$b_bstd_"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<!-- <xsl:message>monitor p2p <xsl:value-of select="count(key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR')])"/> </xsl:message> -->
|
||||
<xsl:for-each select="key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR')]">
|
||||
<xsl:variable name="busName_" select="@BUSNAME"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="($busName_ = '__NOC__')">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<xsl:variable name="initiator_busName_" select="concat($insName_,'_',$bifName_)"/>
|
||||
<CHOICE NAME="{$initiator_busName_}"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CHOICE NAME="{$busName_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="key('G_MAP_BUSSES',$b_bstd_)">
|
||||
<xsl:variable name="busName_" select="@INSTANCE"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@IS_CROSSBAR or ($b_bstd_ = 'AXI'))">
|
||||
<xsl:for-each select="key('G_MAP_MOS_BIFS',$busName_)">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<!--
|
||||
<xsl:variable name="xb_moni_busName_" select="concat($busName_,':',$insName_,'.',$bifName_)"/>
|
||||
-->
|
||||
<xsl:variable name="xb_moni_busName_" select="concat($insName_,'.',$bifName_)"/>
|
||||
<CHOICE NAME="{$xb_moni_busName_}"/>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CHOICE NAME="{$busName_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,771 +0,0 @@
|
||||
<?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;' ">
|
||||
]>
|
||||
|
||||
<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">
|
||||
|
||||
<!--
|
||||
================================================================================
|
||||
Generate XTeller for PORTS
|
||||
================================================================================
|
||||
-->
|
||||
<xsl:param name="SHOW_IOIF" select="'TRUE'"/>
|
||||
<xsl:param name="SHOW_BUSIF" select="'TRUE'"/>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_PORT_TREE">
|
||||
|
||||
<xsl:variable name="num_of_ext_ports_" select="count($G_SYS_EXPS/PORT)"/>
|
||||
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>WRITING PORT in MODE :<xsl:value-of select="@MODE"/></xsl:message>
|
||||
<!--
|
||||
<xsl:message>EXTERNAL PORT <xsl:value-of select="$num_of_ext_ports_"/></xsl:message>
|
||||
-->
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:if test="$num_of_ext_ports_ > 0">
|
||||
<xsl:call-template name="WRITE_VIEW_EXTP_TREE_SET"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE">
|
||||
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
|
||||
<xsl:variable name= "instName_" select="@INSTANCE"/>
|
||||
<xsl:variable name="moduleRef_" select="self::node()"/>
|
||||
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_TREE_SET">
|
||||
<xsl:with-param name="iModRef" select="$moduleRef_"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each> <!-- End of MODULES loop -->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_EXTP_TREE_SET">
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:attribute name="ID">ExternalPorts</xsl:attribute>
|
||||
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
|
||||
|
||||
<xsl:for-each select="$G_SYS_EXPS">
|
||||
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="NAME">Name</xsl:attribute>
|
||||
<xsl:attribute name="VALUE">External Ports</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Name</xsl:attribute>
|
||||
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:for-each select="PORT">
|
||||
<xsl:sort select="@NAME" order="ascending"/>
|
||||
<!--
|
||||
<xsl:sort data-type="number" select="@MHS_INDEX" order="ascending"/>
|
||||
-->
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:attribute name="ID"><xsl:value-of select="@NAME"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">PORT</xsl:attribute>
|
||||
<xsl:attribute name="ROW_INDEX"><xsl:value-of select="(position() - 1)"/></xsl:attribute>
|
||||
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_EDITABLE="TRUE"/>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="NAME" VALUE="{@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Direction" NAME="DIR" VALUE="{@DIR}"/>
|
||||
|
||||
<xsl:if test="(@SIGIS)">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="{@SIGIS}"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@SIGIS)">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="NONE"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="@LEFT and @RIGHT">
|
||||
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@LEFT"/>:<xsl:value-of select="@RIGHT"/>]</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="@MSB and @LSB">
|
||||
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(not(@MSB) and not(@LSB) and not(@SIGIS = 'CLK') and not(@SIGIS = 'CLOCK') and not(@SIGIS = 'DCMCLK') and not(@SIGIS = 'RST') and not(@SIGIS = 'RESET'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE=""/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:if test="((@SIGIS = 'CLK') or (@SIGIS = 'CLOCK') or (@SIGIS = 'DCMCLK'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Frequency(Hz)" NAME="CLKFREQUENCY" VALUE="{@CLKFREQUENCY}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIGIS = 'RST' or @SIGIS = 'RESET')">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Reset Polarity" NAME="RSTPOLARITY" VALUE="{@RSTPOLARITY}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIGIS = 'INTERRUPT')">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:for-each> <!-- End of EXTERNAL PORTS loop -->
|
||||
</xsl:for-each> <!-- End of EXTERNAL PORTS loop -->
|
||||
</xsl:element> <!-- End of EXTERNAL PORTS SET -->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_PORT_TREE_SET">
|
||||
<xsl:param name="iModRef" select="'__NONE__'"/>
|
||||
|
||||
<xsl:variable name="m_inst_" select="$iModRef/@INSTANCE"/>
|
||||
<xsl:variable name="m_class_" select="$iModRef/@MODCLASS"/>
|
||||
<xsl:variable name="m_type_" select="$iModRef/@MODTYPE"/>
|
||||
<xsl:variable name="m_type_lc_" select="translate($m_type_,&UPPER2LOWER;)"/>
|
||||
<xsl:variable name="m_version_" select="$iModRef/@HWVERSION"/>
|
||||
<xsl:variable name="m_licinfo_" select="$iModRef/LICENSEINFO"/>
|
||||
<xsl:variable name="m_ports_" select="$iModRef/PORTS"/>
|
||||
|
||||
<xsl:variable name="is_axi_interconnect_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$m_type_ = 'axi_interconnect'">TRUE</xsl:when>
|
||||
<xsl:when test="$m_type_lc_ = 'axi_interconnect'">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To put things in the right scope for the keys below -->
|
||||
|
||||
<xsl:variable name="m_iofs_all_" select="key('G_MAP_ALL_IOFS', $m_inst_)"/>
|
||||
<xsl:variable name="m_bifs_all_" select="key('G_MAP_ALL_BIFS', $m_inst_)"/>
|
||||
|
||||
<xsl:variable name="m_ports_def_" select="key('G_MAP_DEF_PORTS',$m_inst_)"/>
|
||||
<xsl:variable name="m_ports_ndf_" select="key('G_MAP_NDF_PORTS',$m_inst_)"/>
|
||||
<!--
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'">
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_bifs_all_)"/> valid bifs </xsl:message>
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_iofs_all_)"/> valid iofs </xsl:message>
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_ports_def_)"/> default ports </xsl:message>
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_ports_ndf_)"/> non default ports </xsl:message>
|
||||
<xsl:message></xsl:message>
|
||||
</xsl:if>
|
||||
-->
|
||||
|
||||
<SET ID="{$m_inst_}" CLASS="MODULE">
|
||||
<!-- CR452579
|
||||
Can only modify INSTANCE name in Hierarchal view.
|
||||
-->
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="INSTANCE" VALUE="{$m_inst_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$m_type_}" VIEWICON="{$m_licinfo_/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$m_version_}"/>
|
||||
|
||||
<!--
|
||||
CR582477,
|
||||
(among others) special case of axi_interconnect_aclk which is a member of
|
||||
a bus interface, but should be treated as a non interface port, (i.e. appear even
|
||||
if the bus interfaces its a member of is invalid.
|
||||
-->
|
||||
<xsl:if test="($is_axi_interconnect_ = 'TRUE')">
|
||||
<!-- do it this way so we also catch the lower-upper case mismatches -->
|
||||
<xsl:for-each select="key('G_MAP_ALL_PORTS',$m_inst_)[contains(@SIGIS,'CLK')]">
|
||||
<xsl:variable name="uc_portName_" select="translate(@NAME,&LOWER2UPPER;)"/>
|
||||
<xsl:if test="($uc_portName_= 'INTERCONNECT_ACLK')">
|
||||
<!--
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/>.<xsl:value-of select="@NAME"/> = <xsl:value-of select="@SIGIS"/></xsl:message>
|
||||
-->
|
||||
<xsl:variable name="portName_" select="@NAME"/>
|
||||
<xsl:variable name="portDir_" select="@DIR"/>
|
||||
<xsl:variable name="portSig_" select="@SIGNAME"/>
|
||||
|
||||
<xsl:variable name="portSigIs_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@SIGIS)">__NONE__</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="@SIGIS"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portSensi_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SENSITIVITY)"><xsl:value-of select="@SENSITIVIITY"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portVecFormula_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@VECFORMULA"><xsl:value-of select="@VECFORMULA"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="WRITE_PORT_SET">
|
||||
<xsl:with-param name="iName" select="$portName_"/>
|
||||
<xsl:with-param name="iDir" select="$portDir_"/>
|
||||
<xsl:with-param name="iSigName" select="$portSig_"/>
|
||||
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
|
||||
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
|
||||
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
|
||||
<!-- PORTS not part of an INTERFACE -->
|
||||
<xsl:for-each select="$m_ports_ndf_">
|
||||
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
<xsl:variable name="uc_portName_" select="translate(@NAME,&LOWER2UPPER;)"/>
|
||||
|
||||
<!--
|
||||
<xsl:if test="((not(@BUS) and not(@IOS)) or (($is_axi_interconnect_ = 'TRUE') and ($uc_portName_= 'INTERCONNECT_ACLK')))">
|
||||
</xsl:if>
|
||||
-->
|
||||
|
||||
|
||||
<xsl:variable name="portName_" select="@NAME"/>
|
||||
<xsl:variable name="portDir_" select="@DIR"/>
|
||||
<xsl:variable name="portSig_" select="@SIGNAME"/>
|
||||
|
||||
<xsl:variable name="portSigIs_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@SIGIS)">__NONE__</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="@SIGIS"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portSensi_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SENSITIVITY)"><xsl:value-of select="@SENSITIVIITY"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portVecFormula_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@VECFORMULA"><xsl:value-of select="@VECFORMULA"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:call-template name="WRITE_PORT_SET">
|
||||
<xsl:with-param name="iName" select="$portName_"/>
|
||||
<xsl:with-param name="iDir" select="$portDir_"/>
|
||||
<xsl:with-param name="iSigName" select="$portSig_"/>
|
||||
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
|
||||
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
|
||||
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each> <!-- END of PORTS NOT OF INTERFACE -->
|
||||
|
||||
<!-- PORTS part of a BUSINTERFACE -->
|
||||
<xsl:if test="$SHOW_BUSIF = 'TRUE'">
|
||||
<xsl:for-each select="$m_bifs_all_">
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="bifRef_" select="self::node()"/>
|
||||
<xsl:variable name="portmapsRef_" select="$bifRef_/PORTMAPS"/>
|
||||
|
||||
<!--
|
||||
<xsl:variable name="bpmsCnt_" select="count($bpmsRef_/PORTMAP)"/>
|
||||
<xsl:message><xsl:value-of select="$instName_"/>.<xsl:value-of select="$bifName_"/>.<xsl:value-of select="$bpmsCnt_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="is_external_">
|
||||
<xsl:call-template name="F_IS_Interface_External">
|
||||
<xsl:with-param name="iInstRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iIntfRef" select="$bifRef_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bif_connection_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@BUSNAME = '__NOC__')">Connected to BUS <xsl:value-of select="@BUSNAME"/></xsl:when>
|
||||
<xsl:when test="($is_external_ = 'TRUE')">Connected to External Ports</xsl:when>
|
||||
<xsl:otherwise>Not connected to BUS or External Ports</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!-- <SET ID="{@NAME}" CLASS="BUSINTERFACE.PORTS"/> -->
|
||||
<xsl:element name="SET">
|
||||
|
||||
<xsl:attribute name="ID"><xsl:value-of select="@NAME"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">BUSINTERFACE.PORTS</xsl:attribute>
|
||||
|
||||
<xsl:if test="$is_external_ = 'TRUE'">
|
||||
<xsl:attribute name="IS_EXTERNAL">TRUE</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="(BUS_IF) {@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="BUSINTERFACE.CONNECTION" VALUE="{$bif_connection_}"/>
|
||||
|
||||
<xsl:for-each select="$portmapsRef_/PORTMAP">
|
||||
|
||||
<xsl:variable name="portDir_" select="@DIR"/>
|
||||
<xsl:variable name="portName_" select="@PHYSICAL"/>
|
||||
|
||||
<xsl:if test="$m_ports_def_[(@NAME = $portName_)]"><!-- Only in map if port is valid -->
|
||||
|
||||
<!--
|
||||
<xsl:if test="(not($portRef_/@IS_VALID) or ($portRef_/@IS_VALID = 'TRUE'))"/>
|
||||
<xsl:sort select="@MPD_INDEX" order="ascending"/>
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
-->
|
||||
<xsl:variable name="portRef_" select="$m_ports_def_[(@NAME = $portName_)]"/>
|
||||
<xsl:variable name="portSig_" select="$portRef_/@SIGNAME"/>
|
||||
|
||||
<xsl:variable name="portSigIs_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not($portRef_/@SIGIS)">__NONE__</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$portRef_/@SIGIS"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portSensi_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($portRef_/@SENSITIVITY)"><xsl:value-of select="$portRef_/@SENSITIVITY"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portVecFormula_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$portRef_/@VECFORMULA"><xsl:value-of select="$portRef_/@VECFORMULA"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="WRITE_PORT_SET">
|
||||
<xsl:with-param name="iName" select="$portName_"/>
|
||||
<xsl:with-param name="iDir" select="$portDir_"/>
|
||||
<xsl:with-param name="iSigName" select="$portSig_"/>
|
||||
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
|
||||
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
|
||||
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:for-each> <!-- END BIF PORTMAPS LOOP -->
|
||||
</xsl:element>
|
||||
</xsl:for-each> <!-- END BIFS LOOP -->
|
||||
</xsl:if> <!-- END IF SHOW_BUSIFS -->
|
||||
|
||||
|
||||
<!-- PORTS part of a IOINTERFACE -->
|
||||
<xsl:if test="$SHOW_IOIF = 'TRUE'">
|
||||
|
||||
<xsl:for-each select="$m_iofs_all_[PORTMAPS/PORTMAP]">
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="iifName_" select="@NAME"/>
|
||||
<xsl:variable name="iifRef_" select="self::node()"/>
|
||||
<xsl:variable name="portmapsRef_" select="$iifRef_/PORTMAPS"/>
|
||||
|
||||
<xsl:variable name="is_external_">
|
||||
<xsl:call-template name="F_IS_Interface_External">
|
||||
<xsl:with-param name="iInstRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iIntfRef" select="$iifRef_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="iif_connection_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($is_external_ ='TRUE')">Connected to External Ports</xsl:when>
|
||||
<xsl:otherwise>Not connected to External Ports</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:element name="SET">
|
||||
|
||||
<xsl:attribute name="ID"><xsl:value-of select="@NAME"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">IOINTERFACE.PORTS</xsl:attribute>
|
||||
|
||||
<xsl:if test="$is_external_ = 'TRUE'">
|
||||
<xsl:attribute name="IS_EXTERNAL">TRUE</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="(IO_IF) {@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="IOINTERFACE.CONNECTION" VALUE="{$iif_connection_}"/>
|
||||
|
||||
<xsl:for-each select="$portmapsRef_/PORTMAP">
|
||||
|
||||
<xsl:variable name="portName_" select="@PHYSICAL"/>
|
||||
<xsl:variable name="portDir_" select="@DIR"/>
|
||||
|
||||
<!--
|
||||
<xsl:variable name="port_is_valid_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$portRef_/@IS_VALID = 'FALSE'">FALSE</xsl:when>
|
||||
<xsl:otherwise>TRUE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:message><xsl:value-of select="$portName_"/> : <xsl:value-of select="$port_is_valid_"/> : <xsl:value-of select="$portRef_/@IS_VALID"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:if test="$m_ports_def_[(@NAME = $portName_)]"> <!-- Only in map if port is valid -->
|
||||
<!--
|
||||
<xsl:message><xsl:value-of select="$portName_"/> </xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="portRef_" select="$m_ports_def_[(@NAME = $portName_)]"/>
|
||||
<xsl:variable name="portSig_" select="$portRef_/@SIGNAME"/>
|
||||
|
||||
<xsl:variable name="portSigIs_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not($portRef_/@SIGIS)">__NONE__</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$portRef_/@SIGIS"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portSensi_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($portRef_/@SENSITIVITY)"><xsl:value-of select="$portRef_/@SENSITIVITY"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portVecFormula_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$portRef_/@VECFORMULA"><xsl:value-of select="$portRef_/@VECFORMULA"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="WRITE_PORT_SET">
|
||||
<xsl:with-param name="iName" select="$portName_"/>
|
||||
<xsl:with-param name="iDir" select="$portDir_"/>
|
||||
<xsl:with-param name="iSigName" select="$portSig_"/>
|
||||
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
|
||||
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
|
||||
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if> <!-- End of port is valid check -->
|
||||
</xsl:for-each> <!-- END IO INTERFACE PORTMAPS LOOP -->
|
||||
</xsl:element>
|
||||
</xsl:for-each> <!-- END IIFS LOOP -->
|
||||
</xsl:if> <!-- END IF SHOW_IOIFS -->
|
||||
</SET>
|
||||
|
||||
</xsl:for-each> <!-- End of the scoping for key functions-->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_PORT_FLAT">
|
||||
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>WRITING PORT MODE <xsl:value-of select="@MODE"/></xsl:message>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:variable name="num_of_ext_ports_" select="count($G_SYS_EXPS/PORT)"/>
|
||||
<xsl:if test="$num_of_ext_ports_ > 0">
|
||||
<xsl:call-template name="WRITE_VIEW_EXTP_FLAT_SET"/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE">
|
||||
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
|
||||
<xsl:variable name="instName_" select="@INSTANCE"/>
|
||||
<xsl:variable name="moduleRef_" select="self::node()"/>
|
||||
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_FLAT_SET">
|
||||
<xsl:with-param name="iModRef" select="$moduleRef_"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each> <!-- End of Modules Loop -->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_EXTP_FLAT_SET">
|
||||
|
||||
<xsl:for-each select="$G_SYS_EXPS">
|
||||
<xsl:for-each select="PORT[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<xsl:sort data-type="number" select="@MHS_INDEX" order="ascending"/>
|
||||
<xsl:variable name="ext_is_interrupt_">
|
||||
<xsl:if test="@SIGIS = 'INTERRUPT'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@SIGIS = 'INTERRUPT')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<SET ID="{@NAME}" CLASS="PORT">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="External Ports"/>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Port Name" NAME="NAME" VALUE="{@NAME}"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="@LEFT and @RIGHT">
|
||||
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@LEFT"/>:<xsl:value-of select="@RIGHT"/>]</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="@MSB and @LSB">
|
||||
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(not(@MSB) and not(@LSB) and not(@SIGIS = 'CLK') and not(@SIGIS = 'CLOCK') and not(@SIGIS = 'DCMCLK') and not(@SIGIS = 'RST') and not(@SIGIS = 'RESET'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE=""/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_EDITABLE="TRUE"/>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Direction" NAME="DIR" VALUE="{@DIR}"/>
|
||||
|
||||
<xsl:if test="(@SIGIS)">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="{@SIGIS}"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@SIGIS)">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="NONE"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIGIS = 'RST' or @SIGIS = 'RESET')">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Reset Polarity" NAME="RSTPOLARITY" VALUE="{@RSTPOLARITY}"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="((@SIGIS = 'CLK') or (@SIGIS = 'CLOCK') or (@SIGIS = 'DCMCLK'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Frequency(Hz)" NAME="CLKFREQUENCY" VALUE="{@CLKFREQUENCY}"/>
|
||||
</xsl:if>
|
||||
|
||||
<!-- SENSITIVITY Settings on Interrupt ports -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="((@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and not(@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE=""/>
|
||||
</xsl:when>
|
||||
<xsl:when test="((@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and (@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@SIGNAME = '__DEF__') and ($ext_is_interrupt_ = 'TRUE') and not(@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE=""/>
|
||||
</xsl:when>
|
||||
<xsl:when test="((@SIGNAME = '__DEF__') and ($ext_is_interrupt_ = 'TRUE') and (@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and not(@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE=""/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and (@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</SET>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_PORT_FLAT_SET">
|
||||
|
||||
<xsl:param name="iModRef" select="'__NONE__'"/>
|
||||
|
||||
<xsl:variable name="m_inst_" select="$iModRef/@INSTANCE"/>
|
||||
<xsl:variable name="m_class_" select="$iModRef/@MODCLASS"/>
|
||||
<xsl:variable name="m_type_" select="$iModRef/@MODTYPE"/>
|
||||
<xsl:variable name="m_type_lc_" select="translate($m_type_,&UPPER2LOWER;)"/>
|
||||
<xsl:variable name="m_version_" select="$iModRef/@HWVERSION"/>
|
||||
<xsl:variable name="m_licinfo_" select="$iModRef/LICENSEINFO"/>
|
||||
|
||||
<xsl:variable name="is_axi_interconnect_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$m_type_ = 'axi_interconnect'">TRUE</xsl:when>
|
||||
<xsl:when test="$m_type_lc_ = 'axi_interconnect'">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To put things in the right scope for the keys below -->
|
||||
|
||||
<xsl:variable name="m_bifs_all_" select="key('G_MAP_ALL_BIFS', $m_inst_)"/>
|
||||
<xsl:variable name="m_ports_all_" select="key('G_MAP_ALL_PORTS',$m_inst_)"/>
|
||||
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'">
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_ports_all_)"/> valid ports </xsl:message>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:for-each select="$m_ports_all_">
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
<!-- <xsl:message>PORTNM : <xsl:value-of select="@NAME"/></xsl:message> -->
|
||||
|
||||
<xsl:variable name="p_nm_uc_" select="translate(@NAME,&LOWER2UPPER;)"/>
|
||||
<xsl:variable name="p_bif_" select="@BUS"/>
|
||||
|
||||
<xsl:variable name="port_is_valid_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@IS_VALID = 'FALSE'">FALSE</xsl:when>
|
||||
<xsl:when test="(($is_axi_interconnect_ = 'TRUE') and ($p_nm_uc_= 'INTERCONNECT_ACLK'))">TRUE</xsl:when>
|
||||
<xsl:when test="not(@BUS) or (@BUS and key('G_MAP_ALL_BIFS', $m_inst_)[(@NAME = $p_bif_)])">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="$port_is_valid_ = 'TRUE'">
|
||||
<!--
|
||||
<xsl:message>PORT <xsl:value-of select="@BUS"/>.<xsl:value-of select="@NAME"/></xsl:message>
|
||||
-->
|
||||
<SET ID="{@NAME}" CLASS="PORT">
|
||||
<!--
|
||||
CR452579
|
||||
Can only modify INSTANCE name in Hierarchal view.
|
||||
-->
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$m_inst_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$m_type_}" VIEWICON="{$m_licinfo_/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$m_version_}"/>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Port Name" NAME="NAME" VALUE="{@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Direction" NAME="DIR" VALUE="{@DIR}"/>
|
||||
|
||||
<xsl:if test="@SIGIS">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Class" NAME="SIGIS" VALUE="{@SIGIS}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@VECFORMULA">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{@VECFORMULA}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@SENSITIVITY">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:variable name="is_interrupt">
|
||||
<xsl:if test="@SIGIS = 'INTERRUPT'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@SIGIS = 'INTERRUPT')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="is_input">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@DIR= 'I')">TRUE</xsl:when>
|
||||
<xsl:when test="(@DIR= 'IN')">TRUE</xsl:when>
|
||||
<xsl:when test="(@DIR= 'INPUT')">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!-- VECFORMULA Settings if Interrupt settings -->
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="((@SIGNAME = '__NOC__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and not(@VECFORMULA))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@SIGNAME = '__NOC__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and (@VECFORMULA))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="@SIGNAME = '__NOC__'">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_EDITABLE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@SIGNAME = '__DEF__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and not(@VECFORMULA))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="((@SIGNAME = '__DEF__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and (@VECFORMULA))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="@SIGNAME = '__DEF__'">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and (@VECFORMULA))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_EDITABLE="TRUE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</SET>
|
||||
</xsl:if> <!-- End of port validity check -->
|
||||
</xsl:for-each> <!-- End of Ports Loop -->
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_PORT_SET">
|
||||
|
||||
<xsl:param name="iName" select="'__NONE__'"/>
|
||||
<xsl:param name="iDir" select="'__NONE__'"/>
|
||||
<xsl:param name="iSigName" select="'__NONE__'"/>
|
||||
<xsl:param name="iSigIs" select="'__NONE__'"/>
|
||||
<xsl:param name="iVecFormula" select="'__NONE__'"/>
|
||||
<xsl:param name="iSensitivity" select="'__NONE__'"/>
|
||||
|
||||
<SET ID="{$iName}" CLASS="PORT">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="{$iName}"/>
|
||||
|
||||
<xsl:variable name="is_interrupt">
|
||||
<xsl:if test="$iSigIs = 'INTERRUPT'">TRUE</xsl:if>
|
||||
<xsl:if test="not($iSigIs = 'INTERRUPT')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="is_input">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iDir = 'I')">TRUE</xsl:when>
|
||||
<xsl:when test="($iDir = 'IN')">TRUE</xsl:when>
|
||||
<xsl:when test="($iDir = 'INPUT')">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="(($iSigName = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and ($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="$iSigName = '__NOC__'">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_EDITABLE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(($iSigName = '__DEF__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and ($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(($iSigName = '__DEF__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($iSigName = '__DEF__')">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not($iSigName = '__DEF__') and not($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{$iSigName}" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not($iSigName = '__DEF__') and not($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{$iSigName}" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{$iSigName}" IS_EDITABLE="TRUE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Direction" NAME="DIR" VALUE="{$iDir}"/>
|
||||
|
||||
<xsl:if test="not($iSigIs = '__NONE__')">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Class" NAME="SIGIS" VALUE="{$iSigIs}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($iVecFormula = '__NONE__')">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$iVecFormula}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($iSensitivity = '__NONE__')">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{$iSensitivity}"/>
|
||||
</xsl:if>
|
||||
</SET>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
|
@ -1,2 +0,0 @@
|
||||
|
||||
<SAV MODE="TREE" VIEW="ADDRESS"/>
|
@ -1,218 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<report-views version="2.0" >
|
||||
<header>
|
||||
<DateModified>2011-05-30T20:52:00</DateModified>
|
||||
<ModuleName>RTOSDemo</ModuleName>
|
||||
<SummaryTimeStamp>2011-05-30T20:52:00</SummaryTimeStamp>
|
||||
<SavedFilePath>C:/E/Dev/FreeRTOS/WorkingCopy/Demo/MicroBlaze_Spartan-6_SP605/__xps/ise/RTOSDemo.xreport</SavedFilePath>
|
||||
<FilterFile>filter.filter</FilterFile>
|
||||
<SavedFilterFilePath>C:/E/Dev/FreeRTOS/WorkingCopy/Demo/MicroBlaze_Spartan-6_SP605/__xps/ise</SavedFilterFilePath>
|
||||
<DateInitialized>2011-05-30T16:47:01</DateInitialized>
|
||||
<EnableMessageFiltering>false</EnableMessageFiltering>
|
||||
</header>
|
||||
<body>
|
||||
<viewgroup label="Design Overview" >
|
||||
<view inputState="Unknown" program="implementation" ShowPartitionData="false" type="FPGASummary" file="implementation\RTOSDemo_summary.html" label="Summary" >
|
||||
<toc-item title="Design Overview" target="Design Overview" />
|
||||
<toc-item title="Design Utilization Summary" target="Design Utilization Summary" />
|
||||
<toc-item title="Performance Summary" target="Performance Summary" />
|
||||
<toc-item title="Failing Constraints" target="Failing Constraints" />
|
||||
<toc-item title="Detailed Reports" target="Detailed Reports" />
|
||||
</view>
|
||||
<view inputState="Unknown" program="implementation" contextTags="FPGA_ONLY" hidden="true" type="HTML" file="implementation\RTOSDemo_envsettings.html" label="System Settings" />
|
||||
<view inputState="Translated" program="map" locator="MAP_IOB_TABLE" contextTags="FPGA_ONLY" type="IOBProperties" file="implementation\RTOSDemo_map.xrpt" label="IOB Properties" />
|
||||
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Control_Sets" file="implementation\RTOSDemo_map.xrpt" label="Control Set Information" />
|
||||
<view inputState="Translated" program="map" locator="MAP_MODULE_HIERARCHY" contextTags="FPGA_ONLY" type="Module_Utilization" file="implementation\RTOSDemo_map.xrpt" label="Module Level Utilization" />
|
||||
<view inputState="Mapped" program="par" locator="CONSTRAINT_TABLE" contextTags="FPGA_ONLY" type="ConstraintsData" file="implementation\RTOSDemo.ptwx" label="Timing Constraints" translator="ptwxToTableXML.xslt" />
|
||||
<view inputState="Mapped" program="par" locator="PAR_PINOUT_BY_PIN_NUMBER" contextTags="FPGA_ONLY" type="PinoutData" file="implementation\RTOSDemo_par.xrpt" label="Pinout Report" />
|
||||
<view inputState="Mapped" program="par" locator="PAR_CLOCK_TABLE" contextTags="FPGA_ONLY" type="ClocksData" file="implementation\RTOSDemo_par.xrpt" label="Clock Report" />
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY,EDK_OFF" hidden="true" type="Timing_Analyzer" file="implementation\RTOSDemo.twx" label="Static Timing" />
|
||||
<view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="implementation\RTOSDemo_html/fit/report.htm" label="CPLD Fitter Report" />
|
||||
<view inputState="Fitted" program="taengine" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="implementation\RTOSDemo_html/tim/report.htm" label="CPLD Timing Report" />
|
||||
</viewgroup>
|
||||
<viewgroup label="XPS Errors and Warnings" >
|
||||
<view program="platgen" WrapMessages="true" contextTags="EDK_ON" hidden="false" type="MessageList" hideColumns="Filtered" file="__xps/ise/_xmsgs/platgen.xmsgs" label="Platgen Messages" />
|
||||
<view program="libgen" WrapMessages="true" contextTags="EDK_ON" hidden="false" type="MessageList" hideColumns="Filtered" file="__xps/ise/_xmsgs/libgen.xmsgs" label="Libgen Messages" />
|
||||
<view program="simgen" WrapMessages="true" contextTags="EDK_ON" hidden="false" type="MessageList" hideColumns="Filtered" file="__xps/ise/_xmsgs/simgen.xmsgs" label="Simgen Messages" />
|
||||
<view program="bitinit" WrapMessages="true" contextTags="EDK_ON" hidden="false" type="MessageList" hideColumns="Filtered" file="__xps/ise/_xmsgs/bitinit.xmsgs" label="BitInit Messages" />
|
||||
</viewgroup>
|
||||
<viewgroup label="XPS Reports" >
|
||||
<view inputState="PreSynthesized" program="platgen" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="platgen.log" label="Platgen Log File" />
|
||||
<view inputState="PreSynthesized" program="libgen" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="libgen.log" label="Libgen Log File" />
|
||||
<view inputState="PreSynthesized" program="simgen" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="simgen.log" label="Simgen Log File" />
|
||||
<view inputState="PreSynthesized" program="bitinit" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="bitinit.log" label="BitInit Log File" />
|
||||
<view inputState="PreSynthesized" program="system" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="RTOSDemo.log" label="System Log File" />
|
||||
</viewgroup>
|
||||
<viewgroup label="Errors and Warnings" >
|
||||
<view program="pn" WrapMessages="true" contextTags="EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered, New" file="implementation\_xmsgs/pn_parser.xmsgs" label="Parser Messages" />
|
||||
<view program="xst" WrapMessages="true" contextTags="XST_ONLY,EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered" file="synthesis\_xmsgs/xst.xmsgs" label="Synthesis Messages" />
|
||||
<view inputState="Synthesized" program="ngdbuild" WrapMessages="true" type="MessageList" hideColumns="Filtered" file="implementation\_xmsgs/ngdbuild.xmsgs" label="Translation Messages" />
|
||||
<view inputState="Translated" program="map" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation\_xmsgs/map.xmsgs" label="Map Messages" />
|
||||
<view inputState="Mapped" program="par" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation\_xmsgs/par.xmsgs" label="Place and Route Messages" />
|
||||
<view inputState="Routed" program="trce" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation\_xmsgs/trce.xmsgs" label="Timing Messages" />
|
||||
<view inputState="Routed" program="xpwr" WrapMessages="true" contextTags="EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered" file="implementation\_xmsgs/xpwr.xmsgs" label="Power Messages" />
|
||||
<view inputState="Routed" program="bitgen" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation\_xmsgs/bitgen.xmsgs" label="Bitgen Messages" />
|
||||
<view inputState="Translated" program="cpldfit" WrapMessages="true" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered" file="implementation\_xmsgs/cpldfit.xmsgs" label="Fitter Messages" />
|
||||
<view inputState="Current" program="implementation" WrapMessages="true" fileList="_xmsgs/xst.xmsgs,_xmsgs/ngdbuild.xmsgs,_xmsgs/map.xmsgs,_xmsgs/par.xmsgs,_xmsgs/trce.xmsgs,_xmsgs/xpwr.xmsgs,_xmsgs/bitgen.xmsgs" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation\_xmsgs/*.xmsgs" label="All Implementation Messages" />
|
||||
<view inputState="Current" program="fitting" WrapMessages="true" fileList="_xmsgs/xst.xmsgs,_xmsgs/ngdbuild.xmsgs,_xmsgs/cpldfit.xmsgs,_xmsgs/xpwr.xmsgs" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="CPLD_MessageList" hideColumns="Filtered" file="implementation\_xmsgs/*.xmsgs" label="All Implementation Messages (CPLD)" />
|
||||
</viewgroup>
|
||||
<viewgroup label="Detailed Reports" >
|
||||
<view program="xst" contextTags="XST_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation\RTOSDemo.syr" label="Synthesis Report" >
|
||||
<toc-item title="Top of Report" target="Copyright " searchDir="Forward" />
|
||||
<toc-item title="Synthesis Options Summary" target=" Synthesis Options Summary " />
|
||||
<toc-item title="HDL Compilation" target=" HDL Compilation " />
|
||||
<toc-item title="Design Hierarchy Analysis" target=" Design Hierarchy Analysis " />
|
||||
<toc-item title="HDL Analysis" target=" HDL Analysis " />
|
||||
<toc-item title="HDL Parsing" target=" HDL Parsing " />
|
||||
<toc-item title="HDL Elaboration" target=" HDL Elaboration " />
|
||||
<toc-item title="HDL Synthesis" target=" HDL Synthesis " />
|
||||
<toc-item title="HDL Synthesis Report" target="HDL Synthesis Report" searchCnt="2" searchDir="Backward" subItemLevel="1" />
|
||||
<toc-item title="Advanced HDL Synthesis" target=" Advanced HDL Synthesis " searchDir="Backward" />
|
||||
<toc-item title="Advanced HDL Synthesis Report" target="Advanced HDL Synthesis Report" subItemLevel="1" />
|
||||
<toc-item title="Low Level Synthesis" target=" Low Level Synthesis " />
|
||||
<toc-item title="Partition Report" target=" Partition Report " />
|
||||
<toc-item title="Final Report" target=" Final Report " />
|
||||
<toc-item title="Design Summary" target=" Design Summary " />
|
||||
<toc-item title="Primitive and Black Box Usage" target="Primitive and Black Box Usage:" subItemLevel="1" />
|
||||
<toc-item title="Device Utilization Summary" target="Device utilization summary:" subItemLevel="1" />
|
||||
<toc-item title="Partition Resource Summary" target="Partition Resource Summary:" subItemLevel="1" />
|
||||
<toc-item title="Timing Report" target="Timing Report" subItemLevel="1" />
|
||||
<toc-item title="Clock Information" target="Clock Information" subItemLevel="2" />
|
||||
<toc-item title="Asynchronous Control Signals Information" target="Asynchronous Control Signals Information" subItemLevel="2" />
|
||||
<toc-item title="Timing Summary" target="Timing Summary" subItemLevel="2" />
|
||||
<toc-item title="Timing Details" target="Timing Details" subItemLevel="2" />
|
||||
<toc-item title="Cross Clock Domains Report" target="Cross Clock Domains Report:" subItemLevel="2" />
|
||||
</view>
|
||||
<view program="synplify" contextTags="SYNPLIFY_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation\RTOSDemo.srr" label="Synplify Report" />
|
||||
<view program="precision" contextTags="PRECISION_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation\RTOSDemo.prec_log" label="Precision Report" />
|
||||
<view inputState="Synthesized" program="ngdbuild" type="Report" file="implementation\RTOSDemo.bld" label="Translation Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Command Line" target="Command Line:" />
|
||||
<toc-item title="Partition Status" target="Partition Implementation Status" />
|
||||
<toc-item title="Final Summary" target="NGDBUILD Design Results Summary:" />
|
||||
</view>
|
||||
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" type="Report" file="implementation\RTOSDemo_map.mrp" label="Map Report" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
<toc-item title="Section 1: Errors" target="Section 1 -" searchDir="Backward" />
|
||||
<toc-item title="Section 2: Warnings" target="Section 2 -" searchDir="Backward" />
|
||||
<toc-item title="Section 3: Infos" target="Section 3 -" searchDir="Backward" />
|
||||
<toc-item title="Section 4: Removed Logic Summary" target="Section 4 -" searchDir="Backward" />
|
||||
<toc-item title="Section 5: Removed Logic" target="Section 5 -" searchDir="Backward" />
|
||||
<toc-item title="Section 6: IOB Properties" target="Section 6 -" searchDir="Backward" />
|
||||
<toc-item title="Section 7: RPMs" target="Section 7 -" searchDir="Backward" />
|
||||
<toc-item title="Section 8: Guide Report" target="Section 8 -" searchDir="Backward" />
|
||||
<toc-item title="Section 9: Area Group and Partition Summary" target="Section 9 -" searchDir="Backward" />
|
||||
<toc-item title="Section 10: Timing Report" target="Section 10 -" searchDir="Backward" />
|
||||
<toc-item title="Section 11: Configuration String Details" target="Section 11 -" searchDir="Backward" />
|
||||
<toc-item title="Section 12: Control Set Information" target="Section 12 -" searchDir="Backward" />
|
||||
<toc-item title="Section 13: Utilization by Hierarchy" target="Section 13 -" searchDir="Backward" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" type="Report" file="implementation\RTOSDemo.par" label="Place and Route Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Device Utilization" target="Device Utilization Summary:" />
|
||||
<toc-item title="Router Information" target="Starting Router" />
|
||||
<toc-item title="Partition Status" target="Partition Implementation Status" />
|
||||
<toc-item title="Clock Report" target="Generating Clock Report" />
|
||||
<toc-item title="Timing Results" target="Timing Score:" />
|
||||
<toc-item title="Final Summary" target="Peak Memory Usage:" />
|
||||
</view>
|
||||
<view inputState="Routed" program="trce" contextTags="FPGA_ONLY" type="Report" file="implementation\RTOSDemo.twr" label="Post-PAR Static Timing Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Timing Report Description" target="Device,package,speed:" />
|
||||
<toc-item title="Informational Messages" target="INFO:" />
|
||||
<toc-item title="Warning Messages" target="WARNING:" />
|
||||
<toc-item title="Timing Constraints" target="Timing constraint:" />
|
||||
<toc-item title="Derived Constraint Report" target="Derived Constraint Report" />
|
||||
<toc-item title="Data Sheet Report" target="Data Sheet report:" />
|
||||
<toc-item title="Timing Summary" target="Timing summary:" />
|
||||
<toc-item title="Trace Settings" target="Trace Settings:" />
|
||||
</view>
|
||||
<view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation\RTOSDemo.rpt" label="CPLD Fitter Report (Text)" >
|
||||
<toc-item title="Top of Report" target="cpldfit:" searchDir="Forward" />
|
||||
<toc-item title="Resources Summary" target="** Mapped Resource Summary **" />
|
||||
<toc-item title="Pin Resources" target="** Pin Resources **" />
|
||||
<toc-item title="Global Resources" target="** Global Control Resources **" />
|
||||
</view>
|
||||
<view inputState="Fitted" program="taengine" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation\RTOSDemo.tim" label="CPLD Timing Report (Text)" >
|
||||
<toc-item title="Top of Report" target="Performance Summary Report" searchDir="Forward" />
|
||||
<toc-item title="Performance Summary" target="Performance Summary:" />
|
||||
</view>
|
||||
<view inputState="Routed" program="xpwr" contextTags="EDK_OFF" hidden="true" type="Report" file="implementation\RTOSDemo.pwr" label="Power Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Power summary" target="Power summary" />
|
||||
<toc-item title="Thermal summary" target="Thermal summary" />
|
||||
</view>
|
||||
<view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" type="Report" file="implementation\RTOSDemo.bgn" label="Bitgen Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Bitgen Options" target="Summary of Bitgen Options:" />
|
||||
<toc-item title="Final Summary" target="DRC detected" />
|
||||
</view>
|
||||
</viewgroup>
|
||||
<viewgroup label="Secondary Reports" >
|
||||
<view inputState="PreSynthesized" program="isim" hidden="if_missing" type="Secondary_Report" file="implementation\isim.log" label="ISIM Simulator Log" />
|
||||
<view inputState="Synthesized" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation\netgen/synthesis/RTOSDemo_synthesis.nlf" label="Post-Synthesis Simulation Model Report" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Translated" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation\netgen/translate/RTOSDemo_translate.nlf" label="Post-Translate Simulation Model Report" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Translated" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo_tran_fecn.nlf" label="Post-Translate Formality Netlist Report" />
|
||||
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="implementation\RTOSDemo_map.map" label="Map Log File" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
<toc-item title="Design Information" target="Design Information" />
|
||||
<toc-item title="Design Summary" target="Design Summary" />
|
||||
</view>
|
||||
<view inputState="Routed" program="smartxplorer" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\smartxplorer_results/smartxplorer.txt" label="SmartXplorer Report" />
|
||||
<view inputState="Mapped" program="trce" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo_preroute.twr" label="Post-Map Static Timing Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Timing Report Description" target="Device,package,speed:" />
|
||||
<toc-item title="Informational Messages" target="INFO:" />
|
||||
<toc-item title="Warning Messages" target="WARNING:" />
|
||||
<toc-item title="Timing Constraints" target="Timing constraint:" />
|
||||
<toc-item title="Derived Constraint Report" target="Derived Constraint Report" />
|
||||
<toc-item title="Data Sheet Report" target="Data Sheet report:" />
|
||||
<toc-item title="Timing Summary" target="Timing summary:" />
|
||||
<toc-item title="Trace Settings" target="Trace Settings:" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation\netgen/map/RTOSDemo_map.nlf" label="Post-Map Simulation Model Report" />
|
||||
<view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo_map.psr" label="Physical Synthesis Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="true" type="Pad_Report" file="implementation\RTOSDemo_pad.txt" label="Pad Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="implementation\RTOSDemo.unroutes" label="Unroutes Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo_preroute.tsi" label="Post-Map Constraints Interaction Report" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo.grf" label="Guide Results Report" />
|
||||
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo.dly" label="Asynchronous Delay Report" />
|
||||
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo.clk_rgn" label="Clock Region Report" />
|
||||
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo.tsi" label="Post-Place and Route Constraints Interaction Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo_par_fecn.nlf" label="Post-Place and Route Formality Netlist Report" />
|
||||
<view inputState="Routed" program="netgen" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\netgen/par/RTOSDemo_timesim.nlf" label="Post-Place and Route Simulation Model Report" />
|
||||
<view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo_sta.nlf" label="Primetime Netlist Report" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Routed" program="ibiswriter" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo.ibs" label="IBIS Model" >
|
||||
<toc-item title="Top of Report" target="IBIS Models for" searchDir="Forward" />
|
||||
<toc-item title="Component" target="Component " />
|
||||
</view>
|
||||
<view inputState="Routed" program="pin2ucf" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo.lck" label="Back-annotate Pin Report" >
|
||||
<toc-item title="Top of Report" target="pin2ucf Report File" searchDir="Forward" />
|
||||
<toc-item title="Constraint Conflicts Information" target="Constraint Conflicts Information" />
|
||||
</view>
|
||||
<view inputState="Routed" program="pin2ucf" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\RTOSDemo.lpc" label="Locked Pin Constraints" >
|
||||
<toc-item title="Top of Report" target="top.lpc" searchDir="Forward" />
|
||||
<toc-item title="Newly Added Constraints" target="The following constraints were newly added" />
|
||||
</view>
|
||||
<view inputState="Translated" program="netgen" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Secondary_Report" file="implementation\netgen/fit/RTOSDemo_timesim.nlf" label="Post-Fit Simulation Model Report" />
|
||||
<view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" hidden="if_missing" type="HTML" file="implementation\usage_statistics_webtalk.html" label="WebTalk Report" />
|
||||
<view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\webtalk.log" label="WebTalk Log File" />
|
||||
</viewgroup>
|
||||
</body>
|
||||
</report-views>
|
@ -1,3 +0,0 @@
|
||||
MessageCaptureEnabled: TRUE
|
||||
MessageFilteringEnabled: FALSE
|
||||
IncrementalMessagingEnabled: TRUE
|
@ -1,2 +0,0 @@
|
||||
-p xc6slx45tfgg484-3 -lang vhdl$(PROJECT_SEARCHPATHOPT) $(GLOBAL_SEARCHPATHOPT) -msg __xps/ise/xmsgprops.lst
|
||||
|
@ -1 +0,0 @@
|
||||
-p spartan6 -lang vhdl$(PROJECT_SEARCHPATHOPT) $(GLOBAL_SEARCHPATHOPT) -msg __xps/ise/xmsgprops.lst -s isim
|
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
||||
-device xc6slx45tfgg484-3 data/RTOSDemo.ucf 7 0
|
@ -1 +0,0 @@
|
||||
-device xc6slx45tfgg484-3 data/RTOSDemo.ucf 0
|
Loading…
Reference in New Issue