]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/MicroBlaze_Spartan-6_EthernetLite/PlatformStudioProject/__xps/edw2xtl_sav_globals.xsl
Correct calculation of xHeapStructSize in heap_4 and heap_5.
[freertos] / FreeRTOS / Demo / MicroBlaze_Spartan-6_EthernetLite / PlatformStudioProject / __xps / edw2xtl_sav_globals.xsl
1 <?xml version="1.0" standalone="no"?>
2
3 <!DOCTYPE stylesheet [
4         <!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
5         <!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
6         
7         <!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
8         <!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
9         
10         <!ENTITY ALPHALOWER "ABCDEFxX0123456789">
11         <!ENTITY HEXUPPER "ABCDEFxX0123456789">
12         <!ENTITY HEXLOWER "abcdefxX0123456789">
13         <!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
14         
15         <!ENTITY ALLMODS "MODULE[(@INSTANCE)]">
16         <!ENTITY BUSMODS "MODULE[(@MODCLASS ='BUS')]">
17         <!ENTITY CPUMODS "MODULE[(@MODCLASS ='PROCESSOR')]">
18         
19         <!ENTITY MODIOFS "MODULE/IOINTERFACES/IOINTERFACE">
20         <!ENTITY ALLIOFS "&MODIOFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
21         
22         <!ENTITY MODBIFS "MODULE/BUSINTERFACES/BUSINTERFACE">
23         <!ENTITY ALLBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
24         <!ENTITY MSTBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and  (@TYPE = 'MASTER')]">
25         <!ENTITY SLVBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and  (@TYPE = 'SLAVE')]">
26         <!ENTITY MOSBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'MASTER') or (@TYPE = 'SLAVE'))]">
27         <!ENTITY P2PBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR'))]">       
28         
29         <!ENTITY MODPORTS "MODULE/PORTS/PORT">
30         <!ENTITY ALLPORTS "&MODPORTS;[ (not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
31         <!ENTITY NDFPORTS "&MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (not(@BUS) and not(@IOS)))]">
32         <!ENTITY DEFPORTS "&MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@BUS) or (@IOS)))]">
33 ]>
34
35 <xsl:stylesheet version="1.0"
36            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
37        xmlns:exsl="http://exslt.org/common"
38        xmlns:dyn="http://exslt.org/dynamic"
39        xmlns:math="http://exslt.org/math"
40        xmlns:xlink="http://www.w3.org/1999/xlink"
41        extension-element-prefixes="math dyn exsl xlink">
42            
43 <xsl:variable name="G_ROOT"     select="/"/>
44
45
46
47 <!--    
48         ======================================================
49                         EDK SYSTEM (EDWARD) Globals.    
50         ======================================================
51 -->     
52 <xsl:variable name="G_SYS_EVAL">
53         <xsl:choose>
54           <xsl:when test="not($P_SYSTEM_XML = '__UNDEF__')"><xsl:text>document($P_SYSTEM_XML)</xsl:text></xsl:when>
55            <xsl:otherwise><xsl:text>/</xsl:text></xsl:otherwise>
56         </xsl:choose>
57 </xsl:variable>
58
59 <xsl:variable name="G_SYS_DOC"            select="dyn:evaluate($G_SYS_EVAL)"/>
60 <xsl:variable name="G_SYS"                select="$G_SYS_DOC/EDKSYSTEM"/>
61 <xsl:variable name="G_SYS_TIMESTAMP"  select="$G_SYS/@TIMESTAMP"/>
62 <xsl:variable name="G_SYS_EDKVERSION" select="$G_SYS/@EDKVERSION"/>
63
64 <xsl:variable name="G_SYS_INFO"           select="$G_SYS/SYSTEMINFO"/>
65 <xsl:variable name="G_SYS_INFO_PKG"   select="$G_SYS_INFO/@PACKAGE"/>
66 <xsl:variable name="G_SYS_INFO_DEV"   select="$G_SYS_INFO/@DEVICE"/>
67 <xsl:variable name="G_SYS_INFO_ARCH"  select="$G_SYS_INFO/@ARCH"/>
68 <xsl:variable name="G_SYS_INFO_SPEED" select="$G_SYS_INFO/@SPEEDGRADE"/>
69
70 <xsl:variable name="G_SYS_MODS"           select="$G_SYS/MODULES"/>
71 <xsl:variable name="G_SYS_EXPS"           select="$G_SYS/EXTERNALPORTS"/>
72
73 <xsl:variable name="COL_FOCUSED_MASTER"                         select="'AAAAFF'"/>
74 <xsl:variable name="COL_BG_OUTOF_FOCUS_CONNECTIONS" select="'AA7711'"/>
75
76 <!--  INDEX KEYS FOR FAST ACCESS  -->
77 <xsl:key name="G_MAP_MODULES"           match="&ALLMODS;" use="@INSTANCE"/>
78 <xsl:key name="G_MAP_PROCESSORS"        match="&CPUMODS;" use="@INSTANCE"/>
79
80 <xsl:key name="G_MAP_BUSSES"            match="&BUSMODS;" use="@INSTANCE"/>
81 <xsl:key name="G_MAP_BUSSES"            match="&BUSMODS;" use="@BUSSTD"/>
82 <xsl:key name="G_MAP_BUSSES"            match="&BUSMODS;" use="@BUSSTD_PSF"/>
83
84 <xsl:key name="G_MAP_ALL_IOFS"          match="&ALLIOFS;" use="../../@INSTANCE"/>
85 <xsl:key name="G_MAP_ALL_BIFS"          match="&ALLBIFS;" use="../../@INSTANCE"/>
86
87 <xsl:key name="G_MAP_ALL_BIFS_BY_BUS" match="&ALLBIFS;" use="@BUSNAME"/>
88 <!-- 
89  -->
90
91 <xsl:key name="G_MAP_MST_BIFS"          match="&MSTBIFS;" use="@BUSNAME"/>
92 <xsl:key name="G_MAP_SLV_BIFS"          match="&SLVBIFS;" use="@BUSNAME"/>
93 <xsl:key name="G_MAP_MOS_BIFS"          match="&MOSBIFS;" use="@BUSNAME"/>
94
95 <xsl:key name="G_MAP_P2P_BIFS"          match="&P2PBIFS;" use="@BUSNAME"/>
96 <xsl:key name="G_MAP_P2P_BIFS"          match="&P2PBIFS;" use="@BUSSTD"/>
97 <xsl:key name="G_MAP_P2P_BIFS"          match="&P2PBIFS;" use="@BUSSTD_PSF"/>
98
99 <xsl:key name="G_MAP_ALL_PORTS"         match="&ALLPORTS;" use="../../@INSTANCE"/>
100 <xsl:key name="G_MAP_DEF_PORTS"         match="&DEFPORTS;" use="../../@INSTANCE"/> <!-- Default ports -->
101 <xsl:key name="G_MAP_NDF_PORTS"         match="&NDFPORTS;" use="../../@INSTANCE"/> <!-- Non Default ports -->
102
103 <!--
104 <xsl:key name="G_MAP_MASTER_BIFS"        match="&MSTBIFS;" use="@BUSNAME"/>
105 <xsl:key name="G_MAP_MASTER_BIFS"        match="MODULE[not(@MODCLASS ='BUS')]/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'MASTER')]" use="../../@INSTANCE.@NAME"/>
106 <xsl:key name="G_MAP_BUSSES_BY_INSTANCE" match="MODULE[(@MODCLASS ='BUS')]" use="@INSTANCE"/>
107 <xsl:key name="G_MAP_XB_BUSSES" match="MODULE[(@MODCASS ='BUS')and (@IS_CROSSBAR)]" use="@INSTANCE"/>
108  -->
109 <!--    
110         ======================================================
111                  Groups.xml (BLOCKS) Globals    
112         ======================================================
113 -->     
114 <xsl:variable name="G_GRP_EVAL">
115         <xsl:choose>
116           <xsl:when test="not($P_GROUPS_XML = '__UNDEF__')"><xsl:text>document($P_GROUPS_XML)</xsl:text></xsl:when>
117            <xsl:otherwise><xsl:text>/</xsl:text></xsl:otherwise>
118         </xsl:choose>
119 </xsl:variable>
120
121 <xsl:variable name="G_GRPS_DOC" select="dyn:evaluate($G_GRP_EVAL)"/>
122 <xsl:variable name="G_GROUPS"   select="$G_GRPS_DOC/BLOCKS"/>
123
124 <xsl:variable name="G_NUM_OF_PROCS"             select="count($G_SYS/MODULES/MODULE[(@MODCLASS = 'PROCESSOR')])"/>
125 <xsl:variable name="G_NUM_OF_PROCS_W_ADDRS" select="count($G_SYS/MODULES/MODULE[(@MODCLASS = 'PROCESSOR') and MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]])"/>
126
127 <xsl:variable name="G_FOCUSED_SCOPE">
128     <xsl:choose>
129     
130         <!--  FOCUSING ON SPECIFIC SELECTIONS-->
131         <xsl:when test="$G_ROOT/SAV/SELECTION">
132         </xsl:when>
133         
134         <!--  FOCUSING ON PROCESSOR -->
135         <xsl:when test="$G_ROOT/SAV/MASTER">
136                 <xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>FOCUSED MASTERS SPECIFIED</xsl:message></xsl:if>
137                 <xsl:for-each select="$G_ROOT/SAV/MASTER">
138                         <xsl:variable name="m_inst_"  select="@INSTANCE"/>
139                                 <xsl:variable name="m_mod_"   select="$G_SYS_MODS/MODULE[(@INSTANCE = $m_inst_)]"/>
140                         <xsl:for-each select="$m_mod_/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and not(@BUSNAME = '__NOC__') and ((@TYPE = 'MASTER') or (@TYPE = 'SLAVE') or (@TYPE = 'INITIATOR') or (@TYPE = 'TARGET'))]">
141                                         <xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>  FOCUSED MASTER BIF <xsl:value-of select="$m_inst_"/>.<xsl:value-of select="@NAME"/> = <xsl:value-of select="@BUSNAME"/></xsl:message></xsl:if>
142                                         <xsl:variable name="b_bus_"   select="@BUSNAME"/>
143                                 <BUS NAME="{@BUSNAME}" BUSSTD="{@BUSSTD}"/>
144                                 <xsl:for-each select="$G_SYS_MODS/MODULE[(not(@INSTANCE = $m_inst_) and (@MODCLASS = 'BUS_BRIDGE'))]/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'SLAVE') and (@BUSNAME = $b_bus_)]">
145                                                 <xsl:variable name="b_inst_" select="../../@INSTANCE"/>
146                                         <xsl:choose>
147                                                 <xsl:when test="MASTERS/MASTER">
148                                                                 <xsl:for-each select="MASTERS/MASTER">
149                                                                         <xsl:variable name="sm_inst_" select="@INSTANCE"/>
150                                                                         <xsl:if test="count($G_ROOT/SAV/MASTER[(@INSTANCE = $sm_inst_)]) &gt; 0">
151                                                                                 <xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>  FOCUSED PERIPHERAL BRIDGE <xsl:value-of select="$b_inst_"/></xsl:message></xsl:if>
152                                                                                 <PERIPHERAL NAME="{$b_inst_}"/>
153                                                                         </xsl:if>
154                                                                 </xsl:for-each>
155                                                         </xsl:when>     
156                                                 <xsl:otherwise>
157                                                                 <xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>  FOCUSED PERIPHERAL BRIDGE <xsl:value-of select="$b_inst_"/></xsl:message></xsl:if>
158                                                 <PERIPHERAL NAME="{$b_inst_}"/>
159                                                 </xsl:otherwise>
160                                         </xsl:choose>
161                                 </xsl:for-each> 
162                         </xsl:for-each>
163                         <xsl:for-each select="$m_mod_/PERIPHERALS/PERIPHERAL">
164                                 <xsl:variable name="p_id_"  select="@INSTANCE"/>
165                                 <xsl:variable name="p_mod_" select="$G_SYS_MODS/MODULE[@INSTANCE = $p_id_]"/>
166                             <PERIPHERAL NAME="{@INSTANCE}"/>
167                                 <xsl:variable name="p_mr_cnt_"  select="count($m_mod_/MEMORYMAP/MEMRANGE[(@INSTANCE = $p_id_)])"/>
168                                         <xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>  FOCUSED PERIPHERAL <xsl:value-of select="$p_id_"/> has <xsl:value-of select="$p_mr_cnt_"/> memory ranges</xsl:message></xsl:if>
169                                         <xsl:for-each select="$m_mod_/MEMORYMAP/MEMRANGE[(@INSTANCE = $p_id_)]/ACCESSROUTE/ROUTEPNT">
170                                         <xsl:variable name="b_id_"  select="@INSTANCE"/>
171                                                 <xsl:for-each select="$G_SYS_MODS/MODULE[((@INSTANCE = $b_id_) and (@MODCLASS = 'BUS'))]">
172                                                         <xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>  FOCUSED PERIPHERAL BUS <xsl:value-of select="@INSTANCE"/></xsl:message></xsl:if>
173                                                 <BUS NAME="{@INSTANCE}" BUSSTD="{@BUSSTD}"/> 
174                                         </xsl:for-each>
175                                 </xsl:for-each>
176                         </xsl:for-each>
177                 </xsl:for-each>
178         </xsl:when>
179         
180         <!--  FOCUSING ON BUS -->
181        <xsl:when test="$G_ROOT/SAV/BUS">
182                         <xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>FOCUSED BUSSES SPECIFIED</xsl:message></xsl:if>
183                 <xsl:for-each select="$G_ROOT/SAV/BUS">
184                         <xsl:variable name="m_inst_"  select="@INSTANCE"/>
185                                 <xsl:variable name="m_mod_"   select="$G_SYS_MODS/MODULE[(@INSTANCE = $m_inst_)]"/>
186                                 <xsl:variable name="m_bstd_"  select="$m_mod_/@BUSSTD"/>
187                                 <BUS NAME="{$m_inst_}" BUSSTD="{$m_bstd_}"/> 
188                                 <xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>  FOCUSED BUS <xsl:value-of select="$m_inst_"/> <xsl:value-of select="$m_bstd_"/></xsl:message></xsl:if>
189                         </xsl:for-each> 
190        </xsl:when>
191     </xsl:choose>
192 </xsl:variable>
193
194 <xsl:variable name="G_HAVE_XB_BUSSES">
195         <xsl:choose>
196                 <xsl:when test="(count($G_SYS_MODS/MODULE[((@MODCLASS = 'BUS') and (@IS_CROSSBAR = 'TRUE'))]) &gt; 0)">TRUE</xsl:when>
197                 <xsl:otherwise>FALSE</xsl:otherwise>
198         </xsl:choose>
199 </xsl:variable>                 
200                         
201 <xsl:template name="F_ModClass_To_IpClassification">
202         <xsl:param name="iModClass" select="'NONE'"/>
203         <xsl:param name="iBusStd"   select="'NONE'"/>
204         <xsl:choose>
205                 <xsl:when test="$iModClass = 'BUS'"><xsl:value-of select="$iBusStd"/> Bus</xsl:when>
206                 <xsl:when test="$iModClass = 'DEBUG'">Debug</xsl:when>
207                 <xsl:when test="$iModClass = 'MEMORY'">Memory</xsl:when>
208                 <xsl:when test="$iModClass = 'MEMORY_CNTLR'">Memory Controller</xsl:when>
209                 <xsl:when test="$iModClass = 'INTERRUPT_CNTLR'">Interrupt Controller</xsl:when>
210                 <xsl:when test="$iModClass = 'PERIPHERAL'">Peripheral</xsl:when>
211                 <xsl:when test="$iModClass = 'PROCESSOR'">Processor</xsl:when>
212                 <xsl:when test="$iModClass = 'BUS_BRIDGE'">Bus Bridge</xsl:when>
213                 <xsl:otherwise><xsl:value-of select="$iModClass"/></xsl:otherwise>
214         </xsl:choose>   
215 </xsl:template> 
216
217 <xsl:template name="F_Connection_To_AXI_SLAVE">
218   <xsl:param name="iNameParam" select="''"/>
219   <xsl:param name="iModuleRefParam" select="''"/>
220
221   <xsl:variable name="FilName" select="$iModuleRefParam/PARAMETERS/PARAMETER[@NAME=concat('C_', $iNameParam, '_MASTERS')]/@VALUE"/>
222   <!-- <xsl:message>FIL NAME WAS <xsl:value-of select="$FilName"/></xsl:message>  -->
223   <xsl:value-of select="$FilName"/>
224 </xsl:template> 
225
226 <xsl:template name="F_IS_Interface_External">
227     <xsl:param name="iInstRef"/> <!--  Instance reference -->
228     <xsl:param name="iIntfRef"/> <!--  Interface reference -->
229     <xsl:variable name="intfName_" select="$iIntfRef/@NAME"/>
230     <xsl:variable name="instName_" select="$iInstRef/@INSTANCE"/>
231     
232         <!-- <xsl:message>NAME 1 <xsl:value-of select="$expName1_"/></xsl:message>-->
233     <!-- <xsl:message>NAME 2 <xsl:value-of select="$expName2_"/></xsl:message>-->
234 <!--
235     <xsl:variable name="expName1_" select="concat($instName_,'_',$intfName_,'_',@PHYSICAL,'_pin')"/>
236     <xsl:variable name="expName2_" select="concat($instName_,'_',@PHYSICAL,'_pin')"/>
237   -->    
238     
239         <!-- Store the number of physical ports connected externals in a variable -->   
240         
241         <xsl:variable name="connected_externals_">
242                 <xsl:for-each select="$iIntfRef/PORTMAPS/PORTMAP">
243                         <xsl:variable name="portName_" select="@PHYSICAL"/>
244                 <xsl:if test="$iInstRef/PORTS/PORT[(@NAME = $portName_)]">
245                         <xsl:variable name="portNet_" select="$iInstRef/PORTS/PORT[(@NAME = $portName_)]/@SIGNAME"/>
246                                 <xsl:if test="$G_SYS_EXPS/PORT[(@SIGNAME = $portNet_)]">
247                                         <EXTP NAME="{@PHYSICAL}"/>
248                                 </xsl:if>
249                 </xsl:if>
250                 </xsl:for-each>
251         </xsl:variable>
252         
253         <!-- 
254         <xsl:message><xsl:value-of select="$instName_"/>.<xsl:value-of select="$intfName_"/> has <xsl:value-of select="count(exsl:node-set($connected_externals_)/EXTP)"/> connected externals.</xsl:message> 
255     -->
256         <xsl:choose>
257                 <xsl:when test="(count(exsl:node-set($connected_externals_)/EXTP) &gt; 0)">TRUE</xsl:when>
258                 <xsl:otherwise>FALSE</xsl:otherwise>
259         </xsl:choose>   
260 </xsl:template>
261
262 </xsl:stylesheet>
263