1 <?xml version="1.0" encoding="iso-8859-1" ?>
\r
3 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
\r
5 <xsl:template match="datasheet">
\r
8 <xsl:call-template name="css"/>
\r
13 <xsl:apply-templates select="header"/>
\r
15 <div class="dsheet">
\r
17 <xsl:apply-templates select="project-settings"/>
\r
20 <div class="header">Table of Contents</div>
\r
21 <div class="content" >
\r
22 <a href="#generated_files">Generated Files</a>
\r
24 <a href="#ios">IO's</a>
\r
26 <a href="#cores">Hardware Instances</a>
\r
28 <a href="#firmware_cores">Firmware</a>
\r
30 <a href="#memmap">Memory Map</a>
\r
31 <!-- <a href="{header}_MemoryMap.xml" >Memory Map</a> -->
\r
35 <!-- ======= Generated File's ======= -->
\r
38 <a name="generated_files"/>
\r
39 <div class="header">Generated Files</div>
\r
41 <xsl:call-template name="generated_files"/>
\r
44 <!-- ======= IO's ======= -->
\r
48 <div class="header">IO's</div>
\r
50 <xsl:call-template name="ios"/>
\r
54 <!-- ===== CORES ====== -->
\r
57 <div class="header">
\r
60 <xsl:call-template name="cores"/>
\r
64 <!-- ======= Firwmare ======= -->
\r
67 <a name="firmware_cores"/>
\r
68 <div class="header">Firmware</div>
\r
70 <xsl:call-template name="firmware_cores"/>
\r
73 <!-- ===== MEMORY MAP ====== -->
\r
76 <div class="header">
\r
79 <xsl:apply-templates select="memorysystem"/>
\r
89 <xsl:template match="header">
\r
92 Data Sheet: <xsl:value-of select="."/>
\r
94 <!-- ======= IO's =======
\r
95 <div class="copyright">
\r
96 Copyright 2008 Actel Corporation
\r
102 <xsl:template match="project-settings">
\r
103 <div class="header">Project Settings</div>
\r
105 <div class="content">
\r
106 <table border="0" cellspacing="4">
\r
112 <xsl:apply-templates select="fam"/>
\r
120 <xsl:apply-templates select="die"/>
\r
128 <xsl:apply-templates select="package"/>
\r
134 <b>Speed Grade: </b>
\r
137 <xsl:apply-templates select="speed-grade"/>
\r
146 <xsl:apply-templates select="voltage"/>
\r
155 <xsl:apply-templates select="hdl-type"/>
\r
161 <b>Project Description: </b>
\r
164 <xsl:apply-templates select="project-description"/>
\r
173 <xsl:apply-templates select="location"/>
\r
179 <b>State (Time): </b>
\r
182 <xsl:apply-templates select="state"/>
\r
190 <!-- ///////////////////////////////////////////////////////// -->
\r
192 <xsl:template name="generated_files">
\r
193 <div class="content">
\r
194 <xsl:for-each select="fileset">
\r
196 <xsl:value-of select="name"/>
\r
199 <xsl:for-each select="file">
\r
201 <xsl:value-of select="."/>
\r
207 <xsl:call-template name="top-link"/>
\r
211 <!-- ///////////////////////////////////////////////////////// -->
\r
213 <xsl:template name="print-ios">
\r
215 <xsl:apply-templates select="port-name"/>
\r
218 <xsl:apply-templates select="direction"/>
\r
221 <xsl:apply-templates select="pin-number"/>
\r
224 <xsl:apply-templates select="io-standard"/>
\r
228 <xsl:template name="ios">
\r
230 <xsl:when test="count(io) > 0">
\r
231 <table class="ios" align="center" border="1" width="75%" cellspacing="0" cellpadding="4">
\r
246 <xsl:for-each select="io">
\r
248 <xsl:call-template name="print-ios"/>
\r
259 <xsl:call-template name="top-link"/>
\r
263 <!-- ///////////////////////////////////////////////////////// -->
\r
265 <xsl:template name="firmware_cores">
\r
267 <xsl:when test="count(firmware_core) > 0">
\r
269 <div class="content">
\r
270 <b>Software IDE: </b>
\r
271 <xsl:value-of select="/datasheet/project-settings/swide-toolchain"/>
\r
275 <span class="instances">Drivers:</span>
\r
277 <xsl:for-each select="firmware_core">
\r
278 <a href="#{core-name}">
\r
279 <xsl:value-of select="core-name"/>
\r
285 <div class="toplinks">
\r
286 <xsl:call-template name="top-link"/>
\r
290 <xsl:for-each select="firmware_core">
\r
291 <div class="content">
\r
293 <a name="{core-name}"/>
\r
295 <table class="cores" width="97%" border="0" cellspacing="0" cellpadding="14">
\r
296 <!--border="1" cellspacing="0" cellpadding="14"> -->
\r
299 <xsl:when test='@type="FirmWareModule"'>
\r
300 <xsl:call-template name="print-cores-spirit"/>
\r
306 <div class="toplinks">
\r
307 <a href="#cores">instance list</a>, <xsl:call-template name="top-link"/>
\r
316 <i>No Firmware Generated. Design may not contain any processor subsystems, or firmware have not been downloaded to your vault</i>
\r
319 <xsl:call-template name="top-link"/>
\r
328 <!-- ///////////////////////////////////////////////////////// -->
\r
330 <xsl:template name="cores">
\r
333 <xsl:when test="count(core) > 0">
\r
335 <div class="content">
\r
336 <span class="instances">Instances:</span>
\r
338 <xsl:for-each select="core">
\r
339 <a href="#{core-name}">
\r
340 <xsl:value-of select="core-name"/>
\r
346 <div class="toplinks">
\r
347 <xsl:call-template name="top-link"/>
\r
351 <xsl:for-each select="core">
\r
352 <div class="content">
\r
354 <a name="{core-name}"/>
\r
356 <table class="cores" width="97%" border="0" cellspacing="0" cellpadding="14">
\r
357 <!--border="1" cellspacing="0" cellpadding="14"> -->
\r
359 <xsl:when test='@type="ComponentModule"'>
\r
360 <xsl:call-template name="print-cores-comp"/>
\r
362 <xsl:when test='@type="SpiritModule"'>
\r
363 <xsl:call-template name="print-cores-spirit"/>
\r
365 <xsl:when test='@type="AdlibModule"'>
\r
366 <xsl:call-template name="print-cores-adlib"/>
\r
368 <xsl:when test='@type="HdlModule"'>
\r
369 <xsl:call-template name="print-cores-hdl"/>
\r
374 <div class="toplinks">
\r
375 <a href="#cores">instance list</a>, <xsl:call-template name="top-link"/>
\r
384 <i>No Instances</i>
\r
387 <xsl:call-template name="top-link"/>
\r
394 <xsl:template name="print-cores-comp">
\r
398 <xsl:call-template name="print-cores"/>
\r
404 <xsl:apply-templates select="core-exttype"/>
\r
412 <xsl:apply-templates select="core-location"/>
\r
420 <xsl:template name="print-cores-spirit">
\r
424 <xsl:call-template name="print-cores"/>
\r
430 <xsl:apply-templates select="core-exttype"/>
\r
438 <xsl:apply-templates select="core-vendor"/>
\r
446 <xsl:apply-templates select="core-lib"/>
\r
454 <xsl:apply-templates select="core-intname"/>
\r
462 <xsl:apply-templates select="core-ver"/>
\r
467 <b>Description: </b>
\r
470 <xsl:apply-templates select="core-desc"/>
\r
475 <b>Parameters: </b>
\r
478 <xsl:call-template name="print-spirit-params"/>
\r
486 <xsl:template name="print-spirit-params" >
\r
487 <xsl:if test="count(core-param) > 0">
\r
488 <div style="background-color: #F0F0F0; " >
\r
499 <xsl:for-each select="core-param">
\r
500 <xsl:call-template name="print-core-params"/>
\r
505 <xsl:if test="count(core-param) < 1">
\r
506 <i>No parameters</i>
\r
510 <xsl:template name="print-cores-adlib">
\r
514 <xsl:call-template name="print-cores"/>
\r
520 <xsl:apply-templates select="core-exttype"/>
\r
529 <xsl:template name="print-cores-hdl">
\r
533 <xsl:call-template name="print-cores"/>
\r
536 <b>Module Name: </b>
\r
539 <xsl:apply-templates select="core-exttype"/>
\r
547 <xsl:apply-templates select="core-location"/>
\r
555 <xsl:template name="print-cores">
\r
558 <b>Instance Name: </b>
\r
561 <xsl:apply-templates select="core-name"/>
\r
566 <xsl:template name="print-core-params">
\r
569 <b class="params-name">
\r
570 <xsl:apply-templates select="param-hdlname"/> [ <xsl:apply-templates select="param-name"/> ]
\r
574 <xsl:apply-templates select="param-hdlvalue"/> [ <xsl:apply-templates select="param-value"/> ]
\r
582 <!--/////////////////////////////////////////////////////////-->
\r
584 <xsl:template match="port-name|direction|pin-number|io-standard">
\r
585 <xsl:value-of select="."/>
\r
588 <xsl:template match="core-name|core-type|core-exttype">
\r
589 <xsl:value-of select="."/>
\r
592 <xsl:template match="core-vendor|core-lib|core-intname|core-ver|core-desc">
\r
593 <xsl:value-of select="."/>
\r
596 <xsl:template match="core-location">
\r
597 <xsl:value-of select="."/>
\r
600 <xsl:template match="fam|die|package|hdl-type|location|state">
\r
601 <xsl:value-of select="."/>
\r
604 <xsl:template match="param-name|param-value|param-tag|param-hdlname|param-hdlvalue">
\r
605 <xsl:value-of select="."/>
\r
609 <xsl:template name="top-link">
\r
610 <a href="#top">top of page</a>
\r
615 <!--=============================MEMORY MAP===================================-->
\r
617 <xsl:template match="memorysystem">
\r
619 <div class="content">
\r
620 <xsl:apply-templates select="description"/>
\r
623 <xsl:apply-templates select="subsystems"/>
\r
629 <xsl:template match="subsystems">
\r
631 <xsl:for-each select="subsystem">
\r
633 <div class="content">
\r
634 <a href="#{name} Memory Map">
\r
635 <xsl:value-of select="node()"/>
\r
641 <div class="content">
\r
642 <div class="toplinks">
\r
643 <xsl:call-template name="top-link"/>
\r
649 <xsl:apply-templates select="subsystem"/>
\r
653 <xsl:template match="subsystem">
\r
654 <div class="content">
\r
656 <a name="{name} Memory Map">
\r
657 <xsl:value-of select="name"/>
\r
660 Master(s) on this bus:
\r
661 <xsl:apply-templates select="master"/>
\r
664 <xsl:apply-templates select="addressNames" />
\r
665 <a href="#memmap">subsystem list</a>,
\r
666 <xsl:call-template name="top-link"/>
\r
670 <xsl:apply-templates select="slave"/>
\r
674 <xsl:template match="title">
\r
675 <span style="color:#000000">
\r
676 <xsl:value-of select="text()"/>
\r
680 <xsl:template match="description">
\r
681 <xsl:value-of select="text()"/>
\r
684 <xsl:template match="master">
\r
686 <div class="content">
\r
687 <xsl:value-of select="text()"/>
\r
692 <xsl:template match="addressNames">
\r
693 <table class="regs" border="1" cellspace="0" cellpadding="10" align="center" >
\r
694 <xsl:if test="count = 1">
\r
695 <tr bgcolor="#aaaacc">
\r
696 <th rowspan="1"></th>
\r
697 <th colspan="2">Address Range</th>
\r
700 <xsl:if test="count > 1">
\r
701 <tr bgcolor="#aaaacc">
\r
702 <th rowspan="2"></th>
\r
703 <th colspan="2">Address Range</th>
\r
706 <xsl:for-each select="name">
\r
707 <th bgcolor="#aaaacc">
\r
708 <xsl:value-of select="text()"/>
\r
714 <xsl:for-each select="../slave">
\r
716 <th cellspace="0" colspan="1">
\r
718 <a class="toplinks" href="#{name}_{memoryMap/name} Register">
\r
719 <xsl:value-of select="name"/> : <xsl:value-of select="memoryMap/name"/>
\r
723 <xsl:for-each select="fullAddressSpace">
\r
724 <td align="center">
\r
725 <xsl:value-of select="text()"/>
\r
734 <xsl:template match="slave">
\r
735 <div class="content">
\r
737 <a name="{name}_{memoryMap/name} Register">
\r
738 <xsl:value-of select="name"/> : <xsl:value-of select="memoryMap/name"/> Memory Map [
\r
739 <xsl:value-of select="fullAddressSpace"/> ]
\r
743 <div class="mmrange">
\r
746 <xsl:apply-templates select="range"/>
\r
749 <xsl:if test="memoryMap/addressBlock/register">
\r
750 <xsl:apply-templates select="memoryMap/addressBlock"/>
\r
752 <a class="toplinks" href="#{../name} Memory Map">
\r
753 back to <xsl:value-of select="../name"/> Memory Map
\r
760 <xsl:template match="addressBlock">
\r
761 <table class="regs" border="2" cellspace="0" cellpadding="4" align="center">
\r
762 <tr bgcolor="#aaaacc">
\r
767 <th>Reset Value</th>
\r
768 <th>Description</th>
\r
770 <xsl:for-each select="register">
\r
772 <td align="center" nowrap="true">
\r
773 <xsl:value-of select="absoluteAddress"/>
\r
776 <xsl:when test="field">
\r
777 <td align="center">
\r
778 <a class="toplinks" href="#{../../../name}_{name}">
\r
779 <xsl:value-of select="name"/>
\r
784 <td align="center">
\r
785 <xsl:value-of select="name"/>
\r
789 <td align="center" nowrap="true">
\r
790 <xsl:value-of select="access"/>
\r
792 <td align="center">
\r
793 <xsl:value-of select="size"/>
\r
795 <td align="center">
\r
796 <xsl:value-of select="resetValue"/>
\r
799 <xsl:value-of select="description"/>
\r
805 <xsl:if test="register/field">
\r
806 <a class="toplinks" href="#{../../../name} Memory Map">
\r
807 back to <xsl:value-of select="../../../name"/> Memory Map
\r
809 <xsl:for-each select="register">
\r
810 <div class="content">
\r
812 <a class="register-details" name="{../../../name}_{name}">
\r
813 <xsl:value-of select="name"/> register details [ <xsl:value-of select="absoluteAddress"/> ] :
\r
817 <div class="regwidth">
\r
820 <xsl:apply-templates select="size"/>-bit
\r
824 <table class="regs" border="2" cellspace="0" cellpadding="4" align="center" >
\r
825 <tr bgcolor="#aaaacc">
\r
826 <th align="left">Bit Number</th>
\r
829 <th>Description</th>
\r
831 <xsl:for-each select="field">
\r
834 <xsl:value-of select="bitNumber"/>
\r
836 <td align="center">
\r
837 <xsl:value-of select="name"/>
\r
839 <td align="center" nowrap="true">
\r
840 <xsl:value-of select="access"/>
\r
843 <xsl:value-of select="description"/>
\r
849 <a class="toplinks" href="#{../../../name}_{../../../memoryMap/name} Register">
\r
850 back to <xsl:value-of select="../../../name"/> Registers
\r
861 <xsl:template match="range">
\r
862 <xsl:value-of select="."/>
\r
865 <!--==========================END MEMORY MAP===================================-->
\r
869 <!--============================= CSS ===================================-->
\r
870 <xsl:template name="css">
\r
875 background-color:darkgray;
\r
888 background-color: #F0F0F0;
\r
893 background-color: #F0F0F0;
\r
894 border-color: #B0B0B0;
\r
895 border-style:solid;
\r
901 vertical-align:top;
\r
907 border-color: #B0B0B0;
\r
908 border-style:solid;
\r
910 border-spacing:0px;
\r
911 border-collapse:collapse;
\r
913 font-family:couriernew;
\r
920 border-color: #B0B0B0;
\r
922 color: darkslategray;
\r
935 border-color: #D0D0D0;
\r
936 border-style:solid;
\r
938 border-spacing:0px;
\r
939 border-collapse:collapse;
\r
945 border-color: #D0D0D0;
\r
966 padding-bottom: 7px;
\r
968 background-color: #D0D0D0;
\r
973 text-align: center;
\r
981 background-color:#003399 ;
\r
983 text-align: center;
\r
986 padding-right:30px;
\r
996 background-color: white;
\r
999 padding-bottom: 30px;
\r
1000 padding-left:30px;
\r
1001 padding-right:30px;
\r
1006 padding-top: 10px;
\r
1007 padding-left:10px;
\r
1008 padding-right:10px;
\r
1012 font-weight: normal;
\r
1019 font-style:italic;
\r
1020 font-weight:normal;
\r
1030 color:darkslategray
\r
1060 padding-bottom: 20px;
\r
1069 padding-bottom: 20px;
\r
1074 <!--============================= END CSS ===================================-->
\r