]> git.sur5r.net Git - freertos/blob - Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl
Add new PPC405 demo.
[freertos] / Demo / PPC405_Xilinx_Virtex4_GCC / __xps / .dswkshop / MdtXdsGen_HTMLDatasheet.xsl
1 <?xml version="1.0" standalone="no"?>
2 <xsl:stylesheet version="1.0"
3            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4            xmlns:exsl="http://exslt.org/common"
5            xmlns:xlink="http://www.w3.org/1999/xlink">
6          
7 <xsl:output method="html"/>
8
9 <xsl:include href="MdtXdsGen_HTMLIPSection.xsl"/>
10 <xsl:include href="MdtXdsGen_HTMLMemoryMap.xsl"/>
11 <xsl:include href="MdtXdsGen_HTMLTOCTree.xsl"/>
12
13 <xsl:param name="DS_TYPE"      select="'NOFRAMES'"/>                    
14 <xsl:param name="DS_PART"      select="'TOC_TREE'"/>                    
15
16 <xsl:param name="DS_WIDTH"     select="850"/>                   
17 <xsl:param name="DS_TOC_WIDTH" select="200"/>                   
18
19 <xsl:param name="DS_FRAME_TOC"  select="'DS_TOC'"/>                     
20 <xsl:param name="DS_FRAME_SELF" select="'_self'"/>                      
21 <xsl:param name="DS_FRAME_MAIN" select="'DS_FMAIN'"/>                   
22
23 <xsl:param name="DS_HTML_BLKD"    select="'ds_Blkd.html'"/>                     
24
25 <xsl:param name="DS_HTML_MAIN"    select="'ds_Main.html'"/>
26 <xsl:param name="DS_HTML_TOC"     select="'ds_TOC.html'"/>
27 <xsl:param name="DS_HTML_TOCTREE" select="'ds_TOCTree.html'"/>
28
29 <xsl:param name="DS_BLKD_NAME"   select="'system_blkd.jpg'"/>
30 <xsl:param name="DS_BLKD_TYPE"   select="'svg'"/>
31 <xsl:param name="DS_BLKD_WIDTH"  select="800"/>
32 <xsl:param name="DS_BLKD_HEIGHT" select="600"/>
33
34 <xsl:param name="DS_COL_OPB"     select="'#339900'"/>
35
36 <xsl:param name="DS_COL_INFO"    select="'#2233FF'"/>
37 <xsl:param name="DS_COL_ASH"     select="'#DEDEDE'"/>
38 <xsl:param name="DS_COL_ASH1"    select="'#F0F0F8'"/>
39 <xsl:param name="DS_COL_GREY"    select="'#BBBBBB'"/>
40 <xsl:param name="DS_COL_LGRY"    select="'#F1F1F1'"/>
41 <xsl:param name="DS_COL_XPRP"    select="'#810017'"/>
42 <xsl:param name="DS_COL_RED"     select="'#FF1010'"/>
43 <xsl:param name="DS_COL_GREEN"   select="'#33CC33'"/>
44 <xsl:param name="DS_COL_BLACK"   select="'#000000'"/>
45 <xsl:param name="DS_COL_WHITE"   select="'#FFFFFF'"/>
46
47 <!--
48 <xsl:param name="DS_COL_ATTR_RD"   select="'#FF5555'"/>
49 <xsl:param name="DS_COL_ATTR_GREN" select="'#55FF55'"/>
50 <xsl:param name="DS_COL_ATTR_BLE"  select="'#5555FF'"/>
51 -->
52
53 <xsl:param name="DS_COL_ATTR_BUF"   select="'#FF5555'"/>
54 <xsl:param name="DS_COL_ATTR_CLK"   select="'#55FF55'"/>
55 <xsl:param name="DS_COL_ATTR_INT"   select="'#5555FF'"/>
56 <xsl:param name="DS_COL_ATTR_RST"   select="'#FFCC00'"/>
57
58
59 <xsl:param name="DS_COL_MODUSR" select="'#FFFFAA'"/>
60 <xsl:param name="DS_COL_MODSYS" select="'#AAAAFF'"/>
61 <xsl:param name="DS_COL_MODSYSNW" select="'#000099'"/>
62
63 <!-- ======================= MAIN DATASHEET SECTION  =============================== -->
64 <xsl:template match="EDKSYSTEM">
65         <xsl:if test="$DS_TYPE='NOFRAMES'">
66                 <xsl:call-template name="Write_Main"/>  
67         </xsl:if>
68         <xsl:if test="$DS_TYPE='FRAMES'">
69                 <xsl:call-template name="Write_Frames"/>        
70         </xsl:if>
71 </xsl:template> 
72
73 <xsl:template name="Write_Frames">
74 <!--    
75         <xsl:if test="$DS_PART='TOC'">
76                 <xsl:call-template name="Write_TOC"/>   
77         </xsl:if>
78 -->     
79         
80         <xsl:if test="$DS_PART='TOC'">
81                 <xsl:call-template name="Write_TOCTree"/>       
82         </xsl:if>
83         
84         <xsl:if test="$DS_PART='INDEX'">
85                 <xsl:call-template name="Write_Index"/> 
86         </xsl:if>
87         
88         <xsl:if test="$DS_PART='MAIN'">
89                 <xsl:call-template name="Write_Main"/>  
90         </xsl:if>
91         
92         <xsl:if test="$DS_PART='BLKD'">
93                 <xsl:call-template name="Write_BLKD"/>  
94         </xsl:if>
95         
96 </xsl:template> 
97
98 <xsl:template name="Write_TOC">
99 <HTML>
100 <HEAD>
101         <TITLE>Table of Contents</TITLE>
102         <BASE target="{$DS_FRAME_MAIN}"/>
103 </HEAD>
104
105         <!--Layout Table of contents   -->
106         <BODY class="main_body">
107                 <xsl:call-template name="Layout_TOC"/>
108         </BODY>         
109         
110 </HTML>
111 </xsl:template>
112
113 <xsl:template name="Write_Index">
114 <HTML>
115 <HEAD><TITLE>EDK Project Report</TITLE></HEAD>
116         <FRAMESET COLS="20%,80%" BORDER="0" FRAMESPACING="0">
117                 <FRAME SRC="{$DS_HTML_TOC}"
118                    MARGINWIDTH="0" 
119                    MARINHEIGHT="0" 
120                    FRAMEBORDER="NO"
121                    BORDER="NO"
122                    NAME="{$DS_FRAME_TOC}"
123                    SCROLLING="YES"/>
124                 <FRAME SRC="{$DS_HTML_MAIN}"
125                    MARGINWIDTH="0" 
126                    MARINHEIGHT="0"
127                    FRAMEBORDER="NO"
128                    BORDER="NO"
129                    NAME="{$DS_FRAME_MAIN}" 
130                    SCROLLING="YES"/>
131         </FRAMESET>
132 </HTML>
133 </xsl:template> 
134
135 <xsl:template name="Write_BLKD">
136 <HTML>
137         
138 <HEAD><TITLE>Block Diagram</TITLE></HEAD>
139         
140 <!--
141         <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
142         <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
143         <xsl:message> Embedded image type <xsl:value-of select="$DS_BLKD_TYPE"/></xsl:message>
144         <xsl:message> Embedded image width <xsl:value-of select="$DS_BLKD_WIDTH"/></xsl:message>
145         <xsl:message> Embedded image height <xsl:value-of select="$DS_BLKD_HEIGHT"/></xsl:message>
146 -->     
147         
148         <BODY class="main_body">
149                 
150         <xsl:if test="$DS_BLKD_TYPE = 'svg'">
151                 <EMBED src="{$DS_BLKD_NAME}" width="{$DS_BLKD_WIDTH}" height="{$DS_BLKD_HEIGHT}" type="image/svg+xml"/>
152         </xsl:if>
153         
154         <xsl:if test="not($DS_BLKD_TYPE = 'svg')">
155                 <IMG SRC="{$DS_BLKD_NAME}" alt="BlockDiagram" width="{$DS_BLKD_WIDTH}" height="{$DS_BLKD_HEIGHT}" border="0" vspace="0" hspace="0"/>
156         </xsl:if>
157                 <BR></BR>
158                 <BR></BR>
159                 <xsl:call-template name="Layout_ExternalPorts"/>
160                 <BR></BR>
161         </BODY>         
162 </HTML>
163 </xsl:template>
164
165         
166 <xsl:template name="Write_Main">
167 <html>
168         <!--Layout head -->
169         <head>
170                 <title>EDK PROJECT REPORT</title>
171                 
172                 <!--specify a css for the file -->
173             <meta http-equiv="PRAGMA" content="NO-CACHE"/>
174             <meta http-equiv="content-Type" content="text/html; charset=iso-8859-1"/>
175             
176         </head> 
177         
178         <body bgcolor="#FFFFFF">
179         
180                 <!--Layout Table of contents   -->
181                 <xsl:if test="not($DS_TYPE='FRAMES')">
182                         <xsl:call-template name="Layout_TOC"/>
183                 </xsl:if>       
184                 
185                 <TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="1" cellspacing="0" cellpadding="3" border="0">
186                 
187 <!--  ==========================Overview Section ============== -->
188                         <TR></TR>
189                         <TR></TR>
190                         <TR></TR>
191                         <xsl:if test="$DS_TYPE='FRAMES'">
192                                 <TD COLSPAN="1" ALIGN="LEFT">
193                                         <A HREF="ds_MainNF.html" target="_top" style="text-decoration:none"><SPAN style="color:{$DS_COL_GREEN}; font: normal 14px Verdana Arial,Helvetica,sans-serif">Printable Version</SPAN></A>
194                                 </TD>
195                                 <TR></TR>
196                         </xsl:if>
197                         <TD COLSPAN="1" WIDTH="100%">
198                                 <A name="_Overview"/>
199                                 <xsl:call-template name="Layout_NavigateHeader">
200                                         <xsl:with-param name="header_name" select="'Overview'"/>
201                                 </xsl:call-template>    
202                                 <BR></BR>
203                                 <BR></BR>
204                                 <xsl:call-template name="Layout_Overview"/>
205                         </TD>
206                         
207 <!--  ==========================Block Diagram section ============== -->
208 <!--
209         <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
210 -->     
211                         <TR></TR>
212                         <TD COLSPAN="1">
213                                 <A name="_BlockDiagram"/>
214                                 <xsl:call-template name="Layout_NavigateHeader">
215                                         <xsl:with-param name="header_name" select="'Block Diagram'"/>
216                                 </xsl:call-template>
217                                 <BR></BR>
218                                 <BR></BR>
219                                 <IMG SRC="imgs/{$DS_BLKD_NAME}" alt="BlockDiagram" border="0" vspace="0" hspace="0"/>
220                         </TD>
221                         
222 <!--                    
223 -->                     
224
225 <!--  ========================== External Ports ======================= -->
226
227                         <TR></TR>
228                         <TD COLSPAN="1" WIDTH="100%">
229                                 <A name="_ExternalPorts"/>
230                                 <xsl:call-template name="Layout_NavigateHeader">
231                                         <xsl:with-param name="header_name" select="'External Ports'"/>
232                                 </xsl:call-template>
233                                 <BR></BR>
234                                 <BR></BR>
235                                 <xsl:call-template name="Layout_ExternalPorts"/>
236                         </TD>
237                         
238 <!--  ========================== Memory Map Section ======================= -->
239 <!---
240                         <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR']/MEMORYMAP">
241                                 <TR></TR>
242                                 <TD COLSPAN="1">
243                                         <A name="_MemoryMap"/>
244                                         <xsl:call-template name="Layout_NavigateHeader">
245                                                 <xsl:with-param name="header_name" select="'MEMORY MAP'"/>
246                                         </xsl:call-template>
247                                         <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR']">
248                                                 <xsl:sort select="@INSTANCE"/>
249                                                 <xsl:call-template name="Layout_MemoryMap"/>
250                                         </xsl:for-each>
251                                 </TD>
252                         </xsl:if>
253 -->             
254                         
255 <!--  ========================== Processor Information Section ================== -->
256                         <TR></TR>
257                         <TD COLSPAN="1" WIDTH="100%">
258                                 <A name="_Processor"/>
259                                 <xsl:call-template name="Layout_NavigateHeader">
260                                                 <xsl:with-param name="header_name" select="'Processors'"/>
261                                 </xsl:call-template>
262                                 <BR></BR>
263                                 <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
264                                         <xsl:for-each select="MODULES/MODULE[((@MODCLASS='PROCESSOR') and (contains(@MODTYPE,'microblaze')))]">
265                                         <xsl:sort select="@INSTANCE"/>
266                                                 <TR/>
267                                                 <TD COLSPAN="1" align="left">
268                                                         <xsl:call-template name="Layout_IPSection"/>
269                                                 </TD>
270                                         </xsl:for-each>
271                                         
272                                         <xsl:for-each select="MODULES/MODULE[((@MODCLASS='PROCESSOR') and (contains(@MODTYPE,'ppc')))]">
273                                         <xsl:sort select="@INSTANCE"/>
274                                                 <TR/>
275                                                 <TD COLSPAN="1" align="left">
276                                                         <xsl:call-template name="Layout_IPSection"/>
277                                                 </TD>
278                                         </xsl:for-each>
279                                 </TABLE>
280                         </TD>
281                                         
282 <!--                                            
283                         <TR></TR>
284                         <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
285                                 <A name="_Debug"/>
286                                                 <xsl:call-template name="Layout_NavigateHeader">
287                                                         <xsl:with-param name="header_name" select="'Debuggers'"/>
288                                                 </xsl:call-template>
289                                                 <BR></BR>
290                                                 
291                                                 <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
292                                                 <xsl:sort select="@INSTANCE"/>
293                                                         <TR/>
294                                                         <TD COLSPAN="1" align="left">
295                                                                 <xsl:call-template name="Layout_IPSection"/>
296                                                         </TD>
297                                                 </xsl:for-each>
298                                         </xsl:if>
299 -->                                     
300                                         
301 <!--                                            
302                                         <xsl:if test="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
303                                         <A name="_Intc"/>
304                                         <xsl:call-template name="Layout_NavigateHeader">
305                                                 <xsl:with-param name="header_name" select="'Interrupt Controllers'"/>
306                                         </xsl:call-template>
307                                         <BR></BR>
308                                                 <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
309                                                         <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
310                                                         <xsl:sort select="@INSTANCE"/>
311                                                                 <TR/>
312                                                                 <TD COLSPAN="1" align="left">
313                                                                 <xsl:call-template name="Layout_IPSection"/>
314                                                                 </TD>
315                                                         </xsl:for-each>
316                                                 </TABLE>
317                                                 
318                                         </xsl:if>
319                                 </TABLE>
320                         </TD>
321                         
322                                                 <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
323                                                 <xsl:sort select="@INSTANCE"/>
324                                                         <TR/>
325                                                         <TD COLSPAN="1" align="left">
326                                                                 <xsl:call-template name="Layout_IPSection"/>
327                                                         </TD>
328                                                 </xsl:for-each>
329 -->                             
330
331 <!--  ========================== Debugger Section ================== -->
332                         <xsl:if test="MODULES/MODULE[(@MODCLASS='DEBUG')]">
333                         <TR></TR>               
334                         <TD COLSPAN="1">
335                                 <A name="_Debug"/>
336                                 <xsl:call-template name="Layout_NavigateHeader">
337                                         <xsl:with-param name="header_name" select="'Debuggers'"/>
338                                 </xsl:call-template>    
339                                 <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
340                                         <xsl:for-each select="MODULES/MODULE[(@MODCLASS='DEBUG')]">
341                                         <xsl:sort select="@INSTANCE"/>
342                                                 <TR/>
343                                                 <TD COLSPAN="1" align="left">
344                                                         <xsl:call-template name="Layout_IPSection"/>
345                                                 </TD>
346                                         </xsl:for-each>
347                                 </TABLE>
348                         </TD>
349                 </xsl:if>       
350
351 <!--  ========================== Interrupt Controllers Section ================== -->
352                 <xsl:if test="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
353                         <TR></TR>               
354                         <TD COLSPAN="1">
355                                 <A name="_Intc"/>
356                                 <xsl:call-template name="Layout_NavigateHeader">
357                                         <xsl:with-param name="header_name" select="'Interrupt Controllers'"/>
358                                 </xsl:call-template>    
359                                 <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
360                                         <xsl:for-each select="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
361                                         <xsl:sort select="@INSTANCE"/>
362                                                 <TR/>
363                                                 <TD COLSPAN="1" align="left">
364                                                         <xsl:call-template name="Layout_IPSection"/>
365                                                 </TD>
366                                         </xsl:for-each>
367                                 </TABLE>
368                         </TD>
369                 </xsl:if>       
370                                 
371
372 <!--  ========================== Bus Information Section ================== -->
373                         <TR></TR>               
374                         <TD COLSPAN="1">
375                                 <A name="_BusModules"/>
376                                 <xsl:call-template name="Layout_NavigateHeader">
377                                         <xsl:with-param name="header_name" select="'Busses'"/>
378                                 </xsl:call-template>    
379                                 <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
380                                         <xsl:for-each select="MODULES/MODULE[((@MODCLASS='BUS') or (@MODCLASS='BUS_ARBITER'))]">
381                                         <xsl:sort select="@INSTANCE"/>
382                                                 <TR/>
383                                                 <TD COLSPAN="1" align="left">
384                                                         <xsl:call-template name="Layout_IPSection"/>
385                                                 </TD>
386                                         </xsl:for-each>
387                                 </TABLE>
388                         </TD>
389                                 
390 <!--  ========================== Bridge Information Section ================== -->
391                         <xsl:if test="MODULES/MODULE[(@MODCLASS='BUS_BRIDGE')]">
392                         <TR></TR>               
393                         <TD COLSPAN="1">
394                                 <BR></BR>
395                                 <A name="_BridgeModules"/>
396                                 <xsl:call-template name="Layout_NavigateHeader">
397                                         <xsl:with-param name="header_name" select="'Bus Bridges'"/>
398                                 </xsl:call-template>    
399                                 <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
400                                         <xsl:for-each select="MODULES/MODULE[(@MODCLASS='BUS_BRIDGE')]">
401                                         <xsl:sort select="@INSTANCE"/>
402                                                 <TR/>
403                                                 <TD COLSPAN="1" align="left">
404                                                         <xsl:call-template name="Layout_IPSection"/>
405                                                 </TD>
406                                         </xsl:for-each>
407                                 </TABLE>
408                         
409                         </TD>
410                         </xsl:if>                                       
411                         
412 <!--  ========================== Memory Information Section ============== -->
413                         <xsl:if test="MODULES/MODULE[(@MODCLASS='MEMORY')]">
414                         <TR></TR>               
415                         <TD COLSPAN="1">
416                                 <A name="_MemoryModules"/>
417                                 <xsl:call-template name="Layout_NavigateHeader">
418                                         <xsl:with-param name="header_name" select="'Memory'"/>
419                                 </xsl:call-template>    
420                                 
421                                 <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
422                                         <xsl:for-each select="MODULES/MODULE[(@MODCLASS='MEMORY')]">
423                                         <xsl:sort select="@INSTANCE"/>
424                                                 <TR/>
425                                                 <TD COLSPAN="1" align="left">
426                                                         <xsl:call-template name="Layout_IPSection"/>
427                                                 </TD>
428                                         </xsl:for-each>
429                                 </TABLE>
430                         </TD>
431                         </xsl:if>
432 <!--  ========================== Memory Controller Information Section ============== -->
433                         <xsl:if test="MODULES/MODULE[(@MODCLASS='MEMORY_CNTLR')]">
434                         <TR></TR>               
435                         <TD COLSPAN="1">
436                                 <A name="_MemCntlrModules"/>
437                                 <xsl:call-template name="Layout_NavigateHeader">
438                                         <xsl:with-param name="header_name" select="'Memory Controllers'"/>
439                                 </xsl:call-template>    
440                                 
441                                 <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
442                                         <xsl:for-each select="MODULES/MODULE[(@MODCLASS='MEMORY_CNTLR')]">
443                                         <xsl:sort select="@INSTANCE"/>
444                                                 <TR/>
445                                                 <TD COLSPAN="1" align="left">
446                                                         <xsl:call-template name="Layout_IPSection"/>
447                                                 </TD>
448                                         </xsl:for-each>
449                                 </TABLE>
450                         </TD>
451                 </xsl:if>       
452                         
453 <!--  ========================== Peripheral Information Section ============== -->
454                 <xsl:if test="MODULES/MODULE[(@MODCLASS='PERIPHERAL')]">
455                         <TR></TR>               
456                         <TD COLSPAN="1" align="left">
457                                 <A name="_Peripherals"/>
458                                 <xsl:call-template name="Layout_NavigateHeader">
459                                         <xsl:with-param name="header_name" select="'Peripherals'"/>
460                                 </xsl:call-template>    
461                                 <TABLE align="left" COLS="1" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
462                                         <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PERIPHERAL')]">
463                                         <xsl:sort select="@INSTANCE"/>
464                                                 <TD ROWSPAN="2"/><TR/>
465                                                 <TD ROWSPAN="2"/><TR/>
466                                                 <TD COLSPAN="1" align="left">
467                                                         <xsl:call-template name="Layout_IPSection"/>
468                                                 </TD>
469                                         </xsl:for-each>
470                                 </TABLE>
471                         </TD>   
472                 </xsl:if>       
473                         
474 <!--  ========================== IP Information Section ====================== -->
475                 <xsl:if test="MODULES/MODULE[(@MODCLASS='IP')]">
476                         <TR></TR>               
477                         <TD COLSPAN="1" align="left">
478                                 <A name="_IPModules"/>
479                                 <xsl:call-template name="Layout_NavigateHeader">
480                                         <xsl:with-param name="header_name" select="'IP'"/>
481                                 </xsl:call-template>    
482                                 <BR></BR>
483                                 <TABLE align="left" COLS="1" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
484                                         <xsl:for-each select="MODULES/MODULE[(@MODCLASS='IP')]">
485                                         <xsl:sort select="@INSTANCE"/>
486                                                 <TD ROWSPAN="2"/><TR/>
487                                                 <TD ROWSPAN="2"/><TR/>
488                                                 <TD COLSPAN="1" align="left">
489                                                         <xsl:call-template name="Layout_IPSection"/>
490                                                 </TD>
491                                         </xsl:for-each>
492                                 </TABLE>
493                         </TD>   
494                 </xsl:if>
495                         
496                 <!--Timing Information section -->
497                         <TR></TR>               
498                         <TD COLSPAN="1">
499                                 <A name="_TimingInfo"/>
500                                 <xsl:call-template name="Layout_NavigateHeader">
501                                         <xsl:with-param name="header_name" select="'Timing Information'"/>
502                                 </xsl:call-template>    
503                                 <BR></BR>
504                                 <BR></BR>
505                                 <xsl:call-template name="Layout_TimingInfo"/>
506                         </TD>
507                         <TR></TR>
508                         <TD COLSPAN="1" align="left">
509                                 <BR></BR>
510                                 <BR></BR>
511                                 <TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="3" cellspacing="0" cellpadding="0" border="0">
512                                         <TD COLSPAN="3" width="100%" align="middle" BGCOLOR="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 5px Verdana,Arial,Helvetica,sans-serif">line</SPAN></TD>
513                                         <TR></TR>
514                                         <TD COLSPAN="1" width="25%" align="left">
515                                                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TIMESTAMP"/></SPAN>
516                                         </TD>
517                                         <TD COLSPAN="2" width="75%" align="middle">
518                                                 <A HREF="http://www.xilinx.com" style="text-decoration:none"><SPAN style="color:{$DS_COL_INFO}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">www.xilinx.com</SPAN></A>
519                                                 <BR></BR>
520                                                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">1-800-255-7778</SPAN>
521                                         </TD>
522                                 </TABLE>
523                         </TD>
524                         
525                         
526                 </TABLE>                
527 </body>
528 </html>
529
530 </xsl:template>
531
532 <!-- ======================= LAYOUT TABLE OF CONTENTS ====================================== -->
533 <xsl:template name="Layout_TOC">
534         
535 <xsl:variable name="toc_col_">
536         <xsl:if test="$DS_TYPE='NOFRAMES'">
537                 <xsl:value-of select="$DS_COL_LGRY"/>   
538         </xsl:if>
539         
540         <xsl:if test="$DS_TYPE='FRAMES'">
541                 <xsl:value-of select="$DS_COL_WHITE"/>  
542         </xsl:if>
543 </xsl:variable>
544
545 <xsl:variable name="toc_width_">
546         <xsl:if test="$DS_TYPE='NOFRAMES'">
547                 <xsl:value-of select="$DS_WIDTH"/>      
548         </xsl:if>
549         
550         <xsl:if test="$DS_TYPE='FRAMES'">
551                 <xsl:value-of select="$DS_TOC_WIDTH"/>  
552         </xsl:if>
553 </xsl:variable>
554
555 <xsl:variable name="toc_target_">
556         <xsl:if test="$DS_TYPE='NOFRAMES'">
557                 <xsl:value-of select="$DS_FRAME_SELF"/> 
558         </xsl:if>
559         
560         <xsl:if test="$DS_TYPE='FRAMES'">
561                 <xsl:value-of select="$DS_FRAME_MAIN"/> 
562         </xsl:if>
563 </xsl:variable>
564
565 <xsl:variable name="trg_html_">
566         <xsl:if test="$DS_TYPE='NOFRAMES'">
567                 <xsl:value-of select="''"/>     
568         </xsl:if>
569         
570         <xsl:if test="$DS_TYPE='FRAMES'">
571                 <xsl:value-of select="$DS_HTML_MAIN"/>  
572         </xsl:if>
573 </xsl:variable>
574         
575         
576 <A name="_TOC"/>
577 <TABLE BGCOLOR="{$toc_col_}" WIDTH="{$toc_width_}" COLS="2" cellspacing="0" cellpadding="3" border="0">
578
579         <xsl:if test="$DS_TYPE='NOFRAMES'">
580                 <TH COLSPAN="2" width="100%" align="middle"><SPAN style="color:{$DS_COL_XPRP}; font: bold 20px Arial,Helvetica,sans-serif">TABLE OF CONTENTS</SPAN></TH>
581         </xsl:if>
582         
583         <TR></TR>
584         <TD COLSPAN="1" width="40%" align="left">
585                 <BR></BR>
586                 <A HREF="{$trg_html_}#_Overview" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Overview</SPAN></A>
587                 
588                 <BR></BR>
589                 <A HREF="{$trg_html_}#_BlockDiagram" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Block Diagram</SPAN></A>
590                 
591                 <BR></BR>
592                 <A HREF="{$trg_html_}#_ExternalPorts" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">External Ports</SPAN></A>
593                 
594 <!--            
595                 <BR></BR>
596                 <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR']/MEMORYMAP">
597                         <A HREF="{$trg_html_}#_MemoryMap" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory Map</SPAN></A>
598                 </xsl:if>
599 -->             
600                 
601                 <BR></BR>
602                 <xsl:variable name="proc_CNT" select="count(MODULES/MODULE[@MODCLASS = 'PROCESSOR'])"/>
603                 <xsl:if test="$proc_CNT &gt; 1">
604                         <A HREF="{$trg_html_}#_Processor" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processors</SPAN></A>
605                 </xsl:if>       
606                 <xsl:if test="not($proc_CNT &gt; 1)">
607                         <A HREF="{$trg_html_}#_Processor" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processor</SPAN></A>
608                 </xsl:if>       
609                 
610                 <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
611                         <xsl:sort select="@INSTANCE"/>
612                         <BR></BR>
613                         <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
614                         <xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
615                                 <BR></BR>
616                                 <A HREF="{$trg_html_}#_{@INSTANCE}_MemoryMap" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;memory map</SPAN></A>
617                         </xsl:if>
618                 </xsl:for-each>
619                 
620                 <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
621                         <BR></BR>
622                         <A HREF="{$trg_html_}#_Debug" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana Arial,Helvetica,sans-serif">Debuggers</SPAN></A>
623                         <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
624                                 <xsl:sort select="@INSTANCE"/>
625                                 <BR></BR>
626                                 <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
627                         </xsl:for-each>
628                 </xsl:if>
629                 
630                 <xsl:if test="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
631                         <BR></BR>
632                         <A HREF="{$trg_html_}#_Intc" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana Arial,Helvetica,sans-serif">Interrupt Controllers</SPAN></A>
633                         <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
634                                 <xsl:sort select="@INSTANCE"/>
635                                 <BR></BR>
636                                 <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
637                         </xsl:for-each>
638                 </xsl:if>
639                 
640                 <xsl:if test="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
641                         <BR></BR>
642                         <A HREF="{$trg_html_}#_BusModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Busses</SPAN></A>
643                         <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
644                                 <xsl:sort select="@INSTANCE"/>
645                                 <BR></BR>
646                                 <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
647                         </xsl:for-each>
648                 </xsl:if>
649                 
650                 <xsl:if test="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
651                         <BR></BR>
652                         <A HREF="{$trg_html_}#_BridgeModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Bridges</SPAN></A>
653                         <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
654                                 <xsl:sort select="@INSTANCE"/>
655                                 <BR></BR>
656                                 <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
657                         </xsl:for-each>
658                 </xsl:if>
659                 
660                 <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY']">
661                         <BR></BR>
662                         <A HREF="{$trg_html_}#_MemoryModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory</SPAN></A>
663                         <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY']">
664                                 <xsl:sort select="@INSTANCE"/>
665                                 <BR></BR>
666                                 <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
667                         </xsl:for-each>
668                 </xsl:if>               
669                 
670                 <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY_CONTROLLER']">
671                                 <BR></BR>       
672                                 <A HREF="{$trg_html_}#_MemCntlrModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory Controllers</SPAN></A>
673                                 <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY_CONTROLLER']">
674                                         <xsl:sort select="@INSTANCE"/>
675                                         <BR></BR>
676                                         <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
677                                 </xsl:for-each>
678                 </xsl:if>               
679                 
680                 <xsl:if test="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
681                         <BR></BR>
682                         <A HREF="{$trg_html_}#_Peripherals" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Peripherals</SPAN></A>
683                         <xsl:for-each select="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
684                                 <xsl:sort select="@INSTANCE"/>
685                                 <BR></BR>
686                                 <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
687                         </xsl:for-each>
688                 </xsl:if>               
689                 
690                 <xsl:if test="MODULES/MODULE[@MODCLASS='IP']">
691                         <BR></BR>
692                         <A HREF="{$trg_html_}#_IPModules" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">IP</SPAN></A>
693                         <xsl:for-each select="MODULES/MODULE[@MODCLASS='IP']">
694                                 <xsl:sort select="@INSTANCE"/>
695                                 <BR></BR>
696                                 <A HREF="{$trg_html_}#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 14px Courier Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;<xsl:value-of select="@INSTANCE"/></SPAN><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if></A>
697                         </xsl:for-each>
698                 </xsl:if>                       
699                 
700                 <BR></BR>
701                 <A HREF="{$trg_html_}#_TimingInfo" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Timing Information</SPAN></A>
702         </TD>
703         
704 </TABLE>
705 </xsl:template>
706 <!-- ======================= END LAYOUT TABLE OF CONTENT =================================== -->
707
708 <!-- ==============================  LAYOUT SNAPSHOT  ====================================== -->
709 <xsl:template name="Layout_Overview">
710         
711 <xsl:variable name="cnt_ip_"      select="count(MODULES/MODULE)"/>
712 <xsl:variable name="cnt_proc_"    select="count(MODULES/MODULE[@MODCLASS = 'PROCESSOR'])"/>
713 <xsl:variable name="cnt_busses_"  select="count(MODULES/MODULE[@MODCLASS = 'BUS'])"/>
714 <TABLE width="{$DS_WIDTH}" valign="top" align="left" border="0" cellpadding="0" cellspacing="1" COLS="2" BGCOLOR="{$DS_COL_BLACK}"> 
715
716         <TD COLSPAN="2" ALIGN="middle" BGCOLOR="{$DS_COL_XPRP}">
717                 <SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Overview</SPAN>
718         </TD>
719         <TR/>
720         
721         <xsl:if test="@TIMESTAMP">
722                 <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
723                         <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Generated on</SPAN>
724                 </TD>
725                 <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
726                         <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TIMESTAMP"/></SPAN>
727                 </TD>
728                 <TR></TR>
729         </xsl:if>       
730         
731         <xsl:if test="@PROJECTSRC">
732                 <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
733                         <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Source</SPAN>
734                 </TD>
735                 <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
736                         <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
737 <!--                            
738                                 <A HREF="{@PROJECTSRC}" style="text-decoration:none; color:{$DS_COL_XPRP}"><xsl:value-of select="@PROJECTSRC"/></A>
739 -->                             
740                                 <xsl:value-of select="@PROJECTSRC"/>
741                         </SPAN>
742                 </TD>
743                 <TR></TR>
744         </xsl:if>       
745
746         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
747                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">EDK Version</SPAN>
748         </TD>
749         
750         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
751                 <xsl:if test="@EDKVERSION">
752                         <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@EDKVERSION"/></SPAN>
753                 </xsl:if>
754                 <xsl:if test="not(@EDKVERSION)">
755                         <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">NA</SPAN>
756                 </xsl:if>
757         </TD>
758         <TR/>
759
760         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
761                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">FPGA Family</SPAN>
762         </TD>
763         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
764                 <xsl:if test="@ARCH">
765                         <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@ARCH"/></SPAN>
766                 </xsl:if>
767                 <xsl:if test="not(@ARCH)">
768                         <SPAN style="color:{$DS_COL_BLACK}; font: normal 10px Verdana,Arial,Helvetica,sans-serif">NA</SPAN>
769                 </xsl:if>
770         </TD>
771         <TR/>
772
773         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
774                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Device</SPAN>
775         </TD>
776         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
777                 <xsl:if test="@PART">
778                         <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@PART"/></SPAN>
779                 </xsl:if>
780                 <xsl:if test="not(@PART)">
781                         <SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">-</SPAN>
782                 </xsl:if>
783         </TD>
784         <TR/>
785         
786         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
787                 <SPAN style="color:{$DS_COL_BLACK}; font: Normal 12px Verdana,Arial,Helvetica,sans-serif"># IP Instantiated </SPAN>
788         </TD>
789         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
790                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_ip_"/></SPAN>
791         </TD>
792         <TR/>
793         
794         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
795                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"># Processors </SPAN>
796         </TD>
797         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
798                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_proc_"/></SPAN>
799         </TD>
800         <TR/>
801         
802         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
803                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"># Busses </SPAN>
804         </TD>
805         <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
806                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_busses_"/></SPAN>
807         </TD>
808         <TR/>
809         
810         
811 </TABLE>
812
813 </xsl:template>
814
815 <!-- ==============================  END LAYOUT SNAPSHOT  =================================== -->
816
817 <!-- ==============================  LAYOUT INTRODUCTION  =================================== -->
818 <xsl:template name="Layout_Introduction">
819 </xsl:template>
820 <!-- ==============================  END INTRODUCTION    ==================================== -->
821
822 <!-- ==============================  External Ports      ==================================== -->
823 <xsl:template name="Layout_ExternalPorts">
824         
825         <xsl:variable name="gpin_CNT_"  select="count(EXTERNALPORTS/PORT)"/>
826         <xsl:variable name="ipin_CNT_"  select="count(EXTERNALPORTS/PORT[@DIR='I'])"/>
827         <xsl:variable name="opin_CNT_"  select="count(EXTERNALPORTS/PORT[@DIR='O'])"/>
828         <xsl:variable name="iopin_CNT_" select="count(EXTERNALPORTS/PORT[@DIR='IO'])"/>
829         
830         <xsl:variable name="table_width_">
831                 <xsl:if test="$gpin_CNT_ &gt;  16"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
832                 <xsl:if test="$gpin_CNT_ &lt;= 16"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
833                 
834         </xsl:variable>
835         
836         <xsl:variable name="left_extra_">
837                 <xsl:if test="($gpin_CNT_ mod 2)     = 1">1</xsl:if>
838                 <xsl:if test="not(($gpin_CNT_ mod 2) = 1)">0</xsl:if>
839         </xsl:variable>
840         
841         <xsl:variable name="num_left_" select="floor($gpin_CNT_ div 2) + $left_extra_"/>
842         <xsl:variable name="num_rhgt_" select="floor($gpin_CNT_ div 2)"/>
843         
844         <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="8" cellspacing="1" cellpadding="1" border="0">
845                 
846                 <TD COLSPAN="8" ALIGN="middle" BGCOLOR="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">EXTERNAL PORTS</SPAN></TD>
847                 <TR></TR>       
848                 <TD COLSPAN="8" ALIGN="middle" bgcolor="{$DS_COL_WHITE}">
849                         <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
850                                 These are the external ports defined in the MHS file.
851                         </SPAN>
852                 </TD>
853                 
854                 <TR></TR>
855                 <TD COLSPAN="8" ALIGN="left" bgcolor="{$DS_COL_WHITE}">
856                         <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Attributes Key</SPAN>
857                         <BR></BR>
858                         <SPAN style="color:{$DS_COL_BLACK}; font: italic 9px Verdana,Arial,Helvetica,sans-serif">The attributes are obtained from the SIGIS and IOB_STATE parameters set on the PORT in the MHS file </SPAN>
859                         <BR></BR>
860                         <SPAN style="color:{$DS_COL_ATTR_CLK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">CLK</SPAN>
861                         <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Clock ports, (SIGIS = CLK)&#160;</SPAN>
862                         <BR></BR>
863                         <SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">INTR</SPAN>
864                         <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Interrupt ports,(SIGIS = INTR)&#160;</SPAN>
865                         <BR></BR>
866                         <SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">RESET</SPAN>
867                         <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Reset ports, (SIGIS = RST)&#160;</SPAN>
868                         <BR></BR>
869                         <SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">BUF or REG</SPAN>
870                         <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;Indicates ports that instantiate or infer IOB primitives, (IOB_STATE = BUF or REG)&#160;</SPAN>
871                 </TD>
872                 
873                 <xsl:if test="$gpin_CNT_ &lt;= 16">
874                         
875                 <TR></TR>
876                 
877                 <TD COLSPAN="7" ALIGN="left" bgcolor="{$DS_COL_WHITE}">
878                         
879                 <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
880                         
881                 <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
882                 <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
883                 <TD COLSPAN="1" width="5%"  align="left"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
884                 <TD COLSPAN="1" width="5%"  align="left"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
885                 <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
886                 <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
887                 
888                 <xsl:for-each select="EXTERNALPORTS/PORT">
889                         <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
890                         
891 <!--                    
892                         <xsl:message>The end of the string is <xsl:value-of select="substring(@GROUP,(string-length(@GROUP) -string-length(@GROUP)) + 1)"/></xsl:message>                       
893                         <xsl:message>The letter is <xsl:value-of select="$groupLetter_"/></xsl:message>                 
894                         <xsl:message>The color is <xsl:value-of select="$glb_bg_col_"/></xsl:message>                   
895                         <xsl:variable name="glb_bg_col_">
896                                 <xsl:choose>
897                                         <xsl:when test="(@GROUP mod 2) = 1">
898                                                 <xsl:value-of select="$DS_COL_ASH"/>
899                                         </xsl:when>             
900                                         <xsl:otherwise>
901                                                 <xsl:value-of select="$DS_COL_WHITE"/>
902                                         </xsl:otherwise>                
903                                 </xsl:choose>   
904                         </xsl:variable> 
905 -->                     
906
907                         <xsl:variable name="glb_bg_col_">
908                                 <xsl:call-template name="Group2Color">
909                                         <xsl:with-param name="group" select="@GROUP"/>
910                                 </xsl:call-template>
911                         </xsl:variable> 
912                         
913                         <TR></TR>       
914                         <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
915                                 <SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN><SPAN style="color:{$DS_COL_BLACK}; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"><xsl:value-of select="@GROUP"/></SPAN>
916                         </TD>
917                         <TD COLSPAN="2" width="30%" align="left"   bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
918                         <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold   10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
919                         <xsl:if test="@MSB and @LSB">
920                                 <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
921                         </xsl:if>                       
922                         <xsl:if test="not(@MSB and @LSB)">
923                                 <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
924                         </xsl:if>                       
925                         <TD COLSPAN="2" width="30%" align="left" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
926                         <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
927                                 <xsl:if test="@SIGIS='CLK'"><SPAN style="color:{$DS_COL_ATTR_CLK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;CLK&#160;</SPAN></xsl:if>
928                                 <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;RESET&#160;</SPAN></xsl:if>
929                                 <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;INTR&#160;</SPAN></xsl:if>
930                                 <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;BUF&#160;</SPAN></xsl:if>
931                                 <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;REG&#160;</SPAN></xsl:if>
932                         </TD>
933                 </xsl:for-each>
934                 
935                 </TABLE>
936                 </TD>
937                 </xsl:if>       
938                 
939                 <xsl:if test="$gpin_CNT_ &gt; 16">
940                         
941                         <TR></TR>       
942                         
943                         <TD COLSPAN="3" WIDTH="49%">
944                                 <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
945                                         <TD COLSPAN="1" width="5"   align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
946                                         <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
947                                         <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
948                                         <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
949                                         <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
950                                         <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
951                         
952                                         <xsl:for-each select="EXTERNALPORTS/PORT">
953                                         <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
954                                         
955                                         <xsl:if test="position() &lt;= $num_left_">
956                                         
957                                                 <xsl:variable name="glb_bg_col_">
958                                                         <xsl:call-template name="Group2Color">  
959                                                                 <xsl:with-param name="group" select="@GROUP"/>
960                                                         </xsl:call-template>            
961                                                 </xsl:variable> 
962 <!--
963                                                 <xsl:message>NAME: <xsl:value-of select="@NAME"/></xsl:message>                                         
964                                                 <xsl:message>SIGIS: <xsl:value-of select="@SIGIS"/></xsl:message>                                               
965 -->     
966                                             
967                                                 <TR></TR>       
968                                                 <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
969                                                         <SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN><SPAN style="color:{$DS_COL_BLACK}; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"><xsl:value-of select="@GROUP"/></SPAN>
970                                                 </TD>
971                                                 <TD COLSPAN="2" width="30%" align="left"   bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
972                                                 <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
973                                                 <xsl:if test="@MSB and @LSB">
974                                                         <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
975                                                 </xsl:if>                       
976                                                 <xsl:if test="not(@MSB and @LSB)">
977                                                         <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
978                                                 </xsl:if>                       
979                                                 <TD COLSPAN="2" width="30%" align="left" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
980                                                 <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
981                                                         <xsl:if test="@SIGIS='CLK'"><SPAN style="color:{$DS_COL_GREEN}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;CLK&#160;</SPAN></xsl:if>
982                                                         <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;RESET&#160;</SPAN></xsl:if>
983                                                         <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;INTR&#160;</SPAN></xsl:if>
984                                                         <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;BUF&#160;</SPAN></xsl:if>
985                                                         <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;REG&#160;</SPAN></xsl:if>
986                                                 </TD>
987                                         </xsl:if>       
988                                         </xsl:for-each>
989
990                                         
991                                 </TABLE>        
992                         </TD>   
993                         
994                         <TD COLSPAN="1" WIDTH="2%" BGCOLOR="{$DS_COL_GREY}">
995                                 <SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN>
996                         </TD> 
997                         
998                         <TD COLSPAN="3" WIDTH="49%">
999                                 
1000                                 <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
1001                                         <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
1002                                         <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
1003                                         <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
1004                                         <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
1005                                         <TD COLSPAN="2" width="30%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
1006                                         <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
1007                                         
1008                                         <xsl:for-each select="EXTERNALPORTS/PORT">
1009                                         <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
1010                                         
1011                                         <xsl:if test="position() &gt; $num_left_">
1012 <!--                                    
1013                                                 <xsl:variable name="glb_bg_col_">
1014                                                         <xsl:choose>
1015                                                                 <xsl:when test="(@GROUP mod 2) = 1">
1016                                                                         <xsl:value-of select="$DS_COL_ASH"/>
1017                                                                 </xsl:when>             
1018                                                                 <xsl:otherwise>
1019                                                                         <xsl:value-of select="$DS_COL_WHITE"/>
1020                                                                 </xsl:otherwise>                
1021                                                         </xsl:choose>   
1022                                                 </xsl:variable> 
1023 -->                                             
1024                                                 
1025                                                 <xsl:variable name="glb_bg_col_">
1026                                                         <xsl:call-template name="Group2Color">  
1027                                                                 <xsl:with-param name="group" select="@GROUP"/>
1028                                                         </xsl:call-template>            
1029                                                 </xsl:variable> 
1030                         
1031                                                 <TR></TR>       
1032                                                 <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
1033                                                         <SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN><SPAN style="color:{$DS_COL_BLACK}; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"><xsl:value-of select="@GROUP"/></SPAN>
1034                                                 </TD>
1035                                                 <TD COLSPAN="2" width="30%" align="left"   bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
1036                                                 <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold   10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
1037                                                 
1038                                                 <xsl:if test="@MSB and @LSB">
1039                                                         <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@LSB"/>:<xsl:value-of select="@MSB"/></SPAN></TD>
1040                                                 </xsl:if>                       
1041                                                 <xsl:if test="not(@MSB and @LSB)">
1042                                                         <TD COLSPAN="1" width="5%" align="middle" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
1043                                                 </xsl:if>                       
1044                                                 <TD COLSPAN="2" width="30%" align="left" bgcolor="{$glb_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
1045                                                 <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
1046                                                         <xsl:if test="@SIGIS='CLK'"><SPAN style="color:{$DS_COL_GREEN}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;CLK&#160;</SPAN></xsl:if>
1047                                                         <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;RESET&#160;</SPAN></xsl:if>
1048                                                         <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;INTR&#160;</SPAN></xsl:if>
1049                                                         <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;BUF&#160;</SPAN></xsl:if>
1050                                                         <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;REG&#160;</SPAN></xsl:if>
1051                                                 </TD>
1052                                         </xsl:if>       
1053                                         </xsl:for-each>
1054                                         
1055                                         <xsl:if test="$left_extra_ &gt; 0">
1056                                                 <TR></TR>       
1057                                                 <TD COLSPAN="9" WIDTH="100%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN></TD>
1058                                         </xsl:if>
1059                                         
1060                                 </TABLE>        
1061                                 
1062                         </TD>   
1063         
1064                 </xsl:if> 
1065                 
1066         </TABLE>                
1067
1068 </xsl:template>
1069
1070 <xsl:template name="Group2Color">
1071
1072         <xsl:param name="group"  select="'A'"/>
1073                 
1074         <xsl:variable name="letter">
1075                 <xsl:value-of select="substring($group,(string-length($group) -string-length($group)) + 1)"/>
1076         </xsl:variable>
1077         
1078         <xsl:choose>
1079                 <xsl:when test="$group = 'GLB'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1080                 
1081                 <xsl:when test="$letter = 'A'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1082                 <xsl:when test="$letter = 'C'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1083                 <xsl:when test="$letter = 'E'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1084                 <xsl:when test="$letter = 'G'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1085                 <xsl:when test="$letter = 'I'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1086                 <xsl:when test="$letter = 'K'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1087                 <xsl:when test="$letter = 'M'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1088                 <xsl:when test="$letter = 'O'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1089                 <xsl:when test="$letter = 'Q'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1090                 <xsl:when test="$letter = 'S'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1091                 <xsl:when test="$letter = 'U'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1092                 <xsl:when test="$letter = 'W'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1093                 <xsl:when test="$letter = 'Y'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
1094                 
1095                 <xsl:when test="$letter = 'B'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1096                 <xsl:when test="$letter = 'D'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1097                 <xsl:when test="$letter = 'F'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1098                 <xsl:when test="$letter = 'H'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1099                 <xsl:when test="$letter = 'J'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1100                 <xsl:when test="$letter = 'L'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1101                 <xsl:when test="$letter = 'N'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1102                 <xsl:when test="$letter = 'P'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1103                 <xsl:when test="$letter = 'R'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1104                 <xsl:when test="$letter = 'T'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1105                 <xsl:when test="$letter = 'V'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1106                 <xsl:when test="$letter = 'X'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1107                 <xsl:when test="$letter = 'Z'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
1108                 
1109                 <xsl:otherwise>
1110                         <xsl:value-of select="$DS_COL_WHITE"/>  
1111                 </xsl:otherwise>
1112         </xsl:choose>
1113 </xsl:template>
1114
1115
1116
1117
1118
1119 <xsl:template name="Layout_TimingInfo">
1120         
1121         <xsl:variable name="mtiming_CNT_" select="count(MODULES/MODULE/TIMING)"/>
1122          
1123         <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{ceiling($DS_WIDTH div 2)}" COLS="5" cellspacing="1" cellpadding="1" border="1">
1124                 <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Post Synthesis Clock Limits</SPAN></TD>
1125                 <TR></TR>       
1126                 <xsl:if test="$mtiming_CNT_ &lt; 1">
1127                         <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_WHITE}">
1128                                 <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
1129                                         No clocks could be identified in the design. Run platgen to generate synthesis information.
1130                                 </SPAN>
1131                         </TD>
1132                 </xsl:if>
1133                 <xsl:if test="$mtiming_CNT_ &gt; 0">
1134                         <TD COLSPAN="5" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
1135                                 <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
1136                                         These are the post synthesis clock frequencies. The critical frequencies are marked with
1137                                 </SPAN>
1138                                 <SPAN style="color:{$DS_COL_GREEN}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
1139                                         green.
1140                                 </SPAN>
1141                                 <BR></BR>
1142                                 <SPAN style="color:{$DS_COL_RED}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
1143                                         The values reported here are post synthesis estimates calculated for each individual module. These values will change after place and route is performed on the entire system.
1144                                 </SPAN>
1145                         </TD>
1146                         <TR></TR>
1147                         <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TD>
1148                         <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">CLK Port</SPAN></TD>
1149                         <TD COLSPAN="1" width="20%" align="left" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MAX FREQ</SPAN></TD>
1150                         
1151                         <xsl:for-each select="MODULES/MODULE/TIMING">
1152                         <xsl:sort data-type="number" select="@MAXFREQ" order="ascending"/>
1153                                 <xsl:variable name="maxFreq_"  select="@MAXFREQ"/>
1154                                 <xsl:variable name="freqUnit_" select="@FREQUNITS"/>
1155                                 <xsl:variable name="freqCol_">
1156                                         <xsl:if test="position() = 1">  
1157                                                 <xsl:value-of select="$DS_COL_GREEN"/>
1158                                         </xsl:if>
1159                                         <xsl:if test="not(position() = 1)">     
1160                                                 <xsl:value-of select="$DS_COL_BLACK"/>
1161                                         </xsl:if>
1162                                 </xsl:variable>
1163                                 
1164                                 <xsl:for-each select="TIMECLK">
1165                                         <TR></TR>
1166                                         
1167                                         <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_WHITE}">
1168                                                         <A HREF="#_{../../@INSTANCE}" style="text-decoration:none">
1169                                                                 <SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="../../@INSTANCE"/></SPAN>
1170                                                         </A>
1171                                         </TD>
1172                                         
1173                                         <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_WHITE}">
1174                                                 <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
1175                                                         <xsl:value-of select="@SIGNAME"/>
1176                                                 </SPAN>
1177                                         </TD>
1178                                         
1179                                         <TD COLSPAN="1" width="20%" align="left" bgcolor="{$DS_COL_WHITE}">
1180                                                 <SPAN style="color:{$freqCol_}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
1181                                                         <xsl:value-of select="$maxFreq_"/><xsl:value-of select="$freqUnit_"/>
1182                                                 </SPAN>
1183                                         </TD>
1184                                         
1185                             </xsl:for-each>
1186                         </xsl:for-each>
1187                 </xsl:if>
1188                 
1189         </TABLE>        
1190 </xsl:template>
1191
1192 <!-- ==============================  END GLOBAL PINOUT      ==================================== -->
1193
1194 <xsl:template name="Layout_NavigateHeader">
1195         <xsl:param name="header_name" select="HEADER"/>
1196         <BR></BR>
1197         <BR></BR>
1198         <BR></BR>
1199         <TABLE BGCOLOR="{$DS_COL_XPRP}" WIDTH="{$DS_WIDTH}" COLS="3" cellspacing="0" cellpadding="0" border="0">
1200                 <TH COLSPAN="1" width="90%" align="left">  <SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$header_name"/></SPAN></TH>
1201                 <xsl:if test="$DS_TYPE='NOFRAMES'">
1202                         <TH COLSPAN="1" width="10%"  align="middle"><A HREF="#_TOC" style="text-decoration:none"><SPAN style="color:{$DS_COL_LGRY}; font: bold 14px Verdana Arial,Helvetica,sans-serif">TOC</SPAN></A></TH>
1203                 </xsl:if>       
1204                 <xsl:if test="$DS_TYPE='FRAMES'">
1205                         <TH COLSPAN="1" width="10%"  align="middle"><A HREF="#_Overview" style="text-decoration:none"><SPAN style="color:{$DS_COL_LGRY}; font: bold 14px Verdana Arial,Helvetica,sans-serif">TOP</SPAN></A></TH>
1206                 </xsl:if>       
1207         </TABLE>
1208 </xsl:template>
1209
1210
1211 </xsl:stylesheet>