]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/PPC440_DP_FPU_Xilinx_Virtex5_GCC/__xps/.dswkshop/MdtTinySvgBLKD_Busses.xsl
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / PPC440_DP_FPU_Xilinx_Virtex5_GCC / __xps / .dswkshop / MdtTinySvgBLKD_Busses.xsl
1 <?xml version="1.0" standalone="no"?>
2 <xsl:stylesheet version="1.0"
3            xmlns:svg="http://www.w3.org/2000/svg"
4            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5            xmlns:exsl="http://exslt.org/common"
6            xmlns:xlink="http://www.w3.org/1999/xlink">
7                 
8 <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
9                doctype-public="-//W3C//DTD SVG 1.0//EN"
10                    doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
11                 
12
13         
14 <xsl:template name="Define_Busses">
15 <!--    
16         <xsl:param name="drawarea_w"  select="500"/>
17         <xsl:param name="drawarea_h"  select="500"/>
18 -->     
19         
20         <xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
21                 
22                 <xsl:call-template name="Define_BusArrowsEastWest"> 
23                         <xsl:with-param name="iBusStd"    select="@BUSSTD"/>
24                 </xsl:call-template>
25                 
26                 <xsl:call-template name="Define_BusArrowsNorthSouth"> 
27                         <xsl:with-param name="iBusStd"    select="@BUSSTD"/>
28                 </xsl:call-template>
29                 
30                 <xsl:call-template name="Define_SplitBusses"> 
31                         <xsl:with-param name="iBusStd"    select="@BUSSTD"/>
32                 </xsl:call-template>
33                 
34         </xsl:for-each>
35         
36         <xsl:call-template name="Define_SharedBus"> 
37                 <xsl:with-param name="iBusStd"    select="'PLB'"/>
38         </xsl:call-template>
39         
40         <xsl:call-template name="Define_SharedBus"> 
41                 <xsl:with-param name="iBusStd"    select="'PLBV46'"/>
42         </xsl:call-template>
43         
44         <xsl:call-template name="Define_SharedBus"> 
45                 <xsl:with-param name="iBusStd"    select="'OPB'"/>
46         </xsl:call-template>
47         
48         <xsl:call-template name="Define_SharedBus_Group"/> 
49         
50 </xsl:template>
51
52 <xsl:template name="Define_BusArrowsEastWest"> 
53         <xsl:param name="iBusStd"    select="'PLB'"/>
54         
55         <xsl:variable name="busStdColor_">
56                 <xsl:call-template name="F_BusStd2RGB">
57                         <xsl:with-param name="iBusStd" select="$iBusStd"/>
58                 </xsl:call-template>    
59         </xsl:variable>
60         
61         <xsl:variable name="busStdColor_lt_">
62                 <xsl:call-template name="F_BusStd2RGB_LT">
63                         <xsl:with-param name="iBusStd" select="$iBusStd"/>
64                 </xsl:call-template>    
65         </xsl:variable>
66         
67         <g id="{$iBusStd}_BusArrowEast">
68                 <path class="bus"
69                           d="M   0,0
70                                  L     {$BLKD_BUS_ARROW_W}, {ceiling($BLKD_BUS_ARROW_H div 2)}
71                                  L   0,{$BLKD_BUS_ARROW_H}, 
72                                  Z" style="stroke:none; fill:{$busStdColor_}"/>
73         </g>
74         
75         <g id="{$iBusStd}_BusArrowWest">
76                 <use   x="0"   y="0"  xlink:href="#{$iBusStd}_BusArrowEast" transform="scale(-1,1) translate({$BLKD_BUS_ARROW_W * -1},0)"/>
77         </g>
78         
79         <g id="{$iBusStd}_BusArrowHInitiator">
80                 <rect x="0" 
81                           y="{$BLKD_BUS_ARROW_G}"  
82                           width= "{$BLKD_BUS_ARROW_W}" 
83                           height="{$BLKD_P2P_BUS_W}" 
84                          style="stroke:none; fill:{$busStdColor_}"/>
85         </g>
86         
87 </xsl:template>
88
89 <!--    
90         <xsl:param name="bus_col"     select="'OPB'"/>
91 -->     
92
93 <xsl:template name="Define_BusArrowsNorthSouth">
94         <xsl:param name="iBusStd"    select="'PLB'"/>
95         
96         <xsl:variable name="busStdColor_">
97                 <xsl:call-template name="F_BusStd2RGB">
98                         <xsl:with-param name="iBusStd" select="$iBusStd"/>
99                 </xsl:call-template>    
100         </xsl:variable>
101         
102         <xsl:variable name="busStdColor_lt_">
103                 <xsl:call-template name="F_BusStd2RGB_LT">
104                         <xsl:with-param name="iBusStd" select="$iBusStd"/>
105                 </xsl:call-template>    
106         </xsl:variable>
107         
108         <g id="{$iBusStd}_BusArrowSouth">
109                 <path class="bus"
110                           d="M   0,0
111                                  L   {$BLKD_BUS_ARROW_H},0
112                                  L   {ceiling($BLKD_BUS_ARROW_H div 2)}, {$BLKD_BUS_ARROW_W}
113                                  Z" style="stroke:none; fill:{$busStdColor_}"/>
114         </g>
115         
116         <g id="{$iBusStd}_BusArrowNorth">
117                 <use   x="0"   y="0"  xlink:href="#{$iBusStd}_BusArrowSouth" transform="scale(1,-1) translate(0,{$BLKD_BUS_ARROW_H * -1})"/>
118         </g>
119         
120         <g id="{$iBusStd}_BusArrowInitiator">
121                 <rect x="{$BLKD_BUS_ARROW_G}" 
122                           y="0"  
123                           width= "{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}" 
124                           height="{$BLKD_BUS_ARROW_H}" 
125                          style="stroke:none; fill:{$busStdColor_}"/>
126         </g>
127         
128 </xsl:template>
129         
130
131 <xsl:template name="Draw_P2PBus">
132         
133         <xsl:param name="iBusX"        select="0"/>
134         <xsl:param name="iBusTop"          select="0"/>
135         <xsl:param name="iBusBot"          select="0"/>
136         <xsl:param name="iBusStd"          select="'_bstd_'"/>
137         <xsl:param name="iBusName"         select="'_p2pbus_'"/>
138         <xsl:param name="iBotBifType"  select="'_unk_'"/>
139         <xsl:param name="iTopBifType"  select="'_unk_'"/>
140         
141         <xsl:variable name="busStdColor_">
142                 <xsl:choose>
143                         
144                         <xsl:when test="@BUSSTD">
145                                 <xsl:call-template name="F_BusStd2RGB">
146                                         <xsl:with-param name="iBusStd" select="@BUSSTD"/>
147                                 </xsl:call-template>    
148                         </xsl:when>
149                         
150                         <xsl:when test="not($iBusStd = '_bstd_')">
151                                 <xsl:call-template name="F_BusStd2RGB">
152                                         <xsl:with-param name="iBusStd" select="$iBusStd"/>
153                                 </xsl:call-template>    
154                         </xsl:when>
155                         
156                         <xsl:otherwise>
157                                 <xsl:call-template name="F_BusStd2RGB">
158                                         <xsl:with-param name="iBusStd" select="'TRS'"/>
159                                 </xsl:call-template>    
160                         </xsl:otherwise>
161                         
162                 </xsl:choose>
163         </xsl:variable>
164         
165         <xsl:variable name="p2pH_" select="($iBusBot - $iBusTop) - ($BLKD_BUS_ARROW_H * 2)"/>
166
167         <xsl:variable name="botArrow_">
168                 <xsl:choose>
169                         <xsl:when test="((($iBotBifType = 'INITIATOR') or ($iBotBifType = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when>
170                         <xsl:otherwise>BusArrowSouth</xsl:otherwise> 
171                 </xsl:choose>           
172         </xsl:variable>
173         
174         <xsl:variable name="topArrow_">
175                 <xsl:choose>
176                         <xsl:when test="((($iTopBifType = 'INITIATOR') or ($iTopBifType = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowInitiator</xsl:when>
177                         <xsl:otherwise>BusArrowNorth</xsl:otherwise> 
178                 </xsl:choose>           
179         </xsl:variable>
180         
181         <xsl:if test="@BUSSTD">         
182                 <use  x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
183                       y="{$iBusTop + ($BLKD_BIFC_H  - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}"  
184                       xlink:href="#{@BUSSTD}_{$topArrow_}"/>    
185                   
186                 <use  x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
187                       y="{$iBusBot - $BLKD_BUS_ARROW_H}"  
188                       xlink:href="#{@BUSSTD}_{$botArrow_}"/>    
189         </xsl:if>                 
190         
191         <xsl:if test="(not(@BUSSTD) and not($iBusStd = '_bstd_'))">             
192                 <use  x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
193                       y="{$iBusTop + ($BLKD_BIFC_H  - $BLKD_BUS_ARROW_H) + $BLKD_BUS_ARROW_H}"  
194                       xlink:href="#{$iBusStd}_{$topArrow_}"/>   
195                   
196                 <use  x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2)}"  
197                       y="{$iBusBot - $BLKD_BUS_ARROW_H}"  
198                       xlink:href="#{$iBusStd}_{$botArrow_}"/>   
199         </xsl:if>                 
200         
201         
202         <rect x="{($iBusX + ceiling($BLKD_BIFC_W div 2)) - ceiling($BLKD_BUS_ARROW_W div 2) + $BLKD_BUS_ARROW_G}"  
203                   y="{$iBusTop + $BLKD_BIFC_H + $BLKD_BUS_ARROW_H}"  
204                   height= "{$p2pH_  - ($BLKD_BUS_ARROW_H * 2)}" 
205                   width="{$BLKD_BUS_ARROW_W - ($BLKD_BUS_ARROW_G * 2)}" 
206                   style="stroke:none; fill:{$busStdColor_}"/>
207                   
208 <!--
209         <text class="p2pbuslabel" 
210                           x="{$iBusX   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}"
211                           y="{$iBusTop + ($BLKD_BUS_ARROW_H * 3)}">
212                         <xsl:value-of select="$iBusName"/>
213         </text>
214 -->     
215
216                 <xsl:call-template name="F_WriteText">
217                         <xsl:with-param name="iX"               select="($iBusX   + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4)"/>
218                         <xsl:with-param name="iY"               select="($iBusTop + ($BLKD_BUS_ARROW_H * 3))"/>
219                         <xsl:with-param name="iText"    select="$iBusName"/>
220                         <xsl:with-param name="iClass"   select="'p2pbus_label'"/>
221                 </xsl:call-template>
222                           
223         <xsl:if test="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP">
224 <!-- 
225            <text class="ioplblgrp" 
226                   x="{$iBusX   +  $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6}"
227                   y="{$iBusTop + ($BLKD_BUS_ARROW_H * 10)}">
228                            <xsl:value-of select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP"/>
229                 </text>
230 -->             
231                 <xsl:call-template name="F_WriteText">
232                         <xsl:with-param name="iX"               select="(iBusX   +  $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 6)"/>
233                         <xsl:with-param name="iY"               select="($iBusTop + ($BLKD_BUS_ARROW_H * 10))"/>
234                         <xsl:with-param name="iText"    select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $iBusName)]/@GROUP"/>
235                         <xsl:with-param name="iClass"   select="'iogrp_label'"/>
236                 </xsl:call-template>
237            
238         </xsl:if>       
239                 
240 </xsl:template>
241
242         
243 <xsl:template name="Draw_Proc2ProcBus">
244         
245         <xsl:param name="iBc_Y"         select="0"/>
246         <xsl:param name="iBusStd"       select="'_bstd_'"/>
247         <xsl:param name="iBusName"      select="'_p2pbus_'"/>
248         <xsl:param name="iBcLeft_X"     select="0"/>
249         <xsl:param name="iBcRght_X"     select="0"/>
250         <xsl:param name="iLeftBifType"  select="'_unk_'"/>
251         <xsl:param name="iRghtBifType"  select="'_unk_'"/>
252         
253         <xsl:variable name="busStdColor_">
254                 <xsl:call-template name="F_BusStd2RGB">
255                         <xsl:with-param name="iBusStd" select="$iBusStd"/>
256                 </xsl:call-template>    
257         </xsl:variable>
258         
259         <xsl:variable name="pr2pr_W_" select="($iBcRght_X - $iBcLeft_X)"/>
260
261         <xsl:variable name="leftArrow_">
262                 <xsl:choose>
263                         <xsl:when test="((($iLeftBifType = 'INITIATOR') or ($iLeftBifType = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
264                         <xsl:otherwise>BusArrowWest</xsl:otherwise> 
265                 </xsl:choose>           
266         </xsl:variable>
267         
268         <xsl:variable name="rghtArrow_">
269                 <xsl:choose>
270                         <xsl:when test="((($iRghtBifType = 'INITIATOR') or ($iRghtBifType = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
271                         <xsl:otherwise>BusArrowEast</xsl:otherwise> 
272                 </xsl:choose>           
273         </xsl:variable>
274         
275         
276         <xsl:variable name="bus_Y_" select="($iBc_Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
277         
278         <use  x="{$iBcLeft_X}"                     y="{$bus_Y_}"  xlink:href="#{$iBusStd}_{$leftArrow_}"/>      
279         <use  x="{$iBcRght_X - $BLKD_BUS_ARROW_W}" y="{$bus_Y_}"  xlink:href="#{$iBusStd}_{$rghtArrow_}"/>      
280         
281         <rect x="{$iBcLeft_X + $BLKD_BUS_ARROW_W}" 
282                   y="{$bus_Y_    + $BLKD_BUS_ARROW_G}"  
283                   width= "{$pr2pr_W_    -      (2 * $BLKD_BUS_ARROW_W)}" 
284                   height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
285         
286 <!-- 
287                 <text class="horizp2pbuslabel" 
288                           x="{$iBcLeft_X  + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4}"
289                           y="{($bus_Y_)}"><xsl:value-of select="$iBusName"/></text>
290                           
291                 <text class="horizp2pbuslabel" 
292                           x="{$iBcRght_X - (string-length($iBusName) * 8)}"
293                           y="{($bus_Y_)}"><xsl:value-of select="$iBusName"/></text>
294 -->     
295            
296                 <xsl:call-template name="F_WriteText">
297                         <xsl:with-param name="iX"               select="($iBcLeft_X  + $BLKD_BUS_ARROW_W + ceiling($BLKD_BUS_ARROW_W div 2) + ceiling($BLKD_BUS_ARROW_W div 4) + 4)"/>
298                         <xsl:with-param name="iY"               select="$bus_Y_"/>
299                         <xsl:with-param name="iText"    select="$iBusName"/>
300                         <xsl:with-param name="iClass"   select="'p2pbus_label'"/>
301                 </xsl:call-template>    
302                                 
303                 <xsl:call-template name="F_WriteText">
304                         <xsl:with-param name="iX"               select="(iBcRght_X - (string-length($iBusName) * 8))"/>
305                         <xsl:with-param name="iY"               select="$bus_Y_"/>
306                         <xsl:with-param name="iText"    select="$iBusName"/>
307                         <xsl:with-param name="iClass"   select="'p2pbus_label'"/>
308                 </xsl:call-template>                                    
309         
310 </xsl:template>
311         
312         
313 <xsl:template name="Draw_SplitConnBus">
314         
315         <xsl:param name="iBc_X"     select="0"/>
316         <xsl:param name="iBc_Y"     select="0"/>
317         <xsl:param name="iBc_Type"  select="'_unk_'"/>
318         <xsl:param name="iBc_Side"  select="'_unk_'"/>
319         <xsl:param name="iBusStd"   select="'_bstd_'"/>
320         <xsl:param name="iBusName"  select="'_p2pbus_'"/>
321         
322         <xsl:variable name="busStdColor_">
323                 <xsl:call-template name="F_BusStd2RGB">
324                         <xsl:with-param name="iBusStd" select="$iBusStd"/>
325                 </xsl:call-template>    
326         </xsl:variable>
327         
328         <xsl:variable name="connArrow_">
329                 <xsl:choose>
330                         <xsl:when test="((($iBc_Type = 'INITIATOR') or ($iBc_Type = 'MASTER')) and ($iBusStd = 'FSL'))">BusArrowHInitiator</xsl:when>
331                         <xsl:otherwise>BusArrowEast</xsl:otherwise> 
332                 </xsl:choose>           
333         </xsl:variable>
334         
335         <xsl:variable name="arrow_Y_" select="($iBc_Y + ceiling($BLKD_BIFC_H div 2) - ceiling($BLKD_BUS_ARROW_H div 2))"/>
336         
337         <xsl:variable name="bus_X_">
338                 <xsl:choose>
339                         <xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($iBc_X - ($BLKD_BUS_ARROW_W * 2))"/></xsl:when>
340                         <xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($iBc_X + $BLKD_BIFC_W + $BLKD_BUS_ARROW_W)"/></xsl:when>
341                 </xsl:choose>           
342         </xsl:variable> 
343         
344 <!--    
345         <use  x="{$bus_X_}"  y="{$arrow_Y_}"  xlink:href="#{$busStd}_BusArrowHInitiator"/>      
346 -->     
347         
348         <xsl:variable name="arrow_X_">
349                 <xsl:choose>
350                         <xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($iBc_X - $BLKD_BUS_ARROW_W)"/></xsl:when>
351                         <xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($iBc_X + $BLKD_BIFC_W)"/></xsl:when>
352                 </xsl:choose>           
353         </xsl:variable> 
354         <xsl:choose>
355                 <xsl:when test="(($iBusStd = 'FSL') and (($iBc_Type = 'MASTER') or ($iBc_Type = 'INITIATOR')))">
356                         <use  x="{$arrow_X_}"  y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_{$connArrow_}"/>        
357                         <use  x="{$bus_X_}"    y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_BusArrowHInitiator"/>   
358                 </xsl:when>
359                 <xsl:when test="(($iBc_Side = '1') and not($iBusStd = 'FSL') and (($iBc_Type = 'MASTER') or ($iBc_Type = 'INITIATOR')))">
360                         <use  x="{$arrow_X_ - $BLKD_BIFC_W}"  y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_SplitBus_WEST"/>
361                 </xsl:when>
362                 <xsl:when test="(($iBc_Side = '1') and (($iBc_Type = 'SLAVE') or ($iBc_Type = 'TARGET') or ($iBc_Type = 'USER')))">
363                         <use  x="{$arrow_X_}"  y="{$arrow_Y_}"  xlink:href="#{$iBusStd}_SplitBus_EAST"/>
364                 </xsl:when>
365                 <xsl:otherwise>
366                         <use  x="{$arrow_X_}" y="{$arrow_Y_}" xlink:href="#{$iBusStd}_{$connArrow_}"/>  
367                         <use  x="{$bus_X_}"   y="{$arrow_Y_}" xlink:href="#{$iBusStd}_BusArrowHInitiator"/>     
368                 </xsl:otherwise>
369         </xsl:choose>
370         
371         <xsl:variable name="text_X_">
372                 <xsl:choose>
373                         <xsl:when test="$iBc_Side = '0'"><xsl:value-of select="($bus_X_ - $BLKD_BUS_ARROW_W - (string-length($iBusName) * 5))"/></xsl:when>
374                         <xsl:when test="$iBc_Side = '1'"><xsl:value-of select="($bus_X_ + $BLKD_BUS_ARROW_W)"/></xsl:when>
375                 </xsl:choose>           
376         </xsl:variable> 
377                 
378         
379 <!-- 
380         <text class="horizp2pbuslabel" 
381                           x="{$text_X_}"
382                           y="{($arrow_Y_)}">
383                         <xsl:value-of select="$iBusName"/>
384         </text>
385 -->     
386                 <xsl:call-template name="F_WriteText">
387                         <xsl:with-param name="iX"               select="$text_X_"/>
388                         <xsl:with-param name="iY"               select="$arrow_Y_"/>
389                         <xsl:with-param name="iText"    select="$iBusName"/>
390                         <xsl:with-param name="iClass"   select="'p2pbus_label'"/>
391                 </xsl:call-template>
392         
393 </xsl:template>
394         
395         
396 <xsl:template name="Define_SharedBus"> 
397         
398         <xsl:param name="iBusStd"    select="'PLB46'"/>
399         
400         <xsl:variable name="sharedbus_w_"  select="($G_Total_DrawArea_W - ($BLKD_INNER_GAP * 2))"/>
401         
402         <xsl:variable name="busStdColor_">
403                 <xsl:call-template name="F_BusStd2RGB">
404                         <xsl:with-param name="iBusStd" select="$iBusStd"/>
405                 </xsl:call-template>    
406         </xsl:variable>
407         
408         <xsl:variable name="busStdColor_lt_">
409                 <xsl:call-template name="F_BusStd2RGB_LT">
410                         <xsl:with-param name="iBusStd" select="$iBusStd"/>
411                 </xsl:call-template>    
412         </xsl:variable>
413         
414          <g id="{$iBusStd}_SharedBus">
415                 <use  x="0"                                   y="0"  xlink:href="#{$iBusStd}_BusArrowWest"/>    
416                 <use  x="{$sharedbus_w_ - $BLKD_BUS_ARROW_W}" y="0"  xlink:href="#{$iBusStd}_BusArrowEast"/>    
417                 
418                 <rect x="{$BLKD_BUS_ARROW_W}" 
419                           y="{$BLKD_BUS_ARROW_G}"  
420                           width= "{$sharedbus_w_  - ($BLKD_BUS_ARROW_W * 2)}" 
421                           height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
422         </g>
423 </xsl:template>
424
425         
426 <xsl:template name="Define_SplitBusses"> 
427         
428         <xsl:param name="iBusStd"    select="'FSL'"/>
429         
430         <xsl:variable name="busStdColor_">
431                 <xsl:call-template name="F_BusStd2RGB">
432                         <xsl:with-param name="iBusStd" select="$iBusStd"/>
433                 </xsl:call-template>    
434         </xsl:variable>
435         
436         <xsl:variable name="bifc_r_" select="ceiling($BLKD_BIFC_W div 3)"/>
437         
438          <g id="{$iBusStd}_SplitBus_EAST">
439                 <use  x="0"  y="0"    xlink:href="#{$iBusStd}_BusArrowWest"/>   
440                 
441                 <rect x="{$BLKD_BUS_ARROW_W}" 
442                           y="{$BLKD_BUS_ARROW_G}"  
443                           width= "{$BLKD_BIFC_W}" 
444                           height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
445                  
446         </g>
447         
448         <xsl:variable name="splbus_w_" select="($BLKD_BUS_ARROW_W + $BLKD_BIFC_W + $BLKD_BIFC_Wi)"/>
449         
450          <g id="{$iBusStd}_SplitBus_WEST">
451                 <use   x="0"   y="0"  xlink:href="#{$iBusStd}_SplitBus_EAST" transform="scale(-1,1) translate({$splbus_w_ * -1},0)"/>
452         </g>
453         
454          <g id="{$iBusStd}_SplitBus_OneWay">
455                  
456                 <rect x="0" 
457                           y="{$BLKD_BUS_ARROW_G}"  
458                           width= "{($BLKD_BUS_ARROW_W * 2)}" 
459                           height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$busStdColor_}"/>
460                  
461                 <rect x="{($BLKD_BUS_ARROW_W * 2)}"
462                           y="0"  
463                           width= "{$BLKD_BUS_ARROW_H}" 
464                           height="{$BLKD_BUS_ARROW_H}" style="stroke:none; fill:{$busStdColor_}"/>
465                  
466         </g>
467 </xsl:template>
468
469
470 <xsl:template name="Define_SharedBus_Group"> 
471
472 <!-- The Bridges go into the shared bus shape -->
473         <xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/BRIDGESHAPES/MODULE">        
474         
475                 <xsl:variable name="modInst_" select="@INSTANCE"/>
476                 <xsl:variable name="modType_" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>
477                 
478                 <xsl:call-template name="Define_Peripheral"> 
479                         <xsl:with-param name="iModVori"  select="'normal'"/>
480                         <xsl:with-param name="iModInst"  select="$modInst_"/>
481                         <xsl:with-param name="iModType"  select="$modType_"/>
482                 </xsl:call-template>
483         
484         </xsl:for-each>
485         
486 <g id="group_sharedBusses">
487         
488         <!-- Draw the shared bus shapes first -->       
489         <xsl:for-each select="$G_ROOT/EDKSYSTEM/BLKDIAGRAM/SBSSHAPES/MODULE">   
490                 <xsl:variable name="instance_"  select="@INSTANCE"/>
491                 
492                 <xsl:variable name="busStd_"   select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUSSTD"/>    
493                 <xsl:variable name="busIndex_" select="$G_ROOT/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $instance_)]/@BUS_INDEX"/> 
494                 
495                 <xsl:variable name="busY_"  select="($busIndex_ * $BLKD_SBS_LANE_H)"/>  
496                 
497                 <use  x="0"  y="{$busY_}"  xlink:href="#{$busStd_}_SharedBus"/> 
498                 
499 <!-- 
500                 <text class="sharedbuslabel" 
501                           x="8"
502                           y="{$busY_ + $BLKD_BUS_ARROW_H + 10}">
503                         <xsl:value-of select="$instance_"/>
504                 </text>
505 -->             
506                 <xsl:call-template name="F_WriteText">
507                         <xsl:with-param name="iX"               select="'8'"/>
508                         <xsl:with-param name="iY"               select="($busY_ + $BLKD_BUS_ARROW_H + 10)"/>
509                         <xsl:with-param name="iText"    select="$instance_"/>
510                         <xsl:with-param name="iClass"   select="'sharedbus_label'"/>
511                 </xsl:call-template>                            
512         </xsl:for-each>
513         
514 </g>    
515
516 <g id="KEY_SharedBus">
517         <use  x="0"  y="0"  xlink:href="#KEY_BusArrowWest"/>    
518         <use  x="30" y="0"  xlink:href="#KEY_BusArrowEast"/>    
519          
520         <xsl:variable name="key_col_">
521                 <xsl:call-template name="F_BusStd2RGB">
522                         <xsl:with-param name="iBusStd" select="'KEY'"/>
523                 </xsl:call-template>    
524         </xsl:variable>
525                 
526         <rect x="{$BLKD_BUS_ARROW_W}" 
527                   y="{$BLKD_BUS_ARROW_G}"  
528                   width= "{30 - $BLKD_BUS_ARROW_W}" 
529                   height="{$BLKD_BUS_ARROW_H - (2 * $BLKD_BUS_ARROW_G)}" style="stroke:none; fill:{$key_col_}"/>
530 </g>
531         
532 </xsl:template>
533         
534 </xsl:stylesheet>