mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-09-02 04:13:54 -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,211 @@
|
|||
<?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:xlink="http://www.w3.org/1999/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_BifTypes">
|
||||
|
||||
<xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
|
||||
|
||||
<xsl:call-template name="Define_BifType">
|
||||
<xsl:with-param name="iBusType" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_BifBusConnectors">
|
||||
<xsl:with-param name="iBusType" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<!--
|
||||
<xsl:message>The color of bus <xsl:value-of select="@BUSSTD"/> is <xsl:value-of select="@RGB"/></xsl:message>
|
||||
<xsl:message>The OPB Bus color is <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[@BUSSTD = 'OPB']/@RGB"/> </xsl:message>
|
||||
-->
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_BifType">
|
||||
|
||||
<xsl:param name="iBusType" select="'OPB'"/>
|
||||
|
||||
<xsl:variable name="busColor_">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="$iBusType"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<symbol id="{$iBusType}_Bif">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
rx="3"
|
||||
ry="3"
|
||||
width= "{$BIF_W}"
|
||||
height="{$BIF_H}"
|
||||
style="fill:{$busColor_}; stroke:black; stroke-width:1"/>
|
||||
</symbol>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Define_BifBusConnectors">
|
||||
|
||||
<xsl:param name="iBusType" select="'OPB'"/>
|
||||
|
||||
<xsl:variable name="busColor_">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="$iBusType"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="busColor_lt_">
|
||||
<xsl:call-template name="BusType2LightColor">
|
||||
<xsl:with-param name="iBusType" select="$iBusType"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bifc_wi_" select="ceiling($BIFC_W div 3)"/>
|
||||
<xsl:variable name="bifc_hi_" select="ceiling($BIFC_H div 3)"/>
|
||||
|
||||
<symbol id="{$iBusType}_busconn_MASTER">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
width= "{$BIFC_W}"
|
||||
height="{$BIFC_H}"
|
||||
style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/>
|
||||
|
||||
<rect x="{$BIFC_dx + 0.5}"
|
||||
y="{$BIFC_dy}"
|
||||
width= "{$BIFC_Wi}"
|
||||
height="{$BIFC_Hi}"
|
||||
style="fill:{$busColor_}; stroke:none;"/>
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_busconn_INITIATOR">
|
||||
<rect x="0"
|
||||
y="0"
|
||||
width= "{$BIFC_W}"
|
||||
height="{$BIFC_H}"
|
||||
style="fill:{$busColor_lt_}; stroke:{$busColor_}; stroke-width:1"/>
|
||||
|
||||
<rect x="{$BIFC_dx + 0.5}"
|
||||
y="{$BIFC_dy}"
|
||||
width= "{$BIFC_Wi}"
|
||||
height="{$BIFC_Hi}"
|
||||
style="fill:{$busColor_}; stroke:none;"/>
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_busconn_SLAVE">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busColor_lt_}; stroke:{$busColor_}; 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:{$busColor_}; stroke:none;"/>
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_busconn_TARGET">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busColor_lt_}; stroke:{$busColor_}; 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:{$busColor_}; stroke:none;"/>
|
||||
</symbol>
|
||||
|
||||
|
||||
<symbol id="{$iBusType}_busconn_MASTER_SLAVE">
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busColor_lt_}; stroke:{$busColor_}; 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:{$busColor_}; stroke:none;"/>
|
||||
|
||||
<rect x="0"
|
||||
y="{ceiling($BIFC_H div 2)}"
|
||||
width= "{$BIFC_W}"
|
||||
height="{ceiling($BIFC_H div 2)}"
|
||||
style="fill:{$busColor_lt_}; stroke:{$busColor_}; 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:{$busColor_}; stroke:none;"/>
|
||||
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_busconn_MONITOR">
|
||||
|
||||
<rect x="0"
|
||||
y="0.5"
|
||||
width= "{$BIFC_W}"
|
||||
height="{ceiling($BIFC_Hi div 2)}"
|
||||
style="fill:{$busColor_}; stroke:none;"/>
|
||||
|
||||
<rect x="0"
|
||||
y="{ceiling($BIFC_H div 2) + 4}"
|
||||
width= "{$BIFC_W}"
|
||||
height="{ceiling($BIFC_Hi div 2)}"
|
||||
style="fill:{$busColor_}; stroke:none;"/>
|
||||
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_busconn_TRANSPARENT">
|
||||
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$busColor_lt_}; stroke:{$busColor_}; 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:{$busColor_}; stroke:none;"/>
|
||||
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_busconn_">
|
||||
|
||||
<circle
|
||||
cx="{ceiling($BIFC_W div 2)}"
|
||||
cy="{ceiling($BIFC_H div 2)}"
|
||||
r="{ceiling($BIFC_W div 2)}"
|
||||
style="fill:{$COL_WHITE}; stroke:{$busColor_}; 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;"/>
|
||||
|
||||
</symbol>
|
||||
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,134 @@
|
|||
<?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:xlink="http://www.w3.org/1999/xlink">
|
||||
|
||||
<xsl:variable name="COL_RED" select="'#AA0000'"/>
|
||||
<xsl:variable name="COL_GRAY" select="'#E1E1E1'"/>
|
||||
<xsl:variable name="COL_BLACK" select="'#000000'"/>
|
||||
<xsl:variable name="COL_WHITE" select="'#FFFFFF'"/>
|
||||
<xsl:variable name="COL_YELLOW" select="'#FFFFDD'"/>
|
||||
<xsl:variable name="COL_YELLOW_LT" select="'#FFFFEE'"/>
|
||||
|
||||
<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_INTR_0" select="'#FF9900'"/>
|
||||
<xsl:variable name="COL_INTR_1" select="'#00CCCC'"/>
|
||||
<xsl:variable name="COL_INTR_2" select="'#33FF33'"/>
|
||||
<xsl:variable name="COL_INTR_3" select="'#FF00CC'"/>
|
||||
<xsl:variable name="COL_INTR_4" select="'#99FF33'"/>
|
||||
<xsl:variable name="COL_INTR_5" select="'#0066CC'"/>
|
||||
<xsl:variable name="COL_INTR_6" select="'#9933FF'"/>
|
||||
<xsl:variable name="COL_INTR_7" select="'#3300FF'"/>
|
||||
<xsl:variable name="COL_INTR_8" select="'#00FF33'"/>
|
||||
<xsl:variable name="COL_INTR_9" select="'#FF3333'"/>
|
||||
|
||||
|
||||
<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_BUSSTDS">
|
||||
|
||||
<BUSCOLOR BUSSTD="XIL" RGB="#990066" RGB_LT="#CC3399"/>
|
||||
<BUSCOLOR BUSSTD="OCM" RGB="#0000DD" RGB_LT="#9999DD"/>
|
||||
<BUSCOLOR BUSSTD="OPB" RGB="#339900" RGB_LT="#CCDDCC"/>
|
||||
<BUSCOLOR BUSSTD="LMB" RGB="#7777FF" RGB_LT="#DDDDFF"/>
|
||||
<BUSCOLOR BUSSTD="FSL" RGB="#CC00CC" RGB_LT="#FFBBFF"/>
|
||||
<BUSCOLOR BUSSTD="DCR" RGB="#6699FF" RGB_LT="#BBDDFF"/>
|
||||
<BUSCOLOR BUSSTD="FCB" RGB="#8C00FF" RGB_LT="#CCCCFF"/>
|
||||
<BUSCOLOR BUSSTD="PLB" RGB="#FF5500" RGB_LT="#FFBB00"/>
|
||||
<BUSCOLOR BUSSTD="PLBV46" RGB="#BB9955" RGB_LT="#FFFFDD"/>
|
||||
<BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#BB9955" RGB_LT="#FFFFDD"/>
|
||||
|
||||
<!--
|
||||
<BUSCOLOR BUSSTD="PLBV46" RGB="#9966FF" RGB_LT="#CCCCFF"/>
|
||||
<BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#9966FF" RGB_LT="#CCCCFF"/>
|
||||
<BUSCOLOR BUSSTD="PLB" RGB="#FFAA33" RGB_LT="#FFEE33"/>
|
||||
<BUSCOLOR BUSSTD="PLBV46" RGB="#FF5500" RGB_LT="#FFBB00"/>
|
||||
<BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#FF5500" RGB_LT="#FFBB00"/>
|
||||
-->
|
||||
|
||||
<BUSCOLOR BUSSTD="TRS" RGB="#009999" RGB_LT="#00CCCC"/>
|
||||
<BUSCOLOR BUSSTD="TRANS" RGB="#009999" RGB_LT="#00CCCC"/>
|
||||
<BUSCOLOR BUSSTD="TRANSPARENT" RGB="#009999" RGB_LT="#00CCCC"/>
|
||||
|
||||
<BUSCOLOR BUSSTD="TARGET" RGB="#009999" RGB_LT="#00CCCC"/>
|
||||
<BUSCOLOR BUSSTD="INITIATOR" RGB="#009999" RGB_LT="#00CCCC"/>
|
||||
|
||||
<BUSCOLOR BUSSTD="KEY" RGB="#444444" RGB_LT="#888888"/>
|
||||
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:template name="BusType2Color">
|
||||
<xsl:param name="iBusType" select="'OPB'"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB">
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'TRS')]/@RGB"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="BusType2LightColor">
|
||||
<xsl:param name="iBusType" select="'OPB'"/>
|
||||
|
||||
<!--
|
||||
<xsl:message>The color of bus <xsl:value-of select="$busType"/> is <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@RGB"/>
|
||||
-->
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB_LT">
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $iBusType)]/@RGB_LT"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'TRS')]/@RGB_LT"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="intcIdx2Color">
|
||||
<xsl:param name="iIntcIdx" select="'0'"/>
|
||||
|
||||
<xsl:variable name="idx_" select="$iIntcIdx mod 9"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$idx_ = '0'"><xsl:value-of select="$COL_INTR_0"/></xsl:when>
|
||||
<xsl:when test="$idx_ = '1'"><xsl:value-of select="$COL_INTR_1"/></xsl:when>
|
||||
<xsl:when test="$idx_ = '2'"><xsl:value-of select="$COL_INTR_2"/></xsl:when>
|
||||
<xsl:when test="$idx_ = '3'"><xsl:value-of select="$COL_INTR_3"/></xsl:when>
|
||||
<xsl:when test="$idx_ = '4'"><xsl:value-of select="$COL_INTR_4"/></xsl:when>
|
||||
<xsl:when test="$idx_ = '5'"><xsl:value-of select="$COL_INTR_5"/></xsl:when>
|
||||
<xsl:when test="$idx_ = '6'"><xsl:value-of select="$COL_INTR_6"/></xsl:when>
|
||||
<xsl:when test="$idx_ = '7'"><xsl:value-of select="$COL_INTR_7"/></xsl:when>
|
||||
<xsl:when test="$idx_ = '8'"><xsl:value-of select="$COL_INTR_8"/></xsl:when>
|
||||
<xsl:when test="$idx_ = '9'"><xsl:value-of select="$COL_INTR_9"/></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$COL_INTR_0"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,329 @@
|
|||
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.mpmctitle {
|
||||
fill: #FFFFFF;
|
||||
stroke: none;
|
||||
font-size: 16pt;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Arial Verdana 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.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.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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
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.bciplabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Courier Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.bciptype {
|
||||
fill: #AA0017;
|
||||
stroke: none;
|
||||
font-size: 6pt;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
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,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:xlink="http://www.w3.org/1999/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="iBusType" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_BusArrowsNorthSouth">
|
||||
<xsl:with-param name="iBusType" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SplitBusses">
|
||||
<xsl:with-param name="iBusType" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusType" select="'PLB'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusType" select="'PLBV46'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus">
|
||||
<xsl:with-param name="iBusType" select="'OPB'"/>
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="Define_SharedBus_Group"/>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="Define_BusArrowsEastWest">
|
||||
<xsl:param name="iBusType" select="'OPB'"/>
|
||||
|
||||
<xsl:variable name="bus_col_">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="$iBusType"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bus_col_lt_">
|
||||
<xsl:call-template name="BusType2LightColor">
|
||||
<xsl:with-param name="iBusType" select="$iBusType"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<symbol id="{$iBusType}_BusArrowEast">
|
||||
<path class="bus"
|
||||
d="M 0,0
|
||||
L {$BLKD_BUS_ARROW_W}, {ceiling($BLKD_BUS_ARROW_H div 2)}
|
||||
L 0,{$BLKD_BUS_ARROW_H},
|
||||
Z" style="stroke:none; fill:{$bus_col_}"/>
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_BusArrowWest">
|
||||
<use x="0" y="0" xlink:href="#{$iBusType}_BusArrowEast" transform="scale(-1,1) translate({$BLKD_BUS_ARROW_W * -1},0)"/>
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_BusArrowHInitiator">
|
||||
<rect x="0"
|
||||
y="{$BLKD_BUS_ARROW_G}"
|
||||
width= "{$BLKD_BUS_ARROW_W}"
|
||||
height="{$BLKD_P2P_BUS_W}"
|
||||
style="stroke:none; fill:{$bus_col_}"/>
|
||||
</symbol>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
<xsl:param name="bus_col" select="'OPB'"/>
|
||||
-->
|
||||
|
||||
<xsl:template name="Define_BusArrowsNorthSouth">
|
||||
<xsl:param name="iBusType" select="'OPB'"/>
|
||||
|
||||
<xsl:variable name="busColor_">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="$iBusType"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="busColor_lt_">
|
||||
<xsl:call-template name="BusType2LightColor">
|
||||
<xsl:with-param name="iBusType" select="$iBusType"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<symbol id="{$iBusType}_BusArrowSouth">
|
||||
<path class="bus"
|
||||
d="M 0,0
|
||||
L {$BLKD_BUS_ARROW_H},0
|
||||
L {ceiling($BLKD_BUS_ARROW_H div 2)}, {$BLKD_BUS_ARROW_W}
|
||||
Z" style="stroke:none; fill:{$busColor_}"/>
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_BusArrowNorth">
|
||||
<use x="0" y="0" xlink:href="#{$iBusType}_BusArrowSouth" transform="scale(1,-1) translate(0,{$BLKD_BUS_ARROW_H * -1})"/>
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_BusArrowInitiator">
|
||||
<rect x="{$BLKD_BUS_ARROW_G}"
|
||||
y="0"
|
||||
width= "{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}"
|
||||
height="{$BLKD_BUS_ARROW_H}"
|
||||
style="stroke:none; fill:{$busColor_}"/>
|
||||
</symbol>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Draw_P2PBus">
|
||||
|
||||
<xsl:param name="iBusX" select="0"/>
|
||||
<xsl:param name="iBusTop" select="0"/>
|
||||
<xsl:param name="iBusBot" select="0"/>
|
||||
<xsl:param name="iBotRnk" select="'_unk_'"/>
|
||||
<xsl:param name="iTopRnk" select="'_unk_'"/>
|
||||
<xsl:param name="iBusStd" select="'_bstd_'"/>
|
||||
<xsl:param name="iBusName" select="'_p2pbus_'"/>
|
||||
|
||||
<xsl:variable name="busColor_">
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="@BUSSTD">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="not($iBusStd = '_bstd_')">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="'TRS'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="p2pH_" select="($iBusBot - $iBusTop) - ($BLKD_BUS_ARROW_H * 2)"/>
|
||||
|
||||
<xsl:variable name="botArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iBotRnk = 'INITIATOR') or ($iBotRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowSouth</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="topArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iTopRnk = 'INITIATOR') or ($iTopRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowNorth</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="@BUSSTD">
|
||||
<use x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"
|
||||
y="{$iBusTop + ($BLKD_BIFC_H - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}"
|
||||
xlink:href="#{@BUSSTD}_{$topArrow_}"/>
|
||||
|
||||
<use x="{($busX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"
|
||||
y="{$busBot - $BLKD_BUS_ARROW_H}"
|
||||
xlink:href="#{@BUSSTD}_{$botArrow_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(not(@BUSSTD) and not($busStd = '_bstd_'))">
|
||||
<use x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"
|
||||
y="{$iBusTop + ($BLKD_BIFC_H - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}"
|
||||
xlink:href="#{$iBusStd}_{$topArrow_}"/>
|
||||
|
||||
<use x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"
|
||||
y="{$iBusBot - $BLKD_BUS_ARROW_H}"
|
||||
xlink:href="#{$iBusStd}_{$botArrow_}"/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<rect x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2) + $BLKD_BUS_ARROW_G}"
|
||||
y="{$iBusTop + $BLKD_BIFC_H + $BLKD_BUS_ARROW_H}"
|
||||
height= "{$p2pH_ - ($BLKD_BUS_ARROW_H * 2)}"
|
||||
width="{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}"
|
||||
style="stroke:none; fill:{$busColor_}"/>
|
||||
|
||||
<text class="p2pbuslabel"
|
||||
x="{$iBusX + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}"
|
||||
y="{$iBusTop + ($BLKD_BUS_ARROW_H * 3)}">
|
||||
<xsl:value-of select="$iBusName"/>
|
||||
</text>
|
||||
|
||||
<xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP">
|
||||
|
||||
<text class="ioplblgrp"
|
||||
x="{$iBusX + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
|
||||
y="{$iBusTop + ($BLKD_BUS_ARROW_H * 10)}">
|
||||
<xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iBusName)]/@GROUP"/>
|
||||
</text>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Draw_Proc2ProcBus">
|
||||
|
||||
<xsl:param name="iBc_Y" select="0"/>
|
||||
<xsl:param name="iBcLeft_X" select="0"/>
|
||||
<xsl:param name="iBcRght_X" select="0"/>
|
||||
<xsl:param name="iLeftRnk" select="'_unk_'"/>
|
||||
<xsl:param name="iRghtRnk" select="'_unk_'"/>
|
||||
<xsl:param name="iBusStd" select="'_bstd_'"/>
|
||||
<xsl:param name="iBusName" select="'_p2pbus_'"/>
|
||||
|
||||
<xsl:variable name="busColor_">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pr2pr_W_" select="($iBcRght_X - $iBcLeft_X)"/>
|
||||
|
||||
<xsl:variable name="leftArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iLeftRnk = 'INITIATOR') or ($iLeftRnk = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
|
||||
<xsl:otherwise>BusArrowWest</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="rghtArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iRghtRnk = 'INITIATOR') or ($iRghtRnk = '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:{$busColor_}"/>
|
||||
|
||||
<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:template>
|
||||
|
||||
|
||||
<xsl:template name="Draw_SplitConnBus">
|
||||
|
||||
<xsl:param name="iBc_X" select="0"/>
|
||||
<xsl:param name="iBc_Y" select="0"/>
|
||||
<xsl:param name="iBc_Rnk" select="'_unk_'"/>
|
||||
<xsl:param name="iBc_Side" select="'_unk_'"/>
|
||||
|
||||
<xsl:param name="iBusStd" select="'_bstd_'"/>
|
||||
<xsl:param name="iBusName" select="'_p2pbus_'"/>
|
||||
|
||||
<xsl:variable name="busColor_">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="$iBusStd"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="connArrow_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="((($iBc_Rnk = 'INITIATOR') or ($iBc_Rnk = '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:message>The bus name is <xsl:value-of select="$busName"/></xsl:message>
|
||||
<xsl:message>The bif side is <xsl:value-of select="$bc_Side"/></xsl:message>
|
||||
<xsl:message>The bif rank is <xsl:value-of select="$bc_Rnk"/></xsl:message>
|
||||
-->
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBusStd = 'FSL') and (($iBc_Rnk = 'MASTER') or ($iBc_Rnk = '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_Rnk = 'MASTER') or ($iBc_Rnk = '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_Rnk = 'SLAVE') or ($iBc_Rnk = 'TARGET') or ($iBc_Rnk = 'TRANSPARENT')))">
|
||||
<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:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_SharedBus">
|
||||
|
||||
<xsl:param name="iBusType" select="'OPB'"/>
|
||||
|
||||
<xsl:variable name="sharedbus_w_" select="($G_total_drawarea_W - ($BLKD_INNER_GAP * 2))"/>
|
||||
|
||||
<xsl:variable name="bus_col_">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="$iBusType"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bus_col_lt_">
|
||||
<xsl:call-template name="BusType2LightColor">
|
||||
<xsl:with-param name="iBusType" select="$iBusType"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<symbol id="{$iBusType}_SharedBus">
|
||||
<use x="0" y="0" xlink:href="#{$iBusType}_BusArrowWest"/>
|
||||
<use x="{$sharedbus_w_ - $BLKD_BUS_ARROW_W}" y="0" xlink:href="#{$iBusType}_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:{$bus_col_}"/>
|
||||
</symbol>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_SplitBusses">
|
||||
|
||||
<xsl:param name="iBusType" sselect="'FSL'"/>
|
||||
|
||||
<xsl:variable name="busColor_">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="$iBusType"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bifc_r_" select="ceiling($BLKD_BIFC_W div 3)"/>
|
||||
|
||||
<symbol id="{$iBusType}_SplitBus_EAST">
|
||||
<use x="0" y="0" xlink:href="#{$iBusType}_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:{$busColor_}"/>
|
||||
|
||||
</symbol>
|
||||
|
||||
<xsl:variable name="splbus_w_" select="($BLKD_BUS_ARROW_W + $BLKD_BIFC_W + $BLKD_BIFC_Wi)"/>
|
||||
|
||||
<symbol id="{$iBusType}_SplitBus_WEST">
|
||||
<use x="0" y="0" xlink:href="#{$iBusType}_SplitBus_EAST" transform="scale(-1,1) translate({$splbus_w_ * -1},0)"/>
|
||||
</symbol>
|
||||
|
||||
<symbol id="{$iBusType}_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:{$busColor_}"/>
|
||||
|
||||
<rect x="{($BLKD_BUS_ARROW_W * 2)}"
|
||||
y="0"
|
||||
width= "{$BLKD_BUS_ARROW_H}"
|
||||
height="{$BLKD_BUS_ARROW_H}" style="stroke:none; fill:{$busColor_}"/>
|
||||
|
||||
</symbol>
|
||||
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_SharedBus_Group">
|
||||
|
||||
<!-- The Bridges go into the shared bus shape -->
|
||||
<xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE">
|
||||
|
||||
<xsl:variable name="modInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="modType_" select="/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>
|
||||
|
||||
<symbol id="group_sharedBusses">
|
||||
|
||||
<!-- Draw the shared bus shapes first -->
|
||||
<xsl:for-each select="BLKDSHAPES/SBSSHAPES/MODULE">
|
||||
<xsl:variable name="instance_" select="@INSTANCE"/>
|
||||
|
||||
<xsl:variable name="busStd_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUSSTD"/>
|
||||
<xsl:variable name="busIndex_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUSINDEX"/>
|
||||
|
||||
<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:for-each>
|
||||
</symbol>
|
||||
|
||||
<symbol 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="BusType2Color">
|
||||
<xsl:with-param name="iBusType" 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_}"/>
|
||||
</symbol>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,173 @@
|
|||
<?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:xlink="http://www.w3.org/1999/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"/>
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
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,498 @@
|
|||
<?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:xlink="http://www.w3.org/1999/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:param name="BLKD_IOP_H" select="16"/>
|
||||
<xsl:param name="BLKD_IOP_W" select="16"/>
|
||||
<xsl:param name="BLKD_IOP_SPC" select="12"/>
|
||||
<xsl:param name="MOD_IO_GAP" select="8"/>
|
||||
-->
|
||||
|
||||
|
||||
<!-- ======================= DEF BLOCK =============================== -->
|
||||
<xsl:template name="Define_IOPorts">
|
||||
|
||||
<xsl:variable name="key_col_">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="'KEY'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="key_lt_col_">
|
||||
<xsl:call-template name="BusType2LightColor">
|
||||
<xsl:with-param name="iBusType" select="'KEY'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<symbol id="G_IOPort">
|
||||
<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="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:{$COL_SYSPRT}"/>
|
||||
</symbol>
|
||||
|
||||
<symbol 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}"/>
|
||||
|
||||
</symbol>
|
||||
|
||||
<symbol 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_}"/>
|
||||
</symbol>
|
||||
|
||||
<symbol 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_}"/>
|
||||
</symbol>
|
||||
|
||||
<symbol 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;"/>
|
||||
</symbol>
|
||||
|
||||
<symbol 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;"/>
|
||||
</symbol>
|
||||
|
||||
<symbol 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;"/>
|
||||
</symbol>
|
||||
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- ======================= DRAW BLOCK =============================== -->
|
||||
|
||||
<xsl:template name="Draw_IOPorts">
|
||||
|
||||
<xsl:variable name="ports_count_" select="count(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(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(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="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(/EDKSYSTEM/EXTERNALPORTS/PORT/@NAME))"/>
|
||||
<xsl:variable name="max_sgnm_" select="math:max(string-length(/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(/EDKSYSTEM/EXTERNALPORTS/PORT)">
|
||||
<EXTPORT NAME="__none__" SIGNAME="__none_" NAMELEN="0" SIGLEN="0"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="/EDKSYSTEM/EXTERNALPORTS/PORT">
|
||||
<xsl:for-each select="/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>
|
||||
-->
|
||||
|
||||
<symbol id="BlkDiagram_ExtPortsTable">
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width= "{$w_table_}"
|
||||
height="{$h_font_}" style="fill:{$COL_RED}; stroke:none; stroke-width:1"/>
|
||||
</symbol>
|
||||
|
||||
|
||||
|
||||
</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,390 @@
|
|||
<?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:math="http://exslt.org/math"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math">
|
||||
|
||||
<xsl:output method="xml"
|
||||
version="1.0"
|
||||
encoding="UTF-8"
|
||||
indent="yes"
|
||||
doctype-public="-//W3C//DTD SVG 1.0//EN"
|
||||
doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
|
||||
|
||||
|
||||
<!-- ======================= DEF BLOCK =================================== -->
|
||||
<xsl:template name="Define_AllStacks">
|
||||
|
||||
<xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST < /EDKSYSTEM/BLKDSHAPES/@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="/EDKSYSTEM/BLKDSHAPES/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="/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="/EDKSYSTEM/BLKDSHAPES/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="/EDKSYSTEM/BLKDSHAPES/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="_calc_Stack_Width">
|
||||
<xsl:with-param name="iStackIdx" select="$iStackIdx"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="pstackH_">
|
||||
<xsl:call-template name="_calc_Stack_Height">
|
||||
<xsl:with-param name="iStackIdx" select="$iStackIdx"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<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="_gen_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-->
|
||||
<symbol 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="/EDKSYSTEM/BLKDSHAPES/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="_gen_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="_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="/EDKSYSTEM/BLKDSHAPES/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="_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}"/>
|
||||
|
||||
<text class="ipclass"
|
||||
x="{$bucketX_}"
|
||||
y="{$bucketY_ - 4}">SLAVES OF <xsl:value-of select="@BUSNAME"/></text>
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- Then draw the the processor itself -->
|
||||
<xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $iStackIdx)]">
|
||||
<xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
|
||||
|
||||
<xsl:variable name="procY_">
|
||||
<xsl:call-template name="_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="_gen_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"
|
||||
x="{$procX_}"
|
||||
y="{$procY_ - 4}">PROCESSOR</text>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test = "@IS_LIKEPROC = 'TRUE'">
|
||||
<text class="ipclass"
|
||||
x="{$procX_}"
|
||||
y="{$procY_ - 4}">USER MODULE</text>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:for-each>
|
||||
</symbol>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="Define_Processor">
|
||||
<xsl:param name="iProcInst" select="@INSTANCE"/>
|
||||
<xsl:param name="iModType" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$iProcInst]/@MODTYPE"/>
|
||||
<!--
|
||||
<xsl:param name="procType" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@PROCTYPE"/>
|
||||
-->
|
||||
|
||||
<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="_gen_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>
|
||||
-->
|
||||
|
||||
<symbol 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:if test="/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="/EDKSYSTEM/MODULES/MODULE[@INSTANCE = $iProcInst]/@GROUP"/>
|
||||
</text>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iProcInst)]/BUSINTERFACE[(@BIF_X and @BIF_Y)]">
|
||||
|
||||
<xsl:variable name="bif_busstd_">
|
||||
<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="bif_buscol_">
|
||||
<xsl:call-template name="BusType2Color">
|
||||
<xsl:with-param name="iBusType" select="$bif_busstd_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="bif_name_">
|
||||
<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:{$bif_buscol_};stroke-width:1"/>
|
||||
|
||||
<use x="{$bif_x_}" y="{$bif_y_}" xlink:href="#{$bif_busstd_}_Bif"/>
|
||||
|
||||
<text class="biflabel"
|
||||
x="{$bif_x_ + ceiling($BIF_W div 2)}"
|
||||
y="{$bif_y_ + ceiling($BIF_H div 2) + 3}">
|
||||
<xsl:value-of select="$bif_name_"/>
|
||||
</text>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:variable name="interrupt_cntlr_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iProcInst)]/@INTERRUPT_CNTLR">
|
||||
<xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$iProcInst)]/@INTERRUPT_CNTLR"/>
|
||||
</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_)]/@INTCINDEX"/></xsl:message>
|
||||
-->
|
||||
<xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX">
|
||||
|
||||
<xsl:variable name="intr_col_">
|
||||
<xsl:call-template name="intcIdx2Color">
|
||||
<xsl:with-param name="iIntcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="_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="$intr_col_"/>
|
||||
<xsl:with-param name="iIntr_IDX" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
|
||||
</symbol>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,119 @@
|
|||
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.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.iplabel {
|
||||
fill: #000000;
|
||||
stroke: none;
|
||||
font-size: 7pt;
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: 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.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.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.proclabel {
|
||||
fill: #810017;
|
||||
stroke: none;
|
||||
font-size: 14pt;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-anchor: middle;
|
||||
font-family: Verdana Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.opblabel {
|
||||
fill: #339900;
|
||||
stroke: none;
|
||||
font-size: 11pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: Arial Helvetica sans-serif;
|
||||
}
|
||||
|
||||
text.lmblabel {
|
||||
fill: #9999FF;
|
||||
stroke: none;
|
||||
font-size: 11pt;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
text-anchor: middle;
|
||||
font-family: 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;
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,611 @@
|
|||
<?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:xlink="http://www.w3.org/1999/xlink">
|
||||
|
||||
<xsl:output method="html"/>
|
||||
|
||||
<!--
|
||||
<xsl:param name="DS_COL_OPB" select="'#339900'"/>
|
||||
<xsl:param name="DS_COL_WHITE" select="'#FFFFFF'"/>
|
||||
<xsl:param name="DS_COL_INFO" select="'#2233FF'"/>
|
||||
<xsl:param name="DS_COL_BLACK" select="'#000000'"/>
|
||||
<xsl:param name="DS_COL_GREY" select="'#CCCCCC'"/>
|
||||
<xsl:param name="DS_COL_XPRP" select="'#810017'"/>
|
||||
<xsl:param name="DS_COL_DOCLNK" select="'#FF9900'"/>
|
||||
-->
|
||||
|
||||
<!-- ======================= MAIN PERIPHERAL SECTION =============================== -->
|
||||
<xsl:template name="Layout_IPSection">
|
||||
|
||||
<TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="4" cellspacing="0" cellpadding="0" border="0">
|
||||
|
||||
<TD COLSPAN="4" width="5%" align="LEFT" valign="BOTTOM">
|
||||
<A name="_{@INSTANCE}"/>
|
||||
<xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if>
|
||||
<SPAN style="color:{$DS_COL_XPRP}; font: bold italic 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN>
|
||||
<xsl:if test="DESCRIPTION[(@TYPE = 'SHORT')]">
|
||||
<SPAN style="color:{$DS_COL_XPRP}; font: normal italic 12px Verdana,Arial,Helvetica,sans-serif">
|
||||
  <xsl:value-of select="DESCRIPTION[(@TYPE = 'SHORT')]"/>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
<BR></BR>
|
||||
<xsl:if test="DESCRIPTION[(@TYPE = 'LONG')]">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: normal italic 12px Verdana,Arial,Helvetica,sans-serif">
|
||||
<xsl:value-of select="DESCRIPTION[(@TYPE = 'LONG')]" disable-output-escaping="yes"/>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
<BR></BR>
|
||||
<BR></BR>
|
||||
<BR></BR>
|
||||
</TD>
|
||||
|
||||
<TR></TR>
|
||||
|
||||
<!-- Layout the Module information table-->
|
||||
<TD COLSPAN="2" width="40%" align="LEFT" valign="TOP">
|
||||
<IMG SRC="imgs/{@INSTANCE}.jpg" alt="{@INSTANCE} IP Image" border="0" vspace="0" hspace="0"/>
|
||||
</TD>
|
||||
<TD COLSPAN="2" width="60%" align="MIDDLE" valign="TOP">
|
||||
<xsl:call-template name="Peri_PortListTable"/>
|
||||
<BR></BR>
|
||||
<BR></BR>
|
||||
</TD>
|
||||
|
||||
<TR></TR>
|
||||
|
||||
<TD COLSPAN="4" width="100%" align="LEFT" valign="BOTTOM">
|
||||
<xsl:call-template name="Peri_InfoTable"/>
|
||||
</TD>
|
||||
|
||||
<!--
|
||||
<TD COLSPAN="1" width="5%" align="LEFT" valign="BOTTOM">
|
||||
<SPAN style="color:{$DS_COL_XPRP}; font: bold normal 16px Verdana,Arial,Helvetica,sans-serif">⌊</SPAN>
|
||||
</TD>
|
||||
<TD COLSPAN="2" width="90%" align="MIDDLE" valign="BOTTOM">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"> </SPAN>
|
||||
</TD>
|
||||
<TD COLSPAN="1" width="5%" align="RIGHT" valign="BOTTOM">
|
||||
<SPAN style="color:{$DS_COL_XPRP}; font: bold normal 16px Verdana,Arial,Helvetica,sans-serif">⌋</SPAN>
|
||||
</TD>
|
||||
-->
|
||||
</TABLE>
|
||||
|
||||
<BR></BR>
|
||||
<BR></BR>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- ======================= PERIHERAL TABLE PARTS =============================== -->
|
||||
<!-- Layout the Module's Information table -->
|
||||
<xsl:template name="Peri_InfoTable">
|
||||
|
||||
<xsl:variable name="mhsParamCNT_" select="count(PARAMETER)"/>
|
||||
|
||||
<xsl:variable name="table_is_split_">
|
||||
<xsl:if test="$mhsParamCNT_ > 10">1</xsl:if>
|
||||
<xsl:if test="not($mhsParamCNT_ > 10)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="table_width_">
|
||||
<xsl:if test="$mhsParamCNT_ > 10"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
|
||||
<xsl:if test="$mhsParamCNT_ <= 10"><xsl:value-of select="ceiling($DS_WIDTH div 2)"/></xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:variable name="left_extra_">
|
||||
<xsl:if test="($mhsParamCNT_ mod 2) = 1">1</xsl:if>
|
||||
<xsl:if test="not(($mhsParamCNT_ mod 2) = 1)">0</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="num_left_" select="floor($mhsParamCNT_ div 2) + $left_extra_"/>
|
||||
<xsl:variable name="num_rhgt_" select="floor($mhsParamCNT_ div 2)"/>
|
||||
|
||||
<xsl:variable name="mdr_main_col_">
|
||||
<xsl:if test="$mhsParamCNT_ > 10">4</xsl:if>
|
||||
<xsl:if test="$mhsParamCNT_ <= 10">2</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="mdr_othr_col_">
|
||||
<xsl:if test="$mhsParamCNT_ > 10">2</xsl:if>
|
||||
<xsl:if test="$mhsParamCNT_ <= 10">1</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="5" cellspacing="1" cellpadding="1" border="1">
|
||||
<TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">General</SPAN></TD>
|
||||
<TR></TR>
|
||||
<TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">IP Core</SPAN></TD>
|
||||
<TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
|
||||
<xsl:if test="@DOC_IP">
|
||||
<SPAN style="color:{$DS_COL_XPRP}; font: bold italic 10px Verdana,Arial,Helvetica,sans-serif">
|
||||
<A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"><xsl:value-of select="@MODTYPE"/></A>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@DOC_IP)">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">
|
||||
<xsl:value-of select="@MODTYPE"/>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
</TD>
|
||||
|
||||
<TR></TR>
|
||||
|
||||
<TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Version</SPAN></TD>
|
||||
<TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@HWVERSION"/></SPAN></TD>
|
||||
|
||||
<xsl:if test="@DOC_DRIVER">
|
||||
<TR></TR>
|
||||
<TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Driver</SPAN></TD>
|
||||
<TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
|
||||
<SPAN style="color:{$DS_COL_XPRP}; font: bold italic 10px Verdana,Arial,Helvetica,sans-serif">
|
||||
<A HREF="{@DOC_DRIVER}" style="text-decoration:none; color:{$DS_COL_XPRP}">API</A>
|
||||
</SPAN>
|
||||
</TD>
|
||||
</xsl:if>
|
||||
|
||||
<TR></TR>
|
||||
|
||||
<xsl:if test="LICENSEINFO">
|
||||
<TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">License</SPAN></TD>
|
||||
|
||||
<TR></TR>
|
||||
<TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">TYPE</SPAN></TD>
|
||||
<TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@TYPE"/></SPAN>
|
||||
</TD>
|
||||
<!--
|
||||
<TR></TR>
|
||||
<TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">CURRENT STATUS</SPAN></TD>
|
||||
<TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@STATE"/></SPAN>
|
||||
</TD>
|
||||
-->
|
||||
<xsl:if test="LICENSEINFO/@EXPIRESON">
|
||||
<TR></TR>
|
||||
<TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">EXPIRES ON</SPAN></TD>
|
||||
<TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@EXPIRESON"/></SPAN>
|
||||
</TD>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$mhsParamCNT_ > 0">
|
||||
<TR></TR>
|
||||
<TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Parameters</SPAN></TD>
|
||||
<TR></TR>
|
||||
<TD COLSPAN="5" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
|
||||
<SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
|
||||
These are parameters set for this module.
|
||||
<xsl:if test="@DOC_IP">
|
||||
Refer to the IP <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_XPRP}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif"> documentation </SPAN></A>for complete information about module parameters.
|
||||
</xsl:if>
|
||||
</SPAN>
|
||||
<BR></BR>
|
||||
<SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
|
||||
Parameters marked with
|
||||
</SPAN>
|
||||
<SPAN style="color:#FFBB00; font: bold 9px Verdana,Arial,Helvetica,sans-serif">yellow</SPAN>
|
||||
<SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
|
||||
indicate parameters set by the user.
|
||||
</SPAN>
|
||||
<BR></BR>
|
||||
<SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
|
||||
Parameters marked with
|
||||
</SPAN>
|
||||
<SPAN style="color:{$DS_COL_MODSYSNW}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">blue</SPAN>
|
||||
<SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
|
||||
indicate parameters set by the system.
|
||||
</SPAN>
|
||||
</TD>
|
||||
|
||||
<xsl:if test="$mhsParamCNT_ <= 10">
|
||||
<TR></TR>
|
||||
<TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
|
||||
<TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
|
||||
|
||||
<xsl:for-each select="PARAMETER">
|
||||
<xsl:sort select="@INDEX" data-type="number"/>
|
||||
<xsl:variable name="name_bg_col_">
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="@CHANGEDBY='USER'">
|
||||
<xsl:value-of select="$DS_COL_MODUSR"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="@CHANGEDBY='SYSTEM'">
|
||||
<xsl:value-of select="$DS_COL_MODSYS"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((position() - 1) mod 2) = 0">
|
||||
<xsl:value-of select="$DS_COL_ASH1"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$DS_COL_WHITE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="value_bg_col_">
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="@CHANGEDBY='USER'">
|
||||
<xsl:value-of select="$DS_COL_MODUSR"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="@CHANGEDBY='SYSTEM'">
|
||||
<xsl:value-of select="$DS_COL_MODSYS"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((position() - 1) mod 2) = 0">
|
||||
<xsl:value-of select="$DS_COL_ASH1"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$DS_COL_WHITE"/>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<TR></TR>
|
||||
<TD COLSPAN="2" WIDTH="40%" align="left" bgcolor="{$name_bg_col_}">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
|
||||
<xsl:value-of select="@NAME"/>
|
||||
</SPAN>
|
||||
<xsl:if test="DESCRIPTION">
|
||||
<BR/>
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
|
||||
<xsl:value-of select="DESCRIPTION"/>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
</TD>
|
||||
<TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$mhsParamCNT_ > 10">
|
||||
<TR></TR>
|
||||
<TD COLSPAN="5" WIDTH="100%">
|
||||
<TABLE BGCOLOR="{$DS_COL_GREY}" WIDTH="100%" COLS="5" cellspacing="0" cellpadding="0" border="0">
|
||||
|
||||
<TD COLSPAN="2" WIDTH="49%">
|
||||
<TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="2" cellspacing="1" cellpadding="0" border="0">
|
||||
<TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
|
||||
<TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
|
||||
|
||||
<xsl:for-each select="PARAMETER">
|
||||
<xsl:sort select="@INDEX" data-type="number"/>
|
||||
<xsl:if test="position() <= $num_left_">
|
||||
|
||||
<xsl:variable name="name_bg_col_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@CHANGEDBY='USER'">
|
||||
<xsl:value-of select="$DS_COL_MODUSR"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="@CHANGEDBY='SYSTEM'">
|
||||
<xsl:value-of select="$DS_COL_MODSYS"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((position() - 1) mod 2) = 0">
|
||||
<xsl:value-of select="$DS_COL_ASH1"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$DS_COL_WHITE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="value_bg_col_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@CHANGEDBY='USER'">
|
||||
<xsl:value-of select="$DS_COL_MODUSR"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="@CHANGEDBY='SYSTEM'">
|
||||
<xsl:value-of select="$DS_COL_MODSYS"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((position() - 1) mod 2) = 0">
|
||||
<xsl:value-of select="$DS_COL_ASH1"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$DS_COL_WHITE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<TR></TR>
|
||||
<TD COLSPAN="1" WIDTH="50%" align="left" bgcolor="{$name_bg_col_}">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
|
||||
<xsl:value-of select="@NAME"/>
|
||||
</SPAN>
|
||||
<xsl:if test="DESCRIPTION">
|
||||
<BR/>
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
|
||||
<xsl:value-of select="DESCRIPTION"/>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
</TD>
|
||||
<TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</TABLE>
|
||||
</TD>
|
||||
|
||||
<TD COLSPAN="1" WIDTH="2%">
|
||||
<TABLE BGCOLOR="{$DS_COL_GREY}" WIDTH="100%" COLS="1" cellspacing="0" cellpadding="0" border="0">
|
||||
<TD COLSPAN="1" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> </SPAN></TD>
|
||||
</TABLE>
|
||||
</TD>
|
||||
|
||||
<TD COLSPAN="2" WIDTH="49%">
|
||||
<TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="2" cellspacing="1" cellpadding="0" border="0">
|
||||
<TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
|
||||
<TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
|
||||
<xsl:for-each select="PARAMETER">
|
||||
<xsl:sort select="@INDEX" data-type="number"/>
|
||||
<xsl:if test="position() > $num_left_">
|
||||
|
||||
<xsl:variable name="name_bg_col_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@CHANGEDBY='USER'">
|
||||
<xsl:value-of select="$DS_COL_MODUSR"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="@CHANGEDBY='SYSTEM'">
|
||||
<xsl:value-of select="$DS_COL_MODSYS"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((position() - $num_left_ - 1) mod 2) = 0">
|
||||
<xsl:value-of select="$DS_COL_ASH1"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$DS_COL_WHITE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="value_bg_col_">
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="@CHANGEDBY='USER'">
|
||||
<xsl:value-of select="$DS_COL_MODUSR"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="@CHANGEDBY='SYSTEM'">
|
||||
<xsl:value-of select="$DS_COL_MODSYS"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((position() - $num_left_ - 1) mod 2) = 0">
|
||||
<xsl:value-of select="$DS_COL_ASH1"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$DS_COL_WHITE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<TR></TR>
|
||||
<TD COLSPAN="1" WIDTH="50%" align="left" bgcolor="{$name_bg_col_}">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
|
||||
<xsl:value-of select="@NAME"/>
|
||||
</SPAN>
|
||||
<xsl:if test="DESCRIPTION">
|
||||
<BR/>
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
|
||||
<xsl:value-of select="DESCRIPTION"/>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
</TD>
|
||||
<TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
|
||||
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:if test="$left_extra_ > 0">
|
||||
<TR></TR>
|
||||
<TD COLSPAN="2" WIDTH="100%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> </SPAN></TD>
|
||||
</xsl:if>
|
||||
|
||||
</TABLE>
|
||||
</TD>
|
||||
|
||||
</TABLE>
|
||||
</TD>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</TABLE>
|
||||
<!--
|
||||
<BR></BR>
|
||||
-->
|
||||
<xsl:if test="(@MODCLASS = 'PROCESSOR') and MEMORYMAP">
|
||||
<!--
|
||||
<xsl:message>Found a memory map</xsl:message>
|
||||
-->
|
||||
<xsl:call-template name="Layout_MemoryMap">
|
||||
<xsl:with-param name="table_width" select="$table_width_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
<!--
|
||||
<BR></BR>
|
||||
-->
|
||||
<TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="5" cellspacing="1" cellpadding="1" border="0">
|
||||
<TD width="100%" COLSPAN="5" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Post Synthesis Device Utilization</SPAN></TD>
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(RESOURCES)">
|
||||
<TR></TR>
|
||||
<TD width="100%" COLSPAN="5" align="middle" bgcolor="{$DS_COL_WHITE}">
|
||||
<SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
|
||||
Device utilization information is not available for this IP. Run platgen to generate synthesis information.
|
||||
</SPAN>
|
||||
</TD>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<TR></TR>
|
||||
<TD COLSPAN="2" width="55%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Resource Type</SPAN></TD>
|
||||
<TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Used</SPAN></TD>
|
||||
<TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Available</SPAN></TD>
|
||||
<TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Percent</SPAN></TD>
|
||||
|
||||
<xsl:for-each select="RESOURCES/RESOURCE">
|
||||
<TR></TR>
|
||||
<TD COLSPAN="2" width="55%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TYPE"/></SPAN></TD>
|
||||
<TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@USED"/></SPAN></TD>
|
||||
<TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TOTAL"/></SPAN></TD>
|
||||
<TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@PERCENT"/></SPAN></TD>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!--
|
||||
<BR></BR>
|
||||
<TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"></SPAN></TD>
|
||||
-->
|
||||
</TABLE>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Layout the Module's Port list table -->
|
||||
<xsl:template name="Peri_PortListTable">
|
||||
|
||||
|
||||
<TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{ceiling($DS_WIDTH div 2)}" COLS="7" cellspacing="1" cellpadding="1" border="0">
|
||||
<TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">PORT LIST</SPAN></TH>
|
||||
<TR></TR>
|
||||
<TH COLSPAN="7" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
|
||||
<SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
|
||||
The ports listed here are only those connected in the MHS file.
|
||||
<xsl:if test="@DOC_IP">
|
||||
Refer to the IP <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"> <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif"> documentation </SPAN> </A>for complete information about module ports.
|
||||
</xsl:if>
|
||||
</SPAN>
|
||||
</TH>
|
||||
<TR></TR>
|
||||
<TH COLSPAN="1" width="5%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TH>
|
||||
<TH COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
|
||||
<TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TH>
|
||||
<TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TH>
|
||||
<TH COLSPAN="2" width="50%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIGNAL</SPAN></TH>
|
||||
<xsl:for-each select="PORT[(not(@SIGNAME = '__NOC__') and not(@SIGNAME = '__DEF__') and (@INMHS))]">
|
||||
<xsl:sort data-type="number" select="@INDEX" order="ascending"/>
|
||||
<TR></TR>
|
||||
<TD COLSPAN="1" width="5%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN></TD>
|
||||
<TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
|
||||
<TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
|
||||
|
||||
<xsl:if test="@MSB and @LSB">
|
||||
<TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@MSB and @LSB)">
|
||||
<TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
|
||||
</xsl:if>
|
||||
|
||||
<TD COLSPAN="2" width="50%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:if test="BUSINTERFACE">
|
||||
<xsl:variable name="instance_"><xsl:value-of select="@INSTANCE"/></xsl:variable>
|
||||
<TR></TR>
|
||||
<TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
|
||||
<SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Bus Interfaces</SPAN>
|
||||
</TH>
|
||||
<TR></TR>
|
||||
|
||||
<TH COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MASTERSHIP</SPAN></TH>
|
||||
<TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
|
||||
<TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">STD</SPAN></TH>
|
||||
<TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BUS</SPAN></TH>
|
||||
<TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">P2P</SPAN></TH>
|
||||
<xsl:for-each select="BUSINTERFACE[(not(@BUSNAME = '__NOC__') and not(@BUSNAME = '__DEF__'))]">
|
||||
<xsl:sort select="@BIFRANK"/>
|
||||
|
||||
<xsl:variable name="busname_"><xsl:value-of select="@BUSNAME"/></xsl:variable>
|
||||
|
||||
<xsl:variable name="p2pname_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@BUSSTD and not((@BUSSTD='PLB') or (@BUSSTD='OPB')) or (@BIFRANK='TRANSPARENT'))">
|
||||
<xsl:value-of select="../../MODULE[not(@INSTANCE = $instance_) and BUSINTERFACE[(@BUSNAME = $busname_)]]/@INSTANCE"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="not(@BUSSTD) or (@BUSSTD='OPB') or (@BUSSTD='PLB') or (@BIFRANK='TRANSPARENT')">NA</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bus_std_">
|
||||
<xsl:if test="@BUSSTD">
|
||||
<xsl:value-of select="@BUSSTD"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@BUSSTD)">NA</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<TR></TR>
|
||||
<TH COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BIFRANK"/></SPAN></TH>
|
||||
<TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TH>
|
||||
<TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$bus_std_"/></SPAN></TH>
|
||||
<xsl:if test="$bus_std_ = 'NA'">
|
||||
<TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BUSNAME"/></SPAN></TH>
|
||||
</xsl:if>
|
||||
<xsl:if test="not($bus_std_ = 'NA')">
|
||||
<TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{@BUSNAME}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BUSNAME"/></SPAN></A></TH>
|
||||
</xsl:if>
|
||||
<xsl:if test="$p2pname_ = 'NA'">
|
||||
<TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$p2pname_"/></SPAN></TH>
|
||||
</xsl:if>
|
||||
<xsl:if test="not($p2pname_ = 'NA')">
|
||||
<TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{$p2pname_}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$p2pname_"/></SPAN></A></TH>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@MODCLASS='BUS'">
|
||||
<xsl:variable name="instance_"><xsl:value-of select="@INSTANCE"/></xsl:variable>
|
||||
<TR></TR>
|
||||
<TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Bus Connections</SPAN></TH>
|
||||
<TR></TR>
|
||||
<TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">TYPE</SPAN></TH>
|
||||
<TH COLSPAN="5" width="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
|
||||
<TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BIF</SPAN></TH>
|
||||
<xsl:for-each select="../MODULE/BUSINTERFACE[(@BUSNAME = $instance_)]">
|
||||
<xsl:sort select="@BIFRANK"/>
|
||||
<xsl:variable name="buscName_"><xsl:value-of select="../@INSTANCE"/></xsl:variable>
|
||||
<TR></TR>
|
||||
<TD COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BIFRANK"/></SPAN></TD>
|
||||
<TD COLSPAN="5" width="50%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{$buscName_}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$buscName_"/></SPAN></A></TD>
|
||||
<TD COLSPAN="1" width="25%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="INTERRUPTSRCS">
|
||||
<TR></TR>
|
||||
<TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
|
||||
<SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Interrupt Priorities</SPAN>
|
||||
<TR></TR>
|
||||
<TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Priority</SPAN></TH>
|
||||
<TH COLSPAN="3" width="55%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TH>
|
||||
<TH COLSPAN="3" width="35%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TH>
|
||||
<TR></TR>
|
||||
<xsl:for-each select="INTERRUPTSRCS/INTRSRC">
|
||||
<xsl:sort data-type="number" select="@PRIORITY" order="ascending"/>
|
||||
|
||||
<xsl:variable name="intrsrc_"><xsl:value-of select="@SIGNAME"/></xsl:variable>
|
||||
<xsl:variable name="intrpri_"><xsl:value-of select="@PRIORITY"/></xsl:variable>
|
||||
|
||||
<xsl:for-each select="../../../MODULE[PORT[((@DIR='O') and (@SIGNAME = $intrsrc_))]]">
|
||||
<TR></TR>
|
||||
<TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$intrpri_"/></SPAN></TH>
|
||||
<TH COLSPAN="3" width="55%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$intrsrc_"/></SPAN></TH>
|
||||
<TH COLSPAN="3" width="35%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN></A></TH>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</TH>
|
||||
</xsl:if>
|
||||
|
||||
</TABLE>
|
||||
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,86 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
|
||||
<!DOCTYPE stylesheet [
|
||||
<!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:xlink="http://www.w3.org/1999/xlink">
|
||||
|
||||
<xsl:output method="html"/>
|
||||
|
||||
<!-- ======================= MAIN MEMORY MAP SECTION =============================== -->
|
||||
<xsl:template name="Layout_MemoryMap">
|
||||
<xsl:param name="table_width" select="600"/>
|
||||
|
||||
<xsl:variable name="procName" select="@INSTANCE"/>
|
||||
<!--
|
||||
<BR></BR>
|
||||
<BR></BR>
|
||||
-->
|
||||
<xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
|
||||
|
||||
<TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width}" COLS="5" cellspacing="1" cellpadding="2" border="0">
|
||||
<TR></TR>
|
||||
<TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
|
||||
<A name="_{@INSTANCE}_MemoryMap"/>
|
||||
<SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MEMORY MAP</SPAN>
|
||||
</TD>
|
||||
<TR></TR>
|
||||
<TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_INFO}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">D=DATA ADDRESSABLE    I=INSTRUCTION ADDRESSABLE</SPAN></TD>
|
||||
<TR></TR>
|
||||
<TD COLSPAN="1" width="5%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">D</SPAN></TD>
|
||||
<TD COLSPAN="1" width="5%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
|
||||
<TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BASE</SPAN></TD>
|
||||
<TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">HIGH</SPAN></TD>
|
||||
<TD COLSPAN="1" width="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TD>
|
||||
<TR></TR>
|
||||
|
||||
<xsl:for-each select="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
|
||||
<xsl:sort data-type="number" select="@BASEVALUE" order="ascending"/>
|
||||
<TR></TR>
|
||||
<xsl:variable name="isdata">
|
||||
<xsl:if test="@IS_DATA='TRUE'">■</xsl:if>
|
||||
<xsl:if test="not(@IS_DATA='TRUE')"> </xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="isinst">
|
||||
<xsl:if test="@IS_INSTRUCTION='TRUE'">
|
||||
■
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@IS_INSTRUCTION='TRUE')">
|
||||
 
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bupper" select ="@BASE"/>
|
||||
<xsl:variable name="hupper" select ="@HIGH"/>
|
||||
<xsl:variable name="iname" select ="@INSTANCE"/>
|
||||
<TD COLSPAN="1" width="5%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,sans-serif"><xsl:value-of select="$isdata"/></SPAN></TD>
|
||||
<TD COLSPAN="1" width="5%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,sans-serif"><xsl:value-of select="$isinst"/></SPAN></TD>
|
||||
<TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="translate($bupper,&HEXU2L;)"/></SPAN></TD>
|
||||
<TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="translate($hupper,&HEXU2L;)"/></SPAN></TD>
|
||||
<TD COLSPAN="1" width="50%" align="right" bgcolor="{$DS_COL_WHITE}">
|
||||
<A HREF="#_{$iname}" style="text-decoration:none">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; vertical-align:sub; font: normal 8px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BASENAME"/>:<xsl:value-of select="@HIGHNAME"/></SPAN><SPAN style="color:{$DS_COL_XPRP}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN>
|
||||
</A>
|
||||
</TD>
|
||||
</xsl:for-each>
|
||||
</TABLE>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="FindCorrectLocation">
|
||||
<xsl:param name="ranges"/>
|
||||
<xsl:param name="location"/>
|
||||
<xsl:param name="instname"/>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,235 @@
|
|||
<?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:xlink="http://www.w3.org/1999/xlink">
|
||||
|
||||
<xsl:template name="Write_TOCTree">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Table of Contents</TITLE>
|
||||
|
||||
<BASE target="{$DS_FRAME_MAIN}"></BASE>
|
||||
|
||||
<!--specify a css for the TOC -->
|
||||
<link rel="stylesheet" href="ds_Report.css" type="text/css"></link>
|
||||
|
||||
<!--specify the javascript for the TOC-->
|
||||
<script src="ds_Report.js" type="text/javascript"></script>
|
||||
</HEAD>
|
||||
|
||||
<!--Layout Table of contents -->
|
||||
<BODY class="main_body">
|
||||
<xsl:call-template name="Layout_TOCTree"/>
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- ======================= LAYOUT TABLE OF CONTENTS ====================================== -->
|
||||
<xsl:template name="Layout_TOCTree">
|
||||
|
||||
<xsl:variable name="toc_col_">
|
||||
<xsl:if test="$DS_TYPE='NOFRAMES'">
|
||||
<xsl:value-of select="$DS_COL_LGRY"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$DS_TYPE='FRAMES'">
|
||||
<xsl:value-of select="$DS_COL_WHITE"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="toc_width_">
|
||||
<xsl:if test="$DS_TYPE='NOFRAMES'">
|
||||
<xsl:value-of select="$DS_WIDTH"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$DS_TYPE='FRAMES'">
|
||||
<xsl:value-of select="$DS_TOC_WIDTH"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="toc_target_">
|
||||
<xsl:if test="$DS_TYPE='NOFRAMES'">
|
||||
<xsl:value-of select="$DS_FRAME_SELF"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$DS_TYPE='FRAMES'">
|
||||
<xsl:value-of select="$DS_FRAME_MAIN"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="trg_html_">
|
||||
<xsl:if test="$DS_TYPE='NOFRAMES'">
|
||||
<xsl:value-of select="''"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$DS_TYPE='FRAMES'">
|
||||
<xsl:value-of select="$DS_HTML_MAIN"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<A name="_TOC"/>
|
||||
<TABLE BGCOLOR="{$toc_col_}" WIDTH="{$toc_width_}" COLS="2" cellspacing="0" cellpadding="3" border="0">
|
||||
|
||||
<xsl:if test="$DS_TYPE='NOFRAMES'">
|
||||
<TH COLSPAN="2" width="100%" align="middle"><SPAN style="color:{$DS_COL_XPRP}; font: bold 20px Arial,Helvetica,sans-serif">TABLE OF CONTENTS</SPAN></TH>
|
||||
</xsl:if>
|
||||
|
||||
<TR></TR>
|
||||
<TD COLSPAN="1" width="40%" align="left">
|
||||
<BR></BR>
|
||||
<A HREF="{$trg_html_}#_Overview" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Overview</SPAN></A>
|
||||
|
||||
<BR></BR>
|
||||
<A HREF="{$trg_html_}#_BlockDiagram" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Block Diagram</SPAN></A>
|
||||
|
||||
<BR></BR>
|
||||
<A HREF="{$trg_html_}#_ExternalPorts" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">External Ports</SPAN></A>
|
||||
|
||||
<BR></BR>
|
||||
<xsl:variable name="proc_CNT" select="count(MODULES/MODULE[(@MODCLASS = 'PROCESSOR')])"/>
|
||||
|
||||
<xsl:if test="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
|
||||
<DIV class="trigger" onClick="showBranch('Processors'); swapBranchImg('BranchImg_Processors');">
|
||||
<xsl:if test="$proc_CNT > 1">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processors </SPAN>
|
||||
</xsl:if>
|
||||
<xsl:if test="not($proc_CNT > 1)">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processor </SPAN>
|
||||
</xsl:if>
|
||||
<IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Processors"></IMG>
|
||||
</DIV>
|
||||
|
||||
<SPAN class="branch" id="Processors">
|
||||
<xsl:for-each select="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
|
||||
<xsl:sort select="@INSTANCE"/>
|
||||
<A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">   <xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
|
||||
<xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
|
||||
<A HREF="{$trg_html_}#_{@INSTANCE}_MemoryMap" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: italic 14px Verdana Arial,Helvetica,sans-serif">          memory map</SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="MODULES/MODULE[(@MODCLASS='DEBUG')]">
|
||||
<DIV class="trigger" onClick="showBranch('Debuggers'); swapBranchImg('BranchImg_Debugger');">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Debuggers </SPAN>
|
||||
<IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Debugger"></IMG>
|
||||
</DIV>
|
||||
|
||||
<SPAN class="branch" id="Debuggers">
|
||||
<xsl:for-each select="MODULES/MODULE[(@MODCLASS='DEBUG')]">
|
||||
<xsl:sort select="@INSTANCE"/>
|
||||
<A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">   <xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
|
||||
</xsl:for-each>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:if test="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
|
||||
<DIV class="trigger" onClick="showBranch('Interrupts'); swapBranchImg('BranchImg_Interrupts');">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Interrupt Controllers </SPAN>
|
||||
<IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Interrupts"></IMG>
|
||||
</DIV>
|
||||
|
||||
<SPAN class="branch" id="Interrupts">
|
||||
<xsl:for-each select="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
|
||||
<xsl:sort select="@INSTANCE"/>
|
||||
<A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">   <xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
|
||||
</xsl:for-each>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
|
||||
<DIV class="trigger" onClick="showBranch('Busses'); swapBranchImg('BranchImg_Busses');">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Busses </SPAN>
|
||||
<IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Busses"></IMG>
|
||||
</DIV>
|
||||
|
||||
<SPAN class="branch" id="Busses">
|
||||
<xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
|
||||
<xsl:sort select="@INSTANCE"/>
|
||||
<A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">   <xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
|
||||
</xsl:for-each>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
|
||||
<DIV class="trigger" onClick="showBranch('Bridges'); swapBranchImg('BranchImg_Bridges');">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Bridges </SPAN>
|
||||
<IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Bridges"></IMG>
|
||||
</DIV>
|
||||
<SPAN class="branch" id="Bridges">
|
||||
<xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
|
||||
<xsl:sort select="@INSTANCE"/>
|
||||
<A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">   <xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
|
||||
</xsl:for-each>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY']">
|
||||
<DIV class="trigger" onClick="showBranch('Memory'); swapBranchImg('BranchImg_Memory');">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory </SPAN>
|
||||
<IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Memory"></IMG>
|
||||
</DIV>
|
||||
<SPAN class="branch" id="Memory">
|
||||
<xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY']">
|
||||
<xsl:sort select="@INSTANCE"/>
|
||||
<A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">   <xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
|
||||
</xsl:for-each>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY_CNTLR']">
|
||||
<DIV class="trigger" onClick="showBranch('MemoryCntlr'); swapBranchImg('BranchImg_MemoryCntlr');">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory Controllers </SPAN>
|
||||
<IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_MemoryCntlr"></IMG>
|
||||
</DIV>
|
||||
<SPAN class="branch" id="MemoryCntlr">
|
||||
<xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY_CNTLR']">
|
||||
<xsl:sort select="@INSTANCE"/>
|
||||
<A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">   <xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
|
||||
</xsl:for-each>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
|
||||
<DIV class="trigger" onClick="showBranch('Peripheral'); swapBranchImg('BranchImg_Peripheral');">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Peripherals </SPAN>
|
||||
<IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Peripheral"></IMG>
|
||||
</DIV>
|
||||
<SPAN class="branch" id="Peripheral">
|
||||
<xsl:for-each select="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
|
||||
<xsl:sort select="@INSTANCE"/>
|
||||
<A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">   <xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
|
||||
</xsl:for-each>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="MODULES/MODULE[@MODCLASS='IP']">
|
||||
<DIV class="trigger" onClick="showBranch('IP'); swapBranchImg('BranchImg_IP');">
|
||||
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">IP </SPAN>
|
||||
<IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_IP"></IMG>
|
||||
</DIV>
|
||||
<SPAN class="branch" id="IP">
|
||||
<xsl:for-each select="MODULES/MODULE[@MODCLASS='IP']">
|
||||
<xsl:sort select="@INSTANCE"/>
|
||||
<A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">   <xsl:value-of select="@INSTANCE"/></SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
|
||||
</xsl:for-each>
|
||||
</SPAN>
|
||||
</xsl:if>
|
||||
|
||||
<A HREF="{$trg_html_}#_TimingInfo" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Timing Information</SPAN></A><BR></BR>
|
||||
<!--
|
||||
-->
|
||||
|
||||
</TD>
|
||||
|
||||
</TABLE>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
<!-- ======================= END LAYOUT TABLE OF CONTENT TREE =================================== -->
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1 @@
|
|||
-pe ppc405_0 $(PPC405_0_BOOTLOOP)
|
|
@ -0,0 +1 @@
|
|||
-p virtex4
|
|
@ -0,0 +1,2 @@
|
|||
-p xc4vfx12ff668-10 -lang vhdl
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
ppc405_0
|
||||
RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c RTOSDemo/flop/flop.c RTOSDemo/flop/flop-reg-test.c
|
||||
RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h
|
||||
RTOSDEMO_CC = powerpc-eabi-gcc
|
||||
RTOSDEMO_CC_SIZE = powerpc-eabi-size
|
||||
RTOSDEMO_CC_OPT = -O0
|
||||
RTOSDEMO_CFLAGS = -I./RTOSDemo/flop -I../../Source/portable/GCC/PPC405_Xilinx -I./ppc405_0/include/ -IRTOSDemo/ -I. -I./RTOSDemo/ -I../Common/include/ -I../../Source/include/ -I./ppc405_0/include/ -I./ppc405_0/include -D GCC_PPC405 -mregnames -Wextra
|
||||
RTOSDEMO_CC_SEARCH = # -B
|
||||
RTOSDEMO_LIBPATH = -L./ppc405_0/lib/ # -L
|
||||
RTOSDEMO_INCLUDES = -I./ppc405_0/include/ -IRTOSDemo/ # -I
|
||||
RTOSDEMO_LFLAGS = # -l
|
||||
RTOSDEMO_LINKER_SCRIPT = RTOSDemo/RTOSDemo_linker_script.ld
|
||||
RTOSDEMO_CC_DEBUG_FLAG = -g
|
||||
RTOSDEMO_CC_PROFILE_FLAG = # -pg
|
||||
RTOSDEMO_CC_GLOBPTR_FLAG= # -msdata=eabi
|
||||
RTOSDEMO_CC_INFERRED_FLAGS= -mfpu=sp_full
|
||||
RTOSDEMO_CC_START_ADDR_FLAG= # # -Wl,-defsym -Wl,_START_ADDR=
|
||||
RTOSDEMO_CC_STACK_SIZE_FLAG= # # -Wl,-defsym -Wl,_STACK_SIZE=
|
||||
RTOSDEMO_CC_HEAP_SIZE_FLAG= # # -Wl,-defsym -Wl,_HEAP_SIZE=
|
||||
$(RTOSDEMO_CC_INFERRED_FLAGS) \
|
|
@ -0,0 +1 @@
|
|||
-p virtex4 -lang vhdl -pe ppc405_0 $(PPC405_0_BOOTLOOP) -s mti -X C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/ -E C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/
|
101
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/system.gui
Normal file
101
FreeRTOS/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/__xps/system.gui
Normal file
|
@ -0,0 +1,101 @@
|
|||
|
||||
<PRO_GUISETTING VIEWSTATUS="BIFS_TREE">
|
||||
|
||||
<GUISETTING HSCROLL="0" ID="BIFS_TREE" SPSIZE1="88" SPSIZE2="365" VSCROLL="0">
|
||||
|
||||
<COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="151"/>
|
||||
|
||||
<COLHDR INDEX="4" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="156"/>
|
||||
|
||||
<COLHDR INDEX="6" NAME="Bus Standard" VISIBLE="FALSE" WIDTH="0"/>
|
||||
|
||||
<COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
|
||||
|
||||
<COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>
|
||||
|
||||
<COLHDR INDEX="5" NAME="Mastership" VISIBLE="FALSE" WIDTH="0"/>
|
||||
|
||||
<COLHDR INDEX="3" NAME="IP CLASSIFICATION" VISIBLE="FALSE" WIDTH="0"/>
|
||||
|
||||
<EXPANDED/>
|
||||
|
||||
</GUISETTING>
|
||||
<GUISETTING HSCROLL="0" ID="PORTS_TREE" VSCROLL="0">
|
||||
|
||||
<COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="200"/>
|
||||
|
||||
<COLHDR INDEX="1" NAME="Net" VISIBLE="TRUE" WIDTH="200"/>
|
||||
|
||||
<COLHDR INDEX="2" NAME="Direction" VISIBLE="TRUE" WIDTH="98"/>
|
||||
|
||||
<COLHDR INDEX="4" NAME="Range" VISIBLE="TRUE" WIDTH="200"/>
|
||||
|
||||
<COLHDR INDEX="3" NAME="Class" VISIBLE="TRUE" WIDTH="81"/>
|
||||
|
||||
<COLHDR INDEX="5" NAME="Frequency" VISIBLE="TRUE" WIDTH="106"/>
|
||||
|
||||
<COLHDR INDEX="6" NAME="Reset Polarity" VISIBLE="TRUE" WIDTH="121"/>
|
||||
|
||||
<COLHDR INDEX="9" NAME="Sensitivity" VISIBLE="TRUE" WIDTH="103"/>
|
||||
|
||||
<COLHDR INDEX="7" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
|
||||
|
||||
<COLHDR INDEX="8" NAME="IP Version" VISIBLE="FALSE" WIDTH="0"/>
|
||||
|
||||
<EXPANDED/>
|
||||
|
||||
</GUISETTING>
|
||||
<GUISETTING HSCROLL="0" ID="ADDRESSES_TREE" VSCROLL="0">
|
||||
|
||||
<COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="153"/>
|
||||
|
||||
<COLHDR INDEX="3" NAME="Base Address" VISIBLE="TRUE" WIDTH="121"/>
|
||||
|
||||
<COLHDR INDEX="4" NAME="High Address" VISIBLE="TRUE" WIDTH="119"/>
|
||||
|
||||
<COLHDR INDEX="5" NAME="Size" VISIBLE="TRUE" WIDTH="76"/>
|
||||
|
||||
<COLHDR INDEX="7" NAME="Bus Interface(s)" VISIBLE="TRUE" WIDTH="130"/>
|
||||
|
||||
<COLHDR INDEX="10" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="131"/>
|
||||
|
||||
<COLHDR INDEX="6" NAME="Lock" VISIBLE="TRUE" WIDTH="80"/>
|
||||
|
||||
<COLHDR INDEX="9" NAME="ICache" VISIBLE="TRUE" WIDTH="90"/>
|
||||
|
||||
<COLHDR INDEX="8" NAME="DCache" VISIBLE="TRUE" WIDTH="95"/>
|
||||
|
||||
<COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
|
||||
|
||||
<COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>
|
||||
|
||||
<EXPANDED/>
|
||||
|
||||
</GUISETTING>
|
||||
<GUISETTING COLSORT="0" HSCROLL="0" ID="ADDRESSES_FLAT" SORTORE="1" VSCROLL="0">
|
||||
|
||||
<COLHDR INDEX="11" NAME="Instance" VISIBLE="TRUE" WIDTH="115"/>
|
||||
|
||||
<COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="153"/>
|
||||
|
||||
<COLHDR INDEX="3" NAME="Base Address" VISIBLE="TRUE" WIDTH="121"/>
|
||||
|
||||
<COLHDR INDEX="4" NAME="High Address" VISIBLE="TRUE" WIDTH="119"/>
|
||||
|
||||
<COLHDR INDEX="5" NAME="Size" VISIBLE="TRUE" WIDTH="76"/>
|
||||
|
||||
<COLHDR INDEX="7" NAME="Bus Interface(s)" VISIBLE="TRUE" WIDTH="130"/>
|
||||
|
||||
<COLHDR INDEX="10" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="131"/>
|
||||
|
||||
<COLHDR INDEX="6" NAME="Lock" VISIBLE="TRUE" WIDTH="80"/>
|
||||
|
||||
<COLHDR INDEX="9" NAME="ICache" VISIBLE="TRUE" WIDTH="90"/>
|
||||
|
||||
<COLHDR INDEX="8" NAME="DCache" VISIBLE="TRUE" WIDTH="95"/>
|
||||
|
||||
<COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
|
||||
|
||||
<COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>
|
||||
|
||||
</GUISETTING></PRO_GUISETTING>
|
|
@ -0,0 +1,20 @@
|
|||
ppc405_0
|
||||
TESTAPP_PERIPHERAL_SOURCES = /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xintc_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_selftest_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_intr_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xgpio_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xsysace_selftest_example.c
|
||||
TESTAPP_PERIPHERAL_HEADERS = /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/intc_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_intr_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/gpio_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/sysace_header.h
|
||||
TESTAPP_PERIPHERAL_CC = powerpc-eabi-gcc
|
||||
TESTAPP_PERIPHERAL_CC_SIZE = powerpc-eabi-size
|
||||
TESTAPP_PERIPHERAL_CC_OPT = -O0
|
||||
TESTAPP_PERIPHERAL_CFLAGS =
|
||||
TESTAPP_PERIPHERAL_CC_SEARCH = # -B
|
||||
TESTAPP_PERIPHERAL_LIBPATH = -L./ppc405_0/lib/ # -L
|
||||
TESTAPP_PERIPHERAL_INCLUDES = -I./ppc405_0/include/ -ITestApp_Peripheral/src/ # -I
|
||||
TESTAPP_PERIPHERAL_LFLAGS = # -l
|
||||
TESTAPP_PERIPHERAL_LINKER_SCRIPT = /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_FPU_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral_LinkScr.ld
|
||||
TESTAPP_PERIPHERAL_CC_DEBUG_FLAG = -g
|
||||
TESTAPP_PERIPHERAL_CC_PROFILE_FLAG = # -pg
|
||||
TESTAPP_PERIPHERAL_CC_GLOBPTR_FLAG= # -msdata=eabi
|
||||
TESTAPP_PERIPHERAL_CC_INFERRED_FLAGS= -mfpu=sp_full
|
||||
TESTAPP_PERIPHERAL_CC_START_ADDR_FLAG= # # -Wl,-defsym -Wl,_START_ADDR=
|
||||
TESTAPP_PERIPHERAL_CC_STACK_SIZE_FLAG= # # -Wl,-defsym -Wl,_STACK_SIZE=
|
||||
TESTAPP_PERIPHERAL_CC_HEAP_SIZE_FLAG= # # -Wl,-defsym -Wl,_HEAP_SIZE=
|
||||
$(TESTAPP_PERIPHERAL_CC_INFERRED_FLAGS) \
|
|
@ -0,0 +1 @@
|
|||
-p xc4vfx12ff668-10
|
|
@ -0,0 +1 @@
|
|||
-device xc4vfx12ff668-10data/system.ucf7 0
|
|
@ -0,0 +1 @@
|
|||
-device xc4vfx12ff668-10data/system.ucf 0
|
Loading…
Add table
Add a link
Reference in a new issue