Add PPC405 port in V10.1 format.

This commit is contained in:
Richard Barry 2008-03-30 21:15:19 +00:00
parent c2a6dc193e
commit bc7068a690
68 changed files with 22832 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 868 B

View file

@ -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

View file

@ -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">
&#160;&#160;<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">&#8970;</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">&#160;</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">&#8971;</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_ &gt; 10">1</xsl:if>
<xsl:if test="not($mhsParamCNT_ &gt; 10)">0</xsl:if>
</xsl:variable>
<xsl:variable name="table_width_">
<xsl:if test="$mhsParamCNT_ &gt; 10"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
<xsl:if test="$mhsParamCNT_ &lt;= 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_ &gt; 10">4</xsl:if>
<xsl:if test="$mhsParamCNT_ &lt;= 10">2</xsl:if>
</xsl:variable>
<xsl:variable name="mdr_othr_col_">
<xsl:if test="$mhsParamCNT_ &gt; 10">2</xsl:if>
<xsl:if test="$mhsParamCNT_ &lt;= 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_ &gt; 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_ &lt;= 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_ &gt; 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() &lt;= $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">&#160;</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() &gt; $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_ &gt; 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">&#160;</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>

View file

@ -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 &#160;&#160; 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'">&#9632;</xsl:if>
<xsl:if test="not(@IS_DATA='TRUE')">&#160;</xsl:if>
</xsl:variable>
<xsl:variable name="isinst">
<xsl:if test="@IS_INSTRUCTION='TRUE'">
&#9632;
</xsl:if>
<xsl:if test="not(@IS_INSTRUCTION='TRUE')">
&#160;
</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>

View file

@ -0,0 +1,141 @@
<?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="PERI_COL_OPB" select="'#339900'"/>
<xsl:param name="PERI_COL_WHIT" select="'#FFFFFF'"/>
<xsl:param name="PERI_COL_INFO" select="'#2233FF'"/>
<xsl:param name="PERI_COL_BLCK" select="'#000000'"/>
<xsl:param name="PERI_COL_GREY" select="'#CCCCCC'"/>
<xsl:param name="PERI_COL_XPRP" select="'#810017'"/>
<xsl:param name="PERI_COL_DOCLNK" select="'#FF9900'"/>
<!-- ======================= MAIN PERIPHERAL SECTION =============================== -->
<xsl:template name="Layout_Peripherals">
<BR></BR>
<BR></BR>
<BR></BR>
<BR></BR>
<A name="_{@INSTANCE}"/>
<SPAN style="color:{$DS_COL_BLCK}; font: bold italic 12px Verdana,Arial,Helvetica,sans-serif">
<xsl:value-of select="@INSTANCE"/>
<BR></BR>
________________________________________________
</SPAN>
<BR></BR>
<BR></BR>
<TABLE BGCOLOR="{$PERI_COL_WHIT}" WIDTH="800" COLS="2" cellspacing="0" cellpadding="0" border="0">
<!-- Layout the Module information table-->
<TD COLSPAN="1" width="50%" align="LEFT" valign="TOP">
<TABLE BGCOLOR="{$PERI_COL_WHIT}" WIDTH="400" COLS="2" cellspacing="0" cellpadding="0" border="0">
<TD COLSPAN="1" width="50%" align="MIDDLE" valign="TOP">
<IMG SRC="imgs/{@INSTANCE}.jpg" alt="{@INSTANCE} IP Image" border="0" vspace="10" hspace="0"/>
</TD>
<TR></TR>
<TD COLSPAN="1" width="50%" align="LEFT" valign="TOP">
<xsl:call-template name="Peri_PinoutTable"/>
</TD>
</TABLE>
</TD>
<TD COLSPAN="1" width="50%" align="RIGHT" valign="BOTTOM">
<xsl:call-template name="Peri_InfoTable"/>
</TD>
</TABLE>
</xsl:template>
<!-- ======================= PERIHERAL TABLE PARTS =============================== -->
<!-- Layout the Module's Information table -->
<xsl:template name="Peri_InfoTable">
<TABLE BGCOLOR="{$PERI_COL_BLCK}" WIDTH="410" COLS="5" cellspacing="1" cellpadding="2" border="0">
<TH COLSPAN="5" width="100%" align="middle" bgcolor="{$PERI_COL_XPRP}"><SPAN style="color:{$PERI_COL_WHIT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">General</SPAN></TH>
<TR></TR>
<TH COLSPAN="3" width="60%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Type</SPAN></TH>
<TH COLSPAN="2" width="40%" align="middle" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><A HREF="docs/{@MODTYPE}.pdf" style="text-decoration:none; color:{$PERI_COL_XPRP}"><xsl:value-of select="@MODTYPE"/></A></SPAN></TH>
<TR></TR>
<TH COLSPAN="3" width="60%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Version</SPAN></TH>
<TH COLSPAN="2" width="40%" align="middle" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@HWVERSION"/></SPAN></TH>
<TR></TR>
<TH COLSPAN="5" width="100%" align="middle" bgcolor="{$PERI_COL_XPRP}"><SPAN style="color:{$PERI_COL_WHIT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Parameters</SPAN></TH>
<TR></TR>
<TH COLSPAN="5" width="100%" align="left" bgcolor="{$PERI_COL_WHIT}">
<SPAN style="color:{$PERI_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
The paramaters listed here are only those set in the MHS file. Refer to the IP
<A HREF="docs/{@MODTYPE}.pdf" style="text-decoration:none; color:{$PERI_COL_XPRP}"> documentation </A>for complete information about module parameters.
</SPAN>
</TH>
<TR></TR>
<TH COLSPAN="3" width="60%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TH>
<TH COLSPAN="2" width="40%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TH>
<xsl:for-each select="PARAMETER">
<TR></TR>
<TH COLSPAN="3" width="60%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TH>
<TH COLSPAN="2" width="40%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TH>
</xsl:for-each>
<TR></TR>
<TH COLSPAN="5" width="100%" align="middle" bgcolor="{$PERI_COL_XPRP}"><SPAN style="color:{$PERI_COL_WHIT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Device Utilization</SPAN></TH>
<TR></TR>
<xsl:choose>
<xsl:when test="not(RESOURCES)">
<TH COLSPAN="5" width="100%" align="middle" bgcolor="{$PERI_COL_WHIT}">
<SPAN style="color:{$PERI_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
Device utilization information is not available for this IP.
</SPAN>
</TH>
</xsl:when>
<xsl:otherwise>
<TH COLSPAN="2" width="55%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Resource Type</SPAN></TH>
<TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Used</SPAN></TH>
<TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Available</SPAN></TH>
<TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Percent</SPAN></TH>
<xsl:for-each select="RESOURCES/RESOURCE">
<TR></TR>
<TH COLSPAN="2" width="55%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TYPE"/></SPAN></TH>
<TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@USED"/></SPAN></TH>
<TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TOTAL"/></SPAN></TH>
<TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@PERCENT"/></SPAN></TH>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
<TR></TR>
<TH COLSPAN="5" width="100%" align="middle" bgcolor="{$PERI_COL_XPRP}"><SPAN style="color:{$PERI_COL_WHIT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"></SPAN></TH>
</TABLE>
</xsl:template>
<!-- Layout the Module's pinout table -->
<xsl:template name="Peri_PinoutTable">
<TABLE BGCOLOR="{$PERI_COL_BLCK}" WIDTH="310" COLS="6" cellspacing="1" cellpadding="2" border="0">
<TH COLSPAN="6" width="100%" align="middle" bgcolor="{$PERI_COL_XPRP}"><SPAN style="color:{$PERI_COL_WHIT}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">PINOUT</SPAN></TH>
<TR></TR>
<TH COLSPAN="6" width="100%" align="left" bgcolor="{$PERI_COL_WHIT}">
<SPAN style="color:{$PERI_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
The ports listed here are only those connected in the MHS file. Refer to the IP
<A HREF="docs/{@MODTYPE}.pdf" style="text-decoration:none; color:{$PERI_COL_XPRP}"> documentation </A>for complete information about module ports.
</SPAN>
</TH>
<TR></TR>
<TH COLSPAN="1" width="5%" align="left" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TH>
<TH COLSPAN="2" width="25%" align="left" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
<TH COLSPAN="1" width="10%" align="left" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TH>
<TH COLSPAN="2" width="60%" align="left" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIGNAL</SPAN></TH>
<xsl:for-each select="PORT[(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__'))]">
<xsl:sort data-type="number" select="@INDEX" order="ascending"/>
<TR></TR>
<TH COLSPAN="1" width="5%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN></TH>
<TH COLSPAN="2" width="25%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TH>
<TH COLSPAN="1" width="10%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TH>
<TH COLSPAN="2" width="60%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TH>
</xsl:for-each>
</TABLE>
</xsl:template>
</xsl:stylesheet>

View file

@ -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 &gt; 1">
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processors&#160;</SPAN>
</xsl:if>
<xsl:if test="not($proc_CNT &gt; 1)">
<SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processor&#160;</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">&#160;&#160;&#160;<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">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;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&#160;</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">&#160;&#160;&#160;<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&#160;</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">&#160;&#160;&#160;<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&#160;</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">&#160;&#160;&#160;<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&#160;</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">&#160;&#160;&#160;<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&#160;</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">&#160;&#160;&#160;<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&#160;</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">&#160;&#160;&#160;<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&#160;</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">&#160;&#160;&#160;<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&#160;</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">&#160;&#160;&#160;<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 =================================== -->

View file

@ -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="bus_type" select="@BUSSTD"/>
</xsl:call-template>
<xsl:call-template name="Define_BifBusConnectors">
<xsl:with-param name="bus_type" 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="bus_type" select="'OPB'"/>
<xsl:variable name="bus_col_">
<xsl:call-template name="BusType2Color">
<xsl:with-param name="busType" select="$bus_type"/>
</xsl:call-template>
</xsl:variable>
<symbol id="{$bus_type}_Bif">
<rect x="0"
y="0"
rx="3"
ry="3"
width= "{$BIF_W}"
height="{$BIF_H}"
style="fill:{$bus_col_}; stroke:black; stroke-width:1"/>
</symbol>
</xsl:template>
<xsl:template name="Define_BifBusConnectors">
<xsl:param name="bus_type" select="'OPB'"/>
<xsl:variable name="bus_col_">
<xsl:call-template name="BusType2Color">
<xsl:with-param name="busType" select="$bus_type"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="bus_col_lt_">
<xsl:call-template name="BusType2LightColor">
<xsl:with-param name="busType" select="$bus_type"/>
</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="{$bus_type}_busconn_MASTER">
<rect x="0"
y="0"
width= "{$BIFC_W}"
height="{$BIFC_H}"
style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; stroke-width:1"/>
<rect x="{$BIFC_dx + 0.5}"
y="{$BIFC_dy}"
width= "{$BIFC_Wi}"
height="{$BIFC_Hi}"
style="fill:{$bus_col_}; stroke:none;"/>
</symbol>
<symbol id="{$bus_type}_busconn_INITIATOR">
<rect x="0"
y="0"
width= "{$BIFC_W}"
height="{$BIFC_H}"
style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; stroke-width:1"/>
<rect x="{$BIFC_dx + 0.5}"
y="{$BIFC_dy}"
width= "{$BIFC_Wi}"
height="{$BIFC_Hi}"
style="fill:{$bus_col_}; stroke:none;"/>
</symbol>
<symbol id="{$bus_type}_busconn_SLAVE">
<circle
cx="{ceiling($BIFC_W div 2)}"
cy="{ceiling($BIFC_H div 2)}"
r="{ceiling($BIFC_W div 2)}"
style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; 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:{$bus_col_}; stroke:none;"/>
</symbol>
<symbol id="{$bus_type}_busconn_TARGET">
<circle
cx="{ceiling($BIFC_W div 2)}"
cy="{ceiling($BIFC_H div 2)}"
r="{ceiling($BIFC_W div 2)}"
style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; 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:{$bus_col_}; stroke:none;"/>
</symbol>
<symbol id="{$bus_type}_busconn_MASTER_SLAVE">
<circle
cx="{ceiling($BIFC_W div 2)}"
cy="{ceiling($BIFC_H div 2)}"
r="{ceiling($BIFC_W div 2)}"
style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; 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:{$bus_col_}; stroke:none;"/>
<rect x="0"
y="{ceiling($BIFC_H div 2)}"
width= "{$BIFC_W}"
height="{ceiling($BIFC_H div 2)}"
style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; 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:{$bus_col_}; stroke:none;"/>
</symbol>
<symbol id="{$bus_type}_busconn_MONITOR">
<rect x="0"
y="0.5"
width= "{$BIFC_W}"
height="{ceiling($BIFC_Hi div 2)}"
style="fill:{$bus_col_}; stroke:none;"/>
<rect x="0"
y="{ceiling($BIFC_H div 2) + 4}"
width= "{$BIFC_W}"
height="{ceiling($BIFC_Hi div 2)}"
style="fill:{$bus_col_}; stroke:none;"/>
</symbol>
<symbol id="{$bus_type}_busconn_TRANSPARENT">
<circle
cx="{ceiling($BIFC_W div 2)}"
cy="{ceiling($BIFC_H div 2)}"
r="{ceiling($BIFC_W div 2)}"
style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; 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:{$bus_col_}; stroke:none;"/>
</symbol>
<symbol id="{$bus_type}_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:{$bus_col_}; 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>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,138 @@
<?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:param name="BIF_H" select="16"/>
<xsl:param name="BIF_W" select="32"/>
<xsl:param name="BIFC_H" select="24"/>
<xsl:param name="BIFC_W" select="24"/>
<xsl:param name="BIFC_dx" select="ceiling($BIFC_W div 5)"/>
<xsl:param name="BIFC_dy" select="ceiling($BIFC_H div 5)"/>
<xsl:param name="BIFC_Hi" select="($BIFC_H - ($BIFC_dy * 2))"/>
<xsl:param name="BIFC_Wi" select="($BIFC_W - ($BIFC_dx * 2))"/>
<xsl:param name="BIF_TYPE_ONEWAY" select="'OneWay'"/>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--
======================================================
BUS DIMENSIONS
======================================================
-->
<xsl:variable name="BUS_ARROW_W" select="ceiling($BIFC_W div 3)"/>
<xsl:variable name="BUS_ARROW_H" select="ceiling($BIFC_H div 2)"/>
<xsl:variable name="BUS_ARROW_G" select="ceiling($BIFC_W div 12)"/>
<!--
<xsl:variable name="BUS_LANE_W" select="(ceiling($BIF_W div 2) + $BUS_ARROW_W)"/>
<xsl:variable name="BUS_LANE_W" select="($BIFC_W + ceiling($BIFC_W div 2))"/>
-->
<xsl:variable name="BUS_LANE_W" select="($BIF_W + ($MOD_BIF_GAP_H * 2))"/>
<xsl:variable name="SBS_LANE_H" select="($periMOD_H + ($BIF_H * 2))"/>
<xsl:variable name="P2P_BUS_W" select="($BUS_ARROW_H - ($BUS_ARROW_G * 2))"/>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--
======================================================
IO PORT DIMENSIONS
======================================================
-->
<xsl:param name="IOP_H" select="16"/>
<xsl:param name="IOP_W" select="16"/>
<xsl:param name="IOP_SPC" select="12"/>
<xsl:param name="MOD_IO_GAP" select="8"/>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--
======================================================
INTERRUPT NOTATION DIMENSIONS
======================================================
-->
<xsl:variable name="INTR_W" select="18"/>
<xsl:variable name="INTR_H" select="18"/>
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--
======================================================
MODULE DIMENSIONS
======================================================
-->
<xsl:variable name="MOD_LABEL_W" select="(($BIF_W * 2) + $MOD_BIF_GAP_H)"/>
<xsl:variable name="MOD_LABEL_H" select="(($BIF_H * 2) + ceiling($BIF_H div 3))"/>
<xsl:variable name="MOD_LANE_W" select="ceiling($BIF_W div 3)"/>
<xsl:variable name="MOD_LANE_H" select="ceiling($BIF_H div 4)"/>
<xsl:variable name="MOD_EDGE_W" select="ceiling($MOD_LANE_W div 2)"/>
<xsl:variable name="MOD_SHAPES_G" select="($BIF_W + $BIF_W)"/>
<xsl:variable name="MOD_BKTLANE_H" select="$BIF_H"/>
<xsl:variable name="MOD_BKTLANE_W" select="$BIF_H"/>
<xsl:variable name="MOD_BUCKET_G" select="ceiling($BIF_W div 2)"/>
<xsl:variable name="MOD_BIF_GAP_H" select="ceiling($BIF_H div 4)"/>
<xsl:variable name="MOD_BIF_GAP_V" select="ceiling($BIFC_H div 2)"/>
<!--
<xsl:variable name="MOD_BIF_GAP_V" select="ceiling($BIF_H div 4)"/>
-->
<xsl:variable name="periMOD_W" select="( ($BIF_W * 2) + ($MOD_BIF_GAP_H * 1) + ($MOD_LANE_W * 2))"/>
<xsl:variable name="periMOD_H" select="($MOD_LABEL_H + ($BIF_H * 1) + ($MOD_BIF_GAP_V * 1) + ($MOD_LANE_H * 2))"/>
<!--
======================================================
GLOBAL DIAGRAM DIMENSIONS
======================================================
-->
<xsl:variable name="BLKD_IORCHAN_H" select="$BIF_H"/>
<xsl:variable name="BLKD_IORCHAN_W" select="$BIF_H"/>
<xsl:variable name="BLKD_PRTCHAN_H" select="($BIF_H * 2) + ceiling($BIF_H div 2)"/>
<xsl:variable name="BLKD_PRTCHAN_W" select="($BIF_H * 2) + ceiling($BIF_H div 2) + 8"/>
<xsl:variable name="BLKD_DRAWAREA_MIN" select="(($MOD_BKTLANE_W * 2) + (($periMOD_W * 3) + ($MOD_BUCKET_G * 2)))"/>
<xsl:variable name="BLKD_KEY_W" select="($BLKD_DRAWAREA_MIN + ceiling($BLKD_DRAWAREA_MIN div 2.5))"/>
<xsl:variable name="BLKD_KEY_H" select="250"/>
<xsl:variable name="BLKD_SPECS_W" select="300"/>
<xsl:variable name="BLKD_SPECS_H" select="100"/>
<xsl:variable name="SBS2IP_GAP" select="$periMOD_H"/>
<xsl:variable name="BKT_MODS_PER_ROW" select="3"/>
<xsl:variable name="IP2UNK_GAP" select="$periMOD_H"/>
<xsl:variable name="PROC2SBS_GAP" select="($BIF_H * 2)"/>
<xsl:variable name="IOR2PROC_GAP" select="$BIF_W"/>
<xsl:variable name="SPECS2KEY_GAP" select="$BIF_W"/>
<xsl:variable name="BLKD2KEY_GAP" select="ceiling($BIF_W div 3)"/>
<xsl:variable name="BRIDGE_GAP" select="($BUS_LANE_W * 4)"/>
<xsl:variable name="BLKD_INNER_GAP" select="ceiling($periMOD_W div 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:stylesheet>

View file

@ -0,0 +1,29 @@
<?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="Print_BlkdModuleDefs">
<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>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,546 @@
<?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="bus_type" select="@BUSSTD"/>
</xsl:call-template>
<xsl:call-template name="Define_BusArrowsNorthSouth">
<xsl:with-param name="bus_type" select="@BUSSTD"/>
</xsl:call-template>
<xsl:call-template name="Define_SplitBusses">
<xsl:with-param name="bus_type" select="@BUSSTD"/>
</xsl:call-template>
</xsl:for-each>
<xsl:call-template name="Define_SharedBus">
<xsl:with-param name="bus_type" select="'PLB'"/>
<xsl:with-param name="drawarea_w" select="$drawarea_w"/>
</xsl:call-template>
<xsl:call-template name="Define_SharedBus">
<xsl:with-param name="bus_type" select="'PLBV46'"/>
<xsl:with-param name="drawarea_w" select="$drawarea_w"/>
</xsl:call-template>
<xsl:call-template name="Define_SharedBus">
<xsl:with-param name="bus_type" select="'OPB'"/>
<xsl:with-param name="drawarea_w" select="$drawarea_w"/>
</xsl:call-template>
<xsl:call-template name="Define_SharedBus_Group"/>
<!--
<xsl:call-template name="Define_SharedBus">
<xsl:with-param name="bus_type" select="'PLB'"/>
<xsl:with-param name="drawarea_w" select="$drawarea_w"/>
</xsl:call-template>
-->
</xsl:template>
<xsl:template name="Define_BusArrowsEastWest">
<xsl:param name="bus_type" select="'OPB'"/>
<xsl:variable name="bus_col_">
<xsl:call-template name="BusType2Color">
<xsl:with-param name="busType" select="$bus_type"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="bus_col_lt_">
<xsl:call-template name="BusType2LightColor">
<xsl:with-param name="busType" select="$bus_type"/>
</xsl:call-template>
</xsl:variable>
<symbol id="{$bus_type}_BusArrowEast">
<path class="bus"
d="M 0,0
L {$BUS_ARROW_W}, {ceiling($BUS_ARROW_H div 2)}
L 0,{$BUS_ARROW_H},
Z" style="stroke:none; fill:{$bus_col_}"/>
</symbol>
<symbol id="{$bus_type}_BusArrowWest">
<use x="0" y="0" xlink:href="#{$bus_type}_BusArrowEast" transform="scale(-1,1) translate({$BUS_ARROW_W * -1},0)"/>
</symbol>
<!--
<symbol id="{$bus_type}_BusArrowHInitiator">
<rect x="0"
y="{$BUS_ARROW_G}"
width= "{$BUS_ARROW_W}"
height="{$BUS_ARROW_W - ($BUS_ARROW_G * 2)}"
style="stroke:none; fill:{$bus_col_}"/>
</symbol>
-->
<symbol id="{$bus_type}_BusArrowHInitiator">
<rect x="0"
y="{$BUS_ARROW_G}"
width= "{$BUS_ARROW_W}"
height="{$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="bus_type" select="'OPB'"/>
<xsl:variable name="bus_col_">
<xsl:call-template name="BusType2Color">
<xsl:with-param name="busType" select="$bus_type"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="bus_col_lt_">
<xsl:call-template name="BusType2LightColor">
<xsl:with-param name="busType" select="$bus_type"/>
</xsl:call-template>
</xsl:variable>
<symbol id="{$bus_type}_BusArrowSouth">
<path class="bus"
d="M 0,0
L {$BUS_ARROW_W},0
L {ceiling($BUS_ARROW_W div 2)}, {$BUS_ARROW_H}
Z" style="stroke:none; fill:{$bus_col_}"/>
</symbol>
<symbol id="{$bus_type}_BusArrowNorth">
<use x="0" y="0" xlink:href="#{$bus_type}_BusArrowSouth" transform="scale(1,-1) translate(0,{$BUS_ARROW_H * -1})"/>
</symbol>
<symbol id="{$bus_type}_BusArrowInitiator">
<rect x="{$BUS_ARROW_G}"
y="0"
width= "{$BUS_ARROW_W - ($BUS_ARROW_G * 2)}"
height="{$BUS_ARROW_H}"
style="stroke:none; fill:{$bus_col_}"/>
</symbol>
</xsl:template>
<xsl:template name="Draw_P2PBus">
<xsl:param name="busX" select="0"/>
<xsl:param name="busTop" select="0"/>
<xsl:param name="busBot" select="0"/>
<xsl:param name="botRnk" select="'_unk_'"/>
<xsl:param name="topRnk" select="'_unk_'"/>
<xsl:param name="busStd" select="'_bstd_'"/>
<xsl:param name="busName" select="'_p2pbus_'"/>
<xsl:variable name="busCol_">
<xsl:choose>
<xsl:when test="@BUSSTD">
<xsl:call-template name="BusType2Color">
<xsl:with-param name="busType" select="@BUSSTD"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="not($busStd = '_bstd_')">
<xsl:call-template name="BusType2Color">
<xsl:with-param name="busType" select="$busStd"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$COL_OPBBUS"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="p2pH_" select="($busBot - $busTop) - ($BUS_ARROW_H * 2)"/>
<xsl:variable name="botArrow_">
<xsl:choose>
<xsl:when test="((($botRnk = 'INITIATOR') or ($botRnk = 'MASTER')) and ($busStd = 'FSL'))">BusArrowInitiator</xsl:when>
<xsl:otherwise>BusArrowSouth</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="topArrow_">
<xsl:choose>
<xsl:when test="((($topRnk = 'INITIATOR') or ($topRnk = 'MASTER')) and ($busStd = 'FSL'))">BusArrowInitiator</xsl:when>
<xsl:otherwise>BusArrowNorth</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="@BUSSTD">
<use x="{($busX + ceiling($BIFC_W div 2)) - ceiling($BUS_ARROW_W div 2)}"
y="{$busTop + ($BIFC_H - $BUS_ARROW_H) + $BUS_ARROW_H}"
xlink:href="#{@BUSSTD}_{$topArrow_}"/>
<use x="{($busX + ceiling($BIFC_W div 2)) - ceiling($BUS_ARROW_W div 2)}"
y="{$busBot - $BUS_ARROW_H}"
xlink:href="#{@BUSSTD}_{$botArrow_}"/>
</xsl:if>
<xsl:if test="(not(@BUSSTD) and not($busStd = '_bstd_'))">
<use x="{($busX + ceiling($BIFC_W div 2)) - ceiling($BUS_ARROW_W div 2)}"
y="{$busTop + ($BIFC_H - $BUS_ARROW_H) + $BUS_ARROW_H}"
xlink:href="#{$busStd}_{$topArrow_}"/>
<use x="{($busX + ceiling($BIFC_W div 2)) - ceiling($BUS_ARROW_W div 2)}"
y="{$busBot - $BUS_ARROW_H}"
xlink:href="#{$busStd}_{$botArrow_}"/>
</xsl:if>
<rect x="{($busX + ceiling($BIFC_W div 2)) - ceiling($BUS_ARROW_W div 2) + $BUS_ARROW_G}"
y="{$busTop + $BIFC_H + $BUS_ARROW_H}"
height= "{$p2pH_ - ($BUS_ARROW_H * 2)}"
width="{$BUS_ARROW_W - ($BUS_ARROW_G * 2)}"
style="stroke:none; fill:{$busCol_}"/>
<text class="p2pbuslabel"
x="{$busX + $BUS_ARROW_W + ceiling($BUS_ARROW_W div 2) + ceiling($BUS_ARROW_W div 4) + 4}"
y="{$busTop + ($BUS_ARROW_H * 3)}">
<xsl:value-of select="$busName"/>
</text>
<xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName)]/@GROUP">
<text class="ioplblgrp"
x="{$busX + $BUS_ARROW_W + ceiling($BUS_ARROW_W div 2) + ceiling($BUS_ARROW_W div 4) + 6}"
y="{$busTop + ($BUS_ARROW_H * 10)}">
<xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$busName)]/@GROUP"/>
</text>
</xsl:if>
</xsl:template>
<xsl:template name="Draw_Proc2ProcBus">
<xsl:param name="bc_Y" select="0"/>
<xsl:param name="bcLeft_X" select="0"/>
<xsl:param name="bcRght_X" select="0"/>
<xsl:param name="leftRnk" select="'_unk_'"/>
<xsl:param name="rghtRnk" select="'_unk_'"/>
<xsl:param name="busStd" select="'_bstd_'"/>
<xsl:param name="busName" select="'_p2pbus_'"/>
<xsl:variable name="busCol_">
<xsl:call-template name="BusType2Color">
<xsl:with-param name="busType" select="$busStd"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="pr2pr_W_" select="($bcRght_X - $bcLeft_X)"/>
<xsl:variable name="leftArrow_">
<xsl:choose>
<xsl:when test="((($leftRnk = 'INITIATOR') or ($leftRnk = 'MASTER')) and ($busStd = 'FSL'))">BusArrowHInitiator</xsl:when>
<xsl:otherwise>BusArrowWest</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="rghtArrow_">
<xsl:choose>
<xsl:when test="((($rghtRnk = 'INITIATOR') or ($rghtRnk = 'MASTER')) and ($busStd = 'FSL'))">BusArrowHInitiator</xsl:when>
<xsl:otherwise>BusArrowEast</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="bus_Y_" select="($bc_Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2))"/>
<use x="{$bcLeft_X}" y="{$bus_Y_}" xlink:href="#{$busStd}_{$leftArrow_}"/>
<use x="{$bcRght_X - $BUS_ARROW_W}" y="{$bus_Y_}" xlink:href="#{$busStd}_{$rghtArrow_}"/>
<rect x="{$bcLeft_X + $BUS_ARROW_W}"
y="{$bus_Y_ + $BUS_ARROW_G}"
width= "{$pr2pr_W_ - (2 * $BUS_ARROW_W)}"
height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$busCol_}"/>
<text class="horizp2pbuslabel"
x="{$bcLeft_X + $BUS_ARROW_W + ceiling($BUS_ARROW_W div 2) + ceiling($BUS_ARROW_W div 4) + 4}"
y="{($bus_Y_)}">
<xsl:value-of select="$busName"/>
</text>
<text class="horizp2pbuslabel"
x="{$bcRght_X - (string-length($busName) * 8)}"
y="{($bus_Y_)}">
<xsl:value-of select="$busName"/>
</text>
</xsl:template>
<xsl:template name="Draw_SplitConnBus">
<xsl:param name="bc_X" select="0"/>
<xsl:param name="bc_Y" select="0"/>
<xsl:param name="bc_Rnk" select="'_unk_'"/>
<xsl:param name="bc_Side" select="'_unk_'"/>
<xsl:param name="busStd" select="'_bstd_'"/>
<xsl:param name="busName" select="'_p2pbus_'"/>
<xsl:variable name="busCol_">
<xsl:call-template name="BusType2Color">
<xsl:with-param name="busType" select="$busStd"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="connArrow_">
<xsl:choose>
<xsl:when test="((($bc_Rnk = 'INITIATOR') or ($bc_Rnk = 'MASTER')) and ($busStd = 'FSL'))">BusArrowHInitiator</xsl:when>
<xsl:otherwise>BusArrowEast</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="arrow_Y_" select="($bc_Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2))"/>
<xsl:variable name="bus_X_">
<xsl:choose>
<xsl:when test="$bc_Side = '0'"><xsl:value-of select="($bc_X - ($BUS_ARROW_W * 2))"/></xsl:when>
<xsl:when test="$bc_Side = '1'"><xsl:value-of select="($bc_X + $BIFC_W + $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="$bc_Side = '0'"><xsl:value-of select="($bc_X - $BUS_ARROW_W)"/></xsl:when>
<xsl:when test="$bc_Side = '1'"><xsl:value-of select="($bc_X + $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="(($busStd = 'FSL') and (($bc_Rnk = 'MASTER') or ($bc_Rnk = 'INITIATOR')))">
<use x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$busStd}_{$connArrow_}"/>
<use x="{$bus_X_}" y="{$arrow_Y_}" xlink:href="#{$busStd}_BusArrowHInitiator"/>
</xsl:when>
<xsl:when test="(($bc_Side = '1') and not(@busStd = 'FSL') and (($bc_Rnk = 'MASTER') or ($bc_Rnk = 'INITIATOR')))">
<use x="{$arrow_X_ - $BIFC_W}" y="{$arrow_Y_}" xlink:href="#{$busStd}_SplitBus_WEST"/>
</xsl:when>
<xsl:when test="(($bc_Side = '1') and (($bc_Rnk = 'SLAVE') or ($bc_Rnk = 'TARGET') or ($bc_Rnk = 'TRANSPARENT')))">
<use x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$busStd}_SplitBus_EAST"/>
</xsl:when>
<xsl:otherwise>
<use x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$busStd}_{$connArrow_}"/>
<use x="{$bus_X_}" y="{$arrow_Y_}" xlink:href="#{$busStd}_BusArrowHInitiator"/>
</xsl:otherwise>
</xsl:choose>
<xsl:variable name="text_X_">
<xsl:choose>
<xsl:when test="$bc_Side = '0'"><xsl:value-of select="($bus_X_ - $BUS_ARROW_W - (string-length($busName) * 5))"/></xsl:when>
<xsl:when test="$bc_Side = '1'"><xsl:value-of select="($bus_X_ + $BUS_ARROW_W)"/></xsl:when>
</xsl:choose>
</xsl:variable>
<text class="horizp2pbuslabel"
x="{$text_X_}"
y="{($arrow_Y_)}">
<xsl:value-of select="$busName"/>
</text>
</xsl:template>
<xsl:template name="Define_SharedBus">
<xsl:param name="bus_type" select="'OPB'"/>
<xsl:param name="drawarea_w" select="500"/>
<xsl:variable name="sharedbus_w_" select="($drawarea_w - ($BLKD_INNER_GAP * 2))"/>
<xsl:variable name="bus_col_">
<xsl:call-template name="BusType2Color">
<xsl:with-param name="busType" select="$bus_type"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="bus_col_lt_">
<xsl:call-template name="BusType2LightColor">
<xsl:with-param name="busType" select="$bus_type"/>
</xsl:call-template>
</xsl:variable>
<symbol id="{$bus_type}_SharedBus">
<use x="0" y="0" xlink:href="#{$bus_type}_BusArrowWest"/>
<use x="{$sharedbus_w_ - $BUS_ARROW_W}" y="0" xlink:href="#{$bus_type}_BusArrowEast"/>
<rect x="{$BUS_ARROW_W}"
y="{$BUS_ARROW_G}"
width= "{$sharedbus_w_ - ($BUS_ARROW_W * 2)}"
height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$bus_col_}"/>
</symbol>
</xsl:template>
<xsl:template name="Define_SplitBusses">
<xsl:param name="bus_type" sselect="'FSL'"/>
<xsl:variable name="bus_col_">
<xsl:call-template name="BusType2Color">
<xsl:with-param name="busType" select="$bus_type"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="bifc_r_" select="ceiling($BIFC_W div 3)"/>
<symbol id="{$bus_type}_SplitBus_EAST">
<use x="0" y="0" xlink:href="#{$bus_type}_BusArrowWest"/>
<rect x="{$BUS_ARROW_W}"
y="{$BUS_ARROW_G}"
width= "{$BIFC_W}"
height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$bus_col_}"/>
<!--
<rect x="{$BUS_ARROW_W + $BIFC_W}"
y="0"
width= "{$BIFC_W}"
height="{$BUS_ARROW_H}" style="stroke:none; fill:{$bus_col_}"/>
-->
<!--
<circle
cx="{$BUS_ARROW_W + $BIFC_W}"
cy="{ceiling($BIFC_Wi div 2)}"
r="{ceiling($BIFC_Wi div 2)}"
style="fill:{$bus_col_}; stroke:none;"/>
-->
</symbol>
<xsl:variable name="splbus_w_" select="($BUS_ARROW_W + $BIFC_W + $BIFC_Wi)"/>
<symbol id="{$bus_type}_SplitBus_WEST">
<use x="0" y="0" xlink:href="#{$bus_type}_SplitBus_EAST" transform="scale(-1,1) translate({$splbus_w_ * -1},0)"/>
</symbol>
<symbol id="{$bus_type}_SplitBus_OneWay">
<!--
<use x="0" y="0" xlink:href="#{$bus_type}_BusArrowWest"/>
-->
<rect x="0"
y="{$BUS_ARROW_G}"
width= "{($BUS_ARROW_W * 2)}"
height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$bus_col_}"/>
<rect x="{($BUS_ARROW_W * 2)}"
y="0"
width= "{$BUS_ARROW_H}"
height="{$BUS_ARROW_H}" style="stroke:none; fill:{$bus_col_}"/>
<!--
<rect x="{$BUS_ARROW_W}"
y="{$BUS_ARROW_G}"
width= "{$BUS_ARROW_W}"
height="{$BUS_ARROW_H}" style="stroke:none; fill:{$bus_col_}"/>
<circle
cx="{$BUS_ARROW_W + $BIFC_W}"
cy="{ceiling($BIFC_Wi div 2)}"
r="{ceiling($BIFC_Wi div 2)}"
style="fill:{$bus_col_}; stroke:none;"/>
-->
</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="modVori" select="'normal'"/>
<xsl:with-param name="modInst" select="$modInst_"/>
<xsl:with-param name="modType" 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_ * $SBS_LANE_H)"/>
<use x="0" y="{$busY_}" xlink:href="#{$busStd_}_SharedBus"/>
<text class="sharedbuslabel"
x="8"
y="{$busY_ + $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="busType" select="'KEY'"/>
</xsl:call-template>
</xsl:variable>
<rect x="{$BUS_ARROW_W}"
y="{$BUS_ARROW_G}"
width= "{30 - $BUS_ARROW_W}"
height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$key_col_}"/>
</symbol>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,512 @@
<?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="IOP_H" select="16"/>
<xsl:param name="IOP_W" select="16"/>
<xsl:param name="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="busType" select="'KEY'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="key_lt_col_">
<xsl:call-template name="BusType2LightColor">
<xsl:with-param name="busType" select="'KEY'"/>
</xsl:call-template>
</xsl:variable>
<symbol id="G_IOPort">
<rect
x="0"
y="0"
width= "{$IOP_W}"
height="{$IOP_H}" style="fill:{$COL_IORING_LT}; stroke:{$COL_IORING}; stroke-width:1"/>
<path class="ioport"
d="M 0,0
L {$IOP_W},{ceiling($IOP_H div 2)}
L 0,{$IOP_H}
Z" style="stroke:none; fill:{$COL_SYSPRT}"/>
</symbol>
<symbol id="G_BIPort">
<rect
x="0"
y="0"
width= "{$IOP_W}"
height="{$IOP_H}" style="fill:{$COL_IORING_LT}; stroke:{$COL_IORING}; stroke-width:1"/>
<path class="btop"
d="M 0,{ceiling($IOP_H div 2)}
{ceiling($IOP_W div 2)},0
{$IOP_W},{ceiling($IOP_H div 2)}
Z" style="stroke:none; fill:{$COL_SYSPRT}"/>
<path class="bbot"
d="M 0,{ceiling($IOP_H div 2)}
{ceiling($IOP_W div 2)},{$IOP_H}
{$IOP_W},{ceiling($IOP_H div 2)}
Z" style="stroke:none; fill:{$COL_SYSPRT}"/>
</symbol>
<symbol id="KEY_IOPort">
<rect
x="0"
y="0"
width= "{$IOP_W}"
height="{$IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/>
<path class="ioport"
d="M 0,0
L {$IOP_W},{ceiling($IOP_H div 2)}
L 0,{$IOP_H}
Z" style="stroke:none; fill:{$key_col_}"/>
</symbol>
<symbol id="KEY_BIPort">
<rect
x="0"
y="0"
width= "{$IOP_W}"
height="{$IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/>
<path class="btop"
d="M 0,{ceiling($IOP_H div 2)}
{ceiling($IOP_W div 2)},0
{$IOP_W},{ceiling($IOP_H div 2)}
Z" style="stroke:none; fill:{$key_col_}"/>
<path class="bbot"
d="M 0,{ceiling($IOP_H div 2)}
{ceiling($IOP_W div 2)},{$IOP_H}
{$IOP_W},{ceiling($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="{$IOP_W}"
y="0"
width= "{ceiling($IOP_W div 2)}"
height="{$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({$IOP_W * -1},0)"/>
<rect
x="{$IOP_W}"
y="0"
width= "{ceiling($IOP_W div 2)}"
height="{$IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/>
</symbol>
<symbol id="KEY_INOUTPort">
<use x="0" y="0" xlink:href="#KEY_BIPort"/>
<rect
x="{$IOP_W}"
y="0"
width= "{ceiling($IOP_W div 2)}"
height="{$IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/>
</symbol>
</xsl:template>
<!-- ======================= DRAW BLOCK =============================== -->
<xsl:template name="Draw_IOPorts">
<xsl:param name="drawarea_w" select="500"/>
<xsl:param name="drawarea_h" select="500"/>
<xsl:variable name="ports_count_" select="count(EXTERNALPORTS/PORT)"/>
<xsl:if test="($ports_count_ &gt; 30)">
<xsl:call-template name="Draw_IOPorts_4Sides">
<xsl:with-param name="drawarea_w" select="$drawarea_w"/>
<xsl:with-param name="drawarea_h" select="$drawarea_h"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="($ports_count_ &lt;= 30)">
<xsl:call-template name="Draw_IOPorts_2Sides">
<xsl:with-param name="drawarea_w" select="$drawarea_w"/>
<xsl:with-param name="drawarea_h" select="$drawarea_h"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="Draw_IOPorts_2Sides">
<xsl:param name="drawarea_h" select="500"/>
<xsl:param name="drawarea_w" select="500"/>
<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(($drawarea_w - (($ports_per_side_ * $IOP_W) + (($ports_per_side_ - 1) * $IOP_SPC))) div 2)"/>
</xsl:variable>
<xsl:variable name="v_ofs_">
<xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($drawarea_h - (($ports_per_side_ * $IOP_H) + (($ports_per_side_ - 1) * $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_ &gt;= ($ports_per_side_ * 0) and ($pcount_ &lt; ($ports_per_side_ * 1)))">W</xsl:when>
<xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 1) and ($pcount_ &lt; ($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 - $IOP_W)"/></xsl:when>
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_W)) - 2)"/></xsl:when>
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $drawarea_w)"/></xsl:when>
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $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_) * ($IOP_SPC + $IOP_H)))"/></xsl:when>
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $drawarea_h)"/></xsl:when>
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_H)))"/></xsl:when>
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $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="(($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($IOP_H div 2) + 6"/></xsl:when>
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($IOP_H * 2) + 4"/></xsl:when>
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($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($IOP_W div 2)},{$py_ + ceiling($IOP_H div 2)})"/>
</xsl:if>
<xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">
<rect
x="{$px_}"
y="{$py_}"
width= "{$IOP_W}"
height="{$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($IOP_W div 2)},{$py_ + ceiling($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:param name="drawarea_h" select="500"/>
<xsl:param name="drawarea_w" select="500"/>
<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(($drawarea_w - (($ports_per_side_ * $IOP_W) + (($ports_per_side_ - 1) * $IOP_SPC))) div 2)"/>
</xsl:variable>
<xsl:variable name="v_ofs_">
<xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($drawarea_h - (($ports_per_side_ * $IOP_H) + (($ports_per_side_ - 1) * $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_ &gt;= ($ports_per_side_ * 0) and ($pcount_ &lt; ($ports_per_side_ * 1)))">W</xsl:when>
<xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 1) and ($pcount_ &lt; ($ports_per_side_ * 2)))">S</xsl:when>
<xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 2) and ($pcount_ &lt; ($ports_per_side_ * 3)))">E</xsl:when>
<xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 3) and ($pcount_ &lt; ($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 - $IOP_W)"/></xsl:when>
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_W)) - 2)"/></xsl:when>
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $drawarea_w)"/></xsl:when>
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $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_) * ($IOP_SPC + $IOP_H)))"/></xsl:when>
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $drawarea_h)"/></xsl:when>
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_H)))"/></xsl:when>
<xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $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="(($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($IOP_H div 2) + 6"/></xsl:when>
<xsl:when test="($pside_ = 'S')"><xsl:value-of select="($IOP_H * 2) + 4"/></xsl:when>
<xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($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($IOP_W div 2)},{$py_ + ceiling($IOP_H div 2)})"/>
</xsl:if>
<xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">
<rect
x="{$px_}"
y="{$py_}"
width= "{$IOP_W}"
height="{$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($IOP_W div 2)},{$py_ + ceiling($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>

View file

@ -0,0 +1,398 @@
<?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 &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
<xsl:call-template name="Define_Stack">
<xsl:with-param name="stackIdx" select="@EAST"/>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<xsl:template name="Define_Stack">
<xsl:param name="stackIdx" select="100"/>
<!-- Define the stack's peripheral shapes-->
<xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) 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="modInst" select="$modInst_"/>
<xsl:with-param name="modType" select="$modType_"/>
<xsl:with-param name="shapeId" select="../@SHAPE_ID"/>
<xsl:with-param name="horizIdx" select="../@STACK_HORIZ_INDEX"/>
<xsl:with-param name="vertiIdx" 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 = $stackIdx) and (@MODCLASS='MEMORY_UNIT'))]">
<xsl:call-template name="Define_MemoryUnit">
<xsl:with-param name="shapeId" 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 = $stackIdx)]">
<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="stackIdx" select="$stackIdx"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="pstackH_">
<xsl:call-template name="_calc_Stack_Height">
<xsl:with-param name="stackIdx" select="$stackIdx"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="procW_" select="$periMOD_W"/>
<xsl:variable name="procX_" select="(ceiling($pstackW_ div 2) - ceiling($procW_ div 2))"/>
<xsl:variable name="numSBSs_" select="count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE)"/>
<xsl:variable name="sbs_H_" select="($numSBSs_ * $SBS_LANE_H)"/>
<xsl:variable name="sbsGap_" select="($PROC2SBS_GAP + $sbs_H_)"/>
<xsl:variable name="stack_name_">
<xsl:call-template name="_gen_Stack_Name">
<xsl:with-param name="horizIdx" select="$stackIdx"/>
</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 = $stackIdx)]">
<xsl:sort select="@STACK_VERTI_INDEX" data-type="number"/>
<xsl:variable name="shapeW_" select="(@MODS_W * $periMOD_W)"/>
<xsl:variable name="shapeX_" select="(ceiling($pstackW_ div 2) - ceiling($shapeW_ div 2))"/>
<xsl:variable name="shapeY_">
<xsl:call-template name="_calc_Stack_Shape_Y">
<xsl:with-param name="horizIdx" select="@STACK_HORIZ_INDEX"/>
<xsl:with-param name="vertiIdx" 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="horizIdx" select="@STACK_HORIZ_INDEX"/>
<xsl:with-param name="vertiIdx" select="@SHAPE_VERTI_INDEX"/>
</xsl:call-template>
</xsl:variable>
<!--
<xsl:message>Drawing stack peripheral <xsl:value-of select="$stack_SymName_"/> at <xsl:value-of select="$shapeY_"/></xsl:message>
-->
<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 = $stackIdx)]">
<xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
<xsl:variable name="bucketW_" select="(($MOD_BKTLANE_W * 2) + (($periMOD_W * @MODS_W) + ($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="horizIdx" select="@STACK_HORIZ_INDEX"/>
<xsl:with-param name="vertiIdx" 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 = $stackIdx)]">
<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="horizIdx" select="@STACK_HORIZ_INDEX"/>
<xsl:with-param name="vertiIdx" 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="horizIdx" select="@STACK_HORIZ_INDEX"/>
<xsl:with-param name="vertiIdx" 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="procInst" select="@INSTANCE"/>
<xsl:param name="modType" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@MODTYPE"/>
<!--
<xsl:param name="procType" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@PROCTYPE"/>
-->
<xsl:variable name="label_y_">
<xsl:value-of select="$MOD_LANE_H"/>
</xsl:variable>
<!--
<xsl:message>The proctype is <xsl:value-of select="$procType"/></xsl:message>
-->
<xsl:variable name="procH_" select="(($MOD_LANE_H * 2) + (($BIF_H + $MOD_BIF_GAP_V) * @BIFS_H) + ($MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
<xsl:variable name="procW_" select="(($MOD_LANE_W * 2) + (($BIF_W * @BIFS_W) + $MOD_BIF_GAP_H))"/>
<xsl:variable name="procColor">
<xsl:choose>
<xsl:when test="contains($modType,'microblaze')"><xsl:value-of select="$COL_PROC_BG_MB"/></xsl:when>
<xsl:when test="contains($modType,'ppc')"><xsl:value-of select="$COL_PROC_BG_PP"/></xsl:when>
<!--
<xsl:when test="$procType = 'MICROBLAZE'"><xsl:value-of select="$COL_PROC_BG_MB"/></xsl:when>
<xsl:when test="$procType = 'POWERPC'"><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="horizIdx" select="@STACK_HORIZ_INDEX"/>
<xsl:with-param name="vertiIdx" 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($MOD_LABEL_W div 2)}"
y="{$MOD_LANE_H}"
rx="3"
ry="3"
width= "{$MOD_LABEL_W}"
height="{$MOD_LABEL_H}"
style="fill:{$COL_WHITE}; stroke:none;"/>
<text class="bciptype"
x="{ceiling($procW_ div 2)}"
y="{$MOD_LANE_H + 8}">
<xsl:value-of select="$modType"/>
</text>
<text class="bciplabel"
x="{ceiling($procW_ div 2)}"
y="{$MOD_LANE_H + 16}">
<xsl:value-of select="$procInst"/>
</text>
<xsl:if test="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@GROUP">
<rect x="{ceiling($periMOD_W div 2) - ceiling($MOD_LABEL_W div 2)}"
y="{$MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) - 2}"
rx="3"
ry="3"
width= "{$MOD_LABEL_W}"
height="{$BIF_H}"
style="fill:{$COL_IORING_LT}; stroke:none;"/>
<text class="ioplblgrp" x="{ceiling($periMOD_W div 2)}" y="{$MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) + 12}">
<xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@GROUP"/>
</text>
</xsl:if>
<xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInst)]/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="busType" select="$bif_busstd_"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="bif_name_">
<xsl:choose>
<xsl:when test="string-length(@NAME) &lt;= 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="(($BIF_W * @BIF_X) + ($MOD_BIF_GAP_H * @BIF_X) + ($MOD_LANE_W * 1))"/>
<xsl:variable name="bif_y_" select="((($BIF_H + $MOD_BIF_GAP_V) * @BIF_Y) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
<xsl:variable name="horz_line_y_" select="($bif_y_ + ceiling($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="($periMOD_W - $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="$MOD_LANE_W"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$periMOD_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=$procInst)]/@INTERRUPT_CNTLR">
<xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$procInst)]/@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="intcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/>
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="_draw_InterruptedProc">
<xsl:with-param name="intr_col" select="$intr_col_"/>
<xsl:with-param name="intr_x" select="($periMOD_W - ceiling($INTR_W div 2))"/>
<xsl:with-param name="intr_y" select="3"/>
<xsl:with-param name="intr_idx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/>
</xsl:call-template>
</xsl:if>
</symbol>
</xsl:template>
</xsl:stylesheet>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,131 @@
<?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_UNK_BG" 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_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="busType" select="'OPB'"/>
<xsl:choose>
<xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@RGB">
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@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="busType" 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 = $busType)]/@RGB_LT">
<xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@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="intcIdx" select="'0'"/>
<xsl:variable name="idx_" select="$intcIdx 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>

View file

@ -0,0 +1,312 @@
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: 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;
}

View file

@ -0,0 +1,9 @@
.trigger{
cursor : hand;
cursor : pointer;
}
.branch{
display : none;
margin-left : 16px;
}

View file

@ -0,0 +1,27 @@
var openImg = new Image();
openImg.src = "imgs/IMG_openBranch.gif";
var closeImg = new Image();
closeImg.src = "imgs/IMG_closeBranch.gif";
function showBranch(branchId) {
var branchObj = document.getElementById(branchId).style;
if(branchObj.display== "block")
branchObj.display = "none";
else
branchObj.display = "block";
}
function swapBranchImg(branchImgId) {
branchImg = document.getElementById(branchImgId);
if(branchImg.src.indexOf('IMG_closeBranch.gif') > -1)
branchImg.src = openImg.src;
else
branchImg.src = closeImg.src;
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
-pe ppc405_0 $(PPC405_0_BOOTLOOP)

View file

@ -0,0 +1 @@
-p virtex4

View file

@ -0,0 +1,2 @@
-p xc4vfx12ff668-10 -lang vhdl

View file

@ -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/flop.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_HEADERS = RTOSDemo/FreeRTOSConfig.h
RTOSDEMO_CC = powerpc-eabi-gcc
RTOSDEMO_CC_SIZE = powerpc-eabi-size
RTOSDEMO_CC_OPT = -O0
RTOSDEMO_CFLAGS = -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=
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) \

View file

@ -0,0 +1 @@
-p virtex4 -lang vhdl -pe ppc405_0 $(PPC405_0_BOOTLOOP) -s mti -X C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/ -E C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/

View file

@ -0,0 +1,101 @@
<PRO_GUISETTING VIEWSTATUS="BIFS_TREE">
<GUISETTING HSCROLL="0" ID="BIFS_TREE" SPSIZE1="106" SPSIZE2="639" VSCROLL="0">
<COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="149"/>
<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="166"/>
<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="97"/>
<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>

View file

@ -0,0 +1,20 @@
ppc405_0
TESTAPP_PERIPHERAL_SOURCES = /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xintc_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_selftest_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_intr_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xgpio_tapp_example.c
TESTAPP_PERIPHERAL_HEADERS = /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/intc_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_intr_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/gpio_header.h
TESTAPP_PERIPHERAL_CC = powerpc-eabi-gcc
TESTAPP_PERIPHERAL_CC_SIZE = powerpc-eabi-size
TESTAPP_PERIPHERAL_CC_OPT = -O2
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_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=
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) \

View file

@ -0,0 +1 @@
-p xc4vfx12ff668-10

View file

@ -0,0 +1 @@
-device xc4vfx12ff668-10data/system.ucf7 0

View file

@ -0,0 +1 @@
-device xc4vfx12ff668-10data/system.ucf 0