Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • danc/MicroCART
  • snawerdt/MicroCART_17-18
  • bbartels/MicroCART_17-18
  • jonahu/MicroCART
4 results
Show changes
Showing
with 13688 additions and 0 deletions
<?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>
<?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:strip-space elements="*"/>
<xsl:variable name="FRAME_TOCTREE"><xsl:value-of select="$PARAM_PREFIX"/>_toc</xsl:variable>
<!--
<xsl:variable name="FNM_TOCTREE_JS"><xsl:value-of select="$FRAME_TOCTREE"/>.js</xsl:variable>
<xsl:variable name="FNM_TOCTREE_CSS"><xsl:value-of select="$FRAME_TOCTREE"/>.css</xsl:variable>
-->
<xsl:variable name="FNM_TOCTREE_HTML"><xsl:value-of select="$FRAME_TOCTREE"/>.html</xsl:variable>
<xsl:variable name="IMG_TOCTREE_BROPEN">imgs/IMG_openBranch.png</xsl:variable>
<xsl:variable name="IMG_TOCTREE_BRCLSE">imgs/IMG_closeBranch.png</xsl:variable>
<xsl:template name="WriteFrame_TOCTREE">
<HTML>
<HEAD>
<TITLE>Table of Contents</TITLE>
<BASE target="{$FRAME_FRMMAIN}"></BASE>
<!--specify a css for the TOC -->
<STYLE type="text/css">
<xsl:call-template name="WriteContents_TOCTree_CSS"/>
</STYLE>
<!--specify the javascript for the TOC-->
<SCRIPT type="text/javascript">
<xsl:call-template name="WriteContents_TOCTree_Script"/>
</SCRIPT>
</HEAD>
<!--Layout Table of contents -->
<BODY class="main_body">
<xsl:call-template name="WriteContents_TOCTree_HTML"/>
</BODY>
</HTML>
</xsl:template>
<!-- ======================= LAYOUT TABLE OF CONTENTS ====================================== -->
<xsl:template name="WriteContents_TOCTree_HTML">
<xsl:variable name="toctree_col_" select="$COL_WHITE"/>
<xsl:variable name="toctree_width_" select="$G_TOC_WIDTH"/>
<TABLE BGCOLOR="{$toctree_col_}" WIDTH="{$toctree_width_}" COLS="1" cellspacing="0" cellpadding="0" border="0">
<TD COLSPAN="1" VALIGN="Top">
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_OVERVIEW" style="text-decoration:none"><SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Overview</SPAN></A><BR/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_BLOCKDIAGRAM" style="text-decoration:none"><SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Block Diagram</SPAN></A><BR/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_EXTERNALPORTS" style="text-decoration:none"><SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">External Ports</SPAN></A><BR/>
<!--
========================================
PROCESSORS
========================================
-->
<xsl:if test="($G_NUMOF_PROCESSORS &gt; 0)">
<DIV class="trigger" onClick="showBranch('Processors'); swapBranchImg('BranchImg_Processors');">
<IMG src="{$IMG_TOCTREE_BROPEN}" border="0" id="BranchImg_Processors"></IMG>
<xsl:if test="($G_NUMOF_PROCESSORS &gt; 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">&#160;Processors</SPAN>
</xsl:if>
<xsl:if test="($G_NUMOF_PROCESSORS = 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana ArialHelvetica,sans-serif">&#160;Processor</SPAN>
</xsl:if>
</DIV>
<SPAN class="branch" id="Processors">
<xsl:for-each select="$G_MODULES/MODULE[(@MODCLASS = 'PROCESSOR')]">
<xsl:sort select="@INSTANCE"/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$COL_XLNX}; 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="{$FNM_FRMMAIN_HTML}#_{@INSTANCE}_MemoryMap" style="text-decoration:one"><SPAN style="color:{$DS_COL_BLACK}; font: italic14px 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>
<!--
========================================
DEBUGGERS
========================================
-->
<xsl:if test="($G_NUMOF_DEBUGGERS &gt; 0)">
<DIV class="trigger" onClick="showBranch('Debuggers'); swapBranchImg('BranchImg_Debuggers');">
<IMG src="{$IMG_TOCTREE_BROPEN}" border="0" id="BranchImg_Debuggers"></IMG>
<xsl:if test="($G_NUMOF_DEBUGGERS &gt; 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">&#160;Debuggers</SPAN>
</xsl:if>
<xsl:if test="($G_NUMOF_DEBUGGERS = 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana ArialHelvetica,sans-serif">&#160;Debuggers</SPAN>
</xsl:if>
</DIV>
<SPAN class="branch" id="Debuggers">
<xsl:for-each select="$G_MODULES/MODULE[(@MODCLASS = 'DEBUG')]">
<xsl:sort select="@INSTANCE"/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$COL_XLNX}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
</xsl:for-each>
</SPAN>
</xsl:if>
<!--
========================================
INTERRUPT CONTROLLERS
========================================
-->
<xsl:if test="($G_NUMOF_INTERRUPT_CNLTRS &gt; 0)">
<DIV class="trigger" onClick="showBranch('Interrupt_Cntlrs'); swapBranchImg('BranchImg_Interrupt_Cntlrs');">
<IMG src="{$IMG_TOCTREE_BROPEN}" border="0" id="BranchImg_Interrupt_Cntlrs"></IMG>
<xsl:if test="($G_NUMOF_INTERRUPT_CNLTRS &gt; 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">&#160;Interrupt Controllers</SPAN>
</xsl:if>
<xsl:if test="($G_NUMOF_INTERRUPT_CNLTRS = 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana ArialHelvetica,sans-serif">&#160;Interrupt Controllers</SPAN>
</xsl:if>
</DIV>
<SPAN class="branch" id="Interrupt_Cntlrs">
<xsl:for-each select="$G_MODULES/MODULE[(@MODCLASS = 'INTERRUPT_CNTLR')]">
<xsl:sort select="@INSTANCE"/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$COL_XLNX}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
</xsl:for-each>
</SPAN>
</xsl:if>
<!--
========================================
BUSSES
========================================
-->
<xsl:if test="($G_NUMOF_BUSSES &gt; 0)">
<DIV class="trigger" onClick="showBranch('Busses'); swapBranchImg('BranchImg_Busses');">
<IMG src="{$IMG_TOCTREE_BROPEN}" border="0" id="BranchImg_Busses"></IMG>
<xsl:if test="($G_NUMOF_BUSSES &gt; 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">&#160;Busses</SPAN>
</xsl:if>
<xsl:if test="($G_NUMOF_BUSSES = 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana ArialHelvetica,sans-serif">&#160;Bus</SPAN>
</xsl:if>
</DIV>
<SPAN class="branch" id="Busses">
<xsl:for-each select="$G_MODULES/MODULE[((@MODCLASS = 'BUS') or (@MODCLASS = 'BUS_ARBITER'))]">
<xsl:sort select="@INSTANCE"/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$COL_XLNX}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
</xsl:for-each>
</SPAN>
</xsl:if>
<!--
========================================
BUS BRIDGES
========================================
-->
<xsl:if test="($G_NUMOF_BRIDGES &gt; 0)">
<DIV class="trigger" onClick="showBranch('Bridges'); swapBranchImg('BranchImg_Bridges');">
<IMG src="{$IMG_TOCTREE_BROPEN}" border="0" id="BranchImg_Bridges"></IMG>
<xsl:if test="($G_NUMOF_BRIDGES &gt; 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">&#160;Bridges</SPAN>
</xsl:if>
<xsl:if test="($G_NUMOF_BRIDGES = 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana ArialHelvetica,sans-serif">&#160;Bridge</SPAN>
</xsl:if>
</DIV>
<SPAN class="branch" id="Bridges">
<xsl:for-each select="$G_MODULES/MODULE[(@MODCLASS = 'BUS_BRIDGE')]">
<xsl:sort select="@INSTANCE"/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$COL_XLNX}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
</xsl:for-each>
</SPAN>
</xsl:if>
<!--
========================================
MEMORY
========================================
-->
<xsl:if test="($G_NUMOF_MEMORYS &gt; 0)">
<DIV class="trigger" onClick="showBranch('Memory'); swapBranchImg('BranchImg_Memory');">
<IMG src="{$IMG_TOCTREE_BROPEN}" border="0" id="BranchImg_Memory"></IMG>
<xsl:if test="($G_NUMOF_MEMORYS &gt; 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">&#160;Memorys</SPAN>
</xsl:if>
<xsl:if test="($G_NUMOF_MEMORYS = 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana ArialHelvetica,sans-serif">&#160;Memory</SPAN>
</xsl:if>
</DIV>
<SPAN class="branch" id="Memory">
<xsl:for-each select="$G_MODULES/MODULE[(@MODCLASS = 'MEMORY')]">
<xsl:sort select="@INSTANCE"/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$COL_XLNX}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
</xsl:for-each>
</SPAN>
</xsl:if>
<!--
========================================
MEMORY CONTROLLERS
========================================
-->
<xsl:if test="($G_NUMOF_MEMORY_CNTLRS &gt; 0)">
<DIV class="trigger" onClick="showBranch('Memory_Cntlrs'); swapBranchImg('BranchImg_Memory_Cntlrs');">
<IMG src="{$IMG_TOCTREE_BROPEN}" border="0" id="BranchImg_Memory_Cntlrs"></IMG>
<xsl:if test="($G_NUMOF_MEMORY_CNTLRS &gt; 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">&#160;Memory Controllers</SPAN>
</xsl:if>
<xsl:if test="($G_NUMOF_MEMORY_CNTLRS = 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana ArialHelvetica,sans-serif">&#160;Memory Controller</SPAN>
</xsl:if>
</DIV>
<SPAN class="branch" id="Memory_Cntlrs">
<xsl:for-each select="$G_MODULES/MODULE[(@MODCLASS = 'MEMORY_CNTLR')]">
<xsl:sort select="@INSTANCE"/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$COL_XLNX}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
</xsl:for-each>
</SPAN>
</xsl:if>
<!--
========================================
PERIPHERALS
========================================
-->
<xsl:if test="($G_NUMOF_PERIPHERALS &gt; 0)">
<DIV class="trigger" onClick="showBranch('Peripherals'); swapBranchImg('BranchImg_Peripherals');">
<IMG src="{$IMG_TOCTREE_BROPEN}" border="0" id="BranchImg_Peripherals"></IMG>
<xsl:if test="($G_NUMOF_PERIPHERALS &gt; 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">&#160;Peripherals</SPAN>
</xsl:if>
<xsl:if test="($G_NUMOF_PERIPHERALS = 1)">
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana ArialHelvetica,sans-serif">&#160;Peripheral</SPAN>
</xsl:if>
</DIV>
<SPAN class="branch" id="Peripherals">
<xsl:for-each select="$G_MODULES/MODULE[(@MODCLASS = 'PERIPHERAL')]">
<xsl:sort select="@INSTANCE"/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$COL_XLNX}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
</xsl:for-each>
</SPAN>
</xsl:if>
<!--
========================================
IP
========================================
-->
<xsl:if test="($G_NUMOF_IPS &gt; 0)">
<DIV class="trigger" onClick="showBranch('IP'); swapBranchImg('BranchImg_Ips');">
<IMG src="{$IMG_TOCTREE_BROPEN}" border="0" id="BranchImg_Ips"></IMG>
<SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">&#160;IP</SPAN>
</DIV>
<SPAN class="branch" id="IP">
<xsl:for-each select="$G_MODULES/MODULE[(@MODCLASS = 'IP')]">
<xsl:sort select="@INSTANCE"/>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$COL_XLNX}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN></A><BR></BR>
</xsl:for-each>
</SPAN>
</xsl:if>
<A HREF="{$FNM_FRMMAIN_HTML}#ANCHOR_TIMINGINFO" style="text-decoration:none"><SPAN style="color:{$COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Timing Information</SPAN></A><BR></BR>
</TD>
</TABLE>
</xsl:template>
<xsl:template name="WriteContents_TOCTree_Script">
var openImg = new Image();
var clseImg = new Image();
openImg.src = "<xsl:value-of select="$IMG_TOCTREE_BROPEN"/>";
clseImg.src = "<xsl:value-of select="$IMG_TOCTREE_BRCLSE"/>";
function showBranch(iBranchId) {
var branchObj = document.getElementById(iBranchId).style;
if(branchObj.display== "block")
branchObj.display = "none";
else
branchObj.display = "block";
}
function swapBranchImg(iBranchImgId) {
branchImg = document.getElementById(iBranchImgId);
if(branchImg.src.indexOf('<xsl:value-of select="$IMG_TOCTREE_BRCLSE"/>') > -1)
branchImg.src = openImg.src;
else
branchImg.src = clseImg.src;
}
</xsl:template>
<xsl:template name="WriteContents_TOCTree_CSS">
.trigger {
cursor : hand;
cursor : pointer;
}
.branch {
display : none;
margin-left : 16px;
}
</xsl:template>
</xsl:stylesheet>
<!-- ======================= END LAYOUT TABLE OF CONTENT TREE =================================== -->
<RENDERBATCH>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/clock_generator_0.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/clock_generator_0.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/clock_generator_0.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/reset_0.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/reset_0.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/reset_0.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/processing_system7_0.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/processing_system7_0.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/processing_system7_0.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_0.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_0.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/pwm_recorder_0.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/axi_interconnect_1.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/axi_interconnect_1.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/axi_interconnect_1.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_1.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_1.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/pwm_recorder_1.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_2.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_2.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/pwm_recorder_2.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_3.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_3.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/pwm_recorder_3.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_4.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_4.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/pwm_recorder_4.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_5.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_recorder_5.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/pwm_recorder_5.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/BTNs_4Bits_TRI_IO.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/BTNs_4Bits_TRI_IO.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/BTNs_4Bits_TRI_IO.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_signal_out_wkillswitch_0.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_signal_out_wkillswitch_0.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/pwm_signal_out_wkillswitch_0.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_signal_out_wkillswitch_1.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_signal_out_wkillswitch_1.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/pwm_signal_out_wkillswitch_1.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_signal_out_wkillswitch_2.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_signal_out_wkillswitch_2.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/pwm_signal_out_wkillswitch_2.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_signal_out_wkillswitch_3.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/pwm_signal_out_wkillswitch_3.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/pwm_signal_out_wkillswitch_3.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/axi_timer_0.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/axi_timer_0.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/axi_timer_0.svg"/>
<RENDERIMG RASNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/system_blkd.jpg" SVGNAME="/local/ucart/microcart1630/tasks/Quad/system/SDK/SDK_Export/hw/imgs/system_blkd.svg" TMPSVGFN="/local/ucart/microcart1630/tasks/Quad/system/__xps/.dswkshop/system_blkd.svg"/>
</RENDERBATCH>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/SVG/DTD/svg10.dtd">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>XPS Project Report</TITLE>
</HEAD>
<HEAD><TITLE>XPS Project Report</TITLE></HEAD>
<FRAMESET COLS="20%,80%" BORDER="0" FRAMESPACING="0">
<FRAME SRC="system_toc.html" MARGINWIDTH="0" MARINHEIGHT="0" FRAMEBORDER="NO" BORDER="NO" NAME="system_toc" SCROLLING="YES">
<FRAME SRC="system_main.html" MARGINWIDTH="0" MARINHEIGHT="0" FRAMEBORDER="NO" BORDER="NO" NAME="system_main" SCROLLING="YES">
</FRAMESET>
</HTML>
Source diff could not be displayed: it is too large. Options to address this: view the blob.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
<!DOCTYPE html PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/SVG/DTD/svg10.dtd">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>Table of Contents</TITLE>
<BASE target="system_main">
<STYLE type="text/css">
.trigger {
cursor : hand;
cursor : pointer;
}
.branch {
display : none;
margin-left : 16px;
}
</STYLE>
<SCRIPT type="text/javascript">
var openImg = new Image();
var clseImg = new Image();
openImg.src = "imgs/IMG_openBranch.png";
clseImg.src = "imgs/IMG_closeBranch.png";
function showBranch(iBranchId) {
var branchObj = document.getElementById(iBranchId).style;
if(branchObj.display== "block")
branchObj.display = "none";
else
branchObj.display = "block";
}
function swapBranchImg(iBranchImgId) {
branchImg = document.getElementById(iBranchImgId);
if(branchImg.src.indexOf('imgs/IMG_closeBranch.png') > -1)
branchImg.src = openImg.src;
else
branchImg.src = clseImg.src;
}
</SCRIPT>
</HEAD>
<BODY class="main_body"><TABLE BGCOLOR="#FFFFFF" WIDTH="200" COLS="1" cellspacing="0" cellpadding="0" border="0"><TD COLSPAN="1" VALIGN="Top">
<A HREF="system_main.html#ANCHOR_OVERVIEW" style="text-decoration:none"><SPAN style="color:#000000; font: bold 16px Verdana Arial,Helvetica,sans-serif">Overview</SPAN></A><BR><A HREF="system_main.html#ANCHOR_BLOCKDIAGRAM" style="text-decoration:none"><SPAN style="color:#000000; font: bold 16px Verdana Arial,Helvetica,sans-serif">Block Diagram</SPAN></A><BR><A HREF="system_main.html#ANCHOR_EXTERNALPORTS" style="text-decoration:none"><SPAN style="color:#000000; font: bold 16px Verdana Arial,Helvetica,sans-serif">External Ports</SPAN></A><BR><DIV class="trigger" onClick="showBranch('Processors'); swapBranchImg('BranchImg_Processors');">
<IMG src="imgs/IMG_openBranch.png" border="0" id="BranchImg_Processors"><SPAN style="color:#000000; font: bold 16px Verdana ArialHelvetica,sans-serif"> Processor</SPAN>
</DIV>
<SPAN class="branch" id="Processors"><A HREF="system_main.html#ANCHOR_processing_system7_0" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> processing_system7_0</SPAN></A><BR></SPAN><DIV class="trigger" onClick="showBranch('Busses'); swapBranchImg('BranchImg_Busses');">
<IMG src="imgs/IMG_openBranch.png" border="0" id="BranchImg_Busses"><SPAN style="color:#000000; font: bold 16px Verdana ArialHelvetica,sans-serif"> Bus</SPAN>
</DIV>
<SPAN class="branch" id="Busses"><A HREF="system_main.html#ANCHOR_axi_interconnect_1" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> axi_interconnect_1</SPAN></A><BR></SPAN><DIV class="trigger" onClick="showBranch('Peripherals'); swapBranchImg('BranchImg_Peripherals');">
<IMG src="imgs/IMG_openBranch.png" border="0" id="BranchImg_Peripherals"><SPAN style="color:#000000; font: bold 16px Verdana Arial,Helvetica,sans-serif"> Peripherals</SPAN>
</DIV>
<SPAN class="branch" id="Peripherals"><A HREF="system_main.html#ANCHOR_BTNs_4Bits_TRI_IO" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> BTNs_4Bits_TRI_IO</SPAN></A><BR><A HREF="system_main.html#ANCHOR_axi_timer_0" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> axi_timer_0</SPAN></A><BR><A HREF="system_main.html#ANCHOR_pwm_recorder_0" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> pwm_recorder_0</SPAN></A><BR><A HREF="system_main.html#ANCHOR_pwm_recorder_1" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> pwm_recorder_1</SPAN></A><BR><A HREF="system_main.html#ANCHOR_pwm_recorder_2" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> pwm_recorder_2</SPAN></A><BR><A HREF="system_main.html#ANCHOR_pwm_recorder_3" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> pwm_recorder_3</SPAN></A><BR><A HREF="system_main.html#ANCHOR_pwm_recorder_4" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> pwm_recorder_4</SPAN></A><BR><A HREF="system_main.html#ANCHOR_pwm_recorder_5" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> pwm_recorder_5</SPAN></A><BR><A HREF="system_main.html#ANCHOR_pwm_signal_out_wkillswitch_0" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> pwm_signal_out_wkillswitch_0</SPAN></A><BR><A HREF="system_main.html#ANCHOR_pwm_signal_out_wkillswitch_1" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> pwm_signal_out_wkillswitch_1</SPAN></A><BR><A HREF="system_main.html#ANCHOR_pwm_signal_out_wkillswitch_2" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> pwm_signal_out_wkillswitch_2</SPAN></A><BR><A HREF="system_main.html#ANCHOR_pwm_signal_out_wkillswitch_3" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> pwm_signal_out_wkillswitch_3</SPAN></A><BR></SPAN><DIV class="trigger" onClick="showBranch('IP'); swapBranchImg('BranchImg_Ips');">
<IMG src="imgs/IMG_openBranch.png" border="0" id="BranchImg_Ips"><SPAN style="color:#000000; font: bold 16px Verdana Arial,Helvetica,sans-serif"> IP</SPAN>
</DIV>
<SPAN class="branch" id="IP"><A HREF="system_main.html#ANCHOR_clock_generator_0" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> clock_generator_0</SPAN></A><BR><A HREF="system_main.html#ANCHOR_reset_0" style="text-decoration:none"><SPAN style="color:#AA0017; font: italic 14px Verdana Arial,Helvetica,sans-serif"> reset_0</SPAN></A><BR></SPAN><A HREF="system_main.html#ANCHOR_TIMINGINFO" style="text-decoration:none"><SPAN style="color:#000000; font: bold 16px Verdana Arial,Helvetica,sans-serif">Timing Information</SPAN></A><BR>
</TD></TABLE></BODY>
</HTML>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>Zynq PS configuration detail</title>
<style type="text/css">
.hex {font-family:monospace ; text-align : right}
td { min-width : 80px ; }
</style>
<body>
<dl><dt><b><font size="5">Description</font></b></dt><dd>Zynq board definition file for the ZYBO Rev. B. This file can be imported into XPS or Vivado IP Integrator to configure the PS7 core to work properly with the ZYBO's DDR3, microSD, UART, Ethernet, USB-OTG, and other onboard peripherals.</dd></dl>
<h2>Preset Info</h2>
<ul><table><tr><td>Device Size</td><td>xc7z010</td></tr>
<tr><td>Package</td><td>clg400</td></tr>
<tr><td>Speed Grade</td><td>-2</td></tr>
</table></ul>
<h2>Zynq PS configuration</h2>
<ul><table border="1" summary="Configuration Summary" >
<thead><tr> <th>Peripheral</th> <th>Status</th> <th>Signal Group</th> <th>MIO</th> <th>Freq</th> </tr></thead>
<tr><td>CAN0</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>CAN1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>ENET0</td><td>Enabled</td><td>default</td><td>MIO 16 .. 27</td><td>1000 MBPS</td></tr>
<tr><td></td><td></td><td>GRP_MDIO</td><td>MIO 52 .. 53</td><td></td></tr>
<tr><td>ENET1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>GPIO</td><td>Enabled</td><td>default</td><td>MIO</td><td></td></tr>
<tr><td>I2C0</td><td>Enabled</td><td>default</td><td>EMIO</td><td></td></tr>
<tr><td></td><td></td><td>GRP_INT</td><td>EMIO</td><td></td></tr>
<tr><td>I2C1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>MODE</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>NAND</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>NOR</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>PJTAG</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>QSPI</td><td>Enabled</td><td>default</td><td>MIO 1 .. 6</td><td>200.000000</td></tr>
<tr><td></td><td></td><td>GRP_FBCLK</td><td>MIO 8</td><td></td></tr>
<tr><td>SD0</td><td>Enabled</td><td>default</td><td>MIO 40 .. 45</td><td></td></tr>
<tr><td></td><td></td><td>GRP_CD</td><td>MIO 47</td><td></td></tr>
<tr><td></td><td></td><td>GRP_WP</td><td>EMIO</td><td></td></tr>
<tr><td>SD1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>SPI0</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>SPI1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>TRACE</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>TTC0</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>TTC1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>UART0</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>UART1</td><td>Enabled</td><td>default</td><td>MIO 48 .. 49</td><td>50</td></tr>
<tr><td>USB0</td><td>Enabled</td><td>default</td><td>MIO 28 .. 39</td><td></td></tr>
<tr><td>USB1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>VCFG</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>WDT</td><td>Disabled</td><td></td><td></td><td></td></tr>
</table></ul></body></html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>Zynq PS configuration detail</title>
<style type="text/css">
.hex {font-family:monospace ; text-align : right}
td { min-width : 80px ; }
</style>
<body>
<dl><dt><b><font size="5">Description</font></b></dt><dd>Default configuration for ZedBoard Created 28 Aug 2012 See more at www.zedboard.org Change Log 28 Aug 2012 - Changed DDR3 part to MT41J128M16 HA-15E</dd></dl>
<h2>Preset Info</h2>
<ul><table><tr><td>Device Size</td><td>xc7z020</td></tr>
<tr><td>Package</td><td>clg484</td></tr>
<tr><td>Speed Grade</td><td>-1</td></tr>
</table></ul>
<h2>Zynq PS configuration</h2>
<ul><table border="1" summary="Configuration Summary" >
<thead><tr> <th>Peripheral</th> <th>Status</th> <th>Signal Group</th> <th>MIO</th> <th>Freq</th> </tr></thead>
<tr><td>CAN0</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>CAN1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>ENET0</td><td>Enabled</td><td>default</td><td>MIO 16 .. 27</td><td>1000 MBPS</td></tr>
<tr><td></td><td></td><td>GRP_MDIO</td><td>MIO 52 .. 53</td><td></td></tr>
<tr><td>ENET1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>GPIO</td><td>Enabled</td><td>default</td><td>MIO</td><td></td></tr>
<tr><td>I2C0</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>I2C1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>MODE</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>NAND</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>NOR</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>PJTAG</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>QSPI</td><td>Enabled</td><td>default</td><td>MIO 1 .. 6</td><td>200.000000</td></tr>
<tr><td></td><td></td><td>GRP_FBCLK</td><td>MIO 8</td><td></td></tr>
<tr><td>SD0</td><td>Enabled</td><td>default</td><td>MIO 40 .. 45</td><td></td></tr>
<tr><td></td><td></td><td>GRP_CD</td><td>MIO 47</td><td></td></tr>
<tr><td></td><td></td><td>GRP_WP</td><td>MIO 46</td><td></td></tr>
<tr><td>SD1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>SPI0</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>SPI1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>TRACE</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>TTC0</td><td>Enabled</td><td>default</td><td>EMIO</td><td></td></tr>
<tr><td>TTC1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>UART0</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>UART1</td><td>Enabled</td><td>default</td><td>MIO 48 .. 49</td><td>50</td></tr>
<tr><td>USB0</td><td>Enabled</td><td>default</td><td>MIO 28 .. 39</td><td></td></tr>
<tr><td>USB1</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>VCFG</td><td>Disabled</td><td></td><td></td><td></td></tr>
<tr><td>WDT</td><td>Disabled</td><td></td><td></td><td></td></tr>
</table></ul></body></html>
\ No newline at end of file
-p xc7z010clg400-1
<?xml version="1.0" standalone="no"?>
<!DOCTYPE stylesheet [
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
<!ENTITY HEXUPPER "ABCDEFxX0123456789">
<!ENTITY HEXLOWER "abcdefxX0123456789">
<!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
<!ENTITY ALLMODS "MODULE[(@INSTANCE)]">
<!ENTITY BUSMODS "MODULE[(@MODCLASS ='BUS')]">
<!ENTITY CPUMODS "MODULE[(@MODCLASS ='PROCESSOR')]">
<!ENTITY MODIOFS "MODULE/IOINTERFACES/IOINTERFACE">
<!ENTITY ALLIOFS "&MODIOFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<!ENTITY MODBIFS "MODULE/BUSINTERFACES/BUSINTERFACE">
<!ENTITY ALLBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<!ENTITY MSTBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'MASTER')]">
<!ENTITY SLVBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'SLAVE')]">
<!ENTITY MOSBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'MASTER') or (@TYPE = 'SLAVE'))]">
<!ENTITY P2PBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR'))]">
<!ENTITY MODPORTS "MODULE/PORTS/PORT">
<!ENTITY ALLPORTS "&MODPORTS;[ (not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<!ENTITY NDFPORTS "&MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (not(@BUS) and not(@IOS)))]">
<!ENTITY DEFPORTS "&MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@BUS) or (@IOS)))]">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xmlns:dyn="http://exslt.org/dynamic"
xmlns:math="http://exslt.org/math"
xmlns:xlink="http://www.w3.org/1999/xlink"
extension-element-prefixes="math dyn exsl xlink">
<xsl:variable name="G_ROOT" select="/"/>
<!--
======================================================
EDK SYSTEM (EDWARD) Globals.
======================================================
-->
<xsl:variable name="G_SYS_EVAL">
<xsl:choose>
<xsl:when test="not($P_SYSTEM_XML = '__UNDEF__')"><xsl:text>document($P_SYSTEM_XML)</xsl:text></xsl:when>
<xsl:otherwise><xsl:text>/</xsl:text></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="G_SYS_DOC" select="dyn:evaluate($G_SYS_EVAL)"/>
<xsl:variable name="G_SYS" select="$G_SYS_DOC/EDKSYSTEM"/>
<xsl:variable name="G_SYS_TIMESTAMP" select="$G_SYS/@TIMESTAMP"/>
<xsl:variable name="G_SYS_EDKVERSION" select="$G_SYS/@EDKVERSION"/>
<xsl:variable name="G_SYS_INFO" select="$G_SYS/SYSTEMINFO"/>
<xsl:variable name="G_SYS_INFO_PKG" select="$G_SYS_INFO/@PACKAGE"/>
<xsl:variable name="G_SYS_INFO_DEV" select="$G_SYS_INFO/@DEVICE"/>
<xsl:variable name="G_SYS_INFO_ARCH" select="$G_SYS_INFO/@ARCH"/>
<xsl:variable name="G_SYS_INFO_SPEED" select="$G_SYS_INFO/@SPEEDGRADE"/>
<xsl:variable name="G_SYS_MODS" select="$G_SYS/MODULES"/>
<xsl:variable name="G_SYS_EXPS" select="$G_SYS/EXTERNALPORTS"/>
<xsl:variable name="COL_FOCUSED_MASTER" select="'AAAAFF'"/>
<xsl:variable name="COL_BG_OUTOF_FOCUS_CONNECTIONS" select="'AA7711'"/>
<!-- INDEX KEYS FOR FAST ACCESS -->
<xsl:key name="G_MAP_MODULES" match="&ALLMODS;" use="@INSTANCE"/>
<xsl:key name="G_MAP_PROCESSORS" match="&CPUMODS;" use="@INSTANCE"/>
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@INSTANCE"/>
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@BUSSTD"/>
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@BUSSTD_PSF"/>
<xsl:key name="G_MAP_ALL_IOFS" match="&ALLIOFS;" use="../../@INSTANCE"/>
<xsl:key name="G_MAP_ALL_BIFS" match="&ALLBIFS;" use="../../@INSTANCE"/>
<xsl:key name="G_MAP_ALL_BIFS_BY_BUS" match="&ALLBIFS;" use="@BUSNAME"/>
<!--
-->
<xsl:key name="G_MAP_MST_BIFS" match="&MSTBIFS;" use="@BUSNAME"/>
<xsl:key name="G_MAP_SLV_BIFS" match="&SLVBIFS;" use="@BUSNAME"/>
<xsl:key name="G_MAP_MOS_BIFS" match="&MOSBIFS;" use="@BUSNAME"/>
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSNAME"/>
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSSTD"/>
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSSTD_PSF"/>
<xsl:key name="G_MAP_ALL_PORTS" match="&ALLPORTS;" use="../../@INSTANCE"/>
<xsl:key name="G_MAP_DEF_PORTS" match="&DEFPORTS;" use="../../@INSTANCE"/> <!-- Default ports -->
<xsl:key name="G_MAP_NDF_PORTS" match="&NDFPORTS;" use="../../@INSTANCE"/> <!-- Non Default ports -->
<!--
<xsl:key name="G_MAP_MASTER_BIFS" match="&MSTBIFS;" use="@BUSNAME"/>
<xsl:key name="G_MAP_MASTER_BIFS" match="MODULE[not(@MODCLASS ='BUS')]/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'MASTER')]" use="../../@INSTANCE.@NAME"/>
<xsl:key name="G_MAP_BUSSES_BY_INSTANCE" match="MODULE[(@MODCLASS ='BUS')]" use="@INSTANCE"/>
<xsl:key name="G_MAP_XB_BUSSES" match="MODULE[(@MODCASS ='BUS')and (@IS_CROSSBAR)]" use="@INSTANCE"/>
-->
<!--
======================================================
Groups.xml (BLOCKS) Globals
======================================================
-->
<xsl:variable name="G_GRP_EVAL">
<xsl:choose>
<xsl:when test="not($P_GROUPS_XML = '__UNDEF__')"><xsl:text>document($P_GROUPS_XML)</xsl:text></xsl:when>
<xsl:otherwise><xsl:text>/</xsl:text></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="G_GRPS_DOC" select="dyn:evaluate($G_GRP_EVAL)"/>
<xsl:variable name="G_GROUPS" select="$G_GRPS_DOC/BLOCKS"/>
<xsl:variable name="G_NUM_OF_PROCS" select="count($G_SYS/MODULES/MODULE[(@MODCLASS = 'PROCESSOR')])"/>
<xsl:variable name="G_NUM_OF_PROCS_W_ADDRS" select="count($G_SYS/MODULES/MODULE[(@MODCLASS = 'PROCESSOR') and MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ACCESSROUTE) ]])"/>
<xsl:variable name="G_FOCUSED_SCOPE">
<xsl:choose>
<!-- FOCUSING ON SPECIFIC SELECTIONS-->
<xsl:when test="$G_ROOT/SAV/SELECTION">
</xsl:when>
<!-- FOCUSING ON PROCESSOR -->
<xsl:when test="$G_ROOT/SAV/MASTER">
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>FOCUSED MASTERS SPECIFIED</xsl:message></xsl:if>
<xsl:for-each select="$G_ROOT/SAV/MASTER">
<xsl:variable name="m_inst_" select="@INSTANCE"/>
<xsl:variable name="m_mod_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $m_inst_)]"/>
<xsl:for-each select="$m_mod_/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and not(@BUSNAME = '__NOC__') and ((@TYPE = 'MASTER') or (@TYPE = 'SLAVE') or (@TYPE = 'INITIATOR') or (@TYPE = 'TARGET'))]">
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED MASTER BIF <xsl:value-of select="$m_inst_"/>.<xsl:value-of select="@NAME"/> = <xsl:value-of select="@BUSNAME"/></xsl:message></xsl:if>
<xsl:variable name="b_bus_" select="@BUSNAME"/>
<BUS NAME="{@BUSNAME}" BUSSTD="{@BUSSTD}"/>
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@INSTANCE = $m_inst_) and (@MODCLASS = 'BUS_BRIDGE'))]/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'SLAVE') and (@BUSNAME = $b_bus_)]">
<xsl:variable name="b_inst_" select="../../@INSTANCE"/>
<xsl:choose>
<xsl:when test="MASTERS/MASTER">
<xsl:for-each select="MASTERS/MASTER">
<xsl:variable name="sm_inst_" select="@INSTANCE"/>
<xsl:if test="count($G_ROOT/SAV/MASTER[(@INSTANCE = $sm_inst_)]) &gt; 0">
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL BRIDGE <xsl:value-of select="$b_inst_"/></xsl:message></xsl:if>
<PERIPHERAL NAME="{$b_inst_}"/>
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL BRIDGE <xsl:value-of select="$b_inst_"/></xsl:message></xsl:if>
<PERIPHERAL NAME="{$b_inst_}"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>
<xsl:for-each select="$m_mod_/PERIPHERALS/PERIPHERAL">
<xsl:variable name="p_id_" select="@INSTANCE"/>
<xsl:variable name="p_mod_" select="$G_SYS_MODS/MODULE[@INSTANCE = $p_id_]"/>
<PERIPHERAL NAME="{@INSTANCE}"/>
<xsl:variable name="p_mr_cnt_" select="count($m_mod_/MEMORYMAP/MEMRANGE[(@INSTANCE = $p_id_)])"/>
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL <xsl:value-of select="$p_id_"/> has <xsl:value-of select="$p_mr_cnt_"/> memory ranges</xsl:message></xsl:if>
<xsl:for-each select="$m_mod_/MEMORYMAP/MEMRANGE[(@INSTANCE = $p_id_)]/ACCESSROUTE/ROUTEPNT">
<xsl:variable name="b_id_" select="@INSTANCE"/>
<xsl:for-each select="$G_SYS_MODS/MODULE[((@INSTANCE = $b_id_) and (@MODCLASS = 'BUS'))]">
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL BUS <xsl:value-of select="@INSTANCE"/></xsl:message></xsl:if>
<BUS NAME="{@INSTANCE}" BUSSTD="{@BUSSTD}"/>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<!-- FOCUSING ON BUS -->
<xsl:when test="$G_ROOT/SAV/BUS">
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>FOCUSED BUSSES SPECIFIED</xsl:message></xsl:if>
<xsl:for-each select="$G_ROOT/SAV/BUS">
<xsl:variable name="m_inst_" select="@INSTANCE"/>
<xsl:variable name="m_mod_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $m_inst_)]"/>
<xsl:variable name="m_bstd_" select="$m_mod_/@BUSSTD"/>
<BUS NAME="{$m_inst_}" BUSSTD="{$m_bstd_}"/>
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED BUS <xsl:value-of select="$m_inst_"/> <xsl:value-of select="$m_bstd_"/></xsl:message></xsl:if>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="G_HAVE_XB_BUSSES">
<xsl:choose>
<xsl:when test="(count($G_SYS_MODS/MODULE[((@MODCLASS = 'BUS') and (@IS_CROSSBAR = 'TRUE'))]) &gt; 0)">TRUE</xsl:when>
<xsl:otherwise>FALSE</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:template name="F_ModClass_To_IpClassification">
<xsl:param name="iModClass" select="'NONE'"/>
<xsl:param name="iBusStd" select="'NONE'"/>
<xsl:choose>
<xsl:when test="$iModClass = 'BUS'"><xsl:value-of select="$iBusStd"/> Bus</xsl:when>
<xsl:when test="$iModClass = 'DEBUG'">Debug</xsl:when>
<xsl:when test="$iModClass = 'MEMORY'">Memory</xsl:when>
<xsl:when test="$iModClass = 'MEMORY_CNTLR'">Memory Controller</xsl:when>
<xsl:when test="$iModClass = 'INTERRUPT_CNTLR'">Interrupt Controller</xsl:when>
<xsl:when test="$iModClass = 'PERIPHERAL'">Peripheral</xsl:when>
<xsl:when test="$iModClass = 'PROCESSOR'">Processor</xsl:when>
<xsl:when test="$iModClass = 'BUS_BRIDGE'">Bus Bridge</xsl:when>
<xsl:otherwise><xsl:value-of select="$iModClass"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="F_Connection_To_AXI_SLAVE">
<xsl:param name="iNameParam" select="''"/>
<xsl:param name="iModuleRefParam" select="''"/>
<xsl:variable name="FilName" select="$iModuleRefParam/PARAMETERS/PARAMETER[@NAME=concat('C_', $iNameParam, '_MASTERS')]/@VALUE"/>
<!-- <xsl:message>FIL NAME WAS <xsl:value-of select="$FilName"/></xsl:message> -->
<xsl:value-of select="$FilName"/>
</xsl:template>
<xsl:template name="F_IS_Interface_External">
<xsl:param name="iInstRef"/> <!-- Instance reference -->
<xsl:param name="iIntfRef"/> <!-- Interface reference -->
<xsl:variable name="intfName_" select="$iIntfRef/@NAME"/>
<xsl:variable name="instName_" select="$iInstRef/@INSTANCE"/>
<!-- <xsl:message>NAME 1 <xsl:value-of select="$expName1_"/></xsl:message>-->
<!-- <xsl:message>NAME 2 <xsl:value-of select="$expName2_"/></xsl:message>-->
<!--
<xsl:variable name="expName1_" select="concat($instName_,'_',$intfName_,'_',@PHYSICAL,'_pin')"/>
<xsl:variable name="expName2_" select="concat($instName_,'_',@PHYSICAL,'_pin')"/>
-->
<!-- Store the number of physical ports connected externals in a variable -->
<xsl:variable name="connected_externals_">
<xsl:for-each select="$iIntfRef/PORTMAPS/PORTMAP">
<xsl:variable name="portName_" select="@PHYSICAL"/>
<xsl:if test="$iInstRef/PORTS/PORT[(@NAME = $portName_)]">
<xsl:variable name="portNet_" select="$iInstRef/PORTS/PORT[(@NAME = $portName_)]/@SIGNAME"/>
<xsl:if test="$G_SYS_EXPS/PORT[(@SIGNAME = $portNet_)]">
<EXTP NAME="{@PHYSICAL}"/>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<!--
<xsl:message><xsl:value-of select="$instName_"/>.<xsl:value-of select="$intfName_"/> has <xsl:value-of select="count(exsl:node-set($connected_externals_)/EXTP)"/> connected externals.</xsl:message>
-->
<xsl:choose>
<xsl:when test="(count(exsl:node-set($connected_externals_)/EXTP) &gt; 0)">TRUE</xsl:when>
<xsl:otherwise>FALSE</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE stylesheet [
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
<!ENTITY HEXUPPER "ABCDEFxX0123456789">
<!ENTITY HEXLOWER "abcdefxX0123456789">
<!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xmlns:dyn="http://exslt.org/dynamic"
xmlns:math="http://exslt.org/math"
xmlns:xlink="http://www.w3.org/1999/xlink"
extension-element-prefixes="math exsl dyn xlink">
<xsl:include href="edw2xtl_sav_globals.xsl"/>
<xsl:include href="edw2xtl_sav_view_addr.xsl"/>
<xsl:include href="edw2xtl_sav_view_busif.xsl"/>
<xsl:include href="edw2xtl_sav_view_port.xsl"/>
<xsl:include href="edw2xtl_sav_view_groups.xsl"/>
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:param name="P_SYSTEM_XML" select= "'__UNDEF__'"/>
<xsl:param name="P_GROUPS_XML" select= "'__UNDEF__'"/>
<xsl:param name="G_DEBUG" select="'FALSE'"/>
<xsl:param name="G_ADD_CHOICES" select="'TRUE'"/>
<!--
<xsl:param name="P_VIEW" select="'__UNDEF__'"/>
<xsl:param name="P_MODE" select="'__UNDEF__'"/>
<xsl:param name="P_SCOPE" select="'__UNDEF__'"/>
-->
<!-- MAIN TEMPLATE -->
<xsl:template match="SAV[@VIEW]">
<xsl:if test="$G_DEBUG='TRUE'">
<xsl:message>SAV VIEW <xsl:value-of select="@VIEW"/></xsl:message>
<xsl:message>SAV MODE <xsl:value-of select="@MODE"/></xsl:message>
<xsl:message>SAV SCOPE <xsl:value-of select="@SCOPE"/></xsl:message>
</xsl:if>
<xsl:choose>
<xsl:when test="not(@VIEW = 'PORT') and not(@VIEW = 'BUSINTERFACE') and not(@VIEW = 'ADDRESS')">
<xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED VIEW <xsl:value-of select="@VIEW"/></xsl:message>
</xsl:when>
<xsl:when test="(@MODE and not(@MODE = 'FLAT') and not(@MODE = 'TREE') and not(@MODE = 'GROUPS'))">
<xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED MODE <xsl:value-of select="@MODE"/></xsl:message>
</xsl:when>
<xsl:when test="(@SCOPE and not(@SCOPE = 'FULL') and not(@SCOPE= 'FOCUS'))">
<xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED SCOPE <xsl:value-of select="@SCOPE"/></xsl:message>
</xsl:when>
<xsl:when test="$P_SYSTEM_XML ='__UNDEF__'">
<xsl:message>EDW2SAV XTELLER ERROR: SYSTEM XML UNDEFINED</xsl:message>
</xsl:when>
<xsl:when test="not($G_SYS)" >
<xsl:message>EDW2SAV XTELLER ERROR: EDKSYSTEM MISSING in SYSTEM XML <xsl:value-of select="$P_SYSTEM_XML"/></xsl:message>
</xsl:when>
<xsl:when test="($P_GROUPS_XML ='__UNDEF__') and (@MODE = 'GROUPS')" >
<xsl:message>EDW2SAV XTELLER ERROR: GROUP XML UNDEFINED for FOCUS</xsl:message>
</xsl:when>
<xsl:when test="($P_GROUPS_XML ='__UNDEF__') and (@SCOPE = 'FOCUS') and (@VIEW = 'BUSINTERFACE')" >
<xsl:message>EDW2SAV XTELLER ERROR: GROUP XML UNDEFINED for SCOPE</xsl:message>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$G_DEBUG='TRUE'">
<xsl:message>SYSTEM XML <xsl:value-of select="$P_SYSTEM_XML"/></xsl:message>
<xsl:message>GROUPS XML <xsl:value-of select="$P_GROUPS_XML"/></xsl:message>
</xsl:if>
<xsl:variable name="use_mode_">
<xsl:choose>
<xsl:when test="@MODE = 'GROUPS'">TREE</xsl:when>
<xsl:otherwise><xsl:value-of select="@MODE"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="num_procs_focused_on_" select="count(MASTER)"/>
<xsl:variable name="num_buses_focused_on_" select="count(BUS)"/>
<xsl:element name="SET">
<xsl:attribute name="CLASS">PROJECT</xsl:attribute>
<xsl:attribute name="VIEW_ID"><xsl:value-of select="@VIEW"/></xsl:attribute>
<xsl:attribute name="DISPLAYMODE"><xsl:value-of select="$use_mode_"/></xsl:attribute>
<xsl:choose>
<!-- ADDRESS TAB VIEW -->
<xsl:when test="(@VIEW = 'ADDRESS')">
<xsl:call-template name="WRITE_VIEW_ADDRESS"/>
</xsl:when>
<!-- BIF TAB VIEWS -->
<xsl:when test="((@VIEW ='BUSINTERFACE') and (@SCOPE = 'FOCUS') and ($num_procs_focused_on_ &gt; 0))">
<xsl:call-template name="WRITE_VIEW_BIF_FOCUS_ON_PROCS"/>
</xsl:when>
<!-- BIF TAB VIEWS -->
<xsl:when test="((@VIEW ='BUSINTERFACE') and (@SCOPE = 'FOCUS') and ($num_buses_focused_on_ &gt; 0))">
<xsl:call-template name="WRITE_VIEW_BIF_FOCUS_ON_BUSES"/>
</xsl:when>
<xsl:when test="((@VIEW ='BUSINTERFACE') and (@MODE = 'TREE') and not(@SCOPE))">
<xsl:call-template name="WRITE_VIEW_BIF_TREE"/>
</xsl:when>
<xsl:when test="((@VIEW = 'BUSINTERFACE') and (@MODE = 'FLAT') and not(@SCOPE))">
<xsl:call-template name="WRITE_VIEW_BIF_FLAT"/>
</xsl:when>
<xsl:when test="((@VIEW = 'BUSINTERFACE') and (@MODE = 'GROUPS'))">
<xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
<xsl:with-param name="iModules" select="$G_BLOCKS"/>
</xsl:call-template>
</xsl:when>
<!-- PORT TAB VIEWS -->
<xsl:when test="((@VIEW ='PORT') and (@SCOPE = 'FOCUS'))">
<xsl:call-template name="WRITE_VIEW_PORT_FOCUSED"/>
</xsl:when>
<!-- Generate XTeller panel data for Ports using hierarchy -->
<xsl:when test="((@VIEW = 'PORT') and (@MODE = 'TREE'))">
<xsl:call-template name="WRITE_VIEW_PORT_TREE"/>
</xsl:when>
<!-- Generate XTeller panel data for Ports without hierarchy, (flat view) -->
<xsl:when test="((@VIEW='PORT') and (@MODE = 'FLAT'))">
<xsl:call-template name="WRITE_VIEW_PORT_FLAT"/>
</xsl:when>
<xsl:otherwise>
<xsl:message>ERROR during SAV XTeller generation with panel <xsl:value-of select="@VIEW"/> and display mode <xsl:value-of select="@MODE"/></xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="EDKSYSTEM">
<!--
<xsl:message>EDW VERSION <xsl:value-of select="$G_EDWVER"/></xsl:message>
<xsl:message>VIEW <xsl:value-of select="$VIEW"/></xsl:message>
<xsl:message>MODE <xsl:value-of select="$MODE"/></xsl:message>
-->
<xsl:variable name="by_interface_">
<xsl:choose>
<!--
Show interfaces or not
-->
<xsl:when test="(($SHOW_BUSIF ='TRUE') or ($SHOW_IOIF ='TRUE'))">TRUE</xsl:when>
<xsl:otherwise>FALSE</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!--
<xsl:message>VIEW <xsl:value-of select="$VIEW"/></xsl:message>
<xsl:message>MODE <xsl:value-of select="$MODE"/></xsl:message>
<xsl:message>BY INTERFACE <xsl:value-of select="$by_interface_"/></xsl:message>
-->
<xsl:variable name="displayMode_">
<xsl:choose>
<!--
Hard code view to view for address panel,
always show view in what was formerly
multiprocessor view. See below.
<xsl:when test="(($G_NUM_OF_PROCS &gt; 1) and ($VIEW='ADDRESS'))">TREE</xsl:when>
<xsl:when test="(($G_NUM_OF_PROCS &lt;= 1) and ($VIEW='ADDRESS'))">FLAT</xsl:when>
-->
<xsl:when test="($VIEW='ADDRESS')">TREE</xsl:when>
<xsl:otherwise><xsl:value-of select="$MODE"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<SET CLASS="PROJECT" VIEW= "{$VIEW}" MODE="{$displayMode_}">
<xsl:choose>
<!-- Generate XTeller panel data for Bus Interfaces using hierarchy -->
<xsl:when test="(($VIEW='BUSINTERFACE') and (not($MODE) or ($MODE = 'TREE')))">
<xsl:call-template name="WRITE_VIEW_BIF_TREE"/>
</xsl:when>
<!-- Generate XTeller panel data for Bus Interfaces without hierarchy, (flat view) -->
<xsl:when test="(($VIEW='BUSINTERFACE') and ($MODE = 'FLAT'))">
<xsl:call-template name="WRITE_VIEW_BIF_FLAT"/>
</xsl:when>
<!-- Generate XTeller panel data for Ports using hierarchy -->
<xsl:when test="(($VIEW='PORT') and (not($MODE) or ($MODE = 'TREE')))">
<xsl:call-template name="WRITE_VIEW_PORT_TREE"/>
</xsl:when>
<!-- Generate XTeller panel data for Ports without hierarchy, (flat view) -->
<xsl:when test="(($VIEW='PORT') and ($MODE = 'FLAT'))">
<xsl:call-template name="WRITE_VIEW_PORT_FLAT"/>
</xsl:when>
<!--
Hard code display of the address panel to always the the same.
No more tree or flat mode, always show address panel
in what was formerly the multiprocessor view.
-->
<xsl:when test="($VIEW='ADDRESS')">
<xsl:call-template name="WRITE_VIEW_ADDRESS"/>
</xsl:when>
<xsl:otherwise>
<xsl:message>ERROR during SAV XTeller generation with panel <xsl:value-of select="$VIEW"/> and display mode <xsl:value-of select="$MODE"/></xsl:message>
</xsl:otherwise>
</xsl:choose>
</SET>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE stylesheet [
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
<!ENTITY HEXUPPER "ABCDEFxX0123456789">
<!ENTITY HEXLOWER "abcdefxX0123456789">
<!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xmlns:dyn="http://exslt.org/dynamic"
xmlns:math="http://exslt.org/math"
xmlns:xlink="http://www.w3.org/1999/xlink"
extension-element-prefixes="exsl dyn math xlink">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<!--
================================================================================
Generate XTeller for ADDRESSES
================================================================================
-->
<xsl:template name="WRITE_VIEW_ADDRESS">
<xsl:for-each select="$G_SYS_MODS/MODULE[((@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@IS_CONSTANT = 'TRUE')))]))]">
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
<xsl:variable name="procInst_" select="@INSTANCE"/>
<xsl:variable name="procMod_" select="self::node()"/>
<xsl:variable name="procModType" select="@MODTYPE"/>
<xsl:variable name="procModClass_" select="@MODCLASS"/>
<xsl:variable name="procInstHdrVal_"><xsl:value-of select="$procInst_"/>'s Address Map</xsl:variable>
<xsl:variable name="procInstRowIdx_" select="position() - 1"/>
<!-- <SET ID="{$procInst_}" CLASS="MODULE" ROW_INDEX="{$procInstRowIdx_}"> -->
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="$procInst_"/></xsl:attribute>
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
<xsl:attribute name="ROW_INDEX"><xsl:value-of select="$procInstRowIdx_"/></xsl:attribute>
<!-- <VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$procInstHdrVal_}"/> -->
<xsl:element name="VARIABLE">
<xsl:attribute name="NAME">INSTANCE</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$procInstHdrVal_"/></xsl:attribute>
<xsl:attribute name="VIEWDISP">Instance</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
</xsl:element>
<xsl:for-each select="$procMod_/MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@MEMTYPE = 'BRIDGE') or (@IS_CONSTANT = 'TRUE')))]">
<xsl:sort data-type="number" select="@BASEDECIMAL" order="ascending"/>
<xsl:variable name="addr_id_"><xsl:value-of select="@BASENAME"/>:<xsl:value-of select="@HIGHNAME"/></xsl:variable>
<xsl:variable name="baseName_" select="@BASENAME"/>
<xsl:variable name="highName_" select="@HIGHNAME"/>
<!--
<xsl:if test="$G_DEBUG='TRUE'">
<xsl:message>ADDRESS ID <xsl:value-of select="$addr_id_"/></xsl:message>
</xsl:if>
-->
<xsl:variable name="set_id_">
<xsl:if test="(@INSTANCE)">
<xsl:value-of select="$procInst_"/>.<xsl:value-of select="@INSTANCE"/>:<xsl:value-of select="$addr_id_"/>
</xsl:if>
<xsl:if test="not(@INSTANCE)">
<xsl:value-of select="$procInst_"/>:<xsl:value-of select="$addr_id_"/>
</xsl:if>
</xsl:variable>
<xsl:variable name="procAddrRowIdx_" select="position() - 1"/>
<SET ID="{$set_id_}" CLASS="ADDRESS" ROW_INDEX="{$procAddrRowIdx_}">
<xsl:if test="(@INSTANCE)">
<xsl:variable name="periInst_" select="@INSTANCE"/>
<xsl:variable name="periMod_" select="key('G_MAP_MODULES', $periInst_)"/>
<!--
<xsl:variable name="subInstance_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $instance_)]"/>
<xsl:message>Count memrange slaves <xsl:value-of select="count($modMemMapSlvs_)"/> </xsl:message>
<xsl:message>Count mod valid bifs <xsl:value-of select="count($modValidBifs_)"/> </xsl:message>
-->
<xsl:variable name="periModType_" select="$periMod_/@MODTYPE"/>
<xsl:variable name="periViewIcon_" select="$periMod_/LICENSEINFO/@ICON_NAME"/>
<xsl:variable name="periHwVersion_" select="$periMod_/@HWVERSION"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$periInst_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$periModType_}" VIEWICON="{$periViewIcon_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$periHwVersion_}"/>
</xsl:if>
<xsl:if test="not(@INSTANCE)">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$procInst_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$procModType}" VIEWICON="{$procMod_/LICENSEINFO/@ICON_NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$procHwVersion_}"/>
</xsl:if>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
<xsl:variable name="instName_">
<xsl:choose>
<xsl:when test="@INSTANCE"><xsl:value-of select="@INSTANCE"/></xsl:when>
<xsl:otherwise>Connected<xsl:value-of select="$procInst_"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!--
<xsl:message>INST : <xsl:value-of select="$set_id_"/></xsl:message>
-->
<xsl:variable name="is_locked_">
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
</xsl:variable>
<xsl:variable name="is_constant_">
<xsl:if test="@IS_CONSTANT = 'TRUE'">TRUE</xsl:if>
<xsl:if test="not(@IS_CONSTANT) or not(@IS_CONSTANT = 'TRUE')">FALSE</xsl:if>
</xsl:variable>
<xsl:variable name="baseAddrViewType_">
<xsl:choose>
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
<xsl:otherwise>TEXTBOX</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
</xsl:if>
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
</xsl:if>
</xsl:if>
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
</xsl:if>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
<xsl:variable name="sizeViewType_">
<xsl:choose>
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
<xsl:otherwise>DROPDOWN</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
<xsl:variable name="periInst_" select="@INSTANCE"/>
<xsl:variable name="periMod_" select="key('G_MAP_MODULES', $periInst_)"/>
<xsl:variable name="periModClass_" select="$periMod_/@MODCLASS"/>
<xsl:variable name="periValidBifs_" select="key('G_MAP_ALL_BIFS', $periInst_)[not(@BUSNAME = '__NOC__')]"/>
<xsl:variable name="periMemMapSlvs_" select="$periMod_/MEMORYMAP/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE"/>
<xsl:variable name="periMemMapBifs_">
<xsl:for-each select="$periMemMapSlvs_">
<xsl:variable name="periSlvBifName_" select="@BUSINTERFACE"/>
<xsl:if test="$periValidBifs_[(@NAME = $periSlvBifName_)]">
<xsl:variable name="periBif_" select="$periValidBifs_[(@NAME = $periSlvBifName_)]"/>
<xsl:variable name="periBifName_" select="$periBif_/@NAME"/>
<xsl:variable name="periBifBus_" select="$periBif_/@BUSNAME"/>
<!--
<xsl:message> Slv Bif <xsl:value-of select="$periBifName_"/> = <xsl:value-of select="$periBifBus_"/></xsl:message>
-->
<MMBIF NAME="{$periBifName_}" BUS="{$periBifBus_}"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="num_of_periMemMapBifs_" select="count(exsl:node-set($periMemMapBifs_)/MMBIF)"/>
<!--
<xsl:message> Total num of slv bifs <xsl:value-of select="$num_of_periMemMapBifs_"/> </xsl:message>
<xsl:message> </xsl:message>
-->
<xsl:variable name="valid_bifNames_">
<xsl:for-each select="exsl:node-set($periMemMapBifs_)/MMBIF">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:if test="position() &gt; 1">:</xsl:if><xsl:value-of select="$bifName_"/>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="valid_busNames_">
<xsl:for-each select="exsl:node-set($periMemMapBifs_)/MMBIF">
<xsl:variable name="busName_" select="@BUS"/>
<xsl:if test="position() &gt; 1">:</xsl:if><xsl:value-of select="$busName_"/>
</xsl:for-each>
</xsl:variable>
<!--
<xsl:message> Mod Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
<xsl:message> Mod Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
<xsl:message>Slv Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
<xsl:variable name="modBifs_" select="$modInst_/BUSINTERFACES"/>
<xsl:if test="$periValidBifs_[(@NAME = $bifName_)]">
<xsl:variable name="busName_" select="$periValidBifs_[(@NAME = $bifName_)]/@BUSNAME"/>
<xsl:message>Mod Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
<xsl:if test="position() &gt; 1">:</xsl:if><xsl:value-of select="$bifName_"/>
</xsl:if>
-->
<!--
<xsl:message>Module Instances <xsl:value-of select="$instName_"/> </xsl:message>
<xsl:message>Base Name <xsl:value-of select="$baseName_"/> </xsl:message>
<xsl:message>High Name <xsl:value-of select="$highName_"/> </xsl:message>
<xsl:message>Valid bif names <xsl:value-of select="$valid_bifNames_"/> </xsl:message>
<xsl:message>Valid bif names <xsl:value-of select="$valid_bifNames_"/> </xsl:message>
<xsl:message>Valid bus names <xsl:value-of select="$valid_busNames_"/> </xsl:message>
-->
<xsl:variable name="var_bifNames_">
<xsl:choose>
<xsl:when test="string-length($valid_bifNames_) &lt; 1">
<xsl:choose>
<xsl:when test="$periModClass_ = 'BUS'">Not Applicable</xsl:when>
<xsl:when test="$is_constant_ = 'TRUE'"></xsl:when>
<xsl:otherwise>Not Connected</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$var_bifNames_}"/>
<xsl:if test="(($num_of_periMemMapBifs_ &gt; 0) and (string-length($valid_busNames_) &gt; 0))">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$valid_busNames_}"/>
</xsl:if>
</SET> <!-- End of one processor memory range row -->
</xsl:for-each> <!-- end of processor memory ranges loop -->
</xsl:element><!-- End of Processor memory map set -->
</xsl:for-each> <!-- end of processor module address space loop -->
<!--
Add branch for valid address that are not part of a processor's
memory map. Usually modules that have just been added, but have
not been connected to a bus yet.
-->
<xsl:variable name="nonProcAddresses_">
<!-- Add a dummy non proc as a place holder. Otherwise the exsl:node-set test
Below complains if the variable is completely empty
-->
<NONPROCADDRESS INSTANCE="__DUMMY__" BASENAME="__DUMMY__" HIGHNAME="__DUMMY__" BASEDECIMAL="__DUMMY__"/>
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@IS_CONSTANT = 'TRUE')))]))]">
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="highName_" select="@HIGHNAME"/>
<xsl:variable name="baseName_" select="@BASENAME"/>
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
<NONPROCADDRESS INSTANCE="{$nonProcInst_}" BASENAME="{$baseName_}" HIGHNAME="{$highName_}" BASEDECIMAL="{$baseDecimal_}"/>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:variable>
<!-- Add unmapped addresses -->
<xsl:variable name="hasUnMappedAddress">
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]">
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="highName_" select="@HIGHNAME"/>
<xsl:variable name="baseName_" select="@BASENAME"/>
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])"><xsl:value-of select="$nonProcInst_"/></xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:variable>
<xsl:if test="string-length($hasUnMappedAddress) &gt; 1">
<SET ID="Unmapped Addresses" CLASS="MODULE" ROW_INDEX="{$G_NUM_OF_PROCS_W_ADDRS}">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="Unmapped Addresses"/>
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]/MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="nonProcMod_" select="../.."/>
<xsl:variable name="nonProcMMap_" select="$nonProcMod_/MEMORYMAP"/>
<xsl:variable name="instance_" select="$nonProcMod_/@INSTANCE"/>
<xsl:variable name="row_index_" select="position()"/>
<xsl:variable name="instName_" select="$nonProcMod_/@INSTANCE"/>
<xsl:variable name="highName_" select="@HIGHNAME"/>
<xsl:variable name="baseName_" select="@BASENAME"/>
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
<xsl:for-each select="$nonProcMMap_/MEMRANGE[((@BASENAME = $baseName_) and (@HIGHNAME = $highName_))]">
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $instName_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
<xsl:variable name="addr_id_"><xsl:value-of select="$baseName_"/>:<xsl:value-of select="$highName_"/></xsl:variable>
<xsl:variable name="set_id_"><xsl:value-of select="$instName_"/>:<xsl:value-of select="$addr_id_"/></xsl:variable>
<xsl:variable name="inst_modtype_" select="$nonProcMod_/@MODTYPE"/>
<xsl:variable name="inst_viewicon_" select="$nonProcMod_/LICENSEINFO/@ICON_NAME"/>
<xsl:variable name="inst_modclass_" select="$nonProcMod_/@MODCLASS"/>
<xsl:variable name="inst_hwversion_" select="$nonProcMod_/@HWVERSION"/>
<SET ID="{$set_id_}" CLASS="ADDRESS">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$instance_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$inst_modtype_}" VIEWICON="{$inst_viewicon_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$inst_hwversion_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
<xsl:variable name="is_locked_">
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
</xsl:variable>
<xsl:variable name="baseAddrViewType_">
<xsl:choose>
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
<xsl:otherwise>TEXTBOX</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
</xsl:if>
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
</xsl:if>
</xsl:if>
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
</xsl:if>
<!--
Lock, DCache and ICache removed in 11.1
<xsl:if test="(@IS_CACHEABLE = 'TRUE')">
<xsl:variable name="is_dcached_">
<xsl:if test="(@IS_DCACHED = 'TRUE')">TRUE</xsl:if>
<xsl:if test="(not(@IS_DCACHED) or not(@IS_DCACHED = 'TRUE'))">FALSE</xsl:if>
</xsl:variable>
<xsl:variable name="is_icached_">
<xsl:if test="(@IS_ICACHED = 'TRUE')">TRUE</xsl:if>
<xsl:if test="(not(@IS_ICACHED) or not(@IS_ICACHED = 'TRUE'))">FALSE</xsl:if>
</xsl:variable>
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="DCache" NAME="IS_DCACHED" VALUE="{$is_dcached_}"/>
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="ICache" NAME="IS_ICACHED" VALUE="{$is_icached_}"/>
</xsl:if>
-->
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
<xsl:variable name="sizeViewType_">
<xsl:choose>
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
<xsl:otherwise>DROPDOWN</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
<xsl:variable name="valid_bifNames_">
<xsl:choose>
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
<!-- <xsl:message>Bif Name <xsl:value-of select="$bifName_"/> </xsl:message> -->
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<xsl:if test="position() &gt; 1">:</xsl:if><xsl:value-of select="@BUSINTERFACE"/>
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<xsl:if test="position() &gt; 1">:</xsl:if><xsl:value-of select="@NAME"/>
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="def_bifNames_">
<xsl:choose>
<xsl:when test="(string-length($valid_bifNames_) &lt; 1) or ((string-length($valid_bifNames_) = 1) and ($valid_bifNames_ = ':'))">Not Connected</xsl:when>
<xsl:when test="starts-with($valid_bifNames_,':')"><xsl:value-of select="substring-after($valid_bifNames_,':')"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$def_bifNames_}"/>
<xsl:choose>
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
<xsl:variable name="slvBifName_" select="@BUSINTERFACE"/>
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
<xsl:variable name="slvBifName_" select="@NAME"/>
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</SET> <!-- End of one non processor memory range row -->
</xsl:if>
</xsl:for-each> <!-- end of non processor memory ranges loop -->
</xsl:for-each> <!-- end of NONPROCADDRESS loop -->
</SET> <!-- End of non processor tree branch -->
</xsl:if> <!-- End of test to see if we have and non processor mapped address -->
</xsl:template>
<xsl:template name="__WRITE_VIEW_ADDRESS__">
<!--
-->
<xsl:for-each select="$G_SYS_MODS/MODULE[((@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@IS_CONSTANT = 'TRUE')))]))]">
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
<xsl:variable name="procInst_" select="@INSTANCE"/>
<xsl:variable name="modClass_" select="@MODCLASS"/>
<xsl:variable name="procInstHdrVal_"><xsl:value-of select="$procInst_"/>'s Address Map</xsl:variable>
<xsl:variable name="procInstRowIdx_" select="position() - 1"/>
<xsl:variable name="modInstance_" select="self::node()"/>
<SET ID="{$procInst_}" CLASS="MODULE" ROW_INDEX="{$procInstRowIdx_}">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$procInstHdrVal_}"/>
<xsl:for-each select="$modInstance_/MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@MEMTYPE = 'BRIDGE') or (@IS_CONSTANT = 'TRUE')))]">
<xsl:sort data-type="number" select="@BASEDECIMAL" order="ascending"/>
<xsl:variable name="addr_id_"><xsl:value-of select="@BASENAME"/>:<xsl:value-of select="@HIGHNAME"/></xsl:variable>
<xsl:variable name="baseName_" select="@BASENAME"/>
<xsl:variable name="highName_" select="@HIGHNAME"/>
<xsl:if test="$G_DEBUG='TRUE'">
<xsl:message>ADDRESS ID <xsl:value-of select="$addr_id_"/></xsl:message>
</xsl:if>
<xsl:variable name="set_id_">
<xsl:if test="(@INSTANCE)">
<xsl:value-of select="$procInst_"/>.<xsl:value-of select="@INSTANCE"/>:<xsl:value-of select="$addr_id_"/>
</xsl:if>
<xsl:if test="not(@INSTANCE)">
<xsl:value-of select="$procInst_"/>:<xsl:value-of select="$addr_id_"/>
</xsl:if>
</xsl:variable>
<xsl:variable name="procAddrRowIdx_" select="position() - 1"/>
<SET ID="{$set_id_}" CLASS="ADDRESS" ROW_INDEX="{$procAddrRowIdx_}">
<xsl:if test="(@INSTANCE)">
<xsl:variable name="instance_" select="@INSTANCE"/>
<xsl:variable name="subInstance_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $instance_)]"/>
<xsl:variable name="inst_modtype_" select="$subInstance_/@MODTYPE"/>
<xsl:variable name="inst_viewicon_" select="$subInstance_/LICENSEINFO/@ICON_NAME"/>
<xsl:variable name="inst_hwversion_" select="$subInstance_/@HWVERSION"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$instance_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$inst_modtype_}" VIEWICON="{$inst_viewicon_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$inst_hwversion_}"/>
</xsl:if>
<xsl:if test="not(@INSTANCE)">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$modInstance_/@INSTANCE}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$modInstance_/@MODTYPE}" VIEWICON="{$modInstance_/LICENSEINFO/@ICON_NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$modInstance_/@HWVERSION}"/>
</xsl:if>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
<xsl:variable name="instName_">
<xsl:choose>
<xsl:when test="@INSTANCE"><xsl:value-of select="@INSTANCE"/></xsl:when>
<xsl:otherwise>Connected<xsl:value-of select="$modInstance_/@INSTANCE"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!--
<xsl:message>INST : <xsl:value-of select="$set_id_"/></xsl:message>
-->
<xsl:variable name="is_locked_">
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
</xsl:variable>
<xsl:variable name="baseAddrViewType_">
<xsl:choose>
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
<xsl:otherwise>TEXTBOX</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
</xsl:if>
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
</xsl:if>
</xsl:if>
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
</xsl:if>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
<xsl:variable name="sizeViewType_">
<xsl:choose>
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
<xsl:otherwise>DROPDOWN</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
<xsl:variable name="modInst_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $instName_)]"/>
<xsl:variable name="modMemMap_" select="$modInst_/MEMORYMAP"/>
<xsl:variable name="valid_bifNames_">
<xsl:choose>
<xsl:when test="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
<!-- <xsl:message>Bif Name <xsl:value-of select="$bifName_"/> </xsl:message> -->
<xsl:variable name="modBifs_" select="$modInst_/BUSINTERFACES"/>
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<xsl:if test="position() &gt; 1">:</xsl:if><xsl:value-of select="@BUSINTERFACE"/>
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="modBifs_" select="$modInst_"/>
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<xsl:if test="position() &gt; 1">:</xsl:if><xsl:value-of select="@NAME"/>
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!--
<xsl:message>Module Instances <xsl:value-of select="$instName_"/> </xsl:message>
<xsl:message>Base Name <xsl:value-of select="$baseName_"/> </xsl:message>
<xsl:message>High Name <xsl:value-of select="$highName_"/> </xsl:message>
<xsl:message>Valid bif names <xsl:value-of select="$valid_bifNames_"/> </xsl:message>
-->
<xsl:variable name="def_bifNames_">
<xsl:choose>
<xsl:when test="string-length($valid_bifNames_) &lt; 1">
<xsl:choose>
<xsl:when test="$modClass_ = 'BUS'">Not Applicable</xsl:when>
<xsl:otherwise>Not Connected</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="starts-with($valid_bifNames_,':')"><xsl:value-of select="substring-after($valid_bifNames_,':')"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$def_bifNames_}"/>
<xsl:choose>
<xsl:when test="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
<xsl:variable name="modBifs_" select="$modInst_/BUSINTERFACES"/>
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<xsl:variable name="numBifs_" select="count($modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))])"/>
<xsl:if test="((position() = 1) or ($numBifs_ = 1))">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$busName_}"/>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="modBifs_" select="$modInst_"/>
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<xsl:variable name="numBifs_" select="count($modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))])"/>
<xsl:if test="((position() = 1) or ($numBifs_ = 1))">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$busName_}"/>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
<!--
-->
</SET> <!-- End of one processor memory range row -->
</xsl:for-each> <!-- end of processor memory ranges loop -->
</SET>
</xsl:for-each> <!-- end of processor module address space loop -->
<!--
Add branch for valid address that are not part of a processor's
memory map. Usually modules that have just been added, but have
not been connected to a bus yet.
-->
<xsl:variable name="nonProcAddresses_">
<!-- Add a dummy non proc as a place holder. Otherwise the exsl:node-set test
Below complains if the variable is completely empty
-->
<NONPROCADDRESS INSTANCE="__DUMMY__" BASENAME="__DUMMY__" HIGHNAME="__DUMMY__" BASEDECIMAL="__DUMMY__"/>
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@IS_CONSTANT = 'TRUE')))]))]">
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="highName_" select="@HIGHNAME"/>
<xsl:variable name="baseName_" select="@BASENAME"/>
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
<NONPROCADDRESS INSTANCE="{$nonProcInst_}" BASENAME="{$baseName_}" HIGHNAME="{$highName_}" BASEDECIMAL="{$baseDecimal_}"/>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:variable>
<!-- Add unmapped addresses -->
<xsl:variable name="hasUnMappedAddress">
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]">
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="highName_" select="@HIGHNAME"/>
<xsl:variable name="baseName_" select="@BASENAME"/>
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])"><xsl:value-of select="$nonProcInst_"/></xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:variable>
<xsl:if test="string-length($hasUnMappedAddress) &gt; 1">
<SET ID="Unmapped Addresses" CLASS="MODULE" ROW_INDEX="{$G_NUM_OF_PROCS_W_ADDRS}">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="Unmapped Addresses"/>
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]/MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="nonProcMod_" select="../.."/>
<xsl:variable name="nonProcMMap_" select="$nonProcMod_/MEMORYMAP"/>
<xsl:variable name="instance_" select="$nonProcMod_/@INSTANCE"/>
<xsl:variable name="row_index_" select="position()"/>
<xsl:variable name="instName_" select="$nonProcMod_/@INSTANCE"/>
<xsl:variable name="highName_" select="@HIGHNAME"/>
<xsl:variable name="baseName_" select="@BASENAME"/>
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
<xsl:for-each select="$nonProcMMap_/MEMRANGE[((@BASENAME = $baseName_) and (@HIGHNAME = $highName_))]">
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $instName_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
<xsl:variable name="addr_id_"><xsl:value-of select="$baseName_"/>:<xsl:value-of select="$highName_"/></xsl:variable>
<xsl:variable name="set_id_"><xsl:value-of select="$instName_"/>:<xsl:value-of select="$addr_id_"/></xsl:variable>
<xsl:variable name="inst_modtype_" select="$nonProcMod_/@MODTYPE"/>
<xsl:variable name="inst_viewicon_" select="$nonProcMod_/LICENSEINFO/@ICON_NAME"/>
<xsl:variable name="inst_modclass_" select="$nonProcMod_/@MODCLASS"/>
<xsl:variable name="inst_hwversion_" select="$nonProcMod_/@HWVERSION"/>
<SET ID="{$set_id_}" CLASS="ADDRESS">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$instance_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$inst_modtype_}" VIEWICON="{$inst_viewicon_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$inst_hwversion_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
<xsl:variable name="is_locked_">
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
</xsl:variable>
<xsl:variable name="baseAddrViewType_">
<xsl:choose>
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
<xsl:otherwise>TEXTBOX</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
</xsl:if>
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
</xsl:if>
</xsl:if>
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
</xsl:if>
<!--
Lock, DCache and ICache removed in 11.1
<xsl:if test="(@IS_CACHEABLE = 'TRUE')">
<xsl:variable name="is_dcached_">
<xsl:if test="(@IS_DCACHED = 'TRUE')">TRUE</xsl:if>
<xsl:if test="(not(@IS_DCACHED) or not(@IS_DCACHED = 'TRUE'))">FALSE</xsl:if>
</xsl:variable>
<xsl:variable name="is_icached_">
<xsl:if test="(@IS_ICACHED = 'TRUE')">TRUE</xsl:if>
<xsl:if test="(not(@IS_ICACHED) or not(@IS_ICACHED = 'TRUE'))">FALSE</xsl:if>
</xsl:variable>
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="DCache" NAME="IS_DCACHED" VALUE="{$is_dcached_}"/>
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="ICache" NAME="IS_ICACHED" VALUE="{$is_icached_}"/>
</xsl:if>
-->
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
<xsl:variable name="sizeViewType_">
<xsl:choose>
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
<xsl:otherwise>DROPDOWN</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
<xsl:variable name="valid_bifNames_">
<xsl:choose>
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
<!-- <xsl:message>Bif Name <xsl:value-of select="$bifName_"/> </xsl:message> -->
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<xsl:if test="position() &gt; 1">:</xsl:if><xsl:value-of select="@BUSINTERFACE"/>
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<xsl:if test="position() &gt; 1">:</xsl:if><xsl:value-of select="@NAME"/>
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="def_bifNames_">
<xsl:choose>
<xsl:when test="(string-length($valid_bifNames_) &lt; 1) or ((string-length($valid_bifNames_) = 1) and ($valid_bifNames_ = ':'))">Not Connected</xsl:when>
<xsl:when test="starts-with($valid_bifNames_,':')"><xsl:value-of select="substring-after($valid_bifNames_,':')"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$def_bifNames_}"/>
<xsl:choose>
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
<xsl:variable name="slvBifName_" select="@BUSINTERFACE"/>
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
<xsl:variable name="slvBifName_" select="@NAME"/>
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</SET> <!-- End of one non processor memory range row -->
</xsl:if>
</xsl:for-each> <!-- end of non processor memory ranges loop -->
</xsl:for-each> <!-- end of NONPROCADDRESS loop -->
</SET> <!-- End of non processor tree branch -->
</xsl:if> <!-- End of test to see if we have and non processor mapped address -->
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE stylesheet [
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
<!ENTITY HEXUPPER "ABCDEFxX0123456789">
<!ENTITY HEXLOWER "abcdefxX0123456789">
<!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xmlns:dyn="http://exslt.org/dynamic"
xmlns:math="http://exslt.org/math"
xmlns:xlink="http://www.w3.org/1999/xlink"
extension-element-prefixes="exsl dyn math xlink">
<!--
================================================================================
Generate XTeller for BIFS
================================================================================
-->
<xsl:template name="WRITE_VIEW_BIF_TREE">
<xsl:for-each select="$G_SYS_MODS/MODULE">
<xsl:variable name="modRef_" select="self::node()"/>
<xsl:variable name="m_inst_" select="$modRef_/@INSTANCE"/>
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="@INSTANCE"/></xsl:attribute>
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
<xsl:choose>
<xsl:when test="$modRef_/@POTENTIAL_INDEX">
<xsl:attribute name="POTENTIAL_INDEX"><xsl:value-of select="$modRef_/@POTENTIAL_INDEX"/></xsl:attribute>
</xsl:when>
<xsl:when test="$modRef_/@CONNECTED_INDEX">
<xsl:attribute name="CONNECTED_INDEX"><xsl:value-of select="$modRef_/@CONNECTED_INDEX"/></xsl:attribute>
</xsl:when>
</xsl:choose>
<!--
CR452579
Can only modify INSTANCE name in Hierarchal view.
-->
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="INSTANCE" VALUE="{@INSTANCE}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{@MODTYPE}" VIEWICON="{LICENSEINFO/@ICON_NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{@HWVERSION}"/>
<xsl:variable name="ipClassification_">
<xsl:call-template name="F_ModClass_To_IpClassification">
<xsl:with-param name="iModClass" select="@MODCLASS"/>
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
</xsl:call-template>
</xsl:variable>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Classification" NAME="IPCLASS" VALUE="{$ipClassification_}"/>
<!-- Write Bus Interfaces here -->
<xsl:for-each select="$G_SYS_MODS"> <!-- To put things in the right scope for the keys below -->
<xsl:variable name="m_bifs_all_" select="key('G_MAP_ALL_BIFS', $m_inst_)"/>
<xsl:for-each select="$m_bifs_all_">
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
<xsl:call-template name="WRITE_VIEW_BIF_TREE_SET">
<xsl:with-param name="iModRef" select="$modRef_"/>
<xsl:with-param name="iBifRef" select="self::node()"/>
</xsl:call-template>
</xsl:for-each> <!-- End of bus interface loop -->
</xsl:for-each>
</xsl:element>
</xsl:for-each> <!-- End module loop -->
</xsl:template>
<xsl:template name="WRITE_VIEW_BIF_TREE_SET">
<xsl:param name="iModRef" select="'__NONE__'"/>
<xsl:param name="iBifRef" select="'__NONE__'"/>
<xsl:param name="iBifCol" select="'__NONE__'"/>
<xsl:element name="SET">
<xsl:if test="not($iBifCol = '__NONE__')">
<xsl:attribute name="RGB_FG"><xsl:value-of select="$iBifCol"/></xsl:attribute>
</xsl:if>
<xsl:attribute name="ID"><xsl:value-of select="$iBifRef/@NAME"/></xsl:attribute>
<xsl:attribute name="CLASS">BUSINTERFACE</xsl:attribute>
<xsl:if test="($iBifRef/@TYPE = 'MONITOR')">
<xsl:choose>
<xsl:when test="($iBifRef/@IS_P2P)">
<xsl:attribute name="IS_P2P_MONITOR">TRUE</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="IS_SHARED_MONITOR">TRUE</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="{$iBifRef/@NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Type" NAME="TYPE" VALUE="{$iBifRef/@TYPE}"/>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="VIEWDISP">Bus Standard</xsl:attribute>
<xsl:attribute name="NAME">BUSSTD</xsl:attribute>
<xsl:choose>
<xsl:when test="($iBifRef/@BUSSTD_PSF)">
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSSTD_PSF"/></xsl:attribute>
</xsl:when>
<xsl:when test="($iBifRef/@BUSSTD)">
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSSTD"/></xsl:attribute>
</xsl:when>
<xsl:when test="($iBifRef/@BUS_STD)">
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUS_STD"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="VALUE">USER</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
<xsl:choose>
<xsl:when test="($iBifRef/@TYPE = 'INITIATOR')">
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWTYPE">TEXTBOX</xsl:attribute>
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:choose>
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
<xsl:variable name="def_noc_name_"><xsl:value-of select="$iModRef/@INSTANCE"/>_<xsl:value-of select="$iBifRef/@NAME"/></xsl:variable>
<xsl:attribute name="VALUE"><xsl:value-of select="$def_noc_name_"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:with-param name="iModRef" select="$iModRef"/>
<xsl:with-param name="iBifRef" select="$iBifRef"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
<xsl:element name="VARIABLE">
<xsl:choose>
<xsl:when test="(($iBifRef/@BUSSTD = 'AXI') and ($iBifRef/@TYPE = 'SLAVE') and ($G_HAVE_XB_BUSSES = 'TRUE'))">
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VALUE">No Connection</xsl:attribute>
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:with-param name="iModRef" select="$iModRef"/>
<xsl:with-param name="iBifRef" select="$iBifRef"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="(($iBifRef/@TYPE = 'MONITOR') and ($iBifRef/MONITORS/MONITOR))">
<xsl:variable name="monitorBif_" select="$iBifRef/MONITORS/MONITOR"/>
<xsl:variable name="p2pMonConn_" select="concat($monitorBif_/@INSTANCE,'.',$monitorBif_/@BUSINTERFACE)"/>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$p2pMonConn_"/></xsl:attribute>
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:with-param name="iModRef" select="$iModRef"/>
<xsl:with-param name="iBifRef" select="$iBifRef"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:when>
<xsl:when test="($iBifRef/@TYPE = 'SLAVE')">
<xsl:element name="VARIABLE">
<xsl:choose>
<xsl:when test="(($iBifRef/@BUSSTD = 'AXI') and ($G_HAVE_XB_BUSSES ='TRUE'))">
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:choose>
<xsl:when test="$iBifRef/MASTERS/MASTER">
<xsl:variable name="mastersList_"><xsl:for-each select="$iBifRef/MASTERS/MASTER"><xsl:if test="position() &gt; 1"> &amp; </xsl:if><xsl:value-of select="concat(@INSTANCE,'.',@BUSINTERFACE)"/></xsl:for-each></xsl:variable>
<xsl:variable name="mastersConn_" select="concat($iBifRef/@BUSNAME,':',$mastersList_)"/>
<xsl:attribute name="VALUE"><xsl:value-of select="$mastersConn_"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:with-param name="iModRef" select="$iModRef"/>
<xsl:with-param name="iBifRef" select="$iBifRef"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:with-param name="iModRef" select="$iModRef"/>
<xsl:with-param name="iBifRef" select="$iBifRef"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:template>
<xsl:template name="WRITE_VIEW_BIF_FLAT">
<xsl:for-each select="$G_SYS_MODS/MODULE">
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
<xsl:variable name="moduleRef_" select="self::node()"/>
<xsl:variable name="busifsRef_">
<xsl:choose>
<xsl:when test="self::node()/BUSINTERFACES"><xsl:text>$moduleRef_/BUSINTERFACES</xsl:text></xsl:when>
<xsl:otherwise><xsl:text>$moduleRef_</xsl:text></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:for-each select="dyn:evaluate($busifsRef_)/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
<xsl:call-template name="WRITE_VIEW_BIF_FLAT_SET">
<xsl:with-param name="iModRef" select="$moduleRef_"/>
<xsl:with-param name="iBifRef" select="self::node()"/>
</xsl:call-template>
</xsl:for-each> <!-- End of Bus Interface Loop -->
</xsl:for-each> <!-- End of Module loop -->
</xsl:template>
<xsl:template name="WRITE_VIEW_BIF_FLAT_SET">
<xsl:param name="iModRef" select="'__NONE__'"/>
<xsl:param name="iBifRef" select="'__NONE__'"/>
<xsl:param name="iBifCol" select="'__NONE__'"/>
<xsl:element name="SET">
<xsl:if test="not($iBifCol = '__NONE__')">
<xsl:attribute name="RGB_FG"><xsl:value-of select="$iBifCol"/></xsl:attribute>
</xsl:if>
<!--
<xsl:attribute name="ID"><xsl:value-of select="$iModRef/@INSTANCE"/>.<xsl:value-of select="$iBifRef/@NAME"/></xsl:attribute>
-->
<xsl:attribute name="ID"><xsl:value-of select="$iBifRef/@NAME"/></xsl:attribute>
<xsl:attribute name="CLASS">BUSINTERFACE</xsl:attribute>
<xsl:if test="($iBifRef/@TYPE = 'MONITOR')">
<xsl:choose>
<xsl:when test="($iBifRef/@IS_P2P)">
<xsl:attribute name="IS_P2P_MONITOR">TRUE</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="IS_SHARED_MONITOR">TRUE</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<!-- CR452579 Can only modify INSTANCE name in Hierarchal view. -->
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$iModRef/@INSTANCE}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface" NAME="NAME" VALUE="{$iBifRef/@NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$iModRef/@MODTYPE}" VIEWICON="{$iModRef/LICENSEINFO/@ICON_NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$iModRef/@HWVERSION}"/>
<xsl:variable name="ipClassification_">
<xsl:call-template name="F_ModClass_To_IpClassification">
<xsl:with-param name="iModClass" select="$iModRef/@MODCLASS"/>
<xsl:with-param name="iBusStd" select="$iBifRef/@BUSSTD"/>
</xsl:call-template>
</xsl:variable>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Classification" NAME="IPCLASS" VALUE="{$ipClassification_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Type" NAME="TYPE" VALUE="{$iBifRef/@TYPE}"/>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="VIEWDISP">Bus Standard</xsl:attribute>
<xsl:attribute name="NAME">BUSSTD</xsl:attribute>
<xsl:choose>
<xsl:when test="($iBifRef/@BUS_STD)">
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUS_STD"/></xsl:attribute>
</xsl:when>
<xsl:when test="($iBifRef/@BUSSTD)">
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSSTD"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="VALUE">USER</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
<xsl:choose>
<xsl:when test="$iBifRef/@TYPE = 'INITIATOR'">
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWTYPE">TEXTBOX</xsl:attribute>
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:choose>
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
<xsl:variable name="def_noc_name_"><xsl:value-of select="$iModRef/@INSTANCE"/>_<xsl:value-of select="$iBifRef/@NAME"/></xsl:variable>
<xsl:attribute name="VALUE"><xsl:value-of select="$def_noc_name_"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:with-param name="iModRef" select="$iModRef"/>
<xsl:with-param name="iBifRef" select="$iBifRef"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
<xsl:element name="VARIABLE">
<xsl:choose>
<xsl:when test="(($iBifRef/@BUSSTD = 'AXI') and ($iBifRef/@TYPE = 'SLAVE') and ($G_HAVE_XB_BUSSES = 'TRUE'))">
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VALUE">No Connection</xsl:attribute>
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:with-param name="iModRef" select="$iModRef"/>
<xsl:with-param name="iBifRef" select="$iBifRef"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="(($iBifRef/@TYPE = 'MONITOR') and ($iBifRef/MONITORS/MONITOR))">
<xsl:variable name="monitorBif_" select="$iBifRef/MONITORS/MONITOR"/>
<xsl:variable name="p2pMonConn_" select="concat($monitorBif_/@INSTANCE,'.',$monitorBif_/@BUSINTERFACE)"/>
<!--
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$p2pMonConn_}"/>
-->
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$p2pMonConn_"/></xsl:attribute>
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:with-param name="iModRef" select="$iModRef"/>
<xsl:with-param name="iBifRef" select="$iBifRef"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:when>
<xsl:when test="($iBifRef/@TYPE = 'SLAVE')">
<xsl:element name="VARIABLE">
<xsl:choose>
<xsl:when test="$iBifRef/@BUSSTD = 'AXI' and $G_HAVE_XB_BUSSES ='TRUE'">
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:choose>
<xsl:when test="$iBifRef/MASTERS/MASTER">
<xsl:variable name="mastersList_"><xsl:for-each select="$iBifRef/MASTERS/MASTER"><xsl:if test="position() &gt; 1"> &amp; </xsl:if><xsl:value-of select="concat(@INSTANCE,'.',@BUSINTERFACE)"/></xsl:for-each></xsl:variable>
<xsl:variable name="mastersConn_" select="concat($iBifRef/@BUSNAME,':',$mastersList_)"/>
<xsl:attribute name="VALUE"><xsl:value-of select="$mastersConn_"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:with-param name="iModRef" select="$iModRef"/>
<xsl:with-param name="iBifRef" select="$iBifRef"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<!--
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$iBifRef/@BUSNAME}"/>
-->
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:with-param name="iModRef" select="$iModRef"/>
<xsl:with-param name="iBifRef" select="$iBifRef"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:template>
<xsl:template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
<xsl:param name="iModRef" select="None"/>
<xsl:param name="iBifRef" select="None"/>
<xsl:variable name="b_bus_" select="$iBifRef/@BUSNAME"/>
<xsl:variable name="b_name_" select="$iBifRef/@NAME"/>
<xsl:variable name="b_type_" select="$iBifRef/@TYPE"/>
<xsl:variable name="b_bstd_" select="$iBifRef/@BUSSTD"/>
<xsl:variable name="b_bstd_psf_" select="$iBifRef/@BUSSTD_PSF"/>
<xsl:variable name="b_protocol_" select="$iBifRef/@PROTOCOL"/>
<xsl:element name="CHOICES">
<xsl:choose>
<xsl:when test="($b_type_ = 'INITIATOR')">
<xsl:variable name="initiator_busName_">
<xsl:choose>
<xsl:when test="($b_bus_ = '__NOC__')"><xsl:value-of select="concat($iModRef/@INSTANCE,'_',$b_name_)"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$b_bus_"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<CHOICE NAME="{$initiator_busName_}"/>
</xsl:when>
<xsl:when test="(($b_type_ = 'MASTER') or ($b_type_ = 'SLAVE') or ($b_type_ = 'MASTER_SLAVE'))">
<CHOICE NAME="No Connection"/>
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
<xsl:if test="not(($b_bstd_ = 'AXI') and ($b_type_ = 'SLAVE'))">
<CHOICE NAME="New Connection"/>
</xsl:if>
<xsl:for-each select="key('G_MAP_BUSSES',$b_bstd_)">
<xsl:variable name="busName_" select="@INSTANCE"/>
<xsl:choose>
<!-- CR#590473 This was setting wrong choices filled up-->
<!--xsl:when test="(($b_type_ = 'SLAVE') and (@IS_CROSSBAR) and $iBifRef/@PROTOCOL)">
<xsl:for-each select="key('G_MAP_MST_BIFS',$busName_)[(not(@PROTOCOL) or (@PROTOCOL = $b_protocol_) or (@PROTOCOL = 'GENERIC'))]">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="insName_" select="../../@INSTANCE"/>
<xsl:variable name="xb_slave_busName_" select="concat($busName_,':',$insName_,'.',$bifName_)"/>
<CHOICE NAME="{$xb_slave_busName_}"/>
</xsl:for-each>
</xsl:when-->
<xsl:when test="($b_type_ = 'SLAVE') and (@IS_CROSSBAR)">
<xsl:for-each select="key('G_MAP_MST_BIFS',$busName_)">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="insName_" select="../../@INSTANCE"/>
<xsl:variable name="xb_slave_busName_" select="concat($busName_,':',$insName_,'.',$bifName_)"/>
<CHOICE NAME="{$xb_slave_busName_}"/>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<CHOICE NAME="{$busName_}"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:when test="($b_type_ = 'TARGET')">
<CHOICE NAME="No Connection"/>
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
<xsl:variable name="use_bstd_">
<xsl:choose>
<xsl:when test="(($b_bstd_ = 'AXIS') or ($b_bstd_ = 'XIL'))">
<xsl:value-of select="$b_bstd_psf_"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$b_bstd_"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="$iBifRef/@PROTOCOL">
<xsl:for-each select="key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR') and (not(@PROTOCOL) or (@PROTOCOL = $b_protocol_) or (@PROTOCOL = 'GENERIC') or ($b_protocol_ = 'GENERIC'))]">
<xsl:variable name="busName_" select="@BUSNAME"/>
<xsl:choose>
<xsl:when test="($busName_ = '__NOC__')">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="insName_" select="../../@INSTANCE"/>
<xsl:variable name="initiator_busName_" select="concat($insName_,'_',$bifName_)"/>
<CHOICE NAME="{$initiator_busName_}"/>
</xsl:when>
<xsl:otherwise>
<CHOICE NAME="{$busName_}"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR')]">
<xsl:variable name="busName_" select="@BUSNAME"/>
<xsl:choose>
<xsl:when test="($busName_ = '__NOC__')">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="insName_" select="../../@INSTANCE"/>
<xsl:variable name="initiator_busName_" select="concat($insName_,'_',$bifName_)"/>
<CHOICE NAME="{$initiator_busName_}"/>
</xsl:when>
<xsl:otherwise>
<CHOICE NAME="{$busName_}"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
<xsl:when test="($b_type_ = 'MONITOR')">
<CHOICE NAME="No Connection"/>
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
<xsl:choose>
<xsl:when test="($iBifRef/@IS_P2P = 'TRUE')">
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
<xsl:variable name="use_bstd_">
<xsl:choose>
<xsl:when test="(($b_bstd_ = 'AXIS') or ($b_bstd_ = 'XIL'))">
<xsl:value-of select="$b_bstd_psf_"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$b_bstd_"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- <xsl:message>monitor p2p <xsl:value-of select="count(key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR')])"/> </xsl:message> -->
<xsl:for-each select="key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR')]">
<xsl:variable name="busName_" select="@BUSNAME"/>
<xsl:choose>
<xsl:when test="($busName_ = '__NOC__')">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="insName_" select="../../@INSTANCE"/>
<xsl:variable name="initiator_busName_" select="concat($insName_,'_',$bifName_)"/>
<CHOICE NAME="{$initiator_busName_}"/>
</xsl:when>
<xsl:otherwise>
<CHOICE NAME="{$busName_}"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="key('G_MAP_BUSSES',$b_bstd_)">
<xsl:variable name="busName_" select="@INSTANCE"/>
<xsl:choose>
<xsl:when test="(@IS_CROSSBAR or ($b_bstd_ = 'AXI'))">
<xsl:for-each select="key('G_MAP_MOS_BIFS',$busName_)">
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="insName_" select="../../@INSTANCE"/>
<!--
<xsl:variable name="xb_moni_busName_" select="concat($busName_,':',$insName_,'.',$bifName_)"/>
-->
<xsl:variable name="xb_moni_busName_" select="concat($insName_,'.',$bifName_)"/>
<CHOICE NAME="{$xb_moni_busName_}"/>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<CHOICE NAME="{$busName_}"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
<!DOCTYPE stylesheet [
<!ENTITY ALPUPRS "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
<!ENTITY ALPLWRS "abcdefghijklmnopqrstuvwxyz">
<!ENTITY UPR2LWS " '&ALPUPRS;' , '&ALPLWRS;' ">
<!ENTITY HEXUPPER "ABCDEFxx0123456789">
<!ENTITY HEXLOWER "abcdefxX0123456789">
<!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
<!ENTITY DIV2SLSH " 'div' , '&#047;' ">
<!ENTITY NOT_ELM_CONN "not(name() = 'PARAMETER') and not(name() = 'PORT') and not(name() = 'BUSINTERFACE')">
<!ENTITY NOT_BEF_CONN "not(name() = 'DOCUMENT') and not(name() = 'DOCUMENTATION') and not(name() = 'DESCRIPTION') and not(name() = 'LICENSEINFO')">
<!ENTITY NOT_AFT_CONN "not(name() = 'MEMORYMP') and not(name() = 'PERIPHERALS') and not(name() = 'INTERRUPTINFO')">
]>
<!-- ==============================================================
This XSL file converts BLOCK xml to SAV XTeller
============================================================== -->
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xmlns:dyn="http://exslt.org/dynamic"
xmlns:math="http://exslt.org/math"
xmlns:xlink="http://www.w3.org/1999/xlink"
extension-element-prefixes="math exsl dyn xlink">
<xsl:output method="xml"
version="1.0"
indent="yes"
encoding="UTF-8"/>
<!--
===================================================
THE MAIN TEMPLATE FOR PORT VIEW SELECTED FOCUS
===================================================
-->
<xsl:template name="WRITE_VIEW_PORT_FOCUSED">
<xsl:choose>
<xsl:when test="$G_ROOT/SAV/@MODE = 'TREE'">
<xsl:call-template name="WRITE_VIEW_EXTP_TREE_SET"/>
</xsl:when>
<xsl:when test="$G_ROOT/SAV/@MODE = 'FLAT'">
<xsl:call-template name="WRITE_VIEW_EXTP_FLAT_SET"/>
</xsl:when>
</xsl:choose>
<xsl:apply-templates select="$G_SYS_MODS/MODULE" mode="_port_view_focusing_on_selected"/>
</xsl:template>
<!--
====================================================
THE MAIN TEMPLATE FOR BIF VIEW BUS FOCUS
====================================================
-->
<xsl:template name="WRITE_VIEW_BIF_FOCUS_ON_BUSES">
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>Focusing on busses</xsl:message></xsl:if>
<!--
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_CONNECTED_MODULES">
<xsl:with-param name="iModules" select="$G_GROUPS"/>
</xsl:call-template>
-->
<xsl:apply-templates select="$G_SYS_MODS/MODULE" mode="_bif_view_focusing_on_buses"/>
<xsl:if test="$G_ROOT/SAV/@MODE = 'TREE'"> <!-- The separator -->
<xsl:element name="SET">
<xsl:attribute name="ID">MODULES WITH POTENTIAL CONNECTIONS TO FOCUSED BUS</xsl:attribute>
<xsl:attribute name="CLASS">SEPARATOR</xsl:attribute>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Name</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">Name</xsl:attribute>
<xsl:attribute name="VALUE">POTENTIAL MODULES BELOW HERE</xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Type</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">MODTYPE</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Version</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">HWVERSION</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Classification</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">IPCLASS</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="VIEWTYPE"></xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Type</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">TYPE</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Bus Standard</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">BUSSTD</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:if>
</xsl:template>
<!--
====================================================
THE MAIN TEMPLATE FOR BIF VIEW PROCESSOR FOCUS
====================================================
-->
<xsl:template name="WRITE_VIEW_BIF_FOCUS_ON_PROCS">
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_CONNECTED_MODULES">
<xsl:with-param name="iModules" select="$G_GROUPS"/>
</xsl:call-template>
<xsl:if test="$G_ROOT/SAV/@MODE = 'TREE'"> <!-- The separator -->
<xsl:element name="SET">
<xsl:attribute name="ID">MODULES WITH POTENTIAL CONNECTIONS TO THIS SUBSYSTEM</xsl:attribute>
<xsl:attribute name="CLASS">SEPARATOR</xsl:attribute>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Name</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">Name</xsl:attribute>
<xsl:attribute name="VALUE">POTENTIAL MODULES BELOW HERE</xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Type</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">MODTYPE</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Version</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">HWVERSION</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Classification</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">IPCLASS</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="VIEWTYPE"></xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Type</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">TYPE</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Bus Standard</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">BUSSTD</xsl:attribute>
<xsl:attribute name="VALUE"></xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:if>
</xsl:template>
<!--
===============================================
COPY TRANSFORMS FOR FOCUSING IN BIF VIEW
===============================================
-->
<!-- Root copy template for connected -->
<xsl:template match="node() | @*" mode="_bif_view_focusing_on_connected">
<xsl:copy>
<xsl:apply-templates select="@* | node()" mode="_bif_view_focusing_on_connected"/>
</xsl:copy>
</xsl:template>
<!-- Root copy template for potentials -->
<xsl:template match="node() | @*" mode="_bif_view_focusing_on_potentials">
<xsl:copy>
<xsl:apply-templates select="@* | node()" mode="_bif_view_focusing_on_potentials"/>
</xsl:copy>
</xsl:template>
<xsl:template name="WRITE_VIEW_BIF_FOCUSED_CONNECTED_MODULES"> <!-- Recursive !! -->
<xsl:param name="iModules"/>
<xsl:for-each select="$iModules/BLOCK[@ID and not(BLOCK) and not(@C)]">
<xsl:variable name="m_id_" select="@ID"/>
<xsl:if test="(count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $m_id_]) &gt; 0)">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING BUS <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:variable name="m_module_" select="$G_SYS_MODS/MODULE[@INSTANCE = $m_id_]"/>
<xsl:apply-templates select="$m_module_" mode="_bif_view_focusing_on_connected"/>
</xsl:if>
</xsl:for-each>
<xsl:for-each select="$iModules/BLOCK[@ID and BLOCK]">
<xsl:choose>
<!-- An actual module that needs to be written -->
<xsl:when test="not(starts-with(@ID,'__')) and BLOCK[@C] and (not(BLOCK/BLOCK) or BLOCK/BLOCK[@CP])">
<xsl:variable name="m_id_" select="@ID"/>
<xsl:variable name="m_module_" select="$G_SYS_MODS/MODULE[@INSTANCE = $m_id_]"/>
<xsl:apply-templates select="$m_module_" mode="_bif_view_focusing_on_connected"/>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_PROCESSOR__.') or starts-with(@ID,'__GROUP_MASTER__.')">
<!--
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>MASTER GROUP <xsl:value-of select="@ID"/></xsl:message></xsl:if>
-->
<xsl:variable name="master_id_">
<xsl:choose>
<xsl:when test="starts-with(@ID,'__GROUP_MASTER__.')"><xsl:value-of select="substring-after(@ID,'__GROUP_MASTER__.')"/> </xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_PROCESSOR__.')"><xsl:value-of select="substring-after(@ID,'__GROUP_PROCESSOR__.')"/> </xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="num_focused_on_" select="count($G_ROOT/SAV/MASTER[(@INSTANCE = $master_id_)])"/>
<xsl:choose>
<xsl:when test="$num_focused_on_ &gt; 0">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>CONNECTED MASTER GROUP <xsl:value-of select="$master_id_"/></xsl:message></xsl:if>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_CONNECTED_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>POTENTIAL MASTER GROUP <xsl:value-of select="$master_id_"/></xsl:message></xsl:if>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_POTENTIAL_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_SHARED__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>SHARED GROUP <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:variable name="p_id_" select="substring-after(@ID,'__GROUP_SHARED__')"/>
<xsl:variable name="num_focused_on_" select="count($G_ROOT/SAV/MASTER[contains($p_id_,@INSTANCE)])"/>
<xsl:choose>
<xsl:when test="$num_focused_on_ &gt; 0">
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_CONNECTED_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_POTENTIAL_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_MEMORY__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> MEMORY GROUP <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:variable name="m_id_" select="substring-after(@ID,'__GROUP_MEMORY__')"/>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_CONNECTED_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_PERIPHERAL__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PERIPHERAL GROUP <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_CONNECTED_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_SLAVES__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>SLAVE GROUP <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_CONNECTED_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="(starts-with(@ID,'__GROUP_IP__') and not($G_ROOT/SAV/@VIEW = 'BUSINTERFACE'))">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>IP GROUP<xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_CONNECTED_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_FLOATING__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>FLOATING GROUP <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_POTENTIAL_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> IGNORING <xsl:value-of select="@ID"/></xsl:message></xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
<!--
===============================================
TRANSFORMS FOR FOCUSED POTENTIAL MODULES
===============================================
-->
<xsl:template name="WRITE_VIEW_BIF_FOCUSED_POTENTIAL_MODULES"> <!-- Recursive !! -->
<xsl:param name="iModules"/>
<!-- BUS -->
<xsl:for-each select="$iModules/BLOCK[@ID and not(BLOCK) and not(@C)]">
<xsl:variable name="m_id_" select="@ID"/>
<xsl:if test="(count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $m_id_]) &gt; 0)">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING BUS <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:variable name="m_module_" select="$G_SYS_MODS/MODULE[@INSTANCE = $m_id_]"/>
<xsl:apply-templates select="$m_module_" mode="_bif_view_focusing_on_connected"/>
</xsl:if>
</xsl:for-each>
<!-- GROUP -->
<xsl:for-each select="$iModules/BLOCK[@ID and BLOCK]">
<xsl:choose>
<xsl:when test="not(starts-with(@ID,'__')) and BLOCK[@C] and (not(BLOCK/BLOCK) or BLOCK/BLOCK[@CP])">
<xsl:variable name="m_id_" select="@ID"/>
<xsl:variable name="m_module_" select="$G_SYS_MODS/MODULE[@INSTANCE = $m_id_]"/>
<xsl:variable name="m_class_" select="$m_module_/@MODCLASS"/>
<xsl:choose>
<xsl:when test ="not($m_class_ = 'PROCESSOR')">
<xsl:variable name="potential_bifs_">
<xsl:for-each select="$m_module_/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="b_std_" select="@BUSSTD"/>
<xsl:variable name="b_bus_" select="@BUSNAME"/>
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_]) &gt; 0"><CONNECTED/></xsl:if>
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@BUSSTD = $b_std_]) &gt; 0"><POTENTIAL/></xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="num_potential_" select="count(exsl:node-set($potential_bifs_)/POTENTIAL)"/>
<xsl:variable name="num_connected_" select="count(exsl:node-set($potential_bifs_)/CONNECTED)"/>
<xsl:if test=" ($num_potential_ &gt; 0)">
<xsl:apply-templates select="$m_module_" mode="_bif_view_focusing_on_potentials"/>
</xsl:if>
</xsl:when>
<xsl:when test="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[(@NAME = $m_id_)]) &gt; 0">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> PERI PROCESSOR <xsl:value-of select="$m_id_"/></xsl:message></xsl:if>
<xsl:apply-templates select="$m_module_" mode="_bif_view_focusing_on_potentials"/>
</xsl:when>
</xsl:choose>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_MEMORY__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING MEMORY <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:variable name="m_id_" select="substring-after(@ID,'__GROUP_MEMORY__')"/>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_POTENTIAL_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_PERIPHERAL__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING POTENTIAL GROUP OF PERIPHERALS <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_POTENTIAL_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_SLAVES__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING POTENTIAL GROUP OF SLAVES <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:call-template name="WRITE_VIEW_BIF_FOCUSED_POTENTIAL_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> IGNORING <xsl:value-of select="@ID"/></xsl:message></xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
<!--
+++++++++++++++++++++++++++++++++++++++++++++++++++++
MODULE TEMPLATES
+++++++++++++++++++++++++++++++++++++++++++++++++++++
-->
<!--
===================================================
THE MODULE TEMPLATE FOR PORT VIEW SELECTED FOCUS
===================================================
-->
<xsl:template match="MODULE" mode="_port_view_focusing_on_selected">
<xsl:variable name="m_inst_" select="@INSTANCE"/>
<xsl:if test="count($G_ROOT/SAV/SELECTED[(@INSTANCE = $m_inst_)]) &gt; 0">
<xsl:choose>
<xsl:when test="$G_ROOT/SAV/@MODE = 'TREE'">
<xsl:call-template name="WRITE_VIEW_PORT_TREE_SET">
<xsl:with-param name="iModRef" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$G_ROOT/SAV/@MODE = 'FLAT'">
<xsl:call-template name="WRITE_VIEW_PORT_FLAT_SET">
<xsl:with-param name="iModRef" select="self::node()"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:if>
</xsl:template>
<!--
===================================================
THE MODULE TEMPLATE FOR BIF VIEW BUS FOCUS
===================================================
-->
<xsl:template match="MODULE" mode="_bif_view_focusing_on_buses">
<xsl:variable name="m_instance_" select="@INSTANCE"/>
<xsl:variable name="m_modclass_" select="@MODCLASS"/>
<xsl:variable name="is_focused_bus_" select="count($G_ROOT/SAV/BUS[(@INSTANCE = $m_instance_)])"/>
<xsl:variable name="bif_scope_">
<xsl:if test="$is_focused_bus_ = 0"> <!-- No need to waste time if we know its one of the focused bus -->
<xsl:for-each select="BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="b_bus_" select="@BUSNAME"/>
<xsl:variable name="b_bstd_" select="@BUSSTD"/>
<xsl:variable name="b_on_focused_bus_" select="count($G_ROOT/SAV/BUS[(@INSTANCE = $b_bus_)])"/>
<xsl:variable name="b_of_focused_bstd_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@BUSSTD = $b_bstd_])"/>
<xsl:if test="$b_on_focused_bus_ &gt; 0"><CONNECTED/></xsl:if>
<xsl:if test="$b_of_focused_bstd_ &gt; 0"><POTENTIAL/></xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:variable>
<xsl:variable name="on_focused_bus_" select="count(exsl:node-set($bif_scope_)/CONNECTED)"/>
<xsl:variable name="of_focused_bstd_" select="count(exsl:node-set($bif_scope_)/POTENTIAL)"/>
<xsl:if test="(($is_focused_bus_ + $on_focused_bus_ + $of_focused_bstd_) &gt; 0)">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING MODULE ON BUS <xsl:value-of select="@INSTANCE"/></xsl:message></xsl:if>
<xsl:choose>
<!-- TREE VIEW -->
<xsl:when test="$G_ROOT/SAV/@MODE = 'TREE'">
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="@INSTANCE"/></xsl:attribute>
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
<xsl:if test="($is_focused_bus_ &gt; 0)">
<xsl:attribute name="RGB_BG"><xsl:value-of select="$COL_FOCUSED_MASTER"/></xsl:attribute>
</xsl:if>
<xsl:choose>
<xsl:when test="(($is_focused_bus_ + $on_focused_bus_) &gt; 0)">
<xsl:attribute name="CONNECTED_INDEX"><xsl:value-of select="@MHS_INDEX"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="POTENTIAL_INDEX"><xsl:value-of select="@MHS_INDEX"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<!-- CR452579 Can only modify INSTANCE name in Hierarchal view. -->
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="INSTANCE" VALUE="{@INSTANCE}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{@MODTYPE}" VIEWICON="{LICENSEINFO/@ICON_NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{@HWVERSION}"/>
<xsl:variable name="ipClassification_">
<xsl:call-template name="F_ModClass_To_IpClassification">
<xsl:with-param name="iModClass" select="@MODCLASS"/>
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
</xsl:call-template>
</xsl:variable>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Classification" NAME="IPCLASS" VALUE="{$ipClassification_}"/>
<xsl:for-each select="BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="b_bus_" select="@BUSNAME"/>
<xsl:variable name="b_bstd_" select="@BUSSTD"/>
<xsl:variable name="b_on_focused_bus_" select="count($G_ROOT/SAV/BUS[(@INSTANCE = $b_bus_)])"/>
<xsl:variable name="b_of_focused_bstd_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@BUSSTD = $b_bstd_])"/>
<xsl:variable name="bif_col_">
<xsl:choose>
<xsl:when test="(not($b_bus_ ='__NOC__') and ($b_on_focused_bus_ = 0) and ($b_of_focused_bstd_ &gt; 0))"><xsl:value-of select="$COL_BG_OUTOF_FOCUS_CONNECTIONS"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="(($b_on_focused_bus_ + $b_of_focused_bstd_) &gt; 0)">
<xsl:if test="$G_ROOT/SAV/@MODE = 'TREE'">
<xsl:call-template name="WRITE_VIEW_BIF_TREE_SET">
<xsl:with-param name="iModRef" select="../.."/>
<xsl:with-param name="iBifRef" select="self::node()"/>
<xsl:with-param name="iBifCol" select="$bif_col_"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$G_ROOT/SAV/@MODE = 'FLAT'">
<xsl:call-template name="WRITE_VIEW_BIF_FLAT_SET">
<xsl:with-param name="iModRef" select="../.."/>
<xsl:with-param name="iBifRef" select="self::node()"/>
<xsl:with-param name="iBifCol" select="$bif_col_"/>
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:element>
</xsl:when>
<!-- FLAT VIEW -->
<xsl:otherwise>
<xsl:for-each select="BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="b_bus_" select="@BUSNAME"/>
<xsl:variable name="b_on_focused_bus_" select="count($G_ROOT/SAV/BUS[(@INSTANCE = $b_bus_)])"/>
<xsl:if test="($b_on_focused_bus_ &gt; 0)">
<xsl:if test="$G_ROOT/SAV/@MODE = 'TREE'">
<xsl:call-template name="WRITE_VIEW_BIF_TREE_SET">
<xsl:with-param name="iModRef" select="../.."/>
<xsl:with-param name="iBifRef" select="self::node()"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$G_ROOT/SAV/@MODE = 'FLAT'">
<xsl:call-template name="WRITE_VIEW_BIF_FLAT_SET">
<xsl:with-param name="iModRef" select="../.."/>
<xsl:with-param name="iBifRef" select="self::node()"/>
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
<!--
===================================================
THE MODULE TEMPLATE FOR CONNECTED MODULES
IN BIF VIEW PROC FOCUS
===================================================
-->
<xsl:template match="MODULE" mode="_bif_view_focusing_on_connected">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>EXAMINING CONNECTED MODULE <xsl:value-of select="@INSTANCE"/></xsl:message></xsl:if>
<xsl:variable name="m_instance_" select="@INSTANCE"/>
<xsl:variable name="m_class_" select="@MODCLASS"/>
<xsl:variable name="bif_scope_">
<xsl:for-each select="BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="b_std_" select="@BUSSTD"/>
<xsl:variable name="b_bus_" select="@BUSNAME"/>
<xsl:variable name="b_name_" select="@NAME"/>
<xsl:choose>
<xsl:when test="($b_bus_ = '__NOC__')"><POTENTIAL/></xsl:when>
<xsl:when test="((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR')) and (count(key('G_MAP_P2P_BIFS',$b_bus_)[not(@BUSNAME = '__NOC__')]) &gt; 0)">
<xsl:variable name="p2p_scope_">
<xsl:for-each select="$G_SYS_MODS">
<xsl:for-each select="key('G_MAP_P2P_BIFS',$b_bus_)[not(@BUSNAME = '__NOC__')]">
<xsl:variable name="b_instance_" select="../../@INSTANCE"/>
<xsl:variable name="b_modclass_" select="../../@MODCLASS"/>
<xsl:variable name="b_bifname_" select="@NAME"/>
<xsl:if test="not(($b_bifname_ = $b_name_) and ($b_instance_ = $m_instance_))">
<xsl:variable name="num_mast_connections_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_])"/>
<xsl:variable name="num_peri_connections_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[(@NAME = $b_instance_)])"/>
<xsl:if test="(($num_mast_connections_ + $num_peri_connections_) &gt; 0)"><INSCOPE/></xsl:if>
<xsl:if test="(($num_mast_connections_ + $num_peri_connections_) = 0) and not($m_class_ = 'MEMORY') and not($m_class_ = 'MEMORY_CNTLR')"><UNFOCUSED/></xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="num_p2p_inscope_" select="count(exsl:node-set($p2p_scope_)/INSCOPE)"/>
<xsl:variable name="num_p2p_unfocused_" select="count(exsl:node-set($p2p_scope_)/UNFOCUSED)"/>
<xsl:if test="$num_p2p_inscope_ &gt; 0"><CONNECTED/></xsl:if>
<xsl:if test="$num_p2p_unfocused_ &gt; 0"><UNFOCUSED/></xsl:if>
</xsl:when>
<!--
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> P2P <xsl:value-of select="$b_instance_"/> == <xsl:value-of select="$num_peri_connections_"/> UNFOCUSED</xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> P2P <xsl:value-of select="$m_instance_"/>.<xsl:value-of select="$b_name_"/> = <xsl:value-of select="$num_p2p_unfocused_"/> UNFOCUSED</xsl:message></xsl:if>
-->
<xsl:when test="((@TYPE = 'SLAVE') and not(MASTERS/MASTER)) or (@TYPE = 'MASTER')">
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_]) &gt; 0"><CONNECTED/></xsl:if>
<xsl:if test="($b_bus_ = '__NOC__') and count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@BUSSTD = $b_std_]) &gt; 0"><POTENTIAL/></xsl:if>
</xsl:when>
<xsl:when test="(MASTERS/MASTER)">
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_]) &gt; 0"><POTENTIAL/></xsl:if>
<xsl:for-each select="MASTERS/MASTER">
<xsl:variable name="m_inst_" select="@INSTANCE"/>
<xsl:choose>
<xsl:when test="count($G_ROOT/SAV/MASTER[(@INSTANCE = $m_inst_)]) &gt; 0"><CONNECTED/></xsl:when>
<xsl:when test="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[(@NAME = $m_inst_)]) &gt; 0"><CONNECTED/></xsl:when>
<xsl:otherwise><UNFOCUSED/></xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:for-each>
<xsl:if test="$m_class_ = 'BUS'">
<xsl:variable name="num_bifs_on_bus_" select="count(key('G_MAP_ALL_BIFS_BY_BUS',$m_instance_))"/>
<!-- <xsl:if test="$G_DEBUG='TRUE'"><xsl:message>BBBBBB <xsl:value-of select="$m_instance_"/> has <xsl:value-of select="$num_bifs_on_bus_"/> bifs </xsl:message></xsl:if> -->
<xsl:for-each select="key('G_MAP_ALL_BIFS_BY_BUS',$m_instance_)">
<xsl:variable name="b_name_" select="@NAME"/>
<xsl:variable name="b_type_" select="@TYPE"/>
<xsl:variable name="b_inst_" select="../../@INSTANCE"/>
<xsl:variable name="b_icls_" select="../../@MODCLASS"/>
<xsl:variable name="is_mast_in_focus_" select="count($G_ROOT/SAV/MASTER[(@INSTANCE = $b_inst_)])"/>
<xsl:variable name="is_peri_in_focus_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[@NAME = $b_inst_])"/>
<xsl:if test="(($is_peri_in_focus_ + $is_mast_in_focus_) = 0)"><UNFOCUSED/></xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:variable>
<xsl:variable name="mod_id_" select="@INSTANCE"/>
<xsl:variable name="potential_masts_id_" select="concat('__GROUP_MASTER__.',@INSTANCE)"/>
<xsl:variable name="is_master_" select="count($G_GROUPS/BLOCK[(@ID = $potential_masts_id_)])"/>
<xsl:variable name="is_focused_on_" select="count($G_ROOT/SAV/MASTER[(@INSTANCE = $mod_id_)])"/>
<xsl:variable name="is_peripheral_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[@NAME = $mod_id_])"/>
<xsl:variable name="num_potential_bifs_" select="count(exsl:node-set($bif_scope_)/POTENTIAL)"/>
<xsl:variable name="num_connected_bifs_" select="count(exsl:node-set($bif_scope_)/CONNECTED)"/>
<xsl:variable name="num_unfocused_bifs_" select="count(exsl:node-set($bif_scope_)/UNFOCUSED)"/>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> CONNECTED BIFS <xsl:value-of select="$num_connected_bifs_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> POTENTIAL BIFS <xsl:value-of select="$num_potential_bifs_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> IS PERIPHERAL <xsl:value-of select="$is_peripheral_"/></xsl:message></xsl:if>
<xsl:if test="((@MODCLASS = 'BUS') or ($num_connected_bifs_ + $is_focused_on_ + $num_potential_bifs_ + $is_peripheral_) &gt; 0)">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> PLACING MODULE <xsl:value-of select="@INSTANCE"/></xsl:message></xsl:if>
<xsl:choose>
<xsl:when test="$G_ROOT/SAV/@MODE = 'TREE'">
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="@INSTANCE"/></xsl:attribute>
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
<xsl:choose>
<xsl:when test="((@MODCLASS = 'BUS') or (($num_connected_bifs_ + $is_peripheral_ + $is_focused_on_) &gt; 0))">
<xsl:attribute name="CONNECTED_INDEX"><xsl:value-of select="@MHS_INDEX"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="POTENTIAL_INDEX"><xsl:value-of select="@MHS_INDEX"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="count($G_ROOT/SAV/MASTER[(@INSTANCE = $mod_id_)]) &gt; 0">
<xsl:attribute name="RGB_BG"><xsl:value-of select="$COL_FOCUSED_MASTER"/></xsl:attribute>
</xsl:when>
<xsl:when test="$num_unfocused_bifs_ &gt; 0">
<xsl:attribute name="RGB_FG"><xsl:value-of select="$COL_BG_OUTOF_FOCUS_CONNECTIONS"/></xsl:attribute>
</xsl:when>
</xsl:choose>
<!--
CR452579
Can only modify INSTANCE name in Hierarchal view.
-->
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="INSTANCE" VALUE="{@INSTANCE}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{@MODTYPE}" VIEWICON="{LICENSEINFO/@ICON_NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{@HWVERSION}"/>
<xsl:variable name="ipClassification_">
<xsl:call-template name="F_ModClass_To_IpClassification">
<xsl:with-param name="iModClass" select="@MODCLASS"/>
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
</xsl:call-template>
</xsl:variable>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Classification" NAME="IPCLASS" VALUE="{$ipClassification_}"/>
<xsl:apply-templates select="BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]" mode="_bif_view_focusing_on_connected"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]" mode="_bif_view_focusing_on_connected"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
<!--
===================================================
THE MODULE TEMPLATE FOR POTENTIAL MODULES
IN BIF VIEW PROC FOCUS
===================================================
-->
<xsl:template match="MODULE" mode="_bif_view_focusing_on_potentials">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>EXAMINING POTENTIAL MODULE <xsl:value-of select="@INSTANCE"/></xsl:message></xsl:if>
<xsl:variable name="m_instance_" select="@INSTANCE"/>
<xsl:variable name="m_modclass_" select="@MODCLASS"/>
<xsl:variable name="bif_scope_">
<xsl:for-each select="BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:variable name="b_std_" select="@BUSSTD"/>
<xsl:variable name="b_bus_" select="@BUSNAME"/>
<xsl:choose>
<xsl:when test="($b_bus_ = '__NOC__')"><POTENTIAL/></xsl:when>
<xsl:when test="((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR')) and (count(key('G_MAP_P2P_BIFS',$b_bus_)[not(@BUSNAME = '__NOC__')]) &gt; 0)">
<xsl:variable name="p2p_scope_">
<xsl:for-each select="$G_SYS_MODS"> <!-- To set the right scope for the keys -->
<xsl:for-each select="key('G_MAP_P2P_BIFS',$b_bus_)[not(@BUSNAME = '__NOC__')]">
<xsl:variable name="b_instance_" select="../../@INSTANCE"/>
<xsl:variable name="b_modclass_" select="../../@MODCLASS"/>
<xsl:variable name="num_mast_connections_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_])"/>
<xsl:variable name="num_peri_connections_">
<xsl:choose>
<xsl:when test="((($m_modclass_ = 'PROCESSOR') and ($b_modclass_ = 'PROCESSOR')) or not($b_modclass_ = 'PROCESSOR'))">
<xsl:value-of select="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[(@NAME = $b_instance_)])"/>
</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="(($num_mast_connections_ + $num_peri_connections_) &gt; 0)"><INSCOPE/></xsl:if>
<xsl:if test="(($num_mast_connections_ + $num_peri_connections_) = 0) and not($m_modclass_ = 'MEMORY') and not($m_modclass_ = 'MEMORY_CNTLR')"><UNFOCUSED/></xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="num_p2p_inscope_" select="count(exsl:node-set($p2p_scope_)/INSCOPE)"/>
<xsl:variable name="num_p2p_unfocused_" select="count(exsl:node-set($p2p_scope_)/UNFOCUSED)"/>
<xsl:if test="$num_p2p_inscope_ &gt; 0"><CONNECTED/></xsl:if>
<xsl:if test="$num_p2p_unfocused_ &gt; 0"><UNFOCUSED/></xsl:if>
</xsl:when>
<xsl:when test="(@TYPE = 'SLAVE') and not(MASTERS/MASTER)">
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_]) &gt; 0"><CONNECTED/></xsl:if>
<xsl:if test="($b_bus_ = '__NOC__') and count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@BUSSTD = $b_std_]) &gt; 0"><POTENTIAL/></xsl:if>
</xsl:when>
<xsl:when test="(MASTERS/MASTER)">
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_]) &gt; 0"><POTENTIAL/></xsl:if>
<xsl:for-each select="MASTERS/MASTER">
<xsl:variable name="m_inst_" select="@INSTANCE"/>
<xsl:choose>
<xsl:when test="count($G_ROOT/SAV/MASTER[(@INSTANCE = $m_inst_)]) &gt; 0"><CONNECTED/></xsl:when>
<xsl:when test="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[(@NAME = $m_inst_)]) &gt; 0"><CONNECTED/></xsl:when>
<xsl:otherwise><UNFOCUSED/></xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:for-each>
<xsl:if test="$m_modclass_ = 'BUS'">
<xsl:variable name="num_bifs_on_bus_" select="count(key('G_MAP_ALL_BIFS_BY_BUS',$m_instance_))"/>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>BUS <xsl:value-of select="$m_instance_"/> has <xsl:value-of select="$num_bifs_on_bus_"/> bifs </xsl:message></xsl:if>
<xsl:for-each select="key('G_MAP_ALL_BIFS_BY_BUS',$m_instance_)">
<xsl:variable name="b_name_" select="@NAME"/>
<xsl:variable name="b_type_" select="@TYPE"/>
<xsl:variable name="b_inst_" select="../../@INSTANCE"/>
<xsl:variable name="b_icls_" select="../../@MODCLASS"/>
<xsl:variable name="is_mast_in_focus_" select="count($G_ROOT/SAV/MASTER[(@INSTANCE = $b_inst_)])"/>
<xsl:variable name="is_peri_in_focus_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[@NAME = $b_inst_])"/>
<xsl:if test="(($is_peri_in_focus_ + $is_mast_in_focus_) = 0)"><UNFOCUSED/></xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:variable>
<xsl:variable name="mod_id_" select="@INSTANCE"/>
<xsl:variable name="potential_masts_id_" select="concat('__GROUP_MASTER__.',@INSTANCE)"/>
<xsl:variable name="is_master_" select="count($G_GROUPS/BLOCK[(@ID = $potential_masts_id_)])"/>
<xsl:variable name="is_peripheral_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[@NAME = $mod_id_])"/>
<xsl:variable name="num_potential_bifs_" select="count(exsl:node-set($bif_scope_)/POTENTIAL)"/>
<xsl:variable name="num_connected_bifs_" select="count(exsl:node-set($bif_scope_)/CONNECTED)"/>
<xsl:variable name="num_unfocused_bifs_" select="count(exsl:node-set($bif_scope_)/UNFOCUSED)"/>
<!--
-->
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> <xsl:value-of select="$num_connected_bifs_"/> connected BIFS</xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> <xsl:value-of select="$num_potential_bifs_"/> potential bifs </xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> <xsl:value-of select="$num_unfocused_bifs_"/> unfocused bifs </xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> <xsl:value-of select="$is_peripheral_"/> is a peripheral</xsl:message></xsl:if>
<xsl:if test="(($num_connected_bifs_ + $num_potential_bifs_ + $is_peripheral_) &gt; 0)">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING POTENTIAL MODULE <xsl:value-of select="@INSTANCE"/></xsl:message></xsl:if>
<xsl:choose>
<xsl:when test="$G_ROOT/SAV/@MODE = 'TREE'">
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="@INSTANCE"/></xsl:attribute>
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
<xsl:choose>
<xsl:when test="(($is_peripheral_ &gt; 0) or ($num_connected_bifs_ &gt; 0))">
<xsl:attribute name="CONNECTED_INDEX"><xsl:value-of select="@MHS_INDEX"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="POTENTIAL_INDEX"><xsl:value-of select="@MHS_INDEX"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="count($G_ROOT/SAV/MASTER[(@INSTANCE = $mod_id_)]) &gt; 0">
<xsl:attribute name="RGB_BG"><xsl:value-of select="$COL_FOCUSED_MASTER"/></xsl:attribute>
</xsl:when>
<xsl:when test="$num_unfocused_bifs_ &gt; 0">
<xsl:attribute name="RGB_FG"><xsl:value-of select="$COL_BG_OUTOF_FOCUS_CONNECTIONS"/></xsl:attribute>
</xsl:when>
</xsl:choose>
<!-- CR452579 Can only modify INSTANCE name in Hierarchal view. -->
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="INSTANCE" VALUE="{@INSTANCE}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{@MODTYPE}" VIEWICON="{LICENSEINFO/@ICON_NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{@HWVERSION}"/>
<xsl:variable name="ipClassification_">
<xsl:call-template name="F_ModClass_To_IpClassification">
<xsl:with-param name="iModClass" select="@MODCLASS"/>
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
</xsl:call-template>
</xsl:variable>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Classification" NAME="IPCLASS" VALUE="{$ipClassification_}"/>
<xsl:apply-templates select="BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]" mode="_bif_view_focusing_on_potentials"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]" mode="_bif_view_focusing_on_potentials"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
<!--
+++++++++++++++++++++++++++++++++++++++++++++++++++++
BUS INTERFACE TEMPLATES
+++++++++++++++++++++++++++++++++++++++++++++++++++++
-->
<!--
===================================================
THE BIF TEMPLATE FOR CONNECTED MODULES
IN BIF VIEW PROC FOCUS
===================================================
-->
<xsl:template match="BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]" mode="_bif_view_focusing_on_connected">
<xsl:variable name="m_instance_" select="../../@INSTANCE"/>
<xsl:variable name="b_std_" select="@BUSSTD"/>
<xsl:variable name="b_bus_" select="@BUSNAME"/>
<xsl:variable name="b_name_" select="@NAME"/>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> EXAMINING CONNECTED INTERFACE <xsl:value-of select="$m_instance_"/>.<xsl:value-of select="$b_name_"/></xsl:message></xsl:if>
<xsl:variable name="bif_scope_">
<xsl:choose>
<xsl:when test="($b_bus_ = '__NOC__')"><POTENTIAL/></xsl:when>
<xsl:when test="((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR')) and (count(key('G_MAP_P2P_BIFS',$b_bus_)[not(@BUSNAME = '__NOC__')]) &gt; 0)">
<xsl:variable name="p2p_scope_">
<xsl:for-each select="$G_SYS_MODS"> <!-- to put in right scope for key below -->
<xsl:for-each select="key('G_MAP_P2P_BIFS',$b_bus_)[not(@BUSNAME = '__NOC__')]">
<xsl:variable name="p2p_bifname_" select="@NAME"/>
<xsl:variable name="p2p_instance_" select="../../@INSTANCE"/>
<xsl:variable name="num_proc_connections_" select="count(key('G_MAP_PROCESSORS',$p2p_instance_))"/>
<xsl:variable name="num_mast_connections_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_])"/>
<xsl:variable name="num_peri_connections_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[(@NAME = $p2p_instance_)])"/>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> <xsl:value-of select="$p2p_instance_"/>.<xsl:value-of select="$p2p_bifname_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> PROC CONNECTIONS <xsl:value-of select="$num_proc_connections_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> MAST CONNECTIONS <xsl:value-of select="$num_mast_connections_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> PERI CONNECTIONS <xsl:value-of select="$num_peri_connections_"/></xsl:message></xsl:if>
<xsl:if test="($num_mast_connections_ = 0) and ($num_proc_connections_ &gt; 0)"><OUTSCOPE/></xsl:if>
<xsl:if test="($num_mast_connections_ &gt; 0) or ($num_peri_connections_ &gt; 0)"><INSCOPE/></xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="num_p2p_inscope_" select="count(exsl:node-set($p2p_scope_)/INSCOPE)"/>
<xsl:variable name="num_p2p_outscope_" select="count(exsl:node-set($p2p_scope_)/OUTSCOPE)"/>
<xsl:if test="(($num_p2p_inscope_ &gt; 0) and ($num_p2p_outscope_ = 0))"><CONNECTED/></xsl:if>
</xsl:when>
<xsl:when test="(@TYPE = 'MASTER')">
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_]) &gt; 0"><CONNECTED/></xsl:if>
</xsl:when>
<xsl:when test="(@TYPE = 'SLAVE') and not(MASTERS/MASTER)">
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_]) &gt; 0"><CONNECTED/></xsl:if>
<xsl:if test="($b_bus_ = '__NOC__') and count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@BUSSTD = $b_std_]) &gt; 0"><POTENTIAL/></xsl:if>
</xsl:when>
<xsl:when test="(MASTERS/MASTER)">
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_]) &gt; 0"><POTENTIAL/></xsl:if>
<xsl:for-each select="MASTERS/MASTER">
<xsl:variable name="m_inst_" select="@INSTANCE"/>
<xsl:choose>
<xsl:when test="count($G_ROOT/SAV/MASTER[(@INSTANCE = $m_inst_)]) &gt; 0"><CONNECTED/></xsl:when>
<xsl:when test="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[(@NAME = $m_inst_)]) &gt; 0"><CONNECTED/></xsl:when>
<xsl:otherwise><UNFOCUSED/></xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="num_scope_unfocuseds_" select="count(exsl:node-set($bif_scope_)/UNFOCUSED)"/>
<xsl:variable name="num_scope_potentials_" select="count(exsl:node-set($bif_scope_)/POTENTIAL)"/>
<xsl:variable name="num_scope_connecteds_" select="count(exsl:node-set($bif_scope_)/CONNECTED)"/>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> CONNECTED SCOPE <xsl:value-of select="$num_scope_connecteds_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> POTENTIAL SCOPE <xsl:value-of select="$num_scope_potentials_"/></xsl:message></xsl:if>
<xsl:variable name="include_bif_">
<xsl:choose>
<xsl:when test="($b_bus_ = '__NOC__')">TRUE</xsl:when>
<xsl:when test="(((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR')) and ($num_scope_connecteds_ &gt; 0))">TRUE</xsl:when>
<xsl:when test="((@TYPE = 'MASTER') or (@TYPE = 'SLAVE') or (@TYPE = 'MASTER_SLAVE')) and (($num_scope_potentials_ &gt; 0) or ($num_scope_connecteds_ &gt; 0))">TRUE</xsl:when>
<xsl:otherwise>FALSE</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="($include_bif_ = 'TRUE')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> PLACING CONNECTED INTERFACE <xsl:value-of select="$m_instance_"/>.<xsl:value-of select="$b_name_"/></xsl:message></xsl:if>
<xsl:variable name="bif_col_">
<xsl:choose>
<xsl:when test="($num_scope_unfocuseds_ &gt; 0)"><xsl:value-of select="$COL_BG_OUTOF_FOCUS_CONNECTIONS"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="$G_ROOT/SAV/@MODE = 'TREE'">
<xsl:call-template name="WRITE_VIEW_BIF_TREE_SET">
<xsl:with-param name="iModRef" select="../.."/>
<xsl:with-param name="iBifRef" select="self::node()"/>
<xsl:with-param name="iBifCol" select="$bif_col_"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$G_ROOT/SAV/@MODE = 'FLAT'">
<xsl:call-template name="WRITE_VIEW_BIF_FLAT_SET">
<xsl:with-param name="iModRef" select="../.."/>
<xsl:with-param name="iBifRef" select="self::node()"/>
<xsl:with-param name="iBifCol" select="$bif_col_"/>
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:template>
<!--
===================================================
THE BIF TEMPLATE FOR POTENTIAL MODULES
IN BIF VIEW PROC FOCUS
===================================================
-->
<xsl:template match="BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]" mode="_bif_view_focusing_on_potentials">
<xsl:variable name="m_instance_" select="../../@INSTANCE"/>
<xsl:variable name="b_name_" select="@NAME"/>
<xsl:variable name="b_std_" select="@BUSSTD"/>
<xsl:variable name="b_bus_" select="@BUSNAME"/>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> EXAMINING POTENTIAL INTERFACE <xsl:value-of select="$m_instance_"/>.<xsl:value-of select="$b_name_"/></xsl:message></xsl:if>
<xsl:variable name="bif_scope_">
<xsl:choose>
<xsl:when test="($b_bus_ = '__NOC__')"><POTENTIAL/></xsl:when>
<xsl:when test="((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR')) and (count(key('G_MAP_P2P_BIFS',$b_bus_)[not(@BUSNAME = '__NOC__')]) &gt; 0)">
<xsl:variable name="p2p_scope_">
<xsl:for-each select="$G_SYS_MODS">
<xsl:for-each select="key('G_MAP_P2P_BIFS',$b_bus_)[not(@BUSNAME = '__NOC__')]">
<xsl:variable name="b_instance_" select="../../@INSTANCE"/>
<xsl:variable name="num_proc_connections_" select="count(key('G_MAP_PROCESSORS',$b_instance_))"/>
<xsl:variable name="num_mast_connections_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_])"/>
<xsl:variable name="num_peri_connections_" select="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[(@NAME = $b_instance_)])"/>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> PROC CONNECTIONS <xsl:value-of select="$num_proc_connections_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> MAST CONNECTIONS <xsl:value-of select="$num_mast_connections_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> PERI CONNECTIONS <xsl:value-of select="$num_peri_connections_"/></xsl:message></xsl:if>
<xsl:if test="($num_mast_connections_ = 0) and ($num_proc_connections_ &gt; 0)"><OUTSCOPE/></xsl:if>
<xsl:if test="($num_mast_connections_ &gt; 0) or ($num_peri_connections_ &gt; 0)"><INSCOPE/></xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="num_p2p_inscope_" select="count(exsl:node-set($p2p_scope_)/INSCOPE)"/>
<xsl:variable name="num_p2p_outscope_" select="count(exsl:node-set($p2p_scope_)/OUTSCOPE)"/>
<xsl:if test="(($num_p2p_inscope_ &gt; 0) and ($num_p2p_outscope_ = 0))"><CONNECTED/></xsl:if>
</xsl:when>
<xsl:when test="(((@TYPE = 'SLAVE') and not(MASTERS/MASTER)) or (@TYPE = 'MASTER'))">
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_]) &gt; 0"><CONNECTED/></xsl:if>
<xsl:if test="($b_bus_ = '__NOC__') and count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@BUSSTD = $b_std_]) &gt; 0"><POTENTIAL/></xsl:if>
</xsl:when>
<xsl:when test="(MASTERS/MASTER)">
<xsl:if test="count(exsl:node-set($G_FOCUSED_SCOPE)/BUS[@NAME = $b_bus_]) &gt; 0"><POTENTIAL/></xsl:if>
<xsl:for-each select="MASTERS/MASTER">
<xsl:variable name="m_inst_" select="@INSTANCE"/>
<xsl:choose>
<xsl:when test="count($G_ROOT/SAV/MASTER[(@INSTANCE = $m_inst_)]) &gt; 0"><CONNECTED/></xsl:when>
<xsl:when test="count(exsl:node-set($G_FOCUSED_SCOPE)/PERIPHERAL[(@NAME = $m_inst_)]) &gt; 0"><CONNECTED/></xsl:when>
<xsl:otherwise><UNFOCUSED/></xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="num_scope_potentials_" select="count(exsl:node-set($bif_scope_)/POTENTIAL)"/>
<xsl:variable name="num_scope_connecteds_" select="count(exsl:node-set($bif_scope_)/CONNECTED)"/>
<xsl:variable name="num_scope_unfocuseds_" select="count(exsl:node-set($bif_scope_)/UNFOCUSED)"/>
<xsl:variable name="include_bif_">
<xsl:choose>
<xsl:when test="($b_bus_ = '__NOC__')">TRUE</xsl:when>
<xsl:when test="(((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR')) and ($num_scope_connecteds_ &gt; 0))">TRUE</xsl:when>
<xsl:when test="((@TYPE = 'MASTER') or (@TYPE = 'SLAVE') or (@TYPE = 'MASTER_SLAVE')) and (($num_scope_potentials_ &gt; 0) or ($num_scope_connecteds_ &gt; 0))">TRUE</xsl:when>
<xsl:otherwise>FALSE</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="bif_col_">
<xsl:choose>
<xsl:when test="($num_scope_unfocuseds_ &gt; 0)"><xsl:value-of select="$COL_BG_OUTOF_FOCUS_CONNECTIONS"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="($include_bif_ = 'TRUE')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> PLACING POTENTIAL INTERFACE <xsl:value-of select="$m_instance_"/>.<xsl:value-of select="$b_name_"/></xsl:message></xsl:if>
<xsl:if test="$G_ROOT/SAV/@MODE = 'TREE'">
<xsl:call-template name="WRITE_VIEW_BIF_TREE_SET">
<xsl:with-param name="iModRef" select="../.."/>
<xsl:with-param name="iBifRef" select="self::node()"/>
<xsl:with-param name="iBifCol" select="$bif_col_"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$G_ROOT/SAV/@MODE = 'FLAT'">
<xsl:call-template name="WRITE_VIEW_BIF_FLAT_SET">
<xsl:with-param name="iModRef" select="../.."/>
<xsl:with-param name="iBifRef" select="self::node()"/>
<xsl:with-param name="iBifCol" select="$bif_col_"/>
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:template>
<!-- THINGS TO IGNORE -->
<!-- Ignore all non valid bus interfaces -->
<xsl:template match="MODULE/DESCRIPTION" mode="_bif_view_focusing_on_potentials">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<xsl:template match="MODULE/PARAMETERS" mode="_bif_view_focusing_on_potentials">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<xsl:template match="MODULE/DOCUMENTATION" mode="_bif_view_focusing_on_potentials">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<xsl:template match="MODULE/LICENSEINFO" mode="_bif_view_focusing_on_potentials">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<!-- Ignore all non valid bus interfaces -->
<xsl:template match="BUSINTERFACES/BUSINTERFACE[(@IS_VALID = 'FALSE')]" mode="_bif_view_focusing_on_potentials">
</xsl:template>
<xsl:template match="MODULE/DESCRIPTION" mode="_bif_view_focusing_on_connected">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<xsl:template match="MODULE/PARAMETERS" mode="_bif_view_focusing_on_connected">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<xsl:template match="MODULE/DOCUMENTATION" mode="_bif_view_focusing_on_connected">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<xsl:template match="MODULE/LICENSEINFO" mode="_bif_view_focusing_on_connected">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<xsl:template match="BUSINTERFACES/BUSINTERFACE[(@IS_VALID = 'FALSE')]" mode="_bif_view_focusing_on_connected">
</xsl:template>
<!-- Ignore all non valid bus interfaces -->
<xsl:template match="SAV" mode="_port_view_focusing_on_selected">
</xsl:template>
<xsl:template match="MODULE/DESCRIPTION" mode="_port_view_focusing_on_selected">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<xsl:template match="MODULE/PARAMETERS" mode="_port_view_focusing_on_selected">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<xsl:template match="MODULE/DOCUMENTATION" mode="_port_view_focusing_on_selected">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<xsl:template match="MODULE/LICENSEINFO" mode="_port_view_focusing_on_selected">
<!-- <xsl:message>Ignoring invalid bus interface <xsl:value-of select="@NAME"/></xsl:message> -->
</xsl:template>
<!-- Ignore all non valid bus interfaces -->
<xsl:template match="BUSINTERFACES/BUSINTERFACE[(@IS_VALID = 'FALSE')]" mode="_port_view_focusing_on_selected">
</xsl:template>
<!--
Only write bus interfaces that are valid for non point to point interfaces
that have busstds the processor can see
-->
<!--
===============================================
GROUP VIEW TRANSFORMS
===============================================
-->
<xsl:template name="WRITE_VIEW_GROUPS">
<xsl:param name="iModules"/>
<xsl:if test="$G_DEBUG='TRUE'">
<!--
<xsl:message>BLKD AREA = <xsl:value-of select="$blkd_full_w_"/> X <xsl:value-of select="$blkd_full_h_"/></xsl:message>
<xsl:message>NUMOF BUSSTD COLORS = <xsl:value-of select="$COL_BUSSTDS_NUMOF"/></xsl:message>
<xsl:message>NUMOF INTERFACE TYPES= <xsl:value-of select="$G_IFTYPES_NUMOF"/></xsl:message>
<xsl:message>NUMOF DIRS = <xsl:value-of select="$G_BLKD_COMPASS_DIRS_NUMOF"/></xsl:message>
<xsl:apply-templates select="$G_BLOCKS/node()" mode="_place_module_blocks_"/>
-->
</xsl:if>
<xsl:element name="SET">
<xsl:attribute name="CLASS">PROJECT</xsl:attribute>
<xsl:attribute name="VIEW_ID">BUSINTERFACE</xsl:attribute>
<xsl:attribute name="DISPLAYMODE">TREE</xsl:attribute>
<xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
<xsl:with-param name="iModules" select="$G_BLOCKS"/>
</xsl:call-template>
</xsl:element>
</xsl:template>
<xsl:template name="WRITE_VIEW_BIF_GROUPS">
<xsl:param name="iModules"/>
<xsl:for-each select="$iModules/BLOCK[@ID and not(BLOCK) and not(@C)]">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING BUS <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:variable name="m_id_" select="@ID"/>
<xsl:variable name="m_module_" select="$G_SYS_MODS/MODULE[@INSTANCE = $m_id_]"/>
<xsl:variable name="m_instance_" select="$m_module_/@INSTANCE"/>
<xsl:variable name="m_version_" select="$m_module_/@HWVERSION"/>
<xsl:variable name="m_type_" select="$m_module_/@MODTYPE"/>
<xsl:variable name="m_class_" select="$m_module_/@MODCLASS"/>
<xsl:variable name="m_busstd_" select="$m_module_/@BUSSTD"/>
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="@ID"/></xsl:attribute>
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Name</xsl:attribute>
<xsl:attribute name="VIEWTYPE">TEXTBOX</xsl:attribute>
<xsl:attribute name="NAME">INSTANCE</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$m_instance_"/></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Type</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">MODTYPE</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$m_type_"/></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Version</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">HWVERSION</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$m_version_"/></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Classification</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">IPCLASS</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$m_busstd_"/> BUS</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:for-each>
<xsl:for-each select="$iModules/BLOCK[@ID and BLOCK]">
<xsl:choose>
<xsl:when test="not(starts-with(@ID,'__')) and BLOCK[@C] and (not(BLOCK/BLOCK) or BLOCK/BLOCK[@CP])">
<!--
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING MODULE <xsl:value-of select="@ID"/></xsl:message></xsl:if>
-->
<xsl:variable name="m_id_" select="@ID"/>
<xsl:variable name="m_module_" select="$G_SYS_MODS/MODULE[@INSTANCE = $m_id_]"/>
<xsl:variable name="m_instance_" select="$m_module_/@INSTANCE"/>
<xsl:variable name="m_type_" select="$m_module_/@MODTYPE"/>
<xsl:variable name="m_class_" select="$m_module_/@MODCLASS"/>
<xsl:variable name="m_version_" select="$m_module_/@HWVERSION"/>
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="@ID"/></xsl:attribute>
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Name</xsl:attribute>
<xsl:attribute name="VIEWTYPE">TEXTBOX</xsl:attribute>
<xsl:attribute name="NAME">INSTANCE</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$m_instance_"/></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Type</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">MODTYPE</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$m_type_"/></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Version</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">HWVERSION</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$m_version_"/></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">IP Classification</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">IPCLASS</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$m_class_"/></xsl:attribute>
</xsl:element>
<xsl:for-each select="BLOCK[@C and @ID]">
<xsl:variable name="b_bus_" select="@C"/>
<xsl:variable name="b_name_" select="@ID"/>
<xsl:variable name="b_if_" select="$m_module_/BUSINTERFACES/BUSINTERFACE[(@NAME = $b_name_)]"/>
<xsl:variable name="b_type_" select="$b_if_/@TYPE"/>
<xsl:variable name="b_busstd_" select="$b_if_/@BUSSTD"/>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING BIF <xsl:value-of select="$b_name_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> TYPE <xsl:value-of select="$b_type_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> BUS <xsl:value-of select="$b_bus_"/></xsl:message></xsl:if>
<xsl:variable name="b_busNameViewType_">
<xsl:choose>
<xsl:when test="$b_type_ = 'INITIATOR'">TEXTBOX</xsl:when>
<xsl:when test="starts-with(@ID,'S_AXI')">BUTTON</xsl:when>
<xsl:when test="starts-with(@ID,'S0_AXI')">BUTTON</xsl:when>
<xsl:when test="starts-with(@ID,'S1_AXI')">BUTTON</xsl:when>
<xsl:otherwise>DROPDOWN</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="b_busName_">
<xsl:choose>
<xsl:when test="$b_if_/MASTERS/MASTER">
<xsl:variable name="mastersList_"><xsl:for-each select="$b_if_/MASTERS/MASTER"><xsl:if test="position() &gt; 1"> &amp; </xsl:if><xsl:value-of select="concat(@INSTANCE,'.',@BUSINTERFACE)"/></xsl:for-each></xsl:variable>
<xsl:variable name="mastersConn_" select="concat($b_bus_,':',$mastersList_)"/>
<xsl:value-of select="$mastersConn_"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="$b_bus_"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> VIEWTYPE <xsl:value-of select="$b_busNameViewType_"/></xsl:message></xsl:if>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message> BUSNAME <xsl:value-of select="$b_busName_"/></xsl:message></xsl:if>
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="@ID"/></xsl:attribute>
<xsl:attribute name="CLASS">BUSINTERFACE</xsl:attribute>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">NAME</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">NAME</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$b_name_"/></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
<xsl:attribute name="VIEWTYPE"><xsl:value-of select="$b_busNameViewType_"/></xsl:attribute>
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$b_busName_"/></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Type</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">TYPE</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$b_type_"/></xsl:attribute>
</xsl:element>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">Bus Standard</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">BUSSTD</xsl:attribute>
<xsl:attribute name="VALUE"><xsl:value-of select="$b_busstd_"/></xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_PROCESSOR__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PROCESSOR GROUP<xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:variable name="p_id_" select="substring-after(@ID,'__GROUP_PROCESSOR__')"/>
<xsl:variable name="m_id_" select="concat('PROCESSOR',$p_id_)"/>
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="$m_id_"/></xsl:attribute>
<xsl:attribute name="CLASS">GROUP</xsl:attribute>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">NAME</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">INSTANCE</xsl:attribute>
<xsl:attribute name="VALUE">Subsystem of <xsl:value-of select="$p_id_"/></xsl:attribute>
</xsl:element>
<xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:element>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_MASTER__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>MASTER GROUP<xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:variable name="p_id_" select="substring-after(@ID,'__GROUP_MASTER__')"/>
<xsl:variable name="m_id_" select="concat('MASTER',$p_id_)"/>
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="$m_id_"/></xsl:attribute>
<xsl:attribute name="CLASS">GROUP</xsl:attribute>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">NAME</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">INSTANCE</xsl:attribute>
<xsl:attribute name="VALUE">Subsystem of <xsl:value-of select="$p_id_"/></xsl:attribute>
</xsl:element>
<xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:element>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_SHARED__')">
<xsl:variable name="s_id_" select="substring-after(@ID,'__GROUP_SHARED__')"/>
<xsl:variable name="m_id_" select="concat('SHARED',$s_id_)"/>
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING SHARED PERIPHERALS <xsl:value-of select="$s_id_"/></xsl:message></xsl:if>
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="$m_id_"/></xsl:attribute>
<xsl:attribute name="CLASS">GROUP</xsl:attribute>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">NAME</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">INSTANCE</xsl:attribute>
<xsl:attribute name="VALUE">Peripherals shared by <xsl:value-of select="$s_id_"/></xsl:attribute>
</xsl:element>
<xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:element>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_MEMORY__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING MEMORY <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:variable name="m_id_" select="substring-after(@ID,'__GROUP_MEMORY__')"/>
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="$m_id_"/></xsl:attribute>
<xsl:attribute name="CLASS">GROUP</xsl:attribute>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">NAME</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">INSTANCE</xsl:attribute>
<xsl:attribute name="VALUE">(Memory) <xsl:value-of select="$m_id_"/></xsl:attribute>
</xsl:element>
<xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:element>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_PERIPHERAL__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING PERIPHERAL <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="starts-with(@ID,'__GROUP_SLAVES__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING SLAVES <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:when>
<!--
<xsl:when test="starts-with(@ID,'__GROUP_SLAVES__')">
<xsl:if test="$G_DEBUG='TRUE'"><xsl:message>PLACING SLAVES GOUP <xsl:value-of select="@ID"/></xsl:message></xsl:if>
<xsl:variable name="m_id_" select="substring-after(@ID,'__GROUP_SLAVES__')"/>
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="$m_id_"/></xsl:attribute>
<xsl:attribute name="CLASS">GROUP</xsl:attribute>
<xsl:element name="VARIABLE">
<xsl:attribute name="VIEWDISP">NAME</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
<xsl:attribute name="NAME">INSTANCE</xsl:attribute>
<xsl:attribute name="VALUE">(Slaves of) <xsl:value-of select="$m_id_"/></xsl:attribute>
</xsl:element>
<xsl:call-template name="F_Write_XTeller_MODULES">
<xsl:with-param name="iModules" select="self::node()"/>
</xsl:call-template>
</xsl:element>
</xsl:when>
-->
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE stylesheet [
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
<!ENTITY HEXUPPER "ABCDEFxX0123456789">
<!ENTITY HEXLOWER "abcdefxX0123456789">
<!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xmlns:dyn="http://exslt.org/dynamic"
xmlns:math="http://exslt.org/math"
xmlns:xlink="http://www.w3.org/1999/xlink"
extension-element-prefixes="math dyn exsl xlink">
<!--
================================================================================
Generate XTeller for PORTS
================================================================================
-->
<xsl:param name="SHOW_IOIF" select="'TRUE'"/>
<xsl:param name="SHOW_BUSIF" select="'TRUE'"/>
<xsl:template name="WRITE_VIEW_PORT_TREE">
<xsl:variable name="num_of_ext_ports_" select="count($G_SYS_EXPS/PORT)"/>
<xsl:if test="$G_DEBUG='TRUE'">
<xsl:message>WRITING PORT in MODE :<xsl:value-of select="@MODE"/></xsl:message>
<!--
<xsl:message>EXTERNAL PORT <xsl:value-of select="$num_of_ext_ports_"/></xsl:message>
-->
</xsl:if>
<xsl:if test="$num_of_ext_ports_ &gt; 0">
<xsl:call-template name="WRITE_VIEW_EXTP_TREE_SET"/>
</xsl:if>
<xsl:for-each select="$G_SYS_MODS/MODULE">
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
<xsl:variable name= "instName_" select="@INSTANCE"/>
<xsl:variable name="moduleRef_" select="self::node()"/>
<xsl:call-template name="WRITE_VIEW_PORT_TREE_SET">
<xsl:with-param name="iModRef" select="$moduleRef_"/>
</xsl:call-template>
</xsl:for-each> <!-- End of MODULES loop -->
</xsl:template>
<xsl:template name="WRITE_VIEW_EXTP_TREE_SET">
<xsl:element name="SET">
<xsl:attribute name="ID">ExternalPorts</xsl:attribute>
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
<xsl:for-each select="$G_SYS_EXPS">
<xsl:element name="VARIABLE">
<xsl:attribute name="NAME">Name</xsl:attribute>
<xsl:attribute name="VALUE">External Ports</xsl:attribute>
<xsl:attribute name="VIEWDISP">Name</xsl:attribute>
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
</xsl:element>
<xsl:for-each select="PORT">
<xsl:sort select="@NAME" order="ascending"/>
<!--
<xsl:sort data-type="number" select="@MHS_INDEX" order="ascending"/>
-->
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="@NAME"/></xsl:attribute>
<xsl:attribute name="CLASS">PORT</xsl:attribute>
<xsl:attribute name="ROW_INDEX"><xsl:value-of select="(position() - 1)"/></xsl:attribute>
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_EDITABLE="TRUE"/>
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="NAME" VALUE="{@NAME}"/>
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Direction" NAME="DIR" VALUE="{@DIR}"/>
<xsl:if test="(@SIGIS)">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="{@SIGIS}"/>
</xsl:if>
<xsl:if test="not(@SIGIS)">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="NONE"/>
</xsl:if>
<xsl:choose>
<xsl:when test="@LEFT and @RIGHT">
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@LEFT"/>:<xsl:value-of select="@RIGHT"/>]</xsl:variable>
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}">
<TOOLTIP><qt><xsl:value-of select="$vecformula_txt_"/></qt></TOOLTIP>
</VARIABLE>
</xsl:when>
<xsl:when test="@MSB and @LSB">
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:variable>
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}">
<TOOLTIP><qt><xsl:value-of select="$vecformula_txt_"/></qt></TOOLTIP>
</VARIABLE>
</xsl:when>
<xsl:when test="(not(@MSB) and not(@LSB) and not(@SIGIS = 'CLK') and not(@SIGIS = 'CLOCK') and not(@SIGIS = 'DCMCLK') and not(@SIGIS = 'RST') and not(@SIGIS = 'RESET'))">
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE=""/>
</xsl:when>
</xsl:choose>
<xsl:if test="((@SIGIS = 'CLK') or (@SIGIS = 'CLOCK') or (@SIGIS = 'DCMCLK'))">
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Frequency(Hz)" NAME="CLKFREQUENCY" VALUE="{@CLKFREQUENCY}"/>
</xsl:if>
<xsl:if test="((@SIGIS = 'CLK') or (@SIGIS = 'CLOCK') or (@SIGIS = 'DCMCLK'))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Differential Polarity" NAME="DIFFPOLARITY" VALUE="{@DIFFPOLARITY}"/>
</xsl:if>
<xsl:if test="(@SIGIS = 'RST' or @SIGIS = 'RESET')">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Reset Polarity" NAME="RSTPOLARITY" VALUE="{@RSTPOLARITY}"/>
</xsl:if>
<xsl:if test="(@SIGIS = 'INTERRUPT')">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
</xsl:if>
<!-- Add connectivity information-->
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" />
<xsl:variable name="noOFConnections" select="count(CONNECTIONS/CONNECTION)" />
<xsl:if test="$noOFConnections != 0" >
<!--VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" /-->
<CONNECTIONS>
<xsl:for-each select="CONNECTIONS/CONNECTION" >
<xsl:variable name="iInstance" select="@INSTANCE"/>
<xsl:variable name="iPort" select="@PORT"/>
<xsl:choose>
<xsl:when test="@BUSINTERFACE">
<xsl:variable name="iBusName" select="@BUSINTERFACE"/>
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}" BUSINTERFACE="{$iBusName}"/>
</xsl:when>
<xsl:when test="@PORT">
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}"/>
</xsl:when>
<xsl:otherwise>
<CONNECTION INSTANCE="{$iInstance}"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</CONNECTIONS>
</xsl:if>
</xsl:element>
</xsl:for-each> <!-- End of EXTERNAL PORTS loop -->
</xsl:for-each> <!-- End of EXTERNAL PORTS loop -->
</xsl:element> <!-- End of EXTERNAL PORTS SET -->
</xsl:template>
<xsl:template name="WRITE_VIEW_PORT_TREE_SET">
<xsl:param name="iModRef" select="'__NONE__'"/>
<xsl:variable name="m_inst_" select="$iModRef/@INSTANCE"/>
<xsl:variable name="m_class_" select="$iModRef/@MODCLASS"/>
<xsl:variable name="m_type_" select="$iModRef/@MODTYPE"/>
<xsl:variable name="m_type_lc_" select="translate($m_type_,&UPPER2LOWER;)"/>
<xsl:variable name="m_version_" select="$iModRef/@HWVERSION"/>
<xsl:variable name="m_licinfo_" select="$iModRef/LICENSEINFO"/>
<xsl:variable name="m_ports_" select="$iModRef/PORTS"/>
<xsl:variable name="is_axi_interconnect_">
<xsl:choose>
<xsl:when test="$m_type_ = 'axi_interconnect'">TRUE</xsl:when>
<xsl:when test="$m_type_lc_ = 'axi_interconnect'">TRUE</xsl:when>
<xsl:otherwise>FALSE</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:for-each select="$G_SYS_MODS"> <!-- To put things in the right scope for the keys below -->
<xsl:variable name="m_iofs_all_" select="key('G_MAP_ALL_IOFS', $m_inst_)"/>
<xsl:variable name="m_bifs_all_" select="key('G_MAP_ALL_BIFS', $m_inst_)"/>
<xsl:variable name="m_ports_def_" select="key('G_MAP_DEF_PORTS',$m_inst_)"/>
<xsl:variable name="m_ports_ndf_" select="key('G_MAP_NDF_PORTS',$m_inst_)"/>
<!--
<xsl:if test="$G_DEBUG = 'TRUE'">
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_bifs_all_)"/> valid bifs </xsl:message>
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_iofs_all_)"/> valid iofs </xsl:message>
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_ports_def_)"/> default ports </xsl:message>
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_ports_ndf_)"/> non default ports </xsl:message>
<xsl:message></xsl:message>
</xsl:if>
-->
<SET ID="{$m_inst_}" CLASS="MODULE" MODCLASS="{$m_class_}">
<!-- CR452579
Can only modify INSTANCE name in Hierarchal view.
-->
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="INSTANCE" VALUE="{$m_inst_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$m_type_}" VIEWICON="{$m_licinfo_/@ICON_NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$m_version_}"/>
<!--
CR582477,
(among others) special case of axi_interconnect_aclk which is a member of
a bus interface, but should be treated as a non interface port, (i.e. appear even
if the bus interfaces its a member of is invalid.
-->
<xsl:if test="($is_axi_interconnect_ = 'TRUE')">
<!-- do it this way so we also catch the lower-upper case mismatches -->
<xsl:for-each select="key('G_MAP_ALL_PORTS',$m_inst_)[contains(@SIGIS,'CLK')]">
<xsl:variable name="uc_portName_" select="translate(@NAME,&LOWER2UPPER;)"/>
<xsl:if test="($uc_portName_= 'INTERCONNECT_ACLK')">
<!--
<xsl:message><xsl:value-of select="$m_inst_"/>.<xsl:value-of select="@NAME"/> = <xsl:value-of select="@SIGIS"/></xsl:message>
-->
<xsl:variable name="portName_" select="@NAME"/>
<xsl:variable name="portDir_" select="@DIR"/>
<xsl:variable name="portSig_" select="@SIGNAME"/>
<xsl:variable name="portSigIs_">
<xsl:choose>
<xsl:when test="not(@SIGIS)">__NONE__</xsl:when>
<xsl:otherwise><xsl:value-of select="@SIGIS"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portSensi_">
<xsl:choose>
<xsl:when test="(@SENSITIVITY)"><xsl:value-of select="@SENSITIVIITY"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portVecFormula_">
<xsl:choose>
<xsl:when test="@VECFORMULA"><xsl:value-of select="@VECFORMULA"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portRange_">
<xsl:choose>
<xsl:when test="@MSB and @LSB">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="WRITE_PORT_SET">
<xsl:with-param name="iName" select="$portName_"/>
<xsl:with-param name="iDir" select="$portDir_"/>
<xsl:with-param name="iSigName" select="$portSig_"/>
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
<xsl:with-param name="iPortRange" select="$portRange_"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</xsl:if>
<!-- PORTS not part of an INTERFACE -->
<xsl:for-each select="$m_ports_ndf_">
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
<xsl:variable name="uc_portName_" select="translate(@NAME,&LOWER2UPPER;)"/>
<!--
<xsl:if test="((not(@BUS) and not(@IOS)) or (($is_axi_interconnect_ = 'TRUE') and ($uc_portName_= 'INTERCONNECT_ACLK')))">
</xsl:if>
-->
<xsl:variable name="portName_" select="@NAME"/>
<xsl:variable name="portDir_" select="@DIR"/>
<xsl:variable name="portSig_" select="@SIGNAME"/>
<xsl:variable name="portSigIs_">
<xsl:choose>
<xsl:when test="not(@SIGIS)">__NONE__</xsl:when>
<xsl:otherwise><xsl:value-of select="@SIGIS"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portSensi_">
<xsl:choose>
<xsl:when test="(@SENSITIVITY)"><xsl:value-of select="@SENSITIVITY"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portVecFormula_">
<xsl:choose>
<xsl:when test="@VECFORMULA"><xsl:value-of select="@VECFORMULA"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portRange_">
<xsl:choose>
<xsl:when test="@MSB and @LSB">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="WRITE_PORT_SET">
<xsl:with-param name="iName" select="$portName_"/>
<xsl:with-param name="iDir" select="$portDir_"/>
<xsl:with-param name="iSigName" select="$portSig_"/>
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
<xsl:with-param name="iPortRange" select="$portRange_"/>
</xsl:call-template>
</xsl:for-each> <!-- END of PORTS NOT OF INTERFACE -->
<!-- PORTS part of a BUSINTERFACE -->
<xsl:if test="$SHOW_BUSIF = 'TRUE'">
<xsl:for-each select="$m_bifs_all_">
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
<xsl:variable name="bifName_" select="@NAME"/>
<xsl:variable name="bifRef_" select="self::node()"/>
<xsl:variable name="portmapsRef_" select="$bifRef_/PORTMAPS"/>
<!--
<xsl:variable name="bpmsCnt_" select="count($bpmsRef_/PORTMAP)"/>
<xsl:message><xsl:value-of select="$instName_"/>.<xsl:value-of select="$bifName_"/>.<xsl:value-of select="$bpmsCnt_"/></xsl:message>
-->
<xsl:variable name="is_external_">
<xsl:call-template name="F_IS_Interface_External">
<xsl:with-param name="iInstRef" select="$iModRef"/>
<xsl:with-param name="iIntfRef" select="$bifRef_"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="bif_connection_">
<xsl:choose>
<xsl:when test="not(@BUSNAME = '__NOC__')">Connected to BUS <xsl:value-of select="@BUSNAME"/></xsl:when>
<xsl:when test="($is_external_ = 'TRUE')">Connected to External Ports</xsl:when>
<xsl:otherwise>Not connected to BUS or External Ports</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- <SET ID="{@NAME}" CLASS="BUSINTERFACE.PORTS"/> -->
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="@NAME"/></xsl:attribute>
<xsl:attribute name="CLASS">BUSINTERFACE.PORTS</xsl:attribute>
<xsl:if test="$is_external_ = 'TRUE'">
<xsl:attribute name="IS_EXTERNAL">TRUE</xsl:attribute>
</xsl:if>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="(BUS_IF) {@NAME}"/>
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="BUSINTERFACE.CONNECTION" VALUE="{$bif_connection_}"/>
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="{$bif_connection_}"/>
<xsl:for-each select="$portmapsRef_/PORTMAP">
<xsl:variable name="portDir_" select="@DIR"/>
<xsl:variable name="portName_" select="@PHYSICAL"/>
<xsl:if test="$m_ports_def_[(@NAME = $portName_)]"><!-- Only in map if port is valid -->
<!--
<xsl:if test="(not($portRef_/@IS_VALID) or ($portRef_/@IS_VALID = 'TRUE'))"/>
<xsl:sort select="@MPD_INDEX" order="ascending"/>
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
-->
<xsl:variable name="portRef_" select="$m_ports_def_[(@NAME = $portName_)]"/>
<xsl:variable name="portSig_" select="$portRef_/@SIGNAME"/>
<xsl:variable name="portSigIs_">
<xsl:choose>
<xsl:when test="not($portRef_/@SIGIS)">__NONE__</xsl:when>
<xsl:otherwise><xsl:value-of select="$portRef_/@SIGIS"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portSensi_">
<xsl:choose>
<xsl:when test="($portRef_/@SENSITIVITY)"><xsl:value-of select="$portRef_/@SENSITIVITY"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portVecFormula_">
<xsl:choose>
<xsl:when test="$portRef_/@VECFORMULA"><xsl:value-of select="$portRef_/@VECFORMULA"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portRange_">
<xsl:choose>
<xsl:when test="$portRef_/@MSB and $portRef_/@LSB">[<xsl:value-of select="$portRef_/@MSB"/>:<xsl:value-of select="$portRef_/@LSB"/>]</xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="WRITE_PORT_SET">
<xsl:with-param name="iName" select="$portName_"/>
<xsl:with-param name="iDir" select="$portDir_"/>
<xsl:with-param name="iSigName" select="$portSig_"/>
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
<xsl:with-param name="iBifPortRef" select="$portRef_"/>
<xsl:with-param name="iPortRange" select="$portRange_"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each> <!-- END BIF PORTMAPS LOOP -->
</xsl:element>
</xsl:for-each> <!-- END BIFS LOOP -->
</xsl:if> <!-- END IF SHOW_BUSIFS -->
<!-- PORTS part of a IOINTERFACE -->
<xsl:if test="$SHOW_IOIF = 'TRUE'">
<xsl:for-each select="$m_iofs_all_[PORTMAPS/PORTMAP]">
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
<xsl:variable name="iifName_" select="@NAME"/>
<xsl:variable name="iifRef_" select="self::node()"/>
<xsl:variable name="portmapsRef_" select="$iifRef_/PORTMAPS"/>
<xsl:variable name="is_external_">
<xsl:call-template name="F_IS_Interface_External">
<xsl:with-param name="iInstRef" select="$iModRef"/>
<xsl:with-param name="iIntfRef" select="$iifRef_"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="iif_connection_">
<xsl:choose>
<xsl:when test="($is_external_ ='TRUE')">Connected to External Ports</xsl:when>
<xsl:otherwise>Not connected to External Ports</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:element name="SET">
<xsl:attribute name="ID"><xsl:value-of select="@NAME"/></xsl:attribute>
<xsl:attribute name="CLASS">IOINTERFACE.PORTS</xsl:attribute>
<xsl:if test="$is_external_ = 'TRUE'">
<xsl:attribute name="IS_EXTERNAL">TRUE</xsl:attribute>
</xsl:if>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="(IO_IF) {@NAME}"/>
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="IOINTERFACE.CONNECTION" VALUE="{$iif_connection_}"/>
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="{$iif_connection_}"/>
<xsl:for-each select="$portmapsRef_/PORTMAP">
<xsl:variable name="portName_" select="@PHYSICAL"/>
<xsl:variable name="portDir_" select="@DIR"/>
<!--
<xsl:variable name="port_is_valid_">
<xsl:choose>
<xsl:when test="$portRef_/@IS_VALID = 'FALSE'">FALSE</xsl:when>
<xsl:otherwise>TRUE</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:message><xsl:value-of select="$portName_"/> : <xsl:value-of select="$port_is_valid_"/> : <xsl:value-of select="$portRef_/@IS_VALID"/></xsl:message>
-->
<xsl:if test="$m_ports_def_[(@NAME = $portName_)]"> <!-- Only in map if port is valid -->
<!--
<xsl:message><xsl:value-of select="$portName_"/> </xsl:message>
-->
<xsl:variable name="portRef_" select="$m_ports_def_[(@NAME = $portName_)]"/>
<xsl:variable name="portSig_" select="$portRef_/@SIGNAME"/>
<xsl:variable name="portSigIs_">
<xsl:choose>
<xsl:when test="not($portRef_/@SIGIS)">__NONE__</xsl:when>
<xsl:otherwise><xsl:value-of select="$portRef_/@SIGIS"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portSensi_">
<xsl:choose>
<xsl:when test="($portRef_/@SENSITIVITY)"><xsl:value-of select="$portRef_/@SENSITIVITY"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portVecFormula_">
<xsl:choose>
<xsl:when test="$portRef_/@VECFORMULA"><xsl:value-of select="$portRef_/@VECFORMULA"/></xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="portRange_">
<xsl:choose>
<xsl:when test="$portRef_/@MSB and $portRef_/@LSB">[<xsl:value-of select="$portRef_/@MSB"/>:<xsl:value-of select="$portRef_/@LSB"/>]</xsl:when>
<xsl:otherwise>__NONE__</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="WRITE_PORT_SET">
<xsl:with-param name="iName" select="$portName_"/>
<xsl:with-param name="iDir" select="$portDir_"/>
<xsl:with-param name="iSigName" select="$portSig_"/>
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
<xsl:with-param name="iBifPortRef" select="$portRef_"/>
<xsl:with-param name="iPortRange" select="$portRange_"/>
</xsl:call-template>
</xsl:if> <!-- End of port is valid check -->
</xsl:for-each> <!-- END IO INTERFACE PORTMAPS LOOP -->
</xsl:element>
</xsl:for-each> <!-- END IIFS LOOP -->
</xsl:if> <!-- END IF SHOW_IOIFS -->
</SET>
</xsl:for-each> <!-- End of the scoping for key functions-->
</xsl:template>
<xsl:template name="WRITE_VIEW_PORT_FLAT">
<xsl:if test="$G_DEBUG='TRUE'">
<xsl:message>WRITING PORT MODE <xsl:value-of select="@MODE"/></xsl:message>
</xsl:if>
<xsl:variable name="num_of_ext_ports_" select="count($G_SYS_EXPS/PORT)"/>
<xsl:if test="$num_of_ext_ports_ &gt; 0">
<xsl:call-template name="WRITE_VIEW_EXTP_FLAT_SET"/>
</xsl:if>
<xsl:for-each select="$G_SYS_MODS/MODULE">
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
<xsl:variable name="instName_" select="@INSTANCE"/>
<xsl:variable name="moduleRef_" select="self::node()"/>
<xsl:call-template name="WRITE_VIEW_PORT_FLAT_SET">
<xsl:with-param name="iModRef" select="$moduleRef_"/>
</xsl:call-template>
</xsl:for-each> <!-- End of Modules Loop -->
</xsl:template>
<xsl:template name="WRITE_VIEW_EXTP_FLAT_SET">
<xsl:for-each select="$G_SYS_EXPS">
<xsl:for-each select="PORT[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
<xsl:sort data-type="number" select="@MHS_INDEX" order="ascending"/>
<xsl:variable name="ext_is_interrupt_">
<xsl:if test="@SIGIS = 'INTERRUPT'">TRUE</xsl:if>
<xsl:if test="not(@SIGIS = 'INTERRUPT')">FALSE</xsl:if>
</xsl:variable>
<SET ID="{@NAME}" CLASS="PORT">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="External Ports"/>
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Port Name" NAME="NAME" VALUE="{@NAME}"/>
<xsl:choose>
<xsl:when test="@LEFT and @RIGHT">
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@LEFT"/>:<xsl:value-of select="@RIGHT"/>]</xsl:variable>
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}">
<TOOLTIP><qt><xsl:value-of select="$vecformula_txt_"/></qt></TOOLTIP>
</VARIABLE>
</xsl:when>
<xsl:when test="@MSB and @LSB">
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:variable>
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}">
<TOOLTIP><qt><xsl:value-of select="$vecformula_txt_"/></qt></TOOLTIP>
</VARIABLE>
</xsl:when>
<xsl:when test="(not(@MSB) and not(@LSB) and not(@SIGIS = 'CLK') and not(@SIGIS = 'CLOCK') and not(@SIGIS = 'DCMCLK') and not(@SIGIS = 'RST') and not(@SIGIS = 'RESET'))">
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE=""/>
</xsl:when>
</xsl:choose>
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_EDITABLE="TRUE"/>
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Direction" NAME="DIR" VALUE="{@DIR}"/>
<xsl:if test="(@SIGIS)">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="{@SIGIS}"/>
</xsl:if>
<xsl:if test="not(@SIGIS)">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="NONE"/>
</xsl:if>
<xsl:if test="(@SIGIS = 'RST' or @SIGIS = 'RESET')">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Reset Polarity" NAME="RSTPOLARITY" VALUE="{@RSTPOLARITY}"/>
</xsl:if>
<xsl:if test="((@SIGIS = 'CLK') or (@SIGIS = 'CLOCK') or (@SIGIS = 'DCMCLK'))">
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Frequency(Hz)" NAME="CLKFREQUENCY" VALUE="{@CLKFREQUENCY}"/>
</xsl:if>
<xsl:if test="((@SIGIS = 'CLK') or (@SIGIS = 'CLOCK') or (@SIGIS = 'DCMCLK'))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Differential Polarity" NAME="DIFFPOLARITY" VALUE="{@DIFFPOLARITY}"/>
</xsl:if>
<!-- SENSITIVITY Settings on Interrupt ports -->
<xsl:choose>
<xsl:when test="((@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and not(@SENSITIVITY))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE=""/>
</xsl:when>
<xsl:when test="((@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and (@SENSITIVITY))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
</xsl:when>
<xsl:when test="((@SIGNAME = '__DEF__') and ($ext_is_interrupt_ = 'TRUE') and not(@SENSITIVITY))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE=""/>
</xsl:when>
<xsl:when test="((@SIGNAME = '__DEF__') and ($ext_is_interrupt_ = 'TRUE') and (@SENSITIVITY))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
</xsl:when>
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and not(@SENSITIVITY))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE=""/>
</xsl:when>
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and (@SENSITIVITY))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
</xsl:when>
</xsl:choose>
</SET>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
<xsl:template name="WRITE_VIEW_PORT_FLAT_SET">
<xsl:param name="iModRef" select="'__NONE__'"/>
<xsl:variable name="m_inst_" select="$iModRef/@INSTANCE"/>
<xsl:variable name="m_class_" select="$iModRef/@MODCLASS"/>
<xsl:variable name="m_type_" select="$iModRef/@MODTYPE"/>
<xsl:variable name="m_type_lc_" select="translate($m_type_,&UPPER2LOWER;)"/>
<xsl:variable name="m_version_" select="$iModRef/@HWVERSION"/>
<xsl:variable name="m_licinfo_" select="$iModRef/LICENSEINFO"/>
<xsl:variable name="is_axi_interconnect_">
<xsl:choose>
<xsl:when test="$m_type_ = 'axi_interconnect'">TRUE</xsl:when>
<xsl:when test="$m_type_lc_ = 'axi_interconnect'">TRUE</xsl:when>
<xsl:otherwise>FALSE</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:for-each select="$G_SYS_MODS"> <!-- To put things in the right scope for the keys below -->
<xsl:variable name="m_bifs_all_" select="key('G_MAP_ALL_BIFS', $m_inst_)"/>
<xsl:variable name="m_ports_all_" select="key('G_MAP_ALL_PORTS',$m_inst_)"/>
<xsl:if test="$G_DEBUG = 'TRUE'">
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_ports_all_)"/> valid ports </xsl:message>
</xsl:if>
<xsl:for-each select="$m_ports_all_">
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
<!-- <xsl:message>PORTNM : <xsl:value-of select="@NAME"/></xsl:message> -->
<xsl:variable name="p_nm_uc_" select="translate(@NAME,&LOWER2UPPER;)"/>
<xsl:variable name="p_bif_" select="@BUS"/>
<xsl:variable name="port_is_valid_">
<xsl:choose>
<xsl:when test="@IS_VALID = 'FALSE'">FALSE</xsl:when>
<xsl:when test="(($is_axi_interconnect_ = 'TRUE') and ($p_nm_uc_= 'INTERCONNECT_ACLK'))">TRUE</xsl:when>
<xsl:when test="not(@BUS) or (@BUS and key('G_MAP_ALL_BIFS', $m_inst_)[(@NAME = $p_bif_)])">TRUE</xsl:when>
<xsl:otherwise>FALSE</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="$port_is_valid_ = 'TRUE'">
<!--
<xsl:message>PORT <xsl:value-of select="@BUS"/>.<xsl:value-of select="@NAME"/></xsl:message>
-->
<SET ID="{@NAME}" CLASS="PORT">
<!--
CR452579
Can only modify INSTANCE name in Hierarchal view.
-->
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$m_inst_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$m_type_}" VIEWICON="{$m_licinfo_/@ICON_NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$m_version_}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Port Name" NAME="NAME" VALUE="{@NAME}"/>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Direction" NAME="DIR" VALUE="{@DIR}"/>
<xsl:if test="@SIGIS">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Class" NAME="SIGIS" VALUE="{@SIGIS}"/>
</xsl:if>
<xsl:choose>
<xsl:when test="@MSB and @LSB">
<xsl:variable name="portRange_txt_">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:variable>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$portRange_txt_}">
<TOOLTIP><qt><xsl:value-of select="@VECFORMULA"/></qt> </TOOLTIP>
</VARIABLE>
</xsl:when>
</xsl:choose>
<xsl:if test="@SENSITIVITY">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
</xsl:if>
<xsl:variable name="is_interrupt">
<xsl:if test="@SIGIS = 'INTERRUPT'">TRUE</xsl:if>
<xsl:if test="not(@SIGIS = 'INTERRUPT')">FALSE</xsl:if>
</xsl:variable>
<xsl:variable name="is_input">
<xsl:choose>
<xsl:when test="(@DIR= 'I')">TRUE</xsl:when>
<xsl:when test="(@DIR= 'IN')">TRUE</xsl:when>
<xsl:when test="(@DIR= 'INPUT')">TRUE</xsl:when>
<xsl:otherwise>FALSE</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- VECFORMULA Settings if Interrupt settings -->
<xsl:choose>
<xsl:when test="((@SIGNAME = '__NOC__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and not(@VECFORMULA))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}"/>
</xsl:when>
<xsl:when test="((@SIGNAME = '__NOC__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and (@VECFORMULA))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
</xsl:when>
<xsl:when test="@SIGNAME = '__NOC__'">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_EDITABLE="TRUE"/>
</xsl:when>
<xsl:when test="((@SIGNAME = '__DEF__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and not(@VECFORMULA))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}"/>
</xsl:when>
<xsl:when test="((@SIGNAME = '__DEF__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and (@VECFORMULA))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
</xsl:when>
<xsl:when test="@SIGNAME = '__DEF__'">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection"/>
</xsl:when>
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and (@VECFORMULA))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
</xsl:when>
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE'))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_INTERRUPT="{$is_interrupt}"/>
</xsl:when>
<xsl:otherwise>
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_EDITABLE="TRUE"/>
</xsl:otherwise>
</xsl:choose>
</SET>
</xsl:if> <!-- End of port validity check -->
</xsl:for-each> <!-- End of Ports Loop -->
</xsl:for-each>
</xsl:template>
<xsl:template name="WRITE_PORT_SET">
<xsl:param name="iName" select="'__NONE__'"/>
<xsl:param name="iDir" select="'__NONE__'"/>
<xsl:param name="iSigName" select="'__NONE__'"/>
<xsl:param name="iSigIs" select="'__NONE__'"/>
<xsl:param name="iVecFormula" select="'__NONE__'"/>
<xsl:param name="iSensitivity" select="'__NONE__'"/>
<xsl:param name="iBifPortRef" select="'__NONE__'"/>
<xsl:param name="iPortRange" select="'__NONE__'"/>
<SET ID="{$iName}" CLASS="PORT">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="{$iName}"/>
<xsl:variable name="is_interrupt">
<xsl:if test="$iSigIs = 'INTERRUPT'">TRUE</xsl:if>
<xsl:if test="not($iSigIs = 'INTERRUPT')">FALSE</xsl:if>
</xsl:variable>
<xsl:variable name="is_input">
<xsl:choose>
<xsl:when test="($iDir = 'I')">TRUE</xsl:when>
<xsl:when test="($iDir = 'IN')">TRUE</xsl:when>
<xsl:when test="($iDir = 'INPUT')">TRUE</xsl:when>
<xsl:otherwise>FALSE</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="(($iSigName = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and ($iVecFormula = '__NONE__'))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}"/>
</xsl:when>
<xsl:when test="(($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
</xsl:when>
<xsl:when test="$iSigName = '__NOC__'">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_EDITABLE="TRUE"/>
</xsl:when>
<xsl:when test="(($iSigName = '__DEF__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and ($iVecFormula = '__NONE__'))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}"/>
</xsl:when>
<xsl:when test="(($iSigName = '__DEF__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
</xsl:when>
<xsl:when test="($iSigName = '__DEF__')">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection"/>
</xsl:when>
<xsl:when test="(not($iSigName = '__DEF__') and not($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{$iSigName}" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
</xsl:when>
<xsl:when test="(not($iSigName = '__DEF__') and not($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE'))">
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{$iSigName}" IS_INTERRUPT="{$is_interrupt}"/>
</xsl:when>
<xsl:otherwise>
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{$iSigName}" IS_EDITABLE="TRUE"/>
</xsl:otherwise>
</xsl:choose>
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Direction" NAME="DIR" VALUE="{$iDir}"/>
<xsl:if test="not($iSigIs = '__NONE__')">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Class" NAME="SIGIS" VALUE="{$iSigIs}"/>
</xsl:if>
<xsl:if test="not($iPortRange = '__NONE__')">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$iPortRange}" >
<TOOLTIP><qt><xsl:value-of select="$iVecFormula"/></qt></TOOLTIP>
</VARIABLE>
</xsl:if>
<xsl:if test="not($iSensitivity = '__NONE__')">
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{$iSensitivity}"/>
</xsl:if>
<xsl:choose>
<xsl:when test="(($iSigName = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and ($iVecFormula = '__NONE__'))">
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}"/>
</xsl:when>
<xsl:when test="(($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
</xsl:when>
<xsl:when test="(($iSigName = '__DEF__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and ($iVecFormula = '__NONE__'))">
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}"/>
</xsl:when>
<xsl:when test="(($iSigName = '__DEF__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
</xsl:when>
<xsl:when test="(not($iSigName = '__DEF__') and not($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="{$iSigName}" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
</xsl:when>
<xsl:when test="(not($iSigName = '__DEF__') and not($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE'))">
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="{$iSigName}" IS_INTERRUPT="{$is_interrupt}"/>
</xsl:when>
<xsl:otherwise>
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" />
</xsl:otherwise>
</xsl:choose>
<xsl:variable name="noOFConnections" select="count(CONNECTIONS/CONNECTION)" />
<xsl:if test="$noOFConnections != 0" >
<!--VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" /-->
<CONNECTIONS>
<xsl:for-each select="CONNECTIONS/CONNECTION" >
<xsl:variable name="iInstance" select="@INSTANCE"/>
<xsl:variable name="iPort" select="@PORT"/>
<xsl:choose>
<xsl:when test="@BUSINTERFACE">
<xsl:variable name="iBusName" select="@BUSINTERFACE"/>
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}" BUSINTERFACE="{$iBusName}"/>
</xsl:when>
<xsl:when test="@PORT">
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}"/>
</xsl:when>
<xsl:otherwise>
<CONNECTION INSTANCE="{$iInstance}"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</CONNECTIONS>
</xsl:if>
<!-->xsl:message Check for bus interface ports -->
<xsl:if test="$iBifPortRef != '__NONE__'">
<!--ANUJDEBUG VALUE="WRITINF INTERFACE PORT"/-->
<xsl:variable name="noOfIfConnections" select="$iBifPortRef/CONNECTIONS/CONNECTION"/>
<xsl:if test="$noOfIfConnections != 0">
<!--VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" /-->
<CONNECTIONS>
<xsl:for-each select="$iBifPortRef/CONNECTIONS/CONNECTION" >
<xsl:variable name="iInstance" select="@INSTANCE"/>
<xsl:variable name="iPort" select="@PORT"/>
<xsl:choose>
<xsl:when test="@BUSINTERFACE">
<xsl:variable name="iBusName" select="@BUSINTERFACE"/>
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}" BUSINTERFACE="{$iBusName}"/>
</xsl:when>
<xsl:otherwise>
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</CONNECTIONS>
</xsl:if>
</xsl:if>
</SET>
</xsl:template>
</xsl:stylesheet>
<SAV MODE="TREE" VIEW="PORT"/>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!-- IMPORTANT: This is an internal file that has been generated
by the Xilinx ISE software. Any direct editing or
changes made to this file may result in unpredictable
behavior or data corruption. It is strongly advised that
users do not edit the contents of this file. -->
<messages>
<msg type="warning" file="EDK" num="0" delta="new" ><arg fmt="%s" index="1">INFO:Security:51 - The XILINXD_LICENSE_FILE environment variable is not set.
INFO:Security:52 - The LM_LICENSE_FILE environment variable is set to &apos;1717@io.ece.iastate.edu:27006@io.ece.iastate.edu&apos;.
INFO:Security:71 - If a license for part &apos;xc7z010&apos; is available, it will be possible to use &apos;XPS_TDP&apos; instead of &apos;XPS&apos;.
WARNING:Security:43 - No license file was found in the standard Xilinx license directory.
WARNING:Security:44 - Since no license file was found,
please run the Xilinx License Configuration Manager
(xlcm or &quot;Manage Xilinx Licenses&quot;)
to assist in obtaining a license.
WARNING:Security:42 - Your software subscription period has lapsed. Your current version of Xilinx tools will continue to function, but you no longer qualify for Xilinx software updates or new releases.
</arg>
</msg>
<msg type="warning" file="EDK" num="4092" delta="new" >IPNAME: <arg fmt="%s" index="1">clock_generator</arg>, INSTANCE: <arg fmt="%s" index="2">clock_generator_0</arg> - <arg fmt="%s" index="3">Pre-Production</arg> version not verified on hardware for architecture &apos;<arg fmt="%s" index="4">zynq</arg>&apos; - <arg fmt="%s" index="5">/local/ucart/microcart1630/tasks/Quad/system/system.mhs line 43</arg>
</msg>
<msg type="warning" file="EDK" num="4092" delta="new" >IPNAME: <arg fmt="%s" index="1">clock_generator</arg>, INSTANCE: <arg fmt="%s" index="2">clock_generator_0</arg> - <arg fmt="%s" index="3">Pre-Production</arg> version not verified on hardware for architecture &apos;<arg fmt="%s" index="4">zynq</arg>&apos; - <arg fmt="%s" index="5">/local/ucart/microcart1630/tasks/Quad/system/system.mhs line 43</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">processing_system7</arg>, INSTANCE:<arg fmt="%s" index="2">processing_system7_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_PACKAGE_NAME</arg> value to <arg fmt="%s" index="6">clg400</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/processing_system7_v4_03_a/data/processing_system7_v2_1_0.mpd line 185</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">processing_system7</arg>, INSTANCE:<arg fmt="%s" index="2">processing_system7_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_S_AXI_HP0_HIGHADDR</arg> value to <arg fmt="%s" index="6">0x1FFFFFFF</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/processing_system7_v4_03_a/data/processing_system7_v2_1_0.mpd line 300</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">processing_system7</arg>, INSTANCE:<arg fmt="%s" index="2">processing_system7_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_S_AXI_HP1_HIGHADDR</arg> value to <arg fmt="%s" index="6">0x1FFFFFFF</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/processing_system7_v4_03_a/data/processing_system7_v2_1_0.mpd line 304</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">processing_system7</arg>, INSTANCE:<arg fmt="%s" index="2">processing_system7_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_S_AXI_HP2_HIGHADDR</arg> value to <arg fmt="%s" index="6">0x1FFFFFFF</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/processing_system7_v4_03_a/data/processing_system7_v2_1_0.mpd line 308</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">processing_system7</arg>, INSTANCE:<arg fmt="%s" index="2">processing_system7_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_S_AXI_HP3_HIGHADDR</arg> value to <arg fmt="%s" index="6">0x1FFFFFFF</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/processing_system7_v4_03_a/data/processing_system7_v2_1_0.mpd line 312</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">processing_system7</arg>, INSTANCE:<arg fmt="%s" index="2">processing_system7_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_NUM_F2P_INTR_INPUTS</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/processing_system7_v4_03_a/data/processing_system7_v2_1_0.mpd line 319</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_interconnect</arg>, INSTANCE:<arg fmt="%s" index="2">axi_interconnect_1</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_BASEFAMILY</arg> value to <arg fmt="%s" index="6">zynq</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/axi_interconnect_v1_06_a/data/axi_interconnect_v2_1_0.mpd line 81</arg>
</msg>
<msg type="info" file="EDK" num="1432" delta="new" >Frequency for Top-Level Input Clock &apos;<arg fmt="%s" index="1">processing_system7_0_PS_CLK_pin</arg>&apos; is not specified. Clock DRCs will not be performed for IPs connected to that clock port, unless they are connected through the clock generator IP.
</msg>
<msg type="info" file="EDK" num="0" delta="new" ><arg fmt="%s" index="1">INFO: DDR Base and High address in current configuration is 0x00000000 and 0x1FFFFFFF respectively.</arg>
</msg>
<msg type="info" file="EDK" num="0" delta="new" ><arg fmt="%s" index="1">INFO: You can modify the DDR address range accessed by Programmable Logic through the processing_system7 AXI slave interfaces. If MicroBlaze is a master on processing_system7 AXI slave interfaces, please use the top half of the address range (Base Address = 0x10000000; High Address = 0x1FFFFFFF). For all other master, any subset of the DDR address can be used. See Xilinx Answer 47167 for more information.</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">processing_system7</arg>, INSTANCE:<arg fmt="%s" index="2">processing_system7_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_FCLK_CLK1_BUF</arg> value to <arg fmt="%s" index="6">FALSE</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/processing_system7_v4_03_a/data/processing_system7_v2_1_0.mpd line 351</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">processing_system7</arg>, INSTANCE:<arg fmt="%s" index="2">processing_system7_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_FCLK_CLK2_BUF</arg> value to <arg fmt="%s" index="6">FALSE</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/processing_system7_v4_03_a/data/processing_system7_v2_1_0.mpd line 352</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">processing_system7</arg>, INSTANCE:<arg fmt="%s" index="2">processing_system7_0</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_FCLK_CLK3_BUF</arg> value to <arg fmt="%s" index="6">FALSE</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/processing_system7_v4_03_a/data/processing_system7_v2_1_0.mpd line 353</arg>
</msg>
<msg type="info" file="EDK" num="4130" delta="new" >IPNAME: <arg fmt="%s" index="1">axi_interconnect</arg>, INSTANCE:<arg fmt="%s" index="2">axi_interconnect_1</arg> - <arg fmt="%s" index="3">tcl</arg> is overriding <arg fmt="%s" index="4">PARAMETER</arg> <arg fmt="%s" index="5">C_RANGE_CHECK</arg> value to <arg fmt="%s" index="6">1</arg> - <arg fmt="%s" index="7">/opt/Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/axi_interconnect_v1_06_a/data/axi_interconnect_v2_1_0.mpd line 149</arg>
</msg>
<msg type="info" file="EDK" num="4211" delta="new" >The following instances are synthesized with <arg fmt="%s" index="1">XST</arg>. The MPD option IMP_NETLIST=TRUE indicates that a NGC file is to be produced using <arg fmt="%s" index="2">XST</arg> synthesis. IMP_NETLIST=FALSE (default) instances are not synthesized.
</msg>
<msg type="info" file="EDK" num="3509" delta="new" >NCF files should not be modified as they will be regenerated.
If any constraint needs to be overridden, this should be done by modifying the data/<arg fmt="%s" index="1">system</arg>.ucf file.
</msg>
</messages>
<?xml version='1.0' encoding='UTF-8'?>
<report-views version="2.0" >
<header>
<DateModified>2016-04-20T15:19:13</DateModified>
<ModuleName>system</ModuleName>
<SummaryTimeStamp>2016-04-20T15:19:13</SummaryTimeStamp>
<SavedFilePath>/local/ucart/microcart1630/tasks/Quad/system/__xps/ise/system.xreport</SavedFilePath>
<FilterFile>filter.filter</FilterFile>
<SavedFilterFilePath>/local/ucart/microcart1630/tasks/Quad/system/__xps/ise</SavedFilterFilePath>
<DateInitialized>2015-10-08T21:17:46</DateInitialized>
<EnableMessageFiltering>false</EnableMessageFiltering>
</header>
<body>
<viewgroup label="Design Overview" >
<view inputState="Unknown" program="implementation" ShowPartitionData="false" type="FPGASummary" file="implementation/system_summary.html" label="Summary" >
<toc-item title="Design Overview" target="Design Overview" />
<toc-item title="Design Utilization Summary" target="Design Utilization Summary" />
<toc-item title="Performance Summary" target="Performance Summary" />
<toc-item title="Failing Constraints" target="Failing Constraints" />
<toc-item title="Detailed Reports" target="Detailed Reports" />
</view>
<view inputState="Unknown" program="implementation" contextTags="FPGA_ONLY" hidden="true" type="HTML" file="implementation/system_envsettings.html" label="System Settings" />
<view inputState="Translated" program="map" locator="MAP_IOB_TABLE" contextTags="FPGA_ONLY" type="IOBProperties" file="implementation/system_map.xrpt" label="IOB Properties" />
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Control_Sets" file="implementation/system_map.xrpt" label="Control Set Information" />
<view inputState="Translated" program="map" locator="MAP_MODULE_HIERARCHY" contextTags="FPGA_ONLY" type="Module_Utilization" file="implementation/system_map.xrpt" label="Module Level Utilization" />
<view inputState="Mapped" program="par" locator="CONSTRAINT_TABLE" contextTags="FPGA_ONLY" type="ConstraintsData" file="implementation/system.ptwx" label="Timing Constraints" translator="ptwxToTableXML.xslt" />
<view inputState="Mapped" program="par" locator="PAR_PINOUT_BY_PIN_NUMBER" contextTags="FPGA_ONLY" type="PinoutData" file="implementation/system_par.xrpt" label="Pinout Report" />
<view inputState="Mapped" program="par" locator="PAR_CLOCK_TABLE" contextTags="FPGA_ONLY" type="ClocksData" file="implementation/system_par.xrpt" label="Clock Report" />
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY,EDK_OFF" hidden="true" type="Timing_Analyzer" file="implementation/system.twx" label="Static Timing" />
<view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="implementation/system_html/fit/report.htm" label="CPLD Fitter Report" />
<view inputState="Fitted" program="taengine" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="implementation/system_html/tim/report.htm" label="CPLD Timing Report" />
</viewgroup>
<viewgroup label="XPS Errors and Warnings" >
<view program="platgen" WrapMessages="true" contextTags="EDK_ON" hidden="false" type="MessageList" hideColumns="Filtered" file="__xps/ise/_xmsgs/platgen.xmsgs" label="Platgen Messages" />
<view program="simgen" WrapMessages="true" contextTags="EDK_ON" hidden="false" type="MessageList" hideColumns="Filtered" file="__xps/ise/_xmsgs/simgen.xmsgs" label="Simgen Messages" />
<view program="bitinit" WrapMessages="true" contextTags="EDK_ON" hidden="false" type="MessageList" hideColumns="Filtered" file="__xps/ise/_xmsgs/bitinit.xmsgs" label="BitInit Messages" />
</viewgroup>
<viewgroup label="XPS Reports" >
<view inputState="PreSynthesized" program="platgen" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="platgen.log" label="Platgen Log File" />
<view inputState="PreSynthesized" program="simgen" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="simgen.log" label="Simgen Log File" />
<view inputState="PreSynthesized" program="bitinit" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="bitinit.log" label="BitInit Log File" />
<view inputState="PreSynthesized" program="system" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="system.log" label="System Log File" />
</viewgroup>
<viewgroup label="Errors and Warnings" >
<view program="pn" WrapMessages="true" contextTags="EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered, New" file="implementation/_xmsgs/pn_parser.xmsgs" label="Parser Messages" />
<view program="xst" WrapMessages="true" contextTags="XST_ONLY,EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered" file="synthesis/_xmsgs/xst.xmsgs" label="Synthesis Messages" />
<view inputState="Synthesized" program="ngdbuild" WrapMessages="true" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/ngdbuild.xmsgs" label="Translation Messages" />
<view inputState="Translated" program="map" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/map.xmsgs" label="Map Messages" />
<view inputState="Mapped" program="par" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/par.xmsgs" label="Place and Route Messages" />
<view inputState="Routed" program="trce" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/trce.xmsgs" label="Timing Messages" />
<view inputState="Routed" program="xpwr" WrapMessages="true" contextTags="EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/xpwr.xmsgs" label="Power Messages" />
<view inputState="Routed" program="bitgen" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/bitgen.xmsgs" label="Bitgen Messages" />
<view inputState="Translated" program="cpldfit" WrapMessages="true" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/cpldfit.xmsgs" label="Fitter Messages" />
<view inputState="Current" program="implementation" WrapMessages="true" fileList="_xmsgs/xst.xmsgs,_xmsgs/ngdbuild.xmsgs,_xmsgs/map.xmsgs,_xmsgs/par.xmsgs,_xmsgs/trce.xmsgs,_xmsgs/xpwr.xmsgs,_xmsgs/bitgen.xmsgs" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/*.xmsgs" label="All Implementation Messages" />
<view inputState="Current" program="fitting" WrapMessages="true" fileList="_xmsgs/xst.xmsgs,_xmsgs/ngdbuild.xmsgs,_xmsgs/cpldfit.xmsgs,_xmsgs/xpwr.xmsgs" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="CPLD_MessageList" hideColumns="Filtered" file="implementation/_xmsgs/*.xmsgs" label="All Implementation Messages (CPLD)" />
</viewgroup>
<viewgroup label="Detailed Reports" >
<view program="xst" contextTags="XST_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation/system.syr" label="Synthesis Report" >
<toc-item title="Top of Report" target="Copyright " searchDir="Forward" />
<toc-item title="Synthesis Options Summary" target=" Synthesis Options Summary " />
<toc-item title="HDL Compilation" target=" HDL Compilation " />
<toc-item title="Design Hierarchy Analysis" target=" Design Hierarchy Analysis " />
<toc-item title="HDL Analysis" target=" HDL Analysis " />
<toc-item title="HDL Parsing" target=" HDL Parsing " />
<toc-item title="HDL Elaboration" target=" HDL Elaboration " />
<toc-item title="HDL Synthesis" target=" HDL Synthesis " />
<toc-item title="HDL Synthesis Report" target="HDL Synthesis Report" searchCnt="2" searchDir="Backward" subItemLevel="1" />
<toc-item title="Advanced HDL Synthesis" target=" Advanced HDL Synthesis " searchDir="Backward" />
<toc-item title="Advanced HDL Synthesis Report" target="Advanced HDL Synthesis Report" subItemLevel="1" />
<toc-item title="Low Level Synthesis" target=" Low Level Synthesis " />
<toc-item title="Partition Report" target=" Partition Report " />
<toc-item title="Final Report" target=" Final Report " />
<toc-item title="Design Summary" target=" Design Summary " />
<toc-item title="Primitive and Black Box Usage" target="Primitive and Black Box Usage:" subItemLevel="1" />
<toc-item title="Device Utilization Summary" target="Device utilization summary:" subItemLevel="1" />
<toc-item title="Partition Resource Summary" target="Partition Resource Summary:" subItemLevel="1" />
<toc-item title="Timing Report" target="Timing Report" subItemLevel="1" />
<toc-item title="Clock Information" target="Clock Information" subItemLevel="2" />
<toc-item title="Asynchronous Control Signals Information" target="Asynchronous Control Signals Information" subItemLevel="2" />
<toc-item title="Timing Summary" target="Timing Summary" subItemLevel="2" />
<toc-item title="Timing Details" target="Timing Details" subItemLevel="2" />
<toc-item title="Cross Clock Domains Report" target="Cross Clock Domains Report:" subItemLevel="2" />
</view>
<view program="synplify" contextTags="SYNPLIFY_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation/system.srr" label="Synplify Report" />
<view program="precision" contextTags="PRECISION_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation/system.prec_log" label="Precision Report" />
<view inputState="Synthesized" program="ngdbuild" type="Report" file="implementation/system.bld" label="Translation Report" >
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
<toc-item title="Command Line" target="Command Line:" />
<toc-item title="Partition Status" target="Partition Implementation Status" />
<toc-item title="Final Summary" target="NGDBUILD Design Results Summary:" />
</view>
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" type="Report" file="implementation/system_map.mrp" label="Map Report" >
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
<toc-item title="Section 1: Errors" target="Section 1 -" searchDir="Backward" />
<toc-item title="Section 2: Warnings" target="Section 2 -" searchDir="Backward" />
<toc-item title="Section 3: Infos" target="Section 3 -" searchDir="Backward" />
<toc-item title="Section 4: Removed Logic Summary" target="Section 4 -" searchDir="Backward" />
<toc-item title="Section 5: Removed Logic" target="Section 5 -" searchDir="Backward" />
<toc-item title="Section 6: IOB Properties" target="Section 6 -" searchDir="Backward" />
<toc-item title="Section 7: RPMs" target="Section 7 -" searchDir="Backward" />
<toc-item title="Section 8: Guide Report" target="Section 8 -" searchDir="Backward" />
<toc-item title="Section 9: Area Group and Partition Summary" target="Section 9 -" searchDir="Backward" />
<toc-item title="Section 10: Timing Report" target="Section 10 -" searchDir="Backward" />
<toc-item title="Section 11: Configuration String Details" target="Section 11 -" searchDir="Backward" />
<toc-item title="Section 12: Control Set Information" target="Section 12 -" searchDir="Backward" />
<toc-item title="Section 13: Utilization by Hierarchy" target="Section 13 -" searchDir="Backward" />
</view>
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" type="Report" file="implementation/system.par" label="Place and Route Report" >
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
<toc-item title="Device Utilization" target="Device Utilization Summary:" />
<toc-item title="Router Information" target="Starting Router" />
<toc-item title="Partition Status" target="Partition Implementation Status" />
<toc-item title="Clock Report" target="Generating Clock Report" />
<toc-item title="Timing Results" target="Timing Score:" />
<toc-item title="Final Summary" target="Peak Memory Usage:" />
</view>
<view inputState="Routed" program="trce" contextTags="FPGA_ONLY" type="Report" file="implementation/system.twr" label="Post-PAR Static Timing Report" >
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
<toc-item title="Timing Report Description" target="Device,package,speed:" />
<toc-item title="Informational Messages" target="INFO:" />
<toc-item title="Warning Messages" target="WARNING:" />
<toc-item title="Timing Constraints" target="Timing constraint:" />
<toc-item title="Derived Constraint Report" target="Derived Constraint Report" />
<toc-item title="Data Sheet Report" target="Data Sheet report:" />
<toc-item title="Timing Summary" target="Timing summary:" />
<toc-item title="Trace Settings" target="Trace Settings:" />
</view>
<view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation/system.rpt" label="CPLD Fitter Report (Text)" >
<toc-item title="Top of Report" target="cpldfit:" searchDir="Forward" />
<toc-item title="Resources Summary" target="** Mapped Resource Summary **" />
<toc-item title="Pin Resources" target="** Pin Resources **" />
<toc-item title="Global Resources" target="** Global Control Resources **" />
</view>
<view inputState="Fitted" program="taengine" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation/system.tim" label="CPLD Timing Report (Text)" >
<toc-item title="Top of Report" target="Performance Summary Report" searchDir="Forward" />
<toc-item title="Performance Summary" target="Performance Summary:" />
</view>
<view inputState="Routed" program="xpwr" contextTags="EDK_OFF" hidden="true" type="Report" file="implementation/system.pwr" label="Power Report" >
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
<toc-item title="Power summary" target="Power summary" />
<toc-item title="Thermal summary" target="Thermal summary" />
</view>
<view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" type="Report" file="implementation/system.bgn" label="Bitgen Report" >
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
<toc-item title="Bitgen Options" target="Summary of Bitgen Options:" />
<toc-item title="Final Summary" target="DRC detected" />
</view>
</viewgroup>
<viewgroup label="Secondary Reports" >
<view inputState="PreSynthesized" program="isim" hidden="if_missing" type="Secondary_Report" file="implementation/isim.log" label="ISIM Simulator Log" />
<view inputState="Synthesized" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/netgen/synthesis/system_synthesis.nlf" label="Post-Synthesis Simulation Model Report" >
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
</view>
<view inputState="Translated" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/netgen/translate/system_translate.nlf" label="Post-Translate Simulation Model Report" >
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
</view>
<view inputState="Translated" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/system_tran_fecn.nlf" label="Post-Translate Formality Netlist Report" />
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="implementation/system_map.map" label="Map Log File" >
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
<toc-item title="Design Information" target="Design Information" />
<toc-item title="Design Summary" target="Design Summary" />
</view>
<view inputState="Routed" program="smartxplorer" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/smartxplorer_results/smartxplorer.txt" label="SmartXplorer Report" />
<view inputState="Mapped" program="trce" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/system_preroute.twr" label="Post-Map Static Timing Report" >
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
<toc-item title="Timing Report Description" target="Device,package,speed:" />
<toc-item title="Informational Messages" target="INFO:" />
<toc-item title="Warning Messages" target="WARNING:" />
<toc-item title="Timing Constraints" target="Timing constraint:" />
<toc-item title="Derived Constraint Report" target="Derived Constraint Report" />
<toc-item title="Data Sheet Report" target="Data Sheet report:" />
<toc-item title="Timing Summary" target="Timing summary:" />
<toc-item title="Trace Settings" target="Trace Settings:" />
</view>
<view inputState="Mapped" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/netgen/map/system_map.nlf" label="Post-Map Simulation Model Report" />
<view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/system_map.psr" label="Physical Synthesis Report" >
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
</view>
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="true" type="Pad_Report" file="implementation/system_pad.txt" label="Pad Report" >
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
</view>
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="implementation/system.unroutes" label="Unroutes Report" >
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
</view>
<view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/system_preroute.tsi" label="Post-Map Constraints Interaction Report" >
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
</view>
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/system.grf" label="Guide Results Report" />
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/system.dly" label="Asynchronous Delay Report" />
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/system.clk_rgn" label="Clock Region Report" />
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/system.tsi" label="Post-Place and Route Constraints Interaction Report" >
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
</view>
<view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/system_par_fecn.nlf" label="Post-Place and Route Formality Netlist Report" />
<view inputState="Routed" program="netgen" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/netgen/par/system_timesim.nlf" label="Post-Place and Route Simulation Model Report" />
<view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/system_sta.nlf" label="Primetime Netlist Report" >
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
</view>
<view inputState="Routed" program="ibiswriter" hidden="if_missing" type="Secondary_Report" file="implementation/system.ibs" label="IBIS Model" >
<toc-item title="Top of Report" target="IBIS Models for" searchDir="Forward" />
<toc-item title="Component" target="Component " />
</view>
<view inputState="Routed" program="pin2ucf" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/system.lck" label="Back-annotate Pin Report" >
<toc-item title="Top of Report" target="pin2ucf Report File" searchDir="Forward" />
<toc-item title="Constraint Conflicts Information" target="Constraint Conflicts Information" />
</view>
<view inputState="Routed" program="pin2ucf" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/system.lpc" label="Locked Pin Constraints" >
<toc-item title="Top of Report" target="top.lpc" searchDir="Forward" />
<toc-item title="Newly Added Constraints" target="The following constraints were newly added" />
</view>
<view inputState="Translated" program="netgen" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Secondary_Report" file="implementation/netgen/fit/system_timesim.nlf" label="Post-Fit Simulation Model Report" />
<view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" hidden="if_missing" type="HTML" file="implementation/usage_statistics_webtalk.html" label="WebTalk Report" />
<view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/webtalk.log" label="WebTalk Log File" />
</viewgroup>
</body>
</report-views>
MessageCaptureEnabled: TRUE
MessageFilteringEnabled: FALSE
IncrementalMessagingEnabled: TRUE