mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-09-01 11:53:53 -04:00
Add FreeRTOS-Plus directory.
This commit is contained in:
parent
7bd5f21ad5
commit
f508a5f653
6798 changed files with 134949 additions and 19 deletions
|
@ -0,0 +1,180 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
|
||||
<!--
|
||||
<xsl:output method="xml"
|
||||
version="1.0"
|
||||
encoding="UTF-8" indent="yes"
|
||||
doctype-public="-//W3C//DTD SVG Tiny 1.1//EN"
|
||||
doctype-system="http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
BUS INTERFACE DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_BIF_H" select="16"/>
|
||||
<xsl:variable name="BLKD_BIF_W" select="32"/>
|
||||
|
||||
<xsl:variable name="BLKD_BIFC_H" select="24"/>
|
||||
<xsl:variable name="BLKD_BIFC_W" select="24"/>
|
||||
|
||||
<xsl:variable name="BLKD_BIFC_dx" select="ceiling($BLKD_BIFC_W div 5)"/>
|
||||
<xsl:variable name="BLKD_BIFC_dy" select="ceiling($BLKD_BIFC_H div 5)"/>
|
||||
<xsl:variable name="BLKD_BIFC_Hi" select="($BLKD_BIFC_H - ($BLKD_BIFC_dy * 2))"/>
|
||||
<xsl:variable name="BLKD_BIFC_Wi" select="($BLKD_BIFC_W - ($BLKD_BIFC_dx * 2))"/>
|
||||
|
||||
<xsl:variable name="BLKD_BIF_TYPE_ONEWAY" select="'OneWay'"/>
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
GLOLBAL BUS INTERFACE DIMENSIONS
|
||||
(Define for global MdtSVG_BifShapes.xsl which is used across all
|
||||
diagrams to define the shapes of bifs the same across all diagrams)
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BIF_H" select="$BLKD_BIF_H"/>
|
||||
<xsl:variable name="BIF_W" select="$BLKD_BIF_W"/>
|
||||
|
||||
<xsl:variable name="BIFC_H" select="$BLKD_BIFC_H"/>
|
||||
<xsl:variable name="BIFC_W" select="$BLKD_BIFC_W"/>
|
||||
|
||||
<xsl:variable name="BIFC_dx" select="$BLKD_BIFC_dx"/>
|
||||
<xsl:variable name="BIFC_dy" select="$BLKD_BIFC_dy"/>
|
||||
|
||||
<xsl:variable name="BIFC_Hi" select="$BLKD_BIFC_Hi"/>
|
||||
<xsl:variable name="BIFC_Wi" select="$BLKD_BIFC_Wi"/>
|
||||
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
BUS DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_P2P_BUS_W" select="($BLKD_BUS_ARROW_H - ($BLKD_BUS_ARROW_G * 2))"/>
|
||||
<xsl:variable name="BLKD_SBS_LANE_H" select="($BLKD_MOD_H + ($BLKD_BIF_H * 2))"/>
|
||||
<xsl:variable name="BLKD_BUS_LANE_W" select="($BLKD_BIF_W + ($BLKD_MOD_BIF_GAP_H * 2))"/>
|
||||
<xsl:variable name="BLKD_BUS_ARROW_W" select="ceiling($BLKD_BIFC_W div 3)"/>
|
||||
<xsl:variable name="BLKD_BUS_ARROW_H" select="ceiling($BLKD_BIFC_H div 2)"/>
|
||||
<xsl:variable name="BLKD_BUS_ARROW_G" select="ceiling($BLKD_BIFC_W div 12)"/>
|
||||
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
IO PORT DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_IOP_H" select="16"/>
|
||||
<xsl:variable name="BLKD_IOP_W" select="16"/>
|
||||
<xsl:variable name="BLKD_IOP_SPC" select="12"/>
|
||||
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
INTERRUPT NOTATION DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_INTR_W" select="18"/>
|
||||
<xsl:variable name="BLKD_INTR_H" select="18"/>
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
MODULE DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_MOD_IO_GAP" select="8"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_W" select="( ($BLKD_BIF_W * 2) + ($BLKD_MOD_BIF_GAP_H * 1) + ($BLKD_MOD_LANE_W * 2))"/>
|
||||
<xsl:variable name="BLKD_MOD_H" select="($BLKD_MOD_LABEL_H + ($BLKD_BIF_H * 1) + ($BLKD_MOD_BIF_GAP_V * 1) + ($BLKD_MOD_LANE_H * 2))"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_BIF_GAP_H" select="ceiling($BLKD_BIF_H div 4)"/>
|
||||
<xsl:variable name="BLKD_MOD_BIF_GAP_V" select="ceiling($BLKD_BIFC_H div 2)"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_LABEL_W" select="(($BLKD_BIF_W * 2) + $BLKD_MOD_BIF_GAP_H)"/>
|
||||
<xsl:variable name="BLKD_MOD_LABEL_H" select="(($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 3))"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_LANE_W" select="ceiling($BLKD_BIF_W div 3)"/>
|
||||
<xsl:variable name="BLKD_MOD_LANE_H" select="ceiling($BLKD_BIF_H div 4)"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_EDGE_W" select="ceiling($BLKD_MOD_LANE_W div 2)"/>
|
||||
<xsl:variable name="BLKD_MOD_SHAPES_G" select="($BLKD_BIF_W + $BLKD_BIF_W)"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_BKTLANE_H" select="$BLKD_BIF_H"/>
|
||||
<xsl:variable name="BLKD_MOD_BKTLANE_W" select="$BLKD_BIF_H"/>
|
||||
|
||||
<xsl:variable name="BLKD_MOD_BUCKET_G" select="ceiling($BLKD_BIF_W div 2)"/>
|
||||
|
||||
<xsl:variable name="BLKD_MPMC_MOD_H" select="(($BLKD_BIF_H * 1) + ($BLKD_MOD_BIF_GAP_V * 2) + ($BLKD_MOD_LANE_H * 2))"/>
|
||||
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
GLOBAL DIAGRAM DIMENSIONS
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="BLKD_IORCHAN_H" select="$BLKD_BIF_H"/>
|
||||
<xsl:variable name="BLKD_IORCHAN_W" select="$BLKD_BIF_H"/>
|
||||
|
||||
<xsl:variable name="BLKD_PRTCHAN_H" select="($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 2)"/>
|
||||
<xsl:variable name="BLKD_PRTCHAN_W" select="($BLKD_BIF_H * 2) + ceiling($BLKD_BIF_H div 2) + 8"/>
|
||||
|
||||
<xsl:variable name="BLKD_DRAWAREA_MIN_W" select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * 3) + ($BLKD_MOD_BUCKET_G * 2)))"/>
|
||||
|
||||
<xsl:variable name="BLKD_INNER_X" select="($BLKD_PRTCHAN_W + $BLKD_IORCHAN_W + $BLKD_INNER_GAP)"/>
|
||||
<xsl:variable name="BLKD_INNER_Y" select="($BLKD_PRTCHAN_H + $BLKD_IORCHAN_H + $BLKD_INNER_GAP)"/>
|
||||
<xsl:variable name="BLKD_INNER_GAP" select="ceiling($BLKD_MOD_W div 2)"/>
|
||||
|
||||
<xsl:variable name="BLKD_SBS2IP_GAP" select="$BLKD_MOD_H"/>
|
||||
<xsl:variable name="BLKD_BRIDGE_GAP" select="($BLKD_BUS_LANE_W * 4)"/>
|
||||
<xsl:variable name="BLKD_IP2UNK_GAP" select="$BLKD_MOD_H"/>
|
||||
<xsl:variable name="BLKD_PROC2SBS_GAP" select="($BLKD_BIF_H * 2)"/>
|
||||
<xsl:variable name="BLKD_IOR2PROC_GAP" select="$BLKD_BIF_W"/>
|
||||
<xsl:variable name="BLKD_MPMC2PROC_GAP" select="($BLKD_BIF_H * 2)"/>
|
||||
<xsl:variable name="BLKD_SPECS2KEY_GAP" select="$BLKD_BIF_W"/>
|
||||
<xsl:variable name="BLKD_DRAWAREA2KEY_GAP" select="ceiling($BLKD_BIF_W div 3)"/>
|
||||
|
||||
<xsl:variable name="BLKD_KEY_H" select="250"/>
|
||||
<xsl:variable name="BLKD_KEY_W" select="($BLKD_DRAWAREA_MIN_W + ceiling($BLKD_DRAWAREA_MIN_W div 2.5))"/>
|
||||
|
||||
|
||||
<xsl:variable name="BLKD_SPECS_H" select="100"/>
|
||||
<xsl:variable name="BLKD_SPECS_W" select="300"/>
|
||||
|
||||
|
||||
|
||||
<xsl:variable name="BLKD_BKT_MODS_PER_ROW" select="3"/>
|
||||
|
||||
<!--
|
||||
<xsl:template name="Print_Dimensions">
|
||||
<xsl:message>MOD_LABEL_W : <xsl:value-of select="$MOD_LABEL_W"/></xsl:message>
|
||||
<xsl:message>MOD_LABEL_H : <xsl:value-of select="$MOD_LABEL_H"/></xsl:message>
|
||||
|
||||
<xsl:message>MOD_LANE_W : <xsl:value-of select="$MOD_LANE_W"/></xsl:message>
|
||||
<xsl:message>MOD_LANE_H : <xsl:value-of select="$MOD_LANE_H"/></xsl:message>
|
||||
|
||||
<xsl:message>MOD_EDGE_W : <xsl:value-of select="$MOD_EDGE_W"/></xsl:message>
|
||||
<xsl:message>MOD_SHAPES_G : <xsl:value-of select="$MOD_SHAPES_G"/></xsl:message>
|
||||
|
||||
<xsl:message>MOD_BKTLANE_W : <xsl:value-of select="$MOD_BKTLANE_W"/></xsl:message>
|
||||
<xsl:message>MOD_BKTLANE_H : <xsl:value-of select="$MOD_BKTLANE_H"/></xsl:message>
|
||||
<xsl:message>MOD_BUCKET_G : <xsl:value-of select="$MOD_BUCKET_G"/></xsl:message>
|
||||
|
||||
</xsl:template>
|
||||
-->
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,150 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!-- Generic colors, shared between modules like webpages diagrams and pdfs -->
|
||||
|
||||
<xsl:variable name="COL_XLNX" select="'#AA0017'"/>
|
||||
|
||||
<xsl:variable name="COL_BLACK" select="'#000000'"/>
|
||||
<xsl:variable name="COL_WHITE" select="'#FFFFFF'"/>
|
||||
|
||||
<xsl:variable name="COL_GRAY" select="'#CECECE'"/>
|
||||
<xsl:variable name="COL_GRAY_LT" select="'#E1E1E1'"/>
|
||||
<xsl:variable name="COL_GRAY_DK" select="'#B1B1B1'"/>
|
||||
|
||||
<xsl:variable name="COL_YELLOW" select="'#FFFFDD'"/>
|
||||
<xsl:variable name="COL_YELLOW_LT" select="'#FFFFEE'"/>
|
||||
|
||||
<xsl:variable name="COL_RED" select="'#AA0000'"/>
|
||||
|
||||
<xsl:variable name="COL_GREEN" select="'#33CC33'"/>
|
||||
|
||||
<xsl:variable name="COL_BLUE_LT" select="'#AAAAFF'"/>
|
||||
|
||||
<!-- Colors specific to the Diagrams -->
|
||||
<xsl:variable name="COL_BG" select="'#CCCCCC'"/>
|
||||
<xsl:variable name="COL_BG_LT" select="'#EEEEEE'"/>
|
||||
<xsl:variable name="COL_BG_UNK" select="'#DDDDDD'"/>
|
||||
|
||||
<xsl:variable name="COL_PROC_BG" select="'#FFCCCC'"/>
|
||||
<xsl:variable name="COL_PROC_BG_MB" select="'#222222'"/>
|
||||
<xsl:variable name="COL_PROC_BG_PP" select="'#90001C'"/>
|
||||
<xsl:variable name="COL_PROC_BG_USR" select="'#666699'"/>
|
||||
|
||||
<xsl:variable name="COL_MPMC_BG" select="'#8B0800'"/>
|
||||
|
||||
<xsl:variable name="COL_MOD_BG" select="'#F0F0F0'"/>
|
||||
<xsl:variable name="COL_MOD_SPRT" select="'#888888'"/>
|
||||
<xsl:variable name="COL_MOD_MPRT" select="'#888888'"/>
|
||||
|
||||
<xsl:variable name="COL_IORING" select="'#000088'"/>
|
||||
<xsl:variable name="COL_IORING_LT" select="'#CCCCFF'"/>
|
||||
<xsl:variable name="COL_SYSPRT" select="'#0000BB'"/>
|
||||
|
||||
<xsl:variable name="COL_INTCS">
|
||||
<INTCCOLOR INDEX="0" RGB="#FF9900"/>
|
||||
<INTCCOLOR INDEX="1" RGB="#00CCCC"/>
|
||||
<INTCCOLOR INDEX="2" RGB="#33FF33"/>
|
||||
<INTCCOLOR INDEX="3" RGB="#FF00CC"/>
|
||||
<INTCCOLOR INDEX="4" RGB="#99FF33"/>
|
||||
<INTCCOLOR INDEX="5" RGB="#0066CC"/>
|
||||
<INTCCOLOR INDEX="6" RGB="#9933FF"/>
|
||||
<INTCCOLOR INDEX="7" RGB="#3300FF"/>
|
||||
<INTCCOLOR INDEX="8" RGB="#00FF33"/>
|
||||
<INTCCOLOR INDEX="9" RGB="#FF3333"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="COL_BUSSTDS">
|
||||
<BUSCOLOR BUSSTD="AXI" RGB="#0084AB" RGB_LT="#D0E6EF" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="XIL" RGB="#990066" RGB_LT="#CC3399" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="OCM" RGB="#0000DD" RGB_LT="#9999DD" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="OPB" RGB="#339900" RGB_LT="#CCDDCC" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
|
||||
<BUSCOLOR BUSSTD="LMB" RGB="#7777FF" RGB_LT="#DDDDFF" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="FSL" RGB="#CC00CC" RGB_LT="#FFBBFF" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="DCR" RGB="#6699FF" RGB_LT="#BBDDFF" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="FCB" RGB="#8C00FF" RGB_LT="#CCCCFF" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
|
||||
<BUSCOLOR BUSSTD="PLB" RGB="#FF5500" RGB_LT="#FFBB00" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="PLBV34" RGB="#FF5500" RGB_LT="#FFBB00" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="PLBV46" RGB="#BB9955" RGB_LT="#FFFFDD" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#BB9955" RGB_LT="#FFFFDD" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
|
||||
<BUSCOLOR BUSSTD="USER" RGB="#009999" RGB_LT="#00CCCC" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="KEY" RGB="#444444" RGB_LT="#888888" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
<BUSCOLOR BUSSTD="GRAYSCALE" RGB="#444444" RGB_LT="#888888" RGB_DK="#85C3D9" RGB_TXT="#FFFFFF"/>
|
||||
</xsl:variable>
|
||||
<xsl:variable name = "COL_BUSSTDS_NUMOF" select="count(exsl:node-set($COL_BUSSTDS)/BUSCOLOR)"/>
|
||||
|
||||
<xsl:template name="F_BusStd2RGB">
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB">
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'USER')]/@RGB"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_BusStd2RGB_LT">
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_LT">
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_LT"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'USER')]/@RGB_LT"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_BusStd2RGB_DK">
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_DK">
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_DK"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'USER')]/@RGB_DK"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_BusStd2RGB_TXT">
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_TXT">
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusStd)]/@RGB_TXT"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'USER')]/@RGB_TXT"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_IntcIdx2RGB">
|
||||
<xsl:param name="iIntcIdx" select="'0'"/>
|
||||
|
||||
<xsl:variable name="index_" select="$iIntcIdx mod 9"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_INTCS)/INTCCOLOR[(@INDEX = $index_)]/@RGB">
|
||||
<xsl:value-of select="exsl:node-set($COL_INTCS)/INTCCOLOR[(@INDEX = $index_)]/@RGB"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_INTCS)/INTCCOLOR[(@INDEX = '0')]/@RGB"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,168 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE stylesheet [
|
||||
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
|
||||
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
|
||||
|
||||
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
|
||||
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
|
||||
|
||||
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
|
||||
<!ENTITY HEXUPPER "ABCDEFxX0123456789">
|
||||
<!ENTITY HEXLOWER "abcdefxX0123456789">
|
||||
<!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
|
||||
|
||||
<!ENTITY ALLMODS "MODULE[(@INSTANCE)]">
|
||||
<!ENTITY BUSMODS "MODULE[(@MODCLASS ='BUS')]">
|
||||
<!ENTITY CPUMODS "MODULE[(@MODCLASS ='PROCESSOR')]">
|
||||
|
||||
<!ENTITY MODIOFS "MODULE/IOINTERFACES/IOINTERFACE">
|
||||
<!ENTITY ALLIOFS "&MODIOFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<!ENTITY V11MODBIFS "MODULE/BUSINTERFACE">
|
||||
<!ENTITY V12MODBIFS "MODULE/BUSINTERFACES/BUSINTERFACE">
|
||||
<!ENTITY V11ALLBIFS "&V11MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and @TYPE and @BUSSTD]">
|
||||
<!ENTITY V12ALLBIFS "&V12MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and @TYPE and @BUSSTD]">
|
||||
|
||||
<!ENTITY V11MODPORTS "MODULE/PORT">
|
||||
<!ENTITY V12MODPORTS "MODULE/PORTS/PORT">
|
||||
<!ENTITY V11ALLPORTS "&V11MODPORTS;[ (not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<!ENTITY V12ALLPORTS "&V12MODPORTS;[ (not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<!ENTITY V11NDFPORTS "&V11MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (not(@BUS) and not(@IOS)))]">
|
||||
<!ENTITY V12NDFPORTS "&V12MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (not(@BUS) and not(@IOS)))]">
|
||||
<!ENTITY V11DEFPORTS "&V11MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@BUS) or (@IOS)))]">
|
||||
<!ENTITY V12DEFPORTS "&V12MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@BUS) or (@IOS)))]">
|
||||
]>
|
||||
|
||||
<!--
|
||||
<!ENTITY MSTBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'MASTER')]">
|
||||
<!ENTITY SLVBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'SLAVE')]">
|
||||
<!ENTITY MOSBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'MASTER') or (@TYPE = 'SLAVE'))]">
|
||||
<!ENTITY P2PBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR'))]">
|
||||
-->
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math exsl dyn xlink">
|
||||
<!--
|
||||
======================================================
|
||||
EDK SYSTEM (EDWARD) Globals.
|
||||
======================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="G_SYS_ROOT" select="/"/>
|
||||
<!--
|
||||
<xsl:variable name="G_SYS_DOC" select="dyn:evaluate($G_SYS_ROOT)"/>
|
||||
<xsl:variable name="G_SYS_DOC" select="dyn:evaluate($G_SYS_ROOT)"/>
|
||||
-->
|
||||
<xsl:variable name="G_SYS" select="$G_SYS_ROOT/EDKSYSTEM"/>
|
||||
<xsl:variable name="G_SYS_TIMESTAMP" select="$G_SYS/@TIMESTAMP"/>
|
||||
<xsl:variable name="G_SYS_EDKVERSION" select="$G_SYS/@EDKVERSION"/>
|
||||
|
||||
<xsl:variable name="G_SYS_INFO" select="$G_SYS/SYSTEMINFO"/>
|
||||
<xsl:variable name="G_SYS_INFO_PKG" select="$G_SYS_INFO/@PACKAGE"/>
|
||||
<xsl:variable name="G_SYS_INFO_DEV" select="$G_SYS_INFO/@DEVICE"/>
|
||||
<xsl:variable name="G_SYS_INFO_ARCH" select="$G_SYS_INFO/@ARCH"/>
|
||||
<xsl:variable name="G_SYS_INFO_SPEED" select="$G_SYS_INFO/@SPEEDGRADE"/>
|
||||
|
||||
<xsl:variable name="G_SYS_MODS" select="$G_SYS/MODULES"/>
|
||||
<xsl:variable name="G_SYS_EXPS" select="$G_SYS/EXTERNALPORTS"/>
|
||||
|
||||
<!-- INDEX KEYS FOR FAST ACCESS -->
|
||||
<xsl:key name="G_MAP_MODULES" match="&ALLMODS;" use="@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_PROCESSORS" match="&CPUMODS;" use="@INSTANCE"/>
|
||||
|
||||
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@BUSSTD_PSF"/>
|
||||
|
||||
<xsl:key name="G_MAP_ALL_IOFS" match="&ALLIOFS;" use="../../@INSTANCE"/>
|
||||
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="@TYPE"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="@TYPE"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="@BUSSTD_PSF"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="@BUSSTD_PSF"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V11ALLBIFS;" use="../@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&V12ALLBIFS;" use="../../@INSTANCE"/>
|
||||
|
||||
<!--
|
||||
<xsl:key name="G_MAP_ALL_BIFS_BY_BUS" match="&ALLBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS_BY_STD" match="&ALLBIFS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS_BY_STD" match="&ALLBIFS;" use="@BUSSTD_PSF"/>
|
||||
|
||||
|
||||
<xsl:key name="G_MAP_MST_BIFS" match="&MSTBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_SLV_BIFS" match="&SLVBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_MOS_BIFS" match="&MOSBIFS;" use="@BUSNAME"/>
|
||||
|
||||
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSSTD_PSF"/>
|
||||
-->
|
||||
|
||||
<xsl:key name="G_MAP_ALL_PORTS" match="&V11ALLPORTS;" use="../@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_ALL_PORTS" match="&V12ALLPORTS;" use="../../@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_DEF_PORTS" match="&V11DEFPORTS;" use="../@INSTANCE"/> <!-- Default ports -->
|
||||
<xsl:key name="G_MAP_DEF_PORTS" match="&V12DEFPORTS;" use="../../@INSTANCE"/> <!-- Default ports -->
|
||||
<xsl:key name="G_MAP_NDF_PORTS" match="&V11NDFPORTS;" use="../@INSTANCE"/> <!-- Non Default ports -->
|
||||
<xsl:key name="G_MAP_NDF_PORTS" match="&V12NDFPORTS;" use="../../@INSTANCE"/> <!-- Non Default ports -->
|
||||
|
||||
<xsl:variable name="G_BIFTYPES">
|
||||
|
||||
<BIFTYPE TYPE="SLAVE"/>
|
||||
<BIFTYPE TYPE="MASTER"/>
|
||||
<BIFTYPE TYPE="MASTER_SLAVE"/>
|
||||
|
||||
<BIFTYPE TYPE="TARGET"/>
|
||||
<BIFTYPE TYPE="INITIATOR"/>
|
||||
|
||||
<BIFTYPE TYPE="MONITOR"/>
|
||||
|
||||
<BIFTYPE TYPE="USER"/>
|
||||
<BIFTYPE TYPE="TRANSPARENT"/>
|
||||
|
||||
</xsl:variable>
|
||||
<xsl:variable name="G_BIFTYPES_NUMOF" select="count(exsl:node-set($G_BIFTYPES)/BIFTYPE)"/>
|
||||
|
||||
<xsl:variable name="G_IFTYPES">
|
||||
<IFTYPE TYPE="SLAVE"/>
|
||||
<IFTYPE TYPE="MASTER"/>
|
||||
<IFTYPE TYPE="MASTER_SLAVE"/>
|
||||
|
||||
<IFTYPE TYPE="TARGET"/>
|
||||
<IFTYPE TYPE="INITIATOR"/>
|
||||
|
||||
<IFTYPE TYPE="MONITOR"/>
|
||||
|
||||
<IFTYPE TYPE="USER"/>
|
||||
<!--
|
||||
<IFTYPE TYPE="TRANSPARENT"/>
|
||||
-->
|
||||
</xsl:variable>
|
||||
<xsl:variable name="G_IFTYPES_NUMOF" select="count(exsl:node-set($G_IFTYPES)/IFTYPE)"/>
|
||||
|
||||
<xsl:variable name="G_BUSSTDS">
|
||||
|
||||
<BUSSTD NAME="AXI"/>
|
||||
<BUSSTD NAME="XIL"/>
|
||||
<BUSSTD NAME="OCM"/>
|
||||
<BUSSTD NAME="OPB"/>
|
||||
<BUSSTD NAME="LMB"/>
|
||||
<BUSSTD NAME="FSL"/>
|
||||
<BUSSTD NAME="DCR"/>
|
||||
<BUSSTD NAME="FCB"/>
|
||||
<BUSSTD NAME="PLB"/>
|
||||
<BUSSTD NAME="PLB34"/>
|
||||
<BUSSTD NAME="PLBV46"/>
|
||||
<BUSSTD NAME="PLBV46_P2P"/>
|
||||
|
||||
<BUSSTD NAME="USER"/>
|
||||
<BUSSTD NAME="KEY"/>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="G_BUSSTDS_NUMOF" select="count(exsl:node-set($G_BUSSTDS)/BUSSTD)"/>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,584 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!--
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
|
||||
doctype-public="-//W3C//DTD SVG 1.0//EN"
|
||||
doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
|
||||
-->
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
Function to put TEXT CSS and other Internal
|
||||
Styling properties directly into the output
|
||||
svg. The Qt 4.3 Renderer
|
||||
cannot handle separate CSS StyleSheets
|
||||
======================================================
|
||||
-->
|
||||
<xsl:template name="F_WriteText">
|
||||
|
||||
<xsl:param name="iClass" select="'_UNKNOWN_'"/>
|
||||
<xsl:param name="iText" select="' '"/>
|
||||
<xsl:param name="iX" select="'0'"/>
|
||||
<xsl:param name="iY" select="'0'"/>
|
||||
|
||||
<!--
|
||||
<xsl:message>TEXT <xsl:value-of select="$iText"/></xsl:message>
|
||||
<xsl:message>CLASS <xsl:value-of select="$iClass"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:element name="text">
|
||||
<xsl:attribute name="x"><xsl:value-of select="$iX"/></xsl:attribute>
|
||||
<xsl:attribute name="y"><xsl:value-of select="$iY"/></xsl:attribute>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="$iClass = 'sharedbus_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'12pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'p2pbus_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'p2pbus_label_horiz'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'12pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="writing-mode"><xsl:value-of select="'tb'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
|
||||
<xsl:when test="$iClass = 'bif_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'bc_ipinst'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'bc_iptype'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_XLNX"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'iogrp_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_IORING"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'mpmc_title'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_WHITE"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'16pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'oblique'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'mpmc_biflabel'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_WHITE"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'intr_symbol'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'bkt_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'9pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'ipclass_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'9pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'key_header'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'key_title'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_XLNX"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'14pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'key_label'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'key_label_small'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'900'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
|
||||
<xsl:when test="$iClass = 'key_label_ul'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-decoration"><xsl:value-of select="'underline'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
|
||||
<xsl:when test="$iClass = 'ipd_portlabel'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'ipd_biflabel'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'normal'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'ipd_iptype'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_XLNX"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Verdana Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'ipd_ipname'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'8pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'blkd_spec_name'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'start'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iClass = 'blkd_spec_value_mid'">
|
||||
<xsl:attribute name="fill"><xsl:value-of select="$COL_BLACK"/></xsl:attribute>
|
||||
<xsl:attribute name="stroke"><xsl:value-of select="'none'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size"><xsl:value-of select="'10pt'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
|
||||
<xsl:attribute name="text-anchor"><xsl:value-of select="'middle'"/></xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="'Courier Arial Helvetica san-serif'"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise><xsl:message>UNKNOWN Text style class <xsl:value-of select="$iClass"/></xsl:message></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:value-of select="$iText"/>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
<!--
|
||||
text.ioplblgrp {
|
||||
fill: #000088;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
text.iplabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
text-anchor: middle;
|
||||
font-family: Courier Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.iptype {
|
||||
fill: #AA0017;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.busintlabel {
|
||||
fill: #810017;
|
||||
stroke: none;
|
||||
font-size: 7pt;
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.mpmcbiflabel {
|
||||
fill: #FFFFFF;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.buslabel {
|
||||
fill: #CC3333;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
|
||||
text.ipclass {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 7pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Times Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.procclass {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 7pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Times Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
text.portlabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.ipdbiflbl {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.mmMHeader {
|
||||
fill: #FFFFFF;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.mmSHeader {
|
||||
fill: #810017;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
|
||||
text.dbglabel {
|
||||
fill: #555555;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Times Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.iopnumb {
|
||||
fill: #555555;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
|
||||
tspan.iopgrp {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
baseline-shift:super;
|
||||
font-family: Arial Courier san-serif;
|
||||
}
|
||||
|
||||
|
||||
text.biflabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
|
||||
}
|
||||
|
||||
text.p2pbuslabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
writing-mode: tb;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.mpbuslabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
writing-mode: tb;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
text.sharedbuslabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
text.splitbustxt {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
text.horizp2pbuslabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
|
||||
|
||||
text.keytitle {
|
||||
fill: #AA0017;
|
||||
stroke: none;
|
||||
font-size: 12pt;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.keyheader {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.keylabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.keylblul {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
text-decoration: underline;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.specsheader {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 10pt;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.specsvalue {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.specsvaluemid {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.intrsymbol {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 8pt;
|
||||
font-weight: bold;
|
||||
text-anchor: start;
|
||||
font-family: Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
-->
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,546 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!--
|
||||
<xsl:output method="xml"
|
||||
version="1.0"
|
||||
encoding="UTF-8"
|
||||
indent="yes"
|
||||
doctype-public="-//W3C//DTD SVG 1.0//EN"
|
||||
doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
|
||||
-->
|
||||
|
||||
<xsl:template name="Define_Busses">
|
||||
<!--
|
||||
<xsl:param name="drawarea_w" select="500"/>
|
||||
<xsl:param name="drawarea_h" select="500"/>
|
||||
-->
|
||||
|
||||
<xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
|
||||
|
||||
<xsl:call-template name="Define_BusArrowsEastWest">
|
||||
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_BusArrowsNorthSouth">
|
||||
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SplitBusses">
|
||||
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusStd" select="'AXI'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusStd" select="'OPB'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusStd" select="'PLB'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusStd" select="'PLBV46'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus_Group"/>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Define_BusArrowsEastWest">
|
||||
<xsl:param name="iBusStd" select="'PLB'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="busStdColor_lt_">
|
||||
<xsl:call-template name="F_BusStd2RGB_LT">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<g id="{$iBusStd}_BusArrowEast">
|
||||
<path class="bus"
|
||||
d="M 0,0
|
||||
L {$BLKD_BUS_ARROW_W}, {ceiling($BLKD_BUS_ARROW_H div 2)}
|
||||
L 0,{$BLKD_BUS_ARROW_H},
|
||||
Z" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
</g>
|
||||
|
||||
<g id="{$iBusStd}_BusArrowWest">
|
||||
<use x="0" y="0" xlink:href="#{$iBusStd}_BusArrowEast" transform="scale(-1,1) translate({$BLKD_BUS_ARROW_W * -1},0)"/>
|
||||
</g>
|
||||
|
||||
<g id="{$iBusStd}_BusArrowHInitiator">
|
||||
<rect x="0"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{$BLKD_BUS_ARROW_W}"
|
||||
height="{$BLKD_P2P_BUS_W}"
|
||||
style="stroke:none; fill:{$busStdColor_}"/>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
<xsl:param name="bus_col" select="'OPB'"/>
|
||||
-->
|
||||
|
||||
<xsl:template name="Define_BusArrowsNorthSouth">
|
||||
<xsl:param name="iBusStd" select="'PLB'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="busStdColor_lt_">
|
||||
<xsl:call-template name="F_BusStd2RGB_LT">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<g id="{$iBusStd}_BusArrowSouth">
|
||||
<path class="bus"
|
||||
d="M 0,0
|
||||
L {$BLKD_BUS_ARROW_H},0
|
||||
L {ceiling($BLKD_BUS_ARROW_H div 2)}, {$BLKD_BUS_ARROW_W}
|
||||
Z" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
</g>
|
||||
|
||||
<g id="{$iBusStd}_BusArrowNorth">
|
||||
<use x="0" y="0" xlink:href="#{$iBusStd}_BusArrowSouth" transform="scale(1,-1) translate(0,{$BLKD_BUS_ARROW_H * -1})"/>
|
||||
</g>
|
||||
|
||||
<g id="{$iBusStd}_BusArrowInitiator">
|
||||
<rect x="{$BLKD_BUS_ARROW_G}"
|
||||
y="0"
|
||||
width= "{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}"
|
||||
height="{$BLKD_BUS_ARROW_H}"
|
||||
style="stroke:none; fill:{$busStdColor_}"/>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Draw_P2PBus">
|
||||
|
||||
<xsl:param name="iBusX" select="0"/>
|
||||
<xsl:param name="iBusTop" select="0"/>
|
||||
<xsl:param name="iBusBot" select="0"/>
|
||||
<xsl:param name="iBusStd" select="'_bstd_'"/>
|
||||
<xsl:param name="iBusName" select="'_p2pbus_'"/>
|
||||
<xsl:param name="iBotBifType" select="'_unk_'"/>
|
||||
<xsl:param name="iTopBifType" select="'_unk_'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="@BUSSTD">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="not($iBusStd = '_bstd_')">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="'TRS'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="p2pH_" select="($iBusBot - $iBusTop) - ($BLKD_BUS_ARROW_H * 2)"/>
|
||||
|
||||
<xsl:variable name="botArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iBotBifType = 'INITIATOR') or ($iBotBifType = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowSouth</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="topArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iTopBifType = 'INITIATOR') or ($iTopBifType = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowNorth</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="@BUSSTD">
|
||||
<use x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"
|
||||
y="{$iBusTop + ($BLKD_BIFC_H - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}"
|
||||
xlink:href="#{@BUSSTD}_{$topArrow_}"/>
|
||||
|
||||
<use x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"
|
||||
y="{$iBusBot - $BLKD_BUS_ARROW_H}"
|
||||
xlink:href="#{@BUSSTD}_{$botArrow_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(not(@BUSSTD) and not($iBusStd = '_bstd_'))">
|
||||
<use x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"
|
||||
y="{$iBusTop + ($BLKD_BIFC_H - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}"
|
||||
xlink:href="#{$iBusStd}_{$topArrow_}"/>
|
||||
|
||||
<use x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"
|
||||
y="{$iBusBot - $BLKD_BUS_ARROW_H}"
|
||||
xlink:href="#{$iBusStd}_{$botArrow_}"/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<rect x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2) + $BLKD_BUS_ARROW_G}"
|
||||
y="{$iBusTop + $BLKD_BIFC_H + $BLKD_BUS_ARROW_H}"
|
||||
height= "{$p2pH_ - ($BLKD_BUS_ARROW_H * 2)}"
|
||||
width="{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}"
|
||||
style="stroke:none; fill:{$busStdColor_}"/>
|
||||
|
||||
<!--
|
||||
<text class="p2pbuslabel"
|
||||
x="{$iBusX + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}"
|
||||
y="{$iBusTop + ($BLKD_BUS_ARROW_H * 3)}">
|
||||
<xsl:value-of select="$iBusName"/>
|
||||
</text>
|
||||
-->
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="($iBusX + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4)"/>
|
||||
<xsl:with-param name="iY" select="($iBusTop + ($BLKD_BUS_ARROW_H * 3))"/>
|
||||
<xsl:with-param name="iText" select="$iBusName"/>
|
||||
<xsl:with-param name="iClass" select="'p2pbus_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP">
|
||||
<!--
|
||||
<text class="ioplblgrp"
|
||||
x="{$iBusX + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
|
||||
y="{$iBusTop + ($BLKD_BUS_ARROW_H * 10)}">
|
||||
<xsl:value-of select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP"/>
|
||||
</text>
|
||||
-->
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="(iBusX + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6)"/>
|
||||
<xsl:with-param name="iY" select="($iBusTop + ($BLKD_BUS_ARROW_H * 10))"/>
|
||||
<xsl:with-param name="iText" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP"/>
|
||||
<xsl:with-param name="iClass" select="'iogrp_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Draw_Proc2ProcBus">
|
||||
|
||||
<xsl:param name="iBc_Y" select="0"/>
|
||||
<xsl:param name="iBusStd" select="'_bstd_'"/>
|
||||
<xsl:param name="iBusName" select="'_p2pbus_'"/>
|
||||
<xsl:param name="iBcLeft_X" select="0"/>
|
||||
<xsl:param name="iBcRght_X" select="0"/>
|
||||
<xsl:param name="iLeftBifType" select="'_unk_'"/>
|
||||
<xsl:param name="iRghtBifType" select="'_unk_'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pr2pr_W_" select="($iBcRght_X - $iBcLeft_X)"/>
|
||||
|
||||
<xsl:variable name="leftArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iLeftBifType = 'INITIATOR') or ($iLeftBifType = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowWest</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="rghtArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iRghtBifType = 'INITIATOR') or ($iRghtBifType = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowEast</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="bus_Y_" select="($iBc_Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
|
||||
|
||||
<use x="{$iBcLeft_X}" y="{$bus_Y_}" xlink:href="#{$iBusStd}_{$leftArrow_}"/>
|
||||
<use x="{$iBcRght_X - $BLKD_BUS_ARROW_W}" y="{$bus_Y_}" xlink:href="#{$iBusStd}_{$rghtArrow_}"/>
|
||||
|
||||
<rect x="{$iBcLeft_X + $BLKD_BUS_ARROW_W}"
|
||||
y="{$bus_Y_ + $BLKD_BUS_ARROW_G}"
|
||||
width= "{$pr2pr_W_ - (2 * $BLKD_BUS_ARROW_W)}"
|
||||
height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
|
||||
<!--
|
||||
<text class="horizp2pbuslabel"
|
||||
x="{$iBcLeft_X + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}"
|
||||
y="{($bus_Y_)}"><xsl:value-of select="$iBusName"/></text>
|
||||
|
||||
<text class="horizp2pbuslabel"
|
||||
x="{$iBcRght_X - (string-length($iBusName) * 8)}"
|
||||
y="{($bus_Y_)}"><xsl:value-of select="$iBusName"/></text>
|
||||
-->
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="($iBcLeft_X + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4)"/>
|
||||
<xsl:with-param name="iY" select="$bus_Y_"/>
|
||||
<xsl:with-param name="iText" select="$iBusName"/>
|
||||
<xsl:with-param name="iClass" select="'p2pbus_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<!--
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="(iBcRght_X - (string-length($iBusName) * 8))"/>
|
||||
<xsl:with-param name="iY" select="$bus_Y_"/>
|
||||
<xsl:with-param name="iText" select="$iBusName"/>
|
||||
<xsl:with-param name="iClass" select="'p2pbus_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
-->
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Draw_SplitConnBus">
|
||||
|
||||
<xsl:param name="iBc_X" select="0"/>
|
||||
<xsl:param name="iBc_Y" select="0"/>
|
||||
<xsl:param name="iBc_Type" select="'_unk_'"/>
|
||||
<xsl:param name="iBc_Side" select="'_unk_'"/>
|
||||
<xsl:param name="iBusStd" select="'_bstd_'"/>
|
||||
<xsl:param name="iBusName" select="'_p2pbus_'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="connArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iBc_Type = 'INITIATOR') or ($iBc_Type = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowEast</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="arrow_Y_" select="($iBc_Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
|
||||
|
||||
<xsl:variable name="bus_X_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($iBc_X - ($BLKD_BUS_ARROW_W * 2))"/></xsl:when>
|
||||
<xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($iBc_X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W)"/></xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<use x="{$bus_X_}" y="{$arrow_Y_}" xlink:href="#{$busStd}_BusArrowHInitiator"/>
|
||||
-->
|
||||
|
||||
<xsl:variable name="arrow_X_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($iBc_X - $BLKD_BUS_ARROW_W)"/></xsl:when>
|
||||
<xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($iBc_X + $BLKD_BIFC_W)"/></xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBusStd = 'FSL') and (($iBc_Type = 'MASTER') or ($iBc_Type = 'INITIATOR')))">
|
||||
<use x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_{$connArrow_}"/>
|
||||
<use x="{$bus_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_BusArrowHInitiator"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(($iBc_Side = '1') and not($iBusStd = 'FSL') and (($iBc_Type = 'MASTER') or ($iBc_Type = 'INITIATOR')))">
|
||||
<use x="{$arrow_X_ - $BLKD_BIFC_W}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_SplitBus_WEST"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(($iBc_Side = '1') and (($iBc_Type = 'SLAVE') or ($iBc_Type = 'TARGET') or ($iBc_Type = 'USER')))">
|
||||
<use x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_SplitBus_EAST"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<use x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_{$connArrow_}"/>
|
||||
<use x="{$bus_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_BusArrowHInitiator"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:variable name="text_X_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($bus_X_ - $BLKD_BUS_ARROW_W - (string-length($iBusName) * 5))"/></xsl:when>
|
||||
<xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($bus_X_ + $BLKD_BUS_ARROW_W)"/></xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<!--
|
||||
<text class="horizp2pbuslabel"
|
||||
x="{$text_X_}"
|
||||
y="{($arrow_Y_)}">
|
||||
<xsl:value-of select="$iBusName"/>
|
||||
</text>
|
||||
-->
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="$text_X_"/>
|
||||
<xsl:with-param name="iY" select="$arrow_Y_"/>
|
||||
<xsl:with-param name="iText" select="$iBusName"/>
|
||||
<xsl:with-param name="iClass" select="'p2pbus_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_SharedBus">
|
||||
|
||||
<xsl:param name="iBusStd" select="'PLB46'"/>
|
||||
|
||||
<xsl:variable name="sharedbus_w_" select="($G_Total_DrawArea_W - ($BLKD_INNER_GAP * 2))"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="busStdColor_lt_">
|
||||
<xsl:call-template name="F_BusStd2RGB_LT">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<g id="{$iBusStd}_SharedBus">
|
||||
<use x="0" y="0" xlink:href="#{$iBusStd}_BusArrowWest"/>
|
||||
<use x="{$sharedbus_w_ - $BLKD_BUS_ARROW_W}" y="0" xlink:href="#{$iBusStd}_BusArrowEast"/>
|
||||
|
||||
<rect x="{$BLKD_BUS_ARROW_W}"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{$sharedbus_w_ - ($BLKD_BUS_ARROW_W * 2)}"
|
||||
height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
</g>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_SplitBusses">
|
||||
|
||||
<xsl:param name="iBusStd" select="'FSL'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bifc_r_" select="ceiling($BLKD_BIFC_W div 3)"/>
|
||||
|
||||
<g id="{$iBusStd}_SplitBus_EAST">
|
||||
<use x="0" y="0" xlink:href="#{$iBusStd}_BusArrowWest"/>
|
||||
|
||||
<rect x="{$BLKD_BUS_ARROW_W}"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{$BLKD_BIFC_W}"
|
||||
height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
|
||||
</g>
|
||||
|
||||
<xsl:variable name="splbus_w_" select="($BLKD_BUS_ARROW_W + $BLKD_BIFC_W + $BLKD_BIFC_Wi)"/>
|
||||
|
||||
<g id="{$iBusStd}_SplitBus_WEST">
|
||||
<use x="0" y="0" xlink:href="#{$iBusStd}_SplitBus_EAST" transform="scale(-1,1) translate({$splbus_w_ * -1},0)"/>
|
||||
</g>
|
||||
|
||||
<g id="{$iBusStd}_SplitBus_OneWay">
|
||||
|
||||
<rect x="0"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{($BLKD_BUS_ARROW_W * 2)}"
|
||||
height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
|
||||
<rect x="{($BLKD_BUS_ARROW_W * 2)}"
|
||||
y="0"
|
||||
width= "{$BLKD_BUS_ARROW_H}"
|
||||
height="{$BLKD_BUS_ARROW_H}" style="stroke:none; fill:{$busStdColor_}"/>
|
||||
|
||||
</g>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_SharedBus_Group">
|
||||
|
||||
<!-- The Bridges go into the shared bus shape -->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/BRIDGESHAPES/MODULE">
|
||||
|
||||
<xsl:variable name="modInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="modType_" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>
|
||||
|
||||
<xsl:call-template name="Define_Peripheral">
|
||||
<xsl:with-param name="iModVori" select="'normal'"/>
|
||||
<xsl:with-param name="iModInst" select="$modInst_"/>
|
||||
<xsl:with-param name="iModType" select="$modType_"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<g id="group_sharedBusses">
|
||||
|
||||
<!-- Draw the shared bus shapes first -->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/SBSSHAPES/MODULE">
|
||||
<xsl:variable name="instance_" select="@INSTANCE"/>
|
||||
|
||||
<xsl:variable name="busStd_" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUSSTD"/>
|
||||
<xsl:variable name="busIndex_" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUS_INDEX"/>
|
||||
|
||||
<xsl:variable name="busY_" select="($busIndex_ * $BLKD_SBS_LANE_H)"/>
|
||||
|
||||
<use x="0" y="{$busY_}" xlink:href="#{$busStd_}_SharedBus"/>
|
||||
|
||||
<!--
|
||||
<text class="sharedbuslabel"
|
||||
x="8"
|
||||
y="{$busY_ + $BLKD_BUS_ARROW_H + 10}">
|
||||
<xsl:value-of select="$instance_"/>
|
||||
</text>
|
||||
-->
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="'8'"/>
|
||||
<xsl:with-param name="iY" select="($busY_ + $BLKD_BUS_ARROW_H + 10)"/>
|
||||
<xsl:with-param name="iText" select="$instance_"/>
|
||||
<xsl:with-param name="iClass" select="'sharedbus_label'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
|
||||
</g>
|
||||
|
||||
<g id="KEY_SharedBus">
|
||||
<use x="0" y="0" xlink:href="#KEY_BusArrowWest"/>
|
||||
<use x="30" y="0" xlink:href="#KEY_BusArrowEast"/>
|
||||
|
||||
<xsl:variable name="key_col_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="'KEY'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<rect x="{$BLKD_BUS_ARROW_W}"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{30 - $BLKD_BUS_ARROW_W}"
|
||||
height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$key_col_}"/>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,115 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<xsl:variable name="G_ROOT" select="/"/>
|
||||
|
||||
<!--
|
||||
===========================================================================
|
||||
CALCULATE GLOBAL VARIABLES BASED ON BLKDIAGRAM DEF IN INPUT XML
|
||||
===========================================================================
|
||||
-->
|
||||
|
||||
<xsl:variable name="G_Total_StandAloneMpmc_H">
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/MPMCSHAPE">
|
||||
<xsl:value-of select="($BLKD_MPMC_MOD_H + $BLKD_MPMC2PROC_GAP)"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/MPMCSHAPE)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_Max_Stack_BlwSbs_H">
|
||||
<xsl:call-template name="F_Calc_Max_Stack_BlwSbs_Height"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_Max_Stack_AbvSbs_H">
|
||||
<xsl:call-template name="F_Calc_Max_Stack_AbvSbs_Height"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_Total_Stacks_W">
|
||||
<xsl:call-template name="F_Calc_Stack_X">
|
||||
<xsl:with-param name="iStackIdx" select="($G_ROOT/EDKSYSTEM/BLKDIAGRAM/@STACK_HORIZ_WIDTH)"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_NumOfSharedBusses" select="count($G_ROOT/EDKSYSTEM/BLKDIAGRAM/SBSSHAPES/MODULE)"/>
|
||||
<xsl:variable name="G_Total_SharedBus_H" select="($G_NumOfSharedBusses * $BLKD_SBS_LANE_H)"/>
|
||||
|
||||
<xsl:variable name="G_NumOfBridges" select="count($G_ROOT/EDKSYSTEM/BLKDIAGRAM/BRIDGESHAPES/MODULE)"/>
|
||||
<xsl:variable name="G_Total_Bridges_W" select="(($G_NumOfBridges * ($BLKD_MOD_W + ($BLKD_BUS_LANE_W * 2))) + $BLKD_BRIDGE_GAP)"/>
|
||||
|
||||
<xsl:variable name="G_Total_DrawArea_CLC" select="($G_Total_Stacks_W + $G_Total_Bridges_W + ($BLKD_INNER_GAP * 2))"/>
|
||||
|
||||
<xsl:variable name="G_Total_DrawArea_W">
|
||||
<xsl:if test="$G_Total_DrawArea_CLC > ($BLKD_KEY_W + $BLKD_SPECS_W + $BLKD_SPECS2KEY_GAP)">
|
||||
<xsl:value-of select="$G_Total_DrawArea_CLC"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not($G_Total_DrawArea_CLC > ($BLKD_KEY_W + $BLKD_SPECS2KEY_GAP + $BLKD_SPECS_W))">
|
||||
<xsl:value-of select="($BLKD_KEY_W + $BLKD_SPECS_W + $BLKD_SPECS2KEY_GAP)"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_IpBucketMods_H">
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/IPBUCKET/@MODS_H"><xsl:value-of select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/IPBUCKET/@MODS_H"/></xsl:if>
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/BLKDIAGRAM/IPBUCKET/@MODS_H)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="G_Total_IpBucket_H" select="($G_IpBucketMods_H * ($BLKD_MOD_H + $BLKD_BIF_H))"/>
|
||||
|
||||
<xsl:variable name="G_Total_UnkBucket_H">
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET">
|
||||
|
||||
<xsl:variable name="unkBucketMods_H_">
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@MODS_H"><xsl:value-of select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@MODS_H"/></xsl:if>
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@MODS_H)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="total_UnkMod_H_" select="($unkBucketMods_H_ * ($BLKD_MOD_H + $BLKD_BIF_H))"/>
|
||||
|
||||
<xsl:variable name="unkBucketBifs_H_">
|
||||
<xsl:if test="/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@BIFS_H"><xsl:value-of select="/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@BIFS_H"/></xsl:if>
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET/@BIFS_H)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="total_UnkBif_H_" select="($unkBucketBifs_H_ * ($BLKD_MOD_H + $BLKD_BIF_H))"/>
|
||||
|
||||
<xsl:value-of select="($total_UnkBif_H_ + $total_UnkMod_H_)"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/BLKDIAGRAM/UNKBUCKET)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_SharedBus_Y" select="($BLKD_INNER_Y + $G_Total_StandAloneMpmc_H + $G_Max_Stack_AbvSbs_H + $BLKD_PROC2SBS_GAP)"/>
|
||||
|
||||
<!-- ===========================================================================
|
||||
Calculate the width of the Block Diagram based on the total number of
|
||||
buslanes and modules in the design. If there are no buslanes or modules,
|
||||
a default width, just wide enough to display the KEY and SPECS is used
|
||||
=========================================================================== -->
|
||||
<xsl:variable name="G_Total_Blkd_W" select="($G_Total_DrawArea_W + (($BLKD_PRTCHAN_W + $BLKD_IORCHAN_W)* 2))"/>
|
||||
<xsl:variable name="G_Total_Diag_W" select="$G_Total_Blkd_W"/>
|
||||
|
||||
<!-- =========================================================================== -->
|
||||
<!-- Calculate the height of the Block Diagram based on the total number of -->
|
||||
<!-- buslanes and modules in the design. Take into account special shapes such -->
|
||||
<!-- as MultiProc shapes. -->
|
||||
<!-- =========================================================================== -->
|
||||
|
||||
|
||||
<xsl:variable name="G_Total_DrawArea_H" select="($G_Total_StandAloneMpmc_H + $G_Max_Stack_AbvSbs_H + $BLKD_PROC2SBS_GAP + $G_Total_SharedBus_H + $G_Max_Stack_BlwSbs_H + $BLKD_SBS2IP_GAP + $G_Total_IpBucket_H + $BLKD_IP2UNK_GAP + $G_Total_UnkBucket_H + ($BLKD_INNER_GAP * 2))"/>
|
||||
<xsl:variable name="G_Total_Blkd_H" select="($G_Total_DrawArea_H + (($BLKD_PRTCHAN_H + $BLKD_IORCHAN_H)* 2))"/>
|
||||
|
||||
<xsl:variable name="G_Total_Diag_H">
|
||||
<xsl:if test="($IN_TESTMODE = 'TRUE')">
|
||||
<xsl:message>Generating Blkdiagram in TestMode </xsl:message>
|
||||
<xsl:value-of select="$G_Total_Blkd_H"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
|
||||
<xsl:value-of select="($G_Total_Blkd_H + $BLKD_DRAWAREA2KEY_GAP + $BLKD_KEY_H)"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,495 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
<!--
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
|
||||
doctype-public="-//W3C//DTD SVG Tiny 1.1//EN"
|
||||
doctype-system="http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"/>
|
||||
-->
|
||||
|
||||
<!-- ======================= DEF BLOCK =============================== -->
|
||||
<xsl:template name="Define_IOPorts">
|
||||
|
||||
<xsl:variable name="key_col_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="'KEY'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="key_lt_col_">
|
||||
<xsl:call-template name="F_BusStd2RGB_LT">
|
||||
<xsl:with-param name="iBusStd" select="'KEY'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<g id="G_IOPort">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}"
|
||||
fill="{$COL_IORING_LT}"
|
||||
stroke="{$COL_IORING}"
|
||||
stroke-width="1"/>
|
||||
|
||||
<path d="M 0,0
|
||||
L {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
L 0,{$BLKD_IOP_H}
|
||||
Z"
|
||||
stroke="none"
|
||||
fill="{$COL_SYSPRT}"/>
|
||||
</g>
|
||||
|
||||
<g id="G_BIPort">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$COL_IORING_LT}; stroke:{$COL_IORING}; stroke-width:1"/>
|
||||
|
||||
<path class="btop"
|
||||
d="M 0,{ceiling($BLKD_IOP_H div 2)}
|
||||
{ceiling($BLKD_IOP_W div 2)},0
|
||||
{$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
Z" style="stroke:none; fill:{$COL_SYSPRT}"/>
|
||||
|
||||
<path class="bbot"
|
||||
d="M 0,{ceiling($BLKD_IOP_H div 2)}
|
||||
{ceiling($BLKD_IOP_W div 2)},{$BLKD_IOP_H}
|
||||
{$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
Z" style="stroke:none; fill:{$COL_SYSPRT}"/>
|
||||
|
||||
</g>
|
||||
|
||||
<g id="KEY_IOPort">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/>
|
||||
|
||||
<path class="ioport"
|
||||
d="M 0,0
|
||||
L {$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
L 0,{$BLKD_IOP_H}
|
||||
Z" style="stroke:none; fill:{$key_col_}"/>
|
||||
</g>
|
||||
|
||||
<g id="KEY_BIPort">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/>
|
||||
|
||||
<path class="btop"
|
||||
d="M 0,{ceiling($BLKD_IOP_H div 2)}
|
||||
{ceiling($BLKD_IOP_W div 2)},0
|
||||
{$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
Z" style="stroke:none; fill:{$key_col_}"/>
|
||||
|
||||
<path class="bbot"
|
||||
d="M 0,{ceiling($BLKD_IOP_H div 2)}
|
||||
{ceiling($BLKD_IOP_W div 2)},{$BLKD_IOP_H}
|
||||
{$BLKD_IOP_W},{ceiling($BLKD_IOP_H div 2)}
|
||||
Z" style="stroke:none; fill:{$key_col_}"/>
|
||||
</g>
|
||||
|
||||
<g id="KEY_INPort">
|
||||
<use x="0" y="0" xlink:href="#KEY_IOPort"/>
|
||||
<rect
|
||||
x="{$BLKD_IOP_W}"
|
||||
y="0"
|
||||
width= "{ceiling($BLKD_IOP_W div 2)}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/>
|
||||
</g>
|
||||
|
||||
<g id="KEY_OUTPort">
|
||||
<use x="0" y="0" xlink:href="#KEY_IOPort" transform="scale(-1,1) translate({$BLKD_IOP_W * -1},0)"/>
|
||||
<rect
|
||||
x="{$BLKD_IOP_W}"
|
||||
y="0"
|
||||
width= "{ceiling($BLKD_IOP_W div 2)}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/>
|
||||
</g>
|
||||
|
||||
<g id="KEY_INOUTPort">
|
||||
<use x="0" y="0" xlink:href="#KEY_BIPort"/>
|
||||
<rect
|
||||
x="{$BLKD_IOP_W}"
|
||||
y="0"
|
||||
width= "{ceiling($BLKD_IOP_W div 2)}"
|
||||
height="{$BLKD_IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:template>
|
||||
|
||||
<!-- ======================= DRAW BLOCK =============================== -->
|
||||
|
||||
<xsl:template name="Draw_IOPorts">
|
||||
|
||||
<xsl:variable name="ports_count_" select="count($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT)"/>
|
||||
|
||||
<xsl:if test="($ports_count_ > 30)">
|
||||
<xsl:call-template name="Draw_IOPorts_4Sides"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="($ports_count_ <= 30)">
|
||||
<xsl:call-template name="Draw_IOPorts_2Sides"/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Draw_IOPorts_2Sides">
|
||||
|
||||
<xsl:variable name="ports_count_" select="count($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT)"/>
|
||||
<xsl:variable name="ports_per_side_" select="ceiling($ports_count_ div 2)"/>
|
||||
|
||||
<xsl:variable name="h_ofs_">
|
||||
<xsl:value-of select="$BLKD_PRTCHAN_W + ceiling(($G_Total_DrawArea_W - (($ports_per_side_ * $BLKD_IOP_W) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="v_ofs_">
|
||||
<xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($G_Total_DrawArea_H - (($ports_per_side_ * $BLKD_IOP_H) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:for-each select="EXTERNALPORTS/PORT">
|
||||
<xsl:sort data-type="number" select="@INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="poffset_" select="0"/>
|
||||
<xsl:variable name="pcount_" select="$poffset_ + (position() -1)"/>
|
||||
|
||||
<xsl:variable name="pdir_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@DIR='I' or @DIR='IN' or @DIR='INPUT')">I</xsl:when>
|
||||
<xsl:when test="(@DIR='O' or @DIR='OUT' or @DIR='OUTPUT')">O</xsl:when>
|
||||
<xsl:when test="(@DIR='IO' or @DIR='INOUT')">B</xsl:when>
|
||||
<xsl:otherwise>I</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pside_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 0) and ($pcount_ < ($ports_per_side_ * 1)))">W</xsl:when>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 1) and ($pcount_ < ($ports_per_side_ * 2)))">E</xsl:when>
|
||||
<xsl:otherwise>D</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pdec_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($ports_per_side_ * 0)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($ports_per_side_ * 1)"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="px_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($BLKD_PRTCHAN_W - $BLKD_IOP_W)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)) - 2)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $G_Total_DrawArea_W)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)))"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="py_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $G_Total_DrawArea_H)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $BLKD_IOP_H)"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="prot_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'I'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'I'))">-90</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'I'))">180</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'I'))">90</xsl:when>
|
||||
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'O'))">180</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'O'))">90</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'O'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'O'))">-90</xsl:when>
|
||||
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="txo_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')">-10</xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')">6</xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="(($BLKD_IOP_W * 2) - 4)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')">6</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="tyo_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_IOP_H * 2) + 4"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')">-2</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="$pdir_ = 'B'">
|
||||
<use x="{$px_}"
|
||||
y="{$py_}"
|
||||
id="{@NAME}"
|
||||
xlink:href="#G_BIPort"
|
||||
transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">
|
||||
<rect
|
||||
x="{$px_}"
|
||||
y="{$py_}"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}" style="stroke:{$COL_IORING}; stroke-width:1"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($pdir_ = 'B')">
|
||||
<use x="{$px_}"
|
||||
y="{$py_}"
|
||||
id="{@NAME}"
|
||||
xlink:href="#G_IOPort"
|
||||
transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
|
||||
</xsl:if>
|
||||
|
||||
<text class="iopnumb"
|
||||
x="{$px_ + $txo_}"
|
||||
y="{$py_ + $tyo_}">
|
||||
<xsl:value-of select="@INDEX"/><tspan class="iopgrp"><xsl:value-of select="@GROUP"/></tspan>
|
||||
</text>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Draw_IOPorts_4Sides">
|
||||
|
||||
<xsl:variable name="ports_count_" select="count($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT)"/>
|
||||
<xsl:variable name="ports_per_side_" select="ceiling($ports_count_ div 4)"/>
|
||||
|
||||
<xsl:variable name="h_ofs_">
|
||||
<xsl:value-of select="$BLKD_PRTCHAN_W + ceiling(($G_Total_DrawArea_W - (($ports_per_side_ * $BLKD_IOP_W) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="v_ofs_">
|
||||
<xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($G_Total_DrawArea_H - (($ports_per_side_ * $BLKD_IOP_H) + (($ports_per_side_ - 1) * $BLKD_IOP_SPC))) div 2)"/>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT">
|
||||
<xsl:sort data-type="number" select="@INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="poffset_" select="0"/>
|
||||
<xsl:variable name="pcount_" select="$poffset_ + (position() -1)"/>
|
||||
|
||||
<xsl:variable name="pdir_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@DIR='I' or @DIR='IN' or @DIR='INPUT')">I</xsl:when>
|
||||
<xsl:when test="(@DIR='O' or @DIR='OUT' or @DIR='OUTPUT')">O</xsl:when>
|
||||
<xsl:when test="(@DIR='IO' or @DIR='INOUT')">B</xsl:when>
|
||||
<xsl:otherwise>I</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pside_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 0) and ($pcount_ < ($ports_per_side_ * 1)))">W</xsl:when>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 1) and ($pcount_ < ($ports_per_side_ * 2)))">S</xsl:when>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 2) and ($pcount_ < ($ports_per_side_ * 3)))">E</xsl:when>
|
||||
<xsl:when test="($pcount_ >= ($ports_per_side_ * 3) and ($pcount_ < ($ports_per_side_ * 4)))">N</xsl:when>
|
||||
<xsl:otherwise>D</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pdec_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($ports_per_side_ * 0)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($ports_per_side_ * 1)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($ports_per_side_ * 2)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($ports_per_side_ * 3)"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="px_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($BLKD_PRTCHAN_W - $BLKD_IOP_W)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)) - 2)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $G_Total_DrawArea_W)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_W)))"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="py_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $G_Total_DrawArea_H)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($BLKD_IOP_SPC + $BLKD_IOP_H)))"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $BLKD_IOP_H)"/></xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="prot_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'I'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'I'))">-90</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'I'))">180</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'I'))">90</xsl:when>
|
||||
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'O'))">180</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'O'))">90</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'O'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'O'))">-90</xsl:when>
|
||||
|
||||
<xsl:when test="(($pside_ = 'W') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'S') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'E') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:when test="(($pside_ = 'N') and ($pdir_ = 'B'))">0</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="txo_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')">-14</xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')">8</xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="(($BLKD_IOP_W * 2) - 4)"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')">8</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="tyo_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($pside_ = 'W')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_IOP_H * 2) + 4"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($BLKD_IOP_H div 2) + 6"/></xsl:when>
|
||||
<xsl:when test="($pside_ = 'N')">-2</xsl:when>
|
||||
<xsl:otherwise>0</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="$pdir_ = 'B'">
|
||||
<use x="{$px_}"
|
||||
y="{$py_}"
|
||||
id="{@NAME}"
|
||||
xlink:href="#G_BIPort"
|
||||
transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">
|
||||
<rect
|
||||
x="{$px_}"
|
||||
y="{$py_}"
|
||||
width= "{$BLKD_IOP_W}"
|
||||
height="{$BLKD_IOP_H}" style="stroke:{$COL_IORING}; stroke-width:1"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($pdir_ = 'B')">
|
||||
<use x="{$px_}"
|
||||
y="{$py_}"
|
||||
id="{@NAME}"
|
||||
xlink:href="#G_IOPort"
|
||||
transform="rotate({$prot_},{$px_ + ceiling($BLKD_IOP_W div 2)},{$py_ + ceiling($BLKD_IOP_H div 2)})"/>
|
||||
</xsl:if>
|
||||
|
||||
<text class="iopnumb"
|
||||
x="{$px_ + $txo_}"
|
||||
y="{$py_ + $tyo_}"><xsl:value-of select="@INDEX"/><tspan class="iopgrp"><xsl:value-of select="@GROUP"/></tspan>
|
||||
</text>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Define_ExtPortsTable">
|
||||
|
||||
<!--
|
||||
<xsl:if test="$oriented_= 'WEST'"><xsl:value-of select="$proc2procX_ - (string-length(@BUSNAME) * 6)"/></xsl:if>
|
||||
<xsl:variable name="max_name_" select="math:max(string-length($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT/@NAME))"/>
|
||||
<xsl:variable name="max_sgnm_" select="math:max(string-length($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT/@SIGNAME))"/>
|
||||
|
||||
<xsl:message>MAX NAME <xsl:value-of select="$max_name_"/></xsl:message>
|
||||
<xsl:message>MAX SIG <xsl:value-of select="$max_sgnm_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="ext_ports_">
|
||||
<xsl:if test="not($G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT)">
|
||||
<EXTPORT NAME="__none__" SIGNAME="__none_" NAMELEN="0" SIGLEN="0"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT">
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/EXTERNALPORTS/PORT">
|
||||
<EXTPORT NAME="{@NAME}" SIGNAME="{@SIGNAME}" NAMELEN="{string-length(@NAME)}" SIGLEN="{string-length(@SIGNAME)}"/>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="max_name_" select="math:max(exsl:node-set($ext_ports_)/EXTPORT/@NAMELEN)"/>
|
||||
<xsl:variable name="max_sign_" select="math:max(exsl:node-set($ext_ports_)/EXTPORT/@SIGLEN)"/>
|
||||
|
||||
<xsl:variable name="h_font_" select="12"/>
|
||||
<xsl:variable name="w_font_" select="12"/>
|
||||
|
||||
<xsl:variable name="w_num_" select="($w_font_ * 5)"/>
|
||||
<xsl:variable name="w_dir_" select="($w_font_ * 3)"/>
|
||||
<xsl:variable name="w_lsbmsb_" select="($w_font_ * 9)"/>
|
||||
<xsl:variable name="w_attr_" select="($w_font_ * 4)"/>
|
||||
<xsl:variable name="w_name_" select="($w_font_ * $max_name_)"/>
|
||||
<xsl:variable name="w_sign_" select="($w_font_ * $max_sign_)"/>
|
||||
|
||||
<xsl:variable name="w_table_" select="($w_num_ + $w_name_ + $w_dir_ + $w_sign_ + $w_attr_)"/>
|
||||
|
||||
<!--
|
||||
<xsl:message>MAX NAME <xsl:value-of select="$max_name_"/></xsl:message>
|
||||
<xsl:message>MAX SIG <xsl:value-of select="$max_sign_"/></xsl:message>
|
||||
|
||||
<xsl:message>W NUM <xsl:value-of select="$w_num_"/></xsl:message>
|
||||
<xsl:message>W DIR <xsl:value-of select="$w_dir_"/></xsl:message>
|
||||
<xsl:message>W NAM <xsl:value-of select="$w_name_"/></xsl:message>
|
||||
<xsl:message>W SIG <xsl:value-of select="$w_sign_"/></xsl:message>
|
||||
<xsl:message>W ATT <xsl:value-of select="$w_attr_"/></xsl:message>
|
||||
|
||||
<xsl:message>W TABLE <xsl:value-of select="$w_table_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<g id="BlkDiagram_ExtPortsTable">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$w_table_}"
|
||||
height="{$h_font_}" style="fill:{$COL_RED}; stroke:none; stroke-width:1"/>
|
||||
</g>
|
||||
|
||||
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- ======================= END MAIN BLOCK =========================== -->
|
||||
|
||||
</xsl:stylesheet>
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,465 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!--
|
||||
<xsl:output method="xml"
|
||||
version="1.0"
|
||||
encoding="UTF-8"
|
||||
indent="yes"
|
||||
doctype-public="-//W3C//DTD SVG Tiny 1.1//EN"
|
||||
doctype-system="http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"/>
|
||||
-->
|
||||
|
||||
|
||||
<!-- ======================= DEF BLOCK =================================== -->
|
||||
<xsl:template name="Define_AllStacks">
|
||||
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/BCLANESPACES/BCLANESPACE[(@EAST < $G_ROOT/EDKSYSTEM/BLKDIAGRAM/@STACK_HORIZ_WIDTH)]">
|
||||
|
||||
<xsl:call-template name="Define_Stack">
|
||||
<xsl:with-param name="iStackIdx" select="@EAST"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_Stack">
|
||||
<xsl:param name="iStackIdx" select="100"/>
|
||||
|
||||
<!-- Define the stack's peripheral shapes-->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and not(@MODCLASS = 'MEMORY_UNIT'))]">
|
||||
|
||||
<xsl:for-each select="MODULE">
|
||||
<xsl:variable name="modInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="modType_" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>
|
||||
<xsl:call-template name="Define_Peripheral">
|
||||
<xsl:with-param name="iModInst" select="$modInst_"/>
|
||||
<xsl:with-param name="iModType" select="$modType_"/>
|
||||
<xsl:with-param name="iShapeId" select="../@SHAPE_ID"/>
|
||||
<xsl:with-param name="iHorizIdx" select="../@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="../@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Define the stack's memory shapes-->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $iStackIdx) and (@MODCLASS='MEMORY_UNIT'))]">
|
||||
<xsl:call-template name="Define_MemoryUnit">
|
||||
<xsl:with-param name="iShapeId" select="@SHAPE_ID"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
|
||||
|
||||
<!-- Define the stack's processors-->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/PROCSHAPES/MODULE[@INSTANCE and @BIFS_W and @BIFS_H and (@STACK_HORIZ_INDEX = $iStackIdx)]">
|
||||
<xsl:call-template name="Define_Processor"/>
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Make an inventory of all the things in this processor's stack -->
|
||||
<xsl:variable name="pstackW_">
|
||||
<xsl:call-template name="F_Calc_Stack_Width">
|
||||
<xsl:with-param name="iStackIdx" select="$iStackIdx"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pstackH_">
|
||||
<xsl:call-template name="F_Calc_Stack_Height">
|
||||
<xsl:with-param name="iStackIdx" select="$iStackIdx"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>Proc Stack Height <xsl:value-of select="$pstackH_"/></xsl:message>
|
||||
<xsl:message>Proc Stack Height <xsl:value-of select="$pstackH_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="procW_" select="$BLKD_MOD_W"/>
|
||||
<xsl:variable name="procX_" select="(ceiling($pstackW_ div 2) - ceiling($procW_ div 2))"/>
|
||||
|
||||
<xsl:variable name="sbsGap_" select="($BLKD_PROC2SBS_GAP + $G_Total_SharedBus_H)"/>
|
||||
|
||||
<xsl:variable name="stack_name_">
|
||||
<xsl:call-template name="F_generate_Stack_Name">
|
||||
<xsl:with-param name="iHorizIdx" select="$iStackIdx"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>Horiz index<xsl:value-of select="$stackIdx"/></xsl:message>
|
||||
<xsl:message>Drawing stack <xsl:value-of select="$stack_name_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<!-- Now use all this stuff to draw the stack-->
|
||||
<g id="{$stack_name_}">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
rx="6"
|
||||
ry="6"
|
||||
width = "{$pstackW_}"
|
||||
height= "{$pstackH_}"
|
||||
style="fill:{$COL_BG}; stroke:none;"/>
|
||||
|
||||
|
||||
<!-- First draw the the processor's peripherals-->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/CMPLXSHAPES/CMPLXSHAPE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
|
||||
<xsl:sort select="@STACK_VERTI_INDEX" data-type="number"/>
|
||||
|
||||
|
||||
<xsl:variable name="shapeW_" select="(@MODS_W * $BLKD_MOD_W)"/>
|
||||
<xsl:variable name="shapeX_" select="(ceiling($pstackW_ div 2) - ceiling($shapeW_ div 2))"/>
|
||||
|
||||
<xsl:variable name="stack_SymName_">
|
||||
<xsl:call-template name="F_generate_Stack_SymbolName">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>Drawing stack peripheral <xsl:value-of select="$stack_SymName_"/></xsl:message>
|
||||
-->
|
||||
<xsl:variable name="shapeY_">
|
||||
<xsl:call-template name="F_Calc_Stack_Shape_Y">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<use x="{$shapeX_}" y="{$shapeY_}" xlink:href="#{$stack_SymName_}"/>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
|
||||
<!-- Then draw the slave buckets for the shared busses that this processor is master to -->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $iStackIdx)]">
|
||||
<xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
|
||||
|
||||
<xsl:variable name="bucketW_" select="(($BLKD_MOD_BKTLANE_W * 2) + (($BLKD_MOD_W * @MODS_W) + ($BLKD_MOD_BUCKET_G * (@MODS_W - 1))))"/>
|
||||
<xsl:variable name="bucketX_" select="(ceiling($pstackW_ div 2) - ceiling($bucketW_ div 2))"/>
|
||||
|
||||
<xsl:variable name="bucketY_">
|
||||
<xsl:call-template name="F_Calc_Stack_Shape_Y">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>SBS Bucket Y <xsl:value-of select="$bucketY_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<use x="{$bucketX_}" y="{$bucketY_}" xlink:href="#sbsbucket_{@BUSNAME}"/>
|
||||
|
||||
<xsl:variable name="slavesOfTxt_">SLAVES OF <xsl:value-of select="@BUSNAME"/></xsl:variable>
|
||||
<!--
|
||||
<text class="bkt_label"
|
||||
x="{$bucketX_}"
|
||||
y="{$bucketY_ - 4}"><xsl:value-of select="$slavesOfTxt_"/></text>
|
||||
-->
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="$bucketX_"/>
|
||||
<xsl:with-param name="iY" select="($bucketY_ - 4)"/>
|
||||
<xsl:with-param name="iText" select="$slavesOfTxt_"/>
|
||||
<xsl:with-param name="iClass" select="'bkt_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Then draw the the processor itself -->
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
|
||||
<xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
|
||||
|
||||
<xsl:variable name="procY_">
|
||||
<xsl:call-template name="F_Calc_Stack_Shape_Y">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="stack_SymName_">
|
||||
<xsl:call-template name="F_generate_Stack_SymbolName">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<use x="{$procX_}" y="{$procY_}" xlink:href="#{$stack_SymName_}"/>
|
||||
|
||||
|
||||
<!--
|
||||
<xsl:if test = "not(@IS_LIKEPROC)">
|
||||
<text class="ipclass_label"
|
||||
x="{$procX_}"
|
||||
y="{$procY_ - 4}">PROCESSOR</text>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test = "@IS_LIKEPROC = 'TRUE'">
|
||||
|
||||
<text class="ipclass_label"
|
||||
x="{$procX_}"
|
||||
y="{$procY_ - 4}">USER MODULE</text>
|
||||
</xsl:if>
|
||||
|
||||
-->
|
||||
|
||||
<xsl:if test = "not(@IS_LIKEPROC)">
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="$procX_"/>
|
||||
<xsl:with-param name="iY" select="($procY_ - 4)"/>
|
||||
<xsl:with-param name="iText" select="'PROCESSOR'"/>
|
||||
<xsl:with-param name="iClass" select="'ipclass_label'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test = "@IS_LIKEPROC = 'TRUE'">
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="$procX_"/>
|
||||
<xsl:with-param name="iY" select="($procY_ - 4)"/>
|
||||
<xsl:with-param name="iText" select="'USER MODULE'"/>
|
||||
<xsl:with-param name="iClass" select="'ipclass_label'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:for-each>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_Processor">
|
||||
<xsl:param name="iProcInst" select="@INSTANCE"/>
|
||||
<xsl:param name="iModType" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@MODTYPE"/>
|
||||
|
||||
<xsl:variable name="label_y_">
|
||||
<xsl:value-of select="$BLKD_MOD_LANE_H"/>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>The proctype is <xsl:value-of select="$procType"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="procH_" select="(($BLKD_MOD_LANE_H * 2) + (($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIFS_H) + ($BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
|
||||
<xsl:variable name="procW_" select="(($BLKD_MOD_LANE_W * 2) + (($BLKD_BIF_W * @BIFS_W) + $BLKD_MOD_BIF_GAP_H))"/>
|
||||
|
||||
<xsl:variable name="procColor_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($iModType,'microblaze')"><xsl:value-of select="$COL_PROC_BG_MB"/></xsl:when>
|
||||
<xsl:when test="contains($iModType,'ppc')"><xsl:value-of select="$COL_PROC_BG_PP"/></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$COL_PROC_BG_USR"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>The proc color is <xsl:value-of select="$procColor"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="procName_">
|
||||
<xsl:call-template name="F_generate_Stack_SymbolName">
|
||||
<xsl:with-param name="iHorizIdx" select="@STACK_HORIZ_INDEX"/>
|
||||
<xsl:with-param name="iVertiIdx" select="@SHAPE_VERTI_INDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>The proc name is <xsl:value-of select="$procName_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<g id="{$procName_}">
|
||||
|
||||
<rect x="0"
|
||||
y="0"
|
||||
rx="6"
|
||||
ry="6"
|
||||
width = "{$procW_}"
|
||||
height= "{$procH_}"
|
||||
style="fill:{$procColor_}; stroke:{$COL_WHITE}; stroke-width:2"/>
|
||||
|
||||
|
||||
<rect x="{ceiling($procW_ div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
|
||||
y="{$BLKD_MOD_LANE_H}"
|
||||
rx="3"
|
||||
ry="3"
|
||||
width= "{$BLKD_MOD_LABEL_W}"
|
||||
height="{$BLKD_MOD_LABEL_H}"
|
||||
style="fill:{$COL_WHITE}; stroke:none;"/>
|
||||
<!--
|
||||
<text class="bciptype"
|
||||
x="{ceiling($procW_ div 2)}"
|
||||
y="{$BLKD_MOD_LANE_H + 8}">
|
||||
<xsl:value-of select="$iModType"/>
|
||||
</text>
|
||||
|
||||
<text class="bciplabel"
|
||||
x="{ceiling($procW_ div 2)}"
|
||||
y="{$BLKD_MOD_LANE_H + 16}">
|
||||
<xsl:value-of select="$iProcInst"/>
|
||||
</text>
|
||||
-->
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="ceiling($procW_ div 2)"/>
|
||||
<xsl:with-param name="iY" select="($BLKD_MOD_LANE_H + 8)"/>
|
||||
<xsl:with-param name="iText" select="$iModType"/>
|
||||
<xsl:with-param name="iClass" select="'bc_iptype'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="ceiling($procW_ div 2)"/>
|
||||
<xsl:with-param name="iY" select="($BLKD_MOD_LANE_H + 16)"/>
|
||||
<xsl:with-param name="iText" select="$iProcInst"/>
|
||||
<xsl:with-param name="iClass" select="'bc_ipinst'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
|
||||
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@GROUP">
|
||||
|
||||
<rect x="{ceiling($BLKD_MOD_W div 2) - ceiling($BLKD_MOD_LABEL_W div 2)}"
|
||||
y="{$BLKD_MOD_LANE_H + $BIF_H + ceiling($BLKD_BIF_H div 3) - 2}"
|
||||
rx="3"
|
||||
ry="3"
|
||||
width= "{$BLKD_MOD_LABEL_W}"
|
||||
height="{$BLKD_BIF_H}"
|
||||
style="fill:{$COL_IORING_LT}; stroke:none;"/>
|
||||
<!--
|
||||
<text class="ioplblgrp"
|
||||
x="{ceiling($BLKD_MOD_W div 2)}"
|
||||
y="{$BLKD_MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) + 12}">
|
||||
<xsl:value-of select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@GROUP"/>
|
||||
</text>
|
||||
-->
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="ceiling($BLKD_MOD_W div 2)"/>
|
||||
<xsl:with-param name="iY" select="($BLKD_MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) + 12)"/>
|
||||
<xsl:with-param name="iText" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/@GROUP"/>
|
||||
<xsl:with-param name="iClass" select="'iogrp_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:for-each select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/BUSINTERFACE[(@BIF_X and @BIF_Y)]">
|
||||
|
||||
<xsl:variable name="bifBusStd_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@BUSSTD">
|
||||
<xsl:value-of select="@BUSSTD"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="'TRS'"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bifBusColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$bifBusStd_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="bifName_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(@NAME) <= 5">
|
||||
<xsl:value-of select="@NAME"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="substring(@NAME,0,5)"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bif_x_" select="(( $BLKD_BIF_W * @BIF_X) + ($BLKD_MOD_BIF_GAP_H * @BIF_X) + ($BLKD_MOD_LANE_W * 1))"/>
|
||||
<xsl:variable name="bif_y_" select="((($BLKD_BIF_H + $BLKD_MOD_BIF_GAP_V) * @BIF_Y) + ($BLKD_MOD_LANE_H + $BLKD_MOD_LABEL_H + $BLKD_MOD_BIF_GAP_V))"/>
|
||||
|
||||
<xsl:variable name="horz_line_y_" select="($bif_y_ + ceiling($BLKD_BIFC_H div 2))"/>
|
||||
|
||||
<xsl:variable name="horz_line_x1_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@BIF_X = '0'">0</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="($BLKD_MOD_W - $BLKD_MOD_LANE_W)"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="horz_line_x2_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@BIF_X = '0'"><xsl:value-of select="$BLKD_MOD_LANE_W"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$BLKD_MOD_W + 1"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<line x1="{$horz_line_x1_}"
|
||||
y1="{$horz_line_y_ - 2}"
|
||||
x2="{$horz_line_x2_}"
|
||||
y2="{$horz_line_y_ - 2}"
|
||||
style="stroke:{$bifBusColor_};stroke-width:1"/>
|
||||
|
||||
<use x="{$bif_x_}" y="{$bif_y_}" xlink:href="#{$bifBusStd_}_BifLabel"/>
|
||||
|
||||
<!--
|
||||
<text class="bif_label"
|
||||
x="{$bif_x_ + ceiling($BIF_W div 2)}"
|
||||
y="{$bif_y_ + ceiling($BIF_H div 2) + 3}">
|
||||
<xsl:value-of select="$bifName_"/>
|
||||
</text>
|
||||
-->
|
||||
|
||||
<xsl:call-template name="F_WriteText">
|
||||
<xsl:with-param name="iX" select="($bif_x_ + ceiling($BIF_W div 2))"/>
|
||||
<xsl:with-param name="iY" select="($bif_y_ + ceiling($BIF_H div 2) + 3)"/>
|
||||
<xsl:with-param name="iText" select="$bifName_"/>
|
||||
<xsl:with-param name="iClass" select="'bif_label'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:variable name="intcIdx_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/INTERRUPTINFO/@INTC_INDEX">
|
||||
<xsl:value-of select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/INTERRUPTINFO/@INTC_INDEX"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>"_no_interrupt_cntlr_"</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message> The intc index should <xsl:value-of select="$interrupt_cntlr_"/></xsl:message>
|
||||
<xsl:message> The intc index is <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTC_INDEX"/></xsl:message>
|
||||
-->
|
||||
<xsl:if test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(INTERRUPTINFO[(@INTC_INDEX = $intcIdx_)])]">
|
||||
|
||||
<xsl:variable name="intrColor_">
|
||||
<xsl:call-template name="F_IntcIdx2RGB">
|
||||
<xsl:with-param name="iIntcIdx" select="$intcIdx_"/>
|
||||
<!--
|
||||
<xsl:with-param name="iIntcIdx" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/INTERRUPTINFO/@INTC_INDEX"/>
|
||||
-->
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="F_draw_InterruptedProc">
|
||||
<xsl:with-param name="iIntr_X" select="($BLKD_MOD_W - ceiling($BLKD_INTR_W div 2))"/>
|
||||
<xsl:with-param name="iIntr_Y" select="3"/>
|
||||
<xsl:with-param name="iIntr_COL" select="$intrColor_"/>
|
||||
<xsl:with-param name="iIntr_IDX" select="$intcIdx_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,271 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!--
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
|
||||
doctype-public="-//W3C//DTD SVG 1.0//EN"
|
||||
doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
|
||||
-->
|
||||
|
||||
<!-- ======================= DEF BLOCK =================================== -->
|
||||
|
||||
<xsl:template name="Define_ConnectedBifTypes">
|
||||
|
||||
<xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
|
||||
<xsl:variable name="busStd_" select="@BUSSTD"/>
|
||||
<xsl:variable name="psfStd_" select="@BUSSTD_PSF"/>
|
||||
<xsl:for-each select="$G_SYS_MODS">
|
||||
<xsl:variable name="bif_by_busStd_" select="key('G_MAP_ALL_BIFS',$busStd_)[((@IS_INSTANTIATED = 'TRUE') or (@IS_INMHS = 'TRUE'))]"/>
|
||||
<xsl:variable name="num_of_busStd_" select="count($bif_by_busStd_)"/>
|
||||
|
||||
<xsl:variable name="bif_by_psfStd_" select="key('G_MAP_ALL_BIFS',$psfStd_)[((@IS_INSTANTIATED = 'TRUE') or (@IS_INMHS = 'TRUE'))]"/>
|
||||
<xsl:variable name="num_of_psfStd_" select="count($bif_by_psfStd_)"/>
|
||||
<!--
|
||||
<xsl:message>DEBUG : <xsl:value-of select="$busStd_"/> : <xsl:value-of select="$num_of_busStd_"/> : <xsl:value-of select="$num_of_psfStd_"/></xsl:message>
|
||||
<xsl:variable name="bif_by_busStd_" select="key('G_MAP_ALL_BIFS',$busStd_)[(@IS_INSTANTIATED = 'TRUE')]"/>
|
||||
<xsl:variable name="num_of_busStd_" select="count($bif_by_busStd_)"/>
|
||||
-->
|
||||
<xsl:if test="(($num_of_busStd_ > 0) or ($num_of_psfStd_ > 0))">
|
||||
<xsl:if test="($num_of_busStd_ > 0)">
|
||||
<xsl:call-template name="Define_BifLabel">
|
||||
<xsl:with-param name="iBusStd" select="$busStd_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:if test="($num_of_psfStd_ > 0)">
|
||||
<xsl:call-template name="Define_BifLabel">
|
||||
<xsl:with-param name="iBusStd" select="$psfStd_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="exsl:node-set($G_BIFTYPES)/BIFTYPE">
|
||||
<xsl:variable name="bifType_" select="@TYPE"/>
|
||||
|
||||
<xsl:variable name="num_of_bifType_" select="count($bif_by_busStd_[(@TYPE = $bifType_)])"/>
|
||||
<!--
|
||||
<xsl:message>DEBUG : <xsl:value-of select="$bifType_"/> : <xsl:value-of select="$num_of_bifType_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:if test="($num_of_bifType_ > 0)">
|
||||
<xsl:if test="($num_of_busStd_ > 0)">
|
||||
<xsl:call-template name="Define_BifTypeConnector">
|
||||
<xsl:with-param name="iBusStd" select="$busStd_"/>
|
||||
<xsl:with-param name="iBifType" select="$bifType_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<xsl:if test="($num_of_psfStd_ > 0)">
|
||||
<xsl:call-template name="Define_BifTypeConnector">
|
||||
<xsl:with-param name="iBusStd" select="$busStd_"/>
|
||||
<xsl:with-param name="iBifType" select="$bifType_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:call-template name="Define_BifLabel">
|
||||
<xsl:with-param name="iBusStd" select="'KEY'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:for-each select="exsl:node-set($G_BIFTYPES)/BIFTYPE">
|
||||
<xsl:variable name="bifType_" select="@TYPE"/>
|
||||
|
||||
<xsl:call-template name="Define_BifTypeConnector">
|
||||
<xsl:with-param name="iBusStd" select="'KEY'"/>
|
||||
<xsl:with-param name="iBifType" select="$bifType_"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Define_BifLabel">
|
||||
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<g id="{$iBusStd}_BifLabel">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
rx="3"
|
||||
ry="3"
|
||||
width= "{$BIF_W}"
|
||||
height="{$BIF_H}"
|
||||
style="fill:{$busStdColor_}; stroke:black; stroke-width:1"/>
|
||||
</g>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_BifTypeConnector">
|
||||
|
||||
<xsl:param name="iBusStd" select="'USER'"/>
|
||||
<xsl:param name="iBifType" select="'USER'"/>
|
||||
|
||||
<xsl:variable name="busStdColor_">
|
||||
<xsl:call-template name="F_BusStd2RGB">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="busStdColor_lt_">
|
||||
<xsl:call-template name="F_BusStd2RGB_LT">
|
||||
<xsl:with-param name="iBusStd" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bifc_wi_" select="ceiling($BIFC_W div 3)"/>
|
||||
<xsl:variable name="bifc_hi_" select="ceiling($BIFC_H div 3)"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="$iBifType = 'SLAVE'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2) + 0.5}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_Wi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'MASTER'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
width= "{$BIFC_W}"
|
||||
height="{$BIFC_H}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<rect x="{$BIFC_dx + 0.5}"
|
||||
y="{$BIFC_dy}"
|
||||
width= "{$BIFC_Wi}"
|
||||
height="{$BIFC_Hi}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'INITIATOR'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
width= "{$BIFC_W}"
|
||||
height="{$BIFC_H}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<rect x="{$BIFC_dx + 0.5}"
|
||||
y="{$BIFC_dy}"
|
||||
width= "{$BIFC_Wi}"
|
||||
height="{$BIFC_Hi}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'TARGET'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2) + 0.5}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_Wi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'MASTER_SLAVE'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2) + 0.5}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_Wi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
<rect
|
||||
x="0"
|
||||
y="{ceiling($BIFC_H div 2)}"
|
||||
width= "{$BIFC_W}"
|
||||
height="{ceiling($BIFC_H div 2)}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<rect
|
||||
x="{$BIFC_dx + 0.5}"
|
||||
y="{ceiling($BIFC_H div 2)}"
|
||||
width= "{$BIFC_Wi}"
|
||||
height="{ceiling($BIFC_Hi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'MONITOR'">
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<rect
|
||||
x="0"
|
||||
y="0.5"
|
||||
width= "{$BIFC_W}"
|
||||
height="{ceiling($BIFC_Hi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
<rect
|
||||
x="0"
|
||||
y="{ceiling($BIFC_H div 2) + 4}"
|
||||
width= "{$BIFC_W}"
|
||||
height="{ceiling($BIFC_Hi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$iBifType = 'USER'">
|
||||
<g id="{$iBusStd}_busconn_USER">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busStdColor_lt_}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2) + 0.5}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_Wi div 2)}"
|
||||
style="fill:{$busStdColor_}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<g id="{$iBusStd}_busconn_{$iBifType}">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$COL_WHITE}; stroke:{$busStdColor_}; stroke-width:1"/>
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2) + 0.5}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_Wi div 2)}"
|
||||
style="fill:{$COL_WHITE}; stroke:none;"/>
|
||||
</g>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1 @@
|
|||
-p xc6slx45tfgg484-3
|
|
@ -0,0 +1,263 @@
|
|||
<?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>
|
||||
|
|
@ -0,0 +1,245 @@
|
|||
<?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>
|
||||
|
|
@ -0,0 +1,894 @@
|
|||
<?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>
|
||||
|
|
@ -0,0 +1,631 @@
|
|||
<?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
|
@ -0,0 +1,771 @@
|
|||
<?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>
|
||||
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
<SAV MODE="TREE" VIEW="ADDRESS"/>
|
|
@ -0,0 +1,141 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- IMPORTANT: This is an internal file that has been generated
|
||||
by the Xilinx ISE software. Any direct editing or
|
||||
changes made to this file may result in unpredictable
|
||||
behavior or data corruption. It is strongly advised that
|
||||
users do not edit the contents of this file. -->
|
||||
<messages>
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_interconnect</arg>, INSTANCE:<arg fmt="%s" index="2">axi4_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_BASEFAMILY</arg> value to <arg fmt="%s" index="6">spartan6</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_interconnect_v1_02_a\data\axi_interconnect_v2_1_0.mpd line 69</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_interconnect</arg>, INSTANCE:<arg fmt="%s" index="2">axi4lite_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_BASEFAMILY</arg> value to <arg fmt="%s" index="6">spartan6</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_interconnect_v1_02_a\data\axi_interconnect_v2_1_0.mpd line 69</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">microblaze</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_ENDIANNESS</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_10_a\data\microblaze_v2_1_0.mpd line 183</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">microblaze</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_ICACHE_USE_FSL</arg> value to <arg fmt="%s" index="6">0</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_10_a\data\microblaze_v2_1_0.mpd line 322</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">microblaze</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_DCACHE_USE_FSL</arg> value to <arg fmt="%s" index="6">0</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_10_a\data\microblaze_v2_1_0.mpd line 352</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_s6_ddrx</arg>, INSTANCE:<arg fmt="%s" index="2">MCB_DDR3</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_SYS_RST_PRESENT</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_s6_ddrx_v1_02_a\data\axi_s6_ddrx_v2_1_0.mpd line 228</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="740" delta="old" >Cannot determine the input clock associated with port : <arg fmt="%s" index="1">microblaze_0_i_bram_ctrl</arg>:<arg fmt="%s" index="2">BRAM_Clk_A</arg>. Clock DRCs will not be performed on this core and cores connected to it.
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="740" delta="old" >Cannot determine the input clock associated with port : <arg fmt="%s" index="1">microblaze_0_d_bram_ctrl</arg>:<arg fmt="%s" index="2">BRAM_Clk_A</arg>. Clock DRCs will not be performed on this core and cores connected to it.
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_ethernetlite</arg>, INSTANCE: <arg fmt="%s" index="2">Ethernet_Lite</arg> - <arg fmt="%s" index="3">This design requires design constraints to guarantee performance.
|
||||
Please refer to the data sheet for details.
|
||||
The AXI clock frequency must be greater than or equal to 50 MHz for 100 Mbs Ethernet operation and greater than or equal to 5.0 MHz for 10 Mbs Ethernet operation.</arg> - <arg fmt="%s" index="4">C:\E\Dev\FreeRTOS\WorkingCopy\Demo\MicroBlaze_Spartan-6_EthernetLite\PlatformStudioProject\system.mhs line 324</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">lmb_v10</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0_ilmb</arg> - <arg fmt="%s" index="3">tool</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_LMB_NUM_SLAVES</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\lmb_v10_v2_00_a\data\lmb_v10_v2_1_0.mpd line 70</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">lmb_v10</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0_dlmb</arg> - <arg fmt="%s" index="3">tool</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_LMB_NUM_SLAVES</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\lmb_v10_v2_00_a\data\lmb_v10_v2_1_0.mpd line 70</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">bram_block</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0_bram_block</arg> - <arg fmt="%s" index="3">tool</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_MEMSIZE</arg> value to <arg fmt="%s" index="6">0x2000</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\bram_block_v1_00_a\data\bram_block_v2_1_0.mpd line 67</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="warning" file="EDK" num="0" delta="new" >PORT: <arg fmt="%s" index="1">bscan_tdo1</arg>, CONNECTOR: <arg fmt="%s" index="2">bscan_tdo1</arg> - No driver found. Port will be driven to <arg fmt="%s" index="3">GND</arg> - <arg fmt="%s" index="4">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\mdm_v2_00_b\data\mdm_v2_1_0.mpd line 230</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="warning" file="EDK" num="0" delta="new" >PORT: <arg fmt="%s" index="1">bscan_tdi</arg>, CONNECTOR: <arg fmt="%s" index="2">bscan_tdi</arg> - floating connection - <arg fmt="%s" index="3">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\mdm_v2_00_b\data\mdm_v2_1_0.mpd line 223</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="warning" file="EDK" num="0" delta="new" >PORT: <arg fmt="%s" index="1">bscan_reset</arg>, CONNECTOR: <arg fmt="%s" index="2">bscan_reset</arg> - floating connection - <arg fmt="%s" index="3">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\mdm_v2_00_b\data\mdm_v2_1_0.mpd line 224</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="warning" file="EDK" num="0" delta="new" >PORT: <arg fmt="%s" index="1">bscan_shift</arg>, CONNECTOR: <arg fmt="%s" index="2">bscan_shift</arg> - floating connection - <arg fmt="%s" index="3">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\mdm_v2_00_b\data\mdm_v2_1_0.mpd line 225</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="warning" file="EDK" num="0" delta="new" >PORT: <arg fmt="%s" index="1">bscan_update</arg>, CONNECTOR: <arg fmt="%s" index="2">bscan_update</arg> - floating connection - <arg fmt="%s" index="3">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\mdm_v2_00_b\data\mdm_v2_1_0.mpd line 226</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="warning" file="EDK" num="0" delta="new" >PORT: <arg fmt="%s" index="1">bscan_capture</arg>, CONNECTOR: <arg fmt="%s" index="2">bscan_capture</arg> - floating connection - <arg fmt="%s" index="3">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\mdm_v2_00_b\data\mdm_v2_1_0.mpd line 227</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="warning" file="EDK" num="0" delta="new" >PORT: <arg fmt="%s" index="1">bscan_sel1</arg>, CONNECTOR: <arg fmt="%s" index="2">bscan_sel1</arg> - floating connection - <arg fmt="%s" index="3">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\mdm_v2_00_b\data\mdm_v2_1_0.mpd line 228</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="warning" file="EDK" num="0" delta="new" >PORT: <arg fmt="%s" index="1">bscan_drck1</arg>, CONNECTOR: <arg fmt="%s" index="2">bscan_drck1</arg> - floating connection - <arg fmt="%s" index="3">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\mdm_v2_00_b\data\mdm_v2_1_0.mpd line 229</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_interconnect</arg>, INSTANCE:<arg fmt="%s" index="2">axi4_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_RANGE_CHECK</arg> value to <arg fmt="%s" index="6">0</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_interconnect_v1_02_a\data\axi_interconnect_v2_1_0.mpd line 137</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_interconnect</arg>, INSTANCE:<arg fmt="%s" index="2">axi4lite_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_RANGE_CHECK</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_interconnect_v1_02_a\data\axi_interconnect_v2_1_0.mpd line 137</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">microblaze</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_D_AXI</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_10_a\data\microblaze_v2_1_0.mpd line 216</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">microblaze</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_ADDR_TAG_BITS</arg> value to <arg fmt="%s" index="6">13</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_10_a\data\microblaze_v2_1_0.mpd line 320</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">microblaze</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_DCACHE_ADDR_TAG</arg> value to <arg fmt="%s" index="6">13</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_10_a\data\microblaze_v2_1_0.mpd line 350</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">microblaze</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_USE_INTERRUPT</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_10_a\data\microblaze_v2_1_0.mpd line 384</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">microblaze</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_USE_EXT_BRK</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_10_a\data\microblaze_v2_1_0.mpd line 385</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">microblaze</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_USE_EXT_NM_BRK</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\microblaze_v8_10_a\data\microblaze_v2_1_0.mpd line 386</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">lmb_bram_if_cntlr</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0_i_bram_ctrl</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_MASK</arg> value to <arg fmt="%s" index="6">0x40000000</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\lmb_bram_if_cntlr_v3_00_a\data\lmb_bram_if_cntlr_v2_1_0.mpd line 78</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">lmb_bram_if_cntlr</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0_d_bram_ctrl</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_MASK</arg> value to <arg fmt="%s" index="6">0x40000000</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\lmb_bram_if_cntlr_v3_00_a\data\lmb_bram_if_cntlr_v2_1_0.mpd line 78</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_s6_ddrx</arg>, INSTANCE:<arg fmt="%s" index="2">MCB_DDR3</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_MEMCLK_PERIOD</arg> value to <arg fmt="%s" index="6">3333</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_s6_ddrx_v1_02_a\data\axi_s6_ddrx_v2_1_0.mpd line 110</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_s6_ddrx</arg>, INSTANCE:<arg fmt="%s" index="2">MCB_DDR3</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_S0_AXI_STRICT_COHERENCY</arg> value to <arg fmt="%s" index="6">0</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_s6_ddrx_v1_02_a\data\axi_s6_ddrx_v2_1_0.mpd line 153</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_s6_ddrx</arg>, INSTANCE:<arg fmt="%s" index="2">MCB_DDR3</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_S1_AXI_REG_EN0</arg> value to <arg fmt="%s" index="6">0x0000F</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_s6_ddrx_v1_02_a\data\axi_s6_ddrx_v2_1_0.mpd line 165</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_s6_ddrx</arg>, INSTANCE:<arg fmt="%s" index="2">MCB_DDR3</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_S2_AXI_REG_EN0</arg> value to <arg fmt="%s" index="6">0x0000F</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_s6_ddrx_v1_02_a\data\axi_s6_ddrx_v2_1_0.mpd line 179</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_s6_ddrx</arg>, INSTANCE:<arg fmt="%s" index="2">MCB_DDR3</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_S3_AXI_REG_EN0</arg> value to <arg fmt="%s" index="6">0x0000F</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_s6_ddrx_v1_02_a\data\axi_s6_ddrx_v2_1_0.mpd line 193</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_s6_ddrx</arg>, INSTANCE:<arg fmt="%s" index="2">MCB_DDR3</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_S4_AXI_REG_EN0</arg> value to <arg fmt="%s" index="6">0x0000F</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_s6_ddrx_v1_02_a\data\axi_s6_ddrx_v2_1_0.mpd line 207</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_s6_ddrx</arg>, INSTANCE:<arg fmt="%s" index="2">MCB_DDR3</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_S5_AXI_REG_EN0</arg> value to <arg fmt="%s" index="6">0x0000F</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_s6_ddrx_v1_02_a\data\axi_s6_ddrx_v2_1_0.mpd line 221</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_intc</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0_intc</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_NUM_INTR_INPUTS</arg> value to <arg fmt="%s" index="6">4</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_intc_v1_01_a\data\axi_intc_v2_1_0.mpd line 71</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_intc</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0_intc</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_KIND_OF_INTR</arg> value to <arg fmt="%s" index="6">0b11111111111111111111111111110111</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_intc_v1_01_a\data\axi_intc_v2_1_0.mpd line 72</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_intc</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0_intc</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_KIND_OF_EDGE</arg> value to <arg fmt="%s" index="6">0b11111111111111111111111111111111</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_intc_v1_01_a\data\axi_intc_v2_1_0.mpd line 73</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_intc</arg>, INSTANCE:<arg fmt="%s" index="2">microblaze_0_intc</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_KIND_OF_LVL</arg> value to <arg fmt="%s" index="6">0b11111111111111111111111111111111</arg> - <arg fmt="%s" index="7">C:\devtools\Xilinx\13.1\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\axi_intc_v1_01_a\data\axi_intc_v2_1_0.mpd line 74</arg>
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="0" delta="new" >The following instances are synthesized with <arg fmt="%s" index="1">XST</arg>. The MPD option IMP_NETLIST=TRUE indicates that a NGC file is to be produced using <arg fmt="%s" index="2">XST</arg> synthesis. IMP_NETLIST=FALSE (default) instances are not synthesized.
|
||||
</msg>
|
||||
|
||||
<msg type="info" file="EDK" num="3509" delta="old" >NCF files should not be modified as they will be regenerated.
|
||||
If any constraint needs to be overridden, this should be done by modifying the data/<arg fmt="%s" index="1">system</arg>.ucf file.
|
||||
</msg>
|
||||
|
||||
</messages>
|
||||
|
|
@ -0,0 +1,218 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<report-views version="2.0" >
|
||||
<header>
|
||||
<DateModified>2011-07-27T13:20:02</DateModified>
|
||||
<ModuleName>system</ModuleName>
|
||||
<SummaryTimeStamp>2011-07-27T13:20:02</SummaryTimeStamp>
|
||||
<SavedFilePath>C:/E/Dev/FreeRTOS/WorkingCopy/Demo/MicroBlaze_Spartan-6_EthernetLite/PlatformStudioProject/__xps/ise/system.xreport</SavedFilePath>
|
||||
<FilterFile>filter.filter</FilterFile>
|
||||
<SavedFilterFilePath>C:/E/Dev/FreeRTOS/WorkingCopy/Demo/MicroBlaze_Spartan-6_EthernetLite/PlatformStudioProject/__xps/ise</SavedFilterFilePath>
|
||||
<DateInitialized>2011-05-30T21:44:59</DateInitialized>
|
||||
<EnableMessageFiltering>false</EnableMessageFiltering>
|
||||
</header>
|
||||
<body>
|
||||
<viewgroup label="Design Overview" >
|
||||
<view inputState="Unknown" program="implementation" ShowPartitionData="false" type="FPGASummary" file="implementation\system_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\system_envsettings.html" label="System Settings" />
|
||||
<view inputState="Translated" program="map" locator="MAP_IOB_TABLE" contextTags="FPGA_ONLY" type="IOBProperties" file="implementation\system_map.xrpt" label="IOB Properties" />
|
||||
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Control_Sets" file="implementation\system_map.xrpt" label="Control Set Information" />
|
||||
<view inputState="Translated" program="map" locator="MAP_MODULE_HIERARCHY" contextTags="FPGA_ONLY" type="Module_Utilization" file="implementation\system_map.xrpt" label="Module Level Utilization" />
|
||||
<view inputState="Mapped" program="par" locator="CONSTRAINT_TABLE" contextTags="FPGA_ONLY" type="ConstraintsData" file="implementation\system.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\system_par.xrpt" label="Pinout Report" />
|
||||
<view inputState="Mapped" program="par" locator="PAR_CLOCK_TABLE" contextTags="FPGA_ONLY" type="ClocksData" file="implementation\system_par.xrpt" label="Clock Report" />
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY,EDK_OFF" hidden="true" type="Timing_Analyzer" file="implementation\system.twx" label="Static Timing" />
|
||||
<view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="implementation\system_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\system_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="system.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\system.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\system.srr" label="Synplify Report" />
|
||||
<view program="precision" contextTags="PRECISION_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation\system.prec_log" label="Precision Report" />
|
||||
<view inputState="Synthesized" program="ngdbuild" type="Report" file="implementation\system.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\system_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\system.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\system.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\system.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\system.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\system.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\system.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/system_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/system_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\system_tran_fecn.nlf" label="Post-Translate Formality Netlist Report" />
|
||||
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="implementation\system_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\system_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/system_map.nlf" label="Post-Map Simulation Model Report" />
|
||||
<view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\system_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\system_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\system.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\system_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\system.grf" label="Guide Results Report" />
|
||||
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\system.dly" label="Asynchronous Delay Report" />
|
||||
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\system.clk_rgn" label="Clock Region Report" />
|
||||
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation\system.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\system_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/system_timesim.nlf" label="Post-Place and Route Simulation Model Report" />
|
||||
<view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation\system_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\system.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\system.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\system.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/system_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>
|
|
@ -0,0 +1,3 @@
|
|||
MessageCaptureEnabled: TRUE
|
||||
MessageFilteringEnabled: FALSE
|
||||
IncrementalMessagingEnabled: TRUE
|
|
@ -0,0 +1,2 @@
|
|||
-p xc6slx45tfgg484-3 -lang vhdl$(PROJECT_SEARCHPATHOPT) $(GLOBAL_SEARCHPATHOPT) -msg __xps/ise/xmsgprops.lst
|
||||
|
|
@ -0,0 +1 @@
|
|||
-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
|
@ -0,0 +1 @@
|
|||
-device xc6slx45tfgg484-3 data/system.ucf 7 0
|
|
@ -0,0 +1 @@
|
|||
-device xc6slx45tfgg484-3 data/system.ucf 0
|
Loading…
Add table
Add a link
Reference in a new issue