]> git.sur5r.net Git - freertos/commitdiff
Remove old PPC port.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 25 May 2008 17:39:16 +0000 (17:39 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 25 May 2008 17:39:16 +0000 (17:39 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@390 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

68 files changed:
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/RTOSDemo_linker_script.ld [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/executable.elf [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral.c [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral_LinkScr.ld [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/gpio_header.h [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/intc_header.h [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_header.h [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_intr_header.h [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xgpio_tapp_example.c [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xintc_tapp_example.c [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_intr_tapp_example.c [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_selftest_example.c [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_LicensedCore.bmp [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_closeBranch.gif [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_openBranch.gif [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.css [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLIPSection.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLMemoryMap.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLPeripherals.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLTOCTree.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDBifDefs.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDBusLaneSpaces.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDCalculations.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDDimensions.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDModuleDefs.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDPeripherals.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdBusses.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdIOPorts.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdProcessors.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlockDiagram.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_Colors.xsl [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_Render.css [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/ds_Report.css [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/ds_Report.js [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/svg10.dtd [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/bitinit.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/libgen.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/platgen.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/simgen.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system.gui [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system_routed [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/testapp_peripheral_compiler.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/vpgen.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xplorer.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.css [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.html [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.svg [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/data/system.ucf [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/etc/bitgen.ut [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/etc/download.cmd [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/etc/fast_runtime.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/etc/xmd_ppc405_0.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/platgen.opt [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/system.bsb [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/system.make [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/system.mhs [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/system.mss [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make [deleted file]
Demo/PPC405_Xilinx_Virtex4_GCC/xc95144xl.bsd [deleted file]

diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h
deleted file mode 100644 (file)
index 1f5ef79..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*\r
-       FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.\r
-\r
-       This file is part of the FreeRTOS.org distribution.\r
-\r
-       FreeRTOS.org is free software; you can redistribute it and/or modify\r
-       it under the terms of the GNU General Public License as published by\r
-       the Free Software Foundation; either version 2 of the License, or\r
-       (at your option) any later version.\r
-\r
-       FreeRTOS.org is distributed in the hope that it will be useful,\r
-       but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-       GNU General Public License for more details.\r
-\r
-       You should have received a copy of the GNU General Public License\r
-       along with FreeRTOS.org; if not, write to the Free Software\r
-       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-\r
-       A special exception to the GPL can be applied should you wish to distribute\r
-       a combined work that includes FreeRTOS.org, without being obliged to provide\r
-       the source code for any proprietary components.  See the licensing section\r
-       of http://www.FreeRTOS.org for full details of how and when the exception\r
-       can be applied.\r
-\r
-    ***************************************************************************\r
-    ***************************************************************************\r
-    *                                                                         *\r
-    * SAVE TIME AND MONEY!  We can port FreeRTOS.org to your own hardware,    *\r
-    * and even write all or part of your application on your behalf.          *\r
-    * See http://www.OpenRTOS.com for details of the services we provide to   *\r
-    * expedite your project.                                                  *\r
-    *                                                                         *\r
-    ***************************************************************************\r
-    ***************************************************************************\r
-\r
-       Please ensure to read the configuration and relevant port sections of the\r
-       online documentation.\r
-\r
-       http://www.FreeRTOS.org - Documentation, latest information, license and \r
-       contact details.\r
-\r
-       http://www.SafeRTOS.com - A version that is certified for use in safety \r
-       critical systems.\r
-\r
-       http://www.OpenRTOS.com - Commercial support, development, porting, \r
-       licensing and training services.\r
-*/\r
-\r
-#ifndef FREERTOS_CONFIG_H\r
-#define FREERTOS_CONFIG_H\r
-\r
-/*-----------------------------------------------------------\r
- * Application specific definitions.\r
- *\r
- * These definitions should be adjusted for your particular hardware and\r
- * application requirements.\r
- *\r
- * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
- * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. \r
- *----------------------------------------------------------*/\r
-#define configUSE_PREEMPTION                   1\r
-#define configUSE_IDLE_HOOK                            0\r
-#define configUSE_TICK_HOOK                            0\r
-#define configMINIMAL_STACK_SIZE               ( ( unsigned portSHORT ) 250 )\r
-#define configCPU_CLOCK_HZ                             ( ( unsigned portLONG ) 100000000 )     /* Clock setup from start.asm in the demo application. */\r
-#define configTICK_RATE_HZ                             ( (portTickType) 1000 )\r
-#define configMAX_PRIORITIES                   ( ( unsigned portBASE_TYPE ) 6 )\r
-#define configTOTAL_HEAP_SIZE                  ( (size_t) (80 * 1024) )\r
-#define configMAX_TASK_NAME_LEN                        ( 20 )\r
-#define configUSE_16_BIT_TICKS                 1\r
-#define configIDLE_SHOULD_YIELD                        1\r
-#define configUSE_MUTEXES                              1\r
-#define configUSE_TRACE_FACILITY               0\r
-#define configCHECK_FOR_STACK_OVERFLOW 2\r
-#define configUSE_COUNTING_SEMAPHORES  1\r
-#define configUSE_APPLICATION_TASK_TAG 0\r
-#define configUSE_FPU                                  0\r
-\r
-\r
-/* Co-routine definitions. */\r
-#define configUSE_CO_ROUTINES                  0\r
-#define configMAX_CO_ROUTINE_PRIORITIES ( 4 )\r
-\r
-/* Set the following definitions to 1 to include the API function, or zero\r
-to exclude the API function. */\r
-#define INCLUDE_vTaskPrioritySet                       1\r
-#define INCLUDE_uxTaskPriorityGet                      1\r
-#define INCLUDE_vTaskDelete                                    1\r
-#define INCLUDE_vTaskCleanUpResources          1\r
-#define INCLUDE_vTaskSuspend                           1\r
-#define INCLUDE_vResumeFromISR                         1\r
-#define INCLUDE_vTaskDelayUntil                                1\r
-#define INCLUDE_vTaskDelay                                     1\r
-#define INCLUDE_xTaskGetSchedulerState         1\r
-#define INCLUDE_xTaskGetCurrentTaskHandle      1\r
-#define INCLUDE_uxTaskGetStackHighWaterMark    1\r
-#define configUSE_RECURSIVE_MUTEXES            1\r
-\r
-\r
-#if configUSE_FPU == 1\r
-       /* Include the header that define the traceTASK_SWITCHED_IN() and\r
-       traceTASK_SWITCHED_OUT() macros to save and restore the floating\r
-       point registers for tasks that have requested this behaviour. */\r
-       #include "FPU_Macros.h"\r
-#endif\r
-\r
-#endif /* FREERTOS_CONFIG_H */\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/RTOSDemo_linker_script.ld b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/RTOSDemo_linker_script.ld
deleted file mode 100644 (file)
index 84040a5..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************/\r
-/*                                                                 */\r
-/* This file is automatically generated by linker script generator.*/\r
-/*                                                                 */\r
-/* Version: Xilinx EDK 10.1 EDK_K.15                                */\r
-/*                                                                 */\r
-/* Copyright (c) 2004 Xilinx, Inc.  All rights reserved.           */\r
-/*                                                                 */\r
-/* Description : PowerPC405 Linker Script                          */\r
-/*                                                                 */\r
-/*******************************************************************/\r
-\r
-_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400;\r
-_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x400;\r
-\r
-/* Define Memories in the system */\r
-\r
-MEMORY\r
-{\r
-   SRAM_C_MEM0_BASEADDR : ORIGIN = 0xFFF00000, LENGTH = 0x000FFFEC\r
-}\r
-\r
-/* Specify the default entry point to the program */\r
-\r
-ENTRY(_boot)\r
-STARTUP(boot.o)\r
-\r
-/* Define the sections, and where they are mapped in memory */\r
-\r
-SECTIONS\r
-{\r
-.vectors : {\r
-   __vectors_start = .;\r
-   *(.vectors)\r
-   __vectors_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.text : {\r
-   *(.text)\r
-   *(.text.*)\r
-   *(.gnu.linkonce.t.*)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.init : {\r
-   KEEP (*(.init))\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.fini : {\r
-   KEEP (*(.fini))\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.rodata : {\r
-   __rodata_start = .;\r
-   *(.rodata)\r
-   *(.rodata.*)\r
-   *(.gnu.linkonce.r.*)\r
-   __rodata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.rodata1 : {\r
-   __rodata1_start = .;\r
-   *(.rodata1)\r
-   *(.rodata1.*)\r
-   __rodata1_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sdata2 : {\r
-   __sdata2_start = .;\r
-   *(.sdata2)\r
-   *(.sdata2.*)\r
-   *(.gnu.linkonce.s2.*)\r
-   __sdata2_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sbss2 : {\r
-   __sbss2_start = .;\r
-   *(.sbss2)\r
-   *(.sbss2.*)\r
-   *(.gnu.linkonce.sb2.*)\r
-   __sbss2_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.data : {\r
-   __data_start = .;\r
-   *(.data)\r
-   *(.data.*)\r
-   *(.gnu.linkonce.d.*)\r
-   __data_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.data1 : {\r
-   __data1_start = .;\r
-   *(.data1)\r
-   *(.data1.*)\r
-   __data1_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got : {\r
-   *(.got)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got1 : {\r
-   *(.got1)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got2 : {\r
-   *(.got2)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.ctors : {\r
-   __CTOR_LIST__ = .;\r
-   ___CTORS_LIST___ = .;\r
-   KEEP (*crtbegin.o(.ctors))\r
-   KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors))\r
-   KEEP (*(SORT(.ctors.*)))\r
-   KEEP (*(.ctors))\r
-   __CTOR_END__ = .;\r
-   ___CTORS_END___ = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.dtors : {\r
-   __DTOR_LIST__ = .;\r
-   ___DTORS_LIST___ = .;\r
-   KEEP (*crtbegin.o(.dtors))\r
-   KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors))\r
-   KEEP (*(SORT(.dtors.*)))\r
-   KEEP (*(.dtors))\r
-   __DTOR_END__ = .;\r
-   ___DTORS_END___ = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.fixup : {\r
-   __fixup_start = .;\r
-   *(.fixup)\r
-   __fixup_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.eh_frame : {\r
-   *(.eh_frame)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.jcr : {\r
-   *(.jcr)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.gcc_except_table : {\r
-   *(.gcc_except_table)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sdata : {\r
-   __sdata_start = .;\r
-   *(.sdata)\r
-   *(.sdata.*)\r
-   *(.gnu.linkonce.s.*)\r
-   __sdata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sbss : {\r
-   __sbss_start = .;\r
-   *(.sbss)\r
-   *(.sbss.*)\r
-   *(.gnu.linkonce.sb.*)\r
-   *(.scommon)\r
-   __sbss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.tdata : {\r
-   __tdata_start = .;\r
-   *(.tdata)\r
-   *(.tdata.*)\r
-   *(.gnu.linkonce.td.*)\r
-   __tdata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.tbss : {\r
-   __tbss_start = .;\r
-   *(.tbss)\r
-   *(.tbss.*)\r
-   *(.gnu.linkonce.tb.*)\r
-   __tbss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.bss : {\r
-   __bss_start = .;\r
-   *(.bss)\r
-   *(.bss.*)\r
-   *(.gnu.linkonce.b.*)\r
-   *(COMMON)\r
-   . = ALIGN(4);\r
-   __bss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.boot0 0xFFFFFFEC : {\r
-   __boot0_start = .;\r
-   *(.boot0)\r
-   __boot0_end = .;\r
-} \r
-\r
-.boot 0xFFFFFFFC : {\r
-   __boot_start = .;\r
-   *(.boot)\r
-   __boot_end = .;\r
-} \r
-\r
-/* Generate Stack and Heap Sections */\r
-\r
-.stack : {\r
-   _stack_end = .;\r
-   . += _STACK_SIZE;\r
-   . = ALIGN(16);\r
-   __stack = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.heap : {\r
-   . = ALIGN(16);\r
-   _heap_start = .;\r
-   . += _HEAP_SIZE;\r
-   . = ALIGN(16);\r
-   _heap_end = .;\r
-   _end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-}\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c
deleted file mode 100644 (file)
index 561deb5..0000000
+++ /dev/null
@@ -1,688 +0,0 @@
-/*\r
-       FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.\r
-\r
-       This file is part of the FreeRTOS.org distribution.\r
-\r
-       FreeRTOS.org is free software; you can redistribute it and/or modify\r
-       it under the terms of the GNU General Public License as published by\r
-       the Free Software Foundation; either version 2 of the License, or\r
-       (at your option) any later version.\r
-\r
-       FreeRTOS.org is distributed in the hope that it will be useful,\r
-       but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-       GNU General Public License for more details.\r
-\r
-       You should have received a copy of the GNU General Public License\r
-       along with FreeRTOS.org; if not, write to the Free Software\r
-       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-\r
-       A special exception to the GPL can be applied should you wish to distribute\r
-       a combined work that includes FreeRTOS.org, without being obliged to provide\r
-       the source code for any proprietary components.  See the licensing section\r
-       of http://www.FreeRTOS.org for full details of how and when the exception\r
-       can be applied.\r
-\r
-    ***************************************************************************\r
-    ***************************************************************************\r
-    *                                                                         *\r
-    * SAVE TIME AND MONEY!  We can port FreeRTOS.org to your own hardware,    *\r
-    * and even write all or part of your application on your behalf.          *\r
-    * See http://www.OpenRTOS.com for details of the services we provide to   *\r
-    * expedite your project.                                                  *\r
-    *                                                                         *\r
-    ***************************************************************************\r
-    ***************************************************************************\r
-\r
-       Please ensure to read the configuration and relevant port sections of the\r
-       online documentation.\r
-\r
-       http://www.FreeRTOS.org - Documentation, latest information, license and \r
-       contact details.\r
-\r
-       http://www.SafeRTOS.com - A version that is certified for use in safety \r
-       critical systems.\r
-\r
-       http://www.OpenRTOS.com - Commercial support, development, porting, \r
-       licensing and training services.\r
-*/\r
-\r
-/*\r
- * Creates all the demo application tasks, then starts the scheduler.  The WEB\r
- * documentation provides more details of the demo application tasks.\r
- * \r
- * In addition to the standard demo tasks, the follow demo specific tasks are\r
- * create:\r
- *\r
- * The "Check" task.  This only executes every three seconds but has the highest \r
- * priority so is guaranteed to get processor time.  Its main function is to \r
- * check that all the other tasks are still operational.  Most tasks maintain \r
- * a unique count that is incremented each time the task successfully completes \r
- * its function.  Should any error occur within such a task the count is \r
- * permanently halted.  The check task inspects the count of each task to ensure \r
- * it has changed since the last time the check task executed.  If all the count \r
- * variables have changed all the tasks are still executing error free, and the \r
- * check task toggles the onboard LED.  Should any task contain an error at any time \r
- * the LED toggle rate will change from 3 seconds to 500ms.\r
- *\r
- * The "Register Check" tasks.  These tasks fill the CPU registers with known\r
- * values, then check that each register still contains the expected value, the\r
- * discovery of an unexpected value being indicative of an error in the RTOS\r
- * context switch mechanism.  The register check tasks operate at low priority\r
- * so are switched in and out frequently.\r
- *\r
- */\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/* Xilinx library includes. */\r
-#include "xcache_l.h"\r
-#include "xintc.h"\r
-\r
-/* Demo application includes. */\r
-#include "flash.h"\r
-#include "integer.h"\r
-#include "comtest2.h"\r
-#include "semtest.h"\r
-#include "BlockQ.h"\r
-#include "dynamic.h"\r
-#include "GenQTest.h"\r
-#include "QPeek.h"\r
-#include "blocktim.h"\r
-#include "death.h"\r
-#include "partest.h"\r
-#include "countsem.h"\r
-#include "recmutex.h"\r
-#include "flop.h"\r
-#include "flop-reg-test.h"\r
-\r
-/* Priorities assigned to the demo tasks. */\r
-#define mainCHECK_TASK_PRIORITY                        ( tskIDLE_PRIORITY + 4 )\r
-#define mainSEM_TEST_PRIORITY                  ( tskIDLE_PRIORITY + 2 )\r
-#define mainCOM_TEST_PRIORITY                  ( tskIDLE_PRIORITY + 1 )\r
-#define mainQUEUE_BLOCK_PRIORITY               ( tskIDLE_PRIORITY + 1 )\r
-#define mainDEATH_PRIORITY                             ( tskIDLE_PRIORITY + 1 )\r
-#define mainLED_TASK_PRIORITY                  ( tskIDLE_PRIORITY + 1 )\r
-#define mainGENERIC_QUEUE_PRIORITY             ( tskIDLE_PRIORITY )\r
-#define mainQUEUE_POLL_PRIORITY                        ( tskIDLE_PRIORITY + 1 )\r
-\r
-/* The first LED used by the COM test and check tasks respectively. */\r
-#define mainCOM_TEST_LED                               ( 4 )\r
-#define mainCHECK_TEST_LED                             ( 3 )\r
-\r
-/* The baud rate used by the comtest tasks is set by the hardware, so the\r
-baud rate parameters passed into the comtest initialisation has no effect. */\r
-#define mainBAUD_SET_IN_HARDWARE               ( 0 )\r
-\r
-/* Delay periods used by the check task.  If no errors have been found then\r
-the check LED will toggle every mainNO_ERROR_CHECK_DELAY milliseconds.  If an\r
-error has been found at any time then the toggle rate will increase to \r
-mainERROR_CHECK_DELAY milliseconds. */\r
-#define mainNO_ERROR_CHECK_DELAY               ( ( portTickType ) 3000 / portTICK_RATE_MS  )\r
-#define mainERROR_CHECK_DELAY                  ( ( portTickType ) 500 / portTICK_RATE_MS  )\r
-\r
-\r
-/* \r
- * The tasks defined within this file - described within the comments at the\r
- * head of this page. \r
- */\r
-static void prvRegTestTask1( void *pvParameters );\r
-static void prvRegTestTask2( void *pvParameters );\r
-static void prvErrorChecks( void *pvParameters );\r
-\r
-/*\r
- * Called by the 'check' task to inspect all the standard demo tasks within\r
- * the system, as described within the comments at the head of this page.\r
- */\r
-static portSHORT prvCheckOtherTasksAreStillRunning( void );\r
-\r
-/*\r
- * Perform any hardware initialisation required by the demo application.\r
- */\r
-static void prvSetupHardware( void );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* xRegTestStatus will get set to pdFAIL by the regtest tasks if they\r
-discover an unexpected value. */\r
-static unsigned portBASE_TYPE xRegTestStatus = pdPASS;\r
-\r
-/* Counters used to ensure the regtest tasks are still running. */\r
-static volatile unsigned portLONG ulRegTest1Counter = 0UL, ulRegTest2Counter = 0UL;\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-int main( void )\r
-{\r
-       /* Must be called prior to installing any interrupt handlers! */\r
-       vPortSetupInterruptController();\r
-\r
-       /* In this case prvSetupHardware() just enables the caches and and\r
-       configures the IO ports for the LED outputs. */\r
-       prvSetupHardware();\r
-\r
-       /* Start the standard demo application tasks.  Note that the baud rate used\r
-       by the comtest tasks is set by the hardware, so the baud rate parameter\r
-       passed has no effect. */\r
-       vStartLEDFlashTasks( mainLED_TASK_PRIORITY );   \r
-       vStartIntegerMathTasks( tskIDLE_PRIORITY );\r
-       vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainBAUD_SET_IN_HARDWARE, mainCOM_TEST_LED );\r
-       vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );\r
-       vStartBlockingQueueTasks ( mainQUEUE_BLOCK_PRIORITY );  \r
-       vStartDynamicPriorityTasks();   \r
-       vStartGenericQueueTasks( mainGENERIC_QUEUE_PRIORITY );\r
-       vStartQueuePeekTasks();\r
-       vCreateBlockTimeTasks();\r
-       vStartCountingSemaphoreTasks();\r
-       vStartRecursiveMutexTasks();\r
-\r
-       #if ( configUSE_FPU == 1 )\r
-       {\r
-               /* A different project is provided that has configUSE_FPU set to 1\r
-               in order to demonstrate all the settings required to use the floating\r
-               point unit.  If you wish to use the floating point unit do not start\r
-               with this project. */\r
-               vStartMathTasks( mainFLOP_PRIORITY );\r
-               vStartFlopRegTests();\r
-       }\r
-       #endif\r
-\r
-       /* Create the tasks defined within this file. */\r
-       xTaskCreate( prvRegTestTask1, "Regtest1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
-       xTaskCreate( prvRegTestTask2, "Regtest2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
-       xTaskCreate( prvErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );\r
-\r
-       /* The suicide tasks must be started last as they record the number of other\r
-       tasks that exist within the system.  The value is then used to ensure at run\r
-       time the number of tasks that exists is within expected bounds. */\r
-       vCreateSuicidalTasks( mainDEATH_PRIORITY );\r
-\r
-       /* Now start the scheduler.  Following this call the created tasks should\r
-       be executing. */        \r
-       vTaskStartScheduler( );\r
-\r
-       /* vTaskStartScheduler() will only return if an error occurs while the \r
-       idle task is being created. */\r
-       for( ;; );\r
-\r
-       return 0;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static portSHORT prvCheckOtherTasksAreStillRunning( void )\r
-{\r
-portBASE_TYPE lReturn = pdPASS;\r
-static unsigned portLONG ulLastRegTest1Counter= 0UL, ulLastRegTest2Counter = 0UL;\r
-\r
-       /* The demo tasks maintain a count that increments every cycle of the task\r
-       provided that the task has never encountered an error.  This function \r
-       checks the counts maintained by the tasks to ensure they are still being\r
-       incremented.  A count remaining at the same value between calls therefore\r
-       indicates that an error has been detected. */\r
-\r
-       if( xAreIntegerMathsTaskStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       if( xAreComTestTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreSemaphoreTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreBlockingQueuesStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xIsCreateTaskStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreGenericQueueTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       \r
-       if( xAreQueuePeekTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       if( xAreCountingSemaphoreTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       #if ( configUSE_FPU == 1 )\r
-               if( xAreMathsTaskStillRunning() != pdTRUE )\r
-               {\r
-                       lReturn = pdFAIL;\r
-               }\r
-\r
-               if( xAreFlopRegisterTestsStillRunning() != pdTRUE )\r
-               {\r
-                       lReturn = pdFAIL;\r
-               }\r
-       #endif\r
-\r
-       /* Have the register test tasks found any errors? */\r
-       if( xRegTestStatus != pdPASS )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-\r
-       /* Are the register test tasks still looping? */\r
-       if( ulLastRegTest1Counter == ulRegTest1Counter )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       else\r
-       {\r
-               ulLastRegTest1Counter = ulRegTest1Counter;\r
-       }\r
-\r
-       if( ulLastRegTest2Counter == ulRegTest2Counter )\r
-       {\r
-               lReturn = pdFAIL;\r
-       }\r
-       else\r
-       {\r
-               ulLastRegTest2Counter = ulRegTest2Counter;\r
-       }\r
-\r
-       return lReturn;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-\r
-static void prvErrorChecks( void *pvParameters )\r
-{\r
-portTickType xDelayPeriod = mainNO_ERROR_CHECK_DELAY, xLastExecutionTime;\r
-volatile unsigned portBASE_TYPE uxFreeStack;\r
-\r
-       /* This call is just to demonstrate the use of the function - nothing is\r
-       done with the value.  You would expect the stack high water mark to be\r
-       lower (the function to return a larger value) here at function entry than\r
-       later following calls to other functions. */\r
-       uxFreeStack = uxTaskGetStackHighWaterMark( NULL );\r
-\r
-       /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil()\r
-       works correctly. */\r
-       xLastExecutionTime = xTaskGetTickCount();\r
-\r
-       /* Cycle for ever, delaying then checking all the other tasks are still\r
-       operating without error. */\r
-       for( ;; )\r
-       {\r
-               /* Again just for demo purposes - uxFreeStack should have a lower value\r
-               here than following the call to uxTaskGetStackHighWaterMark() on the\r
-               task entry. */\r
-               uxFreeStack = uxTaskGetStackHighWaterMark( NULL );\r
-\r
-               /* Wait until it is time to check again.  The time we wait here depends\r
-               on whether an error has been detected or not.  When an error is \r
-               detected the time is shortened resulting in a faster LED flash rate. */\r
-               vTaskDelayUntil( &xLastExecutionTime, xDelayPeriod );\r
-\r
-               /* See if the other tasks are all ok. */\r
-               if( prvCheckOtherTasksAreStillRunning() != pdPASS )\r
-               {\r
-                       /* An error occurred in one of the tasks so shorten the delay \r
-                       period - which has the effect of increasing the frequency of the\r
-                       LED toggle. */\r
-                       xDelayPeriod = mainERROR_CHECK_DELAY;\r
-               }\r
-\r
-               /* Flash! */\r
-               vParTestToggleLED( mainCHECK_TEST_LED );\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvSetupHardware( void )\r
-{\r
-       XCache_EnableICache( 0x80000000 );\r
-       XCache_EnableDCache( 0x80000000 );\r
-\r
-       /* Setup the IO port for use with the LED outputs. */\r
-       vParTestInitialise();\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void prvRegTest1Pass( void )\r
-{\r
-       /* Called from the inline assembler - this cannot be static\r
-       otherwise it can get optimised away. */\r
-       ulRegTest1Counter++;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void prvRegTest2Pass( void )\r
-{\r
-       /* Called from the inline assembler - this cannot be static\r
-       otherwise it can get optimised away. */\r
-       ulRegTest2Counter++;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void prvRegTestFail( void )\r
-{\r
-       /* Called from the inline assembler - this cannot be static\r
-       otherwise it can get optimised away. */\r
-       xRegTestStatus = pdFAIL;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvRegTestTask1( void *pvParameters )\r
-{\r
-       /* The first register test task as described at the top of this file.  The\r
-       values used in the registers are different to those use in the second \r
-       register test task.  Also, unlike the second register test task, this task\r
-       yields between setting the register values and subsequently checking the\r
-       register values. */\r
-       asm volatile\r
-       (\r
-               "RegTest1Start:                                 \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 301                          \n\t" \\r
-               "       mtspr   256, 0  #USPRG0         \n\t" \\r
-               "       li              0, 501                          \n\t" \\r
-               "       mtspr   8, 0    #LR                     \n\t" \\r
-               "       li              0, 4                            \n\t" \\r
-               "       mtspr   1, 0    #XER            \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 1                            \n\t" \\r
-               "       li              2, 2                            \n\t" \\r
-               "       li              3, 3                            \n\t" \\r
-               "       li              4,      4                               \n\t" \\r
-               "       li              5,      5                               \n\t" \\r
-               "       li              6,      6                               \n\t" \\r
-               "       li              7,      7                               \n\t" \\r
-               "       li              8,      8                               \n\t" \\r
-               "       li              9,      9                               \n\t" \\r
-               "       li              10,     10                              \n\t" \\r
-               "       li              11,     11                              \n\t" \\r
-               "       li              12,     12                              \n\t" \\r
-               "       li              13,     13                              \n\t" \\r
-               "       li              14,     14                              \n\t" \\r
-               "       li              15,     15                              \n\t" \\r
-               "       li              16,     16                              \n\t" \\r
-               "       li              17,     17                              \n\t" \\r
-               "       li              18,     18                              \n\t" \\r
-               "       li              19,     19                              \n\t" \\r
-               "       li              20,     20                              \n\t" \\r
-               "       li              21,     21                              \n\t" \\r
-               "       li              22,     22                              \n\t" \\r
-               "       li              23,     23                              \n\t" \\r
-               "       li              24,     24                              \n\t" \\r
-               "       li              25,     25                              \n\t" \\r
-               "       li              26,     26                              \n\t" \\r
-               "       li              27,     27                              \n\t" \\r
-               "       li              28,     28                              \n\t" \\r
-               "       li              29,     29                              \n\t" \\r
-               "       li              30,     30                              \n\t" \\r
-               "       li              31,     31                              \n\t" \\r
-               "                                                               \n\t" \\r
-               "       sc                                                      \n\t" \\r
-               "       nop                                                     \n\t" \\r
-               "                                                               \n\t" \\r
-               "       cmpwi   0, 1                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   2, 2                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   3, 3                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   4, 4                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   5, 5                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   6, 6                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   7, 7                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   8, 8                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   9, 9                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   10, 10                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   11, 11                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   12, 12                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   13, 13                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   14, 14                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   15, 15                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   16, 16                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   17, 17                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   18, 18                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   19, 19                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   20, 20                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   21, 21                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   22, 22                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   23, 23                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   24, 24                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   25, 25                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   26, 26                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   27, 27                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   28, 28                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   29, 29                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   30, 30                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       cmpwi   31, 31                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       mfspr   0, 256  #USPRG0         \n\t" \\r
-               "       cmpwi   0, 301                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       mfspr   0, 8    #LR                     \n\t" \\r
-               "       cmpwi   0, 501                          \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "       mfspr   0, 1    #XER            \n\t" \\r
-               "       cmpwi   0, 4                            \n\t" \\r
-               "       bne     RegTest1Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTest1Pass                      \n\t" \\r
-               "       b RegTest1Start                         \n\t" \\r
-               "                                                               \n\t" \\r
-               "RegTest1Fail:                                  \n\t" \\r
-               "                                                               \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTestFail                       \n\t" \\r
-               "       b RegTest1Start                         \n\t" \\r
-       );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvRegTestTask2( void *pvParameters )\r
-{\r
-       /* The second register test task as described at the top of this file.  \r
-       Note that this task fills the registers with different values to the\r
-       first register test task. */\r
-       asm volatile\r
-       (\r
-               "RegTest2Start:                                 \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 300                          \n\t" \\r
-               "       mtspr   256, 0  #USPRG0         \n\t" \\r
-               "       li              0, 500                          \n\t" \\r
-               "       mtspr   8, 0    #LR                     \n\t" \\r
-               "       li              0, 4                            \n\t" \\r
-               "       mtspr   1, 0    #XER            \n\t" \\r
-               "                                                               \n\t" \\r
-               "       li              0, 11                           \n\t" \\r
-               "       li              2, 12                           \n\t" \\r
-               "       li              3, 13                           \n\t" \\r
-               "       li              4,      14                              \n\t" \\r
-               "       li              5,      15                              \n\t" \\r
-               "       li              6,      16                              \n\t" \\r
-               "       li              7,      17                              \n\t" \\r
-               "       li              8,      18                              \n\t" \\r
-               "       li              9,      19                              \n\t" \\r
-               "       li              10,     110                             \n\t" \\r
-               "       li              11,     111                             \n\t" \\r
-               "       li              12,     112                             \n\t" \\r
-               "       li              13,     113                             \n\t" \\r
-               "       li              14,     114                             \n\t" \\r
-               "       li              15,     115                             \n\t" \\r
-               "       li              16,     116                             \n\t" \\r
-               "       li              17,     117                             \n\t" \\r
-               "       li              18,     118                             \n\t" \\r
-               "       li              19,     119                             \n\t" \\r
-               "       li              20,     120                             \n\t" \\r
-               "       li              21,     121                             \n\t" \\r
-               "       li              22,     122                             \n\t" \\r
-               "       li              23,     123                             \n\t" \\r
-               "       li              24,     124                             \n\t" \\r
-               "       li              25,     125                             \n\t" \\r
-               "       li              26,     126                             \n\t" \\r
-               "       li              27,     127                             \n\t" \\r
-               "       li              28,     128                             \n\t" \\r
-               "       li              29,     129                             \n\t" \\r
-               "       li              30,     130                             \n\t" \\r
-               "       li              31,     131                             \n\t" \\r
-               "                                                               \n\t" \\r
-               "       cmpwi   0, 11                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   2, 12                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   3, 13                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   4, 14                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   5, 15                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   6, 16                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   7, 17                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   8, 18                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   9, 19                           \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   10, 110                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   11, 111                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   12, 112                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   13, 113                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   14, 114                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   15, 115                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   16, 116                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   17, 117                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   18, 118                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   19, 119                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   20, 120                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   21, 121                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   22, 122                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   23, 123                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   24, 124                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   25, 125                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   26, 126                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   27, 127                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   28, 128                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   29, 129                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   30, 130                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       cmpwi   31, 131                         \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       mfspr   0, 256  #USPRG0         \n\t" \\r
-               "       cmpwi   0, 300                          \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       mfspr   0, 8    #LR                     \n\t" \\r
-               "       cmpwi   0, 500                          \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "       mfspr   0, 1    #XER            \n\t" \\r
-               "       cmpwi   0, 4                            \n\t" \\r
-               "       bne     RegTest2Fail                    \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTest2Pass                      \n\t" \\r
-               "       b RegTest2Start                         \n\t" \\r
-               "                                                               \n\t" \\r
-               "RegTest2Fail:                                  \n\t" \\r
-               "                                                               \n\t" \\r
-               "                                                               \n\t" \\r
-               "       bl prvRegTestFail                       \n\t" \\r
-               "       b RegTest2Start                         \n\t" \\r
-       );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-/* This hook function will get called if there is a suspected stack overflow.\r
-An overflow can cause the task name to be corrupted, in which case the task\r
-handle needs to be used to determine the offending task. */\r
-void vApplicationStackOverflowHook( xTaskHandle xTask, signed portCHAR *pcTaskName );\r
-void vApplicationStackOverflowHook( xTaskHandle xTask, signed portCHAR *pcTaskName )\r
-{\r
-       /* The following three calls are simply to stop compiler warnings about the\r
-       functions not being used - they are called from the inline assembly. */\r
-       prvRegTest1Pass();\r
-       prvRegTest2Pass();\r
-       prvRegTestFail();\r
-\r
-       for( ;; );\r
-}\r
-\r
-\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c
deleted file mode 100644 (file)
index 94457b5..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/*\r
-       FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.\r
-\r
-       This file is part of the FreeRTOS.org distribution.\r
-\r
-       FreeRTOS.org is free software; you can redistribute it and/or modify\r
-       it under the terms of the GNU General Public License as published by\r
-       the Free Software Foundation; either version 2 of the License, or\r
-       (at your option) any later version.\r
-\r
-       FreeRTOS.org is distributed in the hope that it will be useful,\r
-       but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-       GNU General Public License for more details.\r
-\r
-       You should have received a copy of the GNU General Public License\r
-       along with FreeRTOS.org; if not, write to the Free Software\r
-       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-\r
-       A special exception to the GPL can be applied should you wish to distribute\r
-       a combined work that includes FreeRTOS.org, without being obliged to provide\r
-       the source code for any proprietary components.  See the licensing section\r
-       of http://www.FreeRTOS.org for full details of how and when the exception\r
-       can be applied.\r
-\r
-    ***************************************************************************\r
-    ***************************************************************************\r
-    *                                                                         *\r
-    * SAVE TIME AND MONEY!  We can port FreeRTOS.org to your own hardware,    *\r
-    * and even write all or part of your application on your behalf.          *\r
-    * See http://www.OpenRTOS.com for details of the services we provide to   *\r
-    * expedite your project.                                                  *\r
-    *                                                                         *\r
-    ***************************************************************************\r
-    ***************************************************************************\r
-\r
-       Please ensure to read the configuration and relevant port sections of the\r
-       online documentation.\r
-\r
-       http://www.FreeRTOS.org - Documentation, latest information, license and \r
-       contact details.\r
-\r
-       http://www.SafeRTOS.com - A version that is certified for use in safety \r
-       critical systems.\r
-\r
-       http://www.OpenRTOS.com - Commercial support, development, porting, \r
-       licensing and training services.\r
-*/\r
-\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-\r
-/* Demo application includes. */\r
-#include "partest.h"\r
-\r
-/* Library includes. */\r
-#include "xparameters.h"\r
-#include "xgpio_l.h"\r
-\r
-/* Misc hardware specific definitions. */\r
-#define partstALL_AS_OUTPUT    0x00\r
-#define partstCHANNEL_1                0x01\r
-#define partstMAX_4BIT_LED     0x03\r
-\r
-/* The outputs are split into two IO sections, these variables maintain the \r
-current value of either section. */\r
-static unsigned portBASE_TYPE uxCurrentOutput4Bit, uxCurrentOutput5Bit;\r
-\r
-/*-----------------------------------------------------------*/\r
-/*\r
- * Setup the IO for the LED outputs.\r
- */\r
-void vParTestInitialise( void )\r
-{\r
-       /* Set both sets of LED's on the demo board to outputs. */\r
-       XGpio_mSetDataDirection( XPAR_LEDS_4BIT_BASEADDR, partstCHANNEL_1, partstALL_AS_OUTPUT );\r
-       XGpio_mSetDataDirection( XPAR_LEDS_POSITIONS_BASEADDR, partstCHANNEL_1, partstALL_AS_OUTPUT );\r
-\r
-       /* Start with all outputs off. */\r
-       uxCurrentOutput4Bit = 0;\r
-       XGpio_mSetDataReg( XPAR_LEDS_4BIT_BASEADDR, partstCHANNEL_1, 0x00 );\r
-       uxCurrentOutput5Bit = 0;\r
-       XGpio_mSetDataReg( XPAR_LEDS_POSITIONS_BASEADDR, partstCHANNEL_1, 0x00 );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
-{\r
-unsigned portBASE_TYPE uxBaseAddress, *puxCurrentValue;\r
-\r
-       portENTER_CRITICAL();\r
-       {\r
-               /* Which IO section does the LED being set/cleared belong to?  The\r
-               4 bit or 5 bit outputs? */\r
-               if( uxLED <= partstMAX_4BIT_LED )\r
-               {\r
-                       uxBaseAddress = XPAR_LEDS_4BIT_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput4Bit;\r
-               }       \r
-               else\r
-               {\r
-                       uxBaseAddress = XPAR_LEDS_POSITIONS_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput5Bit;\r
-                       uxLED -= partstMAX_4BIT_LED;\r
-               }\r
-\r
-               /* Setup the bit mask accordingly. */\r
-               uxLED = 0x01 << uxLED;\r
-\r
-               /* Maintain the current output value. */\r
-               if( xValue )\r
-               {\r
-                       *puxCurrentValue |= uxLED;\r
-               }\r
-               else\r
-               {\r
-                       *puxCurrentValue &= ~uxLED;\r
-               }\r
-\r
-               /* Write the value to the port. */\r
-               XGpio_mSetDataReg( uxBaseAddress, partstCHANNEL_1, *puxCurrentValue );\r
-       }\r
-       portEXIT_CRITICAL();\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestToggleLED( unsigned portBASE_TYPE uxLED )\r
-{\r
-unsigned portBASE_TYPE uxBaseAddress, *puxCurrentValue;\r
-\r
-       portENTER_CRITICAL();\r
-       {\r
-               /* Which IO section does the LED being toggled belong to?  The\r
-               4 bit or 5 bit outputs? */\r
-               if( uxLED <= partstMAX_4BIT_LED )\r
-               {\r
-                       uxBaseAddress = XPAR_LEDS_4BIT_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput4Bit;\r
-               }       \r
-               else\r
-               {\r
-                       uxBaseAddress = XPAR_LEDS_POSITIONS_BASEADDR;\r
-                       puxCurrentValue = &uxCurrentOutput5Bit;\r
-                       uxLED -= partstMAX_4BIT_LED;\r
-               }\r
-\r
-               /* Setup the bit mask accordingly. */\r
-               uxLED = 0x01 << uxLED;\r
-\r
-               /* Maintain the current output value. */\r
-               if( *puxCurrentValue & uxLED )\r
-               {\r
-                       *puxCurrentValue &= ~uxLED;\r
-               }\r
-               else\r
-               {\r
-                       *puxCurrentValue |= uxLED;\r
-               }\r
-\r
-               /* Write the value to the port. */\r
-               XGpio_mSetDataReg(uxBaseAddress, partstCHANNEL_1, *puxCurrentValue );\r
-       }\r
-       portEXIT_CRITICAL();\r
-}\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c
deleted file mode 100644 (file)
index 3e54779..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-/*\r
-       FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.\r
-\r
-       This file is part of the FreeRTOS.org distribution.\r
-\r
-       FreeRTOS.org is free software; you can redistribute it and/or modify\r
-       it under the terms of the GNU General Public License as published by\r
-       the Free Software Foundation; either version 2 of the License, or\r
-       (at your option) any later version.\r
-\r
-       FreeRTOS.org is distributed in the hope that it will be useful,\r
-       but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-       GNU General Public License for more details.\r
-\r
-       You should have received a copy of the GNU General Public License\r
-       along with FreeRTOS.org; if not, write to the Free Software\r
-       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-\r
-       A special exception to the GPL can be applied should you wish to distribute\r
-       a combined work that includes FreeRTOS.org, without being obliged to provide\r
-       the source code for any proprietary components.  See the licensing section \r
-       of http://www.FreeRTOS.org for full details of how and when the exception\r
-       can be applied.\r
-\r
-    ***************************************************************************\r
-    ***************************************************************************\r
-    *                                                                         *\r
-    * SAVE TIME AND MONEY!  We can port FreeRTOS.org to your own hardware,    *\r
-    * and even write all or part of your application on your behalf.          *\r
-    * See http://www.OpenRTOS.com for details of the services we provide to   *\r
-    * expedite your project.                                                  *\r
-    *                                                                         *\r
-    ***************************************************************************\r
-    ***************************************************************************\r
-\r
-       Please ensure to read the configuration and relevant port sections of the\r
-       online documentation.\r
-\r
-       http://www.FreeRTOS.org - Documentation, latest information, license and \r
-       contact details.\r
-\r
-       http://www.SafeRTOS.com - A version that is certified for use in safety \r
-       critical systems.\r
-\r
-       http://www.OpenRTOS.com - Commercial support, development, porting, \r
-       licensing and training services.\r
-*/\r
-\r
-\r
-/* \r
-       BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR UART\r
-*/\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "queue.h"\r
-#include "task.h"\r
-\r
-/* Demo application includes. */\r
-#include "serial.h"\r
-\r
-/* Library includes. */\r
-#include "xparameters.h"\r
-#include "xuartlite.h"\r
-#include "xuartlite_l.h"\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Queues used to hold received characters, and characters waiting to be\r
-transmitted. */\r
-static xQueueHandle xRxedChars; \r
-static xQueueHandle xCharsForTx; \r
-\r
-/* Structure that maintains information on the UART being used. */\r
-static XUartLite xUART;\r
-\r
-/*\r
- * Sample UART interrupt handler.  Note this is used to demonstrate the kernel\r
- * features and test the port - it is not intended to represent an efficient\r
- * implementation.\r
- */\r
-static void vSerialISR( XUartLite *pxUART );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )\r
-{\r
-       /* NOTE: The baud rate used by this driver is determined by the hardware\r
-       parameterization of the UART Lite peripheral, and the baud value passed to\r
-       this function has no effect. */\r
-       ( void ) ulWantedBaud;\r
-\r
-       /* Create the queues used to hold Rx and Tx characters. */\r
-       xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );\r
-       xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );\r
-\r
-       /* Only initialise the UART if the queues were created correctly. */\r
-       if( ( xRxedChars != NULL ) && ( xCharsForTx != NULL ) )\r
-       {\r
-\r
-               XUartLite_Initialize( &xUART, XPAR_RS232_UART_DEVICE_ID );\r
-               XUartLite_ResetFifos( &xUART );\r
-               XUartLite_DisableInterrupt( &xUART );\r
-\r
-               if( xPortInstallInterruptHandler( XPAR_XPS_INTC_0_RS232_UART_INTERRUPT_INTR, ( XInterruptHandler )vSerialISR, (void *)&xUART ) == pdPASS )\r
-               {\r
-                       /* xPortInstallInterruptHandler() could fail if \r
-                       vPortSetupInterruptController() has not been called prior to this \r
-                       function. */\r
-                       XUartLite_EnableInterrupt( &xUART );\r
-               }\r
-       }\r
-       \r
-       /* There is only one port so the handle is not used. */\r
-       return ( xComPortHandle ) 0;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime )\r
-{\r
-       /* The port handle is not required as this driver only supports one UART. */\r
-       ( void ) pxPort;\r
-\r
-       /* Get the next character from the buffer.  Return false if no characters\r
-       are available, or arrive before xBlockTime expires. */\r
-       if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )\r
-       {\r
-               return pdTRUE;\r
-       }\r
-       else\r
-       {\r
-               return pdFALSE;\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime )\r
-{\r
-portBASE_TYPE xReturn = pdTRUE;\r
-\r
-       portENTER_CRITICAL();\r
-       {\r
-               /* If the UART FIFO is full we can block posting the new data on the\r
-               Tx queue. */\r
-               if( XUartLite_mIsTransmitFull( XPAR_RS232_UART_BASEADDR ) )\r
-               {\r
-                       if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )\r
-                       {\r
-                               xReturn = pdFAIL;\r
-                       }\r
-               }\r
-               /* Otherwise, if there is data already in the queue we should add the\r
-               new data to the back of the queue to ensure the sequencing is \r
-               maintained. */\r
-               else if( uxQueueMessagesWaiting( xCharsForTx ) )\r
-               {\r
-                       if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )\r
-                       {\r
-                               xReturn = pdFAIL;\r
-                       }                       \r
-               }\r
-               /* If the UART FIFO is not full and there is no data already in the\r
-               queue we can write directly to the FIFO without disrupting the \r
-               sequence. */\r
-               else\r
-               {\r
-                       XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cOutChar );\r
-               }\r
-       }\r
-       portEXIT_CRITICAL();\r
-\r
-       return xReturn;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vSerialClose( xComPortHandle xPort )\r
-{\r
-       /* Not supported as not required by the demo application. */\r
-       ( void ) xPort;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void vSerialISR( XUartLite *pxUART )\r
-{\r
-unsigned portLONG ulISRStatus;\r
-portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE, lDidSomething;\r
-portCHAR cChar;\r
-\r
-       do\r
-       {\r
-               lDidSomething = pdFALSE;\r
-\r
-               ulISRStatus = XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_STATUS_REG_OFFSET );\r
-\r
-               if( ( ulISRStatus & XUL_SR_RX_FIFO_VALID_DATA ) != 0 )\r
-               {\r
-                       /* A character is available - place it in the queue of received\r
-                       characters.  This might wake a task that was blocked waiting for \r
-                       data. */\r
-                       cChar = ( portCHAR ) XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_RX_FIFO_OFFSET );\r
-                       xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );\r
-                       lDidSomething = pdTRUE;\r
-               }\r
-               \r
-               if( ( ulISRStatus & XUL_SR_TX_FIFO_EMPTY ) != 0 )\r
-               {\r
-                       /* There is space in the FIFO - if there are any characters queue for\r
-                       transmission they can be sent to the UART now.  This might unblock a\r
-                       task that was waiting for space to become available on the Tx queue. */\r
-                       if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )\r
-                       {\r
-                               XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cChar );\r
-                               lDidSomething = pdTRUE;\r
-                       }                       \r
-               }\r
-       } while( lDidSomething == pdTRUE );\r
-\r
-       /* If we woke any tasks we may require a context switch. */\r
-       if( xHigherPriorityTaskWoken )\r
-       {\r
-               portYIELD_FROM_ISR();\r
-       }\r
-}\r
-\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/executable.elf b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/executable.elf
deleted file mode 100644 (file)
index b7d9312..0000000
Binary files a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/executable.elf and /dev/null differ
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral.c b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral.c
deleted file mode 100644 (file)
index c352d1b..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- *
- * Xilinx, Inc.
- * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A 
- * COURTESY TO YOU.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
- * ONE POSSIBLE   IMPLEMENTATION OF THIS FEATURE, APPLICATION OR 
- * STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION 
- * IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE 
- * FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION
- * XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO 
- * THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO 
- * ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE 
- * FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY 
- * AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/*
- * Xilinx EDK 10.1 EDK_K.15
- *
- * This file is a sample test application
- *
- * This application is intended to test and/or illustrate some 
- * functionality of your system.  The contents of this file may
- * vary depending on the IP in your system and may use existing
- * IP driver functions.  These drivers will be generated in your
- * XPS project when you run the "Generate Libraries" menu item
- * in XPS.
- *
- * Your XPS project directory is at:
- *    C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\
- */
-
-
-// Located in: ppc405_0/include/xparameters.h
-#include "xparameters.h"
-
-#include "xcache_l.h"
-
-#include "xintc.h"
-#include "xexception_l.h"
-#include "intc_header.h"
-#include "xuartlite.h"
-#include "uartlite_header.h"
-#include "uartlite_intr_header.h"
-#include "xbasic_types.h"
-#include "xgpio.h"
-#include "gpio_header.h"
-
-//====================================================
-
-int main (void) {
-
-
-   static XIntc intc;
-
-   XCache_EnableICache(0x00000001);
-   XCache_EnableDCache(0x00000001);
-   static XUartLite RS232_Uart_UartLite;
-
-
-   {
-      XStatus status;
-                        
-//      status = IntcSelfTestExample(XPAR_XPS_INTC_0_DEVICE_ID);
-
-   } 
-       
-   {
-       XStatus Status;
-
-//       Status = IntcInterruptSetup(&intc, XPAR_XPS_INTC_0_DEVICE_ID);
-
-   }
-
-
-   {
-      XStatus status;
-      
- //     status = UartLiteSelfTestExample(XPAR_RS232_UART_DEVICE_ID);
-   }
-        
-   {
-      XStatus Status;
-//      Status = UartLiteIntrExample(&intc, &RS232_Uart_UartLite, \
-//                                  XPAR_RS232_UART_DEVICE_ID, \
-//                                  XPAR_XPS_INTC_0_RS232_UART_INTERRUPT_INTR);
-   }
-
-
-   {
-      XStatus status;
-      
-      status = GpioOutputExample(XPAR_LEDS_4BIT_DEVICE_ID,4);
-   }
-
-
-   {
-      XStatus status;
-      
-      status = GpioOutputExample(XPAR_LEDS_POSITIONS_DEVICE_ID,5);
-   }
-
-   XCache_DisableDCache();
-   XCache_DisableICache();
-   return 0;
-}
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral_LinkScr.ld b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral_LinkScr.ld
deleted file mode 100644 (file)
index 39fbb54..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************/\r
-/*                                                                 */\r
-/* This file is automatically generated by linker script generator.*/\r
-/*                                                                 */\r
-/* Version: Xilinx EDK 10.1 EDK_K.15                                */\r
-/*                                                                 */\r
-/* Copyright (c) 2004 Xilinx, Inc.  All rights reserved.           */\r
-/*                                                                 */\r
-/* Description : PowerPC405 Linker Script                          */\r
-/*                                                                 */\r
-/*******************************************************************/\r
-\r
-_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x2000;\r
-_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x2000;\r
-\r
-/* Define Memories in the system */\r
-\r
-MEMORY\r
-{\r
-   SRAM_C_MEM0_BASEADDR : ORIGIN = 0xFFF00000, LENGTH = 0x000FFFEC\r
-}\r
-\r
-/* Specify the default entry point to the program */\r
-\r
-ENTRY(_boot)\r
-STARTUP(boot.o)\r
-\r
-/* Define the sections, and where they are mapped in memory */\r
-\r
-SECTIONS\r
-{\r
-.vectors : {\r
-   __vectors_start = .;\r
-   *(.vectors)\r
-   __vectors_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.text : {\r
-   *(.text)\r
-   *(.text.*)\r
-   *(.gnu.linkonce.t.*)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.init : {\r
-   KEEP (*(.init))\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.fini : {\r
-   KEEP (*(.fini))\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.rodata : {\r
-   __rodata_start = .;\r
-   *(.rodata)\r
-   *(.rodata.*)\r
-   *(.gnu.linkonce.r.*)\r
-   __rodata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.rodata1 : {\r
-   __rodata1_start = .;\r
-   *(.rodata1)\r
-   *(.rodata1.*)\r
-   __rodata1_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sdata2 : {\r
-   __sdata2_start = .;\r
-   *(.sdata2)\r
-   *(.sdata2.*)\r
-   *(.gnu.linkonce.s2.*)\r
-   __sdata2_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sbss2 : {\r
-   __sbss2_start = .;\r
-   *(.sbss2)\r
-   *(.sbss2.*)\r
-   *(.gnu.linkonce.sb2.*)\r
-   __sbss2_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.data : {\r
-   __data_start = .;\r
-   *(.data)\r
-   *(.data.*)\r
-   *(.gnu.linkonce.d.*)\r
-   __data_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.data1 : {\r
-   __data1_start = .;\r
-   *(.data1)\r
-   *(.data1.*)\r
-   __data1_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got : {\r
-   *(.got)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got1 : {\r
-   *(.got1)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.got2 : {\r
-   *(.got2)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.ctors : {\r
-   __CTOR_LIST__ = .;\r
-   ___CTORS_LIST___ = .;\r
-   KEEP (*crtbegin.o(.ctors))\r
-   KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors))\r
-   KEEP (*(SORT(.ctors.*)))\r
-   KEEP (*(.ctors))\r
-   __CTOR_END__ = .;\r
-   ___CTORS_END___ = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.dtors : {\r
-   __DTOR_LIST__ = .;\r
-   ___DTORS_LIST___ = .;\r
-   KEEP (*crtbegin.o(.dtors))\r
-   KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors))\r
-   KEEP (*(SORT(.dtors.*)))\r
-   KEEP (*(.dtors))\r
-   __DTOR_END__ = .;\r
-   ___DTORS_END___ = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.fixup : {\r
-   __fixup_start = .;\r
-   *(.fixup)\r
-   __fixup_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.eh_frame : {\r
-   *(.eh_frame)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.jcr : {\r
-   *(.jcr)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.gcc_except_table : {\r
-   *(.gcc_except_table)\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sdata : {\r
-   __sdata_start = .;\r
-   *(.sdata)\r
-   *(.sdata.*)\r
-   *(.gnu.linkonce.s.*)\r
-   __sdata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.sbss : {\r
-   __sbss_start = .;\r
-   *(.sbss)\r
-   *(.sbss.*)\r
-   *(.gnu.linkonce.sb.*)\r
-   *(.scommon)\r
-   __sbss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.tdata : {\r
-   __tdata_start = .;\r
-   *(.tdata)\r
-   *(.tdata.*)\r
-   *(.gnu.linkonce.td.*)\r
-   __tdata_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.tbss : {\r
-   __tbss_start = .;\r
-   *(.tbss)\r
-   *(.tbss.*)\r
-   *(.gnu.linkonce.tb.*)\r
-   __tbss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.bss : {\r
-   __bss_start = .;\r
-   *(.bss)\r
-   *(.bss.*)\r
-   *(.gnu.linkonce.b.*)\r
-   *(COMMON)\r
-   . = ALIGN(4);\r
-   __bss_end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.boot0 0xFFFFFFEC : {\r
-   __boot0_start = .;\r
-   *(.boot0)\r
-   __boot0_end = .;\r
-} \r
-\r
-.boot 0xFFFFFFFC : {\r
-   __boot_start = .;\r
-   *(.boot)\r
-   __boot_end = .;\r
-} \r
-\r
-/* Generate Stack and Heap Sections */\r
-\r
-.stack : {\r
-   _stack_end = .;\r
-   . += _STACK_SIZE;\r
-   . = ALIGN(16);\r
-   __stack = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-.heap : {\r
-   . = ALIGN(16);\r
-   _heap_start = .;\r
-   . += _HEAP_SIZE;\r
-   . = ALIGN(16);\r
-   _heap_end = .;\r
-   _end = .;\r
-} > SRAM_C_MEM0_BASEADDR\r
-\r
-}\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/gpio_header.h b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/gpio_header.h
deleted file mode 100644 (file)
index 1582a54..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#define TESTAPP_GEN
-\r
-/* $Id: gpio_header.h,v 1.1 2007/05/15 06:49:42 mta Exp $ */\r
-\r
-\r
-#include "xbasic_types.h"\r
-#include "xstatus.h"\r
-\r
-XStatus GpioOutputExample(Xuint16 DeviceId, Xuint32 GpioWidth);\r
-XStatus GpioInputExample(Xuint16 DeviceId, Xuint32 *DataRead);\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/intc_header.h b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/intc_header.h
deleted file mode 100644 (file)
index 08a6f8b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#define TESTAPP_GEN
-\r
-/* $Id: intc_header.h,v 1.1 2007/05/15 07:08:08 mta Exp $ */\r
-\r
-\r
-#include "xbasic_types.h"\r
-#include "xstatus.h"\r
-\r
-XStatus IntcSelfTestExample(Xuint16 DeviceId);\r
-XStatus IntcInterruptSetup(XIntc *IntcInstancePtr, Xuint16 DeviceId);\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_header.h b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_header.h
deleted file mode 100644 (file)
index cb5cbef..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#define TESTAPP_GEN
-\r
-/* $Id: uartlite_header.h,v 1.1 2007/05/15 07:00:27 mta Exp $ */\r
-\r
-\r
-#include "xbasic_types.h"\r
-#include "xstatus.h"\r
-\r
-XStatus UartLiteSelfTestExample(Xuint16 DeviceId);\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_intr_header.h b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_intr_header.h
deleted file mode 100644 (file)
index 93a0999..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#define TESTAPP_GEN
-\r
-/* $Id: uartlite_intr_header.h,v 1.1 2007/05/15 07:00:27 mta Exp $ */\r
-\r
-\r
-#include "xbasic_types.h"\r
-#include "xstatus.h"\r
-\r
-XStatus UartLiteIntrExample(XIntc* IntcInstancePtr, \\r
-                            XUartLite* UartLiteInstancePtr, \\r
-                            Xuint16 UartLiteDeviceId, \\r
-                            Xuint16 UartLiteIntrId);\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xgpio_tapp_example.c b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xgpio_tapp_example.c
deleted file mode 100644 (file)
index e5f199a..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-#define TESTAPP_GEN
-\r
-/* $Id: xgpio_tapp_example.c,v 1.1 2007/05/15 06:49:42 mta Exp $ */\r
-/******************************************************************************\r
-*\r
-*       XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"\r
-*       AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND\r
-*       SOLUTIONS FOR XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE,\r
-*       OR INFORMATION AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE,\r
-*       APPLICATION OR STANDARD, XILINX IS MAKING NO REPRESENTATION\r
-*       THAT THIS IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,\r
-*       AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE\r
-*       FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY\r
-*       WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE\r
-*       IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR\r
-*       REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF\r
-*       INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r
-*       FOR A PARTICULAR PURPOSE.\r
-*\r
-*       (c) Copyright 2005 Xilinx Inc.\r
-*       All rights reserved.\r
-*\r
-******************************************************************************/\r
-/*****************************************************************************/\r
-/**\r
-* @file xgpio_tapp_example.c\r
-*\r
-* This file contains a example for using GPIO hardware and driver.\r
-* This example assumes that there is a UART Device or STDIO Device in the\r
-* hardware system.\r
-*\r
-* This example can be run on the Xilinx ML300 board with either the PowerPC or\r
-* the MicroBlaze processor using the Prototype Pins & LEDs of the board\r
-* connected to the GPIO and the Push Buttons connected.\r
-*\r
-* @note\r
-*\r
-* None\r
-*\r
-* <pre>\r
-* MODIFICATION HISTORY:\r
-*\r
-* Ver   Who  Date     Changes\r
-* ----- ---- -------- -----------------------------------------------\r
-* 1.00a sv   04/15/05 Initial release for TestApp integration.\r
-* </pre>\r
-*\r
-*****************************************************************************/\r
-\r
-/***************************** Include Files ********************************/\r
-\r
-#include "xparameters.h"\r
-#include "xgpio.h"\r
-#include "stdio.h"\r
-#include "xstatus.h"\r
-\r
-/************************** Constant Definitions ****************************/\r
-\r
-/*\r
- * The following constant is used to wait after an LED is turned on to make\r
- * sure that it is visible to the human eye.  This constant might need to be\r
- * tuned for faster or slower processor speeds.\r
- */\r
-#define LED_DELAY     1000000\r
-\r
-/* following constant is used to determine which channel of the GPIO is\r
- * used if there are 2 channels supported in the GPIO.\r
- */\r
-#define LED_CHANNEL 1\r
-\r
-#define LED_MAX_BLINK   0x1     /* Number of times the LED Blinks */\r
-\r
-#define GPIO_BITWIDTH   16      /* This is the width of the GPIO */\r
-\r
-#define printf xil_printf       /* A smaller footprint printf */\r
-\r
-/*\r
- * The following constants map to the XPAR parameters created in the\r
- * xparameters.h file. They are defined here such that a user can easily\r
- * change all the needed parameters in one place.\r
- */\r
-#ifndef TESTAPP_GEN\r
-#define GPIO_OUTPUT_DEVICE_ID  XPAR_LEDS_4BIT_DEVICE_ID\r
-#define GPIO_INPUT_DEVICE_ID   XPAR_LEDS_4BIT_DEVICE_ID\r
-#endif /* TESTAPP_GEN */\r
-\r
-/**************************** Type Definitions ******************************/\r
-\r
-\r
-/***************** Macros (Inline Functions) Definitions *******************/\r
-\r
-\r
-/************************** Function Prototypes ****************************/\r
-\r
-XStatus GpioOutputExample(Xuint16 DeviceId, Xuint32 GpioWidth);\r
-\r
-XStatus GpioInputExample(Xuint16 DeviceId, Xuint32 *DataRead);\r
-\r
-void GpioDriverHandler(void *CallBackRef);\r
-\r
-\r
-\r
-/************************** Variable Definitions **************************/\r
-\r
-/*\r
- * The following are declared globally so they are zeroed and so they are\r
- * easily accessible from a debugger\r
- */\r
-XGpio GpioOutput;   /* The driver instance for GPIO Device configured as O/P */\r
-XGpio GpioInput;    /* The driver instance for GPIO Device configured as I/P */\r
-\r
-\r
-/*****************************************************************************/\r
-/**\r
-* Main function to call the example.This function is not included if the\r
-* example is generated from the TestAppGen test tool.\r
-*\r
-* @param    None\r
-*\r
-* @return   XST_SUCCESS if successful, XST_FAILURE if unsuccessful\r
-*\r
-* @note     None\r
-*\r
-******************************************************************************/\r
-#ifndef TESTAPP_GEN\r
-int main(void)\r
-{\r
-    XStatus Status;\r
-    Xuint32 InputData;\r
-\r
-    Status = GpioOutputExample(GPIO_OUTPUT_DEVICE_ID, GPIO_BITWIDTH);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    Status = GpioInputExample(GPIO_INPUT_DEVICE_ID, &InputData);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    printf("Data read from GPIO Input is  0x%x \n", (int)InputData);\r
-\r
-    return XST_SUCCESS;\r
-}\r
-#endif\r
-\r
-\r
-/*****************************************************************************/\r
-/**\r
-*\r
-* This function does a minimal test on the GPIO device configured as OUTPUT\r
-* and driver as a  example.\r
-*\r
-*\r
-* @param    DeviceId is the XPAR_<GPIO_instance>_DEVICE_ID value from\r
-*           xparameters.h\r
-* @param    GpioWidth is the width of the GPIO\r
-*\r
-* @return   XST_SUCCESS if successful, XST_FAILURE if unsuccessful\r
-*\r
-* @note     None\r
-*\r
-****************************************************************************/\r
-XStatus GpioOutputExample(Xuint16 DeviceId, Xuint32 GpioWidth)\r
-{\r
-    Xuint32 Data;\r
-    volatile int Delay;\r
-    Xuint32 LedBit;\r
-    Xuint32 LedLoop;\r
-    XStatus Status;\r
-\r
-    /*\r
-     * Initialize the GPIO driver so that it's ready to use,\r
-     * specify the device ID that is generated in xparameters.h\r
-     */\r
-    Status = XGpio_Initialize(&GpioOutput, DeviceId);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-\r
-    /*\r
-     * Set the direction for all signals to be outputs\r
-     */\r
-    XGpio_SetDataDirection(&GpioOutput, LED_CHANNEL, 0x0);\r
-\r
-    /*\r
-     * Set the GPIO outputs to low\r
-     */\r
-    XGpio_DiscreteWrite(&GpioOutput, LED_CHANNEL, 0x0);\r
-\r
-    for (LedBit = 0x0; LedBit < GpioWidth; LedBit++)\r
-    {\r
-\r
-        for (LedLoop = 0; LedLoop < LED_MAX_BLINK; LedLoop++)\r
-        {\r
-\r
-            /*\r
-             * Set the GPIO Output to High\r
-             */\r
-            XGpio_DiscreteWrite(&GpioOutput, LED_CHANNEL, 1 << LedBit);\r
-\r
-#ifndef __SIM__\r
-            /*\r
-             * Wait a small amount of time so the LED is visible\r
-             */\r
-            for (Delay = 0; Delay < LED_DELAY; Delay++);\r
-\r
-#endif\r
-            /*\r
-             * Read the state of the data so that it can be  verified\r
-             */\r
-            /* Data = XGpio_DiscreteRead(&GpioOutput, LED_CHANNEL); */\r
-\r
-\r
-            /*\r
-             * If the data read back is not the same as the data\r
-             * written then return FAILURE\r
-             */\r
-            /*if (Data != (1 << LedBit))\r
-            {\r
-                return XST_FAILURE;\r
-            }*/\r
-\r
-\r
-            /*\r
-             * Clear the GPIO Output\r
-             */\r
-            XGpio_DiscreteClear(&GpioOutput, LED_CHANNEL, 1 << LedBit);\r
-\r
-\r
-            /*\r
-             * Read the state of the data so that it can be verified\r
-             */\r
-            /* Data = XGpio_DiscreteRead(&GpioOutput, LED_CHANNEL);*/\r
-\r
-\r
-            /*\r
-             * If the data read back is not the same as the data\r
-             * written then return FAILURE\r
-             */\r
-            /* if (Data & ( 1 << LedBit))\r
-            {\r
-                return XST_FAILURE;\r
-            }*/\r
-\r
-\r
-#ifndef __SIM__\r
-            /*\r
-             * Wait a small amount of time so the LED is visible\r
-             */\r
-            for (Delay = 0; Delay < LED_DELAY; Delay++);\r
-#endif\r
-\r
-        }\r
-\r
-    }\r
-\r
-    return XST_SUCCESS;\r
-\r
-}\r
-\r
-\r
-/******************************************************************************/\r
-/**\r
-*\r
-* This function  performs a test on the GPIO driver/device with the GPIO\r
-* configured as INPUT\r
-*\r
-* @param    DeviceId is the XPAR_<GPIO_instance>_DEVICE_ID value from\r
-*           xparameters.h\r
-* @param    DataRead is the pointer where the data read from GPIO Input is\r
-*           returned\r
-*\r
-* @return   XST_SUCCESS if the Test is successful, otherwise XST_FAILURE\r
-*\r
-* @note     None.\r
-*\r
-******************************************************************************/\r
-XStatus GpioInputExample(Xuint16 DeviceId, Xuint32 *DataRead)\r
-{\r
-    XStatus Status;\r
-\r
-    /*\r
-     * Initialize the GPIO driver so that it's ready to use,\r
-     * specify the device ID that is generated in xparameters.h\r
-     */\r
-    Status = XGpio_Initialize(&GpioInput, DeviceId);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    /*\r
-     * Set the direction for all signals to be inputs\r
-     */\r
-    XGpio_SetDataDirection(&GpioInput, LED_CHANNEL, 0xFFFFFFFF);\r
-\r
-    /*\r
-     * Read the state of the data so that it can be  verified\r
-     */\r
-    *DataRead = XGpio_DiscreteRead(&GpioInput, LED_CHANNEL);\r
-\r
-    return XST_SUCCESS;\r
-\r
-}\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xintc_tapp_example.c b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xintc_tapp_example.c
deleted file mode 100644 (file)
index de77eac..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-#define TESTAPP_GEN
-\r
-\r
-/* $Id: xintc_tapp_example.c,v 1.1 2007/05/15 07:08:09 mta Exp $ */\r
-/******************************************************************************\r
-*\r
-*       XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"\r
-*       AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND\r
-*       SOLUTIONS FOR XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE,\r
-*       OR INFORMATION AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE,\r
-*       APPLICATION OR STANDARD, XILINX IS MAKING NO REPRESENTATION\r
-*       THAT THIS IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,\r
-*       AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE\r
-*       FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY\r
-*       WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE\r
-*       IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR\r
-*       REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF\r
-*       INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r
-*       FOR A PARTICULAR PURPOSE.\r
-*\r
-*       (c) Copyright 2002-2006 Xilinx Inc.\r
-*       All rights reserved.\r
-*\r
-*******************************************************************************/\r
-/******************************************************************************/\r
-/**\r
-*\r
-* @file xintc_tapp_example.c\r
-*\r
-* This file contains a self test example using the Interrupt Controller driver\r
-* (XIntc) and hardware device. Please reference other device driver examples to\r
-* see more examples of how the intc and interrupts can be used by a software\r
-* application.\r
-*\r
-* This example shows the use of the Interrupt Controller both with a PowerPC405\r
-* and MicroBlaze processor.\r
-*\r
-* The TestApp Gen utility uses this file to perform the self test and setup\r
-* of intc for interrupts.\r
-*\r
-* @note\r
-*\r
-* None\r
-*\r
-* <pre>\r
-*\r
-* MODIFICATION HISTORY:\r
-*\r
-* Ver   Who  Date     Changes\r
-* ----- ---- -------- --------------------------------------------------------\r
-* 1.00a sv   06/29/05  Created for Test App Integration\r
-* 1.00c sn   05/09/06  Added Interrupt Setup Function\r
-* </pre>\r
-******************************************************************************/\r
-\r
-/***************************** Include Files *********************************/\r
-\r
-#include "xparameters.h"\r
-#include "xstatus.h"\r
-#include "xintc.h"\r
-#ifdef __MICROBLAZE__    \r
-#include "mb_interface.h"\r
-#endif\r
-#ifdef __PPC__    \r
-#include "xexception_l.h"\r
-#endif\r
-\r
-\r
-/************************** Constant Definitions *****************************/\r
-\r
-/*\r
- * The following constants map to the XPAR parameters created in the\r
- * xparameters.h file. They are defined here such that a user can easily\r
- * change all the needed parameters in one place. This definition is not\r
- * included if the example is generated from the TestAppGen test tool.\r
- */\r
-#ifndef TESTAPP_GEN\r
-#define INTC_DEVICE_ID          XPAR_OPB_INTC_0_DEVICE_ID\r
-#endif\r
-\r
-/**************************** Type Definitions *******************************/\r
-\r
-\r
-/***************** Macros (Inline Functions) Definitions *********************/\r
-\r
-\r
-/************************** Function Prototypes ******************************/\r
-\r
-XStatus IntcSelfTestExample(Xuint16 DeviceId);\r
-XStatus IntcInterruptSetup(XIntc *IntcInstancePtr, Xuint16 DeviceId);\r
-\r
-/************************** Variable Definitions *****************************/\r
-\r
-static XIntc InterruptController; /* Instance of the Interrupt Controller */\r
-\r
-\r
-/*****************************************************************************/\r
-/**\r
-*\r
-* This is the main function for the Interrupt Controller example. This\r
-* function is not included if the example is generated from the TestAppGen test\r
-* tool.\r
-*\r
-* @param    None.\r
-*\r
-* @return   XST_SUCCESS to indicate success, otherwise XST_FAILURE.\r
-*\r
-* @note     None.\r
-*\r
-******************************************************************************/\r
-#ifndef TESTAPP_GEN\r
-int main(void)\r
-{\r
-    XStatus Status;\r
-\r
-    /*\r
-     *  Run the Intc example , specify the Device ID generated in xparameters.h\r
-     */\r
-    Status = IntcSelfTestExample(INTC_DEVICE_ID);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    return XST_SUCCESS;\r
-\r
-}\r
-#endif\r
-\r
-/*****************************************************************************/\r
-/**\r
-*\r
-* This function runs a self-test on the driver/device. This is a destructive\r
-* test. This function is an example of how to use the interrupt controller\r
-* driver component (XIntc) and the hardware device.  This function is designed\r
-* to work without any hardware devices to cause interrupts.  It may not return\r
-* if the interrupt controller is not properly connected to the processor in\r
-* either software or hardware.\r
-*\r
-* This function relies on the fact that the interrupt controller hardware\r
-* has come out of the reset state such that it will allow interrupts to be\r
-* simulated by the software.\r
-*\r
-* @param    DeviceId is device ID of the Interrupt Controller Device , typically\r
-*           XPAR_<INTC_instance>_DEVICE_ID value from xparameters.h\r
-*\r
-* @return   XST_SUCCESS to indicate success, otherwise XST_FAILURE\r
-*\r
-* @note     None.\r
-*\r
-******************************************************************************/\r
-XStatus IntcSelfTestExample(Xuint16 DeviceId)\r
-{\r
-    XStatus Status;\r
-\r
-    /*\r
-     * Initialize the interrupt controller driver so that it is ready to use.\r
-     */\r
-    Status = XIntc_Initialize(&InterruptController, DeviceId);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-\r
-    /*\r
-     * Perform a self-test to ensure that the hardware was built  correctly\r
-     */\r
-    Status = XIntc_SelfTest(&InterruptController);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-    \r
-    return XST_SUCCESS;\r
-    \r
-}\r
-\r
-\r
-/*****************************************************************************/\r
-/**\r
-*\r
-* This function is used by the TestAppGen generated application to setup\r
-* the interrupt controller.\r
-*\r
-* @param    IntcInstancePtr is the reference to the Interrupt Controller \r
-*           instance.\r
-* @param    DeviceId is device ID of the Interrupt Controller Device , typically\r
-*           XPAR_<INTC_instance>_DEVICE_ID value from xparameters.h\r
-*\r
-* @return   XST_SUCCESS to indicate success, otherwise XST_FAILURE\r
-*\r
-* @note     None.\r
-*\r
-******************************************************************************/\r
-XStatus IntcInterruptSetup(XIntc *IntcInstancePtr, Xuint16 DeviceId)\r
-{\r
-\r
-    XStatus Status;\r
-\r
-    /*\r
-     * Initialize the interrupt controller driver so that it is ready to use.\r
-     */\r
-    Status = XIntc_Initialize(IntcInstancePtr, DeviceId);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    /*\r
-     * Perform a self-test to ensure that the hardware was built  correctly.\r
-     */\r
-    Status = XIntc_SelfTest(IntcInstancePtr);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-\r
-#ifdef __MICROBLAZE__     \r
-    /* \r
-     * Enable the microblaze Interrupts\r
-     */\r
-    microblaze_enable_interrupts();\r
-#endif\r
-    \r
-#ifdef __PPC__ /*PPC*/     \r
-    \r
-    /*\r
-     * Initialize the PPC405 exception table\r
-     */\r
-    XExc_Init();\r
-\r
-    /*\r
-     * Register the interrupt controller handler with the exception table\r
-     */\r
-    XExc_RegisterHandler(XEXC_ID_NON_CRITICAL_INT,\r
-                         (XExceptionHandler)XIntc_DeviceInterruptHandler,\r
-                         (void*) 0);\r
-\r
-    /*\r
-     * Enable non-critical exceptions\r
-     */\r
-    XExc_mEnableExceptions(XEXC_NON_CRITICAL);\r
-#endif\r
-\r
-    \r
-    /*\r
-     * Start the interrupt controller such that interrupts are enabled for\r
-     * all devices that cause interrupts.\r
-     */\r
-    Status = XIntc_Start(IntcInstancePtr, XIN_REAL_MODE);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-    \r
-    return XST_SUCCESS;\r
-\r
-}\r
-\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_intr_tapp_example.c b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_intr_tapp_example.c
deleted file mode 100644 (file)
index 09109b8..0000000
+++ /dev/null
@@ -1,461 +0,0 @@
-#define TESTAPP_GEN
-\r
-/* $Id: xuartlite_intr_tapp_example.c,v 1.1 2007/05/15 07:00:27 mta Exp $ */\r
-/*****************************************************************************\r
-*\r
-*       XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"\r
-*       AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND\r
-*       SOLUTIONS FOR XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE,\r
-*       OR INFORMATION AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE,\r
-*       APPLICATION OR STANDARD, XILINX IS MAKING NO REPRESENTATION\r
-*       THAT THIS IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,\r
-*       AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE\r
-*       FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY\r
-*       WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE\r
-*       IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR\r
-*       REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF\r
-*       INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r
-*       FOR A PARTICULAR PURPOSE.\r
-*\r
-*       (c) Copyright 2002-2006 Xilinx Inc.\r
-*       All rights reserved.\r
-*\r
-*******************************************************************************/\r
-/******************************************************************************/\r
-/**\r
-*\r
-* @file xuartlite_intr_tapp_example.c\r
-*\r
-* This file contains a design example using the UartLite driver and\r
-* hardware device using the interrupt mode for transmission of data.\r
-*\r
-* This example works with a PPC processor. Refer the examples of Interrupt\r
-* controller for an example of using interrupts with the MicroBlaze processor.\r
-*\r
-* @note\r
-*\r
-* None.\r
-*\r
-* <pre>\r
-* MODIFICATION HISTORY:\r
-*\r
-* Ver   Who  Date     Changes\r
-* ----- ---- -------- -----------------------------------------------\r
-* 1.00b sv   06/08/06 Created for supporting Test App Interrupt examples\r
-* </pre>\r
-******************************************************************************/\r
-\r
-/***************************** Include Files *********************************/\r
-\r
-#include "xparameters.h"\r
-#include "xuartlite.h"\r
-#include "xintc.h"\r
-\r
-#ifdef __MICROBLAZE__\r
-#include "mb_interface.h"\r
-#else\r
-#include "xexception_l.h"\r
-#endif\r
-\r
-\r
-/************************** Constant Definitions *****************************/\r
-\r
-/*\r
- * The following constants map to the XPAR parameters created in the\r
- * xparameters.h file. They are defined here such that a user can easily\r
- * change all the needed parameters in one place.\r
- */\r
-#ifndef TESTAPP_GEN\r
-#define UARTLITE_DEVICE_ID      XPAR_RS232_UART_DEVICE_ID\r
-#define INTC_DEVICE_ID          XPAR_OPB_INTC_0_DEVICE_ID\r
-#define UARTLITE_IRPT_INTR      XPAR_OPB_INTC_0_RS232_UART_INTERRUPT_INTR\r
-#endif\r
-\r
-/*\r
- * The following constant controls the length of the buffers to be sent\r
- * and received with the UartLite device.\r
- */\r
-#define TEST_BUFFER_SIZE            100\r
-\r
-\r
-/**************************** Type Definitions *******************************/\r
-\r
-\r
-/***************** Macros (Inline Functions) Definitions *********************/\r
-\r
-\r
-/************************** Function Prototypes ******************************/\r
-\r
-XStatus UartLiteIntrExample(XIntc *IntcInstancePtr,\r
-                            XUartLite *UartLiteInstancePtr,\r
-                            Xuint16 UartLiteDeviceId,\r
-                            Xuint16 UartLiteIntrId);\r
-\r
-\r
-static void UartLiteSendHandler(void *CallBackRef, unsigned int EventData);\r
-\r
-static void UartLiteRecvHandler(void *CallBackRef, unsigned int EventData);\r
-\r
-\r
-static XStatus UartLiteSetupIntrSystem(XIntc *IntcInstancePtr,\r
-                                       XUartLite *UartLiteInstancePtr,\r
-                                       Xuint16 UartLiteIntrId);\r
-\r
-static void UartLiteDisableIntrSystem(XIntc *IntrInstancePtr,\r
-                                      Xuint16 UartLiteIntrId);\r
-\r
-\r
-/************************** Variable Definitions *****************************/\r
-\r
-/*\r
- * The instances to support the device drivers are global such that the\r
- * are initialized to zero each time the program runs.\r
- */\r
-#ifndef TESTAPP_GEN\r
-static XIntc IntcInstance;      /* The instance of the Interrupt Controller */\r
-static XUartLite UartLiteInst;  /* The instance of the UartLite Device */\r
-#endif\r
-\r
-\r
-\r
-/*\r
- * The following variables are shared between non-interrupt processing and\r
- * interrupt processing such that they must be global.\r
- */\r
-\r
-/*\r
- * The following buffers are used in this example to send and receive data\r
- * with the UartLite.\r
- */\r
-Xuint8 SendBuffer[TEST_BUFFER_SIZE];\r
-Xuint8 ReceiveBuffer[TEST_BUFFER_SIZE];\r
-\r
-/*\r
- * The following counter is used to determine when the entire buffer has\r
- * been sent.\r
- */\r
-static volatile int TotalSentCount;\r
-\r
-\r
-/******************************************************************************/\r
-/**\r
-*\r
-* Main function to call the UartLite interrupt example.\r
-*\r
-* @param    None.\r
-*\r
-* @return   XST_SUCCESS if successful, else XST_FAILURE.\r
-*\r
-* @note     None\r
-*\r
-*******************************************************************************/\r
-#ifndef TESTAPP_GEN\r
-int main(void)\r
-{\r
-    XStatus Status;\r
-\r
-    /*\r
-     * Run the UartLite Interrupt example , specify the Device ID that is\r
-     * generated in xparameters.h.\r
-     */\r
-    Status = UartLiteIntrExample(&IntcInstance,\r
-                                 &UartLiteInst,\r
-                                 UARTLITE_DEVICE_ID,\r
-                                 UARTLITE_IRPT_INTR);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    return XST_SUCCESS;\r
-}\r
-#endif\r
-\r
-/****************************************************************************/\r
-/**\r
-*\r
-* This function does a minimal test on the UartLite device and driver as a\r
-* design example. The purpose of this function is to illustrate how to use\r
-* the XUartLite component.\r
-*\r
-* This function sends data and expects to receive the same data through the\r
-* UartLite. The user must provide a physical loopback such that data which\r
-* is transmitted will be received.\r
-*\r
-* This function uses the interrupt driver mode of the UartLite.  The calls to\r
-* the  UartLite driver in the interrupt handlers, should only use the\r
-* non-blocking calls.\r
-*\r
-* @param    IntcInstancePtr is a pointer to the instance of the INTC component.\r
-* @param    UartLiteInstPtr is a pointer to the instance of UartLite component.\r
-* @param    UartLiteDeviceId is the Device ID of the UartLite Device and is the\r
-*           XPAR_<UARTLITE_instance>_DEVICE_ID value from xparameters.h.\r
-* @param    UartLiteIntrId is the Interrupt ID and is typically\r
-*           XPAR_<INTC_instance>_<UARTLITE_instance>_IP2INTC_IRPT_INTR\r
-*           value from xparameters.h.\r
-*\r
-* @return   XST_SUCCESS if successful, otherwise XST_FAILURE.\r
-*\r
-* @note\r
-*\r
-* This function contains an infinite loop such that if interrupts are not\r
-* working it may never return.\r
-*\r
-****************************************************************************/\r
-XStatus UartLiteIntrExample(XIntc *IntcInstancePtr,\r
-                            XUartLite *UartLiteInstPtr,\r
-                            Xuint16 UartLiteDeviceId,\r
-                            Xuint16 UartLiteIntrId)\r
-\r
-{\r
-    XStatus Status;\r
-    Xuint32 Index;\r
-\r
-    /*\r
-     * Initialize the UartLite driver so that it's ready to use.\r
-     */\r
-    Status = XUartLite_Initialize(UartLiteInstPtr, UartLiteDeviceId);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    /*\r
-     * Perform a self-test to ensure that the hardware was built correctly.\r
-     */\r
-    Status = XUartLite_SelfTest(UartLiteInstPtr);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    /*\r
-     * Connect the UartLite to the interrupt subsystem such that interrupts can\r
-     * occur. This function is application specific.\r
-     */\r
-    Status = UartLiteSetupIntrSystem(IntcInstancePtr,\r
-                                     UartLiteInstPtr,\r
-                                     UartLiteIntrId);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    /*\r
-     * Setup the handlers for the UartLite that will be called from the\r
-     * interrupt context when data has been sent and received,\r
-     * specify a pointer to the UartLite driver instance as the callback\r
-     * reference so the handlers are able to access the instance data.\r
-     */\r
-    XUartLite_SetSendHandler(UartLiteInstPtr, UartLiteSendHandler,\r
-                             UartLiteInstPtr);\r
-    XUartLite_SetRecvHandler(UartLiteInstPtr, UartLiteRecvHandler,\r
-                             UartLiteInstPtr);\r
-\r
-    /*\r
-     * Enable the interrupt of the UartLite so that the interrupts will occur.\r
-     */\r
-    XUartLite_EnableInterrupt(UartLiteInstPtr);\r
-\r
-    /*\r
-     * Initialize the send buffer bytes with a pattern to send.\r
-     */\r
-    for (Index = 0; Index < TEST_BUFFER_SIZE; Index++)\r
-    {\r
-        SendBuffer[Index] = Index;\r
-    }\r
-\r
-    /*\r
-     * Send the buffer using the UartLite.\r
-     */\r
-    XUartLite_Send(UartLiteInstPtr, SendBuffer, TEST_BUFFER_SIZE);\r
-\r
-    /*\r
-     * Wait for the entire buffer to be transmitted,  the function may get\r
-     * locked up in this loop if the interrupts are not working correctly.\r
-     */\r
-    while ((TotalSentCount != TEST_BUFFER_SIZE))\r
-    {\r
-    }\r
-\r
-\r
-    UartLiteDisableIntrSystem(IntcInstancePtr, UartLiteIntrId);\r
-\r
-    return XST_SUCCESS;\r
-}\r
-\r
-/*****************************************************************************/\r
-/**\r
-*\r
-* This function is the handler which performs processing to send data to the\r
-* UartLite. It is called from an interrupt context such that the amount of\r
-* processing performed should be minimized. It is called when the transmit\r
-* FIFO of the UartLite is empty and more data can be sent through the UartLite.\r
-*\r
-* This handler provides an example of how to handle data for the UartLite, but\r
-* is application specific.\r
-*\r
-* @param    CallBackRef contains a callback reference from the driver.\r
-*           In this case it is the instance pointer for the UartLite driver.\r
-* @param    EventData contains the number of bytes sent or received for sent and\r
-*           receive events.\r
-*\r
-* @return   None.\r
-*\r
-* @note     None.\r
-*\r
-****************************************************************************/\r
-static void UartLiteSendHandler(void *CallBackRef, unsigned int EventData)\r
-{\r
-    TotalSentCount = EventData;\r
-}\r
-\r
-/****************************************************************************/\r
-/**\r
-*\r
-* This function is the handler which performs processing to receive data from\r
-* the UartLite. It is called from an interrupt context such that the amount of\r
-* processing performed should be minimized. It is called when any data is\r
-* present in the receive FIFO of the UartLite such that the data can be\r
-* retrieved from the UartLite. The amount of data present in the FIFO is not\r
-* known when this function is called.\r
-*\r
-* This handler provides an example of how to handle data for the UartLite, but\r
-* is application specific.\r
-*\r
-* @param    CallBackRef contains a callback reference from the driver, in this\r
-*           case  it is the instance pointer for the UartLite driver.\r
-* @param    EventData contains the number of bytes sent or received for sent and\r
-*           receive events.\r
-*\r
-* @return   None.\r
-*\r
-* @note     None.\r
-*\r
-****************************************************************************/\r
-static void UartLiteRecvHandler(void *CallBackRef, unsigned int EventData)\r
-{\r
-\r
-}\r
-\r
-/****************************************************************************/\r
-/**\r
-*\r
-* This function setups the interrupt system such that interrupts can occur\r
-* for the UartLite. This function is application specific since the actual\r
-* system may or may not have an interrupt controller. The UartLite could be\r
-* directly connected to a processor without an interrupt controller. The\r
-* user should modify this function to fit the application.\r
-*\r
-* @param    IntcInstancePtr is a pointer to the instance of the INTC component.\r
-* @param    UartLiteInstPtr is a pointer to the instance of UartLite component.\r
-*           XPAR_<UARTLITE_instance>_DEVICE_ID value from xparameters.h.\r
-* @param    UartLiteIntrId is the Interrupt ID and is typically\r
-*           XPAR_<INTC_instance>_<UARTLITE_instance>_IP2INTC_IRPT_INTR\r
-*           value from xparameters.h.\r
-*\r
-* @return   XST_SUCCESS if successful, otherwise XST_FAILURE.\r
-*\r
-* @note     None.\r
-*\r
-****************************************************************************/\r
-XStatus UartLiteSetupIntrSystem(XIntc *IntcInstancePtr,\r
-                                XUartLite *UartLiteInstPtr,\r
-                                Xuint16 UartLiteIntrId)\r
-{\r
-    XStatus Status;\r
-\r
-#ifndef TESTAPP_GEN\r
-    /*\r
-     * Initialize the interrupt controller driver so that it is ready to use.\r
-     */\r
-    Status = XIntc_Initialize(IntcInstancePtr, INTC_DEVICE_ID);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-#endif\r
-\r
-    /*\r
-     * Connect a device driver handler that will be called when an interrupt\r
-     * for the device occurs, the device driver handler performs the specific\r
-     * interrupt processing for the device.\r
-     */\r
-    Status = XIntc_Connect(IntcInstancePtr, UartLiteIntrId,\r
-                           (XInterruptHandler)XUartLite_InterruptHandler,\r
-                           (void *)UartLiteInstPtr);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-#ifndef TESTAPP_GEN\r
-    /*\r
-     * Start the interrupt controller such that interrupts are enabled for\r
-     * all devices that cause interrupts, specific real mode so that\r
-     * the UART can cause interrupts thru the interrupt controller.\r
-     */\r
-    Status = XIntc_Start(IntcInstancePtr, XIN_REAL_MODE);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-#endif\r
-\r
-    /*\r
-     * Enable the interrupt for the UartLite.\r
-     */\r
-    XIntc_Enable(IntcInstancePtr, UartLiteIntrId);\r
-\r
-#ifndef TESTAPP_GEN\r
-\r
-    /*\r
-     * Initialize the PPC exception table.\r
-     */\r
-    XExc_Init();\r
-\r
-    /*\r
-     * Register the interrupt controller handler with the exception table.\r
-     */\r
-    XExc_RegisterHandler(XEXC_ID_NON_CRITICAL_INT,\r
-                        (XExceptionHandler)XIntc_InterruptHandler,\r
-                        IntcInstancePtr);\r
-\r
-    /*\r
-     * Enable non-critical exceptions.\r
-     */\r
-    XExc_mEnableExceptions(XEXC_NON_CRITICAL);\r
-\r
-\r
-#endif /* TESTAPP_GEN */\r
-\r
-    return XST_SUCCESS;\r
-}\r
-\r
-/*****************************************************************************/\r
-/**\r
-*\r
-* This function disables the interrupts that occur for the UartLite.\r
-*\r
-* @param    IntcInstancePtr is a pointer to the instance of the INTC component.\r
-* @param    UartLiteIntrId is the Interrupt ID and is typically\r
-*           XPAR_<INTC_instance>_<UARTLITE_instance>_IP2INTC_IRPT_INTR\r
-*           value from xparameters.h.\r
-*\r
-* @return   None.\r
-*\r
-* @note     None.\r
-*\r
-******************************************************************************/\r
-static void UartLiteDisableIntrSystem(XIntc *IntcInstancePtr,\r
-                                      Xuint16 UartLiteIntrId)\r
-{\r
-\r
-    /*\r
-     * Disconnect and disable the interrupt for the UartLite\r
-     */\r
-    XIntc_Disconnect(IntcInstancePtr, UartLiteIntrId);\r
-\r
-}\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_selftest_example.c b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_selftest_example.c
deleted file mode 100644 (file)
index c434063..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-#define TESTAPP_GEN
-\r
-/* $Id: xuartlite_selftest_example.c,v 1.1 2007/05/15 07:00:27 mta Exp $ */\r
-/*****************************************************************************\r
-*\r
-*       XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"\r
-*       AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND\r
-*       SOLUTIONS FOR XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE,\r
-*       OR INFORMATION AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE,\r
-*       APPLICATION OR STANDARD, XILINX IS MAKING NO REPRESENTATION\r
-*       THAT THIS IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,\r
-*       AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE\r
-*       FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY\r
-*       WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE\r
-*       IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR\r
-*       REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF\r
-*       INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r
-*       FOR A PARTICULAR PURPOSE.\r
-*\r
-*       (c) Copyright 2005 Xilinx Inc.\r
-*       All rights reserved.\r
-*\r
-*****************************************************************************/\r
-/****************************************************************************/\r
-/**\r
-*\r
-* @file xuartlite_selftest_example.c\r
-*\r
-* This file contains a design example using the UartLite driver (XUartLite) and\r
-* hardware device.\r
-*\r
-* @note\r
-*\r
-* None\r
-*\r
-* MODIFICATION HISTORY:\r
-* <pre>\r
-* Ver   Who  Date     Changes\r
-* ----- ---- -------- -----------------------------------------------\r
-* 1.00a ecm  01/25/04 First Release.\r
-* 1.00a sv   06/13/05 Minor changes to comply to Doxygen and Coding guidelines\r
-* </pre>\r
-******************************************************************************/\r
-\r
-/***************************** Include Files *********************************/\r
-\r
-#include "xparameters.h"\r
-#include "xuartlite.h"\r
-\r
-/************************** Constant Definitions *****************************/\r
-\r
-/*\r
- * The following constants map to the XPAR parameters created in the\r
- * xparameters.h file. They are defined here such that a user can easily\r
- * change all the needed parameters in one place.\r
- */\r
-#define UARTLITE_DEVICE_ID          XPAR_RS232_UART_DEVICE_ID\r
-\r
-\r
-/**************************** Type Definitions *******************************/\r
-\r
-\r
-/***************** Macros (Inline Functions) Definitions *********************/\r
-\r
-\r
-/************************** Function Prototypes ******************************/\r
-\r
-XStatus UartLiteSelfTestExample(Xuint16 DeviceId);\r
-\r
-/************************** Variable Definitions *****************************/\r
-\r
-XUartLite UartLite;         /* Instance of the UartLite device */\r
-\r
-/*****************************************************************************/\r
-/**\r
-*\r
-* Main function to call the example.  This function is not included if the\r
-* example is generated from the TestAppGen test tool.\r
-*\r
-* @param    None.\r
-*\r
-* @return   XST_SUCCESS if succesful, otherwise XST_FAILURE.\r
-*\r
-* @note     None.\r
-*\r
-******************************************************************************/\r
-#ifndef TESTAPP_GEN\r
-int main(void)\r
-{\r
-    XStatus Status;\r
-\r
-    /*\r
-     * Run the UartLite self test example, specify the the Device ID that is\r
-     * generated in xparameters.h\r
-     */\r
-    Status = UartLiteSelfTestExample(UARTLITE_DEVICE_ID);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    return XST_SUCCESS;\r
-\r
-}\r
-#endif\r
-\r
-/*****************************************************************************/\r
-/**\r
-*\r
-* This function does a minimal test on the UartLite device and driver as a\r
-* design example. The purpose of this function is to illustrate\r
-* how to use the XUartLite component.\r
-*\r
-*\r
-* @param    DeviceId is the XPAR_<uartlite_instance>_DEVICE_ID value from\r
-*           xparameters.h.\r
-*\r
-* @return   XST_SUCCESS if succesful, otherwise XST_FAILURE.\r
-*\r
-* @note     None.\r
-*\r
-****************************************************************************/\r
-XStatus UartLiteSelfTestExample(Xuint16 DeviceId)\r
-{\r
-    XStatus Status;\r
-\r
-    /*\r
-     * Initialize the UartLite driver so that it is ready to use.\r
-     */\r
-    Status = XUartLite_Initialize(&UartLite, DeviceId);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    /*\r
-     * Perform a self-test to ensure that the hardware was built correctly.\r
-     */\r
-    Status = XUartLite_SelfTest(&UartLite);\r
-    if (Status != XST_SUCCESS)\r
-    {\r
-        return XST_FAILURE;\r
-    }\r
-\r
-    return XST_SUCCESS;\r
-}\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_LicensedCore.bmp b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_LicensedCore.bmp
deleted file mode 100644 (file)
index 739605f..0000000
Binary files a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_LicensedCore.bmp and /dev/null differ
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_closeBranch.gif b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_closeBranch.gif
deleted file mode 100644 (file)
index 554be66..0000000
Binary files a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_closeBranch.gif and /dev/null differ
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_openBranch.gif b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_openBranch.gif
deleted file mode 100644 (file)
index d9e7ef5..0000000
Binary files a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_openBranch.gif and /dev/null differ
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.css b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.css
deleted file mode 100644 (file)
index c1b40cf..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-       text.busintlabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-       
-       text.buslabel {
-               fill:        #CC3333;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-                       
-       text.iplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-               
-       text.iptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.portlabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.mmMHeader {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mmSHeader {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.proclabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   14pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.opblabel {
-               fill:        #339900;
-               stroke:      none;
-               font-size:   11pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.lmblabel {
-               fill:        #9999FF;
-               stroke:      none;
-               font-size:   11pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.dbglabel {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.iopnumb {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl
deleted file mode 100644 (file)
index f914153..0000000
+++ /dev/null
@@ -1,1211 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:output method="html"/>
-
-<xsl:include href="MdtXdsGen_HTMLIPSection.xsl"/>
-<xsl:include href="MdtXdsGen_HTMLMemoryMap.xsl"/>
-<xsl:include href="MdtXdsGen_HTMLTOCTree.xsl"/>
-
-<xsl:param name="DS_TYPE"      select="'NOFRAMES'"/>                   
-<xsl:param name="DS_PART"      select="'TOC_TREE'"/>                   
-
-<xsl:param name="DS_WIDTH"     select="850"/>                  
-<xsl:param name="DS_TOC_WIDTH" select="200"/>                  
-
-<xsl:param name="DS_FRAME_TOC"  select="'DS_TOC'"/>                    
-<xsl:param name="DS_FRAME_SELF" select="'_self'"/>                     
-<xsl:param name="DS_FRAME_MAIN" select="'DS_FMAIN'"/>                  
-
-<xsl:param name="DS_HTML_BLKD"    select="'ds_Blkd.html'"/>                    
-
-<xsl:param name="DS_HTML_MAIN"    select="'ds_Main.html'"/>
-<xsl:param name="DS_HTML_TOC"     select="'ds_TOC.html'"/>
-<xsl:param name="DS_HTML_TOCTREE" select="'ds_TOCTree.html'"/>
-
-<xsl:param name="DS_BLKD_NAME"   select="'system_blkd.jpg'"/>
-<xsl:param name="DS_BLKD_TYPE"   select="'svg'"/>
-<xsl:param name="DS_BLKD_WIDTH"  select="800"/>
-<xsl:param name="DS_BLKD_HEIGHT" select="600"/>
-
-<xsl:param name="DS_COL_OPB"     select="'#339900'"/>
-
-<xsl:param name="DS_COL_INFO"    select="'#2233FF'"/>
-<xsl:param name="DS_COL_ASH"     select="'#DEDEDE'"/>
-<xsl:param name="DS_COL_ASH1"    select="'#F0F0F8'"/>
-<xsl:param name="DS_COL_GREY"    select="'#BBBBBB'"/>
-<xsl:param name="DS_COL_LGRY"    select="'#F1F1F1'"/>
-<xsl:param name="DS_COL_XPRP"    select="'#810017'"/>
-<xsl:param name="DS_COL_RED"     select="'#FF1010'"/>
-<xsl:param name="DS_COL_GREEN"   select="'#33CC33'"/>
-<xsl:param name="DS_COL_BLACK"   select="'#000000'"/>
-<xsl:param name="DS_COL_WHITE"   select="'#FFFFFF'"/>
-
-<!--
-<xsl:param name="DS_COL_ATTR_RD"   select="'#FF5555'"/>
-<xsl:param name="DS_COL_ATTR_GREN" select="'#55FF55'"/>
-<xsl:param name="DS_COL_ATTR_BLE"  select="'#5555FF'"/>
--->
-
-<xsl:param name="DS_COL_ATTR_BUF"   select="'#FF5555'"/>
-<xsl:param name="DS_COL_ATTR_CLK"   select="'#55FF55'"/>
-<xsl:param name="DS_COL_ATTR_INT"   select="'#5555FF'"/>
-<xsl:param name="DS_COL_ATTR_RST"   select="'#FFCC00'"/>
-
-
-<xsl:param name="DS_COL_MODUSR" select="'#FFFFAA'"/>
-<xsl:param name="DS_COL_MODSYS" select="'#AAAAFF'"/>
-<xsl:param name="DS_COL_MODSYSNW" select="'#000099'"/>
-
-<!-- ======================= MAIN DATASHEET SECTION  =============================== -->
-<xsl:template match="EDKSYSTEM">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:call-template name="Write_Main"/>  
-       </xsl:if>
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:call-template name="Write_Frames"/>        
-       </xsl:if>
-</xsl:template>        
-
-<xsl:template name="Write_Frames">
-<!--   
-       <xsl:if test="$DS_PART='TOC'">
-               <xsl:call-template name="Write_TOC"/>   
-       </xsl:if>
--->    
-       
-       <xsl:if test="$DS_PART='TOC'">
-               <xsl:call-template name="Write_TOCTree"/>       
-       </xsl:if>
-       
-       <xsl:if test="$DS_PART='INDEX'">
-               <xsl:call-template name="Write_Index"/> 
-       </xsl:if>
-       
-       <xsl:if test="$DS_PART='MAIN'">
-               <xsl:call-template name="Write_Main"/>  
-       </xsl:if>
-       
-       <xsl:if test="$DS_PART='BLKD'">
-               <xsl:call-template name="Write_BLKD"/>  
-       </xsl:if>
-       
-</xsl:template>        
-
-<xsl:template name="Write_TOC">
-<HTML>
-<HEAD>
-       <TITLE>Table of Contents</TITLE>
-       <BASE target="{$DS_FRAME_MAIN}"/>
-</HEAD>
-
-       <!--Layout Table of contents   -->
-       <BODY class="main_body">
-               <xsl:call-template name="Layout_TOC"/>
-       </BODY>         
-       
-</HTML>
-</xsl:template>
-
-<xsl:template name="Write_Index">
-<HTML>
-<HEAD><TITLE>EDK Project Report</TITLE></HEAD>
-       <FRAMESET COLS="20%,80%" BORDER="0" FRAMESPACING="0">
-               <FRAME SRC="{$DS_HTML_TOC}"
-                  MARGINWIDTH="0" 
-                  MARINHEIGHT="0" 
-                  FRAMEBORDER="NO"
-                  BORDER="NO"
-                  NAME="{$DS_FRAME_TOC}"
-                  SCROLLING="YES"/>
-               <FRAME SRC="{$DS_HTML_MAIN}"
-                  MARGINWIDTH="0" 
-                  MARINHEIGHT="0"
-                  FRAMEBORDER="NO"
-                  BORDER="NO"
-                  NAME="{$DS_FRAME_MAIN}" 
-                  SCROLLING="YES"/>
-       </FRAMESET>
-</HTML>
-</xsl:template>        
-
-<xsl:template name="Write_BLKD">
-<HTML>
-       
-<HEAD><TITLE>Block Diagram</TITLE></HEAD>
-       
-<!--
-       <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
-       <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
-       <xsl:message> Embedded image type <xsl:value-of select="$DS_BLKD_TYPE"/></xsl:message>
-       <xsl:message> Embedded image width <xsl:value-of select="$DS_BLKD_WIDTH"/></xsl:message>
-       <xsl:message> Embedded image height <xsl:value-of select="$DS_BLKD_HEIGHT"/></xsl:message>
--->    
-       
-       <BODY class="main_body">
-               
-       <xsl:if test="$DS_BLKD_TYPE = 'svg'">
-               <EMBED src="{$DS_BLKD_NAME}" width="{$DS_BLKD_WIDTH}" height="{$DS_BLKD_HEIGHT}" type="image/svg+xml"/>
-       </xsl:if>
-       
-       <xsl:if test="not($DS_BLKD_TYPE = 'svg')">
-               <IMG SRC="{$DS_BLKD_NAME}" alt="BlockDiagram" width="{$DS_BLKD_WIDTH}" height="{$DS_BLKD_HEIGHT}" border="0" vspace="0" hspace="0"/>
-       </xsl:if>
-               <BR></BR>
-               <BR></BR>
-               <xsl:call-template name="Layout_ExternalPorts"/>
-               <BR></BR>
-       </BODY>         
-</HTML>
-</xsl:template>
-
-       
-<xsl:template name="Write_Main">
-<html>
-       <!--Layout head -->
-       <head>
-               <title>EDK PROJECT REPORT</title>
-               
-               <!--specify a css for the file -->
-           <meta http-equiv="PRAGMA" content="NO-CACHE"/>
-           <meta http-equiv="content-Type" content="text/html; charset=iso-8859-1"/>
-           
-       </head> 
-       
-       <body bgcolor="#FFFFFF">
-       
-               <!--Layout Table of contents   -->
-               <xsl:if test="not($DS_TYPE='FRAMES')">
-                       <xsl:call-template name="Layout_TOC"/>
-               </xsl:if>       
-               
-               <TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="1" cellspacing="0" cellpadding="3" border="0">
-               
-<!--  ==========================Overview Section ============== -->
-                       <TR></TR>
-                       <TR></TR>
-                       <TR></TR>
-                       <xsl:if test="$DS_TYPE='FRAMES'">
-                               <TD COLSPAN="1" ALIGN="LEFT">
-                                       <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>
-                               </TD>
-                               <TR></TR>
-                       </xsl:if>
-                       <TD COLSPAN="1" WIDTH="100%">
-                               <A name="_Overview"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Overview'"/>
-                               </xsl:call-template>    
-                               <BR></BR>
-                               <BR></BR>
-                               <xsl:call-template name="Layout_Overview"/>
-                       </TD>
-                       
-<!--  ==========================Block Diagram section ============== -->
-<!--
-       <xsl:message> Embedded image name <xsl:value-of select="$DS_BLKD_NAME"/></xsl:message>
--->    
-                       <TR></TR>
-                       <TD COLSPAN="1">
-                               <A name="_BlockDiagram"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Block Diagram'"/>
-                               </xsl:call-template>
-                               <BR></BR>
-                               <BR></BR>
-                               <IMG SRC="imgs/{$DS_BLKD_NAME}" alt="BlockDiagram" border="0" vspace="0" hspace="0"/>
-                       </TD>
-                       
-<!--                   
--->                    
-
-<!--  ========================== External Ports ======================= -->
-
-                       <TR></TR>
-                       <TD COLSPAN="1" WIDTH="100%">
-                               <A name="_ExternalPorts"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'External Ports'"/>
-                               </xsl:call-template>
-                               <BR></BR>
-                               <BR></BR>
-                               <xsl:call-template name="Layout_ExternalPorts"/>
-                       </TD>
-                       
-<!--  ========================== Memory Map Section ======================= -->
-<!---
-                       <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR']/MEMORYMAP">
-                               <TR></TR>
-                               <TD COLSPAN="1">
-                                       <A name="_MemoryMap"/>
-                                       <xsl:call-template name="Layout_NavigateHeader">
-                                               <xsl:with-param name="header_name" select="'MEMORY MAP'"/>
-                                       </xsl:call-template>
-                                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR']">
-                                               <xsl:sort select="@INSTANCE"/>
-                                               <xsl:call-template name="Layout_MemoryMap"/>
-                                       </xsl:for-each>
-                               </TD>
-                       </xsl:if>
--->            
-                       
-<!--  ========================== Processor Information Section ================== -->
-                       <TR></TR>
-                       <TD COLSPAN="1" WIDTH="100%">
-                               <A name="_Processor"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                               <xsl:with-param name="header_name" select="'Processors'"/>
-                               </xsl:call-template>
-                               <BR></BR>
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[((@MODCLASS='PROCESSOR') and (contains(@MODTYPE,'microblaze')))]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                                       
-                                       <xsl:for-each select="MODULES/MODULE[((@MODCLASS='PROCESSOR') and (contains(@MODTYPE,'ppc')))]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-                                       
-<!--                                           
-                       <TR></TR>
-                       <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                               <A name="_Debug"/>
-                                               <xsl:call-template name="Layout_NavigateHeader">
-                                                       <xsl:with-param name="header_name" select="'Debuggers'"/>
-                                               </xsl:call-template>
-                                               <BR></BR>
-                                               
-                                               <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                                               <xsl:sort select="@INSTANCE"/>
-                                                       <TR/>
-                                                       <TD COLSPAN="1" align="left">
-                                                               <xsl:call-template name="Layout_IPSection"/>
-                                                       </TD>
-                                               </xsl:for-each>
-                                       </xsl:if>
--->                                    
-                                       
-<!--                                           
-                                       <xsl:if test="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                                       <A name="_Intc"/>
-                                       <xsl:call-template name="Layout_NavigateHeader">
-                                               <xsl:with-param name="header_name" select="'Interrupt Controllers'"/>
-                                       </xsl:call-template>
-                                       <BR></BR>
-                                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                                                       <xsl:sort select="@INSTANCE"/>
-                                                               <TR/>
-                                                               <TD COLSPAN="1" align="left">
-                                                               <xsl:call-template name="Layout_IPSection"/>
-                                                               </TD>
-                                                       </xsl:for-each>
-                                               </TABLE>
-                                               
-                                       </xsl:if>
-                               </TABLE>
-                       </TD>
-                       
-                                               <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                                               <xsl:sort select="@INSTANCE"/>
-                                                       <TR/>
-                                                       <TD COLSPAN="1" align="left">
-                                                               <xsl:call-template name="Layout_IPSection"/>
-                                                       </TD>
-                                               </xsl:for-each>
--->                            
-
-<!--  ========================== Debugger Section ================== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_Debug"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Debuggers'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-               </xsl:if>       
-
-<!--  ========================== Interrupt Controllers Section ================== -->
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_Intc"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Interrupt Controllers'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-               </xsl:if>       
-                               
-
-<!--  ========================== Bus Information Section ================== -->
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_BusModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Busses'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[((@MODCLASS='BUS') or (@MODCLASS='BUS_ARBITER'))]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-                               
-<!--  ========================== Bridge Information Section ================== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='BUS_BRIDGE')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <BR></BR>
-                               <A name="_BridgeModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Bus Bridges'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='BUS_BRIDGE')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       
-                       </TD>
-                       </xsl:if>                                       
-                       
-<!--  ========================== Memory Information Section ============== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='MEMORY')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_MemoryModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Memory'"/>
-                               </xsl:call-template>    
-                               
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='MEMORY')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-                       </xsl:if>
-<!--  ========================== Memory Controller Information Section ============== -->
-                       <xsl:if test="MODULES/MODULE[(@MODCLASS='MEMORY_CNTLR')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_MemCntlrModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Memory Controllers'"/>
-                               </xsl:call-template>    
-                               
-                               <TABLE align="left" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='MEMORY_CNTLR')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>
-               </xsl:if>       
-                       
-<!--  ========================== Peripheral Information Section ============== -->
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='PERIPHERAL')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1" align="left">
-                               <A name="_Peripherals"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Peripherals'"/>
-                               </xsl:call-template>    
-                               <TABLE align="left" COLS="1" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PERIPHERAL')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>   
-               </xsl:if>       
-                       
-<!--  ========================== IP Information Section ====================== -->
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='IP')]">
-                       <TR></TR>               
-                       <TD COLSPAN="1" align="left">
-                               <A name="_IPModules"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'IP'"/>
-                               </xsl:call-template>    
-                               <BR></BR>
-                               <TABLE align="left" COLS="1" width="{$DS_WIDTH}" cellspacing="0" cellpadding="0" border="0">
-                                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='IP')]">
-                                       <xsl:sort select="@INSTANCE"/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD ROWSPAN="2"/><TR/>
-                                               <TD COLSPAN="1" align="left">
-                                                       <xsl:call-template name="Layout_IPSection"/>
-                                               </TD>
-                                       </xsl:for-each>
-                               </TABLE>
-                       </TD>   
-               </xsl:if>
-                       
-               <!--Timing Information section -->
-                       <TR></TR>               
-                       <TD COLSPAN="1">
-                               <A name="_TimingInfo"/>
-                               <xsl:call-template name="Layout_NavigateHeader">
-                                       <xsl:with-param name="header_name" select="'Timing Information'"/>
-                               </xsl:call-template>    
-                               <BR></BR>
-                               <BR></BR>
-                               <xsl:call-template name="Layout_TimingInfo"/>
-                       </TD>
-                       <TR></TR>
-                       <TD COLSPAN="1" align="left">
-                               <BR></BR>
-                               <BR></BR>
-                               <TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="3" cellspacing="0" cellpadding="0" border="0">
-                                       <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>
-                                       <TR></TR>
-                                       <TD COLSPAN="1" width="25%" align="left">
-                                               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TIMESTAMP"/></SPAN>
-                                       </TD>
-                                       <TD COLSPAN="2" width="75%" align="middle">
-                                               <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>
-                                               <BR></BR>
-                                               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">1-800-255-7778</SPAN>
-                                       </TD>
-                               </TABLE>
-                       </TD>
-                       
-                       
-               </TABLE>                
-</body>
-</html>
-
-</xsl:template>
-
-<!-- ======================= LAYOUT TABLE OF CONTENTS ====================================== -->
-<xsl:template name="Layout_TOC">
-       
-<xsl:variable name="toc_col_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_COL_LGRY"/>   
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_COL_WHITE"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_width_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_WIDTH"/>      
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_TOC_WIDTH"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_target_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_FRAME_SELF"/> 
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_FRAME_MAIN"/> 
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="trg_html_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="''"/>     
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_HTML_MAIN"/>  
-       </xsl:if>
-</xsl:variable>
-       
-       
-<A name="_TOC"/>
-<TABLE BGCOLOR="{$toc_col_}" WIDTH="{$toc_width_}" COLS="2" cellspacing="0" cellpadding="3" border="0">
-
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <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>
-       </xsl:if>
-       
-       <TR></TR>
-       <TD COLSPAN="1" width="40%" align="left">
-               <BR></BR>
-               <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>
-               
-               <BR></BR>
-               <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>
-               
-               <BR></BR>
-               <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>
-               
-<!--           
-               <BR></BR>
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR']/MEMORYMAP">
-                       <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>
-               </xsl:if>
--->            
-               
-               <BR></BR>
-               <xsl:variable name="proc_CNT" select="count(MODULES/MODULE[@MODCLASS = 'PROCESSOR'])"/>
-               <xsl:if test="$proc_CNT &gt; 1">
-                       <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>
-               </xsl:if>       
-               <xsl:if test="not($proc_CNT &gt; 1)">
-                       <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>
-               </xsl:if>       
-               
-               <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
-                       <xsl:sort select="@INSTANCE"/>
-                       <BR></BR>
-                       <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>
-                       <xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-                               <BR></BR>
-                               <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>
-                       </xsl:if>
-               </xsl:for-each>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                       <BR></BR>
-                       <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>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PROCESSOR_DEBUG']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <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>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                       <BR></BR>
-                       <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>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='INTERRUPT_CONTROLLER']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <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>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-                       <BR></BR>
-                       <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>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <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>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-                       <BR></BR>
-                       <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>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <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>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY']">
-                       <BR></BR>
-                       <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>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <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>
-                       </xsl:for-each>
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY_CONTROLLER']">
-                               <BR></BR>       
-                               <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>
-                               <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY_CONTROLLER']">
-                                       <xsl:sort select="@INSTANCE"/>
-                                       <BR></BR>
-                                       <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>
-                               </xsl:for-each>
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-                       <BR></BR>
-                       <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>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <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>
-                       </xsl:for-each>
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='IP']">
-                       <BR></BR>
-                       <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>
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='IP']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <BR></BR>
-                               <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>
-                       </xsl:for-each>
-               </xsl:if>                       
-               
-               <BR></BR>
-               <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>
-       </TD>
-       
-</TABLE>
-</xsl:template>
-<!-- ======================= END LAYOUT TABLE OF CONTENT =================================== -->
-
-<!-- ==============================  LAYOUT SNAPSHOT  ====================================== -->
-<xsl:template name="Layout_Overview">
-       
-<xsl:variable name="cnt_ip_"      select="count(MODULES/MODULE)"/>
-<xsl:variable name="cnt_proc_"    select="count(MODULES/MODULE[@MODCLASS = 'PROCESSOR'])"/>
-<xsl:variable name="cnt_busses_"  select="count(MODULES/MODULE[@MODCLASS = 'BUS'])"/>
-<TABLE width="{$DS_WIDTH}" valign="top" align="left" border="0" cellpadding="0" cellspacing="1" COLS="2" BGCOLOR="{$DS_COL_BLACK}"> 
-
-       <TD COLSPAN="2" ALIGN="middle" BGCOLOR="{$DS_COL_XPRP}">
-               <SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Overview</SPAN>
-       </TD>
-       <TR/>
-       
-       <xsl:if test="@TIMESTAMP">
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Generated on</SPAN>
-               </TD>
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TIMESTAMP"/></SPAN>
-               </TD>
-               <TR></TR>
-       </xsl:if>       
-       
-       <xsl:if test="@PROJECTSRC">
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Source</SPAN>
-               </TD>
-               <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-<!--                           
-                               <A HREF="{@PROJECTSRC}" style="text-decoration:none; color:{$DS_COL_XPRP}"><xsl:value-of select="@PROJECTSRC"/></A>
--->                            
-                               <xsl:value-of select="@PROJECTSRC"/>
-                       </SPAN>
-               </TD>
-               <TR></TR>
-       </xsl:if>       
-
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">EDK Version</SPAN>
-       </TD>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <xsl:if test="@EDKVERSION">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@EDKVERSION"/></SPAN>
-               </xsl:if>
-               <xsl:if test="not(@EDKVERSION)">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">NA</SPAN>
-               </xsl:if>
-       </TD>
-       <TR/>
-
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">FPGA Family</SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <xsl:if test="@ARCH">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@ARCH"/></SPAN>
-               </xsl:if>
-               <xsl:if test="not(@ARCH)">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 10px Verdana,Arial,Helvetica,sans-serif">NA</SPAN>
-               </xsl:if>
-       </TD>
-       <TR/>
-
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">Device</SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <xsl:if test="@PART">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@PART"/></SPAN>
-               </xsl:if>
-               <xsl:if test="not(@PART)">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">-</SPAN>
-               </xsl:if>
-       </TD>
-       <TR/>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: Normal 12px Verdana,Arial,Helvetica,sans-serif"># IP Instantiated </SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_ip_"/></SPAN>
-       </TD>
-       <TR/>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"># Processors </SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_proc_"/></SPAN>
-       </TD>
-       <TR/>
-       
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="left">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"># Busses </SPAN>
-       </TD>
-       <TD COLSPAN="1" BGCOLOR="{$DS_COL_WHITE}" align="middle">
-               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$cnt_busses_"/></SPAN>
-       </TD>
-       <TR/>
-       
-       
-</TABLE>
-
-</xsl:template>
-
-<!-- ==============================  END LAYOUT SNAPSHOT  =================================== -->
-
-<!-- ==============================  LAYOUT INTRODUCTION  =================================== -->
-<xsl:template name="Layout_Introduction">
-</xsl:template>
-<!-- ==============================  END INTRODUCTION    ==================================== -->
-
-<!-- ==============================  External Ports      ==================================== -->
-<xsl:template name="Layout_ExternalPorts">
-       
-       <xsl:variable name="gpin_CNT_"  select="count(EXTERNALPORTS/PORT)"/>
-       <xsl:variable name="ipin_CNT_"  select="count(EXTERNALPORTS/PORT[@DIR='I'])"/>
-       <xsl:variable name="opin_CNT_"  select="count(EXTERNALPORTS/PORT[@DIR='O'])"/>
-       <xsl:variable name="iopin_CNT_" select="count(EXTERNALPORTS/PORT[@DIR='IO'])"/>
-       
-       <xsl:variable name="table_width_">
-               <xsl:if test="$gpin_CNT_ &gt;  16"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
-               <xsl:if test="$gpin_CNT_ &lt;= 16"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
-               
-       </xsl:variable>
-       
-       <xsl:variable name="left_extra_">
-               <xsl:if test="($gpin_CNT_ mod 2)     = 1">1</xsl:if>
-               <xsl:if test="not(($gpin_CNT_ mod 2) = 1)">0</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="num_left_" select="floor($gpin_CNT_ div 2) + $left_extra_"/>
-       <xsl:variable name="num_rhgt_" select="floor($gpin_CNT_ div 2)"/>
-       
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="8" cellspacing="1" cellpadding="1" border="0">
-               
-               <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>
-               <TR></TR>       
-               <TD COLSPAN="8" ALIGN="middle" bgcolor="{$DS_COL_WHITE}">
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               These are the external ports defined in the MHS file.
-                       </SPAN>
-               </TD>
-               
-               <TR></TR>
-               <TD COLSPAN="8" ALIGN="left" bgcolor="{$DS_COL_WHITE}">
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Attributes Key</SPAN>
-                       <BR></BR>
-                       <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>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_CLK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">CLK</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Clock ports, (SIGIS = CLK)&#160;</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">INTR</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Interrupt ports,(SIGIS = INTR)&#160;</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">RESET</SPAN>
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">&#160;&#160;indicates Reset ports, (SIGIS = RST)&#160;</SPAN>
-                       <BR></BR>
-                       <SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">BUF or REG</SPAN>
-                       <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>
-               </TD>
-               
-               <xsl:if test="$gpin_CNT_ &lt;= 16">
-                       
-               <TR></TR>
-               
-               <TD COLSPAN="7" ALIGN="left" bgcolor="{$DS_COL_WHITE}">
-                       
-               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-                       
-               <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>
-               <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>
-               <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>
-               <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>
-               <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>
-               <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>
-               
-               <xsl:for-each select="EXTERNALPORTS/PORT">
-                       <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
-                       
-<!--                   
-                       <xsl:message>The end of the string is <xsl:value-of select="substring(@GROUP,(string-length(@GROUP) -string-length(@GROUP)) + 1)"/></xsl:message>                       
-                       <xsl:message>The letter is <xsl:value-of select="$groupLetter_"/></xsl:message>                 
-                       <xsl:message>The color is <xsl:value-of select="$glb_bg_col_"/></xsl:message>                   
-                       <xsl:variable name="glb_bg_col_">
-                               <xsl:choose>
-                                       <xsl:when test="(@GROUP mod 2) = 1">
-                                               <xsl:value-of select="$DS_COL_ASH"/>
-                                       </xsl:when>             
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="$DS_COL_WHITE"/>
-                                       </xsl:otherwise>                
-                               </xsl:choose>   
-                       </xsl:variable> 
--->                    
-
-                       <xsl:variable name="glb_bg_col_">
-                               <xsl:call-template name="Group2Color">
-                                       <xsl:with-param name="group" select="@GROUP"/>
-                               </xsl:call-template>
-                       </xsl:variable> 
-                       
-                       <TR></TR>       
-                       <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
-                               <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>
-                       </TD>
-                       <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>
-                       <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>
-                       <xsl:if test="@MSB and @LSB">
-                               <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>
-                       </xsl:if>                       
-                       <xsl:if test="not(@MSB and @LSB)">
-                               <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>
-                       </xsl:if>                       
-                       <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>
-                       <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
-                               <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>
-                               <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>
-                               <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>
-                               <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>
-                               <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>
-                       </TD>
-               </xsl:for-each>
-               
-               </TABLE>
-               </TD>
-               </xsl:if>       
-               
-               <xsl:if test="$gpin_CNT_ &gt; 16">
-                       
-                       <TR></TR>       
-                       
-                       <TD COLSPAN="3" WIDTH="49%">
-                               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-                                       <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>
-                                       <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>
-                                       <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>
-                                       <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>
-                                       <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>
-                                       <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>
-                       
-                                       <xsl:for-each select="EXTERNALPORTS/PORT">
-                                       <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
-                                       
-                                       <xsl:if test="position() &lt;= $num_left_">
-                                       
-                                               <xsl:variable name="glb_bg_col_">
-                                                       <xsl:call-template name="Group2Color">  
-                                                               <xsl:with-param name="group" select="@GROUP"/>
-                                                       </xsl:call-template>            
-                                               </xsl:variable> 
-<!--
-                                               <xsl:message>NAME: <xsl:value-of select="@NAME"/></xsl:message>                                         
-                                               <xsl:message>SIGIS: <xsl:value-of select="@SIGIS"/></xsl:message>                                               
--->    
-                                           
-                                               <TR></TR>       
-                                               <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
-                                                       <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>
-                                               </TD>
-                                               <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>
-                                               <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>
-                                               <xsl:if test="@MSB and @LSB">
-                                                       <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>
-                                               </xsl:if>                       
-                                               <xsl:if test="not(@MSB and @LSB)">
-                                                       <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>
-                                               </xsl:if>                       
-                                               <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>
-                                               <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
-                                                       <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>
-                                                       <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>
-                                                       <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>
-                                                       <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>
-                                                       <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>
-                                               </TD>
-                                       </xsl:if>       
-                                       </xsl:for-each>
-
-                                       
-                               </TABLE>        
-                       </TD>   
-                       
-                       <TD COLSPAN="1" WIDTH="2%" BGCOLOR="{$DS_COL_GREY}">
-                               <SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN>
-                       </TD> 
-                       
-                       <TD COLSPAN="3" WIDTH="49%">
-                               
-                               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-                                       <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>
-                                       <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>
-                                       <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>
-                                       <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>
-                                       <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>
-                                       <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>
-                                       
-                                       <xsl:for-each select="EXTERNALPORTS/PORT">
-                                       <xsl:sort data-type="number" select="@INDEX" order = "ascending"/>
-                                       
-                                       <xsl:if test="position() &gt; $num_left_">
-<!--                                   
-                                               <xsl:variable name="glb_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="(@GROUP mod 2) = 1">
-                                                                       <xsl:value-of select="$DS_COL_ASH"/>
-                                                               </xsl:when>             
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable> 
--->                                            
-                                               
-                                               <xsl:variable name="glb_bg_col_">
-                                                       <xsl:call-template name="Group2Color">  
-                                                               <xsl:with-param name="group" select="@GROUP"/>
-                                                       </xsl:call-template>            
-                                               </xsl:variable> 
-                       
-                                               <TR></TR>       
-                                               <TD COLSPAN="1" width="5%"  align="left"   bgcolor="{$glb_bg_col_}">
-                                                       <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>
-                                               </TD>
-                                               <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>
-                                               <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>
-                                               
-                                               <xsl:if test="@MSB and @LSB">
-                                                       <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>
-                                               </xsl:if>                       
-                                               <xsl:if test="not(@MSB and @LSB)">
-                                                       <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>
-                                               </xsl:if>                       
-                                               <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>
-                                               <TD COLSPAN="2" width="25%" align="left" bgcolor="{$glb_bg_col_}">
-                                                       <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>
-                                                       <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>
-                                                       <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>
-                                                       <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>
-                                                       <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>
-                                               </TD>
-                                       </xsl:if>       
-                                       </xsl:for-each>
-                                       
-                                       <xsl:if test="$left_extra_ &gt; 0">
-                                               <TR></TR>       
-                                               <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>
-                                       </xsl:if>
-                                       
-                               </TABLE>        
-                               
-                       </TD>   
-       
-               </xsl:if> 
-               
-       </TABLE>                
-
-</xsl:template>
-
-<xsl:template name="Group2Color">
-
-       <xsl:param name="group"  select="'A'"/>
-               
-       <xsl:variable name="letter">
-               <xsl:value-of select="substring($group,(string-length($group) -string-length($group)) + 1)"/>
-       </xsl:variable>
-       
-       <xsl:choose>
-               <xsl:when test="$group = 'GLB'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               
-               <xsl:when test="$letter = 'A'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'C'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'E'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'G'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'I'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'K'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'M'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'O'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'Q'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'S'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'U'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'W'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               <xsl:when test="$letter = 'Y'"><xsl:value-of select="$DS_COL_ASH"/></xsl:when>
-               
-               <xsl:when test="$letter = 'B'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'D'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'F'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'H'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'J'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'L'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'N'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'P'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'R'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'T'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'V'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'X'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               <xsl:when test="$letter = 'Z'"><xsl:value-of select="$DS_COL_WHITE"/></xsl:when>
-               
-               <xsl:otherwise>
-                       <xsl:value-of select="$DS_COL_WHITE"/>  
-               </xsl:otherwise>
-       </xsl:choose>
-</xsl:template>
-
-
-
-
-
-<xsl:template name="Layout_TimingInfo">
-       
-       <xsl:variable name="mtiming_CNT_" select="count(MODULES/MODULE/TIMING)"/>
-        
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{ceiling($DS_WIDTH div 2)}" COLS="5" cellspacing="1" cellpadding="1" border="1">
-               <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>
-               <TR></TR>       
-               <xsl:if test="$mtiming_CNT_ &lt; 1">
-                       <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       No clocks could be identified in the design. Run platgen to generate synthesis information.
-                               </SPAN>
-                       </TD>
-               </xsl:if>
-               <xsl:if test="$mtiming_CNT_ &gt; 0">
-                       <TD COLSPAN="5" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       These are the post synthesis clock frequencies. The critical frequencies are marked with
-                               </SPAN>
-                               <SPAN style="color:{$DS_COL_GREEN}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       green.
-                               </SPAN>
-                               <BR></BR>
-                               <SPAN style="color:{$DS_COL_RED}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       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.
-                               </SPAN>
-                       </TD>
-                       <TR></TR>
-                       <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>
-                       <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>
-                       <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>
-                       
-                       <xsl:for-each select="MODULES/MODULE/TIMING">
-                       <xsl:sort data-type="number" select="@MAXFREQ" order="ascending"/>
-                               <xsl:variable name="maxFreq_"  select="@MAXFREQ"/>
-                               <xsl:variable name="freqUnit_" select="@FREQUNITS"/>
-                               <xsl:variable name="freqCol_">
-                                       <xsl:if test="position() = 1">  
-                                               <xsl:value-of select="$DS_COL_GREEN"/>
-                                       </xsl:if>
-                                       <xsl:if test="not(position() = 1)">     
-                                               <xsl:value-of select="$DS_COL_BLACK"/>
-                                       </xsl:if>
-                               </xsl:variable>
-                               
-                               <xsl:for-each select="TIMECLK">
-                                       <TR></TR>
-                                       
-                                       <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_WHITE}">
-                                                       <A HREF="#_{../../@INSTANCE}" style="text-decoration:none">
-                                                               <SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="../../@INSTANCE"/></SPAN>
-                                                       </A>
-                                       </TD>
-                                       
-                                       <TD COLSPAN="2" width="40%" align="left" bgcolor="{$DS_COL_WHITE}">
-                                               <SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@SIGNAME"/>
-                                               </SPAN>
-                                       </TD>
-                                       
-                                       <TD COLSPAN="1" width="20%" align="left" bgcolor="{$DS_COL_WHITE}">
-                                               <SPAN style="color:{$freqCol_}; font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="$maxFreq_"/><xsl:value-of select="$freqUnit_"/>
-                                               </SPAN>
-                                       </TD>
-                                       
-                           </xsl:for-each>
-                       </xsl:for-each>
-               </xsl:if>
-               
-       </TABLE>        
-</xsl:template>
-
-<!-- ==============================  END GLOBAL PINOUT      ==================================== -->
-
-<xsl:template name="Layout_NavigateHeader">
-       <xsl:param name="header_name" select="HEADER"/>
-       <BR></BR>
-       <BR></BR>
-       <BR></BR>
-       <TABLE BGCOLOR="{$DS_COL_XPRP}" WIDTH="{$DS_WIDTH}" COLS="3" cellspacing="0" cellpadding="0" border="0">
-               <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>
-               <xsl:if test="$DS_TYPE='NOFRAMES'">
-                       <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>
-               </xsl:if>       
-               <xsl:if test="$DS_TYPE='FRAMES'">
-                       <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>
-               </xsl:if>       
-       </TABLE>
-</xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLIPSection.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLIPSection.xsl
deleted file mode 100644 (file)
index 4e7beaa..0000000
+++ /dev/null
@@ -1,611 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:output method="html"/>
-
-<!--
-<xsl:param name="DS_COL_OPB"    select="'#339900'"/>
-<xsl:param name="DS_COL_WHITE"   select="'#FFFFFF'"/>
-<xsl:param name="DS_COL_INFO"   select="'#2233FF'"/>
-<xsl:param name="DS_COL_BLACK"   select="'#000000'"/>
-<xsl:param name="DS_COL_GREY"   select="'#CCCCCC'"/>
-<xsl:param name="DS_COL_XPRP"   select="'#810017'"/>
-<xsl:param name="DS_COL_DOCLNK" select="'#FF9900'"/>
--->
-               
-<!-- ======================= MAIN PERIPHERAL SECTION =============================== -->
-<xsl:template name="Layout_IPSection">
-
-<TABLE BGCOLOR="{$DS_COL_WHITE}" WIDTH="{$DS_WIDTH}" COLS="4" cellspacing="0" cellpadding="0" border="0">
-       
-       <TD COLSPAN="4" width="5%" align="LEFT" valign="BOTTOM">
-               <A name="_{@INSTANCE}"/>
-               <xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if>             
-               <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 14px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN>
-               <xsl:if test="DESCRIPTION[(@TYPE = 'SHORT')]">
-                       <SPAN style="color:{$DS_COL_XPRP}; font: normal italic 12px Verdana,Arial,Helvetica,sans-serif">
-                               &#160;&#160;<xsl:value-of select="DESCRIPTION[(@TYPE = 'SHORT')]"/>
-                       </SPAN>
-               </xsl:if>
-               <BR></BR>
-               <xsl:if test="DESCRIPTION[(@TYPE = 'LONG')]">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: normal italic 12px Verdana,Arial,Helvetica,sans-serif">
-                               <xsl:value-of select="DESCRIPTION[(@TYPE = 'LONG')]" disable-output-escaping="yes"/>
-                       </SPAN>
-               </xsl:if>
-               <BR></BR>
-               <BR></BR>
-               <BR></BR>
-       </TD>   
-       
-       <TR></TR>
-       
-       <!-- Layout the Module information table-->
-       <TD COLSPAN="2" width="40%" align="LEFT" valign="TOP">
-               <IMG SRC="imgs/{@INSTANCE}.jpg" alt="{@INSTANCE} IP Image" border="0" vspace="0" hspace="0"/>
-       </TD>
-       <TD COLSPAN="2" width="60%" align="MIDDLE" valign="TOP">
-               <xsl:call-template name="Peri_PortListTable"/>
-               <BR></BR>
-               <BR></BR>
-       </TD>
-       
-       <TR></TR>
-                               
-       <TD COLSPAN="4" width="100%" align="LEFT" valign="BOTTOM">
-               <xsl:call-template name="Peri_InfoTable"/>
-       </TD>
-       
-<!--   
-       <TD COLSPAN="1" width="5%" align="LEFT"     valign="BOTTOM">
-               <SPAN style="color:{$DS_COL_XPRP}; font: bold normal 16px Verdana,Arial,Helvetica,sans-serif">&#8970;</SPAN>
-       </TD>
-       <TD COLSPAN="2" width="90%" align="MIDDLE"  valign="BOTTOM">
-               <SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN>
-       </TD>
-       <TD COLSPAN="1" width="5%" align="RIGHT"    valign="BOTTOM">
-               <SPAN style="color:{$DS_COL_XPRP}; font: bold normal 16px Verdana,Arial,Helvetica,sans-serif">&#8971;</SPAN>
-       </TD>
--->    
-</TABLE>       
-
-<BR></BR>
-<BR></BR>
-
-</xsl:template>
-
-<!-- ======================= PERIHERAL TABLE PARTS   =============================== -->
-<!-- Layout the Module's Information table -->
-<xsl:template name="Peri_InfoTable">
-       
-       <xsl:variable name="mhsParamCNT_" select="count(PARAMETER)"/>
-       
-       <xsl:variable name="table_is_split_">
-               <xsl:if test="$mhsParamCNT_     &gt;  10">1</xsl:if>
-               <xsl:if test="not($mhsParamCNT_ &gt;  10)">0</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="table_width_">
-               <xsl:if test="$mhsParamCNT_  &gt;  10"><xsl:value-of select="$DS_WIDTH"/></xsl:if>
-               <xsl:if test="$mhsParamCNT_  &lt;= 10"><xsl:value-of select="ceiling($DS_WIDTH div 2)"/></xsl:if>
-       </xsl:variable>
-       
-       
-       <xsl:variable name="left_extra_">
-               <xsl:if test="($mhsParamCNT_ mod 2)     = 1">1</xsl:if>
-               <xsl:if test="not(($mhsParamCNT_ mod 2) = 1)">0</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="num_left_" select="floor($mhsParamCNT_ div 2) + $left_extra_"/>
-       <xsl:variable name="num_rhgt_" select="floor($mhsParamCNT_ div 2)"/>
-       
-       <xsl:variable name="mdr_main_col_">
-               <xsl:if test="$mhsParamCNT_  &gt;  10">4</xsl:if>
-               <xsl:if test="$mhsParamCNT_  &lt;= 10">2</xsl:if>
-       </xsl:variable>
-       
-       <xsl:variable name="mdr_othr_col_">
-               <xsl:if test="$mhsParamCNT_  &gt;  10">2</xsl:if>
-               <xsl:if test="$mhsParamCNT_  &lt;= 10">1</xsl:if>
-       </xsl:variable>
-       
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="5" cellspacing="1" cellpadding="1" border="1">
-               <TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">General</SPAN></TD>
-               <TR></TR>
-               <TD COLSPAN="2" WIDTH="40%" align="middle"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">IP Core</SPAN></TD>
-               <TD COLSPAN="3" WIDTH="60%" align="middle"  bgcolor="{$DS_COL_WHITE}">
-                       <xsl:if test="@DOC_IP">
-                               <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 10px Verdana,Arial,Helvetica,sans-serif">
-                                       <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"><xsl:value-of select="@MODTYPE"/></A>
-                               </SPAN>
-                       </xsl:if>
-                       <xsl:if test="not(@DOC_IP)">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">
-                                       <xsl:value-of select="@MODTYPE"/>
-                               </SPAN>
-                       </xsl:if>
-               </TD>
-               
-               <TR></TR>       
-               
-               <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Version</SPAN></TD>
-               <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@HWVERSION"/></SPAN></TD>
-               
-               <xsl:if test="@DOC_DRIVER">
-                       <TR></TR>       
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Driver</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 10px Verdana,Arial,Helvetica,sans-serif">
-                                       <A HREF="{@DOC_DRIVER}" style="text-decoration:none; color:{$DS_COL_XPRP}">API</A>
-                               </SPAN>
-                       </TD>   
-               </xsl:if>       
-               
-               <TR></TR>       
-               
-               <xsl:if test="LICENSEINFO">
-                       <TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">License</SPAN></TD>
-                       
-                       <TR></TR>
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">TYPE</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@TYPE"/></SPAN>
-                       </TD>   
-<!--                   
-                       <TR></TR>
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">CURRENT STATUS</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@STATE"/></SPAN>
-                       </TD>   
--->                    
-                       <xsl:if test="LICENSEINFO/@EXPIRESON">
-                               <TR></TR>
-                               <TD COLSPAN="2" WIDTH="40%" align="middle"  bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">EXPIRES ON</SPAN></TD>
-                               <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_WHITE}">
-                                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="LICENSEINFO/@EXPIRESON"/></SPAN>
-                               </TD>   
-                       </xsl:if>
-               </xsl:if>       
-               
-               <xsl:if test="$mhsParamCNT_ &gt; 0">
-               <TR></TR>       
-               <TD COLSPAN="5" WIDTH="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Parameters</SPAN></TD>
-                       <TR></TR>
-                       <TD COLSPAN="5" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       These are parameters set for this module.
-                                       <xsl:if test="@DOC_IP">
-                                                Refer to the IP <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_XPRP}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif"> documentation </SPAN></A>for complete information about module parameters.
-                                       </xsl:if>
-                               </SPAN>
-                               <BR></BR>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                               Parameters marked with 
-                               </SPAN>
-                               <SPAN style="color:#FFBB00; font: bold 9px Verdana,Arial,Helvetica,sans-serif">yellow</SPAN>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       indicate parameters set by the user.
-                               </SPAN>
-                               <BR></BR>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                               Parameters marked with 
-                               </SPAN>
-                               <SPAN style="color:{$DS_COL_MODSYSNW}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">blue</SPAN>
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       indicate parameters set by the system.
-                               </SPAN>
-                       </TD>
-                       
-               <xsl:if test="$mhsParamCNT_ &lt;= 10">
-                       <TR></TR>       
-                       <TD COLSPAN="2" WIDTH="40%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
-                       <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
-               
-                       <xsl:for-each select="PARAMETER">
-                               <xsl:sort select="@INDEX" data-type="number"/>
-                                       <xsl:variable name="name_bg_col_">
-                                               <xsl:choose>
-                                                       
-                                                       <xsl:when test="@CHANGEDBY='USER'">
-                                                               <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                       </xsl:when>             
-                                                               
-                                                       <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                               <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                       </xsl:when>             
-                                                       
-                                                       <xsl:when test="((position() - 1) mod 2) = 0">
-                                                               <xsl:value-of select="$DS_COL_ASH1"/>
-                                                       </xsl:when>             
-                                                       
-                                                       <xsl:otherwise>
-                                                               <xsl:value-of select="$DS_COL_WHITE"/>
-                                                       </xsl:otherwise>                
-                                               </xsl:choose>   
-                                       </xsl:variable>
-                                               
-                                       <xsl:variable name="value_bg_col_">
-                                               <xsl:choose>
-                                                       
-                                                       <xsl:when test="@CHANGEDBY='USER'">
-                                                               <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                       </xsl:when>             
-                                                               
-                                                       <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                               <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                       </xsl:when>     
-                                                       
-                                                       <xsl:when test="((position() - 1) mod 2) = 0">
-                                                               <xsl:value-of select="$DS_COL_ASH1"/>
-                                                       </xsl:when>             
-                                                       
-                                                       <xsl:otherwise>
-                                                               <xsl:value-of select="$DS_COL_WHITE"/>
-                                                       </xsl:otherwise>                
-                                                               
-                                               </xsl:choose>   
-                                       </xsl:variable>
-                                               
-                               <TR></TR>       
-                               <TD COLSPAN="2" WIDTH="40%" align="left"   bgcolor="{$name_bg_col_}">
-                                       <SPAN style="color:{$DS_COL_BLACK};  font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@NAME"/>
-                                       </SPAN>
-                                       <xsl:if test="DESCRIPTION">
-                                               <BR/>
-                                               <SPAN style="color:{$DS_COL_BLACK};  font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="DESCRIPTION"/>
-                                               </SPAN>
-                                       </xsl:if>       
-                               </TD>
-                               <TD COLSPAN="3" WIDTH="60%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
-                       </xsl:for-each>
-       </xsl:if>                       
-       
-       <xsl:if test="$mhsParamCNT_ &gt; 10">
-       <TR></TR>       
-       <TD COLSPAN="5" WIDTH="100%">
-       <TABLE BGCOLOR="{$DS_COL_GREY}" WIDTH="100%" COLS="5" cellspacing="0" cellpadding="0" border="0">
-               
-               <TD COLSPAN="2" WIDTH="49%">
-                       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="2" cellspacing="1" cellpadding="0" border="0">
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
-                               
-                               <xsl:for-each select="PARAMETER">
-                                       <xsl:sort select="@INDEX" data-type="number"/>
-                                       <xsl:if test="position() &lt;= $num_left_">     
-                                               
-                                               <xsl:variable name="name_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                               
-                                               <xsl:variable name="value_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                               
-                                       <TR></TR>       
-                                       <TD COLSPAN="1" WIDTH="50%" align="left"   bgcolor="{$name_bg_col_}">
-                                               <SPAN style="color:{$DS_COL_BLACK};  font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@NAME"/>
-                                               </SPAN>
-                                               <xsl:if test="DESCRIPTION">
-                                                       <BR/>
-                                                       <SPAN style="color:{$DS_COL_BLACK};  font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
-                                                               <xsl:value-of select="DESCRIPTION"/>
-                                                       </SPAN>
-                                               </xsl:if>       
-                                       </TD>
-                                       <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
-                               </xsl:if>
-                       </xsl:for-each>
-                       </TABLE>
-               </TD> 
-       
-               <TD COLSPAN="1" WIDTH="2%">
-                       <TABLE BGCOLOR="{$DS_COL_GREY}"  WIDTH="100%" COLS="1" cellspacing="0" cellpadding="0" border="0">
-                               <TD COLSPAN="1" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">&#160;</SPAN></TD>
-                       </TABLE>
-               </TD> 
-       
-               <TD COLSPAN="2" WIDTH="49%">
-                       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="100%" COLS="2" cellspacing="1" cellpadding="0" border="0">
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TD>
-                               <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TD>
-                               <xsl:for-each select="PARAMETER">
-                                       <xsl:sort select="@INDEX" data-type="number"/>
-                                       <xsl:if test="position() &gt; $num_left_">      
-                                               
-                                               <xsl:variable name="name_bg_col_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - $num_left_ - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                               
-                                               <xsl:variable name="value_bg_col_">
-                                                       <xsl:choose>
-                                                       
-                                                               <xsl:when test="@CHANGEDBY='USER'">
-                                                                       <xsl:value-of select="$DS_COL_MODUSR"/>
-                                                               </xsl:when>             
-                                                               
-                                                               <xsl:when test="@CHANGEDBY='SYSTEM'">
-                                                                       <xsl:value-of select="$DS_COL_MODSYS"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:when test="((position() - $num_left_ - 1) mod 2) = 0">
-                                                                       <xsl:value-of select="$DS_COL_ASH1"/>
-                                                               </xsl:when>             
-                                                       
-                                                               <xsl:otherwise>
-                                                                       <xsl:value-of select="$DS_COL_WHITE"/>
-                                                               </xsl:otherwise>                
-                                                       </xsl:choose>   
-                                               </xsl:variable>
-                                       <TR></TR>       
-                                       <TD COLSPAN="1" WIDTH="50%" align="left"   bgcolor="{$name_bg_col_}">
-                                               <SPAN style="color:{$DS_COL_BLACK};  font: normal 12px Verdana,Arial,Helvetica,sans-serif">
-                                                       <xsl:value-of select="@NAME"/>
-                                               </SPAN>
-                                               <xsl:if test="DESCRIPTION">
-                                                       <BR/>
-                                                       <SPAN style="color:{$DS_COL_BLACK};  font: bold italic 9px Verdana,Arial,Helvetica,sans-serif">
-                                                               <xsl:value-of select="DESCRIPTION"/>
-                                                       </SPAN>
-                                               </xsl:if>       
-                                       </TD>
-                                       <TD COLSPAN="1" WIDTH="50%" align="middle" bgcolor="{$value_bg_col_}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TD>
-                                       
-                               </xsl:if>
-                       </xsl:for-each>
-                       
-                       <xsl:if test="$left_extra_ &gt; 0">
-                               <TR></TR>       
-                               <TD COLSPAN="2" 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>
-                       </xsl:if>
-                       
-                       </TABLE>
-               </TD> 
-               
-       </TABLE>
-       </TD>   
-       </xsl:if>                       
-       </xsl:if>
-       </TABLE>
-<!--   
-               <BR></BR>       
--->            
-               <xsl:if test="(@MODCLASS = 'PROCESSOR') and MEMORYMAP">
-<!--                   
-                       <xsl:message>Found a memory map</xsl:message>
--->                    
-                       <xsl:call-template name="Layout_MemoryMap">
-                               <xsl:with-param name="table_width" select="$table_width_"/>
-                       </xsl:call-template>    
-               </xsl:if>
-<!--           
-               <BR></BR>
--->    
-               <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width_}" COLS="5" cellspacing="1" cellpadding="1" border="0">
-               <TD width="100%" COLSPAN="5" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Post Synthesis Device Utilization</SPAN></TD>
-               <xsl:choose>
-                       <xsl:when test="not(RESOURCES)">
-                               <TR></TR>
-                               <TD width="100%" COLSPAN="5" align="middle" bgcolor="{$DS_COL_WHITE}">
-                               <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       Device utilization information is not available for this IP. Run platgen to generate synthesis information.
-                               </SPAN>
-                               </TD>
-                       </xsl:when>     
-                       <xsl:otherwise>
-                               <TR></TR>
-                               <TD COLSPAN="2" width="55%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Resource Type</SPAN></TD>
-                               <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Used</SPAN></TD>
-                               <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Available</SPAN></TD>
-                               <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Percent</SPAN></TD>
-                               
-                               <xsl:for-each select="RESOURCES/RESOURCE">
-                                       <TR></TR>       
-                                       <TD COLSPAN="2" width="55%" align="left"   bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TYPE"/></SPAN></TD>
-                                       <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@USED"/></SPAN></TD>
-                                       <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TOTAL"/></SPAN></TD>
-                                       <TD COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@PERCENT"/></SPAN></TD>
-                               </xsl:for-each>
-                       </xsl:otherwise>
-               </xsl:choose>
-<!--           
-           <BR></BR>   
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"></SPAN></TD>
--->            
-       </TABLE>
-
-</xsl:template>
-
-<!-- Layout the Module's Port list table -->
-<xsl:template name="Peri_PortListTable">
-
-       
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{ceiling($DS_WIDTH div 2)}" COLS="7" cellspacing="1" cellpadding="1" border="0">
-               <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">PORT LIST</SPAN></TH>
-               <TR></TR>       
-               <TH COLSPAN="7" width="100%" align="left" bgcolor="{$DS_COL_WHITE}">
-                       <SPAN style="color:{$DS_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               The ports listed here are only those connected in the MHS file. 
-                               <xsl:if test="@DOC_IP">
-                                       Refer to the IP <A HREF="{@DOC_IP}" style="text-decoration:none; color:{$DS_COL_XPRP}"> <SPAN style="color:{$DS_COL_XPRP}; font: bold italic 9px Verdana,Arial,Helvetica,sans-serif"> documentation </SPAN> </A>for complete information about module ports.
-                               </xsl:if>
-                       </SPAN>
-               </TH>
-               <TR></TR>
-               <TH COLSPAN="1" width="5%"  align="left"   bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TH>
-               <TH COLSPAN="2" width="25%" align="left"   bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
-               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TH>
-               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TH>
-               <TH COLSPAN="2" width="50%" align="left"   bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIGNAL</SPAN></TH>
-               <xsl:for-each select="PORT[(not(@SIGNAME = '__NOC__') and not(@SIGNAME = '__DEF__') and (@INMHS))]">
-                       <xsl:sort data-type="number" select="@INDEX" order="ascending"/>
-                       <TR></TR>       
-                       <TD COLSPAN="1" width="5%"  align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK};   font: normal 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN></TD>
-                       <TD COLSPAN="2" width="25%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK};   font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                       <TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TD>
-                       
-                       <xsl:if test="@MSB and @LSB">
-                               <TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><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>
-                       </xsl:if>                       
-                       <xsl:if test="not(@MSB and @LSB)">
-                               <TD COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-                       </xsl:if>                       
-                       
-                       <TD COLSPAN="2" width="50%" align="left" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TD>
-               </xsl:for-each>
-               
-               <xsl:if test="BUSINTERFACE">
-                       <xsl:variable name="instance_"><xsl:value-of select="@INSTANCE"/></xsl:variable>
-                       <TR></TR>
-                       <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
-                               <SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Bus Interfaces</SPAN>
-                       </TH>   
-                       <TR></TR>
-                       
-                       <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MASTERSHIP</SPAN></TH>
-                       <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">STD</SPAN></TH>
-                       <TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BUS</SPAN></TH>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">P2P</SPAN></TH>
-                       <xsl:for-each select="BUSINTERFACE[(not(@BUSNAME = '__NOC__') and not(@BUSNAME = '__DEF__'))]">
-                       <xsl:sort select="@BIFRANK"/>
-                                       
-                               <xsl:variable name="busname_"><xsl:value-of select="@BUSNAME"/></xsl:variable>
-                                       
-                               <xsl:variable name="p2pname_">
-                                       <xsl:choose>
-                                               <xsl:when test="(@BUSSTD and not((@BUSSTD='PLB') or (@BUSSTD='OPB')) or (@BIFRANK='TRANSPARENT'))">
-                                                       <xsl:value-of select="../../MODULE[not(@INSTANCE = $instance_) and BUSINTERFACE[(@BUSNAME = $busname_)]]/@INSTANCE"/>
-                                               </xsl:when>
-                                               <xsl:when test="not(@BUSSTD) or (@BUSSTD='OPB') or (@BUSSTD='PLB') or (@BIFRANK='TRANSPARENT')">NA</xsl:when>
-                                  </xsl:choose>
-                               </xsl:variable>                                 
-                               
-                               <xsl:variable name="bus_std_">
-                                       <xsl:if test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>
-                                       </xsl:if>
-                                       <xsl:if test="not(@BUSSTD)">NA</xsl:if>
-                               </xsl:variable>                                 
-                               
-                               
-                               <TR></TR>
-                               <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BIFRANK"/></SPAN></TH>
-                               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TH>
-                               <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$bus_std_"/></SPAN></TH>
-                               <xsl:if test="$bus_std_ = 'NA'">
-                                       <TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BUSNAME"/></SPAN></TH>
-                               </xsl:if>       
-                               <xsl:if test="not($bus_std_ = 'NA')">
-                                       <TH COLSPAN="3" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{@BUSNAME}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BUSNAME"/></SPAN></A></TH>
-                               </xsl:if>       
-                               <xsl:if test="$p2pname_ = 'NA'">
-                                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$p2pname_"/></SPAN></TH>
-                               </xsl:if>
-                               <xsl:if test="not($p2pname_ = 'NA')">
-                                   <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{$p2pname_}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$p2pname_"/></SPAN></A></TH>
-                               </xsl:if>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="@MODCLASS='BUS'">
-                       <xsl:variable name="instance_"><xsl:value-of select="@INSTANCE"/></xsl:variable>
-                       <TR></TR>
-                       <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}"><SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Bus Connections</SPAN></TH> 
-                       <TR></TR>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">TYPE</SPAN></TH>
-                       <TH COLSPAN="5" width="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
-                       <TH COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BIF</SPAN></TH>
-                       <xsl:for-each select="../MODULE/BUSINTERFACE[(@BUSNAME = $instance_)]">
-                               <xsl:sort select="@BIFRANK"/>
-                               <xsl:variable name="buscName_"><xsl:value-of select="../@INSTANCE"/></xsl:variable>
-                               <TR></TR>
-                               <TD COLSPAN="1" width="25%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BIFRANK"/></SPAN></TD>
-                               <TD COLSPAN="5" width="50%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{$buscName_}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: italic 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$buscName_"/></SPAN></A></TD>
-                               <TD COLSPAN="1" width="25%" align="left"   bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TD>
-                       </xsl:for-each>
-               </xsl:if>
-               
-               <xsl:if test="INTERRUPTSRCS">
-                       <TR></TR>
-                       <TH COLSPAN="7" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
-                               <SPAN style="color:{$DS_COL_WHITE}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Interrupt Priorities</SPAN>
-                               <TR></TR>
-                               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Priority</SPAN></TH>
-                               <TH COLSPAN="3" width="55%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TH>
-                               <TH COLSPAN="3" width="35%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TH>
-                               <TR></TR>
-                               <xsl:for-each select="INTERRUPTSRCS/INTRSRC">
-                               <xsl:sort data-type="number" select="@PRIORITY" order="ascending"/>
-                               
-                                       <xsl:variable name="intrsrc_"><xsl:value-of select="@SIGNAME"/></xsl:variable>
-                                       <xsl:variable name="intrpri_"><xsl:value-of select="@PRIORITY"/></xsl:variable>
-                                       
-                                       <xsl:for-each select="../../../MODULE[PORT[((@DIR='O') and (@SIGNAME = $intrsrc_))]]">
-                                               <TR></TR>
-                                               <TH COLSPAN="1" width="10%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$intrpri_"/></SPAN></TH>
-                                               <TH COLSPAN="3" width="55%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="$intrsrc_"/></SPAN></TH>
-                                               <TH COLSPAN="3" width="35%" align="middle" bgcolor="{$DS_COL_WHITE}"><A HREF="#_{@INSTANCE}" style="text-decoration:none"><SPAN style="color:{$DS_COL_XPRP}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN></A></TH>
-                                       </xsl:for-each>
-                               </xsl:for-each>
-                       </TH>
-               </xsl:if>
-               
-       </TABLE>        
-       
-</xsl:template>
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLMemoryMap.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLMemoryMap.xsl
deleted file mode 100644 (file)
index 96e9f0c..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<!DOCTYPE stylesheet [
-       <!ENTITY HEXUPPER "ABCDEFxx0123456789">
-       <!ENTITY HEXLOWER "abcdefxX0123456789">
-       <!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
-]>     
-<!--
--->
-
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:output method="html"/>
-                       
-<!-- ======================= MAIN MEMORY MAP SECTION =============================== -->
-<xsl:template name="Layout_MemoryMap">
-<xsl:param name="table_width" select="600"/>
-
-<xsl:variable name="procName" select="@INSTANCE"/>
-<!--
-<BR></BR>
-<BR></BR>
--->
-       <xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-               
-       <TABLE BGCOLOR="{$DS_COL_BLACK}" WIDTH="{$table_width}" COLS="5" cellspacing="1" cellpadding="2" border="0">
-               <TR></TR>       
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_XPRP}">
-                       <A name="_{@INSTANCE}_MemoryMap"/>
-                       <SPAN style="color:{$DS_COL_WHITE}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MEMORY MAP</SPAN>
-               </TD>
-               <TR></TR>
-               <TD COLSPAN="5" width="100%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_INFO}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">D=DATA ADDRESSABLE &#160;&#160; I=INSTRUCTION ADDRESSABLE</SPAN></TD>
-               <TR></TR>
-               <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">D</SPAN></TD>
-               <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-               <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">BASE</SPAN></TD>
-               <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">HIGH</SPAN></TD>
-               <TD COLSPAN="1" width="50%" align="middle" bgcolor="{$DS_COL_GREY}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">MODULE</SPAN></TD>
-               <TR></TR>
-               
-               <xsl:for-each select="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-                       <xsl:sort data-type="number" select="@BASEVALUE" order="ascending"/>
-                       <TR></TR>
-                               <xsl:variable name="isdata">
-                                       <xsl:if test="@IS_DATA='TRUE'">&#9632;</xsl:if> 
-                                       <xsl:if test="not(@IS_DATA='TRUE')">&#160;</xsl:if>     
-                               </xsl:variable>
-                       
-                       <xsl:variable name="isinst">
-                               <xsl:if test="@IS_INSTRUCTION='TRUE'">
-                                       &#9632;
-                               </xsl:if>       
-                               <xsl:if test="not(@IS_INSTRUCTION='TRUE')">
-                                       &#160;
-                               </xsl:if>       
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bupper" select ="@BASE"/>
-                       <xsl:variable name="hupper" select ="@HIGH"/>
-                       <xsl:variable name="iname"  select ="@INSTANCE"/>
-                       <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,sans-serif"><xsl:value-of select="$isdata"/></SPAN></TD>
-                       <TD COLSPAN="1" width="5%"  align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: bold 14px Verdana,Arial,sans-serif"><xsl:value-of select="$isinst"/></SPAN></TD>
-                       <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="translate($bupper,&HEXU2L;)"/></SPAN></TD>
-                       <TD COLSPAN="1" width="20%" align="middle" bgcolor="{$DS_COL_WHITE}"><SPAN style="color:{$DS_COL_BLACK}; font: normal 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="translate($hupper,&HEXU2L;)"/></SPAN></TD>
-                       <TD COLSPAN="1" width="50%" align="right"  bgcolor="{$DS_COL_WHITE}">
-                               <A HREF="#_{$iname}" style="text-decoration:none">
-                               <SPAN style="color:{$DS_COL_BLACK}; vertical-align:sub; font: normal 8px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@BASENAME"/>:<xsl:value-of select="@HIGHNAME"/></SPAN><SPAN style="color:{$DS_COL_XPRP}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INSTANCE"/></SPAN>
-                               </A>
-                       </TD>
-               </xsl:for-each>
-       </TABLE>                        
-       </xsl:if>
-</xsl:template>
-
-<xsl:template name="FindCorrectLocation">
-       <xsl:param name="ranges"/>
-       <xsl:param name="location"/>
-       <xsl:param name="instname"/>
-       
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLPeripherals.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLPeripherals.xsl
deleted file mode 100644 (file)
index c3f6b32..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:output method="html"/>
-                       
-<xsl:param name="PERI_COL_OPB"    select="'#339900'"/>
-<xsl:param name="PERI_COL_WHIT"   select="'#FFFFFF'"/>
-<xsl:param name="PERI_COL_INFO"   select="'#2233FF'"/>
-<xsl:param name="PERI_COL_BLCK"   select="'#000000'"/>
-<xsl:param name="PERI_COL_GREY"   select="'#CCCCCC'"/>
-<xsl:param name="PERI_COL_XPRP"   select="'#810017'"/>
-<xsl:param name="PERI_COL_DOCLNK" select="'#FF9900'"/>
-               
-<!-- ======================= MAIN PERIPHERAL SECTION =============================== -->
-<xsl:template name="Layout_Peripherals">
-<BR></BR>
-<BR></BR>
-<BR></BR>
-<BR></BR>
-<A name="_{@INSTANCE}"/>
-<SPAN style="color:{$DS_COL_BLCK}; font: bold italic 12px Verdana,Arial,Helvetica,sans-serif">
-       <xsl:value-of select="@INSTANCE"/>
-       <BR></BR>
-       ________________________________________________
-</SPAN>
-<BR></BR>
-<BR></BR>
-<TABLE BGCOLOR="{$PERI_COL_WHIT}" WIDTH="800" COLS="2" cellspacing="0" cellpadding="0" border="0">
-       <!-- Layout the Module information table-->
-       <TD COLSPAN="1" width="50%" align="LEFT" valign="TOP">
-                       <TABLE BGCOLOR="{$PERI_COL_WHIT}" WIDTH="400" COLS="2" cellspacing="0" cellpadding="0" border="0">
-                       <TD COLSPAN="1" width="50%" align="MIDDLE" valign="TOP">
-                               <IMG SRC="imgs/{@INSTANCE}.jpg" alt="{@INSTANCE} IP Image" border="0" vspace="10" hspace="0"/>
-                       </TD>
-                       <TR></TR>
-                       <TD COLSPAN="1" width="50%" align="LEFT" valign="TOP">
-                               <xsl:call-template name="Peri_PinoutTable"/>
-                       </TD>
-                </TABLE>
-       </TD>
-                               
-       <TD COLSPAN="1" width="50%" align="RIGHT" valign="BOTTOM">
-               <xsl:call-template name="Peri_InfoTable"/>
-       </TD>
-</TABLE>       
-</xsl:template>
-
-<!-- ======================= PERIHERAL TABLE PARTS   =============================== -->
-<!-- Layout the Module's Information table -->
-<xsl:template name="Peri_InfoTable">
-       <TABLE BGCOLOR="{$PERI_COL_BLCK}" WIDTH="410" COLS="5" cellspacing="1" cellpadding="2" border="0">
-               <TH COLSPAN="5" width="100%" align="middle" bgcolor="{$PERI_COL_XPRP}"><SPAN style="color:{$PERI_COL_WHIT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">General</SPAN></TH>
-               <TR></TR>
-               <TH COLSPAN="3" width="60%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Type</SPAN></TH>
-               <TH COLSPAN="2" width="40%" align="middle" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><A HREF="docs/{@MODTYPE}.pdf" style="text-decoration:none; color:{$PERI_COL_XPRP}"><xsl:value-of select="@MODTYPE"/></A></SPAN></TH>
-               <TR></TR>       
-               <TH COLSPAN="3" width="60%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Version</SPAN></TH>
-               <TH COLSPAN="2" width="40%" align="middle" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@HWVERSION"/></SPAN></TH>
-               <TR></TR>       
-               <TH COLSPAN="5" width="100%" align="middle" bgcolor="{$PERI_COL_XPRP}"><SPAN style="color:{$PERI_COL_WHIT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Parameters</SPAN></TH>
-               
-               <TR></TR>
-               <TH COLSPAN="5" width="100%" align="left" bgcolor="{$PERI_COL_WHIT}">
-                       <SPAN style="color:{$PERI_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               The paramaters listed here are only those set in the MHS file. Refer to the IP
-                                       <A HREF="docs/{@MODTYPE}.pdf" style="text-decoration:none; color:{$PERI_COL_XPRP}"> documentation </A>for complete information about module parameters.
-                       </SPAN>
-               </TH>
-               <TR></TR>
-               <TH COLSPAN="3" width="60%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Name</SPAN></TH>
-               <TH COLSPAN="2" width="40%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Value</SPAN></TH>
-               <xsl:for-each select="PARAMETER">
-                       <TR></TR>       
-                       <TH COLSPAN="3" width="60%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TH>
-                       <TH COLSPAN="2" width="40%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@VALUE"/></SPAN></TH>
-               </xsl:for-each>
-               <TR></TR>
-               <TH COLSPAN="5" width="100%" align="middle" bgcolor="{$PERI_COL_XPRP}"><SPAN style="color:{$PERI_COL_WHIT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif">Device Utilization</SPAN></TH>
-               <TR></TR>
-               <xsl:choose>
-                       <xsl:when test="not(RESOURCES)">
-                               <TH COLSPAN="5" width="100%" align="middle" bgcolor="{$PERI_COL_WHIT}">
-                               <SPAN style="color:{$PERI_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                                       Device utilization information is not available for this IP.
-                               </SPAN>
-                               </TH>
-                       </xsl:when>     
-                       <xsl:otherwise>
-                               <TH COLSPAN="2" width="55%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Resource Type</SPAN></TH>
-                               <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Used</SPAN></TH>
-                               <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Available</SPAN></TH>
-                               <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">Percent</SPAN></TH>
-                               
-                               <xsl:for-each select="RESOURCES/RESOURCE">
-                                       <TR></TR>       
-                                       <TH COLSPAN="2" width="55%" align="left"   bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TYPE"/></SPAN></TH>
-                                       <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@USED"/></SPAN></TH>
-                                       <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@TOTAL"/></SPAN></TH>
-                                       <TH COLSPAN="1" width="15%" align="middle" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@PERCENT"/></SPAN></TH>
-                               </xsl:for-each>
-                       </xsl:otherwise>
-               </xsl:choose>
-               
-           <TR></TR>   
-               <TH COLSPAN="5" width="100%" align="middle" bgcolor="{$PERI_COL_XPRP}"><SPAN style="color:{$PERI_COL_WHIT}; font: bold 12px Verdana,Arial,Helvetica,sans-serif"></SPAN></TH>
-</TABLE>
-
-</xsl:template>
-
-<!-- Layout the Module's pinout table -->
-<xsl:template name="Peri_PinoutTable">
-
-       <TABLE BGCOLOR="{$PERI_COL_BLCK}" WIDTH="310" COLS="6" cellspacing="1" cellpadding="2" border="0">
-               <TH COLSPAN="6" width="100%" align="middle" bgcolor="{$PERI_COL_XPRP}"><SPAN style="color:{$PERI_COL_WHIT}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">PINOUT</SPAN></TH>
-               <TR></TR>       
-               <TH COLSPAN="6" width="100%" align="left" bgcolor="{$PERI_COL_WHIT}">
-                       <SPAN style="color:{$PERI_COL_INFO}; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               The ports listed here are only those connected in the MHS file. Refer to the IP
-                                       <A HREF="docs/{@MODTYPE}.pdf" style="text-decoration:none; color:{$PERI_COL_XPRP}"> documentation </A>for complete information about module ports.
-                       </SPAN>
-               </TH>
-               <TR></TR>
-               <TH COLSPAN="1" width="5%"  align="left" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TH>
-               <TH COLSPAN="2" width="25%" align="left" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TH>
-               <TH COLSPAN="1" width="10%" align="left" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TH>
-               <TH COLSPAN="2" width="60%" align="left" bgcolor="{$PERI_COL_GREY}"><SPAN style="color:{$PERI_COL_XPRP}; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIGNAL</SPAN></TH>
-               <xsl:for-each select="PORT[(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__'))]">
-                       <xsl:sort data-type="number" select="@INDEX" order="ascending"/>
-                       <TR></TR>       
-                       <TH COLSPAN="1" width="5%"  align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@INDEX"/></SPAN></TH>
-                       <TH COLSPAN="2" width="25%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@NAME"/></SPAN></TH>
-                       <TH COLSPAN="1" width="10%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@DIR"/></SPAN></TH>
-                       <TH COLSPAN="2" width="60%" align="left" bgcolor="{$PERI_COL_WHIT}"><SPAN style="color:{$PERI_COL_BLCK}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"><xsl:value-of select="@SIGNAME"/></SPAN></TH>
-               </xsl:for-each>
-       </TABLE>        
-       
-</xsl:template>
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLTOCTree.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLTOCTree.xsl
deleted file mode 100644 (file)
index 862b710..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-         
-<xsl:template name="Write_TOCTree">
-<HTML>
-<HEAD>
-<TITLE>Table of Contents</TITLE>
-       
-       <BASE target="{$DS_FRAME_MAIN}"></BASE>
-       
-       <!--specify a css for the TOC -->
-       <link   rel="stylesheet"      href="ds_Report.css" type="text/css"></link>
-       
-       <!--specify the javascript for the TOC-->
-       <script src="ds_Report.js" type="text/javascript"></script>
-</HEAD>        
-
-       <!--Layout Table of contents   -->
-       <BODY class="main_body">
-               <xsl:call-template name="Layout_TOCTree"/>
-       </BODY>         
-       
-</HTML>
-</xsl:template>
-
-       
-<!-- ======================= LAYOUT TABLE OF CONTENTS ====================================== -->
-<xsl:template name="Layout_TOCTree">
-       
-<xsl:variable name="toc_col_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_COL_LGRY"/>   
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_COL_WHITE"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_width_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_WIDTH"/>      
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_TOC_WIDTH"/>  
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="toc_target_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="$DS_FRAME_SELF"/> 
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_FRAME_MAIN"/> 
-       </xsl:if>
-</xsl:variable>
-
-<xsl:variable name="trg_html_">
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <xsl:value-of select="''"/>     
-       </xsl:if>
-       
-       <xsl:if test="$DS_TYPE='FRAMES'">
-               <xsl:value-of select="$DS_HTML_MAIN"/>  
-       </xsl:if>
-</xsl:variable>
-       
-       
-<A name="_TOC"/>
-<TABLE BGCOLOR="{$toc_col_}" WIDTH="{$toc_width_}" COLS="2" cellspacing="0" cellpadding="3" border="0">
-
-       <xsl:if test="$DS_TYPE='NOFRAMES'">
-               <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>
-       </xsl:if>
-       
-       <TR></TR>
-       <TD COLSPAN="1" width="40%" align="left">
-               <BR></BR>
-               <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>
-               
-               <BR></BR>
-               <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>
-               
-               <BR></BR>
-               <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>
-               
-               <BR></BR>
-               <xsl:variable name="proc_CNT" select="count(MODULES/MODULE[(@MODCLASS = 'PROCESSOR')])"/>
-               
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
-               <DIV class="trigger" onClick="showBranch('Processors'); swapBranchImg('BranchImg_Processors');">
-                       <xsl:if test="$proc_CNT &gt; 1">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processors&#160;</SPAN>
-                       </xsl:if>       
-                       <xsl:if test="not($proc_CNT &gt; 1)">
-                               <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processor&#160;</SPAN>
-                       </xsl:if>       
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Processors"></IMG>  
-               </DIV>
-               
-               <SPAN class="branch" id="Processors">           
-                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='PROCESSOR')]">
-                               <xsl:sort select="@INSTANCE"/>
-                               <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></A><BR></BR>
-                               <xsl:if test="MEMORYMAP/MEMRANGE[(@INSTANCE)]">
-                                       <A HREF="{$trg_html_}#_{@INSTANCE}_MemoryMap" style="text-decoration:none"><SPAN style="color:{$DS_COL_BLACK}; font: italic 14px Verdana Arial,Helvetica,sans-serif">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;memory map</SPAN></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                               </xsl:if>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-               <DIV class="trigger" onClick="showBranch('Debuggers'); swapBranchImg('BranchImg_Debugger');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Debuggers&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Debugger"></IMG>    
-               </DIV>          
-               
-               <SPAN class="branch" id="Debuggers">            
-                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='DEBUG')]">
-                               <xsl:sort select="@INSTANCE"/>
-                               <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></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               
-               <xsl:if test="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-               <DIV class="trigger" onClick="showBranch('Interrupts'); swapBranchImg('BranchImg_Interrupts');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Interrupt Controllers&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Interrupts"></IMG>  
-               </DIV>
-               
-               <SPAN class="branch" id="Interrupts">           
-                       <xsl:for-each select="MODULES/MODULE[(@MODCLASS='INTERRUPT_CNTLR')]">
-                               <xsl:sort select="@INSTANCE"/>
-                               <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></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-               <DIV class="trigger" onClick="showBranch('Busses'); swapBranchImg('BranchImg_Busses');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Busses&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Busses"></IMG>      
-               </DIV>          
-                       
-               <SPAN class="branch" id="Busses">               
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS' or @MODCLASS='BUS_ARBITER']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <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></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-               <DIV class="trigger" onClick="showBranch('Bridges'); swapBranchImg('BranchImg_Bridges');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Bridges&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Bridges"></IMG>     
-               </DIV>  
-               <SPAN class="branch" id="Bridges">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='BUS_BRIDGE']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <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></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY']">
-               <DIV class="trigger" onClick="showBranch('Memory'); swapBranchImg('BranchImg_Memory');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Memory"></IMG>      
-               </DIV>          
-               <SPAN class="branch" id="Memory">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <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></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='MEMORY_CNTLR']">
-               <DIV class="trigger" onClick="showBranch('MemoryCntlr'); swapBranchImg('BranchImg_MemoryCntlr');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Memory Controllers&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_MemoryCntlr"></IMG> 
-               </DIV>          
-               <SPAN class="branch" id="MemoryCntlr">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='MEMORY_CNTLR']">
-                       <xsl:sort select="@INSTANCE"/>
-                               <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></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-               <DIV class="trigger" onClick="showBranch('Peripheral'); swapBranchImg('BranchImg_Peripheral');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Peripherals&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_Peripheral"></IMG>  
-               </DIV>  
-               <SPAN class="branch" id="Peripheral">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='PERIPHERAL']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <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></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>               
-               
-               <xsl:if test="MODULES/MODULE[@MODCLASS='IP']">
-               <DIV class="trigger" onClick="showBranch('IP'); swapBranchImg('BranchImg_IP');">
-                       <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">IP&#160;</SPAN>
-                       <IMG src="imgs/IMG_openBranch.gif" border="0" id="BranchImg_IP"></IMG>  
-               </DIV>
-               <SPAN class="branch" id="IP">
-                       <xsl:for-each select="MODULES/MODULE[@MODCLASS='IP']">
-                               <xsl:sort select="@INSTANCE"/>
-                               <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></A><xsl:if test="LICENSEINFO"><IMG SRC="imgs/IMG_LicensedCore.bmp" border="0" vspace="0" hspace="0"/></xsl:if><BR></BR>
-                       </xsl:for-each>
-               </SPAN> 
-               </xsl:if>                       
-               
-               <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><BR></BR>
-<!--           
--->    
-
-       </TD>
-       
-</TABLE>
-</xsl:template>
-
-</xsl:stylesheet>
-<!-- ======================= END LAYOUT TABLE OF CONTENT TREE =================================== -->
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDBifDefs.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDBifDefs.xsl
deleted file mode 100644 (file)
index 701500e..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-<!-- ======================= DEF BLOCK =================================== -->
-       
-<xsl:template name="Define_BifTypes">
-       
-       <xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
-               
-               <xsl:call-template name="Define_BifType"> 
-                       <xsl:with-param name="bus_type"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-               <xsl:call-template name="Define_BifBusConnectors"> 
-                       <xsl:with-param name="bus_type"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-       </xsl:for-each>
-       
-<!--   
-       <xsl:message>The color of bus  <xsl:value-of select="@BUSSTD"/> is <xsl:value-of select="@RGB"/></xsl:message>
-       <xsl:message>The OPB Bus color is  <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[@BUSSTD = 'OPB']/@RGB"/> </xsl:message>
--->    
-</xsl:template>        
-       
-
-<xsl:template name="Define_BifType"> 
-       
-       <xsl:param name="bus_type"    select="'OPB'"/>
-       
-       <xsl:variable name="bus_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$bus_type"/>
-               </xsl:call-template>    
-       </xsl:variable>
-                       
-    <symbol id="{$bus_type}_Bif">
-               <rect x="0"  
-                         y="0" 
-                         rx="3"
-                         ry="3"
-                         width= "{$BIF_W}" 
-                         height="{$BIF_H}" 
-                         style="fill:{$bus_col_}; stroke:black; stroke-width:1"/> 
-       </symbol>
-       
-</xsl:template>
-
-<xsl:template name="Define_BifBusConnectors"> 
-       
-       <xsl:param name="bus_type"    select="'OPB'"/>
-       
-       <xsl:variable name="bus_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$bus_type"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bus_col_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="busType" select="$bus_type"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bifc_wi_" select="ceiling($BIFC_W div 3)"/>
-       <xsl:variable name="bifc_hi_" select="ceiling($BIFC_H div 3)"/>
-       
-    <symbol id="{$bus_type}_busconn_MASTER">
-               <rect x="0"  
-                         y="0" 
-                         width= "{$BIFC_W}" 
-                         height="{$BIFC_H}" 
-                         style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; stroke-width:1"/> 
-                         
-               <rect x="{$BIFC_dx + 0.5}"  
-                         y="{$BIFC_dy}" 
-                         width= "{$BIFC_Wi}" 
-                         height="{$BIFC_Hi}" 
-                         style="fill:{$bus_col_}; stroke:none;"/> 
-       </symbol>
-       
-    <symbol id="{$bus_type}_busconn_INITIATOR">
-               <rect x="0"  
-                         y="0" 
-                         width= "{$BIFC_W}" 
-                         height="{$BIFC_H}" 
-                         style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; stroke-width:1"/> 
-                         
-               <rect x="{$BIFC_dx + 0.5}"  
-                         y="{$BIFC_dy}" 
-                         width= "{$BIFC_Wi}" 
-                         height="{$BIFC_Hi}" 
-                         style="fill:{$bus_col_}; stroke:none;"/> 
-       </symbol>
-       
-    <symbol id="{$bus_type}_busconn_SLAVE">
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$bus_col_}; stroke:none;"/> 
-       </symbol>
-       
-    <symbol id="{$bus_type}_busconn_TARGET">
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$bus_col_}; stroke:none;"/> 
-       </symbol>
-       
-       
-    <symbol id="{$bus_type}_busconn_MASTER_SLAVE">
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$bus_col_}; stroke:none;"/> 
-                         
-               <rect x="0"  
-                         y="{ceiling($BIFC_H div 2)}" 
-                         width= "{$BIFC_W}" 
-                         height="{ceiling($BIFC_H div 2)}" 
-                         style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; stroke-width:1"/> 
-                         
-               <rect x="{$BIFC_dx + 0.5}"  
-                         y="{ceiling($BIFC_H div 2)}" 
-                         width= "{$BIFC_Wi}" 
-                         height="{ceiling($BIFC_Hi div 2)}" 
-                         style="fill:{$bus_col_}; stroke:none;"/> 
-                         
-       </symbol>
-
-    <symbol id="{$bus_type}_busconn_MONITOR">
-               
-               <rect x="0"  
-                         y="0.5" 
-                         width= "{$BIFC_W}" 
-                         height="{ceiling($BIFC_Hi div 2)}" 
-                         style="fill:{$bus_col_}; stroke:none;"/> 
-                         
-               <rect x="0"  
-                         y="{ceiling($BIFC_H div 2) + 4}" 
-                         width= "{$BIFC_W}" 
-                         height="{ceiling($BIFC_Hi div 2)}" 
-                         style="fill:{$bus_col_}; stroke:none;"/> 
-                         
-       </symbol>
-       
-    <symbol id="{$bus_type}_busconn_TRANSPARENT">
-    
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$bus_col_lt_}; stroke:{$bus_col_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$bus_col_}; stroke:none;"/> 
-               
-       </symbol>
-       
-    <symbol id="{$bus_type}_busconn_">
-    
-               <circle 
-                         cx="{ceiling($BIFC_W div 2)}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_W  div 2)}" 
-                         style="fill:{$COL_WHITE}; stroke:{$bus_col_}; stroke-width:1"/> 
-                         
-               <circle 
-                         cx="{ceiling($BIFC_W div 2) + 0.5}"  
-                         cy="{ceiling($BIFC_H div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$COL_WHITE}; stroke:none;"/> 
-               
-       </symbol>
-       
-       
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDBusLaneSpaces.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDBusLaneSpaces.xsl
deleted file mode 100644 (file)
index 13aa46c..0000000
+++ /dev/null
@@ -1,2365 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-       
-       
-<!-- 
-                ===========================================================
-                       Handle Bucket connections to the shared busses.
-                ===========================================================
--->            
-       
-<xsl:template name="BCLaneSpace_BucketToSharedBus">    
-       
-       <xsl:param name="sbs_Y"         select="0"/>    
-       <xsl:param name="stkToEast"     select="'NONE'"/>       
-       <xsl:param name="stkToWest"     select="'NONE'"/>       
-       <xsl:param name="stkToEast_W"   select="0"/>    
-       <xsl:param name="stkToWest_W"   select="0"/>    
-       <xsl:param name="busStd"        select="'NONE'"/>       
-       <xsl:param name="busName"       select="'NONE'"/>       
-       <xsl:param name="bifRank"       select="'NONE'"/>       
-       <xsl:param name="laneInSpace_X" select="0"/>    
-       
-       <xsl:variable name="bus_color_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="sbs_idx_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE= $busName)]/@BUSINDEX"/>
-       <xsl:variable name="sbs_name_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $sbs_idx_)]/@BUSNAME"/>
-                                       
-       <xsl:variable name="sbs_bc_y_" select="($sbs_Y + ($sbs_idx_ * $SBS_LANE_H))"/>
-                                       
-       <xsl:variable name="bktshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $sbs_idx_)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="bktshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $sbs_idx_)]/@SHAPE_VERTI_INDEX"/>
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="stackToEast"  select="$stkToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stkToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stkToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stkToEast_W div 2)"/>
-       
-       <xsl:variable name="bktshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="horizIdx"  select="$bktshp_hori_idx_"/>
-                       <xsl:with-param name="vertiIdx"  select="$bktshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                                               
-       <xsl:variable name="sbsStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:if test="($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_)">
-                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                               </xsl:if>       
-                               
-                               <xsl:if test="not($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_)">0</xsl:if>       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="vert_line_x_"  select="($laneInSpace_X  +  ceiling($BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y1_" select="($sbs_Y     + ($sbs_idx_ * $SBS_LANE_H) + ceiling($BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y2_" select="($bktshp_Y_ + ceiling($periMOD_W div 2) + $sbsStack_H_diff_)"/>
-       <xsl:variable name="bcInSpace_X_"  select="($laneInSpace_X  +  ceiling($BIFC_W div 2) - ceiling($BUS_ARROW_W div 2))"/>
-       
-       <xsl:variable name="horz_line_y_"   select="$vert_line_y2_"/>
-       <xsl:variable name="horz_line_x1_"  select="$vert_line_x_"/>
-       <xsl:variable name="horz_line_x2_" select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_)"/>
-       
-       <xsl:variable name="v_bus_ul_x_"   select="$vert_line_x_"/>
-       <xsl:variable name="v_bus_ul_y_"   select="$vert_line_y1_"/>
-       <xsl:variable name="v_bus_width_"  select="$P2P_BUS_W"/>
-       <xsl:variable name="v_bus_height_" select="($vert_line_y2_ - $vert_line_y1_ - ceiling($BIFC_H div 2))"/>
-       
-       <xsl:variable name="h_bus_ul_x_"   select="$v_bus_ul_x_"/>
-       <xsl:variable name="h_bus_ul_y_"   select="$vert_line_y2_   - $BIFC_H + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-       <xsl:variable name="h_bus_width_"  select="($space_W_ + ceiling(($extSpaceWest_W_ + $extSpaceEast_W_) div 2) - $BIFC_W)"/>
-       <xsl:variable name="h_bus_height_" select="$P2P_BUS_W"/>
-       
-<!--   
-       <xsl:message>v bus x <xsl:value-of select="$v_bus_ul_x_"/></xsl:message>
-       <xsl:message>v bus y <xsl:value-of select="$v_bus_ul_y_"/></xsl:message>
-       <xsl:message>v bus w <xsl:value-of select="$v_bus_width_"/></xsl:message>
-       <xsl:message>v bus h <xsl:value-of select="$v_bus_height_"/></xsl:message>
--->    
-       
-       <!-- Draw rectangular parts of the bus -->
-       <rect x="{$v_bus_ul_x_}" 
-                 y="{$v_bus_ul_y_ - 2}"  
-                 width= "{$v_bus_width_}" 
-                 height="{$v_bus_height_}" 
-                 style="stroke:none; fill:{$bus_color_}"/>
-               
-       
-       <rect x="{$h_bus_ul_x_}" 
-                 y="{$h_bus_ul_y_ - 5}"  
-                 width= "{$h_bus_width_}" 
-                 height="{$h_bus_height_}" 
-                 style="stroke:none; fill:{$bus_color_}"/>
-               
-       
-</xsl:template>                                        
-       
-       
-       
-<!--
-                ===========================================================
-                       Handle Processor's Shared bus connections.
-                ===========================================================
--->
-       
-<xsl:template name="BCLaneSpace_ProcBifToSharedBus">   
-       
-       <xsl:param name="sbs_Y"         select="0"/>    
-       <xsl:param name="stkToEast"     select="'NONE'"/>       
-       <xsl:param name="stkToWest"     select="'NONE'"/>       
-       <xsl:param name="stkToEast_W"   select="0"/>    
-       <xsl:param name="stkToWest_W"   select="0"/>    
-       <xsl:param name="busStd"        select="'NONE'"/>       
-       <xsl:param name="busName"       select="'NONE'"/>       
-       <xsl:param name="bifRank"       select="'NONE'"/>       
-       <xsl:param name="laneInSpace_X" select="0"/>    
-       
-<!--                                           
-       
-                                               <xsl:message>Proc diff  <xsl:value-of select="$procStack_H_diff_"/></xsl:message>
-                                               <xsl:message>Proc inst  <xsl:value-of select="$procInst_"/></xsl:message>
-                                               <xsl:message>Proc Bif Name <xsl:value-of select="$procBifName_"/></xsl:message>
-                                               <xsl:message>Proc Bif Rank <xsl:value-of select="$procBifRank_"/></xsl:message>
--->
-       
-       <xsl:variable name="bus_color_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="sbs_idx_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE= $busName)]/@BUSINDEX"/>
-       <xsl:variable name="sbs_bc_y_" select="($sbs_Y + ($sbs_idx_ * $SBS_LANE_H))"/>
-                                               
-       <xsl:variable name="procInst_" select="BUSCONN/@INSTANCE"/>
-       
-<!--   
-       <xsl:message>Proc inst  <xsl:value-of select="$procInst_"/></xsl:message>
--->                                            
-       
-       <xsl:variable name="procBif_Y_"    select="((($BIF_H + $MOD_BIF_GAP_V) * BUSCONN/@BIF_Y) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-       <xsl:variable name="procBifName_"  select="BUSCONN/@BUSINTERFACE"/>
-       <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInst_)]/BUSINTERFACE[(@NAME = $procBifName_)]/@BIF_X"/>
-       <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInst_)]/BUSINTERFACE[(@NAME = $procBifName_)]/@BIFRANK"/>
-                                               
-       <xsl:variable name="procshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInst_)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="procshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInst_)]/@SHAPE_VERTI_INDEX"/>
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="stackToEast"  select="$stkToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stkToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stkToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stkToEast_W div 2)"/>
-       
-                                               
-<!--                                           
-       <xsl:message>Stack horiz  <xsl:value-of select="$procshp_hori_idx_"/></xsl:message>
-       <xsl:message>Stack verti  <xsl:value-of select="$procshp_vert_idx_"/></xsl:message>
-       <xsl:message>Proc Bif Y   <xsl:value-of select="$procBif_Y_"/></xsl:message>
--->                                            
-                                               
-       <xsl:variable name="procshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="horizIdx"  select="$procshp_hori_idx_"/>
-                       <xsl:with-param name="vertiIdx"  select="$procshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                                               
-       
-       <xsl:variable name="procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">
-               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($procshp_hori_idx_ = $stkToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($procshp_hori_idx_ = $stkToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="bc_Y_"  select="($procshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) + $procStack_H_diff_) - ceiling($BIFC_H div 2)"/>
-<!--   
-       <xsl:variable name="bc_x_"  select="($laneInSpace_X +  ceiling($BIFC_W div 2))"/>
-       <xsl:variable name="bc_x_"  select="0"/>
--->    
-       <xsl:variable name="bc_X_">
-               <xsl:choose>
-                       <xsl:when test="$procBifSide_ = '0'">
-                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($periMOD_W div 2) + $BIFC_W))"/>
-<!--                           
-                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($periMOD_W div 2))"/>
-                               <xsl:value-of select="($space_W_ -  ceiling($periMOD_W div 2))"/>
--->                            
-                       </xsl:when>
-                       <xsl:when test="$procBifSide_ = '1'">
-                               <xsl:value-of select="ceiling($periMOD_W div 2)"/>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       <!-- Place the bus connection -->
-       <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{$busStd}_busconn_{$procBifRank_}"/>
-                                               
-       
-<!--   
-       <use   x="{$laneInSpace_X}"   y="{$sbs_bc_y_ - ceiling($BIFC_H div 4)}"  xlink:href="#{$busStd}_busconn_{$procBifRank_}"/>
--->    
-       
-                                               
-       <xsl:variable name="vert_line_x_"  select="($laneInSpace_X +  ceiling($BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y1_" select="($procshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) + $procStack_H_diff_)"/>
-       <xsl:variable name="vert_line_y2_"  select="($sbs_Y    + ($sbs_idx_ * $SBS_LANE_H) + ceiling($BIFC_W div 2))"/>                 
-               
-       <xsl:variable name="v_bus_ul_y_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="$vert_line_y2_"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="$vert_line_y1_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="v_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($vert_line_x_ + $MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="($vert_line_x_ - $MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-               
-       <xsl:variable name="v_bus_width_" select="$P2P_BUS_W"/>
-       <xsl:variable name="v_bus_height_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_) - $P2P_BUS_W"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="($vert_line_y2_ - $vert_line_y1_) - $P2P_BUS_W"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="h_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($bc_X_ + $BIFC_W - ceiling(($BIFC_W - $BIFC_Wi) div 2))"/>
-<!--                           
-                               <xsl:value-of select="$v_bus_ul_x_"/>
--->    
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="$v_bus_ul_x_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_y_">
-                       <xsl:choose>
-                               <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                                       <xsl:value-of select="$vert_line_y2_ - ceiling($P2P_BUS_W div 2)"/>
-                               </xsl:when>
-                               <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                                       <xsl:value-of select="$vert_line_y1_ - ceiling($P2P_BUS_W div 2)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-       
-       
-               <xsl:variable name="h_bus_height_" select="$P2P_BUS_W"/>
-               <xsl:variable name="h_bus_width_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="$v_bus_ul_x_ - $h_bus_ul_x_ + $P2P_BUS_W"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($bc_X_ - $v_bus_ul_x_) + ceiling(($BIFC_W - $BIFC_Wi) div 2) + 1"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-       
-       
-                       
-<!--                   
-               <xsl:if test="(@ORIENTED = 'WEST')">
-               </xsl:if>
-                       
-               <xsl:message>bc_X_  <xsl:value-of select="$bc_X_"/></xsl:message>
-               <xsl:message>v_bus_ul_x  <xsl:value-of select="$v_bus_ul_x_"/></xsl:message>
-               <xsl:message>h_bus_width <xsl:value-of select="$h_bus_width_"/></xsl:message>
-               <xsl:message>h_bus_ul_y  <xsl:value-of select="$h_bus_ul_y_"/></xsl:message>
--->    
-                       
-               <rect x="{$v_bus_ul_x_}" 
-                         y="{$v_bus_ul_y_ + 2}"  
-                         width= "{$v_bus_width_}" 
-                         height="{$v_bus_height_}" 
-                         style="stroke:none; fill:{$bus_color_}"/>
-               
-               <rect x="{$h_bus_ul_x_}" 
-                         y="{$h_bus_ul_y_}"  
-                         width= "{$h_bus_width_}" 
-                         height="{$h_bus_height_}" 
-                         style="stroke:none; fill:{$bus_color_}"/>
-               
-<!--                                           
-               <xsl:message>Proc diff  <xsl:value-of select="$procStack_H_diff_"/></xsl:message>
-               <xsl:message>Proc inst  <xsl:value-of select="$procInst_"/></xsl:message>
-               <xsl:message>Proc Bif Name <xsl:value-of select="$procBifName_"/></xsl:message>
-               <xsl:message>Proc Bif Rank <xsl:value-of select="$procBifRank_"/></xsl:message>
--->
-       
-</xsl:template>                                        
-       
-                                       
-<!--
-                ===========================================================
-                       Handle non Processor Sharedebus connections.
-                ===========================================================
--->
-                               
-<xsl:template name="BCLaneSpace_NonProcBifToSharedBus">        
-       
-       <xsl:param name="sbs_Y"         select="0"/>    
-       <xsl:param name="stkToEast"     select="'NONE'"/>       
-       <xsl:param name="stkToWest"     select="'NONE'"/>       
-       <xsl:param name="stkToEast_W"   select="0"/>    
-       <xsl:param name="stkToWest_W"   select="0"/>    
-       <xsl:param name="busStd"        select="'NONE'"/>       
-       <xsl:param name="busName"       select="'NONE'"/>       
-       <xsl:param name="bifRank"       select="'NONE'"/>       
-       <xsl:param name="laneInSpace_X" select="0"/>    
-       
-                                               
-       <xsl:variable name="sbs_idx_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE= $busName)]/@BUSINDEX"/>
-       <xsl:variable name="sbs_bc_y_" select="($sbs_Y + ($sbs_idx_ * $SBS_LANE_H))"/>
-                                               
-       <xsl:variable name="cmplxInst_" select="BUSCONN/@INSTANCE"/>
-                                               
-       <xsl:variable name="cmplxBif_Y_"    select="((($BIF_H + $MOD_BIF_GAP_V) * BUSCONN/@BIF_Y) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-       <xsl:variable name="cmplxBifName_"  select="BUSCONN/@BUSINTERFACE"/>
-       <xsl:variable name="cmplxBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $cmplxInst_)]/BUSINTERFACE[(@NAME = $cmplxBifName_)]/@BIF_X"/>
-       <xsl:variable name="cmplxBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $cmplxInst_)]/BUSINTERFACE[(@NAME = $cmplxBifName_)]/@BIFRANK"/>
-                                               
-       <xsl:variable name="cmplxshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $cmplxInst_)])]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="cmplxshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $cmplxInst_)])]/@SHAPE_VERTI_INDEX"/>
-                                               
-       <xsl:variable name="is_abvSbs_" select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $cmplxInst_)]]/@IS_ABVSBS)"/>
-       <xsl:variable name="is_blwSbs_" select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $cmplxInst_)]]/@IS_BLWSBS)"/>
-       
-<!--                                           
-       <xsl:message><xsl:value-of select="$cmplxInst_"/> : <xsl:value-of select="$is_blwSbs_"/></xsl:message>
-       <xsl:message><xsl:value-of select="$cmplxInst_"/> : <xsl:value-of select="$is_abvSbs_"/></xsl:message>
-       <xsl:message>Stack horiz  <xsl:value-of select="$cmplxshp_hori_idx_"/></xsl:message>
-       <xsl:message>Stack verti  <xsl:value-of select="$cmplxshp_vert_idx_"/></xsl:message>
-       <xsl:message>Proc Bif Y   <xsl:value-of select="$procBif_Y_"/></xsl:message>
--->                                            
-       
-       <xsl:variable name="bus_color_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="stackToEast"  select="$stkToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stkToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stkToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stkToEast_W div 2)"/>                                            
-       
-       <xsl:variable name="cmplxshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="horizIdx"  select="$cmplxshp_hori_idx_"/>
-                       <xsl:with-param name="vertiIdx"  select="$cmplxshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                                               
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                               <xsl:when test="(($cmplxshp_hori_idx_ = $stkToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:when test="(($cmplxshp_hori_idx_ = $stkToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="bc_Y_"  select="($cmplxshp_Y_ + $cmplxBif_Y_ + ceiling($BIF_H div 2) + $cmplxStack_H_diff_) - ceiling($BIFC_H div 2)"/>
-       
-<!--   
-       <xsl:variable name="bc_x_"  select="($laneInSpace_X +  ceiling($BIFC_W div 2))"/>
-       <xsl:variable name="bc_x_"  select="0"/>
--->    
-       <xsl:variable name="bc_X_">
-               <xsl:choose>
-                       <xsl:when test="$cmplxBifSide_ = '0'">
-                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($periMOD_W div 2) + $BIFC_W))"/>
-                       </xsl:when>
-                       <xsl:when test="$cmplxBifSide_ = '1'">
-                               <xsl:value-of select="ceiling($periMOD_W div 2)"/>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{$busStd}_busconn_{$cmplxBifRank_}"/>
-       
-<!--   
-       <xsl:message>Bif Rank <xsl:value-of select="$cmplxBifRank_"/></xsl:message>
--->    
-       <xsl:variable name="vert_line_x_"  select="($laneInSpace_X +  ceiling($BIFC_W div 2))"/>
-       <xsl:variable name="vert_line_y1_" select="($cmplxshp_Y_ + $cmplxBif_Y_ + ceiling($BIF_H div 2) + $cmplxStack_H_diff_)"/>
-       <xsl:variable name="vert_line_y2_"  select="($sbs_Y    + ($sbs_idx_ * $SBS_LANE_H) + ceiling($BIFC_W div 2))"/>
-       
-       <xsl:variable name="v_bus_ul_y_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="$vert_line_y2_"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="$vert_line_y1_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="v_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($vert_line_x_ + $MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="($vert_line_x_ - $MOD_BIF_GAP_H)"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="v_bus_width_" select="$P2P_BUS_W"/>
-       <xsl:variable name="v_bus_height_">
-               <xsl:choose>
-                       <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                               <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_) - $P2P_BUS_W + 8"/>
-                       </xsl:when>
-                       <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                               <xsl:value-of select="($vert_line_y2_ - $vert_line_y1_) - $P2P_BUS_W + 8"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="h_bus_ul_x_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="($bc_X_ + $BIFC_W - ceiling(($BIFC_W - $BIFC_Wi) div 2))"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="$v_bus_ul_x_"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-               
-       <xsl:variable name="h_bus_ul_y_">
-               <xsl:choose>
-                       
-                       <xsl:when test="($is_blwSbs_ = 'TRUE') and ($vert_line_y1_ &gt; $vert_line_y2_)">
-                               <xsl:value-of select="$vert_line_y1_ - ceiling($P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       <xsl:when test="($is_blwSbs_ = 'TRUE') and ($vert_line_y2_ &gt; $vert_line_y1_)">
-                               <xsl:value-of select="$vert_line_y2_ - ceiling($P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       
-                       <xsl:when test="($is_abvSbs_ = 'TRUE') and ($vert_line_y1_ &gt; $vert_line_y2_)">
-                               <xsl:value-of select="$vert_line_y2_ - ceiling($P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       <xsl:when test="($is_abvSbs_ = 'TRUE') and ($vert_line_y2_ &gt; $vert_line_y1_)">
-                               <xsl:value-of select="$vert_line_y1_ - ceiling($P2P_BUS_W div 2)"/>
-                       </xsl:when>
-                       
-               </xsl:choose>
-       </xsl:variable> 
-       
-       
-       <xsl:variable name="h_bus_height_" select="$P2P_BUS_W"/>
-       <xsl:variable name="h_bus_width_">
-               <xsl:choose>
-                       <xsl:when test="@ORIENTED='WEST'">
-                               <xsl:value-of select="$v_bus_ul_x_ - $h_bus_ul_x_ + $P2P_BUS_W"/>
-                       </xsl:when>
-                       <xsl:when test="@ORIENTED='EAST'">
-                               <xsl:value-of select="($bc_X_ - $v_bus_ul_x_) + ceiling(($BIFC_W - $BIFC_Wi) div 2) + 1"/>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable> 
-       
-                       
-               <rect x="{$v_bus_ul_x_}" 
-                         y="{$v_bus_ul_y_ - 2}"  
-                         width= "{$v_bus_width_}" 
-                         height="{$v_bus_height_}" 
-                         style="stroke:none; fill:{$bus_color_}"/>
-               
-               <rect x="{$h_bus_ul_x_}" 
-                         y="{$h_bus_ul_y_}"  
-                         width= "{$h_bus_width_}" 
-                         height="{$h_bus_height_}" 
-                         style="stroke:none; fill:{$bus_color_}"/>
-               
-</xsl:template>                                        
-       
-<!-- 
-                ===========================================================
-                       Handle connections from processors to Memory UNITs
-                ===========================================================
--->
-       
-<xsl:template name="BCLaneSpace_ProcBifToMemoryUnit">  
-       
-       <xsl:param name="sbs_Y"         select="0"/>    
-       <xsl:param name="stkToEast"     select="'NONE'"/>       
-       <xsl:param name="stkToWest"     select="'NONE'"/>       
-       <xsl:param name="stkToEast_W"   select="0"/>    
-       <xsl:param name="stkToWest_W"   select="0"/>    
-       <xsl:param name="busStd"        select="'NONE'"/>       
-       <xsl:param name="busName"       select="'NONE'"/>       
-       <xsl:param name="bifRank"       select="'NONE'"/>       
-       <xsl:param name="laneInSpace_X" select="0"/>    
-       
-                                               
-       
-<!--   
-       <xsl:variable name="bcInSpace_X_"  select="($laneInSpace_X +  ceiling($BIFC_W div 2) - ceiling($BUS_ARROW_W div 2))"/>
--->
-       <xsl:variable name="bcInSpace_X_"  select="$laneInSpace_X"/>
-       <xsl:variable name="procInstance_" select="BUSCONN[@IS_PROCONN]/@INSTANCE"/>
-       <xsl:variable name="mem_procshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="mem_procshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>
-                                               
-       <xsl:variable name="mem_procshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="horizIdx"  select="$mem_procshp_hori_idx_"/>
-                       <xsl:with-param name="vertiIdx"  select="$mem_procshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="bus_color_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="stackToEast"  select="$stkToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stkToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stkToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stkToEast_W div 2)"/>                                                    
-       
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($mem_procshp_hori_idx_ = $stkToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($mem_procshp_hori_idx_ = $stkToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       <xsl:variable name="mem_procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">
-       
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                       <xsl:choose>
-                               <xsl:when test="(($mem_procshp_hori_idx_ = $stkToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                               </xsl:when>     
-                               <xsl:when test="(($mem_procshp_hori_idx_ = $stkToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                       <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                               </xsl:when>     
-                               <xsl:otherwise>0</xsl:otherwise>        
-                       </xsl:choose>   
-                                                                       
-               </xsl:when>
-       </xsl:choose>
-  </xsl:variable>
-                                               
-       <!-- Store the conns in a variable -->  
-       <xsl:variable name="memConn_heights_">
-
-               <xsl:for-each select="BUSCONN">
-                                                               
-                       <xsl:variable name="bifName_"       select="@BUSINTERFACE"/>
-                       
-                                                       
-                       <xsl:choose>
-                               <xsl:when test="@IS_PROCONN and @BIF_Y">
-                                                       
-                                       <xsl:variable name="procBif_Y_"    select="((($BIF_H + $MOD_BIF_GAP_V) * @BIF_Y) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-                                       <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                       <xsl:variable name="bcProc_Y_"     select="($mem_procshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2) + $mem_procStack_H_diff_)"/>
-                                       <xsl:variable name="bcProc_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$procBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($periMOD_W div 2) + $BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$procBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($periMOD_W div 2)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>0</xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       <MEMCONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME="{$procBusName_}" BUSSTD="{$busStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-                                                                               
-                               </xsl:when>
-                                                                       
-                               <xsl:otherwise>
-                                                                       
-                                       <xsl:variable name="memcInstance_"  select="@INSTANCE"/>
-                                       <xsl:variable name="memcshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@SHAPE_VERTI_INDEX"/>
-                                       <xsl:variable name="memcBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                       <xsl:variable name="memcBif_Y_"    select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                                                               
-                                       <xsl:variable name="memshp_Y_">
-                                               <xsl:call-template name="_calc_Stack_Shape_Y">
-                                                       <xsl:with-param name="horizIdx"  select="$mem_procshp_hori_idx_"/>
-                                                       <xsl:with-param name="vertiIdx"  select="$memcshp_vert_idx_"/>
-                                               </xsl:call-template>
-                                   </xsl:variable>
-                                       
-                                       <xsl:variable name="memcMOD_W_" select="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@MODS_W) * $periMOD_W)"/>
-                                                                               
-                                       <xsl:variable name="procBif_Y_"   select="((($BIF_H + $MOD_BIF_GAP_V) * @BIF_Y) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-                                       
-                                       <xsl:variable name="memcConn_Y_">
-                                               <xsl:choose>
-                                                       <xsl:when test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $memcInstance_)]]/@MODS_H = 1)">
-                                                               <xsl:value-of  select="($memshp_Y_ + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V) +  ($memcBif_Y_ * ($BIF_H + $MOD_BIF_GAP_V)) + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>
-                                                               <xsl:value-of  select="($memshp_Y_ + $periMOD_H + $MOD_LANE_H + ($memcBif_Y_ * ($BIF_H + $MOD_BIF_GAP_V)) + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2))"/>
-                                                       </xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                       
-                                       <xsl:variable name="memcConn_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$memcBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($memcMOD_W_ div 2) + $BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$memcBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($memcMOD_W_ div 2)"/>
-                                                       </xsl:when>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       <xsl:variable name="memcBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="memcBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $memcInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       
-                                       <MEMCONN X="{$memcConn_X_}" Y="{$memcConn_Y_}" BUSNAME="{$memcBusName_}" BUSSTD="{$busStd}" BIFRANK="{$memcBifRank_}" BIFSIDE="{$memcBifSide_}"/>
-                                       
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:for-each>
-       </xsl:variable>
-                                               
-                                               
-       <!-- Draw the busconnection and horizontal lines.-->                                            
-       <xsl:for-each select="exsl:node-set($memConn_heights_)/MEMCONN">
-                                                       
-               <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BIFC_W div 2))"/>
-               <xsl:variable name="bus_y_" select="@Y + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-               
-               <xsl:variable name="h_bus_ul_x_">
-                       <xsl:choose>
-                               <xsl:when test="@BIFSIDE='0'">
-                                       <xsl:value-of select="$bus_x_"/>
-                               </xsl:when>
-                               <xsl:when test="@BIFSIDE='1'">
-                                       <xsl:value-of select="(@X + $BIFC_W + $BUS_ARROW_W)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-               <xsl:variable name="h_bus_height_" select="$P2P_BUS_W"/>
-               <xsl:variable name="h_bus_width_">
-                       <xsl:choose>
-                               <xsl:when test="@BIFSIDE='0'">
-                                       <xsl:value-of select="(@X - $bus_x_ - $BUS_ARROW_W)"/>
-                               </xsl:when>
-                               <xsl:when test="@BIFSIDE='1'">
-                                       <xsl:value-of select="$bus_x_ - $h_bus_ul_x_"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-<!--           
-               <xsl:message>bc_X_       <xsl:value-of select="@X"/></xsl:message>
-               <xsl:message>h_bus_ul_x  <xsl:value-of select="$h_bus_ul_x_"/></xsl:message>
-               <xsl:message>h_bus_ul_y  <xsl:value-of select="$h_bus_ul_y_"/></xsl:message>
-               <xsl:message>h_bus_width <xsl:value-of select="$h_bus_width_"/></xsl:message>
--->            
-               
-               <!-- Place the bus connection -->
-               <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-               
-               <!-- Draw the arrow -->
-               <xsl:choose>
-                       <xsl:when test="@BIFSIDE='0'">
-                               <use   x="{@X - $BUS_ARROW_W}"   y="{@Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                       </xsl:when>
-                       <xsl:when test="@BIFSIDE='1'">
-                               <use   x="{(@X + $BIFC_W)}" y="{@Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                       </xsl:when>
-               </xsl:choose>
-               
-               
-               <!-- Draw the horizontal part of the bus -->
-               <rect x="{$h_bus_ul_x_}" 
-                         y="{$h_bus_ul_y_}"  
-                         width= "{$h_bus_width_}" 
-                         height="{$h_bus_height_}" 
-                         style="stroke:none; fill:{$bus_color_}"/>
-               
-       </xsl:for-each>
-                                               
-       <xsl:variable name="busTop_"  select="math:min(exsl:node-set($memConn_heights_)/MEMCONN/@Y)"/>
-       <xsl:variable name="busBot_"  select="math:max(exsl:node-set($memConn_heights_)/MEMCONN/@Y)"/>
-       <xsl:variable name="busName_" select="exsl:node-set($memConn_heights_)/MEMCONN/@BUSNAME"/>
-       
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-       
-       
-       <!-- Draw the vertical part of the bus -->      
-       <rect x="{$bcInSpace_X_ + $P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $P2P_BUS_W}" 
-                 style="stroke:none; fill:{$bus_color_}"/>
-       
-       <!-- Place the bus label.-->    
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BUS_ARROW_W + ceiling($BUS_ARROW_W div 2) + ceiling($BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
-       
-                                               
-</xsl:template>                                        
-       
-       
-<!-- 
-                ===========================================================
-                       Handle generic Point to Point connections
-                ===========================================================
--->
-       
-<xsl:template name="BCLaneSpace_PointToPoint"> 
-       
-       <xsl:param name="sbs_Y"         select="0"/>    
-       <xsl:param name="stkToEast"     select="'NONE'"/>       
-       <xsl:param name="stkToWest"     select="'NONE'"/>       
-       <xsl:param name="stkToEast_W"   select="0"/>    
-       <xsl:param name="stkToWest_W"   select="0"/>    
-       <xsl:param name="busStd"        select="'NONE'"/>       
-       <xsl:param name="busName"       select="'NONE'"/>       
-       <xsl:param name="bifRank"       select="'NONE'"/>       
-       <xsl:param name="laneInSpace_X" select="0"/>    
-       
-       <xsl:variable name="bus_color_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="bus_color_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="stackToEast"  select="$stkToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stkToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stkToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stkToEast_W div 2)"/>                                                    
-       
-       <xsl:variable name="bcInSpace_X_"  select="($laneInSpace_X +  ceiling($BIFC_W div 2) - ceiling($BUS_ARROW_W div 2))"/>
-       <xsl:variable name="p2pInstance_" select="BUSCONN[(@BIF_Y)]/@INSTANCE"/>
-                                       
-       <xsl:variable name="p2pshp_hori_idx_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@STACK_HORIZ_INDEX"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@STACK_HORIZ_INDEX"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>         
-                                       
-       <xsl:variable name="p2pshp_vert_idx_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]">
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $p2pInstance_)]/@SHAPE_VERTI_INDEX"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $p2pInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>         
-                                       
-<!--                                   
-                                       <xsl:variable name="p2pshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>
-                                       <xsl:variable name="p2pshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>
--->                                    
-                                               
-       <xsl:variable name="p2pshp_Y_">
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="horizIdx"  select="$p2pshp_hori_idx_"/>
-                       <xsl:with-param name="vertiIdx"  select="$p2pshp_vert_idx_"/>
-               </xsl:call-template>
-       </xsl:variable>
-                       
-       <xsl:variable name="cmplxStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">
-                               
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $stkToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $stkToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-                                                                                                                                                               
-       <xsl:variable name="procStack_H_diff_">
-               <xsl:choose>
-                       <xsl:when test="   (($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="not(($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">
-                       
-                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToWest"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                               <xsl:with-param name="stackIdx"  select="$stkToEast"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $stkToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:when test="(($p2pshp_hori_idx_ = $stkToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise>0</xsl:otherwise>        
-                               </xsl:choose>   
-                                                                       
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-                                               
-       
-       
-       <!-- Store the conns in a variable -->  
-       <xsl:variable name="p2pConn_heights_">
-       
-               <xsl:for-each select="BUSCONN">
-                                                                       
-                       <xsl:variable name="bifName_" select="@BUSINTERFACE"/>
-                                                       
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCONN and @BIF_Y">
-                                                                               
-<!--                                                                           
-                                                                               <xsl:message>Proc <xsl:value-of select="$procInstance_"/></xsl:message>
--->                                                                            
-                                               <xsl:variable name="procBif_Y_"   select="((($BIF_H + $MOD_BIF_GAP_V) * @BIF_Y) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-                                               <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                               <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                               <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $p2pInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                               
-                                               <xsl:variable name="bcProc_Y_"     select="($p2pshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2) + $procStack_H_diff_)"/>
-                                               <xsl:variable name="bcProc_X_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="$procBifSide_ = '0'">
-                                                                       <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($periMOD_W div 2) + $BIFC_W))"/>
-                                                               </xsl:when>
-                                                               <xsl:when test="$procBifSide_ = '1'">
-                                                                       <xsl:value-of select="ceiling($periMOD_W div 2)"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>0</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:variable>
-                                               
-                                               <P2PCONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME= "{$procBusName_}" BUSSTD="{$busStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-                                                                               
-<!--                                           
-                                               <xsl:message>bcProc_X_ <xsl:value-of select="$bcProc_X_"/></xsl:message>
-                                               <xsl:message>bcProc_Y_ <xsl:value-of select="$bcProc_Y_"/></xsl:message>
-                                               <P2PCONN X="{$bcInSpace_X_}" Y="{$bcProc_Y_}" BUSSTD="{$busStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}" STACK_ID=""/>
--->                                            
-                                       </xsl:when>
-                                                                       
-                                       <xsl:otherwise>
-                                                                               
-                                               <xsl:variable name="modInstance_"     select="@INSTANCE"/>
-                                               <xsl:variable name="modshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $modInstance_)]]/@SHAPE_VERTI_INDEX"/>
-                                               <xsl:variable name="modBifSide_"      select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                               <xsl:variable name="modBif_Y_"        select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                               <xsl:variable name="modBc_Y_"         select="((($BIF_H + $MOD_BIF_GAP_V) * $modBif_Y_) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-                                                                               
-<!--                                                                           
-                                               <xsl:message>Memory Instance <xsl:value-of select="$procInstance_"/></xsl:message>
--->                                                                            
-                                               
-                                               <xsl:variable name="modshp_Y_">
-                                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                                               <xsl:with-param name="horizIdx"  select="$p2pshp_hori_idx_"/>
-                                                               <xsl:with-param name="vertiIdx"  select="$modshp_vert_idx_"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                                                                               
-                                               <xsl:variable name="modBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                               <xsl:variable name="modBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                               <xsl:variable name="bcMod_Y_"     select="($modshp_Y_ + $modBc_Y_ + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                               <xsl:variable name="bcMod_X_">
-                                                       <xsl:choose>
-                                                               <xsl:when test="$modBifSide_ = '0'">
-                                                                       <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($periMOD_W div 2) + $BIFC_W))"/>
-                                                               </xsl:when>
-                                                               <xsl:when test="$modBifSide_ = '1'">
-                                                                       <xsl:value-of select="ceiling($periMOD_W div 2)"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>0</xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:variable>
-                                               
-<!--                                                                           
-                                               <xsl:message>Bc Bif Y <xsl:value-of select="$modBif_Y_"/></xsl:message> 
-                                               <xsl:message>Bc Mod Y <xsl:value-of select="$modBc_Y_"/></xsl:message>  
-                                               <xsl:message>Bc Mod X <xsl:value-of select="$bcMod_X_"/></xsl:message>  
-                                               <P2PCONN X="{$bcInSpace_X_}" Y="{$bcMod_Y_}" BUSSTD="{$busStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
--->                                                                            
-                                               <P2PCONN X="{$bcMod_X_}" Y="{$bcMod_Y_}" BUSNAME="{$modBusName_}" BUSSTD="{$busStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
-                                               
-                                       </xsl:otherwise>
-                                                                       
-                               </xsl:choose>
-                       </xsl:for-each>
-               </xsl:variable>
-       
-       
-       <xsl:variable name="busTop_"  select="math:min(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="busBot_"  select="math:max(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-       <xsl:variable name="busName_" select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSNAME"/>
-       <xsl:variable name="busStd_"  select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSSTD"/>
-<!--   
--->    
-       <!-- Draw the vertical part of the bus -->      
-       
-       <xsl:if test="$busStd_ = 'PLBV46_P2P'">
-       <rect x="{$bcInSpace_X_ + $P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $P2P_BUS_W}" 
-                 style="stroke:{$COL_WHITE};stroke-width:1.5;fill:{$bus_color_}"/>
-       </xsl:if>
-       
-       <xsl:if test="not($busStd_ = 'PLBV46_P2P')">
-       <rect x="{$bcInSpace_X_ + $P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $P2P_BUS_W}" 
-                 style="stroke:none;fill:{$bus_color_}"/>
-       </xsl:if>
-       
-<!--   
--->    
-       
-<!--   
-                 style="stroke:{$bus_color_lt_};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$bus_color_}"/>
--->    
-       <!-- Place the bus label.-->    
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BUS_ARROW_W + ceiling($BUS_ARROW_W div 2) + ceiling($BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
-                                               
-               <!-- Draw the busconnection and horizontal lines.-->                                            
-               <xsl:for-each select="exsl:node-set($p2pConn_heights_)/P2PCONN">
-                                                       
-                       <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BIFC_W div 2))"/>
-                       <xsl:variable name="bus_y_" select="@Y + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-               
-                       <xsl:variable name="h_bus_ul_x_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="$bus_x_"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="(@X + $BIFC_W + $BUS_ARROW_W) - 1"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable> 
-               
-                       <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-                       <xsl:variable name="h_bus_height_" select="$P2P_BUS_W"/>
-                       <xsl:variable name="h_bus_width_">
-<!--                           
-                               <xsl:message>BIFSIDE <xsl:value-of select="@BIFSIDE"/></xsl:message>
-                               <xsl:message>BUSSTD  <xsl:value-of select="@BUSSTD"/></xsl:message>
-                               <xsl:message>BIFRANK <xsl:value-of select="@BIFRANK"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="(@X - $bus_x_ - $BUS_ARROW_W)"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="$bus_x_ - $h_bus_ul_x_ + 1"/>
-                                       </xsl:when>
-                                       
-                               </xsl:choose>
-                       </xsl:variable> 
-                       
-                       <!-- Draw Bus connection-->
-                       <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-                       
-                       <!-- Draw the arrow -->
-                       <xsl:choose>
-                               <xsl:when test="((@BIFSIDE='0') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BUS_ARROW_W}"   y="{@Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                               </xsl:when>
-                               <xsl:when test="((@BIFSIDE='1') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BIFC_W)}" y="{@Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='0') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BUS_ARROW_W}"   y="{@Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='1') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BIFC_W)}" y="{@Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                                       
-                       </xsl:choose>
-               
-                       <!-- Draw the horizontal part of the bus -->
-                       <rect x="{$h_bus_ul_x_}" 
-                                 y="{$h_bus_ul_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$h_bus_height_}" 
-                             style="stroke:none; fill:{$bus_color_}"/>
-               
-       </xsl:for-each>
-                                               
-<!--   
-       <xsl:variable name="busTop_" select="math:min(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="busBot_" select="math:max(exsl:node-set($p2pConn_heights_)/P2PCONN/@Y)"/>
-       <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-       <xsl:variable name="busName_" select="exsl:node-set($p2pConn_heights_)/P2PCONN/@BUSNAME"/>
--->    
-       <!-- Draw the vertical part of the bus -->      
-<!--   
-       <rect x="{$bcInSpace_X_ + $P2P_BUS_W}" 
-                 y="{$v_bus_y_}"  
-                 width= "{$P2P_BUS_W}" 
-                 height="{($busBot_ - $busTop_) + $P2P_BUS_W}" 
-                 style="stroke:{$COL_WHITE};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$bus_color_}"/>
--->    
-       
-<!--   
-                 style="stroke:{$bus_color_lt_};stroke-width:1;stroke-opacity:0.9;fill-opacity:2.0;fill:{$bus_color_}"/>
--->    
-       <!-- Place the bus label.-->    
-<!--   
-       <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BUS_ARROW_W + ceiling($BUS_ARROW_W div 2) + ceiling($BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-       </text> 
--->    
-       
-                                               
-</xsl:template>        
-       
-       
-                                       
-<!-- 
-                ===========================================================
-                       Handle MultiStack Point to Point connections
-                ===========================================================
--->
-                                       
-<xsl:template name="BCLaneSpace_MultiStack_PointToPoint">      
-       
-       <xsl:param name="sbs_Y"         select="0"/>    
-       <xsl:param name="stkToEast"     select="'NONE'"/>       
-       <xsl:param name="stkToWest"     select="'NONE'"/>       
-       <xsl:param name="stkToEast_W"   select="0"/>    
-       <xsl:param name="stkToWest_W"   select="0"/>    
-       <xsl:param name="busStd"        select="'NONE'"/>       
-       <xsl:param name="busName"       select="'NONE'"/>       
-       <xsl:param name="bifRank"       select="'NONE'"/>       
-       <xsl:param name="laneInSpace_X" select="0"/>    
-       
-       <xsl:variable name="bus_color_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="stackToEast"  select="$stkToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stkToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stkToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stkToEast_W div 2)"/>                                                    
-       
-                                       
-       <!-- Store the connections in a variable -->
-       <xsl:variable name="bcInSpace_X_"  select="($laneInSpace_X +  ceiling($BIFC_W div 2) - ceiling($BUS_ARROW_W div 2))"/>
-                                       
-       <xsl:variable name="multiConns_">
-                                               
-               <xsl:for-each select="BUSCONN">
-                                                       
-                       <xsl:variable name="bifName_"      select="@BUSINTERFACE"/>
-                       <xsl:variable name="multiInstance_" select="@INSTANCE"/>
-                       <xsl:variable name="mulshp_hori_idx_">
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCONN">
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $multiInstance_)]/@STACK_HORIZ_INDEX"/>
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $multiInstance_)])]/@STACK_HORIZ_INDEX"/>
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable> 
-                                                       
-                       <xsl:variable name="mulshp_vert_idx_">
-                               <xsl:choose>
-                                       <xsl:when test="@IS_PROCONN">
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $multiInstance_)]/@SHAPE_VERTI_INDEX"/>
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $multiInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable> 
-                               
-<!--                                                   
-                                                       <xsl:message>Shape Horiz <xsl:value-of select="$mulshp_hori_idx_"/></xsl:message>
-                                                       <xsl:message>Shape Verti <xsl:value-of select="$mulshp_vert_idx_"/></xsl:message>
--->    
-                                                       
-                       <xsl:variable name="mulshp_Y_">
-                               <xsl:call-template name="_calc_Stack_Shape_Y">
-                                       <xsl:with-param name="horizIdx"  select="$mulshp_hori_idx_"/>
-                                       <xsl:with-param name="vertiIdx"  select="$mulshp_vert_idx_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                                               
-                       <xsl:variable name="cmplxStack_H_diff_">
-                               <xsl:choose>
-                                       <xsl:when test="   (($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">0</xsl:when>
-                                       <xsl:when test="not(($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">
-                                               
-                                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="stackIdx"  select="$stkToWest"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                       
-                                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="stackIdx"  select="$stkToEast"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                               <xsl:choose>
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $stkToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $stkToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:otherwise>0</xsl:otherwise>        
-                                               </xsl:choose>   
-                                                                       
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>
-                                               
-                                                                                                                                                               
-                       <xsl:variable name="procStack_H_diff_">
-                               <xsl:choose>
-                                       <xsl:when test="   (($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">0</xsl:when>
-                                       <xsl:when test="not(($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">
-                       
-                                               <xsl:variable name="stackToWest_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="stackIdx"  select="$stkToWest"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                               
-                                               <xsl:variable name="stackToEast_AbvSbs_H_">
-                                                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                               <xsl:with-param name="stackIdx"  select="$stkToEast"/>
-                                                       </xsl:call-template>
-                                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                               <xsl:choose>
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $stkToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                               <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:when test="(($mulshp_hori_idx_ = $stkToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                               <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                                       </xsl:when>     
-                                                       <xsl:otherwise>0</xsl:otherwise>        
-                                               </xsl:choose>   
-                                                                       
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>
-                                                       
-                       <xsl:choose>
-                                                       
-                               <xsl:when test="@IS_PROCONN and @BIF_Y">
-                                                                               
-                                       <xsl:variable name="procBif_Y_"   select="((($BIF_H + $MOD_BIF_GAP_V) * @BIF_Y) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-                                                                               
-                                       <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="procBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                               
-                                       <xsl:variable name="bcProc_Y_"     select="($mulshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2) + $procStack_H_diff_)"/>
-                                       
-                                       <xsl:variable name="bcProc_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$procBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($periMOD_W div 2) + $BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$procBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($periMOD_W div 2)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>0</xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       <MULTICONN X="{$bcProc_X_}" Y="{$bcProc_Y_}" BUSNAME="{$procBusName_}" BUSSTD="{$busStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
-<!--                                   
-                                       <MULTICONN X="{$bcInSpace_X_}" Y="{$bcProc_Y_}" BUSSTD="{$busStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}"/>
--->                                    
-                                                                               
-                               </xsl:when>
-                                                                       
-                               <xsl:otherwise>
-                                                                                       
-                                       <xsl:variable name="modType_"         select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/@MODCLASS"/>
-                                       <xsl:variable name="modBif_Y_"        select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_Y"/>
-                                       <xsl:variable name="modBifSide_"      select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                       
-                                       <xsl:variable name="memcMOD_W_" select="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[MODULE[(@INSTANCE = $multiInstance_)]]/@MODS_W) * $periMOD_W)"/>
-                                                               
-                                       <xsl:variable name="modBc_Y_">
-                                               <xsl:choose>
-                                                       <xsl:when test="($modType_ = 'MEMORY_CNTLR')">
-                                                       <xsl:value-of select="$periMOD_H + $MOD_LANE_H + ((($BIF_H + $MOD_BIF_GAP_V) * $modBif_Y_))"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>
-                                                       <xsl:value-of select="((($BIF_H + $MOD_BIF_GAP_V) * $modBif_Y_) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-                                                       </xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>   
-                                       
-                                       
-<!--                                   
-                                       <xsl:message>Multi module width <xsl:value-of select="$memcMOD_W_"/></xsl:message>
-                                       <xsl:message>Multi instance <xsl:value-of select="$multiInstance_"/></xsl:message>
-                                       <xsl:message>Multi instance <xsl:value-of select="$multiInstance_"/></xsl:message>
--->                                    
-                                                               
-                                       <xsl:variable name="modBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-                                       <xsl:variable name="modBusName_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $multiInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BUSNAME"/>
-                                       <xsl:variable name="bcMod_Y_"     select="($mulshp_Y_ + $modBc_Y_ + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2) + $cmplxStack_H_diff_)"/>
-                                       <xsl:variable name="bcMod_X_">
-                                               <xsl:choose>
-                                                       <xsl:when test="$modBifSide_ = '0'">
-                                                               <xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - (ceiling($memcMOD_W_ div 2) + $BIFC_W))"/>
-                                                       </xsl:when>
-                                                       <xsl:when test="$modBifSide_ = '1'">
-                                                               <xsl:value-of select="ceiling($memcMOD_W_ div 2)"/>
-                                                       </xsl:when>
-                                                       <xsl:otherwise>0</xsl:otherwise>
-                                               </xsl:choose>
-                                       </xsl:variable>
-                                               
-                                       
-                                       <MULTICONN X="{$bcMod_X_}" Y="{$bcMod_Y_}" BUSNAME="{$modBusName_}" BUSSTD="{$busStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
-<!--                                   
-                                       <MULTICONN X="{$bcInSpace_X_}" Y="{$bcMod_Y_}" BUSSTD="{$busStd}" BIFRANK="{$modBifRank_}" BIFSIDE="{$modBifSide_}"/>
--->                                    
-                                               
-                                       </xsl:otherwise>
-                               </xsl:choose>   
-                       </xsl:for-each>
-               </xsl:variable>
-                                       
-               <!-- Draw the busconnection and horizontal lines.-->                                            
-               <xsl:for-each select="exsl:node-set($multiConns_)/MULTICONN">
-                                                       
-                       <xsl:variable name="bus_x_" select="($bcInSpace_X_ + ceiling($BIFC_W div 2))"/>
-                       <xsl:variable name="bus_y_" select="@Y + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-               
-                       <xsl:variable name="h_bus_ul_x_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="$bus_x_"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="(@X + $BIFC_W + $BUS_ARROW_W)"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable> 
-               
-                       <xsl:variable name="h_bus_ul_y_" select="$bus_y_"/>
-       
-                       <xsl:variable name="h_bus_height_" select="$P2P_BUS_W"/>
-                       <xsl:variable name="h_bus_width_">
-<!--                           
-                               <xsl:message>BUSSTD  <xsl:value-of select="@BUSSTD"/></xsl:message>
-                               <xsl:message>BIFSIDE <xsl:value-of select="@BIFSIDE"/></xsl:message>
-                               <xsl:message>BIFRANK <xsl:value-of select="@BIFRANK"/></xsl:message>
--->                            
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE='0'">
-                                               <xsl:value-of select="(@X - $bus_x_ - $BUS_ARROW_W)"/>
-                                       </xsl:when>
-                                       <xsl:when test="@BIFSIDE='1'">
-                                               <xsl:value-of select="$bus_x_ - $h_bus_ul_x_"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                       </xsl:variable>         
-                       
-                       
-                       <!-- Draw the horizontal part of the bus -->
-                       <rect x="{$h_bus_ul_x_}" 
-                                 y="{$h_bus_ul_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$h_bus_height_}" 
-                             style="stroke:none; fill:{$bus_color_}"/>
-               
-                       
-                       <!-- Draw the arrow -->
-                       <xsl:choose>
-                               <xsl:when test="((@BIFSIDE='0') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BUS_ARROW_W}"   y="{@Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>
-                               </xsl:when>
-                               <xsl:when test="((@BIFSIDE='1') and not((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BIFC_W)}" y="{@Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowWest"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='0') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{@X - $BUS_ARROW_W}"   y="{@Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                               
-                               <xsl:when test="((@BIFSIDE='1') and ((@BUSSTD = 'FSL') and ((@BIFRANK = 'INITIATOR') or (@BIFRANK = 'MASTER'))))">
-                                       <use   x="{(@X + $BIFC_W)}" y="{@Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2)}"  xlink:href="#{@BUSSTD}_BusArrowHInitiator"/>
-                               </xsl:when>
-                                       
-                       </xsl:choose>
-               
-                       <use   x="{@X}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-                       
-                                                       
-               </xsl:for-each>
-                                               
-               <xsl:variable name="busTop_" select="math:min(exsl:node-set($multiConns_)/MULTICONN/@Y)"/>
-               <xsl:variable name="busBot_" select="math:max(exsl:node-set($multiConns_)/MULTICONN/@Y)"/>
-<!--   
-               <xsl:variable name="topRnk_" select="(exsl:node-set($multiConns_)/MULTICONN[(@Y = $busTop_)]/@BIFRANK)"/>
-               <xsl:variable name="botRnk_" select="(exsl:node-set($multiConns_)/MULTICONN[(@Y = $busBot_)]/@BIFRANK)"/>
--->    
-       
-               <xsl:variable name="v_bus_y_" select="$busTop_ + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-               <xsl:variable name="busName_" select="exsl:node-set($multiConns_)/MULTICONN/@BUSNAME"/>
-       
-               <!-- Draw the vertical part of the bus -->      
-               <rect x="{$bcInSpace_X_ + $P2P_BUS_W}" 
-                         y="{$v_bus_y_}"  
-                     width= "{$P2P_BUS_W}" 
-                     height="{($busBot_ - $busTop_) + $P2P_BUS_W}" 
-                     style="stroke:none; fill:{$bus_color_}"/>
-                                               
-       <!-- Place the bus label.-->    
-               <text class="p2pbuslabel" 
-                         x="{$bcInSpace_X_   + $BUS_ARROW_W + ceiling($BUS_ARROW_W div 2) + ceiling($BUS_ARROW_W div 4) + 6}"
-                         y="{$busTop_ + ($BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName_"/>
-               </text> 
-<!--   
--->    
-       
-       
-       
-       
-<!--                                           
-                                               <xsl:message>Bot Rank  <xsl:value-of select="$botRnk_"/></xsl:message>  
--->                                            
-                                               
-<!--   
-               <xsl:call-template name="Draw_P2PBus">
-                       <xsl:with-param name="busX"    select="$bcInSpace_X_"/>
-                       <xsl:with-param name="busTop"  select="$busTop_"/>
-                       <xsl:with-param name="busBot"  select="$busBot_"/>
-                       <xsl:with-param name="topRnk"  select="$topRnk_"/>
-                       <xsl:with-param name="botRnk"  select="$botRnk_"/>
-                       <xsl:with-param name="busStd"  select="$busStd"/>
-                       <xsl:with-param name="busName" select="$busName"/>
-               </xsl:call-template>
--->    
-                                       
-</xsl:template>        
-       
-       
-<!-- 
-                ===========================================================
-                       Handle Processor to processor connections
-                ===========================================================
--->
-<xsl:template name="BCLaneSpace_ProcToProc">   
-       
-       <xsl:param name="sbs_Y"         select="0"/>    
-       <xsl:param name="stkToEast"     select="'NONE'"/>       
-       <xsl:param name="stkToWest"     select="'NONE'"/>       
-       <xsl:param name="stkToEast_W"   select="0"/>    
-       <xsl:param name="stkToWest_W"   select="0"/>    
-       <xsl:param name="busStd"        select="'NONE'"/>       
-       <xsl:param name="busName"       select="'NONE'"/>       
-       <xsl:param name="bifRank"       select="'NONE'"/>       
-       <xsl:param name="laneInSpace_X" select="0"/>    
-       
-       <xsl:variable name="bus_color_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="stackToEast"  select="$stkToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stkToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stkToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stkToEast_W div 2)"/>                                                    
-               
-       <xsl:variable name="pr2pr_stkToWest_"   select="math:min(BUSCONN/@STACK_HORIZ_INDEX)"/>
-       <xsl:variable name="pr2pr_stkToEast_"   select="math:max(BUSCONN/@STACK_HORIZ_INDEX)"/>
-       <xsl:variable name="proc2procConn_heights_">
-       
-       <xsl:for-each select="BUSCONN">
-                                       
-               <xsl:variable name="procInstance_" select="@INSTANCE"/>
-               <xsl:variable name="bifName_"      select="@BUSINTERFACE"/>
-               <xsl:variable name="procshp_hori_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@STACK_HORIZ_INDEX"/>
-               <xsl:variable name="procshp_vert_idx_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInstance_)]/@SHAPE_VERTI_INDEX"/>
-               <xsl:variable name="procshp_Y_">
-                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                               <xsl:with-param name="horizIdx"  select="$procshp_hori_idx_"/>
-                               <xsl:with-param name="vertiIdx"  select="$procshp_vert_idx_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                               
-               <xsl:variable name="procStack_H_diff_">
-                       <xsl:choose>
-                               <xsl:when test="   (($pr2pr_stkToEast_ = 'NONE') or ($pr2pr_stkToWest_ = 'NONE'))">0</xsl:when>
-                               <xsl:when test="not(($pr2pr_stkToEast_ = 'NONE') or ($pr2pr_stkToWest_ = 'NONE'))">
-                       
-                                       <xsl:variable name="stackToWest_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="stackIdx"  select="$pr2pr_stkToWest_"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                               
-                                       <xsl:variable name="stackToEast_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="stackIdx"  select="$pr2pr_stkToEast_"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                       <xsl:choose>
-                                               <xsl:when test="(($procshp_hori_idx_ = $pr2pr_stkToEast_) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:when test="(($procshp_hori_idx_ = $pr2pr_stkToWest_) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:otherwise>0</xsl:otherwise>        
-                                       </xsl:choose>   
-                                                                               
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable>
-                                               
-               <!-- Store the conns in a variable -->  
-               <xsl:variable name="procBif_Y_"   select="((($BIF_H + $MOD_BIF_GAP_V) * @BIF_Y) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-                                                                                       
-               <xsl:variable name="procBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-               <xsl:variable name="procBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                       
-               <xsl:variable name="bcInSpace_X_">
-                       <xsl:choose>
-                               <xsl:when test="$procBifSide_ = '1'"><xsl:value-of select="ceiling($periMOD_W div 2)"/></xsl:when>
-                               <xsl:when test="$procBifSide_ = '0'"><xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($periMOD_W div 2) - $BIFC_W)"/></xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-                                                       
-               <xsl:variable name="bcProc_Y_"     select="($procshp_Y_ + $procBif_Y_ + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2) + $procStack_H_diff_)"/>
-                                               
-                                                       
-<!--                                                   
-                                                       <xsl:message>Conn X <xsl:value-of select="$bcInSpace_X_"/></xsl:message>
-                                                       <xsl:message>Conn Y <xsl:value-of select="$bcProc_Y_"/></xsl:message>
--->                                                    
-                                                                               
-                               <PR2PRCONN X="{$bcInSpace_X_}" Y="{$bcProc_Y_}" BUSSTD="{$busStd}" BIFRANK="{$procBifRank_}" BIFSIDE="{$procBifSide_}" SHAPE_ID="{$procshp_hori_idx_}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-                                       
-               <xsl:variable name="pr2prLeft_"   select="math:min(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@SHAPE_ID)"/>
-               <xsl:variable name="pr2prRght_"   select="math:max(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@SHAPE_ID)"/>
-                               
-               <xsl:variable name="pr2pr_stack_Left_X_">
-                       <xsl:call-template name="_calc_Stack_X"> 
-                               <xsl:with-param name="stackIdx"  select="$pr2prLeft_"/>
-                       </xsl:call-template>            
-               </xsl:variable> 
-                                       
-               <xsl:variable name="pr2pr_stack_Rght_X_">
-                       <xsl:call-template name="_calc_Stack_X"> 
-                               <xsl:with-param name="stackIdx"  select="$pr2prRght_"/>
-                       </xsl:call-template>            
-               </xsl:variable> 
-                                       
-<!--                                   
-                                       <xsl:message>Left stack X <xsl:value-of select="$pr2pr_stack_Left_X_"/></xsl:message>
-                                       <xsl:message>Rght stack X <xsl:value-of select="$pr2pr_stack_Rght_X_"/></xsl:message>
--->                                    
-               <xsl:variable name="pr2pr_space_W_" select="($pr2pr_stack_Rght_X_ - $pr2pr_stack_Left_X_)"/>
-                                               
-                                       
-               <xsl:variable name="pr2pr_extStackEast_W_">
-                       <xsl:call-template name="_calc_Stack_Width">
-                               <xsl:with-param name="stackIdx"  select="$pr2prRght_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                       
-               <xsl:variable name="pr2pr_extStackWest_W_">
-                       <xsl:call-template name="_calc_Stack_Width">
-                               <xsl:with-param name="stackIdx"  select="$pr2prLeft_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                       
-<!--                                   
-                                       <xsl:message>Space W <xsl:value-of select="$pr2pr_space_W_"/></xsl:message>
-                                       <xsl:message>Rght stack <xsl:value-of select="$pr2pr_extStackEast_W_"/></xsl:message>
-                                       <xsl:message>Left stack <xsl:value-of select="$pr2pr_extStackWest_W_"/></xsl:message>
--->                                    
-       
-               <xsl:variable name="connLeft_X_" select="ceiling($periMOD_W div 2)"/>
-               <xsl:variable name="connRght_X_" select="($pr2pr_space_W_ - ceiling($pr2pr_extStackWest_W_ div 2) + ceiling($pr2pr_extStackEast_W_ div 2) - ceiling($periMOD_W div 2) - $BIFC_W)"/>
-                                       
-                                       <!-- Draw the busconnections .-->                                               
-               <xsl:for-each select="exsl:node-set($proc2procConn_heights_)/PR2PRCONN">
-                       <xsl:variable name="conn_X_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIFSIDE = '1'"><xsl:value-of select="ceiling($periMOD_W div 2)"/></xsl:when>
-                                       <xsl:when test="@BIFSIDE = '0'"><xsl:value-of select="($pr2pr_space_W_ - ceiling($pr2pr_extStackWest_W_ div 2) + ceiling($pr2pr_extStackEast_W_ div 2) - ceiling($periMOD_W div 2) - $BIFC_W)"/></xsl:when>
-<!--                                                                   
-                                                                       <xsl:when test="@BIFSIDE = '0'"><xsl:value-of select="($pr2pr_space_W_ + $pr2pr_extStackWest_W_ + $pr2pr_extStackEast_W_ - ceiling($periMOD_W div 2) - $BIFC_W)"/></xsl:when>
--->    
-                               </xsl:choose>
-                       </xsl:variable> 
-                                                       
-                                               
-                       <use   x="{$conn_X_}"   y="{@Y}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-               </xsl:for-each>
-                                       
-               <xsl:variable name="bc_Y_"     select="math:min(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@Y)"/>
-               <xsl:variable name="bcLeft_"   select="math:min(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@X)"/>
-               <xsl:variable name="bcRght_"   select="math:max(exsl:node-set($proc2procConn_heights_)/PR2PRCONN/@X)"/>
-                                       
-               <xsl:variable name="leftRnk_"  select="(exsl:node-set($proc2procConn_heights_)/PR2PRCONN[(@X = $bcLeft_)]/@BIFRANK)"/>
-               <xsl:variable name="rghtRnk_"  select="(exsl:node-set($proc2procConn_heights_)/PR2PRCONN[(@X = $bcRght_)]/@BIFRANK)"/>
-                                               
-               <xsl:call-template name="Draw_Proc2ProcBus">
-                       <xsl:with-param name="bc_Y"     select="$bc_Y_"/>
-                       <xsl:with-param name="bcLeft_X" select="$connLeft_X_ + $BIFC_W"/>
-                       <xsl:with-param name="bcRght_X" select="$connRght_X_"/>
-                       <xsl:with-param name="leftRnk"  select="$leftRnk_"/>
-                       <xsl:with-param name="rghtRnk"  select="$rghtRnk_"/>
-                       <xsl:with-param name="busStd"   select="$busStd"/>
-                       <xsl:with-param name="busName"  select="$busName"/>
-               </xsl:call-template>
-                               
-</xsl:template>        
-       
-                               
-<!-- 
-                ===========================================================
-                       Handle Split connections, (connections that go between adjacent stacks)
-                ===========================================================
--->
-       
-<xsl:template name="BCLaneSpace_SplitConn">    
-       
-       <xsl:param name="sbs_Y"         select="0"/>    
-       <xsl:param name="stkToEast"     select="'NONE'"/>       
-       <xsl:param name="stkToWest"     select="'NONE'"/>       
-       <xsl:param name="stkToEast_W"   select="0"/>    
-       <xsl:param name="stkToWest_W"   select="0"/>    
-       <xsl:param name="busStd"        select="'NONE'"/>       
-       <xsl:param name="busName"       select="'NONE'"/>       
-       <xsl:param name="bifRank"       select="'NONE'"/>       
-       <xsl:param name="laneInSpace_X" select="0"/>    
-       
-       <xsl:variable name="bus_color_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable> 
-       
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="stackToEast"  select="$stkToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stkToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stkToWest_W div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stkToEast_W div 2)"/>                                                    
-                       
-                                       
-       <xsl:variable name="bifName_"      select="BUSCONN/@BUSINTERFACE"/>
-       <xsl:variable name="shpInstance_"  select="BUSCONN/@INSTANCE"/>
-                                       
-<!--                                   
-                       <xsl:message>Found a split connection on <xsl:value-of select="$shpInstance_"/></xsl:message>   
--->                                    
-                                               
-                                       
-               <xsl:variable name="shp_hori_idx_">
-                                               
-                       <xsl:choose>
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]/@STACK_HORIZ_INDEX"/>
-                               </xsl:when>
-                                                       
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@STACK_HORIZ_INDEX"/>
-                               </xsl:when>
-                               <xsl:otherwise>_unknown_</xsl:otherwise>
-                       </xsl:choose>           
-                                               
-               </xsl:variable> 
-                                       
-               <xsl:variable name="shp_vert_idx_">
-                                               
-                       <xsl:choose>
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]/@SHAPE_VERTI_INDEX"/>
-                               </xsl:when>
-                                                       
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]">
-                                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@SHAPE_VERTI_INDEX"/>
-                               </xsl:when>
-                               <xsl:otherwise>_unknown_</xsl:otherwise>
-                       </xsl:choose>           
-                                               
-               </xsl:variable> 
-                                       
-               <xsl:variable name="splitshp_Width_">
-                                               
-                       <xsl:choose>
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shpInstance_)]">
-                                       <xsl:value-of select="$periMOD_W"/>
-                               </xsl:when>
-                                               
-                               <xsl:when  test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@MODS_W">
-<!--                                                           
-                                                               <xsl:message>Using mods width on <xsl:value-of select="$shpInstance_"/></xsl:message>
--->                                                            
-                                       <xsl:value-of select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(MODULE[(@INSTANCE = $shpInstance_)])]/@MODS_W * $periMOD_W)"/>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:value-of select="$periMOD_W"/>
-                               </xsl:otherwise>
-                       </xsl:choose>           
-                                               
-               </xsl:variable> 
-                                       
-<!--                                   
-                                       <xsl:message>Found width of <xsl:value-of select="$splitshp_Width_"/></xsl:message>
--->                                    
-       
-                                       
-               <xsl:variable name="splitshp_Y_">
-                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                               <xsl:with-param name="horizIdx"  select="$shp_hori_idx_"/>
-                               <xsl:with-param name="vertiIdx"  select="$shp_vert_idx_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-                                       
-                                               
-               <xsl:variable name="splitStack_H_diff_">
-                       <xsl:choose>
-                               <xsl:when test="   (($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">0</xsl:when>
-                               <xsl:when test="not(($stkToEast = 'NONE') or ($stkToWest = 'NONE'))">
-       
-                                       <xsl:variable name="stackToWest_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="stackIdx"  select="$stkToWest"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                               
-                                       <xsl:variable name="stackToEast_AbvSbs_H_">
-                                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                                       <xsl:with-param name="stackIdx"  select="$stkToEast"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>stack to west H <xsl:value-of select="$stackToWest_AbvSbs_H_"/></xsl:message>
-                               <xsl:message>stack to east H <xsl:value-of select="$stackToEast_AbvSbs_H_"/></xsl:message>
--->                            
-                                       <xsl:choose>
-                                               <xsl:when test="(($shp_hori_idx_ = $stkToEast) and ($stackToWest_AbvSbs_H_ &gt; $stackToEast_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:when test="(($shp_hori_idx_ = $stkToWest) and ($stackToEast_AbvSbs_H_ &gt; $stackToWest_AbvSbs_H_))">
-                                                       <xsl:value-of select="($stackToEast_AbvSbs_H_ - $stackToWest_AbvSbs_H_)"/>
-                                               </xsl:when>     
-                                               <xsl:otherwise>0</xsl:otherwise>        
-                                       </xsl:choose>   
-                                                                               
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable>
-                                               
-                                       
-               <xsl:variable name="splitBif_Y_"    select="((($BIF_H + $MOD_BIF_GAP_V) * BUSCONN/@BIF_Y) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-               <xsl:variable name="splitBifRank_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $shpInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIFRANK"/>
-               <xsl:variable name="splitBifSide_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $shpInstance_)]/BUSINTERFACE[(@NAME = $bifName_)]/@BIF_X"/>
-                                                                       
-               <xsl:variable name="bcInSpace_X_">
-                       <xsl:choose>
-                               <xsl:when test="$splitBifSide_ = '1'"><xsl:value-of select="ceiling($splitshp_Width_ div 2)"/></xsl:when>
-                               <xsl:when test="$splitBifSide_ = '0'"><xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($splitshp_Width_ div 2) - $BIFC_W)"/></xsl:when>
-                       </xsl:choose>
-                                                               
-               </xsl:variable> 
-                                       
-               <xsl:variable name="bcBus_X_">
-                       <xsl:choose>
-                               <xsl:when test="$splitBifSide_ = '1'"><xsl:value-of select="$bcInSpace_X_"/></xsl:when>
-                               <xsl:when test="$splitBifSide_ = '0'"><xsl:value-of select="($space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_ - ceiling($periMOD_W div 2) - $BIFC_W)"/></xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-                                                       
-               <xsl:variable name="bcSplit_Y_">
-                       <xsl:choose>
-                               <xsl:when test="(BUSCONN/@IS_MEMCONN)">
-<!--                                                           
-                                                               <xsl:message>Found memory conn split connection on <xsl:value-of select="$shpInstance_"/> </xsl:message>
--->    
-                                       <xsl:value-of select="($splitshp_Y_ + $periMOD_H + $MOD_BIF_GAP_V + (BUSCONN/@BIF_Y * ($BIF_H + $MOD_BIF_GAP_V)) + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2) + $splitStack_H_diff_)"/>
-                               </xsl:when>     
-                               <xsl:otherwise>
-                                       <xsl:value-of select="($splitshp_Y_ + $splitBif_Y_ + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2) + $splitStack_H_diff_)"/>
-                               </xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>    
-<!--                                                           
-                                                               <xsl:value-of select="($splitshp_Y_ + $splitBif_Y_ + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2) + $splitStack_H_diff_)"/>
--->                                                            
-<!--                                   
-                                       <xsl:message>VERTI INDEX <xsl:value-of select="$shp_vert_idx_"/></xsl:message>  
-                                       <xsl:message>BIF Y <xsl:value-of select="$splitBif_Y_"/></xsl:message>  
-                                       <xsl:message>HORIZ INDEX <xsl:value-of select="$shp_hori_idx_"/></xsl:message>  
--->                                    
-                                       
-       <use   x="{$bcInSpace_X_}"   y="{$bcSplit_Y_}"  xlink:href="#{@BUSSTD}_busconn_{$splitBifRank_}"/>
-                                       
-                       
-       <xsl:call-template name="Draw_SplitConnBus">
-               <xsl:with-param name="bc_Y"    select="$bcSplit_Y_"/>
-               <xsl:with-param name="bc_X"    select="$bcInSpace_X_"/>
-                                               
-               <xsl:with-param name="bc_Rnk"  select="$splitBifRank_"/>
-               <xsl:with-param name="bc_Side" select="$splitBifSide_"/>
-                                               
-               <xsl:with-param name="busStd"  select="$busStd"/>
-               <xsl:with-param name="busName" select="$busName"/>
-       </xsl:call-template>
-                                       
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_BusLaneSpace"> 
-       
-       <xsl:param name="stackToEast"  select="'NONE'"/>
-       <xsl:param name="stackToWest"  select="'NONE'"/>
-       
-       <xsl:variable name="stkToEast_">
-               <xsl:choose>
-                       <xsl:when test="not($stackToEast = 'NONE')"><xsl:value-of select="$stackToEast"/></xsl:when>
-<!--                   
-                       <xsl:when test="not($stackToWest = 'NONE')"><xsl:value-of select="($stackToWest + 1)"/></xsl:when>
--->    
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-       <xsl:variable name="stkToWest_">
-               <xsl:choose>
-                       <xsl:when test="not($stackToWest  = 'NONE')"><xsl:value-of select="$stackToWest"/></xsl:when>
-                       <xsl:when test="(not($stackToEast = 'NONE') and not($stackToEast = '0'))"><xsl:value-of select="($stackToEast - 1)"/></xsl:when>
-                       <xsl:otherwise>NONE</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>Stack to West <xsl:value-of select="$stackToWest"/></xsl:message>
-       <xsl:message>Stack to East <xsl:value-of select="$stackToEast"/></xsl:message>
--->    
-       
-<!--   
-       <xsl:message>Stack abv diff  <xsl:value-of select="$stack_H_diff_"/></xsl:message>
--->    
-       
-       <xsl:variable name="spaceAbvSbs_H_">
-               <xsl:call-template name="_calc_Space_AbvSbs_Height">
-                       <xsl:with-param name="stackToEast"  select="$stackToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       <xsl:variable name="spaceBlwSbs_H_">
-               <xsl:call-template name="_calc_Space_BlwSbs_Height">
-                       <xsl:with-param name="stackToEast"  select="$stackToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       <xsl:variable name="numSbs_"      select="count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE)"/>      
-       <xsl:variable name="totalSbs_H_"  select="($numSbs_ * $SBS_LANE_H)"/>
-       
-       <xsl:variable name="space_H_" select="($spaceAbvSbs_H_ + $PROC2SBS_GAP + $totalSbs_H_ + $spaceBlwSbs_H_)"/>
-       <xsl:variable name="space_W_">
-               <xsl:call-template name="_calc_Space_Width"> 
-                       <xsl:with-param name="stackToEast"  select="$stackToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-<!--   
-       <xsl:variable name="sbs_Y_" select="$spaceAbvSbs_H_ + $BIF_H"/>
--->    
-       
-       <xsl:variable name="sbs_Y_" select="$spaceAbvSbs_H_ + $PROC2SBS_GAP"/>
-       
-       <xsl:variable name="space_name_">
-               <xsl:call-template name="_gen_Space_Name"> 
-                       <xsl:with-param name="stackToEast"  select="$stackToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       
-<!--   
-       <xsl:message>Stack Width <xsl:value-of select="$space_W_"/></xsl:message>
-       <xsl:message>Space Name <xsl:value-of select="$space_name_"/></xsl:message>
-       <xsl:message>Stack Abv <xsl:value-of select="$spaceAbvSbs_H_"/></xsl:message>
-       <xsl:message>Stack Blw <xsl:value-of select="$spaceBlwSbs_H_"/></xsl:message>
-       <xsl:message>Total Sbs <xsl:value-of select="$totalSbs_H_"/></xsl:message>
--->    
-       
-       <xsl:variable name = "stackToWest_W_">
-               <xsl:choose>
-                       <xsl:when test="(($stackToEast = '0')   and     ($stackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($stackToEast = 'NONE') and not($stackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="stackIdx"  select="$stackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($stackToEast = '0') and not($stackToEast = 'NONE') and ($stackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="stackIdx"  select="($stackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name = "stackToEast_W_">
-               <xsl:call-template name="_calc_Stack_Width">
-                       <xsl:with-param name="stackIdx"  select="$stackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stackToWest_W_ div 2)"/>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stackToEast_W_ div 2)"/>
-       
-<!--   
-       <xsl:message>Stack To West <xsl:value-of select="$stackToWest_W_"/></xsl:message>
-       <xsl:message>Stack To East <xsl:value-of select="$stackToEast_W_"/></xsl:message>
--->    
-       
-       <symbol id="{$space_name_}">
-<!--           
-               
-               <xsl:if test="not($stackToEast = 'NONE')">
-               <rect x="0"
-                         y="0"
-                 width = "{$space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_}"
-                     height= "{$space_H_}"
-                         style="fill:{$COL_YELLOW}; stroke:none;"/>
-               </xsl:if>
-               
-               <xsl:if test="not($stackToWest = 'NONE')">
-               <rect x="0"
-                         y="0"
-                 width = "{$space_W_ + $extSpaceWest_W_ + $extSpaceEast_W_}"
-                     height= "{$space_H_}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>
-               </xsl:if>
--->            
-               
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST = $stackToEast) or (($stackToEast = 'NONE') and (@WEST = $stackToWest)))]/BUSCONNLANE[@BUSSTD and @BUSNAME]">
-                               
-<!--                           
-                               <xsl:message>Bus Std of conn <xsl:value-of select="@BUSSTD"/></xsl:message>
--->                            
-                               <xsl:variable name="busStd_"          select="@BUSSTD"/>
-                               <xsl:variable name="busName_"         select="@BUSNAME"/>
-                               <xsl:variable name="lane_X_"          select="@BUSLANE_X"/>
-                               <xsl:variable name="laneInSpace_X_"   select="($extSpaceWest_W_ + ($lane_X_ * $BUS_LANE_W))"/>
-                               
-                               <xsl:variable name="bus_color_">
-                                       <xsl:call-template name="BusType2Color">
-                                               <xsl:with-param name="busType" select="@BUSSTD"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <xsl:choose>
-                                       
-<!-- 
-                ===========================================================
-                       Handle Bucket connections to the shared busses.
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and @IS_BKTCONN and BUSCONN[@BIFRANK] and /EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX">
-                                               
-                                               <xsl:call-template name="BCLaneSpace_BucketToSharedBus">
-                                                       <xsl:with-param name="busName"      select="$busName_"/>
-                                                       <xsl:with-param name="busStd"       select="$busStd_"/>
-                                                       <xsl:with-param name="bifRank"      select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="sbs_Y"        select="$sbs_Y_"/>
-                                                       <xsl:with-param name="stkToEast"    select="$stkToEast_"/>
-                                                       <xsl:with-param name="stkToWest"    select="$stkToWest_"/>
-                                                       <xsl:with-param name="stkToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="stkToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="laneInSpace_X"      select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-                                               
-                                       </xsl:when>
-                                       
-                                       
-<!--
-                ===========================================================
-                       Handle Processor's Shared bus connections.
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and @IS_SBSCONN and BUSCONN[@BIF_Y and @IS_PROCONN and @INSTANCE and @BUSINTERFACE] and /EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX">
-                                               <xsl:call-template name="BCLaneSpace_ProcBifToSharedBus">
-                                                       <xsl:with-param name="busName"      select="$busName_"/>
-                                                       <xsl:with-param name="busStd"       select="$busStd_"/>
-                                                       <xsl:with-param name="bifRank"      select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="sbs_Y"        select="$sbs_Y_"/>
-                                                       <xsl:with-param name="stkToEast"    select="$stkToEast_"/>
-                                                       <xsl:with-param name="stkToWest"    select="$stkToWest_"/>
-                                                       <xsl:with-param name="stkToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="stkToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="laneInSpace_X"      select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-                                       </xsl:when>     
-                                       
-                                       
-<!--
-                ===========================================================
-                       Handle non Processor Sharedebus connections.
-                ===========================================================
--->
-                                       <xsl:when test="@BUSLANE_X and @IS_SBSCONN and BUSCONN[@BIF_Y and not(@IS_PROCONN) and @INSTANCE and @BUSINTERFACE] and /EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName_)]/@BUSINDEX">
-                                               <xsl:call-template name="BCLaneSpace_NonProcBifToSharedBus">
-                                                       <xsl:with-param name="busName"      select="$busName_"/>
-                                                       <xsl:with-param name="busStd"       select="$busStd_"/>
-                                                       <xsl:with-param name="bifRank"      select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="sbs_Y"        select="$sbs_Y_"/>
-                                                       <xsl:with-param name="stkToEast"    select="$stkToEast_"/>
-                                                       <xsl:with-param name="stkToWest"    select="$stkToWest_"/>
-                                                       <xsl:with-param name="stkToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="stkToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="laneInSpace_X"      select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-                                       </xsl:when>                                     
-                                       
-                                       
-<!-- 
-                ===========================================================
-                       Handle connections from processors to Memory UNITs
-                ===========================================================
--->                    
-                                       <xsl:when test="@BUSLANE_X and @IS_MEMCONN and not(@IS_MULTISTK) and BUSCONN[@BIF_Y and @IS_PROCONN and not(@IS_SPLITCONN) and @INSTANCE and @BUSINTERFACE]">
-                                               <xsl:call-template name="BCLaneSpace_ProcBifToMemoryUnit">
-                                                       <xsl:with-param name="busName"      select="$busName_"/>
-                                                       <xsl:with-param name="busStd"       select="$busStd_"/>
-                                                       <xsl:with-param name="bifRank"      select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="sbs_Y"        select="$sbs_Y_"/>
-                                                       <xsl:with-param name="stkToEast"    select="$stkToEast_"/>
-                                                       <xsl:with-param name="stkToWest"    select="$stkToWest_"/>
-                                                       <xsl:with-param name="stkToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="stkToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="laneInSpace_X"      select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-                                       </xsl:when>                             
-                               
-                                       
-<!-- 
-                ===========================================================
-                       Handle generic Point to Point connections
-                ===========================================================
--->
-                                       
-                               <xsl:when test="@BUSLANE_X and not(@IS_MULTISTK) and not(@IS_MEMCONN) and not(@IS_SBSCONN) and BUSCONN[@BIF_Y and @INSTANCE and @BUSINTERFACE and not(@IS_SPLITCONN)]">
-                                               
-                                               <xsl:call-template name="BCLaneSpace_PointToPoint">
-                                                       <xsl:with-param name="busName"      select="$busName_"/>
-                                                       <xsl:with-param name="busStd"       select="$busStd_"/>
-                                                       <xsl:with-param name="bifRank"      select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="sbs_Y"        select="$sbs_Y_"/>
-                                                       <xsl:with-param name="stkToEast"    select="$stkToEast_"/>
-                                                       <xsl:with-param name="stkToWest"    select="$stkToWest_"/>
-                                                       <xsl:with-param name="stkToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="stkToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="laneInSpace_X"      select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-                                       </xsl:when>                             
-                               
-                                       
-<!-- 
-                ===========================================================
-                       Handle MultiStack Point to Point connections
-                ===========================================================
--->
-                                       
-                               <xsl:when test="@BUSLANE_X and (@IS_MULTISTK) and not(@IS_SBSCONN) and BUSCONN[@BIF_Y and @IS_PROCONN and @INSTANCE and @BUSINTERFACE]">
-
-                                       <xsl:call-template name="BCLaneSpace_MultiStack_PointToPoint">
-                                                       <xsl:with-param name="busName"      select="$busName_"/>
-                                                       <xsl:with-param name="busStd"       select="$busStd_"/>
-                                                       <xsl:with-param name="bifRank"      select="BUSCONN/@BIFRANK"/>
-                                                       <xsl:with-param name="sbs_Y"        select="$sbs_Y_"/>
-                                                       <xsl:with-param name="stkToEast"    select="$stkToEast_"/>
-                                                       <xsl:with-param name="stkToWest"    select="$stkToWest_"/>
-                                                       <xsl:with-param name="stkToEast_W"  select="$stackToEast_W_"/>
-                                                       <xsl:with-param name="stkToWest_W"  select="$stackToWest_W_"/>
-                                                       <xsl:with-param name="laneInSpace_X"      select="$laneInSpace_X_"/>
-                                               </xsl:call-template>    
-                                       </xsl:when>                             
-                               
-                                               
-<!-- 
-                ===========================================================
-                       Handle Processor to processor connections
-                ===========================================================
--->
-                       <xsl:when test="(@IS_PROC2PROC and (count(BUSCONN[@BIF_Y and @INSTANCE and @BUSINTERFACE]) = 2))">
-                                       
-                                       <xsl:call-template name="BCLaneSpace_ProcToProc">
-                                               <xsl:with-param name="busName"      select="$busName_"/>
-                                               <xsl:with-param name="busStd"       select="$busStd_"/>
-                                               <xsl:with-param name="bifRank"      select="BUSCONN/@BIFRANK"/>
-                                               <xsl:with-param name="sbs_Y"        select="$sbs_Y_"/>
-                                               <xsl:with-param name="stkToEast"    select="$stkToEast_"/>
-                                               <xsl:with-param name="stkToWest"    select="$stkToWest_"/>
-                                               <xsl:with-param name="stkToEast_W"  select="$stackToEast_W_"/>
-                                               <xsl:with-param name="stkToWest_W"  select="$stackToWest_W_"/>
-                                               <xsl:with-param name="laneInSpace_X"      select="$laneInSpace_X_"/>
-                                       </xsl:call-template>    
-                               
-                       </xsl:when>
-                                       
-                                       
-                                       
-<!-- 
-                ===========================================================
-                       Handle Split connections, (connections that go between adjacent stacks)
-                ===========================================================
--->
-                       <xsl:when test="(BUSCONN[@BIF_Y and @INSTANCE and @BUSINTERFACE and @IS_SPLITCONN])">
-                               <xsl:call-template name="BCLaneSpace_SplitConn">
-                                       <xsl:with-param name="busName"      select="$busName_"/>
-                                       <xsl:with-param name="busStd"       select="$busStd_"/>
-                                       <xsl:with-param name="bifRank"      select="BUSCONN/@BIFRANK"/>
-                                       <xsl:with-param name="sbs_Y"        select="$sbs_Y_"/>
-                                       <xsl:with-param name="stkToEast"    select="$stkToEast_"/>
-                                       <xsl:with-param name="stkToWest"    select="$stkToWest_"/>
-                                       <xsl:with-param name="stkToEast_W"  select="$stackToEast_W_"/>
-                                       <xsl:with-param name="stkToWest_W"  select="$stackToWest_W_"/>
-                                       <xsl:with-param name="laneInSpace_X"      select="$laneInSpace_X_"/>
-                               </xsl:call-template>    
-                       </xsl:when>
-                                       
-               </xsl:choose>
-                                                               
-       </xsl:for-each>
-               
-       </symbol>
-                       
-</xsl:template>        
-       
-<xsl:template name="Define_BusLaneSpaces"> 
-       
-       <xsl:variable name="lastStack_" select="(/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH) - 1"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[@EAST]">
-               <xsl:sort select="@EAST" data-type="number"/>
-                       
-               <xsl:call-template name="Define_BusLaneSpace">
-                       <xsl:with-param name="stackToEast"  select="@EAST"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-       
-<!--   
-       <xsl:message>Last Stack <xsl:value-of select="$lastStack_"/></xsl:message>
--->    
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@WEST = $lastStack_)]">
-               <xsl:call-template name="Define_BusLaneSpace">
-                       <xsl:with-param name="stackToWest"  select="$lastStack_"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-                       
-</xsl:template>
-               
-       
-       
-       
-</xsl:stylesheet>
\ No newline at end of file
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDCalculations.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDCalculations.xsl
deleted file mode 100644 (file)
index ddec612..0000000
+++ /dev/null
@@ -1,1146 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-       
-<xsl:template name="_calc_Proc_Height">
-       <xsl:param name="procInst"  select="_processor_"/>
-       
-       <xsl:variable name="tot_bifs_h_">
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInst)]/@BIFS_H)">0</xsl:if>
-               
-               <xsl:if test="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInst)]/@BIFS_H">
-                       <xsl:variable name="bifs_h_" select="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $procInst)]/@BIFS_H)"/>
-                       <xsl:value-of select="(($BIF_H + $BIF_GAP) * $bifs_h_)"/>       
-               </xsl:if>
-       </xsl:variable> 
-       
-       <xsl:value-of select="(($MOD_LANE_H * 2) + $tot_bifs_h_ + ($MOD_LABEL_H + $BIF_GAP))"/> 
-</xsl:template>
-
-<xsl:template name="_calc_Max_Proc_Height">
-
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="proc_heights_">
-       
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE)">
-                       <PROC HEIGHT="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE">
-                       <xsl:variable name="procInst_" select="@INSTANCE"/> 
-                       <xsl:variable name="proc_height_">
-                               <xsl:call-template name="_calc_Proc_Height">    
-                                       <xsl:with-param name="procInst" select="$procInst_"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found Proc height as <xsl:value-of select="$proc_height_"/></xsl:message>
--->                    
-                       <PROC HEIGHT="{$proc_height_}"/>
-               </xsl:for-each>
-       </xsl:variable>
-       
-       <!-- Return the max of them --> 
-<!--   
-       <xsl:message>Found Proc ax as <xsl:value-of select="math:max(exsl:node-set($proc_heights_)/PROC/@HEIGHT)"/></xsl:message>
--->    
-
-       <xsl:value-of select="math:max(exsl:node-set($proc_heights_)/PROC/@HEIGHT)"/>
-</xsl:template>
-
-
-<xsl:template name="_calc_Proc_MemoryUnits_Height">
-       <xsl:param name="procInst"  select="_processor_"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $procInst) and (@MODCLASS = 'MEMORY_UNIT'))])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $procInst) and (@MODCLASS='MEMORY_UNIT'))]">
-               
-       <xsl:variable name="peri_gap_">
-               <xsl:choose>
-                       <xsl:when test="not(@CSTACK_INDEX)">
-                               <xsl:value-of select="$BIF_H"/>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>   
-       </xsl:variable> 
-                       
-               
-               <!-- Store the all memory unit heights in a variable -->
-               <xsl:variable name="memU_heights_">
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $procInst) and (@MODCLASS='MEMORY_UNIT'))]">
-<!--                           
-                               <xsl:variable name="unitId_" select="@PSTACK_MODS_Y"/>
--->                            
-                               <xsl:variable name="unitHeight_">
-                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                               <xsl:with-param name="shapeId" select="@SHAPE_ID"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <MEM_UNIT HEIGHT="{$unitHeight_ + $peri_gap_}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($memU_heights_)/MEM_UNIT/@HEIGHT)"/>
-       </xsl:if>
-</xsl:template>
-       
-
-<xsl:template name="_calc_Proc_Peripherals_Height">
-       <xsl:param name="procInst"  select="_processor_"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $procInst) and not(@MODCLASS = 'MEMORY_UNIT'))])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $procInst) and not(@MODCLASS='MEMORY_UNIT'))]">
-       
-               <xsl:variable name="peri_gap_">
-                       <xsl:if test="@CSTACK_INDEX">
-                               <xsl:value-of select="$BIF_H"/>
-                       </xsl:if>
-                       <xsl:if test="not(@IS_CSTACK)">0</xsl:if>
-               </xsl:variable>
-       
-               <!-- Store the all peripheral heights in a variable -->
-               <xsl:variable name="peri_heights_">
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $procInst) and not(@MODCLASS='MEMORY_UNIT'))]">
-                               <xsl:for-each select="MODULE">
-<!--                                   
-                                       <xsl:message><xsl:value-of select="@INSTANCE"/></xsl:message>           
--->                                    
-                                       <xsl:variable name="peri_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="shapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                                       <PERI HEIGHT="{$peri_height_ + $peri_gap_}"/>
-                               </xsl:for-each>         
-                       </xsl:for-each>
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($peri_heights_)/PERI/@HEIGHT)"/>
-       </xsl:if>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Space_AbvSbs_Height">
-       <xsl:param name="stackToEast"  select="'NONE'"/>
-       <xsl:param name="stackToWest"  select="'NONE'"/>
-       
-       
-       <xsl:variable name = "stackAbvSbs_West_H_">
-               <xsl:choose>
-                       <xsl:when test="(($stackToEast = '0')   and     ($stackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($stackToEast = 'NONE') and not($stackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                       <xsl:with-param name="stackIdx"  select="$stackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($stackToEast = '0') and ($stackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                       <xsl:with-param name="stackIdx"  select="($stackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name = "stackAbvSbs_East_H_">
-               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                       <xsl:with-param name="stackIdx"  select="$stackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="stackAbvSbs_heights_">
-               <STACK HEIGHT="{$stackAbvSbs_East_H_}"/>
-               <STACK HEIGHT="{$stackAbvSbs_West_H_}"/>
-       </xsl:variable>
-       
-       <xsl:value-of select="math:max(exsl:node-set($stackAbvSbs_heights_)/STACK/@HEIGHT)"/>
-</xsl:template>
-
-       
-<xsl:template name="_calc_Space_BlwSbs_Height">
-       <xsl:param name="stackToEast"  select="'NONE'"/>
-       <xsl:param name="stackToWest"  select="'NONE'"/>
-               
-       <xsl:variable name = "stackBlwSbs_West_H_">
-               <xsl:choose>
-                       <xsl:when test="(($stackToEast = '0')    and    ($stackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($stackToEast = 'NONE') and not($stackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="stackIdx"  select="$stackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($stackToEast = '0') and    ($stackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="stackIdx"  select="($stackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-               </xsl:choose>
-       </xsl:variable>
-       
-       
-       <xsl:variable name = "stackBlwSbs_East_H_">
-               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                       <xsl:with-param name="stackIdx"  select="$stackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="stackBlwSbs_heights_">
-               <STACK HEIGHT="{$stackBlwSbs_East_H_}"/>
-               <STACK HEIGHT="{$stackBlwSbs_West_H_}"/>
-       </xsl:variable>
-       
-       <xsl:value-of select="math:max(exsl:node-set($stackBlwSbs_heights_)/STACK/@HEIGHT)"/>
-</xsl:template>
-       
-
-       
-<xsl:template name="_calc_Stack_AbvSbs_Height">
-       <xsl:param name="stackIdx"  select="100"/>
-<!--   
-       <xsl:message>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</xsl:message>
--->    
-       
-       <xsl:if test="(not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) and (@IS_ABVSBS))]) and
-                                  not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $stackIdx)]))"><xsl:value-of select="$PROC2SBS_GAP"/></xsl:if>
-       
-       <xsl:if test="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) and (@IS_ABVSBS))]) or
-                                  (/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $stackIdx)]))">
-               
-<!--                   
-               <xsl:variable name="peri_gap_">
-                       <xsl:value-of select="$BIF_H"/>
-                       <xsl:choose>
-                               <xsl:when test="(@SHAPE_VERTI_INDEX)">
-                               </xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable> 
--->                    
-                       
-<!--           
-               <xsl:message>The gap is <xsl:value-of select="$peri_gap_"/></xsl:message>
-               <xsl:message>The gap is <xsl:value-of select="$peri_gap_"/></xsl:message>
-               <xsl:message>================================</xsl:message>
-               <xsl:message>================================</xsl:message>
-               <xsl:message>This is above <xsl:value-of select="@INSTANCE"/></xsl:message>
-               <xsl:message><xsl:value-of select="@INSTANCE"/> : <xsl:value-of select="$peri_height_"/></xsl:message>
--->    
-       
-       
-               <!-- Store the all peripheral heights in a variable -->
-               <xsl:variable name="peri_heights_">
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) and not(@MODCLASS = 'MEMORY_UNIT') and (@IS_ABVSBS))]">
-                               <xsl:for-each select="MODULE">
-<!--                                   
-                                       <xsl:message>This is above <xsl:value-of select="@INSTANCE"/></xsl:message>
--->                                    
-                                       
-                                       <xsl:variable name="peri_height_">
-<!--                                           
-                                               <xsl:call-template name="_calc_Shape_Height">   
-                                                       <xsl:with-param name="shapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
--->     
-       
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="shapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                                       
-                                       <PERI HEIGHT="{$peri_height_ + $BIF_H}"/>
-                               </xsl:for-each>
-                       </xsl:for-each>
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) and (@MODCLASS = 'MEMORY_UNIT') and (@IS_ABVSBS))]">
-                       
-                               <xsl:variable name="memu_height_">
-                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                               <xsl:with-param name="shapeId" select="@SHAPE_ID"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                       
-<!--                           
-                               <xsl:message>Mem_Unit : <xsl:value-of select="@SHAPE_ID"/> : <xsl:value-of select="$memu_height_ + $peri_gap_"/></xsl:message>
--->                            
-                               <PERI HEIGHT="{$memu_height_ + $BIF_H}"/>
-                       
-                       </xsl:for-each>
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[((@STACK_HORIZ_INDEX = $stackIdx) and (@IS_ABVSBS))]">
-                                       
-                               <xsl:variable name="proc_height_">
-                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                               <xsl:with-param name="shapeInst" select="@INSTANCE"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-<!--                           
-               <xsl:message>===================================</xsl:message>
-               <xsl:message>Processor : <xsl:value-of select="@INSTANCE"/> : <xsl:value-of select="$peri_height_ + $peri_gap_"/></xsl:message>
-                               <PERI HEIGHT="{$proc_height_ + $PROC2SBS_GAP }"/>
--->                                    
-                               <PERI HEIGHT="{$proc_height_ + $BIF_H}"/>
-                               
-                       </xsl:for-each>
-               
-               </xsl:variable>
-               
-<!--           
-       <xsl:message><xsl:value-of select="@INSTANCE"/> : <xsl:value-of select="$peri_height_ + $peri_gap_"/></xsl:message>
-       <xsl:message>================================</xsl:message>
--->
-               
-<!--           
-       <xsl:message>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</xsl:message>
--->            
-               <xsl:value-of select="sum(exsl:node-set($peri_heights_)/PERI/@HEIGHT)"/>
-       </xsl:if>
-       
-</xsl:template>
-       
-<xsl:template name="_calc_Stack_BlwSbs_Height">
-       <xsl:param name="stackIdx"  select="100"/>
-       
-<!--   
--->    
-                       
-               <!-- Store the all peripheral heights in a variable -->
-               <xsl:variable name="stack_heights_">
-                       
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) and (@IS_BLWSBS))])">
-                               <STACKSHAPE HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) and (@IS_BLWSBS))]">
-<!--           
-               <xsl:message>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv</xsl:message>
--->    
-       
-                               <xsl:variable name="peri_gap_">
-                                       <xsl:choose>
-                                               <xsl:when test="(@SHAPE_VERTI_INDEX)">
-                                                       <xsl:value-of select="$BIF_H"/>
-                                               </xsl:when>
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                       </xsl:choose>   
-                               </xsl:variable> 
-                               
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) and not(@MODCLASS = 'MEMORY_UNIT') and (@IS_BLWSBS))]">
-                                       <xsl:for-each select="MODULE">
-<!--                                   
-                                       <xsl:message>This is below <xsl:value-of select="@INSTANCE"/></xsl:message>
--->    
-                                               <xsl:variable name="peri_height_">
-                                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                                               <xsl:with-param name="shapeInst" select="@INSTANCE"/>
-                                                       </xsl:call-template>    
-                                               </xsl:variable>
-                                               
-                                               <STACKSHAPE HEIGHT="{$peri_height_ + $peri_gap_}"/>
-                                       </xsl:for-each>
-                               </xsl:for-each>
-               
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) and (@MODCLASS = 'MEMORY_UNIT') and (@IS_BLWSBS))]">
-                       
-                                       <xsl:variable name="memu_height_">
-                                               <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                       <xsl:with-param name="shapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                       
-                                       <STACKSHAPE HEIGHT="{$memu_height_ + $peri_gap_}"/>
-                               
-<!--                           
-                               <xsl:message>Mem_Unit : <xsl:value-of select="@SHAPE_ID"/> : <xsl:value-of select="$memu_height_ + $peri_gap_"/></xsl:message>
--->    
-                       
-                       </xsl:for-each>
-               </xsl:if>
-                       
-               <xsl:variable name="sbsBuckets_H_">
-                       <xsl:call-template name="_calc_Stack_SbsBuckets_Height">
-                               <xsl:with-param name="stackIdx" select="$stackIdx"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                       
-                       <STACKSHAPE HEIGHT="{$sbsBuckets_H_}"/>
-<!--                   
-                       <xsl:message>Sbs Bucket H : <xsl:value-of select="$sbsBuckets_H_"/></xsl:message>
--->
-               </xsl:variable>
-               
-<!--           
-               <xsl:message>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv</xsl:message>
--->            
-               <xsl:value-of select="sum(exsl:node-set($stack_heights_)/STACKSHAPE/@HEIGHT)"/>
-       
-</xsl:template>
-       
-
-<xsl:template name="_calc_Stack_SbsBuckets_Height">
-       <xsl:param name="stackIdx"  select="1000"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $stackIdx)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $stackIdx)]">
-       
-               <!-- Store the all buckets heights in a variable -->
-               <xsl:variable name="bkt_heights_">
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $stackIdx)]">
-               
-                               <xsl:variable name="bkt_height_">
-                                       <xsl:call-template name="_calc_SbsBucket_Height">       
-                                               <xsl:with-param name="bucketId" select="@BUSINDEX"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-<!--                           
-                               <xsl:message>Found shared buckets height as <xsl:value-of select="$bkt_height_"/></xsl:message>
--->                            
-                               <BKT HEIGHT="{$bkt_height_ + $BIF_H}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($bkt_heights_)/BKT/@HEIGHT)"/>
-       </xsl:if>
-</xsl:template>
-
-       
-<xsl:template name="_calc_Max_Stack_BlwSbs_Height">
-
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="blwSbs_heights_">
-               
-               <!-- Default, in case there are no modules or ports -->         
-               <BLW HEIGHT="0"/>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-       
-<!--                   
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="stack_height_">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="stackIdx"  select="@EAST"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-                       
-                       <BLW HEIGHT="{$stack_height_}"/>
-                       
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@WEST = (/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH -1))]">
-                       
-<!--                   
-                       <xsl:message>Last stack of index <xsl:value-of select="@WEST"/></xsl:message>
--->                    
-                       
-                       <xsl:variable name="stack_height_">
-                               <xsl:call-template name="_calc_Stack_BlwSbs_Height">
-                                       <xsl:with-param name="stackIdx"  select="@WEST"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-                       
-                       <BLW HEIGHT="{$stack_height_}"/>
-                       
-               </xsl:for-each>
-               
-               
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found Blw Sbs max as <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BLW/@HEIGHT)"/></xsl:message>
--->    
-       <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BLW/@HEIGHT)"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Max_Stack_AbvSbs_Height">
-
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="abvSbs_heights_">
-               
-               <!-- Default, in case there are no modules or ports -->         
-               <ABV HEIGHT="0"/>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-                       
-<!--                   
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="stack_height_">
-                               <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                                       <xsl:with-param name="stackIdx"  select="@EAST"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found stack of width <xsl:value-of select="$stack_width_"/></xsl:message>
-                       <xsl:message>==============================</xsl:message>
--->                    
-                       
-                       <ABV HEIGHT="{$stack_height_}"/>
-                       
-               </xsl:for-each>
-               
-               
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found Blw Sbs max as <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BLW/@HEIGHT)"/></xsl:message>
--->    
-       <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($abvSbs_heights_)/ABV/@HEIGHT)"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Max_Proc_PerisAbvSbs_Height">
-       <xsl:param name="procInst"  select="_processor_"/>
-       
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="abvSbs_heights_">
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE)">
-                       <ABV HEIGHT="0"/>
-               </xsl:if>
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE">
-                       <xsl:variable name="procInst_" select="@INSTANCE"/> 
-<!--                   
-                       <xsl:message>Found Blw Sbs height as <xsl:value-of select="$blwSbs_"/></xsl:message>
-                       <ABV HEIGHT="{$pAbvSbs_}"/>
--->                    
-                       
-                       <xsl:variable name="pAbvSbs_">
-                               <xsl:call-template name="_calc_Proc_PerisAbvSbs_Height">        
-                                       <xsl:with-param name="procInst" select="$procInst_"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:variable name="memUs_">
-                               <xsl:call-template name="_calc_Proc_MemoryUnits_Height">        
-                                       <xsl:with-param name="procInst" select="$procInst_"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found Peris Above height as <xsl:value-of select="$pAbvSbs_"/></xsl:message>
-                       <xsl:message>Found MemUs Above height as <xsl:value-of select="$memUs_"/></xsl:message>
-                       <xsl:message>Found PAbv Above height as <xsl:value-of select="($pAbvSbs_ + $memUs_)"/></xsl:message>
--->                    
-                       <ABV HEIGHT="{$pAbvSbs_ + $memUs_}"/>
-               </xsl:for-each>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found Abv Sbs max as <xsl:value-of select="math:max(exsl:node-set($abvSbs_heights_)/ABV/@HEIGHT)"/></xsl:message>
--->    
-       
-       <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($abvSbs_heights_)/ABV/@HEIGHT)"/>
-</xsl:template>
-       
-<xsl:template name="_calc_Max_Proc_SbsBuckets_Height___">
-
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="blwSbs_heights_">
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE)">
-                       <BLW HEIGHT="0"/>
-               </xsl:if>
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE">
-                       <xsl:variable name="procInst_" select="@INSTANCE"/> 
-                       <xsl:variable name="sbsBktH_">
-                               <xsl:call-template name="_calc_Proc_SbsBuckets_Height"> 
-                                       <xsl:with-param name="procInst" select="$procInst_"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-<!--                   
-                       <xsl:message>Found Blw Sbs height as <xsl:value-of select="$blwSbs_"/></xsl:message>
--->                    
-                       <BKT HEIGHT="{$sbsBktH_}"/>
-               </xsl:for-each>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found Blw Sbs max as <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BLW/@HEIGHT)"/></xsl:message>
--->    
-       <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($blwSbs_heights_)/BKT/@HEIGHT)"/>
-</xsl:template>
-       
-<xsl:template name="_calc_Max_SbsBuckets_Height___">
-       
-       
-       <xsl:variable name="bkts_h_">
-               
-               <xsl:variable name="h_proc_sbsBkts_">
-                       <xsl:call-template name="_calc_Max_Proc_SbsBuckets_Height"/>    
-               </xsl:variable>
-               <BKT HEIGHT="{$h_proc_sbsBkts_}"/>
-               
-       </xsl:variable> 
-       
-<!--   
-       <xsl:variable name="h_perisAbvSbs_">
-               <xsl:call-template name="_calc_Proc_PerisAbvSbs_Height">        
-                       <xsl:with-param name="procInst" select="$procInst"/>
-               </xsl:call-template>    
-       </xsl:variable>
--->    
-       <xsl:value-of select="math:max(exsl:node-set($bkts_h_)/BKT/@HEIGHT)"/>
-</xsl:template>
-       
-       
-
-<xsl:template name="_calc_MultiProc_Stack_Height">
-       <xsl:param name="mpstack_blkd_x"  select="100"/>
-       
-               <xsl:variable name="mpStk_ShpHeights_">
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@HAS_MULTIPROCCONNS) and (@PSTACK_BLKD_X = $mpstack_blkd_x))])">
-                               <MPSHAPE HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@HAS_MULTIPROCCONNS) and (@PSTACK_BLKD_X = $mpstack_blkd_x))]">
-                               <xsl:variable name="shpClass_" select="@MODCLASS"/> 
-                               <xsl:variable name="shpHeight_">
-                                       <xsl:choose>
-                                               <xsl:when test="$shpClass_ = 'PERIPHERAL'">
-<!--                                                   
-                                                       <xsl:message>Found Multi Proc Peripheral</xsl:message> 
--->    
-                                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                                               <xsl:with-param name="shapeInst" select="MODULE/@INSTANCE"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               <xsl:when test="$shpClass_ = 'MEMORY_UNIT'">
-<!--                                                   
-                                                       <xsl:message>Found Multi Proc Memory Unit</xsl:message> 
--->    
-                                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                               <xsl:with-param name="cshpIndex"  select="@CSHAPE_INDEX"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>Found <xsl:value-of select="$shpHeight_"/></xsl:message>
--->                            
-                               
-                               <MPSHAPE HEIGHT="{$shpHeight_}"/>
-                       </xsl:for-each>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>Found stack of height <xsl:value-of select="sum(exsl:node-set($mpStk_ShpHeights_)/MPSHAPE/@HEIGHT)"/></xsl:message>
--->    
-       
-       <xsl:value-of select="sum(exsl:node-set($mpStk_ShpHeights_)/MPSHAPE/@HEIGHT)"/>
-</xsl:template>
-
-<xsl:template name="_calc_Max_MultiProc_Stack_Height">
-       
-       <!-- Store the heights in a variable -->        
-       
-       <xsl:variable name="mpStks_Heights_">
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE)">
-                       <MPSTK HEIGHT="0"/>
-               </xsl:if>
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@PSTACK_BLKD_X)]">
-                       <xsl:variable name="mpstack_height_">
-                               <xsl:call-template name="_calc_MultiProc_Stack_Height">
-                                       <xsl:with-param name="mpstack_blkd_x" select="(@PSTACK_BLKD_X + 1)"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found <xsl:value-of select="$mpstack_height_"/></xsl:message>
--->                    
-                       <MPSTK HEIGHT="{$mpstack_height_}"/>
-               </xsl:for-each>
-               
-       </xsl:variable>
-
-               <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($mpStks_Heights_)/MPSTK/@HEIGHT)"/>
-       
-</xsl:template>
-
-
-
-<xsl:template name="_calc_Stack_Shape_Y">
-       
-       <xsl:param name="horizIdx"  select="100"/>
-       <xsl:param name="vertiIdx"  select="100"/>
-       
-<!--   
-       <xsl:message>Y at H index <xsl:value-of select="$horizIdx"/></xsl:message>
-       <xsl:message>Y at V index <xsl:value-of select="$vertiIdx"/></xsl:message>
-       <xsl:param name="sbsGap"    select="0"/>
-       <xsl:variable name="numSBSs_"     select="count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE)"/>      
-       <xsl:variable name="sbs_LANE_H_"    select="($numSBSs_ * $SBS_LANE_H)"/>
-       <xsl:variable name="sbsGap_"   select="($PROC2SBS_GAP + $sbs_LANE_H_)"/>
--->    
-       
-       <xsl:variable name="sbsGap_" select="((count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE) * $SBS_LANE_H) + $PROC2SBS_GAP)"/> 
-       
-       <xsl:if test="(not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $horizIdx) and (@SHAPE_VERTI_INDEX = $vertiIdx))]) and  
-                          not(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(  (@STACK_HORIZ_INDEX = $horizIdx) and (@SHAPE_VERTI_INDEX = $vertiIdx))])   and
-                          not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(     (@STACK_HORIZ_INDEX = $horizIdx) and (@SHAPE_VERTI_INDEX = $vertiIdx))]))">0</xsl:if>
-       
-       
-       <xsl:if test="((/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $horizIdx) and (@SHAPE_VERTI_INDEX = $vertiIdx))])   or  
-                          (/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(  (@STACK_HORIZ_INDEX = $horizIdx) and (@SHAPE_VERTI_INDEX = $vertiIdx))])   or
-                          (/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(     (@STACK_HORIZ_INDEX = $horizIdx) and (@SHAPE_VERTI_INDEX = $vertiIdx))]))">
-               <!-- Store the spaces above this one in a variable -->
-               <xsl:variable name="spaces_above_">
-               
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $horizIdx) and (@SHAPE_VERTI_INDEX &lt; $vertiIdx))])">
-                               <SPACE HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <!-- Store the height of all peripherals and memory units above this one-->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $horizIdx)  and (@SHAPE_VERTI_INDEX &lt; $vertiIdx))]">
-                               
-                               <xsl:if test="not(@MODCLASS='MEMORY_UNIT')">    
-                                       <xsl:variable name="peri_height_">
-                                               <xsl:call-template name="_calc_Shape_Height">   
-                                                       <xsl:with-param name="shapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-<!--                                   
-                                       <xsl:message>Found peri height <xsl:value-of select="$peri_height_"/></xsl:message>
--->    
-       
-                                       <SPACE HEIGHT="{$peri_height_ + $BIF_H}"/>
-                               </xsl:if>
-                               
-                               <xsl:if test="(@MODCLASS='MEMORY_UNIT')">       
-                                       <xsl:variable name="memu_height_">
-                                               <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                       <xsl:with-param name="shapeId" select="@SHAPE_ID"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-<!--                                   
-                                       <xsl:message>Found unit height <xsl:value-of select="$memu_height_"/></xsl:message>
--->                                    
-                                       <SPACE HEIGHT="{$memu_height_ + $BIF_H}"/>
-                               </xsl:if>
-                               
-                       </xsl:for-each>
-                       
-                       <!-- Store the height of all the processors above this one-->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[((@STACK_HORIZ_INDEX = $horizIdx)  and (@SHAPE_VERTI_INDEX &lt; $vertiIdx))]">
-                               <xsl:variable name="proc_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="shapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <SPACE HEIGHT="{$proc_height_ + $BIF_H}"/>
-                       </xsl:for-each>
-                       
-                       
-                       <!-- If its a peripheral that is below the shared busses, or its a shared bus bucket -->
-                       <!-- add the height of the shared busses and the processor.                           -->
-                       <xsl:if  test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $horizIdx) and (@SHAPE_VERTI_INDEX = $vertiIdx))]/@IS_BLWSBS)">
-                               <SPACE HEIGHT="{$sbsGap_}"/>
-                       </xsl:if>
-                       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[((@STACK_HORIZ_INDEX = $horizIdx) and (@SHAPE_VERTI_INDEX = $vertiIdx))])">
-                               <SPACE HEIGHT="{$sbsGap_}"/>
-                       </xsl:if>
-                       
-                       <!-- Store the height of all shared bus buckets above this one-->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[((@STACK_HORIZ_INDEX = $horizIdx)  and (@SHAPE_VERTI_INDEX &lt; $vertiIdx))]">
-                               <xsl:variable name="bkt_height_">
-                                       <xsl:call-template name="_calc_SbsBucket_Height">
-                                               <xsl:with-param name="bucketId" select="@BUSINDEX"/>
-                                       </xsl:call-template>    
-                               </xsl:variable>
-                               
-                               <SPACE HEIGHT="{$bkt_height_ + $BIF_H}"/>
-                       </xsl:for-each>
-                       
-               </xsl:variable>
-               
-               <xsl:value-of select="sum(exsl:node-set($spaces_above_)/SPACE/@HEIGHT)"/>
-       </xsl:if>
-       
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Max_BusConnLane_BifY">
-       
-       <xsl:param name="busname" select="'_busname_'"/>
-       
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="busConnYs_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE/BUSCONN)">
-                       <BUSCONNY HEIGHT="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE[(@BUSNAME = $busname)]/BUSCONN">
-                       
-                       <xsl:variable name="peri_cstk_y_">
-                               <xsl:call-template name="_calc_CStackShapesAbv_Height">
-                                       <xsl:with-param name="cstackIndex"  select="../@CSTACK_INDEX"/>
-                                       <xsl:with-param name="cstackModY"   select="@CSTACK_MODS_Y"/>
-                               </xsl:call-template>    
-                       </xsl:variable> 
-                               
-                               <xsl:variable name="peri_bif_dy_">
-                                       <xsl:value-of select="(($BIF_H + $BIF_GAP)  * @BIF_Y)"/>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="peri_bc_y_">
-                                       <xsl:value-of select="($MOD_LANE_H + $MOD_LABEL_H + $BIF_GAP + $peri_bif_dy_ + ceiling($BIF_H div 2)) - ceiling($BIFC_H div 2)"/>
-                               </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found a busconn lane</xsl:message>
--->                    
-                       <BUSCONNY HEIGHT="{$peri_cstk_y_ + $peri_bif_dy_ + $peri_bc_y_}"/>
-               </xsl:for-each>
-               
-       </xsl:variable>
-
-               <!-- Return the max of them --> 
-       <xsl:value-of select="math:max(exsl:node-set($busConnYs_)/BUSCONNY/@HEIGHT)"/>
-       
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Min_BusConnLane_BifY">
-       
-       <xsl:param name="busname" select="'_busname_'"/>
-       
-       <!-- Store the heights in a variable -->        
-       <xsl:variable name="busConnYs_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE/BUSCONN)">
-                       <BUSCONNY HEIGHT="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/BUSCONNS/BUSCONNLANE[(@BUSNAME = $busname)]/BUSCONN">
-                       
-                       <xsl:variable name="peri_cstk_y_">
-                               <xsl:call-template name="_calc_CStackShapesAbv_Height">
-                                       <xsl:with-param name="cstackIndex"  select="../@CSTACK_INDEX"/>
-                                       <xsl:with-param name="cstackModY"   select="@CSTACK_MODS_Y"/>
-                               </xsl:call-template>    
-                       </xsl:variable> 
-                               
-                               <xsl:variable name="peri_bif_dy_">
-                                       <xsl:value-of select="(($BIF_H + $BIF_GAP)  * @BIF_Y)"/>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="peri_bc_y_">
-                                       <xsl:value-of select="($MOD_LANE_H + $MOD_LABEL_H + $BIF_GAP + $peri_bif_dy_ + ceiling($BIF_H div 2)) - ceiling($BIFC_H div 2)"/>
-                               </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found a busconn lane</xsl:message>
--->                    
-                       <BUSCONNY HEIGHT="{$peri_cstk_y_ + $peri_bc_y_}"/>
-               </xsl:for-each>
-               
-       </xsl:variable>
-
-               <!-- Return the min of them --> 
-       <xsl:value-of select="math:min(exsl:node-set($busConnYs_)/BUSCONNY/@HEIGHT)"/>
-       
-</xsl:template>
-       
-<xsl:template name="_calc_Stack_Height">
-       <xsl:param name="stackIdx"  select="100"/>
-       
-       <xsl:variable name="stack_height_">
-               <!-- if this is called with no vert index of a shape 
-                        it defaults to the total height of the stack -->
-               <xsl:call-template name="_calc_Stack_Shape_Y">
-                       <xsl:with-param name="horizIdx"  select="$stackIdx"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:value-of select="$stack_height_"/>
-</xsl:template>
-       
-<!--   
--->    
-       
-       
-<xsl:template name="_calc_Stack_Width">
-       <xsl:param name="stackIdx"  select="100"/>
-       
-<!--   
-       <xsl:message>=============Stack Idx <xsl:value-of select="$stackIdx"/>====</xsl:message>                        
--->    
-       <xsl:variable name="shape_widths_">     
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[@STACK_HORIZ_INDEX = $stackIdx])">
-                       <SHAPE WIDTH="0"/>
-               </xsl:if>
-                       
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@STACK_HORIZ_INDEX = $stackIdx])">
-                       <SHAPE WIDTH="0"/>
-               </xsl:if>
-                       
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $stackIdx)]">
-<!--                   
-                       <xsl:variable name="proc_w_">
-                               <xsl:value-of select="$periMOD_W"/>
-                       </xsl:variable>
-                       <xsl:message>Found processor of width <xsl:value-of select="$proc_w_"/></xsl:message>
--->    
-                       <SHAPE WIDTH="{$periMOD_W}"/>
-               </xsl:for-each>
-                       
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@STACK_HORIZ_INDEX = $stackIdx)]">
-                               
-                       <xsl:variable name="shpClass_" select="@MODCLASS"/> 
-                       <xsl:variable name="shape_w_">
-                               <xsl:choose>
-                                               
-                                               <xsl:when test="$shpClass_ = 'PERIPHERAL'">
-                                                       <xsl:value-of select="$periMOD_W"/>
-                                               </xsl:when>
-                                               
-                                               <xsl:when test="$shpClass_ = 'MEMORY_UNIT'">
-                                                       <xsl:value-of select="($periMOD_W * @MODS_W)"/>
-                                               </xsl:when>
-                                               
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                               
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--           
-                       <xsl:message>Found shape width <xsl:value-of select="$shape_w_"/></xsl:message>
--->                            
-                               
-                       <SHAPE WIDTH="{$shape_w_}"/>
-               </xsl:for-each>
-                       
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $stackIdx)]">
-                       <xsl:variable name="bucket_w_">
-                                 <xsl:value-of select="(($MOD_BKTLANE_W * 2) + (($periMOD_W * @MODS_W) + ($MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       </xsl:variable>
-                       
-<!--                           
-                       <xsl:message>Found bucket of width <xsl:value-of select="$bucket_w_"/></xsl:message>
--->                            
-                       <SHAPE WIDTH="{$bucket_w_}"/>
-               </xsl:for-each>
-                       
-       </xsl:variable>
-       
-       <xsl:value-of select="math:max(exsl:node-set($shape_widths_)/SHAPE/@WIDTH)"/>
-</xsl:template>
-       
-       
-<xsl:template name="_calc_Stack_X">
-       <xsl:param name="stackIdx"  select="0"/>
-       
-       <!-- Store the stack widths in a variable -->   
-       
-<!--   
-       <xsl:message>Looking for stack indexes less than <xsl:value-of select="$stackIdx"/></xsl:message>
--->    
-       
-       <xsl:variable name="stackspace_widths_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES[(@STACK_HORIZ_INDEX &lt; $stackIdx)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES[(@STACK_HORIZ_INDEX &lt; $stackIdx)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX &lt; $stackIdx)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt;= $stackIdx)]">
-                       
-<!--           
-                       <xsl:message>==============================</xsl:message>
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="space_width_" select="($BUS_LANE_W * @BUSLANES_W)"/>
-<!--                   
-                       <xsl:message>Bus lane space width <xsl:value-of select="@BUSLANES_W"/></xsl:message>
-                       <xsl:message>Bus lane space is <xsl:value-of select="$space_width_"/></xsl:message>
--->    
-                       
-                               <xsl:variable name="stack_width_">
-                                       <xsl:if test="not(@EAST = $stackIdx)">
-                                               <xsl:call-template name="_calc_Stack_Width">
-                                                       <xsl:with-param name="stackIdx"  select="@EAST"/>
-                                               </xsl:call-template>
-                                       </xsl:if>
-                                       <xsl:if test="(@EAST = $stackIdx)">0</xsl:if>
-                               </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found stack of width <xsl:value-of select="$stack_width_"/></xsl:message>
-                       <xsl:message>==============================</xsl:message>
--->                    
-                       
-                       <STACKSPACE WIDTH="{$stack_width_ + $space_width_}"/>
-                       
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(not(@EAST) and (@WEST = ($stackIdx -1)))]">
-                       <xsl:variable name="space_width_" select="($BUS_LANE_W * @BUSLANES_W)"/>
-                       
-<!--                   
-                       <xsl:message>Found end space of <xsl:value-of select="$space_width_"/></xsl:message>
--->                    
-                       <STACKSPACE WIDTH="{$space_width_}"/>
-               </xsl:for-each>
-               
-               
-       </xsl:variable>
-       
-       <xsl:value-of select="sum(exsl:node-set($stackspace_widths_)/STACKSPACE/@WIDTH)"/>
-       
-</xsl:template>        
-       
-<xsl:template name="_calc_Space_Width">
-       
-       <xsl:param name="stackToWest"  select="'NONE'"/>
-       <xsl:param name="stackToEast"  select="'NONE'"/>
-       
-<!--   
-       <xsl:message>Stack to West <xsl:value-of select="$stackToWest"/></xsl:message>
-       <xsl:message>Stack to East <xsl:value-of select="$stackToEast"/></xsl:message>
--->    
-       
-       <xsl:variable name="spaceWidth_">
-               <xsl:choose>
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST = $stackToEast) or (not($stackToWest = 'NONE') and (@WEST = $stackToWest)))]">
-                               <xsl:value-of select="((/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST = $stackToEast) or (not($stackToWest = 'NONE') and (@WEST = $stackToWest)))]/@BUSLANES_W) * $BUS_LANE_W)"/>
-                       </xsl:when>     
-                       <xsl:otherwise>0</xsl:otherwise>        
-               </xsl:choose>   
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>Space width <xsl:value-of select="$spaceWidth_"/></xsl:message>
--->    
-       
-       <xsl:value-of select="$spaceWidth_"/>
-</xsl:template>
-       
-       
-       
-       
-<xsl:template name="_calc_Space_X">
-       
-       <xsl:param name="stackToWest"  select="'NONE'"/>
-       <xsl:param name="stackToEast"  select="'NONE'"/>
-       
-<!--   
-       <xsl:message>Stack East <xsl:value-of select="$stackToEast"/></xsl:message>
-       <xsl:message>Stack West <xsl:value-of select="$stackToWest"/></xsl:message>
--->    
-       
-       <!-- Store the stack widths in a variable -->   
-       
-<!--   
-       <xsl:message>Looking for stack indexes less than <xsl:value-of select="$stackIdx"/></xsl:message>
--->    
-       
-       <xsl:variable name="stackspace_widths_">
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES[(@STACK_HORIZ_INDEX &lt; $stackToEast)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES[(@STACK_HORIZ_INDEX &lt; $stackToEast)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:if test="not(/EDKSYSTEM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX &lt; $stackToEast)])">
-                       <STACKSPACE WIDTH="0"/>
-               </xsl:if>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST &lt; $stackToEast) or (not($stackToWest = 'NONE') and (@EAST &lt;= $stackToWest)))]">
-                       
-<!--           
-                       <xsl:message>==============================</xsl:message>
-                       <xsl:message>Found a space of index <xsl:value-of select="@EAST"/></xsl:message>
--->    
-                       
-                       <xsl:variable name="space_width_" select="($BUS_LANE_W * @BUSLANES_W)"/>
-<!--                   
-                       <xsl:message>Bus lane space width <xsl:value-of select="@BUSLANES_W"/></xsl:message>
-                       <xsl:message>Bus lane space is <xsl:value-of select="$space_width_"/></xsl:message>
--->    
-                               <xsl:variable name="stack_width_">
-                                       <xsl:call-template name="_calc_Stack_Width">
-                                               <xsl:with-param name="stackIdx"  select="@EAST"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                       
-<!--                   
-                       <xsl:message>Found stack of width <xsl:value-of select="$stack_width_"/></xsl:message>
-                       <xsl:message>==============================</xsl:message>
--->                    
-                       
-                       <STACKSPACE WIDTH="{$stack_width_ + $space_width_}"/>
-               </xsl:for-each>
-       </xsl:variable>
-       
-       <xsl:variable name = "stackToWest_W_">
-               <xsl:choose>
-                       <xsl:when test="(($stackToEast = '0')   and     ($stackToWest = 'NONE'))">0</xsl:when>
-                       <xsl:when test="(($stackToEast = 'NONE') and not($stackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="stackIdx"  select="$stackToWest"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:when test="(not($stackToEast = '0') and ($stackToWest = 'NONE'))">
-                               <xsl:call-template name="_calc_Stack_Width">
-                                       <xsl:with-param name="stackIdx"  select="($stackToEast - 1)"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       <xsl:otherwise>0</xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-<!--   
-       <xsl:variable name = "stackToEast_W_">
-               <xsl:call-template name="_calc_Stack_Width">
-                       <xsl:with-param name="stackIdx"  select="$stackToEast"/>
-               </xsl:call-template>
-       </xsl:variable>
-       <xsl:variable name ="extSpaceEast_W_" select="ceiling($stackToEast_W_ div 2)"/>
--->    
-       
-       <xsl:variable name ="extSpaceWest_W_" select="ceiling($stackToWest_W_ div 2)"/>
-        
-       <xsl:value-of select="sum(exsl:node-set($stackspace_widths_)/STACKSPACE/@WIDTH) - $extSpaceWest_W_"/>
-</xsl:template>        
-
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDDimensions.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDDimensions.xsl
deleted file mode 100644 (file)
index d25f80f..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-
-<!-- 
-       ======================================================
-                       BUS INTERFACE DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:param name="BIF_H"     select="16"/>                              
-<xsl:param name="BIF_W"     select="32"/>                              
-       
-<xsl:param name="BIFC_H"    select="24"/>                              
-<xsl:param name="BIFC_W"    select="24"/>                              
-
-<xsl:param name="BIFC_dx"   select="ceiling($BIFC_W div 5)"/>
-<xsl:param name="BIFC_dy"   select="ceiling($BIFC_H div 5)"/>
-<xsl:param name="BIFC_Hi"   select="($BIFC_H - ($BIFC_dy * 2))"/>      
-<xsl:param name="BIFC_Wi"   select="($BIFC_W - ($BIFC_dx * 2))"/>
-
-<xsl:param name="BIF_TYPE_ONEWAY"  select="'OneWay'"/>
-       
-<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-       
-       
-<!-- 
-       ======================================================
-                       BUS DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="BUS_ARROW_W"        select="ceiling($BIFC_W div 3)"/>      
-<xsl:variable name="BUS_ARROW_H"        select="ceiling($BIFC_H div 2)"/>
-<xsl:variable name="BUS_ARROW_G"        select="ceiling($BIFC_W div 12)"/>
-       
-<!--
-<xsl:variable name="BUS_LANE_W"         select="(ceiling($BIF_W div 2) + $BUS_ARROW_W)"/>      
-<xsl:variable name="BUS_LANE_W"         select="($BIFC_W + ceiling($BIFC_W div 2))"/>  
--->    
-<xsl:variable name="BUS_LANE_W"         select="($BIF_W + ($MOD_BIF_GAP_H * 2))"/>
-<xsl:variable name="SBS_LANE_H"         select="($periMOD_H + ($BIF_H * 2))"/> 
-       
-<xsl:variable name="P2P_BUS_W"         select="($BUS_ARROW_H - ($BUS_ARROW_G * 2))"/>  
-       
-<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-       
-<!-- 
-       ======================================================
-                       IO PORT DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:param name="IOP_H"   select="16"/>                                
-<xsl:param name="IOP_W"   select="16"/>                                
-<xsl:param name="IOP_SPC" select="12"/>                                
-
-<xsl:param name="MOD_IO_GAP"   select="8"/>    
-<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-       
-<!-- 
-       ======================================================
-                       INTERRUPT NOTATION DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="INTR_W"  select="18"/>
-<xsl:variable name="INTR_H"  select="18"/>
-       
-<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-       
-       
-<!-- 
-       ======================================================
-                       MODULE DIMENSIONS
-       ======================================================
--->                            
-       
-<xsl:variable name="MOD_LABEL_W"   select="(($BIF_W * 2) + $MOD_BIF_GAP_H)"/>
-<xsl:variable name="MOD_LABEL_H"   select="(($BIF_H * 2) + ceiling($BIF_H div 3))"/>
-
-<xsl:variable name="MOD_LANE_W"    select="ceiling($BIF_W div 3)"/>
-<xsl:variable name="MOD_LANE_H"    select="ceiling($BIF_H div 4)"/>
-<xsl:variable name="MOD_EDGE_W"    select="ceiling($MOD_LANE_W div 2)"/>
-<xsl:variable name="MOD_SHAPES_G"  select="($BIF_W + $BIF_W)"/>
-<xsl:variable name="MOD_BKTLANE_H" select="$BIF_H"/>
-<xsl:variable name="MOD_BKTLANE_W" select="$BIF_H"/>
-<xsl:variable name="MOD_BUCKET_G"  select="ceiling($BIF_W div 2)"/>
-       
-<xsl:variable name="MOD_BIF_GAP_H" select="ceiling($BIF_H div 4)"/>                            
-<xsl:variable name="MOD_BIF_GAP_V" select="ceiling($BIFC_H div 2)"/>                           
-<!--   
-<xsl:variable name="MOD_BIF_GAP_V" select="ceiling($BIF_H div 4)"/>                            
--->    
-
-<xsl:variable name="periMOD_W"  select="(               ($BIF_W * 2) + ($MOD_BIF_GAP_H * 1) + ($MOD_LANE_W * 2))"/>
-<xsl:variable name="periMOD_H"  select="($MOD_LABEL_H + ($BIF_H * 1) + ($MOD_BIF_GAP_V * 1) + ($MOD_LANE_H * 2))"/>
-       
-       
-<!-- 
-       ======================================================
-                       GLOBAL DIAGRAM DIMENSIONS
-       ======================================================
--->                            
-<xsl:variable name="BLKD_IORCHAN_H"     select="$BIF_H"/>
-<xsl:variable name="BLKD_IORCHAN_W"     select="$BIF_H"/>
-<xsl:variable name="BLKD_PRTCHAN_H"     select="($BIF_H * 2) + ceiling($BIF_H div 2)"/>
-<xsl:variable name="BLKD_PRTCHAN_W"     select="($BIF_H * 2) + ceiling($BIF_H div 2) + 8"/>
-<xsl:variable name="BLKD_DRAWAREA_MIN"  select="(($MOD_BKTLANE_W * 2) + (($periMOD_W * 3) + ($MOD_BUCKET_G * 2)))"/>
-
-<xsl:variable name="BLKD_KEY_W"         select="($BLKD_DRAWAREA_MIN + ceiling($BLKD_DRAWAREA_MIN div 2.5))"/>
-<xsl:variable name="BLKD_KEY_H"         select="250"/>
-
-<xsl:variable name="BLKD_SPECS_W"       select="300"/>
-<xsl:variable name="BLKD_SPECS_H"       select="100"/>
-       
-<xsl:variable name="SBS2IP_GAP"         select="$periMOD_H"/>
-<xsl:variable name="BKT_MODS_PER_ROW"   select="3"/>
-       
-<xsl:variable name="IP2UNK_GAP"         select="$periMOD_H"/>
-<xsl:variable name="PROC2SBS_GAP"       select="($BIF_H * 2)"/>
-<xsl:variable name="IOR2PROC_GAP"       select="$BIF_W"/>
-<xsl:variable name="SPECS2KEY_GAP"      select="$BIF_W"/>
-<xsl:variable name="BLKD2KEY_GAP"       select="ceiling($BIF_W div 3)"/>
-<xsl:variable name="BRIDGE_GAP"         select="($BUS_LANE_W * 4)"/>
-       
-<xsl:variable name="BLKD_INNER_GAP"     select="ceiling($periMOD_W div 2)"/>
-<xsl:variable name="BLKD_INNER_X"              select="($BLKD_PRTCHAN_W  + $BLKD_IORCHAN_W + $BLKD_INNER_GAP)"/>
-<xsl:variable name="BLKD_INNER_Y"              select="($BLKD_PRTCHAN_H  + $BLKD_IORCHAN_H + $BLKD_INNER_GAP)"/>
-       
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDModuleDefs.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDModuleDefs.xsl
deleted file mode 100644 (file)
index 2ebc0c0..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-
-<xsl:template name="Print_BlkdModuleDefs">
-       <xsl:message>MOD_LABEL_W  : <xsl:value-of select="$MOD_LABEL_W"/></xsl:message>
-       <xsl:message>MOD_LABEL_H  : <xsl:value-of select="$MOD_LABEL_H"/></xsl:message>
-       
-       <xsl:message>MOD_LANE_W   : <xsl:value-of select="$MOD_LANE_W"/></xsl:message>
-       <xsl:message>MOD_LANE_H   : <xsl:value-of select="$MOD_LANE_H"/></xsl:message>
-       
-       <xsl:message>MOD_EDGE_W   : <xsl:value-of select="$MOD_EDGE_W"/></xsl:message>
-       <xsl:message>MOD_SHAPES_G : <xsl:value-of select="$MOD_SHAPES_G"/></xsl:message>
-       
-       <xsl:message>MOD_BKTLANE_W   : <xsl:value-of select="$MOD_BKTLANE_W"/></xsl:message>
-       <xsl:message>MOD_BKTLANE_H   : <xsl:value-of select="$MOD_BKTLANE_H"/></xsl:message>
-       <xsl:message>MOD_BUCKET_G    : <xsl:value-of select="$MOD_BUCKET_G"/></xsl:message>
-       
-</xsl:template>        
-
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDPeripherals.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDPeripherals.xsl
deleted file mode 100644 (file)
index 847d5b8..0000000
+++ /dev/null
@@ -1,1439 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-                       
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:math="http://exslt.org/math"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink"
-           extension-element-prefixes="math">
-                               
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-<!--   
-<xsl:variable name="INF_H"   select="$BIF_H       + ceiling($BIF_H div 2)"/>                           
-<xsl:variable name="INF_W"   select="($BIF_W * 2) + $BIF_GAP"/>
--->    
-
-
-<!-- ======================= DEF FUNCTIONS =================================== -->
-
-<xsl:template name="Define_FreeCmplxModules">
-       
-       <xsl:for-each select="BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and not(@IS_PENALIZED) and not(@STACK_INDEX))]">  
-               
-               <xsl:variable name="cmplxId_" select="position()"/>
-               
-               <xsl:if test="@MODCLASS='MEMORY_UNIT'">
-                       <xsl:call-template name="Define_PeripheralMemory">
-                               <xsl:with-param name="periId" select="$cmplxId_"/>
-                       </xsl:call-template>
-               </xsl:if>
-               
-               <xsl:if test="((@MODCLASS='MASTER_SLAVE') or (@MODCLASS = 'MONITOR'))">
-                       <xsl:variable name="modInst_" select="MODULE/@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-                       <xsl:call-template name="Define_Peripheral">
-                               <xsl:with-param name="modInst"  select="$modInst_"/>
-                               <xsl:with-param name="modType"  select="$modType_"/>
-                       </xsl:call-template>            
-               </xsl:if>
-               
-       </xsl:for-each>         
-</xsl:template>        
-
-
-<xsl:template name="Define_PenalizedModules">
-       
-       <xsl:for-each select="BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and @IS_PENALIZED)]">     
-               
-               <xsl:variable name="penalId_">unkmodule_<xsl:value-of select="@BKTROW"/>_<xsl:value-of select="@MODS_X"/></xsl:variable>
-               
-<!--           
-               <xsl:message>Drawing penalized module <xsl:value-of select="$penalId_"/></xsl:message>
--->            
-               
-               <xsl:if test="@MODCLASS='MEMORY_UNIT'">
-                       <xsl:call-template name="Define_PeripheralMemory">
-                               <xsl:with-param name="periId" select="$penalId_"/>
-                       </xsl:call-template>
-               </xsl:if>
-               
-<!--           
-               <xsl:if test="((@MODCLASS='MASTER_SLAVE') or (@MODCLASS = 'MONITOR'))">
--->            
-                       <xsl:variable name="modInst_" select="MODULE/@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst_)]/@MODTYPE"/>
-                       <xsl:call-template name="Define_Peripheral">
-                               <xsl:with-param name="modInst"  select="$modInst_"/>
-                               <xsl:with-param name="modType"  select="$modType_"/>
-                               <xsl:with-param name="unkInst"  select="$penalId_"/>
-                       </xsl:call-template>            
-<!--                   
-               </xsl:if>
--->            
-               
-       </xsl:for-each>         
-</xsl:template>        
-
-
-<xsl:template name="Define_IPBucket">
-                       
-       <xsl:for-each select="BLKDSHAPES/IPBUCKET">
-               
-               <xsl:for-each select="MODULE">  
-                       
-                       <xsl:call-template name="Define_IPBucketModule">
-                               <xsl:with-param name="ip_type"   select="@MODTYPE"/>
-                               <xsl:with-param name="ip_name"   select="@INSTANCE"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>         
-               
-               <symbol id="ipbucket">
-                       <xsl:variable name="bucket_w_"  select="(($MOD_BKTLANE_W * 2) + (($periMOD_W * @MODS_W) + ($MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       <xsl:variable name="bucket_h_"  select="(($MOD_BKTLANE_H * 2) + (($periMOD_H * @MODS_H) + ($MOD_BUCKET_G * (@MODS_H - 1))))"/>
-               
-               <rect x="0" 
-                     y="0"  
-                         rx="4"
-                         ry="4"
-                     width= "{$bucket_w_}" 
-                     height="{$bucket_h_}" 
-                     style="stroke-width:2; stroke:{$COL_BLACK}; fill:{$COL_IORING_LT}"/>
-                                
-                       <xsl:variable name="bkt_mods_w_" select="@MODS_W"/>
-                       
-                       <xsl:for-each select="MODULE">  
-                               
-                               <xsl:variable name="clm_"   select="((     position() - 1)  mod $bkt_mods_w_)"/>
-                               <xsl:variable name="row_"   select="floor((position() - 1)  div $bkt_mods_w_)"/>
-                               
-                               <xsl:variable name="bk_x_"  select="$MOD_BKTLANE_W + ($clm_ * ($periMOD_W + $MOD_BUCKET_G))"/>
-                               <xsl:variable name="bk_y_"  select="$MOD_BKTLANE_H + ($row_ * ($periMOD_H + $MOD_BUCKET_G))"/>
-                               
-                                        
-                               <use x="{$bk_x_}"   
-                                        y="{$bk_y_}" 
-                                        xlink:href="#ipbktmodule_{@INSTANCE}"/>                                  
-                                        
-                                        
-                       </xsl:for-each>          
-                                        
-       </symbol>               
-       
-</xsl:for-each>        
-</xsl:template>        
-
-
-<xsl:template name="Define_UNKBucket">
-                       
-       <xsl:for-each select="BLKDSHAPES/UNKBUCKET">
-       
-               <symbol id="unkbucket">
-                       <xsl:variable name="bucket_w_"  select="(($MOD_BKTLANE_W * 2) + (($periMOD_W * @MODS_W) + ($MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       <xsl:variable name="bucket_h_"  select="(($MOD_BKTLANE_H * 2) + (($periMOD_H * @MODS_H) + ($MOD_BUCKET_G * (@MODS_H - 1))))"/>
-               
-               <rect x="0" 
-                     y="0"  
-                         rx="4"
-                         ry="4"
-                     width= "{$bucket_w_}" 
-                     height="{$bucket_h_}" 
-                     style="stroke-width:2; stroke:{$COL_BLACK}; fill:{$COL_UNK_BG}"/>
-                                
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and @IS_PENALIZED)]">  
-                       
-                       <xsl:variable name="bkt_mods_w_" select="@MODS_W"/>
-                               
-                               <xsl:variable name="mod_row_"    select="@BKTROW"/>     
-                               <xsl:variable name="row_mods_h_" select="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET/BKTROW[(@INDEX = $mod_row_)]/@MODS_H"/>        
-
-<!--                           
-                               <xsl:message>The row module is <xsl:value-of select="@BKTROW"/></xsl:message>
-                               <xsl:message>The height of the module is <xsl:value-of select="$row_mods_h_"/></xsl:message>
--->                            
-                               
-                               
-                               <xsl:variable name="bk_x_"  select="$MOD_BKTLANE_W + (@MODS_X * ($periMOD_W + $MOD_BUCKET_G))"/>
-                               <xsl:variable name="bk_y_"  select="$MOD_BKTLANE_H + ($row_mods_h_ * ($periMOD_H + $MOD_BUCKET_G))"/>
-                               
-                               <use x="{$bk_x_}"   
-                                        y="{$bk_y_}" 
-                                        xlink:href="#symbol_unkmodule_{@BKTROW}_{@MODS_X}"/>                             
-<!--                            
--->                             
-
-                       </xsl:for-each>          
-
-                       
-               </symbol>               
-               
-       </xsl:for-each> 
-</xsl:template>        
-
-               
-<xsl:template name="Define_SBSBuckets">
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET">      
-               
-               <xsl:variable name="bus_name_"   select="@BUSNAME"/>
-               <xsl:variable name="bus_std_"    select="@BUSSTD"/>
-<!--           
-               <xsl:variable name="bus_std_"    select="BUSCONNS/BUSCONN/@BUSSTD"/>
--->    
-               <xsl:variable name="bus_conn_w_" select="BUSCONNS/@BUSLANE_W"/>
-               
-               <xsl:variable name="bucket_bg_col_">
-                       <xsl:call-template name="BusType2LightColor">
-                               <xsl:with-param name="busType" select="$bus_std_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="bucket_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="$bus_std_"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               
-               <xsl:for-each select="MODULE">  
-                       
-                       <xsl:sort data-type="text" select="@INSTANCE" order="ascending"/>
-               
-                       <xsl:call-template name="Define_SBSBucketModule">
-                               <xsl:with-param name="bif_type"  select="$bus_std_"/>
-                               <xsl:with-param name="ip_type"   select="@MODTYPE"/>
-                               <xsl:with-param name="ip_name"   select="@INSTANCE"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>         
-               
-               <symbol id="sbsbucket_{$bus_name_}">
-                       <xsl:variable name="bucket_w_"  select="(($MOD_BKTLANE_W * 2) + (($periMOD_W * @MODS_W) + ($MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                       <xsl:variable name="bucket_h_"  select="(($MOD_BKTLANE_H * 2) + ((($periMOD_H + $BIFC_H) * @MODS_H) + ($MOD_BUCKET_G * (@MODS_H - 1))))"/>
-                       
-                       <rect x="0"
-                             y="0"  
-                                 rx="4"
-                                 ry="4"
-                             width= "{$bucket_w_}" 
-                             height="{$bucket_h_}" 
-                             style="stroke-width:2; stroke:{$bucket_col_}; fill:{$bucket_bg_col_}"/>
-<!--                   
--->                    
-                                
-                       <xsl:variable name="bkt_mods_w_" select="@MODS_W"/>
-                       
-                       <xsl:for-each select="MODULE">  
-                               
-                               <xsl:sort data-type="text" select="@INSTANCE" order="ascending"/>
-                               
-                               <xsl:variable name="clm_"   select="((     position() - 1)  mod $bkt_mods_w_)"/>
-                               <xsl:variable name="row_"   select="floor((position() - 1)  div $bkt_mods_w_)"/>
-                               
-                               <xsl:variable name="bk_x_"  select="$MOD_BKTLANE_W + ($clm_ * ($periMOD_W + $MOD_BUCKET_G))"/>
-                               <xsl:variable name="bk_y_"  select="$MOD_BKTLANE_H + ($row_ * ($periMOD_H + $BIFC_H + $MOD_BUCKET_G))"/>
-                                        
-                               <!-- Lay out the module in the bucket -->
-                                <use x="{$bk_x_}" y="{$bk_y_}"  xlink:href="#sbsbktmodule_{@INSTANCE}"/>                 
-                               
-                               <!-- Add its connection to the piece shared bus -->
-                               <xsl:variable name="h_bus_y_" select="$bk_y_ + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-                               
-<!--                           
-                               <xsl:variable name="h_bus_x_" select="$bk_x_ - ($MOD_BUCKET_G + ceiling($periMOD_W div 2))"/>
--->    
-                               <xsl:variable name="h_bus_x_">
-                                       <xsl:choose>
-                                               <xsl:when test="($clm_ = '0')">0</xsl:when>
-                                       
-                                               <xsl:when test="not($clm_ = '0')">
-                                                       <xsl:value-of select="$bk_x_ - ($MOD_BUCKET_G + ceiling($periMOD_W div 2))"/>
-                                               </xsl:when>
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:variable name="h_bus_y_" select="$bk_y_ + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W)"/>
-                               <xsl:message>h bus x <xsl:value-of select="$h_bus_x_"/></xsl:message>
-                               <xsl:message>h bus y <xsl:value-of select="$h_bus_y_"/></xsl:message>
--->    
-                               <xsl:variable name="h_bus_height_" select="$P2P_BUS_W"/>
-                               <xsl:variable name="h_bus_width_"  select="($bk_x_ - $h_bus_x_ + ceiling($periMOD_W div 2))"/>  
-                               
-                               <rect x="{$h_bus_x_}" 
-                                 y="{$h_bus_y_}"  
-                                 width= "{$h_bus_width_}" 
-                                 height="{$P2P_BUS_W}" 
-                                 style="fill:{$bucket_col_}"/>
-                               
-                       </xsl:for-each>
-                       
-                       <xsl:variable name="num_sbsbktmods_" select="count(MODULE)"/>
-                       <xsl:variable name="num_sbsbktrows_" select="ceiling($num_sbsbktmods_ div $BKT_MODS_PER_ROW)"/>
-                       
-                       <!-- If there is more than one row, connect the rows with a vertical bar -->            
-                       <xsl:if test="($num_sbsbktrows_ &gt; 1)">
-                               
-                               <xsl:variable name="v_bus_x_"    select="$MOD_BKTLANE_W + ($periMOD_W + $MOD_BUCKET_G)"/>
-                               
-                               <xsl:variable name="bkt_top_"    select="$MOD_BKTLANE_H + (0                      * ($periMOD_H + $BIFC_H + $MOD_BUCKET_G))"/>
-                               <xsl:variable name="bkt_bot_"    select="$MOD_BKTLANE_H + (($num_sbsbktrows_ - 1) * ($periMOD_H + $BIFC_H + $MOD_BUCKET_G))"/>
-                               
-                               <xsl:variable name="v_bus_y_top_" select="$bkt_top_ + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-                               <xsl:variable name="v_bus_y_bot_" select="$bkt_bot_ + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-                               
-                               <xsl:variable name="v_bus_width_"   select="$P2P_BUS_W"/>
-                               <xsl:variable name="v_bus_height_"  select="($v_bus_y_bot_ - $v_bus_y_top_)"/>
-                               <rect x="0" 
-                                 y="{$v_bus_y_top_}"  
-                                 width= "{$v_bus_width_}" 
-                                 height="{$v_bus_height_}" 
-                                 style="fill:{$bucket_col_}"/>
-                       </xsl:if>
-                       
-               </symbol>
-               
-       </xsl:for-each>         
-       
-       
-</xsl:template>        
-       
-<!-- ======================= END DEF BLOCK ============================ -->
-<xsl:template name="Define_SBSBucketModule">
-       
-       <xsl:param name="bif_type"  select="'OPB'"/>
-       <xsl:param name="ip_name"   select="'ip_type'"/>
-       <xsl:param name="ip_type"   select="'ip_name'"/>
-<!--   
-       <xsl:message>The bif type is <xsl:value-of select="$bif_type"/> </xsl:message>
--->    
-       
-       
-       <xsl:variable name="bif_y_">
-               <xsl:value-of select="$MOD_LANE_H + $BIFC_H"/>  
-       </xsl:variable>
-
-       <xsl:variable name="label_y_">
-               <xsl:value-of select="$MOD_LANE_H + $BIF_H + $BIFC_H +  $MOD_BIF_GAP_V"/>       
-       </xsl:variable>
-       
-       
-    <symbol id="sbsbktmodule_{$ip_name}">
-               
-               <rect x="0"
-                     y="{$BIFC_H}"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$periMOD_W}"
-                     height= "{$periMOD_H}"
-                         style="fill:{$COL_BG}; stroke:{$COL_WHITE}; stroke-width:2"/>         
-                         
-               <rect x="{ceiling($periMOD_W div 2) - ceiling($MOD_LABEL_W div 2)}"
-                     y="{$label_y_}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$MOD_LABEL_W}"
-                     height="{$MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-               
-<!-- -->       
-                         
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$ip_name)]/@GROUP">
-               
-                       <rect x="{ceiling($periMOD_W div 2) - ceiling($MOD_LABEL_W div 2)}"
-                         y="{$label_y_ + $BIF_H + ceiling($BIF_H div 3) - 2}"
-                             rx="3" 
-                             ry="3" 
-                         width= "{$MOD_LABEL_W}"
-                         height="{$BIF_H}"
-                                 style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-       
-                  <text class="ioplblgrp" 
-                                 x="{ceiling($periMOD_W div 2)}"
-                         y="{$label_y_ + $BIF_H + ceiling($BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$ip_name)]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-          
-               <text class="bciptype" 
-                         x="{ceiling($periMOD_W div 2)}"
-                         y="{$label_y_ + 8}">
-                               <xsl:value-of select="$ip_type"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($periMOD_W div 2)}"
-                         y="{$label_y_ + 16}">
-                               <xsl:value-of select="$ip_name"/>
-          </text>
-          
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $ip_name)]/BUSINTERFACE[not(@BUSNAME = '__NOC__')]">
-                       
-                       <xsl:variable name="bif_busstd_">
-                               <xsl:choose>
-                                       <xsl:when test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>        
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="'TRS'"/>  
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_name_">
-                               <xsl:choose>
-                                       <xsl:when test="string-length(@NAME) &lt;= 5">
-                                               <xsl:value-of select="@NAME"/>  
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="substring(@NAME,0,5)"/>   
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-       
-                   <xsl:variable name="bif_x_"  select="ceiling($periMOD_W div 2) - ceiling($BIF_W div 2)"/>
-                       
-                       <!-- Draw the BIF -->
-                       <use  x="{$bif_x_}"   y="{$bif_y_}"  xlink:href="#{$bif_busstd_}_Bif"/>
-                       
-<!--                   
-                       <symbol id="{$bus_type}_busconn_SLAVE"> 
--->             
-        
-                       <!-- Draw the BIF connection -->
-                       <use  x="{$bif_x_ + ceiling($BIF_W div 2) - ceiling($BIFC_W div 2)}"   y="{$bif_y_ - $BIFC_H - $MOD_LANE_H}"  xlink:href="#{$bif_busstd_}_busconn_{@BIFRANK}"/>
-                               
-                       <text class="biflabel" 
-                                 x="{$bif_x_ + ceiling($BIF_W div 2)}"
-                                 y="{$bif_y_ + ceiling($BIF_H div 2) + 3}">
-                                       <xsl:value-of select="$bif_name_"/>
-                       </text>
-                       
-               </xsl:for-each>
-               
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$ip_name)]/@INTCINDEX">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$ip_name)]/@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptCntrl">
-                               <xsl:with-param name="intr_col" select="$intr_col_"/>
-                               <xsl:with-param name="intr_x"   select="($periMOD_W - ceiling($INTR_W div 2))"/>
-                               <xsl:with-param name="intr_y"   select="3 + $BIFC_H"/>
-                               <xsl:with-param name="intr_idx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$ip_name)]/@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
-               
-                     
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$ip_name)]/INTCCNTLRTRGS/INTCTRG">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptSource">
-                               <xsl:with-param name="intr_col" select="$intr_col_"/>
-                               <xsl:with-param name="intr_x"   select="($periMOD_W - $INTR_W)"/>
-                               <xsl:with-param name="intr_y"   select="((position() - 1) * (ceiling($INTR_H div 2) + 3)) + $BIFC_H"/>
-                               <xsl:with-param name="intr_pri" select="@PRIORITY"/>
-                               <xsl:with-param name="intr_idx" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>
-               
-       </symbol>                         
-       
-</xsl:template>        
-
-<xsl:template name="Define_IPBucketModule">
-       
-       <xsl:param name="ip_name"   select="'ip_type'"/>
-       <xsl:param name="ip_type"   select="'ip_name'"/>
-       
-       <xsl:variable name="bif_y_">
-               <xsl:value-of select="$MOD_LANE_H"/>    
-       </xsl:variable>
-
-       <xsl:variable name="label_y_">
-               <xsl:value-of select="(ceiling($periMOD_H div 2) - ceiling($MOD_LABEL_H div 2))"/>      
-       </xsl:variable>
-       
-    <symbol id="ipbktmodule_{$ip_name}">
-
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$periMOD_W}"
-                     height= "{$periMOD_H}"
-                         style="fill:{$COL_BG}; stroke:{$COL_BLACK}; stroke-width:2"/>         
-                         
-               <rect x="{ceiling($periMOD_W div 2) - ceiling($MOD_LABEL_W div 2)}"
-                     y="{$label_y_}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$MOD_LABEL_W}"
-                     height="{$MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-                         
-<!--
-                         y="{$label_y_ + ceiling($MOD_LABEL_H div 2) - 4}"
-                         y="{$label_y_ + ceiling($MOD_LABEL_H div 2) + 4}"
--->                      
-
-               <text class="bciptype" 
-                         x="{ceiling($periMOD_W div 2)}"
-                         y="{$label_y_ + 8}">
-                               <xsl:value-of select="$ip_type"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($periMOD_W div 2)}"
-                         y="{$label_y_ + 16}">
-                               <xsl:value-of select="$ip_name"/>
-          </text>
-          
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $ip_name)]/@GROUP">
-               
-               <rect x="{ceiling($periMOD_W div 2) - ceiling($MOD_LABEL_W div 2)}"
-                     y="{$label_y_ + $BIF_H + ceiling($BIF_H div 3) - 2}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$MOD_LABEL_W}"
-                     height="{$BIF_H}"
-                         style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-       
-                  <text class="ioplblgrp" 
-                         x="{ceiling($periMOD_W div 2)}"
-                     y="{$label_y_ + $BIF_H + ceiling($BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$ip_name]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-               
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$ip_name)]/INTCCNTLRTRGS/INTCTRG">
-                       
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptSource">
-                               <xsl:with-param name="intr_col" select="$intr_col_"/>
-                               <xsl:with-param name="intr_x"   select="($periMOD_W - $INTR_W)"/>
-                               <xsl:with-param name="intr_y"   select="((position() - 1) * (ceiling($INTR_H div 2) + 3))"/>
-                               <xsl:with-param name="intr_pri" select="@PRIORITY"/>
-                               <xsl:with-param name="intr_idx" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>
-          
-       </symbol>                         
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_Peripheral"> 
-       
-<!-- when the module is oriented normal its label goes above the bifs -->      
-<!-- when the module is oriented rot180, (part of a processor memory controller for example) its label goes below the bifs --> 
-
-       <xsl:param name="modVori"    select="'normal'"/>
-       <xsl:param name="modInst"    select="'_instance_'"/>
-       <xsl:param name="modType"    select="'_modtype_'"/>
-       <xsl:param name="unkInst"    select="'_unknown_'"/>
-       <xsl:param name="horizIdx"   select="'_unknown_'"/>
-       <xsl:param name="vertiIdx"   select="'_unknown_'"/>
-       
-<!--   
-       <xsl:message>Stack Index Y <xsl:value-of select="$cstkIndex"/></xsl:message>
-       <xsl:message>Stack       Y <xsl:value-of select="$cstkMods_Y"/></xsl:message>
--->    
-       
-       <xsl:variable name="modName_">
-               <xsl:choose>
-                       <xsl:when test="$unkInst = '_unknown_'">
-                               <xsl:value-of select="$modInst"/>       
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$unkInst"/>       
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="modSymbolName_">
-               <xsl:choose>
-                       <xsl:when test="(not($horizIdx = '_unknown_') and not($vertiIdx = '_unknown_'))">
-                               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                                       <xsl:with-param name="horizIdx"  select="$horizIdx"/>
-                                       <xsl:with-param name="vertiIdx"  select="$vertiIdx"/>
-                               </xsl:call-template>            
-                       </xsl:when>
-                       <xsl:otherwise>symbol_<xsl:value-of select="$modName_"/></xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="modTypeName_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst)]/@MODTYPE"/>
-       
-       
-<!--   
-       <xsl:message>The symbol type of the module is <xsl:value-of select="$modTypeName_"/></xsl:message>
-       <xsl:message>The symbol name of the module is <xsl:value-of select="$modSymbolName_"/></xsl:message>
--->    
-       
-       <xsl:variable name="bifs_h_">   
-               <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $modInst)]/@BIFS_H) and not(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $modInst)]/@BIFS_H)">0</xsl:if>
-       
-               <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $modInst)]/@BIFS_H)">
-                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $modInst)]/@BIFS_H"/>
-               </xsl:if>
-       
-               <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $modInst)]/@BIFS_H)">
-                       <xsl:value-of select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $modInst)]/@BIFS_H"/>
-               </xsl:if>
-       </xsl:variable>         
-       
-       <xsl:variable name="label_y_">
-               <xsl:choose>
-                       <xsl:when test="$modVori = 'rot180'">
-                               <xsl:value-of select="($MOD_LANE_H + (($BIF_H + $MOD_BIF_GAP_V) * $bifs_h_))"/> 
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="$MOD_LANE_H"/>    
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="bif_dy_">
-               <xsl:choose>
-                       <xsl:when test="$modVori = 'rot180'">
-                               <xsl:value-of select="$MOD_LANE_H"/>    
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:value-of select="($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V)"/>  
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="peri_stroke_col_">
-               <xsl:choose>
-                       <xsl:when test="((@MODCLASS = 'MASTER_SLAVE') or (@MODCLASS = 'MONITOR')) and BUSCONNS/BUSCONN">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="busType" select="BUSCONNS/BUSCONN/@BUSSTD"/>
-                               </xsl:call-template>
-                       </xsl:when>
-                       
-                       <xsl:otherwise>
-                               <xsl:value-of select="$COL_WHITE"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="modHeight_">
-               <xsl:call-template name="_calc_PeriShape_Height">
-                       <xsl:with-param name="shapeInst"  select="$modName_"/>
-               </xsl:call-template>    
-       </xsl:variable>         
-       
-    <symbol id="{$modSymbolName_}">
-               
-               <xsl:if test="$modTypeName_ = 'mpmc'">
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$periMOD_W}"
-                     height= "{$modHeight_}"
-                         style="fill:#669900; stroke:{$peri_stroke_col_}; stroke-width:2"/>            
-               </xsl:if>       
-               
-               <xsl:if test="not($modTypeName_ = 'mpmc')">
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$periMOD_W}"
-                     height= "{$modHeight_}"
-                         style="fill:{$COL_BG}; stroke:{$peri_stroke_col_}; stroke-width:2"/>          
-               </xsl:if>       
-               
-                                         
-               <rect x="{ceiling($periMOD_W div 2) - ceiling($MOD_LABEL_W div 2)}"
-                     y="{$label_y_}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$MOD_LABEL_W}"
-                     height="{$MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-                         
-<!--                     
-                         y="{$label_y_ + ceiling($MOD_LABEL_H div 2) - 4}">
-                         y="{$label_y_ + ceiling($MOD_LABEL_H div 2) + 4}">
--->
-                         
-               <text class="bciptype" 
-                         x="{ceiling($periMOD_W div 2)}"
-                         y="{$label_y_ + 8}">
-                               <xsl:value-of select="$modType"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($periMOD_W div 2)}"
-                         y="{$label_y_ + 16}">
-                               <xsl:value-of select="$modInst"/>
-          </text>
-          
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$modInst]/@GROUP">
-               
-               <rect x="{ceiling($periMOD_W div 2) - ceiling($MOD_LABEL_W div 2)}"
-                     y="{$label_y_ + $BIF_H + ceiling($BIF_H div 3) - 2}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$MOD_LABEL_W}"
-                     height="{$BIF_H}"
-                         style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-                  <text class="ioplblgrp" 
-                         x="{ceiling($periMOD_W div 2)}"
-                     y="{$label_y_ + $BIF_H + ceiling($BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$modInst]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-          
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$modInst]/BUSINTERFACE[(@BIF_X and @BIF_Y and not(@BUSNAME = '__NOC__'))]">
-                       
-                       <xsl:variable name="bif_busstd_">
-                               <xsl:choose>
-                                       <xsl:when test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>        
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="'TRS'"/>  
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_y_">
-                               <xsl:value-of select="(($BIF_H + $MOD_BIF_GAP_V)  * @BIF_Y)"/>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_buscol_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="busType" select="$bif_busstd_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-               
-                       
-                       <xsl:variable name="bif_name_">
-                               <xsl:choose>
-                                       <xsl:when test="not(@NAME)">'UNK'</xsl:when>
-                                       <xsl:when test="string-length(@NAME) &lt;= 5">
-                                               <xsl:value-of select="@NAME"/>  
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="substring(@NAME,0,5)"/>   
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-       
-                       <xsl:variable name="bif_x_" >
-                               <xsl:if test="not(@ORIENTED='CENTER')">
-                                       <xsl:value-of select="(($BIF_W * @BIF_X) + ($MOD_BIF_GAP_H * @BIF_X) + ($MOD_LANE_W * 1))"/>
-                               </xsl:if>
-                               <xsl:if test="(@ORIENTED='CENTER')">
-                                       <xsl:value-of select="ceiling($periMOD_W div 2) - ceiling($BIF_W div 2)"/>
-                               </xsl:if>
-                       </xsl:variable> 
-                       
-                       <xsl:if test="not(@IS_INTCONN)">
-                               <xsl:variable name="horz_line_y_" select="($bif_y_  + $bif_dy_ + ceiling($BIFC_H div 2))"/>
-                       
-                               <xsl:variable name="horz_line_x1_">
-                                       <xsl:choose>
-                                               <xsl:when test="@BIF_X = '0'">0</xsl:when>
-                                               <xsl:otherwise><xsl:value-of select="($periMOD_W - $MOD_LANE_W)"/></xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                       
-                               <xsl:variable name="horz_line_x2_">
-                                       <xsl:choose>
-                                               <xsl:when test="@BIF_X = '0'"><xsl:value-of select="$MOD_LANE_W"/></xsl:when>
-                                               <xsl:otherwise><xsl:value-of select="$periMOD_W + 1"/></xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                       
-                       
-                               <line x1="{$horz_line_x1_}" 
-                                         y1="{$horz_line_y_ - 2}"
-                                 x2="{$horz_line_x2_}" 
-                                 y2="{$horz_line_y_ - 2}" 
-                                style="stroke:{$bif_buscol_};stroke-width:1"/>
-                         
-                       </xsl:if>
-                       
-                       <use  x="{$bif_x_}"   y="{$bif_y_ + $bif_dy_}"  xlink:href="#{$bif_busstd_}_Bif"/>
-                               
-                               
-                       <text class="biflabel" 
-                                 x="{$bif_x_  + ceiling($BIF_W div 2)}"
-                                 y="{$bif_y_ + $bif_dy_ + ceiling($BIF_H div 2) + 3}">
-                                       <xsl:value-of select="$bif_name_"/>
-                       </text>
-                       
-               </xsl:for-each>
-               
-<!--           
-               <xsl:if test="@INTCINDEX">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptCntrl">
-                               <xsl:with-param name="intr_col" select="$intr_col_"/>
-                               <xsl:with-param name="intr_x"   select="($periMOD_W - ceiling($INTR_W div 2))"/>
-                               <xsl:with-param name="intr_y"   select="3"/>
-                               <xsl:with-param name="intr_idx" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
--->            
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst)]/@INTCINDEX">
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst)]/@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptCntrl">
-                               <xsl:with-param name="intr_col" select="$intr_col_"/>
-                               <xsl:with-param name="intr_x"   select="($periMOD_W - ceiling($INTR_W div 2))"/>
-                               <xsl:with-param name="intr_y"   select="3"/>
-                               <xsl:with-param name="intr_idx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst)]/@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
-               
-               
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $modInst)]/INTCCNTLRTRGS/INTCTRG">
-                       
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptSource">
-                               <xsl:with-param name="intr_col" select="$intr_col_"/>
-                               <xsl:with-param name="intr_x"   select="($periMOD_W - $INTR_W)"/>
-                               <xsl:with-param name="intr_y"   select="((position() - 1) * (ceiling($INTR_H div 2) + 3))"/>
-                               <xsl:with-param name="intr_pri" select="@PRIORITY"/>
-                               <xsl:with-param name="intr_idx" select="@INTCINDEX"/>
-                       </xsl:call-template>    
-                       
-               </xsl:for-each>
-               
-       </symbol>                         
-</xsl:template>        
-       
-<xsl:template name="Define_MemoryUnit"> 
-       <xsl:param name="shapeId"  select="1000"/>
-       
-       <xsl:variable name="horiz_idx_"   select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/@STACK_HORIZ_INDEX"/>
-       <xsl:variable name="is_multistk_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/@IS_MULTISTK"/>
-       
-       
-       <xsl:choose>
-               <xsl:when test="(($is_multistk_ = 'TRUE') or (/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $horiz_idx_)]))">
-                       <xsl:call-template name="Define_Processor_MemoryUnit"> 
-                               <xsl:with-param name="shapeId"  select="$shapeId"/>
-                       </xsl:call-template>
-               </xsl:when>
-               
-               <xsl:otherwise>
-                       <xsl:call-template name="Define_StandAlone_MemoryUnit"> 
-                               <xsl:with-param name="shapeId"  select="$shapeId"/>
-                       </xsl:call-template>
-               </xsl:otherwise>
-               
-       </xsl:choose>
-       
-</xsl:template>        
-       
-       
-<xsl:template name="Define_Processor_MemoryUnit"> 
-       <xsl:param name="shapeId"  select="1000"/>
-       
-<!--   
-       <xsl:param name="cstkIndex"    select="'_processor_'"/>
--->    
-       <xsl:variable name="mods_h_"  select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/@MODS_H"/>
-       <xsl:variable name="mods_w_"  select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/@MODS_W"/>
-       <xsl:variable name="memW_" select="($periMOD_W * $mods_w_)"/>
-       <xsl:variable name="memH_" select="($periMOD_H * $mods_h_)"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]">
-               
-       
-               <!-- first define its symbols as individual modules --> 
-               <xsl:for-each select="MODULE[@MODCLASS='MEMORY']">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-               
-                       <xsl:call-template name="Define_Peripheral"> 
-                               <xsl:with-param name="modVori"  select="'normal'"/>
-                               <xsl:with-param name="modInst"  select="$modInst_"/>
-                               <xsl:with-param name="modType"  select="$modType_"/>
-                       </xsl:call-template>            
-               </xsl:for-each> 
-       
-               <xsl:for-each select="MODULE[@MODCLASS='MEMORY_CNTLR']">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-               
-                       <xsl:call-template name="Define_Peripheral"> 
-                               <xsl:with-param name="modVori"  select="'rot180'"/>
-                               <xsl:with-param name="modInst"  select="$modInst_"/>
-                               <xsl:with-param name="modType"  select="$modType_"/>
-                       </xsl:call-template>            
-               </xsl:for-each> 
-       </xsl:for-each>
-       
-<!--   
--->    
-       
-       <xsl:variable name="symbol_name_">
-               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                       <xsl:with-param name="horizIdx" select="@STACK_HORIZ_INDEX"/>
-                       <xsl:with-param name="vertiIdx" select="@SHAPE_VERTI_INDEX"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>The mp stack name is <xsl:value-of select="$mp_stack_name_"/></xsl:message>
--->    
-               
-    <symbol id="{$symbol_name_}">
-
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$memW_}"
-                     height= "{$memH_}"
-                         style="fill:{$COL_BG}; stroke:{$COL_WHITE}; stroke-width:2"/>         
-                         
-               <!-- Draw the memory block-->             
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[(@MODCLASS = 'MEMORY')]">
-                       
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="{ceiling($memW_ div 2) - ($periMOD_W div 2)}"  
-                                  y="0"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[((@MODCLASS='MEMORY_CNTLR') and (@ORIENTED = 'WEST'))]">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="0"  
-                                  y="{$periMOD_H}"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[((@MODCLASS='MEMORY_CNTLR') and (@ORIENTED = 'EAST'))]">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="{$periMOD_W}"  
-                                  y="{$periMOD_H}"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[((@MODCLASS='MEMORY_CNTLR') and (@ORIENTED = 'CENTER'))]">    
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                        <use  x="{ceiling($memW_ div 2) - ($periMOD_W div 2)}"  
-                                  y="{$periMOD_H}"  
-                                  xlink:href="#symbol_{$modInst_}"/> 
-               </xsl:for-each>
-               
-       </symbol>                         
-       
-</xsl:template>        
-
-       
-<xsl:template name="Define_StandAlone_MemoryUnit"> 
-       
-       <xsl:param name="shapeId" select="0"/>
-       
-       <xsl:variable name="mods_h_"  select="@MODS_H"/>
-       <xsl:variable name="mods_w_"  select="@MODS_W"/>
-       
-       <xsl:variable name="memc_name_" select="MODULE[not(@MODCLASS = 'MEMORY')]/@INSTANCE"/>
-       <xsl:variable name="memc_busstd_" select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE/BUSCONNLANE[(BUSCONN[(@INSTANCE = $memc_name_)])]/@BUSSTD"/>
-       
-<!--   
-       <xsl:variable name="memc_busstd_" select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE/BUSCONNLANE/@BUSSTD"/>
-       <xsl:variable name="memc_busstd_" select="/EDKSYSTEM/BCLANESPACES/BCLANESPACE/BUSCONNLANE[(BUSCONN[(@INSTANCE)])]/@BUSSTD"/>
-       <xsl:message>Memory cntlr name <xsl:value-of select="$memc_name_"/></xsl:message>
-       <xsl:message>Memory cntlr name <xsl:value-of select="$memc_name_"/></xsl:message>
-       <xsl:message>Memory cntlr busstd <xsl:value-of select="$memc_busstd_"/></xsl:message>
--->    
-       
-       <xsl:variable name="peri_col_">
-               
-               <xsl:choose>
-                       <xsl:when test="$mods_w_ &gt; 1">
-                               <xsl:value-of select="$COL_BG"/>
-                       </xsl:when>
-                       
-                       <xsl:when test="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE/BUSCONNLANE[(BUSCONN[(@INSTANCE = $memc_name_)])]/@BUSSTD">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="busType" select="$memc_busstd_"/>
-                               </xsl:call-template>
-                       </xsl:when>
-               
-                       <xsl:otherwise>
-                               <xsl:value-of select="$COL_OPBBUS"/>
-                       </xsl:otherwise>
-               </xsl:choose>           
-               
-       </xsl:variable>  
-       
-       <!-- first define its symbols as individual modules --> 
-       <xsl:for-each select="MODULE[(@MODCLASS = 'MEMORY')]">
-               <xsl:variable name="modInst_" select="@INSTANCE"/>
-               <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$modInst_]/@MODTYPE"/>
-               
-               <xsl:call-template name="Define_Peripheral"> 
-                       <xsl:with-param name="modVori"  select="'rot180'"/>
-                       <xsl:with-param name="modInst"  select="$modInst_"/>
-                       <xsl:with-param name="modType"  select="$modType_"/>
-               </xsl:call-template>            
-       </xsl:for-each> 
-       
-       <xsl:for-each select="MODULE[not(@MODCLASS='MEMORY')]">
-               <xsl:variable name="modInst_" select="@INSTANCE"/>
-               <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$modInst_]/@MODTYPE"/>
-               
-<!--           
-               <xsl:message>Memory cntlr inst <xsl:value-of select="$modInst_"/></xsl:message>
--->            
-               <xsl:call-template name="Define_Peripheral"> 
-                       <xsl:with-param name="modVori"  select="'normal'"/>
-                       <xsl:with-param name="modInst"  select="$modInst_"/>
-                       <xsl:with-param name="modType"  select="$modType_"/>
-               </xsl:call-template>            
-       </xsl:for-each> 
-       
-       <xsl:variable name="memW_" select="($periMOD_W * $mods_w_)"/>
-       <xsl:variable name="memH_" select="($periMOD_H * $mods_h_)"/>
-       
-       <xsl:variable name="symbol_name_">
-               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                       <xsl:with-param name="horizIdx" select="@STACK_HORIZ_INDEX"/>
-                       <xsl:with-param name="vertiIdx" select="@SHAPE_VERTI_INDEX"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-               
-    <symbol id="{$symbol_name_}">
-               
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$memW_ + 4}"
-                     height= "{$memH_ + 4}"
-                         style="fill:{$peri_col_}; stroke:{$peri_col_}; stroke-width:2"/>              
-                         
-
-               <!-- Draw the memory block-->             
-               <xsl:choose>
-                       
-               <xsl:when test="$mods_w_ = 1">
-                       
-                       <xsl:for-each select="MODULE[(@MODCLASS='MEMORY')]">    
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="2"  
-                                     y="{$periMOD_H + 2}"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-               
-               <!-- Draw the memory controllers-->               
-                       <xsl:for-each select="MODULE[not(@MODCLASS='MEMORY')]"> 
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="2"  
-                                         y="0"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               </xsl:when>     
-               
-               <xsl:when test="$mods_w_ &gt; 1">
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[(@MODCLASS = 'MEMORY')]">
-                       
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                                <use  x="{ceiling($memW_ div 2) - ($periMOD_W div 2)}"  
-                                          y="{$periMOD_H + 2}"  
-                                          xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[(not(@MODCLASS='MEMORY') and (@ORIENTED = 'WEST'))]">
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="0"  
-                                     y="0"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[(not(@MODCLASS='MEMORY') and (@ORIENTED = 'EAST'))]">
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="{$periMOD_W}"  
-                                     y="0"  
-                                     xlink:href="#symbol_{$modInst_}"/> 
-                       </xsl:for-each>
-               
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[(not(@MODCLASS='MEMORY') and (@ORIENTED = 'CENTER'))]">       
-                               <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       
-                               <use  x="{ceiling($memW_ div 2) - ($periMOD_W div 2)}"  
-                                     y="0"  
-                                         xlink:href="#symbol_{$modInst_}"/> 
-                   </xsl:for-each>
-                       
-               </xsl:when>     
-               </xsl:choose>
-                         
-       </symbol>                         
-       
-</xsl:template>        
-
-<!-- ======================= END DEF FUNCTIONS ============================ -->
-
-<!-- ======================= UTILITY FUNCTIONS ============================ -->
-
-<xsl:template name="_draw_InterruptSource">
-
-       <xsl:param name="intr_col" select="$COL_INTR_0"/>
-       <xsl:param name="intr_x"   select="0"/>
-       <xsl:param name="intr_y"   select="0"/>
-       <xsl:param name="intr_pri" select="0"/>
-       <xsl:param name="intr_idx" select="0"/>
-       
-               <rect  
-                       x="{$intr_x}"
-                       y="{$intr_y}"
-                       rx="3"
-                       ry="3"
-                       width= "{$INTR_W}" 
-                       height="{ceiling($INTR_H div 2)}" style="fill:{$intr_col}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{$intr_x + ceiling($INTR_W div 2)}" 
-                         y1="{$intr_y}"
-                         x2="{$intr_x + ceiling($INTR_W div 2)}" 
-                         y2="{$intr_y + ceiling($INTR_H div 2)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <xsl:variable name="txt_ofs_">
-                       <xsl:if test="($intr_pri &gt; 9)">4.5</xsl:if>
-                       <xsl:if test="not($intr_pri &gt; 9)">0</xsl:if>
-               </xsl:variable>   
-               
-               <text class="intrsymbol" 
-                         x="{$intr_x + 2 - $txt_ofs_}"
-                         y="{$intr_y + 8}">
-                               <xsl:value-of select="$intr_pri"/>
-               </text>
-                       
-               <text class="intrsymbol" 
-                         x="{$intr_x + 2 + ceiling($INTR_W div 2)}"
-                         y="{$intr_y + 8}">
-                               <xsl:value-of select="$intr_idx"/>
-               </text>
-                       
-</xsl:template>
-
-<xsl:template name="_draw_InterruptCntrl">
-
-       <xsl:param name="intr_col" select="$COL_INTR_0"/>
-       <xsl:param name="intr_x"   select="0"/>
-       <xsl:param name="intr_y"   select="0"/>
-       <xsl:param name="intr_idx" select="0"/>
-       
-               <rect  
-                       x="{$intr_x}"
-                       y="{$intr_y}"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($INTR_W div 2)}" 
-                       height="{$INTR_H}" style="fill:{$intr_col}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{$intr_x}" 
-                         y1="{$intr_y + ceiling($INTR_H div 4)}"
-                         x2="{$intr_x + ceiling($INTR_W div 2)}" 
-                         y2="{$intr_y + ceiling($INTR_H div 4)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:2"/>
-                         
-               <text class="intrsymbol" 
-                         x="{$intr_x + 2}"
-                         y="{$intr_y + 8 + ceiling($INTR_H div 2)}">
-                               <xsl:value-of select="$intr_idx"/>
-               </text>
-                       
-</xsl:template>
-
-
-<xsl:template name="_draw_InterruptedProc">
-
-       <xsl:param name="intr_col" select="$COL_INTR_0"/>
-       <xsl:param name="intr_x"   select="0"/>
-       <xsl:param name="intr_y"   select="0"/>
-       <xsl:param name="intr_idx" select="0"/>
-       
-               <rect  
-                       x="{$intr_x}"
-                       y="{$intr_y}"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($INTR_W div 2)}" 
-                       height="{$INTR_H}" style="fill:{$intr_col}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{$intr_x}" 
-                         y1="{$intr_y + ceiling($INTR_H div 4) - 2}"
-                         x2="{$intr_x + ceiling($INTR_W div 2)}" 
-                         y2="{$intr_y + ceiling($INTR_H div 4) - 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <line x1="{$intr_x}" 
-                         y1="{$intr_y + ceiling($INTR_H div 4) + 2}"
-                         x2="{$intr_x + ceiling($INTR_W div 2)}" 
-                         y2="{$intr_y + ceiling($INTR_H div 4) + 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <text class="intrsymbol" 
-                         x="{$intr_x + 2}"
-                         y="{$intr_y + 8 + ceiling($INTR_H div 2)}">
-                               <xsl:value-of select="$intr_idx"/>
-               </text>
-                       
-</xsl:template>
-
-<xsl:template name="_calc_CStackShapesAbv_Height">
-       <xsl:param name="cstkIndex"  select="100"/>
-       <xsl:param name="cstkMods_Y" select="1000"/>
-       
-<!--   
-       <xsl:message>Stack Index <xsl:value-of select="$cstackIndex"/></xsl:message>
-       
-       <xsl:message>Stack Y <xsl:value-of select="$cstackModY"/></xsl:message>
--->    
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@CSTACK_INDEX = $cstkIndex)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@CSTACK_INDEX = $cstkIndex)]">
-       
-               <xsl:variable name="shapesAbv_Heights_">
-                       <CSTACK_MOD HEIGHT="0"/>
-                       
-                       <!-- Store the heights of all the peripherals above this one heights in a variable -->
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@CSTACK_INDEX = $cstkIndex) and (@CSTACK_MODS_Y &lt; $cstkMods_Y))]">
-                               
-                               <xsl:variable name="shapeHeight_">
-                                       
-                                       <xsl:choose>
-                                               
-                                               <xsl:when test="@MODCLASS = 'PERIPHERAL'">
-                                                       <xsl:call-template name="_calc_PeriShape_Height">       
-                                                               <xsl:with-param name="shapeInst" select="MODULE/@INSTANCE"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               
-                                               <xsl:when test="@MODCLASS = 'MEMORY_UNIT'">
-                                                       <xsl:call-template name="_calc_MemoryUnit_Height">      
-                                                               <xsl:with-param name="shapeId" select="@SHAPE_ID"/>
-                                                       </xsl:call-template>    
-                                               </xsl:when>
-                                               
-                                               <xsl:otherwise>0</xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>Calculated height of cstack shape of type <xsl:value-of select="@MODCLASS"/> as <xsl:value-of select="$shapeHeight_"/></xsl:message>
--->                    
-                               
-                               <CSTACK_MOD HEIGHT="{$shapeHeight_ + $BIF_H}"/>
-                       </xsl:for-each>
-               </xsl:variable>
-               
-<!--           
-               <xsl:message>Calculated height of cstack as <xsl:value-of select="sum(exsl:node-set($shapesAbv_Heights_)/CSTACK_MOD/@HEIGHT)"/></xsl:message>
--->            
-               
-               <xsl:value-of select="sum(exsl:node-set($shapesAbv_Heights_)/CSTACK_MOD/@HEIGHT)"/>
-       </xsl:if>
-       
-</xsl:template>
-
-
-<xsl:template name="_calc_PeriShape_Height">
-       <xsl:param name="shapeInst"  select="_shape_"/>
-       
-<!--   
-       <xsl:message>Calculating height of <xsl:value-of select="$shapeInst"/></xsl:message>
--->    
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $shapeInst)]/@BIFS_H) and not(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $shapeInst)]/@BIFS_H)">0</xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $shapeInst)]/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE/MODULE[(@INSTANCE = $shapeInst)]/@BIFS_H"/>
-               
-               <xsl:value-of select="($MOD_LABEL_H + ($BIF_H * $bifs_h_) + ($MOD_BIF_GAP_V * $bifs_h_) + ($MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $shapeInst)]/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE[(@INSTANCE = $shapeInst)]/@BIFS_H"/>
-               
-               <xsl:value-of select="($MOD_LABEL_H + ($BIF_H * $bifs_h_) + ($MOD_BIF_GAP_V * $bifs_h_) + ($MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shapeInst)]/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $shapeInst)]/@BIFS_H"/>
-               
-               <xsl:value-of select="($MOD_LABEL_H + ($BIF_H * $bifs_h_) + ($MOD_BIF_GAP_V * $bifs_h_) + ($MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-</xsl:template>
-       
-<xsl:template name="_calc_Shape_Height">
-       <xsl:param name="shapeId"  select="_shape_"/>
-       
-<!--   
-       <xsl:message>Calculating height of <xsl:value-of select="$shapeId"/></xsl:message>
--->    
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)])">0</xsl:if>
-       
-       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE/@BIFS_H)">
-               <xsl:variable name="bifs_h_" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE/@BIFS_H"/>
-               
-               <xsl:value-of select="($MOD_LABEL_H + ($BIF_H * $bifs_h_) + ($MOD_BIF_GAP_V * $bifs_h_) + ($MOD_LANE_H * 2))"/>
-       </xsl:if>
-       
-</xsl:template>
-
-
-<xsl:template name="_calc_MemoryUnit_Height">
-       <xsl:param name="shapeId"  select="1000"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]">
-       
-               <!-- Store the memory controller heights in a variable -->      
-               <xsl:variable name="memC_heights_">     
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[(@MODCLASS = 'MEMORY_CNTLR')])">
-                               <MEM_CNTLR INSTANCE="{@INSTANCE}" HEIGHT="0"/>
-                       </xsl:if>
-                       
-                       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[(@MODCLASS = 'MEMORY_CNTLR')])">
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[(@MODCLASS = 'MEMORY_CNTLR')]">
-                                       <xsl:variable name="memC_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="shapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                                       <MEM_CNTLR INSTANCE="{@INSTANCE}" HEIGHT="{$memC_height_}"/>
-                               </xsl:for-each>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <!-- Store the bram heights in a variable -->   
-               <xsl:variable name="bram_heights_">     
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[not(@MODCLASS = 'MEMORY_CNTLR')])">
-                               <BRAM INSTANCE="{@INSTANCE}" HEIGHT="0"/>
-                       </xsl:if>
-                       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[not(@MODCLASS = 'MEMORY_CNTLR')]">
-                               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@SHAPE_ID = $shapeId)]/MODULE[not(@MODCLASS = 'MEMORY_CNTLR')]">
-                                       <xsl:variable name="bram_height_">
-                                               <xsl:call-template name="_calc_PeriShape_Height">       
-                                                       <xsl:with-param name="shapeInst" select="@INSTANCE"/>
-                                               </xsl:call-template>
-                                       </xsl:variable>
-                                       <BRAM INSTANCE="{@INSTANCE}" HEIGHT="{$bram_height_}"/>
-                               </xsl:for-each>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <!-- Select the maximum of them -->
-               <xsl:variable name="max_bram_height_" select="math:max(exsl:node-set($bram_heights_)/BRAM/@HEIGHT)"/>
-               <xsl:variable name="max_memC_height_" select="math:max(exsl:node-set($memC_heights_)/MEM_CNTLR/@HEIGHT)"/>
-               
-               <xsl:value-of select="$max_bram_height_ + $max_memC_height_"/>
-       </xsl:if>
-
-</xsl:template>
-
-
-<xsl:template name="_calc_SbsBucket_Height">
-       <xsl:param name="bucketId"  select="100"/>
-       
-<!--   
-       <xsl:message>Looking of height of bucket <xsl:value-of select="$bucketId"/></xsl:message>
--->    
-       <xsl:variable name="bkt_gap_" select="$BIF_H"/>
-       
-       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $bucketId)])">0</xsl:if>
-       
-       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $bucketId)]">
-               <xsl:variable name="mods_h_" select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@BUSINDEX = $bucketId)]/@MODS_H"/>
-               
-               <xsl:value-of select="((($MOD_BKTLANE_H * 2) + ((($periMOD_H + $BIFC_H) * $mods_h_) + ($MOD_BUCKET_G * ($mods_h_ - 1)))) + $bkt_gap_)"/>
-       </xsl:if>
-</xsl:template>
-       
-<!--
-       ===============================================
-       
-               Symbol Naming Functions
-       
-       ===============================================
--->            
-       
-       
-<xsl:template name="_gen_Proc_StackName">
-<xsl:param name="procInst"  select="'_unknown_'"/>
-symbol_STACK_<xsl:value-of select="$procInst"/>
-</xsl:template>
-       
-<xsl:template name="_gen_Proc_GroupName">
-<xsl:param name="procInst"  select="'_unknown_'"/>
-symbol_GROUP_<xsl:value-of select="$procInst"/>
-</xsl:template>
-       
-       
-<xsl:template name="_gen_Space_Name"><xsl:param name="stackToEast"  select="'NONE'"/><xsl:param name="stackToWest"  select="'NONE'"/>symbol_SPACE_WEST_<xsl:value-of select="$stackToWest"/>_EAST_<xsl:value-of select="$stackToEast"/></xsl:template>
-<xsl:template name="_gen_Stack_Name"><xsl:param name="horizIdx"  select="'_unknown_'"/>symbol_STACK_<xsl:value-of select="$horizIdx"/></xsl:template>
-<xsl:template name="_gen_Stack_SymbolName"><xsl:param name="horizIdx"  select="'_unknown_'"/><xsl:param name="vertiIdx" select="'_unknown_'"/>symbol_STACK_<xsl:value-of select="$horizIdx"/>_SHAPE_<xsl:value-of select="$vertiIdx"/></xsl:template>
-       
-       
-       
-
-<!-- ======================= END UTILITY FUNCTIONS  ======================= -->
-</xsl:stylesheet>
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdBusses.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdBusses.xsl
deleted file mode 100644 (file)
index 89d42c2..0000000
+++ /dev/null
@@ -1,546 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-               
-
-       
-<xsl:template name="Define_Busses">
-       <xsl:param name="drawarea_w"  select="500"/>
-       <xsl:param name="drawarea_h"  select="500"/>
-       
-       <xsl:for-each select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR">
-               
-               <xsl:call-template name="Define_BusArrowsEastWest"> 
-                       <xsl:with-param name="bus_type"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-               <xsl:call-template name="Define_BusArrowsNorthSouth"> 
-                       <xsl:with-param name="bus_type"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-               <xsl:call-template name="Define_SplitBusses"> 
-                       <xsl:with-param name="bus_type"    select="@BUSSTD"/>
-               </xsl:call-template>
-               
-       </xsl:for-each>
-       
-       <xsl:call-template name="Define_SharedBus"> 
-               <xsl:with-param name="bus_type"    select="'PLB'"/>
-               <xsl:with-param name="drawarea_w"  select="$drawarea_w"/>
-       </xsl:call-template>
-       
-       <xsl:call-template name="Define_SharedBus"> 
-               <xsl:with-param name="bus_type"    select="'PLBV46'"/>
-               <xsl:with-param name="drawarea_w"  select="$drawarea_w"/>
-       </xsl:call-template>
-       
-       <xsl:call-template name="Define_SharedBus"> 
-               <xsl:with-param name="bus_type"    select="'OPB'"/>
-               <xsl:with-param name="drawarea_w"  select="$drawarea_w"/>
-       </xsl:call-template>
-       
-       <xsl:call-template name="Define_SharedBus_Group"/> 
-       
-<!--   
-       <xsl:call-template name="Define_SharedBus"> 
-               <xsl:with-param name="bus_type"    select="'PLB'"/>
-               <xsl:with-param name="drawarea_w"  select="$drawarea_w"/>
-       </xsl:call-template>
--->    
-       
-</xsl:template>
-
-<xsl:template name="Define_BusArrowsEastWest"> 
-       <xsl:param name="bus_type"    select="'OPB'"/>
-       
-       <xsl:variable name="bus_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$bus_type"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bus_col_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="busType" select="$bus_type"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <symbol id="{$bus_type}_BusArrowEast">
-               <path class="bus"
-                         d="M   0,0
-                                L     {$BUS_ARROW_W}, {ceiling($BUS_ARROW_H div 2)}
-                                L   0,{$BUS_ARROW_H}, 
-                                Z" style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-       
-       <symbol id="{$bus_type}_BusArrowWest">
-               <use   x="0"   y="0"  xlink:href="#{$bus_type}_BusArrowEast" transform="scale(-1,1) translate({$BUS_ARROW_W * -1},0)"/>
-       </symbol>
-       
-<!--   
-       <symbol id="{$bus_type}_BusArrowHInitiator">
-               <rect x="0" 
-                         y="{$BUS_ARROW_G}"  
-                         width= "{$BUS_ARROW_W}" 
-                         height="{$BUS_ARROW_W - ($BUS_ARROW_G * 2)}" 
-                        style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
--->    
-       <symbol id="{$bus_type}_BusArrowHInitiator">
-               <rect x="0" 
-                         y="{$BUS_ARROW_G}"  
-                         width= "{$BUS_ARROW_W}" 
-                         height="{$P2P_BUS_W}" 
-                        style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-       
-</xsl:template>
-
-<!--   
-       <xsl:param name="bus_col"     select="'OPB'"/>
--->    
-
-<xsl:template name="Define_BusArrowsNorthSouth">
-       <xsl:param name="bus_type"    select="'OPB'"/>
-       
-       <xsl:variable name="bus_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$bus_type"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bus_col_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="busType" select="$bus_type"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <symbol id="{$bus_type}_BusArrowSouth">
-               <path class="bus"
-                         d="M   0,0
-                                L   {$BUS_ARROW_W},0
-                                L   {ceiling($BUS_ARROW_W div 2)}, {$BUS_ARROW_H}
-                                Z" style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-       
-       <symbol id="{$bus_type}_BusArrowNorth">
-               <use   x="0"   y="0"  xlink:href="#{$bus_type}_BusArrowSouth" transform="scale(1,-1) translate(0,{$BUS_ARROW_H * -1})"/>
-       </symbol>
-       
-       <symbol id="{$bus_type}_BusArrowInitiator">
-               <rect x="{$BUS_ARROW_G}" 
-                         y="0"  
-                         width= "{$BUS_ARROW_W - ($BUS_ARROW_G * 2)}" 
-                         height="{$BUS_ARROW_H}" 
-                        style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-       
-</xsl:template>
-       
-
-<xsl:template name="Draw_P2PBus">
-       
-       <xsl:param name="busX"    select="0"/>
-       <xsl:param name="busTop"  select="0"/>
-       <xsl:param name="busBot"  select="0"/>
-       <xsl:param name="botRnk"  select="'_unk_'"/>
-       <xsl:param name="topRnk"  select="'_unk_'"/>
-       <xsl:param name="busStd"  select="'_bstd_'"/>
-       <xsl:param name="busName" select="'_p2pbus_'"/>
-       
-       <xsl:variable name="busCol_">
-               <xsl:choose>
-                       
-                       <xsl:when test="@BUSSTD">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="busType" select="@BUSSTD"/>
-                               </xsl:call-template>    
-                       </xsl:when>
-                       
-                       <xsl:when test="not($busStd = '_bstd_')">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="busType" select="$busStd"/>
-                               </xsl:call-template>    
-                       </xsl:when>
-                       
-                       <xsl:otherwise>
-                               <xsl:value-of select="$COL_OPBBUS"/>    
-                       </xsl:otherwise>
-                       
-               </xsl:choose>
-       </xsl:variable>
-       
-       <xsl:variable name="p2pH_" select="($busBot - $busTop) - ($BUS_ARROW_H * 2)"/>
-
-       <xsl:variable name="botArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($botRnk = 'INITIATOR') or ($botRnk = 'MASTER')) and ($busStd = 'FSL'))">BusArrowInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowSouth</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:variable name="topArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($topRnk = 'INITIATOR') or ($topRnk = 'MASTER')) and ($busStd = 'FSL'))">BusArrowInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowNorth</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:if test="@BUSSTD">         
-               <use  x="{($busX + ceiling($BIFC_W div 2)) - ceiling($BUS_ARROW_W div 2)}"  
-                     y="{$busTop + ($BIFC_H  - $BUS_ARROW_H) + $BUS_ARROW_H}"  
-                     xlink:href="#{@BUSSTD}_{$topArrow_}"/>    
-                 
-               <use  x="{($busX + ceiling($BIFC_W div 2)) - ceiling($BUS_ARROW_W div 2)}"  
-                     y="{$busBot - $BUS_ARROW_H}"  
-                     xlink:href="#{@BUSSTD}_{$botArrow_}"/>    
-       </xsl:if>                 
-       
-       <xsl:if test="(not(@BUSSTD) and not($busStd = '_bstd_'))">              
-               <use  x="{($busX + ceiling($BIFC_W div 2)) - ceiling($BUS_ARROW_W div 2)}"  
-                     y="{$busTop + ($BIFC_H  - $BUS_ARROW_H) + $BUS_ARROW_H}"  
-                     xlink:href="#{$busStd}_{$topArrow_}"/>    
-                 
-               <use  x="{($busX + ceiling($BIFC_W div 2)) - ceiling($BUS_ARROW_W div 2)}"  
-                     y="{$busBot - $BUS_ARROW_H}"  
-                     xlink:href="#{$busStd}_{$botArrow_}"/>    
-       </xsl:if>                 
-       
-       
-       <rect x="{($busX + ceiling($BIFC_W div 2)) - ceiling($BUS_ARROW_W div 2) + $BUS_ARROW_G}"  
-                 y="{$busTop + $BIFC_H + $BUS_ARROW_H}"  
-                 height= "{$p2pH_  - ($BUS_ARROW_H * 2)}" 
-                 width="{$BUS_ARROW_W - ($BUS_ARROW_G * 2)}" 
-                 style="stroke:none; fill:{$busCol_}"/>
-                 
-       <text class="p2pbuslabel" 
-                         x="{$busX   + $BUS_ARROW_W + ceiling($BUS_ARROW_W div 2) + ceiling($BUS_ARROW_W div 4) + 4}"
-                         y="{$busTop + ($BUS_ARROW_H * 3)}">
-                       <xsl:value-of select="$busName"/>
-       </text>
-       
-       <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $busName)]/@GROUP">
-               
-          <text class="ioplblgrp" 
-                 x="{$busX   + $BUS_ARROW_W + ceiling($BUS_ARROW_W div 2) + ceiling($BUS_ARROW_W div 4) + 6}"
-                 y="{$busTop + ($BUS_ARROW_H * 10)}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$busName)]/@GROUP"/>
-               </text>
-          
-       </xsl:if>       
-               
-</xsl:template>
-
-       
-<xsl:template name="Draw_Proc2ProcBus">
-       
-       <xsl:param name="bc_Y"     select="0"/>
-       <xsl:param name="bcLeft_X" select="0"/>
-       <xsl:param name="bcRght_X" select="0"/>
-       
-       <xsl:param name="leftRnk"  select="'_unk_'"/>
-       <xsl:param name="rghtRnk"  select="'_unk_'"/>
-       
-       <xsl:param name="busStd"   select="'_bstd_'"/>
-       <xsl:param name="busName"  select="'_p2pbus_'"/>
-       
-       <xsl:variable name="busCol_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="pr2pr_W_" select="($bcRght_X - $bcLeft_X)"/>
-
-       <xsl:variable name="leftArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($leftRnk = 'INITIATOR') or ($leftRnk = 'MASTER')) and ($busStd = 'FSL'))">BusArrowHInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowWest</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:variable name="rghtArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($rghtRnk = 'INITIATOR') or ($rghtRnk = 'MASTER')) and ($busStd = 'FSL'))">BusArrowHInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowEast</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       
-       <xsl:variable name="bus_Y_" select="($bc_Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2))"/>
-       
-       <use  x="{$bcLeft_X}"                y="{$bus_Y_}"  xlink:href="#{$busStd}_{$leftArrow_}"/>     
-       <use  x="{$bcRght_X - $BUS_ARROW_W}" y="{$bus_Y_}"  xlink:href="#{$busStd}_{$rghtArrow_}"/>     
-       
-       <rect x="{$bcLeft_X + $BUS_ARROW_W}" 
-                 y="{$bus_Y_   + $BUS_ARROW_G}"  
-                 width= "{$pr2pr_W_    - (2 * $BUS_ARROW_W)}" 
-                 height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$busCol_}"/>
-       
-       <text class="horizp2pbuslabel" 
-                         x="{$bcLeft_X  + $BUS_ARROW_W + ceiling($BUS_ARROW_W div 2) + ceiling($BUS_ARROW_W div 4) + 4}"
-                         y="{($bus_Y_)}">
-                       <xsl:value-of select="$busName"/>
-       </text>
-       
-       <text class="horizp2pbuslabel" 
-                         x="{$bcRght_X - (string-length($busName) * 8)}"
-                         y="{($bus_Y_)}">
-                       <xsl:value-of select="$busName"/>
-       </text>
-       
-</xsl:template>
-       
-       
-<xsl:template name="Draw_SplitConnBus">
-       
-       <xsl:param name="bc_X"     select="0"/>
-       <xsl:param name="bc_Y"     select="0"/>
-       <xsl:param name="bc_Rnk"   select="'_unk_'"/>
-       <xsl:param name="bc_Side"  select="'_unk_'"/>
-       
-       <xsl:param name="busStd"   select="'_bstd_'"/>
-       <xsl:param name="busName"  select="'_p2pbus_'"/>
-       
-       <xsl:variable name="busCol_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$busStd"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="connArrow_">
-               <xsl:choose>
-                       <xsl:when test="((($bc_Rnk = 'INITIATOR') or ($bc_Rnk = 'MASTER')) and ($busStd = 'FSL'))">BusArrowHInitiator</xsl:when>
-                       <xsl:otherwise>BusArrowEast</xsl:otherwise> 
-               </xsl:choose>           
-       </xsl:variable>
-       
-       <xsl:variable name="arrow_Y_" select="($bc_Y + ceiling($BIFC_H div 2) - ceiling($BUS_ARROW_H div 2))"/>
-       
-       <xsl:variable name="bus_X_">
-               <xsl:choose>
-                       <xsl:when test="$bc_Side = '0'"><xsl:value-of select="($bc_X - ($BUS_ARROW_W * 2))"/></xsl:when>
-                       <xsl:when test="$bc_Side = '1'"><xsl:value-of select="($bc_X + $BIFC_W + $BUS_ARROW_W)"/></xsl:when>
-               </xsl:choose>           
-       </xsl:variable> 
-       
-<!--   
-       <use  x="{$bus_X_}"  y="{$arrow_Y_}"  xlink:href="#{$busStd}_BusArrowHInitiator"/>      
--->    
-       
-       <xsl:variable name="arrow_X_">
-               <xsl:choose>
-                       <xsl:when test="$bc_Side = '0'"><xsl:value-of select="($bc_X - $BUS_ARROW_W)"/></xsl:when>
-                       <xsl:when test="$bc_Side = '1'"><xsl:value-of select="($bc_X + $BIFC_W)"/></xsl:when>
-               </xsl:choose>           
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>The bus name is <xsl:value-of select="$busName"/></xsl:message>
-       <xsl:message>The bif side is <xsl:value-of select="$bc_Side"/></xsl:message>
-       <xsl:message>The bif rank is <xsl:value-of select="$bc_Rnk"/></xsl:message>
--->    
-       <xsl:choose>
-               <xsl:when test="(($busStd = 'FSL') and (($bc_Rnk = 'MASTER') or ($bc_Rnk = 'INITIATOR')))">
-                       <use  x="{$arrow_X_}"  y="{$arrow_Y_}"  xlink:href="#{$busStd}_{$connArrow_}"/> 
-                       <use  x="{$bus_X_}"  y="{$arrow_Y_}"  xlink:href="#{$busStd}_BusArrowHInitiator"/>      
-               </xsl:when>
-               <xsl:when test="(($bc_Side = '1') and not(@busStd = 'FSL') and (($bc_Rnk = 'MASTER') or ($bc_Rnk = 'INITIATOR')))">
-                       <use  x="{$arrow_X_ - $BIFC_W}"  y="{$arrow_Y_}"  xlink:href="#{$busStd}_SplitBus_WEST"/>
-               </xsl:when>
-               <xsl:when test="(($bc_Side = '1') and (($bc_Rnk = 'SLAVE') or ($bc_Rnk = 'TARGET') or ($bc_Rnk = 'TRANSPARENT')))">
-                       <use  x="{$arrow_X_}"  y="{$arrow_Y_}"  xlink:href="#{$busStd}_SplitBus_EAST"/>
-               </xsl:when>
-               <xsl:otherwise>
-                       <use  x="{$arrow_X_}"  y="{$arrow_Y_}"  xlink:href="#{$busStd}_{$connArrow_}"/> 
-                       <use  x="{$bus_X_}"  y="{$arrow_Y_}"  xlink:href="#{$busStd}_BusArrowHInitiator"/>      
-               </xsl:otherwise>
-       </xsl:choose>
-       
-       <xsl:variable name="text_X_">
-               <xsl:choose>
-                       <xsl:when test="$bc_Side = '0'"><xsl:value-of select="($bus_X_ - $BUS_ARROW_W - (string-length($busName) * 5))"/></xsl:when>
-                       <xsl:when test="$bc_Side = '1'"><xsl:value-of select="($bus_X_ + $BUS_ARROW_W)"/></xsl:when>
-               </xsl:choose>           
-       </xsl:variable> 
-               
-       
-       <text class="horizp2pbuslabel" 
-                         x="{$text_X_}"
-                         y="{($arrow_Y_)}">
-                       <xsl:value-of select="$busName"/>
-       </text>
-       
-</xsl:template>
-       
-       
-<xsl:template name="Define_SharedBus"> 
-       
-       <xsl:param name="bus_type"    select="'OPB'"/>
-       <xsl:param name="drawarea_w"  select="500"/>
-       
-       <xsl:variable name="sharedbus_w_"  select="($drawarea_w - ($BLKD_INNER_GAP * 2))"/>
-       
-       <xsl:variable name="bus_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$bus_type"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bus_col_lt_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="busType" select="$bus_type"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-        <symbol id="{$bus_type}_SharedBus">
-               <use  x="0"                            y="0"    xlink:href="#{$bus_type}_BusArrowWest"/>        
-               <use  x="{$sharedbus_w_ - $BUS_ARROW_W}" y="0"  xlink:href="#{$bus_type}_BusArrowEast"/>        
-               
-               <rect x="{$BUS_ARROW_W}" 
-                         y="{$BUS_ARROW_G}"  
-                         width= "{$sharedbus_w_  - ($BUS_ARROW_W * 2)}" 
-                         height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$bus_col_}"/>
-       </symbol>
-</xsl:template>
-
-       
-<xsl:template name="Define_SplitBusses"> 
-       
-       <xsl:param name="bus_type"    sselect="'FSL'"/>
-       
-       <xsl:variable name="bus_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="$bus_type"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="bifc_r_" select="ceiling($BIFC_W div 3)"/>
-       
-        <symbol id="{$bus_type}_SplitBus_EAST">
-               <use  x="0"  y="0"    xlink:href="#{$bus_type}_BusArrowWest"/>  
-               
-               <rect x="{$BUS_ARROW_W}" 
-                         y="{$BUS_ARROW_G}"  
-                         width= "{$BIFC_W}" 
-                         height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$bus_col_}"/>
-                
-<!--            
-               <rect x="{$BUS_ARROW_W + $BIFC_W}"
-                         y="0"  
-                         width= "{$BIFC_W}" 
-                         height="{$BUS_ARROW_H}" style="stroke:none; fill:{$bus_col_}"/>
-       -->      
-<!--           
-               <circle 
-                         cx="{$BUS_ARROW_W + $BIFC_W}"  
-                         cy="{ceiling($BIFC_Wi div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$bus_col_}; stroke:none;"/>        
--->             
-       </symbol>
-       
-       <xsl:variable name="splbus_w_" select="($BUS_ARROW_W + $BIFC_W + $BIFC_Wi)"/>
-       
-        <symbol id="{$bus_type}_SplitBus_WEST">
-               <use   x="0"   y="0"  xlink:href="#{$bus_type}_SplitBus_EAST" transform="scale(-1,1) translate({$splbus_w_ * -1},0)"/>
-                
-       </symbol>
-       
-        <symbol id="{$bus_type}_SplitBus_OneWay">
-                
-<!--            
-               <use  x="0"  y="0"    xlink:href="#{$bus_type}_BusArrowWest"/>  
--->    
-               <rect x="0" 
-                         y="{$BUS_ARROW_G}"  
-                         width= "{($BUS_ARROW_W * 2)}" 
-                         height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$bus_col_}"/>
-                
-               <rect x="{($BUS_ARROW_W * 2)}"
-                         y="0"  
-                         width= "{$BUS_ARROW_H}" 
-                         height="{$BUS_ARROW_H}" style="stroke:none; fill:{$bus_col_}"/>
-                
-<!--            
-               
-               <rect x="{$BUS_ARROW_W}" 
-                         y="{$BUS_ARROW_G}"  
-                         width= "{$BUS_ARROW_W}" 
-                         height="{$BUS_ARROW_H}" style="stroke:none; fill:{$bus_col_}"/>
-               <circle 
-                         cx="{$BUS_ARROW_W + $BIFC_W}"  
-                         cy="{ceiling($BIFC_Wi div 2)}" 
-                         r="{ceiling($BIFC_Wi div 2)}" 
-                         style="fill:{$bus_col_}; stroke:none;"/>        
--->    
-       </symbol>
-       
-       
-</xsl:template>
-
-
-<xsl:template name="Define_SharedBus_Group"> 
-
-<!-- The Bridges go into the shared bus shape -->
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE">       
-       
-               <xsl:variable name="modInst_" select="@INSTANCE"/>
-               <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-               
-               <xsl:call-template name="Define_Peripheral"> 
-                       <xsl:with-param name="modVori"  select="'normal'"/>
-                       <xsl:with-param name="modInst"  select="$modInst_"/>
-                       <xsl:with-param name="modType"  select="$modType_"/>
-               </xsl:call-template>
-       
-       </xsl:for-each>
-       
- <symbol id="group_sharedBusses">
-       
-       <!-- Draw the shared bus shapes first -->       
-       <xsl:for-each select="BLKDSHAPES/SBSSHAPES/MODULE">     
-               <xsl:variable name="instance_"  select="@INSTANCE"/>
-               
-               <xsl:variable name="busStd_"   select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$instance_)]/@BUSSTD"/>     
-               <xsl:variable name="busIndex_"  select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$instance_)]/@BUSINDEX"/>  
-               
-               <xsl:variable name="busY_"  select="($busIndex_ * $SBS_LANE_H)"/>       
-               
-               <use  x="0"  y="{$busY_}"  xlink:href="#{$busStd_}_SharedBus"/> 
-               
-               <text class="sharedbuslabel" 
-                         x="8"
-                         y="{$busY_ + $BUS_ARROW_H + 10}">
-                       <xsl:value-of select="$instance_"/>
-               </text>
-               
-       </xsl:for-each>
-</symbol>      
-
- <symbol id="KEY_SharedBus">
-       <use  x="0"  y="0"  xlink:href="#KEY_BusArrowWest"/>    
-       <use  x="30" y="0"  xlink:href="#KEY_BusArrowEast"/>    
-        
-       <xsl:variable name="key_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-               
-       <rect x="{$BUS_ARROW_W}" 
-                 y="{$BUS_ARROW_G}"  
-                 width= "{30 - $BUS_ARROW_W}" 
-                 height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$key_col_}"/>
-</symbol>
-       
-</xsl:template>
-       
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdIOPorts.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdIOPorts.xsl
deleted file mode 100644 (file)
index cb37f8c..0000000
+++ /dev/null
@@ -1,512 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-                
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-<xsl:param name="IOP_H"   select="16"/>                                
-<xsl:param name="IOP_W"   select="16"/>                                
-<xsl:param name="IOP_SPC" select="12"/>                                
-
-<xsl:param name="MOD_IO_GAP"   select="8"/>                            
-
-<!-- ======================= DEF BLOCK =============================== -->
-<xsl:template name="Define_IOPorts">
-       
-       <xsl:variable name="key_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-               <xsl:variable name="key_lt_col_">
-                       <xsl:call-template name="BusType2LightColor">
-                               <xsl:with-param name="busType" select="'KEY'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-
-        <symbol id="G_IOPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$IOP_W}" 
-                       height="{$IOP_H}" style="fill:{$COL_IORING_LT}; stroke:{$COL_IORING}; stroke-width:1"/> 
-                       
-               <path class="ioport"
-                         d="M   0,0
-                                L   {$IOP_W},{ceiling($IOP_H div 2)}
-                                L   0,{$IOP_H}
-                                Z" style="stroke:none; fill:{$COL_SYSPRT}"/>   
-       </symbol>
-
-        <symbol id="G_BIPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$IOP_W}" 
-                       height="{$IOP_H}" style="fill:{$COL_IORING_LT}; stroke:{$COL_IORING}; stroke-width:1"/> 
-                       
-               <path class="btop"
-                         d="M 0,{ceiling($IOP_H div 2)}
-                                {ceiling($IOP_W div 2)},0
-                                {$IOP_W},{ceiling($IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$COL_SYSPRT}"/>   
-                                
-               <path class="bbot"
-                         d="M 0,{ceiling($IOP_H div 2)}
-                                {ceiling($IOP_W div 2)},{$IOP_H}
-                                {$IOP_W},{ceiling($IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$COL_SYSPRT}"/>   
-                                
-       </symbol>
-
-        <symbol id="KEY_IOPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$IOP_W}" 
-                       height="{$IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/> 
-                       
-               <path class="ioport"
-                         d="M   0,0
-                                L   {$IOP_W},{ceiling($IOP_H div 2)}
-                                L   0,{$IOP_H}
-                                Z" style="stroke:none; fill:{$key_col_}"/>     
-       </symbol>
-       
-        <symbol id="KEY_BIPort">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$IOP_W}" 
-                       height="{$IOP_H}" style="fill:{$key_lt_col_}; stroke:none;"/> 
-                       
-               <path class="btop"
-                         d="M 0,{ceiling($IOP_H div 2)}
-                                {ceiling($IOP_W div 2)},0
-                                {$IOP_W},{ceiling($IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$key_col_}"/>     
-                                
-               <path class="bbot"
-                         d="M 0,{ceiling($IOP_H div 2)}
-                                {ceiling($IOP_W div 2)},{$IOP_H}
-                                {$IOP_W},{ceiling($IOP_H div 2)}
-                                Z" style="stroke:none; fill:{$key_col_}"/>
-       </symbol>
-       
-        <symbol id="KEY_INPort">
-               <use   x="0"   y="0"   xlink:href="#KEY_IOPort"/>
-               <rect  
-                       x="{$IOP_W}"  
-                       y="0" 
-                       width= "{ceiling($IOP_W div 2)}" 
-                       height="{$IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/> 
-       </symbol>
-       
-        <symbol id="KEY_OUTPort">
-               <use   x="0"   y="0"   xlink:href="#KEY_IOPort" transform="scale(-1,1) translate({$IOP_W * -1},0)"/>
-               <rect  
-                       x="{$IOP_W}"  
-                       y="0" 
-                       width= "{ceiling($IOP_W div 2)}" 
-                       height="{$IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/> 
-       </symbol>
-
-        <symbol id="KEY_INOUTPort">
-               <use   x="0"   y="0"   xlink:href="#KEY_BIPort"/>
-               <rect  
-                       x="{$IOP_W}"  
-                       y="0" 
-                       width= "{ceiling($IOP_W div 2)}" 
-                       height="{$IOP_H}" style="fill:{$COL_SYSPRT}; stroke:none;"/> 
-       </symbol>
-
-
-</xsl:template>
-
-<!-- ======================= DRAW BLOCK =============================== -->
-
-<xsl:template name="Draw_IOPorts"> 
-       <xsl:param name="drawarea_w" select="500"/>
-       <xsl:param name="drawarea_h" select="500"/>
-       
-       
-       <xsl:variable name="ports_count_"    select="count(EXTERNALPORTS/PORT)"/>
-       
-       <xsl:if test="($ports_count_ &gt; 30)">
-               <xsl:call-template name="Draw_IOPorts_4Sides"> 
-                       <xsl:with-param name="drawarea_w" select="$drawarea_w"/>
-                       <xsl:with-param name="drawarea_h" select="$drawarea_h"/>
-               </xsl:call-template>    
-       </xsl:if>
-       
-       <xsl:if test="($ports_count_ &lt;= 30)">
-               <xsl:call-template name="Draw_IOPorts_2Sides"> 
-                       <xsl:with-param name="drawarea_w" select="$drawarea_w"/>
-                       <xsl:with-param name="drawarea_h" select="$drawarea_h"/>
-               </xsl:call-template>    
-       </xsl:if>
-</xsl:template>
-
-
-<xsl:template name="Draw_IOPorts_2Sides"> 
-       
-       <xsl:param name="drawarea_h"  select="500"/>
-       <xsl:param name="drawarea_w"  select="500"/>
-       
-       <xsl:variable name="ports_count_"    select="count(EXTERNALPORTS/PORT)"/>
-       <xsl:variable name="ports_per_side_" select="ceiling($ports_count_ div 2)"/>
-       
-       <xsl:variable name="h_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_W + ceiling(($drawarea_w  - (($ports_per_side_ * $IOP_W) + (($ports_per_side_ - 1) * $IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-       <xsl:variable name="v_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($drawarea_h  - (($ports_per_side_ * $IOP_H) + (($ports_per_side_ - 1) * $IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-
-       <xsl:for-each select="EXTERNALPORTS/PORT">
-               <xsl:sort data-type="number" select="@INDEX" order="ascending"/>
-               
-               <xsl:variable name="poffset_" select="0"/>
-               <xsl:variable name="pcount_"  select="$poffset_ + (position() -1)"/>
-               
-               <xsl:variable name="pdir_">
-                       <xsl:choose>
-                               <xsl:when test="(@DIR='I'  or @DIR='IN'  or @DIR='INPUT')">I</xsl:when>
-                               <xsl:when test="(@DIR='O'  or @DIR='OUT' or @DIR='OUTPUT')">O</xsl:when>
-                               <xsl:when test="(@DIR='IO' or @DIR='INOUT')">B</xsl:when>
-                               <xsl:otherwise>I</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pside_">
-                       <xsl:choose>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 0) and ($pcount_ &lt; ($ports_per_side_ * 1)))">W</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 1) and ($pcount_ &lt; ($ports_per_side_ * 2)))">E</xsl:when>
-                               <xsl:otherwise>D</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pdec_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($ports_per_side_ * 0)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($ports_per_side_ * 1)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="px_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($BLKD_PRTCHAN_W - $IOP_W)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_W)) - 2)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $drawarea_w)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_W)))"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="py_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $drawarea_h)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $IOP_H)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-       
-               <xsl:variable name="prot_">
-                       <xsl:choose>
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'I'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'I'))">-90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'I'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'I'))">90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'O'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'O'))">90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'O'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'O'))">-90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               
-               <xsl:variable name="txo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_  = 'W')">-10</xsl:when>
-                               <xsl:when test="($pside_  = 'S')">6</xsl:when>
-                                <xsl:when test="($pside_ = 'E')"><xsl:value-of select="(($IOP_W * 2) - 4)"/></xsl:when>
-                               <xsl:when test="($pside_  = 'N')">6</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="tyo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="ceiling($IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($IOP_H * 2) + 4"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')">-2</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-
-               <xsl:if test="$pdir_ = 'B'">       
-                       <use   x="{$px_}"  
-                              y="{$py_}"  
-                                  id="{@NAME}"
-                              xlink:href="#G_BIPort" 
-                              transform="rotate({$prot_},{$px_ + ceiling($IOP_W div 2)},{$py_ + ceiling($IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">    
-                       <rect  
-                               x="{$px_}"  
-                               y="{$py_}" 
-                               width= "{$IOP_W}" 
-                               height="{$IOP_H}" style="stroke:{$COL_IORING}; stroke-width:1"/> 
-               </xsl:if>
-               
-               <xsl:if test="not($pdir_ = 'B')">          
-                       <use   x="{$px_}"  
-                              y="{$py_}"  
-                                  id="{@NAME}"
-                              xlink:href="#G_IOPort" 
-                              transform="rotate({$prot_},{$px_ + ceiling($IOP_W div 2)},{$py_ + ceiling($IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <text class="iopnumb"
-                       x="{$px_ + $txo_}" 
-                       y="{$py_ + $tyo_}">
-                       <xsl:value-of select="@INDEX"/><tspan class="iopgrp"><xsl:value-of select="@GROUP"/></tspan>
-               </text>
-               
-       </xsl:for-each>
-       
-</xsl:template>
-
-
-<xsl:template name="Draw_IOPorts_4Sides"> 
-       
-       <xsl:param name="drawarea_h"  select="500"/>
-       <xsl:param name="drawarea_w"  select="500"/>
-       
-       <xsl:variable name="ports_count_"    select="count(EXTERNALPORTS/PORT)"/>
-       <xsl:variable name="ports_per_side_" select="ceiling($ports_count_ div 4)"/>
-       
-       <xsl:variable name="h_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_W + ceiling(($drawarea_w  - (($ports_per_side_ * $IOP_W) + (($ports_per_side_ - 1) * $IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-       <xsl:variable name="v_ofs_">
-               <xsl:value-of select="$BLKD_PRTCHAN_H + ceiling(($drawarea_h  - (($ports_per_side_ * $IOP_H) + (($ports_per_side_ - 1) * $IOP_SPC))) div 2)"/>
-       </xsl:variable>
-       
-
-       <xsl:for-each select="EXTERNALPORTS/PORT">
-               <xsl:sort data-type="number" select="@INDEX" order="ascending"/>
-               
-               <xsl:variable name="poffset_" select="0"/>
-               <xsl:variable name="pcount_"  select="$poffset_ + (position() -1)"/>
-               
-               <xsl:variable name="pdir_">
-                       <xsl:choose>
-                               <xsl:when test="(@DIR='I'  or @DIR='IN'  or @DIR='INPUT')">I</xsl:when>
-                               <xsl:when test="(@DIR='O'  or @DIR='OUT' or @DIR='OUTPUT')">O</xsl:when>
-                               <xsl:when test="(@DIR='IO' or @DIR='INOUT')">B</xsl:when>
-                               <xsl:otherwise>I</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pside_">
-                       <xsl:choose>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 0) and ($pcount_ &lt; ($ports_per_side_ * 1)))">W</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 1) and ($pcount_ &lt; ($ports_per_side_ * 2)))">S</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 2) and ($pcount_ &lt; ($ports_per_side_ * 3)))">E</xsl:when>
-                               <xsl:when test="($pcount_ &gt;= ($ports_per_side_ * 3) and ($pcount_ &lt; ($ports_per_side_ * 4)))">N</xsl:when>
-                               <xsl:otherwise>D</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="pdec_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($ports_per_side_ * 0)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($ports_per_side_ * 1)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($ports_per_side_ * 2)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($ports_per_side_ * 3)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="px_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($BLKD_PRTCHAN_W - $IOP_W)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_W)) - 2)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($BLKD_PRTCHAN_W + ($BLKD_IORCHAN_W * 2) + $drawarea_w)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($h_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_W)))"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="py_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($BLKD_PRTCHAN_H + ($BLKD_IORCHAN_H * 2) + $drawarea_h)"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="($v_ofs_ + (((position() - 1) - $pdec_) * ($IOP_SPC + $IOP_H)))"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')"><xsl:value-of select="($BLKD_PRTCHAN_H - $IOP_H)"/></xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-       
-               <xsl:variable name="prot_">
-                       <xsl:choose>
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'I'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'I'))">-90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'I'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'I'))">90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'O'))">180</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'O'))">90</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'O'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'O'))">-90</xsl:when>
-                               
-                               <xsl:when test="(($pside_ = 'W') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'S') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'E') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:when test="(($pside_ = 'N') and ($pdir_ = 'B'))">0</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="txo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_  = 'W')">-14</xsl:when>
-                               <xsl:when test="($pside_  = 'S')">8</xsl:when>
-                                <xsl:when test="($pside_ = 'E')"><xsl:value-of select="(($IOP_W * 2) - 4)"/></xsl:when>
-                               <xsl:when test="($pside_  = 'N')">8</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-               
-               <xsl:variable name="tyo_">
-                       <xsl:choose>
-                               <xsl:when test="($pside_ = 'W')"><xsl:value-of select="ceiling($IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'S')"><xsl:value-of select="($IOP_H * 2) + 4"/></xsl:when>
-                               <xsl:when test="($pside_ = 'E')"><xsl:value-of select="ceiling($IOP_H div 2) + 6"/></xsl:when>
-                               <xsl:when test="($pside_ = 'N')">-2</xsl:when>
-                               <xsl:otherwise>0</xsl:otherwise>
-                       </xsl:choose>   
-               </xsl:variable>
-
-               <xsl:if test="$pdir_ = 'B'">       
-                       <use   x="{$px_}"
-                              y="{$py_}"
-                                  id="{@NAME}"
-                              xlink:href="#G_BIPort" 
-                              transform="rotate({$prot_},{$px_ + ceiling($IOP_W div 2)},{$py_ + ceiling($IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <xsl:if test="(($pside_ = 'S') and not($pdir_ = 'B'))">    
-                       <rect  
-                               x="{$px_}"
-                               y="{$py_}"
-                               width= "{$IOP_W}"
-                               height="{$IOP_H}" style="stroke:{$COL_IORING}; stroke-width:1"/> 
-               </xsl:if>
-               
-               <xsl:if test="not($pdir_ = 'B')">          
-                       <use   x="{$px_}"
-                              y="{$py_}"
-                                  id="{@NAME}"
-                              xlink:href="#G_IOPort"
-                              transform="rotate({$prot_},{$px_ + ceiling($IOP_W div 2)},{$py_ + ceiling($IOP_H div 2)})"/>
-               </xsl:if>
-               
-               <text class="iopnumb"
-                       x="{$px_ + $txo_}" 
-                       y="{$py_ + $tyo_}"><xsl:value-of select="@INDEX"/><tspan class="iopgrp"><xsl:value-of select="@GROUP"/></tspan>
-               </text>
-
-       </xsl:for-each>
-       
-</xsl:template>
-       
-<xsl:template name="Define_ExtPortsTable">
-       
-<!--   
-               <xsl:if test="$oriented_= 'WEST'"><xsl:value-of select="$proc2procX_ - (string-length(@BUSNAME) * 6)"/></xsl:if>        
-               <xsl:variable name="max_name_" select="math:max(string-length(/EDKSYSTEM/EXTERNALPORTS/PORT/@NAME))"/>
-               <xsl:variable name="max_sgnm_" select="math:max(string-length(/EDKSYSTEM/EXTERNALPORTS/PORT/@SIGNAME))"/>
-       
-               <xsl:message>MAX NAME <xsl:value-of select="$max_name_"/></xsl:message>
-               <xsl:message>MAX SIG  <xsl:value-of select="$max_sgnm_"/></xsl:message>
--->    
-       
-               <xsl:variable name="ext_ports_">        
-                       <xsl:if test="not(/EDKSYSTEM/EXTERNALPORTS/PORT)">
-                               <EXTPORT NAME="__none__" SIGNAME="__none_" NAMELEN="0" SIGLEN="0"/>
-                       </xsl:if>
-                       <xsl:if test="/EDKSYSTEM/EXTERNALPORTS/PORT">
-                               <xsl:for-each select="/EDKSYSTEM/EXTERNALPORTS/PORT">
-                                       <EXTPORT  NAME="{@NAME}" SIGNAME="{@SIGNAME}" NAMELEN="{string-length(@NAME)}" SIGLEN="{string-length(@SIGNAME)}"/>
-                               </xsl:for-each>
-                       </xsl:if>
-               </xsl:variable>
-       
-               <xsl:variable name="max_name_" select="math:max(exsl:node-set($ext_ports_)/EXTPORT/@NAMELEN)"/>
-               <xsl:variable name="max_sign_" select="math:max(exsl:node-set($ext_ports_)/EXTPORT/@SIGLEN)"/>
-       
-               <xsl:variable name="h_font_" select="12"/>
-               <xsl:variable name="w_font_" select="12"/>
-       
-               <xsl:variable name="w_num_"    select="($w_font_ * 5)"/>
-               <xsl:variable name="w_dir_"    select="($w_font_ * 3)"/>
-               <xsl:variable name="w_lsbmsb_" select="($w_font_ * 9)"/>
-               <xsl:variable name="w_attr_"   select="($w_font_ * 4)"/>
-               <xsl:variable name="w_name_"   select="($w_font_ * $max_name_)"/>
-               <xsl:variable name="w_sign_"   select="($w_font_ * $max_sign_)"/>
-       
-               <xsl:variable name="w_table_" select="($w_num_ + $w_name_ + $w_dir_ + $w_sign_ + $w_attr_)"/>
-       
-<!--   
-               <xsl:message>MAX NAME <xsl:value-of select="$max_name_"/></xsl:message>
-               <xsl:message>MAX SIG  <xsl:value-of select="$max_sign_"/></xsl:message>
-       
-               <xsl:message>W NUM  <xsl:value-of select="$w_num_"/></xsl:message>
-               <xsl:message>W DIR  <xsl:value-of select="$w_dir_"/></xsl:message>
-               <xsl:message>W NAM  <xsl:value-of select="$w_name_"/></xsl:message>
-               <xsl:message>W SIG  <xsl:value-of select="$w_sign_"/></xsl:message>
-               <xsl:message>W ATT  <xsl:value-of select="$w_attr_"/></xsl:message>
-       
-               <xsl:message>W TABLE  <xsl:value-of select="$w_table_"/></xsl:message>
--->    
-       
-        <symbol id="BlkDiagram_ExtPortsTable">
-               <rect  
-                       x="0"  
-                       y="0" 
-                       width= "{$w_table_}" 
-                       height="{$h_font_}"  style="fill:{$COL_RED}; stroke:none; stroke-width:1"/> 
-       </symbol>        
-       
-       
-       
-</xsl:template>
-
-<!-- ======================= END MAIN BLOCK =========================== -->
-
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdProcessors.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdProcessors.xsl
deleted file mode 100644 (file)
index eba0d47..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:math="http://exslt.org/math"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink"
-           extension-element-prefixes="math">
-           
-<xsl:output method="xml" 
-                       version="1.0" 
-                       encoding="UTF-8" 
-                       indent="yes"
-               doctype-public="-//W3C//DTD SVG 1.0//EN"
-                   doctype-system="http://www.w3.org/TR/SVG/DTD/svg10.dtd"/>
-                       
-
-<!-- ======================= DEF BLOCK =================================== -->
-<xsl:template name="Define_AllStacks"> 
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-                       
-               <xsl:call-template name="Define_Stack">
-                       <xsl:with-param name="stackIdx"  select="@EAST"/>
-               </xsl:call-template>
-               
-       </xsl:for-each> 
-</xsl:template>
-       
-       
-<xsl:template name="Define_Stack"> 
-       <xsl:param name="stackIdx"  select="100"/>
-       
-       <!-- Define the stack's peripheral shapes-->    
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) and not(@MODCLASS = 'MEMORY_UNIT'))]"> 
-                       
-               <xsl:for-each select="MODULE">
-                       <xsl:variable name="modInst_" select="@INSTANCE"/>
-                       <xsl:variable name="modType_" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$modInst_)]/@MODTYPE"/>
-                       <xsl:call-template name="Define_Peripheral"> 
-                               <xsl:with-param name="modInst"    select="$modInst_"/>
-                               <xsl:with-param name="modType"    select="$modType_"/>
-                               <xsl:with-param name="shapeId"    select="../@SHAPE_ID"/>
-                               <xsl:with-param name="horizIdx"   select="../@STACK_HORIZ_INDEX"/>
-                               <xsl:with-param name="vertiIdx"   select="../@SHAPE_VERTI_INDEX"/>
-                       </xsl:call-template>            
-               </xsl:for-each> 
-               
-       </xsl:for-each>
-       
-       <!-- Define the stack's memory shapes-->        
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@STACK_HORIZ_INDEX = $stackIdx) and (@MODCLASS='MEMORY_UNIT'))]">
-               <xsl:call-template name="Define_MemoryUnit"> 
-                       <xsl:with-param name="shapeId"  select="@SHAPE_ID"/>
-               </xsl:call-template>
-       </xsl:for-each>
-       
-       
-       <!-- Define the stack's processors-->   
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE and @BIFS_W and @BIFS_H and (@STACK_HORIZ_INDEX = $stackIdx)]"> 
-               <xsl:call-template name="Define_Processor"/>            
-       </xsl:for-each> 
-               
-       <!-- Make an inventory of all the things in this processor's stack -->
-       <xsl:variable name="pstackW_">
-               <xsl:call-template name="_calc_Stack_Width"> 
-                       <xsl:with-param name="stackIdx"  select="$stackIdx"/>
-               </xsl:call-template>            
-       </xsl:variable>
-               
-       <xsl:variable name="pstackH_">
-               <xsl:call-template name="_calc_Stack_Height"> 
-                       <xsl:with-param name="stackIdx"  select="$stackIdx"/>
-               </xsl:call-template>            
-       </xsl:variable>
-       
-       <xsl:variable name="procW_"    select="$periMOD_W"/>
-       <xsl:variable name="procX_"    select="(ceiling($pstackW_ div 2) - ceiling($procW_ div 2))"/>
-       
-       <xsl:variable name="numSBSs_"  select="count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE)"/> 
-       <xsl:variable name="sbs_H_"    select="($numSBSs_ * $SBS_LANE_H)"/>
-       <xsl:variable name="sbsGap_"   select="($PROC2SBS_GAP + $sbs_H_)"/>
-
-       <xsl:variable name="stack_name_">
-               <xsl:call-template name="_gen_Stack_Name"> 
-                       <xsl:with-param name="horizIdx" select="$stackIdx"/>
-               </xsl:call-template>            
-       </xsl:variable> 
-       
-<!--   
-               <xsl:message>Horiz index<xsl:value-of select="$stackIdx"/></xsl:message>
-               <xsl:message>Drawing stack <xsl:value-of select="$stack_name_"/></xsl:message>
--->    
-               
-               <!-- Now use all this stuff to draw the stack-->        
-               <symbol id="{$stack_name_}">
-                       <rect x="0"
-                                 y="0"
-                             rx="6" 
-                             ry="6" 
-                         width = "{$pstackW_}"
-                         height= "{$pstackH_}"
-                             style="fill:{$COL_BG}; stroke:none;"/>
-                       
-               
-                       <!-- First draw the the processor's peripherals-->      
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@STACK_HORIZ_INDEX = $stackIdx)]">
-                               <xsl:sort select="@STACK_VERTI_INDEX" data-type="number"/>
-                               
-                               <xsl:variable name="shapeW_"    select="(@MODS_W * $periMOD_W)"/>
-                               <xsl:variable name="shapeX_"    select="(ceiling($pstackW_ div 2) - ceiling($shapeW_ div 2))"/>
-                               <xsl:variable name="shapeY_">
-                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                               <xsl:with-param name="horizIdx"  select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="vertiIdx"  select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>
-                               </xsl:variable>  
-                               
-                               <xsl:variable name="stack_SymName_">
-                                       <xsl:call-template name="_gen_Stack_SymbolName"> 
-                                               <xsl:with-param name="horizIdx" select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="vertiIdx" select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>            
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>Drawing stack peripheral <xsl:value-of select="$stack_SymName_"/> at <xsl:value-of select="$shapeY_"/></xsl:message>
--->                            
-                               
-                               <use   x="{$shapeX_}"  y="{$shapeY_}"  xlink:href="#{$stack_SymName_}"/> 
-                       
-                       </xsl:for-each>
-                       
-                       
-                       <!-- Then draw the slave buckets for the shared busses that this processor is master to -->     
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX = $stackIdx)]">    
-                               <xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
-                       
-                               <xsl:variable name="bucketW_"   select="(($MOD_BKTLANE_W * 2) + (($periMOD_W * @MODS_W) + ($MOD_BUCKET_G * (@MODS_W - 1))))"/>
-                               <xsl:variable name="bucketX_"   select="(ceiling($pstackW_ div 2) - ceiling($bucketW_ div 2))"/>
-                               
-                               <xsl:variable name="bucketY_">
-                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                               <xsl:with-param name="horizIdx"  select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="vertiIdx"  select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>
-                               </xsl:variable>  
-                               
-<!--                           
-                               <xsl:message>SBS Bucket Y <xsl:value-of select="$bucketY_"/></xsl:message>
--->                            
-                               
-                                <use  x="{$bucketX_}"  y="{$bucketY_}"  xlink:href="#sbsbucket_{@BUSNAME}"/> 
-                                
-                                <text class="ipclass"
-                                          x="{$bucketX_}" 
-                                          y="{$bucketY_ - 4}">SLAVES OF <xsl:value-of select="@BUSNAME"/></text>       
-                       </xsl:for-each>
-                       
-                       <!-- Then draw the the processor itself -->     
-                       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@STACK_HORIZ_INDEX = $stackIdx)]">
-                               <xsl:sort select="@SHAPE_VERTI_INDEX" data-type="number"/>
-                               
-                               <xsl:variable name="procY_">
-                                       <xsl:call-template name="_calc_Stack_Shape_Y">
-                                               <xsl:with-param name="horizIdx"  select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="vertiIdx"  select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>
-                               </xsl:variable>  
-                               
-                               <xsl:variable name="stack_SymName_">
-                                       <xsl:call-template name="_gen_Stack_SymbolName"> 
-                                               <xsl:with-param name="horizIdx" select="@STACK_HORIZ_INDEX"/>
-                                               <xsl:with-param name="vertiIdx" select="@SHAPE_VERTI_INDEX"/>
-                                       </xsl:call-template>            
-                               </xsl:variable>
-                               
-                               <use   x="{$procX_}"  y="{$procY_}"  xlink:href="#{$stack_SymName_}"/> 
-<!--                           
--->                            
-                               
-                               <xsl:if test = "not(@IS_LIKEPROC)">
-                                       <text class="ipclass"
-                                               x="{$procX_}" 
-                                               y="{$procY_ - 4}">PROCESSOR</text>              
-                               </xsl:if>                       
-                                 
-                               <xsl:if test = "@IS_LIKEPROC = 'TRUE'">
-                                       <text class="ipclass"
-                                               x="{$procX_}" 
-                                               y="{$procY_ - 4}">USER MODULE</text>            
-                               </xsl:if>                       
-                       
-                       </xsl:for-each>
-               </symbol>
-</xsl:template>        
-
-
-<xsl:template name="Define_Processor">
-       <xsl:param name="procInst"  select="@INSTANCE"/>
-       <xsl:param name="modType"   select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@MODTYPE"/>
-<!--   
-       <xsl:param name="procType"  select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@PROCTYPE"/>
--->    
-       
-       <xsl:variable name="label_y_">
-               <xsl:value-of select="$MOD_LANE_H"/>    
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>The proctype is <xsl:value-of select="$procType"/></xsl:message>   
--->
-       
-       <xsl:variable name="procH_" select="(($MOD_LANE_H * 2) + (($BIF_H + $MOD_BIF_GAP_V) * @BIFS_H) + ($MOD_LABEL_H + $MOD_BIF_GAP_V))"/>    
-       <xsl:variable name="procW_" select="(($MOD_LANE_W * 2) + (($BIF_W                   * @BIFS_W) + $MOD_BIF_GAP_H))"/>    
-       
-       <xsl:variable name="procColor">
-               <xsl:choose>
-                       <xsl:when test="contains($modType,'microblaze')"><xsl:value-of select="$COL_PROC_BG_MB"/></xsl:when>
-                       <xsl:when test="contains($modType,'ppc')"><xsl:value-of select="$COL_PROC_BG_PP"/></xsl:when>
-<!--                   
-                       <xsl:when test="$procType = 'MICROBLAZE'"><xsl:value-of select="$COL_PROC_BG_MB"/></xsl:when>
-                       <xsl:when test="$procType = 'POWERPC'"><xsl:value-of select="$COL_PROC_BG_PP"/></xsl:when>
--->    
-                       <xsl:otherwise>
-                               <xsl:value-of select="$COL_PROC_BG_USR"/>       
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:variable>
-       
-<!--   
-       <xsl:message>The proc color is <xsl:value-of select="$procColor"/></xsl:message>        
--->    
-       
-
-       <xsl:variable name="procName_">
-               <xsl:call-template name="_gen_Stack_SymbolName"> 
-                       <xsl:with-param name="horizIdx" select="@STACK_HORIZ_INDEX"/>
-                       <xsl:with-param name="vertiIdx" select="@SHAPE_VERTI_INDEX"/>
-               </xsl:call-template>            
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>The proc name is <xsl:value-of select="$procName_"/></xsl:message> 
--->    
-       
-    <symbol id="{$procName_}">
-
-               <rect x="0"
-                     y="0"
-                         rx="6" 
-                         ry="6" 
-                     width = "{$procW_}"
-                     height= "{$procH_}"
-                         style="fill:{$procColor}; stroke:{$COL_WHITE}; stroke-width:2"/>              
-                         
-                         
-               <rect x="{ceiling($procW_ div 2) - ceiling($MOD_LABEL_W div 2)}"
-                     y="{$MOD_LANE_H}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$MOD_LABEL_W}"
-                     height="{$MOD_LABEL_H}"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
-                         
-               <text class="bciptype" 
-                         x="{ceiling($procW_ div 2)}"
-                         y="{$MOD_LANE_H + 8}">
-                               <xsl:value-of select="$modType"/>
-               </text>
-                               
-               <text class="bciplabel" 
-                         x="{ceiling($procW_ div 2)}"
-                         y="{$MOD_LANE_H + 16}">
-                               <xsl:value-of select="$procInst"/>
-          </text>
-          
-          
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@GROUP">
-               
-               <rect x="{ceiling($periMOD_W div 2) - ceiling($MOD_LABEL_W div 2)}"
-                     y="{$MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) - 2}"
-                         rx="3" 
-                         ry="3" 
-                     width= "{$MOD_LABEL_W}"
-                     height="{$BIF_H}"
-                         style="fill:{$COL_IORING_LT}; stroke:none;"/>         
-                         
-       
-                  <text class="ioplblgrp"  x="{ceiling($periMOD_W div 2)}" y="{$MOD_LANE_H + $BIF_H + ceiling($BIF_H div 3) + 12}">
-                          <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[@INSTANCE=$procInst]/@GROUP"/>
-                       </text>
-          
-               </xsl:if> 
-          
-          
-               <xsl:for-each select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $procInst)]/BUSINTERFACE[(@BIF_X and @BIF_Y)]">
-                       
-                       <xsl:variable name="bif_busstd_">
-                               <xsl:choose>
-                                       <xsl:when test="@BUSSTD">
-                                               <xsl:value-of select="@BUSSTD"/>        
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="'TRS'"/>  
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_buscol_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="busType" select="$bif_busstd_"/>
-                               </xsl:call-template>
-                       </xsl:variable>
-               
-                       
-                       <xsl:variable name="bif_name_">
-                               <xsl:choose>
-                                       <xsl:when test="string-length(@NAME) &lt;= 5">
-                                               <xsl:value-of select="@NAME"/>  
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:value-of select="substring(@NAME,0,5)"/>   
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bif_x_"  select="(($BIF_W * @BIF_X) + ($MOD_BIF_GAP_H * @BIF_X) + ($MOD_LANE_W * 1))"/>
-                       <xsl:variable name="bif_y_"  select="((($BIF_H + $MOD_BIF_GAP_V) * @BIF_Y) + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-                       
-                       <xsl:variable name="horz_line_y_" select="($bif_y_ + ceiling($BIFC_H div 2))"/>
-                       
-                       <xsl:variable name="horz_line_x1_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIF_X = '0'">0</xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="($periMOD_W - $MOD_LANE_W)"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="horz_line_x2_">
-                               <xsl:choose>
-                                       <xsl:when test="@BIF_X = '0'"><xsl:value-of select="$MOD_LANE_W"/></xsl:when>
-                                       <xsl:otherwise><xsl:value-of select="$periMOD_W + 1"/></xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:variable>
-                       
-                       
-                       <line x1="{$horz_line_x1_}" 
-                                 y1="{$horz_line_y_ - 2}"
-                             x2="{$horz_line_x2_}" 
-                             y2="{$horz_line_y_ - 2}" 
-                             style="stroke:{$bif_buscol_};stroke-width:1"/>
-                         
-                       <use  x="{$bif_x_}"   y="{$bif_y_}"  xlink:href="#{$bif_busstd_}_Bif"/>
-                               
-                       <text class="biflabel" 
-                                 x="{$bif_x_ + ceiling($BIF_W div 2)}"
-                                 y="{$bif_y_ + ceiling($BIF_H div 2) + 3}">
-                                       <xsl:value-of select="$bif_name_"/>
-                       </text>
-                       
-                       
-                       
-               </xsl:for-each>
-               
-               <xsl:variable name="interrupt_cntlr_">
-                       <xsl:choose>
-                               <xsl:when test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$procInst)]/@INTERRUPT_CNTLR">
-                                       <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE=$procInst)]/@INTERRUPT_CNTLR"/>
-                               </xsl:when>
-                               <xsl:otherwise>"_no_interrupt_cntlr_"</xsl:otherwise>
-                       </xsl:choose>
-               </xsl:variable>
-                       
-<!--           
-               <xsl:message> The intc index should <xsl:value-of select="$interrupt_cntlr_"/></xsl:message>
-               <xsl:message> The intc index is <xsl:value-of select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/></xsl:message>
--->            
-               <xsl:if test="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX">
-                       
-                       <xsl:variable name="intr_col_">
-                               <xsl:call-template name="intcIdx2Color">
-                                       <xsl:with-param name="intcIdx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:call-template name="_draw_InterruptedProc">
-                               <xsl:with-param name="intr_col" select="$intr_col_"/>
-                               <xsl:with-param name="intr_x"   select="($periMOD_W - ceiling($INTR_W div 2))"/>
-                               <xsl:with-param name="intr_y"   select="3"/>
-                               <xsl:with-param name="intr_idx" select="/EDKSYSTEM/MODULES/MODULE[(@INSTANCE = $interrupt_cntlr_)]/@INTCINDEX"/>
-                       </xsl:call-template>    
-               </xsl:if>
-               
-       </symbol>                         
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlockDiagram.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlockDiagram.xsl
deleted file mode 100644 (file)
index aacc703..0000000
+++ /dev/null
@@ -1,2747 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:math="http://exslt.org/math"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-           extension-element-prefixes="math">
-                  
-<xsl:include href="MdtXdsSVG_Colors.xsl"/>
-
-<xsl:include href="MdtXdsSVG_BlkDBifDefs.xsl"/>
-<xsl:include href="MdtXdsSVG_BlkdBusses.xsl"/>
-<xsl:include href="MdtXdsSVG_BlkdIOPorts.xsl"/>
-<xsl:include href="MdtXdsSVG_BlkdProcessors.xsl"/>
-<xsl:include href="MdtXdsSVG_BlkDDimensions.xsl"/>
-<xsl:include href="MdtXdsSVG_BlkDModuleDefs.xsl"/>
-<xsl:include href="MdtXdsSVG_BlkDPeripherals.xsl"/>
-<xsl:include href="MdtXdsSVG_BlkDCalculations.xsl"/>
-<xsl:include href="MdtXdsSVG_BlkDBusLaneSpaces.xsl"/>
-       
-<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"
-              doctype-public="-//W3C//DTD SVG 1.0//EN"
-                  doctype-system="svg10.dtd"/>
-       
-<xsl:param    name="ADD_VIEWBOX"        select="'FALSE'"/>                
-<xsl:param    name="CSS_RENDER"         select="'MdtXdsSVG_Render.css'"/>
-<xsl:param    name="IN_TESTMODE"        select="'FALSE'"/>
-               
-       
-<!-- ======================= MAIN SVG BLOCK =============================== -->
-<xsl:template match="EDKSYSTEM">
-
-<!-- ===========================================================================
-    Calculate the width of the Block Diagram based on the total number of      
-    buslanes and modules in the design. If there are no buslanes or modules,
-       a default width, just wide enough to display the KEY and SPECS is used
-   =========================================================================== -->
-       
-<xsl:variable name="totalStacksW_">
-       <xsl:call-template name="_calc_Stack_X">
-               <xsl:with-param name="stackIdx"     select="(BLKDSHAPES/@STACK_HORIZ_WIDTH)"/>
-       </xsl:call-template>
-</xsl:variable>
-       
-<xsl:variable name="numBridges_"        select="count(BLKDSHAPES/BRIDGESHAPES/MODULE)"/>
-<xsl:variable name="totalBridgesW_"     select="(($numBridges_ * ($periMOD_W + ($BUS_LANE_W * 2))) + $BRIDGE_GAP)"/>
-<xsl:variable name="BLKD_DRAWAREA_CLC"  select="$totalStacksW_ + $totalBridgesW_ + ($BLKD_INNER_GAP * 2)"/>
-       
-
-<xsl:variable name="BLKD_DRAWAREA_W">
-       <xsl:if test="$BLKD_DRAWAREA_CLC &gt; ($BLKD_KEY_W + $BLKD_SPECS_W + $SPECS2KEY_GAP)">
-               <xsl:value-of select="$BLKD_DRAWAREA_CLC"/>
-       </xsl:if>
-       <xsl:if test="not($BLKD_DRAWAREA_CLC &gt; ($BLKD_KEY_W + $BLKD_SPECS_W + $SPECS2KEY_GAP))">
-               <xsl:value-of select="($BLKD_KEY_W + $BLKD_SPECS_W + $SPECS2KEY_GAP)"/>
-       </xsl:if>
-</xsl:variable>
-<xsl:variable name="BLKD_W"             select="($BLKD_DRAWAREA_W + (($BLKD_PRTCHAN_W  + $BLKD_IORCHAN_W)* 2))"/>
-
-<!-- =========================================================================== -->
-<!-- Calculate the height of the Block Diagram based on the total number of      -->
-<!-- buslanes and modules in the design. Take into account special shapes such   -->
-<!-- as MultiProc shapes.                                                                                                           -->
-<!-- =========================================================================== -->
-       
-<xsl:variable name="max_Stack_BlwSbs_H_">
-       <xsl:call-template name="_calc_Max_Stack_BlwSbs_Height"/>
-</xsl:variable>
-
-<xsl:variable name="max_Stack_AbvSbs_H_">
-       <xsl:call-template name="_calc_Max_Stack_AbvSbs_Height"/>
-</xsl:variable>
-       
-
-<xsl:variable name="numSbs_"            select="count(BLKDSHAPES/SBSSHAPES/MODULE)"/>
-<xsl:variable name="totalSbs_H_"        select="($numSbs_ * $SBS_LANE_H)"/>
-
-<xsl:variable name="IpBktMods_H_">
-       <xsl:if test="BLKDSHAPES/IPBUCKET/@MODS_H"><xsl:value-of select="BLKDSHAPES/IPBUCKET/@MODS_H"/></xsl:if>
-       <xsl:if test="not(BLKDSHAPES/IPBUCKET/@MODS_H)">0</xsl:if>
-</xsl:variable>
-<xsl:variable name="totalIpBkt_H_"       select="($IpBktMods_H_ * ($periMOD_H + $BIF_H))"/>
-
-       
-<xsl:variable name="totalUnkBkt_H_">
-       <xsl:if test="BLKDSHAPES/UNKBUCKET">
-       
-               <xsl:variable name="UnkBktModsH_">
-                       <xsl:if test="BLKDSHAPES/UNKBUCKET/@MODS_H"><xsl:value-of select="BLKDSHAPES/UNKBUCKET/@MODS_H"/></xsl:if>
-                       <xsl:if test="not(BLKDSHAPES/UNKBUCKET/@MODS_H)">0</xsl:if>
-               </xsl:variable>
-               <xsl:variable name="totalUnkModH_"       select="($UnkBktModsH_ * ($periMOD_H + $BIF_H))"/>
-               
-               <xsl:variable name="UnkBktBifsH_">
-                       <xsl:if test="BLKDSHAPES/UNKBUCKET/@BIFS_H"><xsl:value-of select="BLKDSHAPES/UNKBUCKET/@BIFS_H"/></xsl:if>
-                       <xsl:if test="not(BLKDSHAPES/UNKBUCKET/@BIFS_H)">0</xsl:if>
-               </xsl:variable>
-               <xsl:variable name="totalUnkBifH_"       select="($UnkBktBifsH_ * ($periMOD_H + $BIF_H))"/>
-               
-               <xsl:value-of select="($totalUnkBifH_ + $totalUnkModH_)"/>      
-       </xsl:if>
-       
-       <xsl:if test="not(BLKDSHAPES/UNKBUCKET)">0</xsl:if>
-</xsl:variable>
-
-<xsl:variable name="BLKD_DRAWAREA_H"    select="($max_Stack_AbvSbs_H_ + $PROC2SBS_GAP + $totalSbs_H_ + $max_Stack_BlwSbs_H_ + $SBS2IP_GAP + $totalIpBkt_H_ + $IP2UNK_GAP + $totalUnkBkt_H_ + ($BLKD_INNER_GAP * 2))"/>
-<xsl:variable name="BLKD_H"             select="($BLKD_DRAWAREA_H + (($BLKD_PRTCHAN_H  + $BLKD_IORCHAN_H)* 2))"/>
-       
-<!--   
-<xsl:variable name="BLKD_TOTAL_H"       select="($BLKD_H + $BLKD2KEY_GAP + $BLKD_KEY_H)"/>
--->    
-<xsl:variable name="BLKD_TOTAL_H">
-       <xsl:if test="($IN_TESTMODE = 'TRUE')">
-               <xsl:message>Generating Blkdiagram in TestMode </xsl:message>
-       <xsl:value-of select="$BLKD_H"/>
-       </xsl:if>
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-       <xsl:value-of select="($BLKD_H + $BLKD2KEY_GAP + $BLKD_KEY_H)"/>
-       </xsl:if>
-</xsl:variable>
-       
-       
-       
-<!--
-<xsl:message>Found Blkd Total as <xsl:value-of select="$BLKD_TOTAL_H"/></xsl:message>
-<xsl:message>Found max abv as <xsl:value-of select="$max_Stack_AbvSbs_H_"/></xsl:message>
-<xsl:message>Found max blw as <xsl:value-of select="$max_Stack_BlwSbs_H_"/></xsl:message>
-<xsl:message>Found Blkd DrawArea height as <xsl:value-of select="$BLKD_DRAWAREA_H"/></xsl:message>
-<xsl:message>Found Ip Bkt as <xsl:value-of select="$totalIpBkt_H_"/></xsl:message>
-<xsl:message>Found Sbs as <xsl:value-of select="$totalSbs_H_"/></xsl:message>
-<xsl:message>Found Unk Bkt as <xsl:value-of select="$totalUnkBkt_H_"/></xsl:message>
--->
-
-
-<!--specify a css for the file -->
-<xsl:processing-instruction name="xml-stylesheet">href="<xsl:value-of select="$CSS_RENDER"/>" type="text/css"</xsl:processing-instruction>
-       
-<xsl:variable name="BLKD_ZOOM_Y">
-       <xsl:choose>
-               <xsl:when test="($ADD_VIEWBOX = 'TRUE')">
-                               <xsl:value-of select="($BLKD_TOTAL_H * 2)"/>
-               </xsl:when>
-               <xsl:otherwise>0</xsl:otherwise>                
-       </xsl:choose>
-</xsl:variable>
-       
-<xsl:text>&#10;</xsl:text>
-<svg width="{$BLKD_W}" height="{$BLKD_TOTAL_H}" viewBox="0 0 0 {$BLKD_ZOOM_Y}">        
-<!-- =============================================== -->
-<!--        Layout All the various definitions       -->
-<!-- =============================================== -->
-       <defs>
-               <!-- Diagram Key Definition -->
-               <xsl:call-template name="Define_BlkDiagram_Key"/>               
-               
-               <!-- Diagram Specs Definition -->
-               <xsl:call-template name="Define_BlkDiagram_Specs">              
-                       <xsl:with-param name="blkd_arch"     select="@ARCH"/>
-                       <xsl:with-param name="blkd_part"     select="@PART"/>
-                       <xsl:with-param name="blkd_edkver"   select="@EDKVERSION"/>
-                       <xsl:with-param name="blkd_gentime"  select="@TIMESTAMP"/>
-               </xsl:call-template>            
-               
-               <!-- IO Port Defs -->
-               <xsl:call-template name="Define_IOPorts">               
-                       <xsl:with-param name="drawarea_w" select="$BLKD_DRAWAREA_W"/>
-                       <xsl:with-param name="drawarea_h" select="$BLKD_DRAWAREA_H"/>
-               </xsl:call-template>    
-               
-               <!-- BIF Defs -->
-               <xsl:call-template name="Define_BifTypes"/>             
-               
-               <!-- Bus Defs -->
-               <xsl:call-template name="Define_Busses">                
-                       <xsl:with-param name="drawarea_w" select="$BLKD_DRAWAREA_W"/>
-                       <xsl:with-param name="drawarea_h" select="$BLKD_DRAWAREA_H"/>
-               </xsl:call-template>    
-               
-               <!-- Shared Bus Buckets Defs -->
-               <xsl:call-template name="Define_SBSBuckets"/>           
-               
-               <!-- IP Bucket Defs -->
-               <xsl:call-template name="Define_IPBucket"/>             
-               
-               <!-- Stack Defs -->
-               <xsl:call-template name="Define_AllStacks"/>            
-               
-               <!-- Space Defs -->
-               <xsl:call-template name="Define_BusLaneSpaces"/>                
-               
-               <!-- Ext port Defs -->
-<!--           
-               <xsl:call-template name="Define_ExtPortsTable"/>                
--->    
-                       
-                       
-       </defs>
-       
-<!-- =============================================== -->
-<!--             Draw Outlines                       -->
-<!-- =============================================== -->
-       
-        <!-- The surrounding black liner -->
-     <rect x="0"  
-                  y="0" 
-                  width ="{$BLKD_W}"
-                  height="{$BLKD_TOTAL_H}" style="fill:{$COL_WHITE}; stroke:{$COL_BLACK};stroke-width:4"/>
-                  
-        <!-- The outer IO channel -->
-     <rect x="{$BLKD_PRTCHAN_W}"  
-                  y="{$BLKD_PRTCHAN_H}" 
-                  width= "{$BLKD_W - ($BLKD_PRTCHAN_W * 2)}" 
-                  height="{$BLKD_H - ($BLKD_PRTCHAN_H * 2)}" style="fill:{$COL_IORING}"/>
-                  
-        <!-- The Diagram's drawing area -->
-     <rect x="{$BLKD_PRTCHAN_W + $BLKD_IORCHAN_W}"  
-                  y="{$BLKD_PRTCHAN_H + $BLKD_IORCHAN_H}" 
-                  width= "{$BLKD_DRAWAREA_W}"
-                  height="{$BLKD_DRAWAREA_H}" rx="8" ry="8" style="fill:{$COL_BG}"/>
-                  
-<!-- =============================================== -->
-<!--        Draw All the various components          -->
-<!-- =============================================== -->
-       
-       <!--   Layout the IO Ports    -->       
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-               <xsl:call-template name="Draw_IOPorts">         
-                       <xsl:with-param name="drawarea_w" select="$BLKD_DRAWAREA_W"/>
-                       <xsl:with-param name="drawarea_h" select="$BLKD_DRAWAREA_H"/>
-               </xsl:call-template>    
-       </xsl:if>
-       
-       <!--   Layout the Shapes      -->       
-       <xsl:call-template name="Draw_BlkDiagram_Shapes">               
-               <xsl:with-param name="blkd_w"     select="$BLKD_W"/>
-               <xsl:with-param name="blkd_h"     select="$BLKD_H"/>
-               <xsl:with-param name="drawarea_w" select="$BLKD_DRAWAREA_W"/>
-               <xsl:with-param name="drawarea_h" select="$BLKD_DRAWAREA_H"/>
-       </xsl:call-template>    
-       
-       
-</svg>
-
-<!-- ======================= END MAIN SVG BLOCK =============================== -->
-</xsl:template>
-       
-<xsl:template name="Draw_BlkDiagram_Shapes">
-       <xsl:param name="blkd_w"     select="820"/>
-       <xsl:param name="blkd_h"     select="520"/>
-       <xsl:param name="drawarea_w" select="800"/>
-       <xsl:param name="drawarea_h" select="500"/>
-       
-       
-       <xsl:variable name="max_Stack_AbvSbs_H_">
-               <xsl:call-template name="_calc_Max_Stack_AbvSbs_Height"/>
-       </xsl:variable>
-       
-       <xsl:variable name="max_Stack_BlwSbs_H_">
-               <xsl:call-template name="_calc_Max_Stack_BlwSbs_Height"/>
-       </xsl:variable>
-       
-       <xsl:variable name="numSbs_"    select="count(/EDKSYSTEM/BLKDSHAPES/SBSSHAPES/MODULE)"/>
-       <xsl:variable name="sbs_h_"     select="($numSbs_  * $SBS_LANE_H)"/>
-       <xsl:variable name="sbs_y_"     select="($BLKD_INNER_Y + $max_Stack_AbvSbs_H_ + $PROC2SBS_GAP)"/>
-       
-       <!-- 
-                ===========================================================
-                                               Draw the shared busses 
-                ===========================================================
-       -->
-       <use   x="{$BLKD_INNER_Y}"    y="{$sbs_y_ + $PROC2SBS_GAP}"  xlink:href="#group_sharedBusses"/> 
-       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Bus Lane Spaces 
-                ===========================================================
-       -->
-       <xsl:call-template name="Draw_BlkDiagram_BusLaneSpaces">
-               <xsl:with-param name="sbs_Y"  select="$sbs_y_"/>
-       </xsl:call-template>    
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Bridges
-                ===========================================================
-       -->
-       <xsl:call-template name="Draw_BlkDiagram_Bridges">
-               <xsl:with-param name="sbs_Y"    select="$sbs_y_"/>
-               <xsl:with-param name="inner_X"  select="$BLKD_INNER_Y"/>
-       </xsl:call-template>    
-       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Stacks
-                ===========================================================
-       -->
-       <xsl:call-template name="Draw_BlkDiagram_Stacks">
-               <xsl:with-param name="sbs_Y"  select="$sbs_y_"/>
-       </xsl:call-template>    
-       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Ip Bucket
-                ===========================================================
-       -->
-       
-       <xsl:call-template name="Draw_BlkDiagram_IPBucket">
-               <xsl:with-param name="blkd_W"               select="$blkd_w"/>
-               <xsl:with-param name="sbs_Y"                            select="$sbs_y_"/>
-               <xsl:with-param name="sbs_H"                            select="$sbs_h_"/>
-           <xsl:with-param name="max_Stack_AbvSbs_H"   select="$max_Stack_AbvSbs_H_"/>
-           <xsl:with-param name="max_Stack_BlwSbs_H"   select="$max_Stack_BlwSbs_H_"/>
-       </xsl:call-template>    
-       
-       <!-- 
-                ===========================================================
-                                               Draw the shared busses 
-                ===========================================================
-       <use   x="{$BLKD_INNER_Y}"    y="{$sbs_y_ + $PROC2SBS_GAP}"  xlink:href="#group_sharedBusses"/> 
-       -->
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Key
-                ===========================================================
-       -->
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-               <use   x="{$blkd_w - $BLKD_KEY_W - $BLKD_PRTCHAN_W}"   y="{$blkd_h + $BLKD2KEY_GAP - 8}"  xlink:href="#BlkDiagram_Key"/> 
-       </xsl:if>
-       
-       <!-- 
-                ===========================================================
-                                               Draw the Specs
-                ===========================================================
-       -->
-       <xsl:if test="(not($IN_TESTMODE) or ($IN_TESTMODE = 'FALSE'))">
-               <use   x="{$BLKD_PRTCHAN_W}"                           y="{$blkd_h + $BLKD2KEY_GAP - 8}"  xlink:href="#BlkDiagram_Specs"/> 
-       </xsl:if>
-       
-       <!-- 
-               ************************************************************ 
-               ***************  DONE DRAWING BLOCK DIAGRAM   ************** 
-               ************************************************************ 
-       -->     
-       
-</xsl:template>        
-       
-       
-<!-- ======================================================================= -->
-<!--                         FUNCTION TEMPLATE                               -->
-<!--                                                                                                                                            -->
-<!--  Draw Stacks on the Block Diagram                                                                          -->
-<!-- ======================================================================= -->
-<xsl:template name="Draw_BlkDiagram_Stacks">
-       
-       <xsl:param name="sbs_Y"     select="$BLKD_INNER_Y"/>
-       
-       <xsl:variable name="max_stack_AbvSbs_H_">
-               <xsl:call-template name="_calc_Max_Stack_AbvSbs_Height"/>
-       </xsl:variable>
-       
-<!--   
-       <xsl:variable name="inner_X_"   select="($BLKD_PRTCHAN_W  + $BLKD_IORCHAN_W + $BLKD_INNER_GAP)"/>
-       <xsl:variable name="inner_Y_"   select="($BLKD_PRTCHAN_H  + $BLKD_IORCHAN_H + $BLKD_INNER_GAP)"/>
-       <xsl:variable name="numSbs_"    select="count(BLKDSHAPES/SBSSHAPES/MODULE)"/>
-       <xsl:variable name="sbs_h_"     select="($numSbs_  * $SBS_LANE_H)"/>
-       <xsl:variable name="sbs_y_"     select="($inner_Y_ + $max_stack_AbvSbs_H_ + $PROC2SBS_GAP)"/>
-       
-       <xsl:variable name="numSbs_"    select="count(/BLKDSHAPES/SBSSHAPES/MODULE)"/>
-       <xsl:variable name="sbs_h_"     select="($numSbs_  * $SBS_LANE_H)"/>
-       <xsl:variable name="sbs_y_"     select="($BLKD_INNER_Y + $max_stack_AbvSbs_H_ + $PROC2SBS_GAP)"/>
--->    
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST &lt; /EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH)]">
-                       
-               <xsl:variable name="stack_line_x_">
-                       <xsl:call-template name="_calc_Stack_X">
-                               <xsl:with-param name="stackIdx"  select="@EAST"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="stack_abv_sbs_">
-                       <xsl:call-template name="_calc_Stack_AbvSbs_Height">
-                               <xsl:with-param name="stackIdx"  select="@EAST"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="numBridges_"   select="count(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE)"/>
-               <xsl:variable name="bridges_w_"    select="(($numBridges_ * ($periMOD_W + ($BUS_LANE_W * 2))) + $BRIDGE_GAP)"/>
-               
-               <xsl:variable name="stack_y_" select="($sbs_Y - $stack_abv_sbs_)"/>
-               <xsl:variable name="stack_x_" select="($BLKD_INNER_X + $stack_line_x_ + $bridges_w_)"/>
-               
-               <xsl:variable name="stack_name_">
-                       <xsl:call-template name="_gen_Stack_Name"> 
-                               <xsl:with-param name="horizIdx" select="@EAST"/>
-                       </xsl:call-template>            
-               </xsl:variable> 
-               
-               <use   x="{$stack_x_}"    y="{$stack_y_}"  xlink:href="#{$stack_name_}"/> 
-       
-<!--           
-               <xsl:message>Stack Idx <xsl:value-of select="@EAST"/></xsl:message>     
-               <xsl:message>Stack X <xsl:value-of select="$stack_x_"/></xsl:message>   
-               <xsl:message>Stack Y <xsl:value-of select="$stack_y_"/></xsl:message>   
--->    
-               
-       </xsl:for-each> 
-                       
-</xsl:template>
-       
-<!-- ======================================================================= -->
-<!--                         FUNCTION TEMPLATE                               -->
-<!--                                                                                                                                            -->
-<!--  Draw Stacks on the Block Diagram                                                                          -->
-<!-- ======================================================================= -->
-<xsl:template name="Draw_BlkDiagram_BusLaneSpaces">
-       
-       <xsl:param name="sbs_Y"     select="$BLKD_INNER_Y"/>
-       
-       <xsl:variable name="lastStack_" select="(/EDKSYSTEM/BLKDSHAPES/@STACK_HORIZ_WIDTH) - 1"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[@EAST]">
-               <xsl:sort select="@EAST" data-type="number"/>
-                       
-               <xsl:call-template name="Draw_BlkDiagram_BusLaneSpace">
-                       <xsl:with-param name="sbs_Y"        select="$sbs_Y"/>
-                       <xsl:with-param name="stackToEast"  select="@EAST"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@WEST = $lastStack_)]">
-               <xsl:call-template name="Draw_BlkDiagram_BusLaneSpace">
-                       <xsl:with-param name="sbs_Y"        select="$sbs_Y"/>
-                       <xsl:with-param name="stackToWest"  select="$lastStack_"/>
-               </xsl:call-template>
-       </xsl:for-each> 
-                       
-</xsl:template>
-       
-<xsl:template name="Draw_BlkDiagram_BusLaneSpace">
-       
-       <xsl:param name="sbs_Y"       select="0"/>
-       <xsl:param name="stackToEast" select="'NONE'"/>
-       <xsl:param name="stackToWest" select="'NONE'"/>
-       
-       <xsl:variable name="spaceAbvSbs_H_">
-               <xsl:call-template name="_calc_Space_AbvSbs_Height">
-                       <xsl:with-param name="stackToEast"  select="$stackToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-       <xsl:variable name="spaceBlwSbs_H_">
-               <xsl:call-template name="_calc_Space_BlwSbs_Height">
-                       <xsl:with-param name="stackToEast"  select="$stackToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stackToWest"/>
-               </xsl:call-template>
-       </xsl:variable> 
-       
-<!--   
-       <xsl:message>Abv Sbs  is <xsl:value-of select="$spaceAbvSbs_H_"/></xsl:message>
-       <xsl:message>Abv Blw  is <xsl:value-of select="$spaceBlwSbs_H_"/></xsl:message>
-       <xsl:variable name="inner_X_"   select="($BLKD_PRTCHAN_W  + $BLKD_IORCHAN_W + $BLKD_INNER_GAP)"/>
-       <xsl:variable name="inner_Y_"   select="($BLKD_PRTCHAN_H  + $BLKD_IORCHAN_H + $BLKD_INNER_GAP)"/>
-       <xsl:variable name="numSbs_"    select="count(BLKDSHAPES/SBSSHAPES/MODULE)"/>
-       <xsl:variable name="sbs_h_"     select="($numSbs_  * $SBS_LANE_H)"/>
-       <xsl:variable name="sbs_y_"     select="($inner_Y_ + $max_stack_AbvSbs_H_ + $PROC2SBS_GAP)"/>
-       
-       <xsl:variable name="numSbs_"    select="count(/BLKDSHAPES/SBSSHAPES/MODULE)"/>
-       <xsl:variable name="sbs_h_"     select="($numSbs_  * $SBS_LANE_H)"/>
-       <xsl:variable name="sbs_y_"     select="($BLKD_INNER_Y + $max_stack_AbvSbs_H_ + $PROC2SBS_GAP)"/>
--->    
-                       
-       <xsl:variable name="space_line_x_">
-               <xsl:call-template name="_calc_Space_X">
-                       <xsl:with-param name="stackToEast"  select="$stackToEast"/>
-                       <xsl:with-param name="stackToWest"  select="$stackToWest"/>
-               </xsl:call-template>
-       </xsl:variable>
-       
-       <xsl:variable name="numBridges_"   select="count(/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE)"/>
-       <xsl:variable name="bridges_w_"    select="(($numBridges_ * ($periMOD_W + ($BUS_LANE_W * 2))) + $BRIDGE_GAP)"/>
-               
-       <xsl:variable name="space_y_" select="($sbs_Y - $spaceAbvSbs_H_)"/>
-       <xsl:variable name="space_x_" select="($BLKD_INNER_X + $space_line_x_ + $bridges_w_)"/>
-               
-       <xsl:variable name="space_Name_">
-               <xsl:call-template name="_gen_Space_Name"> 
-                       <xsl:with-param name="stackToEast" select="$stackToEast"/>
-                       <xsl:with-param name="stackToWest" select="$stackToWest"/>
-               </xsl:call-template>            
-       </xsl:variable> 
-               
-       <use   x="{$space_x_}"    y="{$space_y_}"  xlink:href="#{$space_Name_}"/> 
-       
-</xsl:template>
-       
-       
-       
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!--  Draw Bridges on the Block Diagram                                                                                         -->
-<!-- =========================================================================== -->
-<xsl:template name="Draw_BlkDiagram_Bridges">
-       
-       <xsl:param name="sbs_Y"     select="0"/>
-       <xsl:param name="inner_X"   select="0"/>
-       
-       <!-- First save all the bridge indexs in a variable      -->
-       <xsl:variable name="bridgeShapes_">
-               
-               <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BRIDGESHAPES/MODULE/BUSCONNS[(@ORIENTED = 'WEST')]/BUSCONN">        
-                       <BRIDGE BUSINDEX="{@BUSINDEX}" INSTANCE="{../../@INSTANCE}" POSITION="{(position() -1)}"/>
-                       <BRIDGECONN BUSINDEX="{@BUSINDEX}" INSTANCE="{../../@INSTANCE}" ORIENTED="{../@ORIENTED}" POSITION="{(position()  - 1)}" BUSSTD="{@BUSSTD}" BIFRANK="{@BIFRANK}"/>
-                       <!-- So both bus conns have same position.... -->
-                       <xsl:if test="../../BUSCONNS[(@ORIENTED = 'EAST')]">
-                               <BRIDGECONN BUSINDEX="{../../BUSCONNS[(@ORIENTED ='EAST')]/BUSCONN/@BUSINDEX}" INSTANCE="{../../@INSTANCE}" ORIENTED="EAST" POSITION="{(position()  - 1)}"   BUSSTD="{../../BUSCONNS[(@ORIENTED = 'EAST')]/BUSCONN/@BUSSTD}" BIFRANK="{../../BUSCONNS[(@ORIENTED = 'EAST')]/BUSCONN/@BIFRANK}"/>
-                       </xsl:if>
-               </xsl:for-each>
-               
-       </xsl:variable>
-       
-<!--                           
-                       <xsl:message>Found an east connection on <xsl:value-of select="../../@INSTANCE"/></xsl:message>
--->                            
-       
-
-       <!-- Now layout the bridge shapes between the shared busses      -->
-       <xsl:for-each select="exsl:node-set($bridgeShapes_)/BRIDGE">
-               <xsl:sort select="@POSITION" data-type="number"/>
-               
-               <xsl:variable name="brdgPosition_"  select="@POSITION"/>
-               <xsl:variable name="brdgInstance_"  select="@INSTANCE"/>
-               
-               <xsl:variable name="min_bus_idx_" select="math:min(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>
-<!--           
-               <xsl:variable name="max_bus_idx_" select="math:max(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>
-               
-       <xsl:message>Maximum index <xsl:value-of select="$max_bus_idx_"/></xsl:message>
-       <xsl:message>Minimum index <xsl:value-of select="$min_bus_idx_"/></xsl:message>
--->
-               
-               
-               <xsl:variable name="brdg_X_"  select="($inner_X + $BRIDGE_GAP + $BUS_LANE_W + (@POSITION * ($periMOD_W + ($BUS_LANE_W * 2))))"/>        
-               <xsl:variable name="brdg_Y_"  select="($sbs_Y   + $PROC2SBS_GAP + ($min_bus_idx_ * $SBS_LANE_H) + ceiling($SBS_LANE_H div 2) - ceiling($periMOD_H div 2))"/>
-               
-               <use  x="{$brdg_X_}"  y="{$brdg_Y_}"  xlink:href="#symbol_{$brdgInstance_}"/>   
-       </xsl:for-each> 
-       
-               
-       
-<!--   
-       <xsl:message>Found <xsl:value-of select="count(exsl:node-set($bridgeShapes_)/BRIDGECONN)"/> busconns </xsl:message>
-               <xsl:message>Drawing connection for bridge <xsl:value-of select="$brdgInstance_"/> at <xsl:value-of select="@POSITION"/> </xsl:message>
--->    
-       
-       <xsl:for-each select="exsl:node-set($bridgeShapes_)/BRIDGECONN">
-               <xsl:sort select="@POSITION" data-type="number"/>
-               
-               <xsl:variable name="brdgInstance_"  select="@INSTANCE"/>
-               <xsl:variable name="brdgPosition_"  select="@POSITION"/>
-               
-               <xsl:variable name="bus_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="@BUSSTD"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <xsl:variable name="min_bus_idx_" select="math:min(exsl:node-set($bridgeShapes_)/BRIDGECONN[(@POSITION = $brdgPosition_)]/@BUSINDEX)"/>
-               <xsl:variable name="brdg_Y1_"     select="($sbs_Y   + $PROC2SBS_GAP + ($min_bus_idx_ * $SBS_LANE_H) + ceiling($SBS_LANE_H div 2) - ceiling($periMOD_H div 2))"/>
-               <xsl:variable name="brdg_X_"      select="($inner_X + $BRIDGE_GAP + $BUS_LANE_W + (@POSITION * ($periMOD_W + ($BUS_LANE_W * 2))))"/>    
-<!--           
-               <xsl:variable name="bc_Y_"        select="($sbs_Y + $PROC2SBS_GAP  + (@BUSINDEX * $SBS_LANE_H)) - ceiling($BIFC_H div 4)"/>
--->    
-               <xsl:variable name="bc_Y_"        select="$brdg_Y1_ + $MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V + ceiling($BIF_H div 2) - ceiling($BIFC_H div 2)"/>   
-               <xsl:variable name="bc_X_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($brdg_X_ - $BIFC_W)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($brdg_X_ + $periMOD_W)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <!-- Layout the bus conn -->
-               <use   x="{$bc_X_}"   y="{$bc_Y_}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-               
-               <!-- Figure out the positions of the lines -->
-               
-<!--           
-               <xsl:variable name="vert_line_x_"  select="$bc_X_    + ceiling($BIFC_W div 2)"/>
-               <xsl:message>vert line x <xsl:value-of select="$vert_line_x_"/></xsl:message>
-               <xsl:message>bus index <xsl:value-of select="@BUSINDEX"/></xsl:message>
--->            
-               
-               <xsl:variable name="vert_line_x_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($bc_X_ - ($BUS_LANE_W - $BIFC_W))"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($bc_X_ + ($BUS_LANE_W - $P2P_BUS_W))"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <!-- At least one of the points is going to be the bus -->
-               <xsl:variable name="vert_line_y1_" select="($sbs_Y  + $PROC2SBS_GAP + (@BUSINDEX * $SBS_LANE_H))"/>
-               <xsl:variable name="vert_line_y2_" select="$bc_Y_ + ceiling($BIFC_H div 2)"/>
-               
-               <xsl:variable name="v_bus_ul_y_">
-                       <xsl:choose>
-                               <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                                       <xsl:value-of select="$vert_line_y2_"/>
-                               </xsl:when>
-                               <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                                       <xsl:value-of select="$vert_line_y1_"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-<!--           
-               <xsl:variable name="v_bus_ul_x_" select="$vert_line_x_"/>
--->    
-               <xsl:variable name="v_bus_ul_x_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($vert_line_x_ + $MOD_BIF_GAP_H)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($vert_line_x_ - $MOD_BIF_GAP_H)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               
-               <xsl:variable name="v_bus_width_" select="$P2P_BUS_W"/>
-               <xsl:variable name="v_bus_height_">
-                       <xsl:choose>
-                               <xsl:when test="$vert_line_y1_ &gt; $vert_line_y2_">
-                                       <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_)"/>
-                               </xsl:when>
-                               <xsl:when test="$vert_line_y2_ &gt; $vert_line_y1_">
-                                       <xsl:value-of select="($vert_line_y2_ - $vert_line_y1_)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_x_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="($bc_X_ - ($BUS_LANE_W - $BIFC_W) + $MOD_BIF_GAP_H)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="($bc_X_ + $BIFC_W - ceiling(($BIFC_W - $BIFC_Wi) div 2))"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               <xsl:variable name="h_bus_ul_y_" select="$bc_Y_ + ceiling($BIFC_H div 2) - ceiling($P2P_BUS_W div 2)"/>
-               <xsl:variable name="h_bus_height_" select="$P2P_BUS_W"/>
-               
-               <xsl:variable name="h_bus_width_">
-                       <xsl:choose>
-                               <xsl:when test="@ORIENTED='WEST'">
-                                       <xsl:value-of select="(($bc_X_ + ceiling(($BIFC_W - $BIFC_Wi) div 2)) - $h_bus_ul_x_ + 1)"/>
-                               </xsl:when>
-                               <xsl:when test="@ORIENTED='EAST'">
-                                       <xsl:value-of select="(($v_bus_ul_x_ + $P2P_BUS_W) - $h_bus_ul_x_)"/>
-                               </xsl:when>
-                       </xsl:choose>
-               </xsl:variable> 
-               
-               
-<!--           
-               <xsl:message>vert line y1 <xsl:value-of select="$vert_line_y1_"/></xsl:message>
--->            
-               
-               <rect x="{$v_bus_ul_x_}" 
-                         y="{$v_bus_ul_y_ + 2}"  
-                         width= "{$v_bus_width_}" 
-                         height="{$v_bus_height_}" 
-                         style="stroke:none; fill:{$bus_col_}"/>
-               
-               <rect x="{$h_bus_ul_x_}" 
-                         y="{$h_bus_ul_y_}"  
-                         width= "{$h_bus_width_}" 
-                         height="{$h_bus_height_}" 
-                         style="stroke:none; fill:{$bus_col_}"/>
-               
-       </xsl:for-each> 
-       
-</xsl:template>
-       
-       
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!--  Draw Processors on the Block Diagram                                                                              -->
-<!-- =========================================================================== -->
-<xsl:template name="Draw_BlkDiagram_Processors">
-       
-       <xsl:param name="Inner_X"                select="0"/>
-       <xsl:param name="SharedBus_Y"            select="0"/>
-       <xsl:param name="Max_Proc_H"             select="0"/>
-       <xsl:param name="Max_Proc_PerisAbvSbs_H" select="0"/>
-       <xsl:param name="Max_Proc_PerisBlwSbs_H" select="0"/>
-       
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE">                 
-               
-               <xsl:variable name="procInst_"    select="@INSTANCE"/>
-               <xsl:variable name="proc_bifs_h_" select="@BIFS_H"/>
-<!--           
-               <xsl:message>Shared Bus Y <xsl:value-of select="$SharedBus_Y"/></xsl:message>
-               <xsl:variable name="numMemUs_"    select="count(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $procInst_) and (@MODCLASS = 'MEMORY_UNIT'))])"/>   
-               <xsl:variable name="numPerisBlw_" select="count(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $procInst_) and (@MODCLASS = 'PERIPHERAL') and    (@IS_BLWSBS))])"/>        
-               <xsl:variable name="numPerisAbv_" select="count(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $procInst_) and (@MODCLASS = 'PERIPHERAL') and not(@IS_BLWSBS))])"/>        
-               <xsl:variable name="gapsAbv_h_"   select="(($numMemUs_ + $numPerisAbv_) * $BIF_H)"/>
--->            
-               
-               <xsl:variable name="proc_h_">
-                       <xsl:call-template name="_calc_Proc_Height">
-                               <xsl:with-param name="procInst"  select="$procInst_"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-<!--           
-               <xsl:variable name="max_Proc_h_">
-                       <xsl:call-template name="_calc_Max_Proc_Height"/>
-               </xsl:variable>
--->    
-               
-               <xsl:variable name="perisAbv_h_">
-                       <xsl:call-template name="_calc_Proc_PerisAbvSbs_Height">
-                               <xsl:with-param name="procInst"  select="$procInst_"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <xsl:variable name="perisBlw_h_">
-                       <xsl:call-template name="_calc_Proc_PerisBlwSbs_Height">
-                               <xsl:with-param name="procInst"  select="$procInst_"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <xsl:variable name="memUs_h_">
-                       <xsl:call-template name="_calc_Proc_MemoryUnits_Height">
-                               <xsl:with-param name="procInst" select="$procInst_"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <xsl:variable name="proc_y_"          select="($SharedBus_Y  - ($PROC2SBS_GAP   + $proc_h_ + $perisAbv_h_ + $memUs_h_))"/>
-               <xsl:variable name="gaps_right_"      select="(@GAPS_X      * $MOD_SHAPES_G)"/>
-               <xsl:variable name="mods_right_"      select="(@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="lanes_right_"     select="(@BUS_LANES_X * $BUS_LANE_W)"/>
-               
-               <xsl:variable name="bkt_lanes_right_" select="(@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-               <xsl:variable name="bkt_gaps_right_"  select="(@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-               
-               <xsl:variable name="proc_x_"          select="($Inner_X + $gaps_right_ +  $mods_right_ + $bkt_lanes_right_ + $bkt_gaps_right_ + $lanes_right_)"/>
-               
-               <xsl:variable name="procGroupName_">
-                       <xsl:call-template name="_gen_Proc_GroupName"> 
-                               <xsl:with-param name="procInst"  select="$procInst_"/>
-                       </xsl:call-template>            
-               </xsl:variable>
-       
-               <use   x="{$proc_x_}"  
-                      y="{$proc_y_}" 
-                      xlink:href="#{$procGroupName_}"/> 
-               
-               <xsl:variable name="numProcMods_" select="($perisAbv_h_ + $perisBlw_h_ + $memUs_h_)"/>
-               
-               <xsl:if test="$numProcMods_ = 0">
-                       
-                       <xsl:variable name="pbktW_"       select="@PSTACK_BKT_W"/>
-                       <xsl:variable name="pmodW_"       select="@PSTACK_MOD_W"/>
-                       <xsl:variable name="numSbsBkts_"  select="count(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@PROCESSOR = $procInst_)])"/>               
-                       
-                       <xsl:variable name="bktModsW_">
-                               <xsl:if test="($numSbsBkts_ &gt; 0)">
-                                       <xsl:value-of select="(($MOD_BKTLANE_W * 2) + ($periMOD_W * $pbktW_) + ($MOD_BUCKET_G * ($pbktW_ - 1)))"/>      
-                               </xsl:if>
-                               <xsl:if test="not($numSbsBkts_ &gt; 0)">0</xsl:if>
-                       </xsl:variable> 
-               
-                       <xsl:variable name="pstkModsW_" select="$periMOD_W"/>   
-                       
-                       <xsl:variable name="pstackW_">
-                               <xsl:if test="$bktModsW_ &gt; $pstkModsW_">
-                                       <xsl:value-of select="$bktModsW_"/>
-                               </xsl:if>
-                               <xsl:if test="not($bktModsW_ &gt; $pstkModsW_)">
-                                       <xsl:value-of select="$pstkModsW_"/>
-                               </xsl:if>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="busLaneWestW_">
-                               <xsl:if test="(BUSCONNS[(@ORIENTED = 'WEST' and @BUSLANE_W)])">
-                                       <xsl:value-of select="((BUSCONNS[(@ORIENTED ='WEST')]/@BUSLANE_W) * $BUS_LANE_W)"/>
-                               </xsl:if>
-                               <xsl:if test="not(BUSCONNS[(@ORIENTED = 'WEST') and @BUSLANE_W])">0</xsl:if>
-                       </xsl:variable>
-                       
-               
-                       <xsl:if test="not(@IS_LIKEPROC = 'TRUE')">        
-                               <text class="procclass"
-                                               x="{($proc_x_  + $busLaneWestW_ + ceiling($pstackW_ div 2))}" 
-                                               y="{$proc_y_ - 4}">PROCESSOR</text>                     
-                       </xsl:if>
-               
-                       <xsl:if test="@IS_LIKEPROC = 'TRUE'">     
-                               <text class="procclass"
-                                               x="{($proc_x_  + $busLaneWestW_ + ceiling($pstackW_ div 2))}" 
-                                               y="{$proc_y_ - 4}">USER</text>                  
-                       </xsl:if>
-               </xsl:if>               
-               
-                       
-               <!-- Draw the multiproc stacks for this processor, if any-->    
-               <xsl:if test="@PSTACK_BLKD_X">
-                       <xsl:variable name="stackBlkd_X_" select="(@PSTACK_BLKD_X + 1)"/>       
-                       
-                       <xsl:variable name="numPerisInStack_" select="count(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PSTACK_BLKD_X = $stackBlkd_X_) and (@MODCLASS = 'PERIPHERAL'))])"/> 
-                       <xsl:variable name="numMemusInStack_" select="count(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PSTACK_BLKD_X = $stackBlkd_X_) and (@MODCLASS = 'MEMORY_UNIT'))])"/>        
-                       
-                       <xsl:if test="(($numPerisInStack_ + $numMemusInStack_) &gt; 0)">
-<!--                           
-                               <xsl:message>Peris are <xsl:value-of select="$numPerisInStack_"/></xsl:message>
-                               <xsl:message>Memus are <xsl:value-of select="$numMemusInStack_"/></xsl:message>
--->                            
-                               
-<!--                           
-                               <xsl:variable name="mp_peris_h_"         select="($numPerisInStack_  * ($periMOD_H + $BIF_H))"/>
-                               <xsl:variable name="mp_memus_h_"         select="($numMemusInStack_  * (($periMOD_H * 2) + $BIF_H))"/>
-                               <xsl:variable name="mp_stack_h_"         select="($mp_peris_h_ + $mp_memus_h_)"/>
--->                            
-                               <xsl:variable name="mp_stack_h_">
-                                       <xsl:call-template name="_calc_MultiProc_Stack_Height">
-                                               <xsl:with-param name="mpstack_blkd_x" select="(@PSTACK_BLKD_X + 1)"/>
-                                       </xsl:call-template>
-                               </xsl:variable>
-                               
-                               <xsl:variable name="mp_StackName_">
-                                       <xsl:call-template name="_gen_CStack_StackName"> 
-                                               <xsl:with-param name="cstkIndex" select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = $stackBlkd_X_)]/@CSTACK_INDEX"/>
-                                       </xsl:call-template>            
-                               </xsl:variable>
-                               
-<!--                           
-                               <xsl:message>Multi Stack Name is <xsl:value-of select="$mp_StackName_"/></xsl:message>
--->                            
-       
-                               
-                               <xsl:variable name="mp_gaps_right_"      select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = $stackBlkd_X_)]/@GAPS_X           * $MOD_SHAPES_G)"/>
-                               <xsl:variable name="mp_mods_right_"      select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = $stackBlkd_X_)]/@MODS_X      * $periMOD_W)"/>
-                               <xsl:variable name="mp_lanes_right_"     select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = $stackBlkd_X_)]/@BUS_LANES_X * $BUS_LANE_W)"/>
-                               <xsl:variable name="mp_bkt_lanes_right_" select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = $stackBlkd_X_)]/@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-                               <xsl:variable name="mp_bkt_gaps_right_"  select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = $stackBlkd_X_)]/@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-                               
-                               <xsl:variable name="mpstack_x_"  select="($Inner_X + $mp_gaps_right_ +  $mp_mods_right_ + $mp_bkt_lanes_right_ + $mp_bkt_gaps_right_ + $mp_lanes_right_)"/>
-                               <xsl:variable name="mpstack_y_"  select="($SharedBus_Y - ($PROC2SBS_GAP + $Max_Proc_H + $Max_Proc_PerisAbvSbs_H + $mp_stack_h_))"/>
-                               
-                               <use   x="{$mpstack_x_}"  y="{$mpstack_y_}" xlink:href="#{$mp_StackName_}"/> 
-                               
-                               
-                       </xsl:if>
-               </xsl:if>       
-               
-       </xsl:for-each>         
-
-</xsl:template>
-       
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!-- Draw the Complex stacks, (collections of more than one module that             -->
-<!-- are not memory and not connected to a processor)                                                   -->    
-<!-- =========================================================================== -->
-<xsl:template name="Draw_BlkDiagram_ComplexStacks">
-       
-       <xsl:param name="Inner_X"                select="0"/>
-       <xsl:param name="SharedBus_Y"            select="0"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and not(@IS_PENALIZED) and @CSTACK_INDEX and @BUS_LANES_X and @BKT_LANES_X  and @GAPS_X and @MODS_X and @BKT_GAPS_X)]">
-               
-       
-               <xsl:variable name="gaps_right_"      select="(@GAPS_X      * $MOD_SHAPES_G)"/>
-               <xsl:variable name="mods_right_"      select="(@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="lanes_right_"     select="(@BUS_LANES_X * $BUS_LANE_W)"/>
-               
-               <xsl:variable name="bkt_lanes_right_" select="(@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-               <xsl:variable name="bkt_gaps_right_"  select="(@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-               
-               <xsl:variable name="cstack_x_"          select="($Inner_X + $gaps_right_ +  $mods_right_ + $bkt_lanes_right_ + $bkt_gaps_right_ + $lanes_right_)"/>
-               <xsl:variable name="cstack_y_"          select="($SharedBus_Y)"/>
-       
-               <use   x="{$cstack_x_}"  
-                      y="{$cstack_y_}" 
-                      xlink:href="#cgroup_{@CSTACK_INDEX}"/> 
-                      
-       </xsl:for-each>         
-               
-</xsl:template>
-       
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!-- Draw the Complex Modules, (Modules that are not memory and not             -->
-<!--   connected to a processor)                                                -->    
-<!-- =========================================================================== -->
-<xsl:template name="Draw_BlkDiagram_ComplexModules">
-       
-       <xsl:param name="Inner_X"                select="0"/>
-       <xsl:param name="SharedBus_Y"            select="0"/>
-       <xsl:param name="SharedBus_H"            select="0"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@IS_PROMOTED and not(@IS_PENALIZED) and not(@CSTACK_INDEX) and @GAPS_X and @MODS_X and @BUS_LANES_X and @BKT_LANES_X and @BKT_GAPS_X)]">
-               
-               <xsl:variable name="gaps_right_"      select="(@GAPS_X      * $MOD_SHAPES_G)"/>
-               <xsl:variable name="mods_right_"      select="(@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="lanes_right_"     select="(@BUS_LANES_X * $BUS_LANE_W)"/>
-               <xsl:variable name="bkt_lanes_right_" select="(@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-               <xsl:variable name="bkt_gaps_right_"  select="(@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-       
-               <xsl:variable name="cmplxBusLaneWest_w_">
-                       <xsl:if test="BUSCONNS[(@ORIENTED = 'WEST') and @BUSLANE_W]">
-                                <xsl:value-of select="((BUSCONNS[@ORIENTED = 'WEST']/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(BUSCONNS[@ORIENTED = 'WEST'])">0</xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="cmplxBusLaneEast_w_">
-                       <xsl:if test="BUSCONNS[(@ORIENTED = 'EAST')and @BUSLANE_W]">
-                                <xsl:value-of select="((BUSCONNS[@ORIENTED = 'EAST']/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(BUSCONNS[@ORIENTED = 'EAST'])">0</xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="cmplx_x_"  select="($Inner_X + $gaps_right_ + $mods_right_ + $lanes_right_ + $bkt_lanes_right_ + $bkt_gaps_right_)"/>
-               
-               <xsl:variable name="cmplx_y_">
-                       <xsl:choose>
-                               <xsl:when test="((@MODCLASS = 'MASTER_SLAVE') or (@MODCLASS = 'MONITOR'))">
-                                       <xsl:value-of select="($SharedBus_Y - ($PROC2SBS_GAP + $periMOD_H))"/>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:value-of select="($SharedBus_Y + $SharedBus_H)"/>
-                               </xsl:otherwise>                
-                       </xsl:choose>
-               </xsl:variable>  
-               
-           <xsl:if test="(@MODCLASS)">
-                       <text class="ipclass"
-                               x="{$cmplx_x_ + $cmplxBusLaneWest_w_}" 
-                               y="{$cmplx_y_ - 4}">
-                                       <xsl:value-of select="@MODCLASS"/>
-                       </text> 
-           </xsl:if>
-               
-               <xsl:choose>
-                       <xsl:when test="((@MODCLASS = 'MASTER_SLAVE') or (@MODCLASS = 'MONITOR'))">
-                               <use   x="{$cmplx_x_ + $cmplxBusLaneWest_w_}"  y="{$cmplx_y_}" xlink:href="#symbol_{MODULE/@INSTANCE}"/> 
-                       </xsl:when>     
-                       <xsl:otherwise> 
-                               <use   x="{$cmplx_x_ + $cmplxBusLaneWest_w_}"  y="{$cmplx_y_}" xlink:href="#symbol_peripheral_{position()}"/> 
-                       </xsl:otherwise>
-               </xsl:choose>           
-               
-               <xsl:variable name="cmplx_Dy_"      select="$MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V + ceiling($BIF_H div 2)"/>      
-               
-               <xsl:for-each select="BUSCONNS[@ORIENTED = 'WEST']/BUSCONN[@IS_SBSBIF and @BUSLANE_X and @BUSINDEX]">
-                       
-                       <xsl:variable name="westSbsCX_"    select="($cmplx_x_ + $cmplxBusLaneWest_w_) - ((@BUSLANE_X + 1) * $BUS_LANE_W)"/>
-                       <xsl:variable name="westSbsBusY_"  select="($SharedBus_Y    + (@BUSINDEX * $SBS_LANE_H))"/>
-                       <xsl:variable name="westSbsBifY_"  select="($cmplx_y_ + $cmplx_Dy_)"/>
-                       
-                       <xsl:variable name="cmplxBif_Dx_">
-                               <xsl:choose>
-                                       <xsl:when test="(@IS_CENTERED = 'TRUE')">
-                                               <xsl:value-of select="(ceiling($periMOD_W div 2) - ceiling($BIF_W div 2))"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise> 
-                                               <xsl:value-of select="$MOD_LANE_W"/>
-                                       </xsl:otherwise>
-                               </xsl:choose>           
-                       </xsl:variable>
-                       
-                       
-                       <xsl:variable name="westSbsCColor_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="busType" select="@BUSSTD"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <line x1="{$westSbsCX_   + ceiling($BIFC_W div 2)}" 
-                                 y1="{$westSbsBifY_}" 
-                                 x2="{$westSbsCX_   + ceiling($BIFC_W div 2)}" 
-                                 y2="{$westSbsBusY_}" 
-                                 style="stroke:{$westSbsCColor_};stroke-width:1"/>
-                                 
-                       <line x1="{$westSbsCX_   + ceiling($BIFC_W div 2)}" 
-                                 y1="{$westSbsBifY_ }" 
-                                 x2="{$cmplx_x_     + $cmplxBusLaneWest_w_ + $cmplxBif_Dx_}" 
-                                 y2="{$westSbsBifY_}" 
-                                 style="stroke:{$westSbsCColor_};stroke-width:1"/>
-                                 
-                       <use   x="{$westSbsCX_}"   y="{$westSbsBusY_ - ceiling($BIFC_H div 2) + ($BUS_ARROW_G * 2)}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>0
-               </xsl:for-each>
-               
-               <xsl:for-each select="BUSCONNS[(@ORIENTED = 'EAST')]/BUSCONN[@IS_SBSBIF and @BUSLANE_X and @BUSINDEX]">
-                       
-                       <xsl:variable name="eastSbsCX_"    select="($cmplx_x_ + $cmplxBusLaneWest_w_ + $periMOD_W +  ((@BUSLANE_X + 1) * $BUS_LANE_W) - $BIFC_W)"/>
-                       <xsl:variable name="eastSbsBusY_"  select="($SharedBus_Y    + (@BUSINDEX * $SBS_LANE_H))"/>
-                       <xsl:variable name="eastSbsBifY_"  select="($cmplx_y_ + $cmplx_Dy_)"/>
-                       
-                       <xsl:variable name="eastSbsCColor_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="busType" select="@BUSSTD"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:variable name="cmplxBif_Dx_">
-                               <xsl:choose>
-                                       <xsl:when test="(@IS_CENTERED = 'TRUE')">
-                                               <xsl:value-of select="(ceiling($periMOD_W div 2) - ceiling($BIF_W div 2))"/>
-                                       </xsl:when>     
-                                       <xsl:otherwise> 
-                                               <xsl:value-of select="$MOD_LANE_W"/>
-                                       </xsl:otherwise>
-                               </xsl:choose>           
-                       </xsl:variable>
-                       
-                       <line x1="{$eastSbsCX_   + ceiling($BIFC_W div 2)}" 
-                                 y1="{$eastSbsBifY_}" 
-                                 x2="{$eastSbsCX_   + ceiling($BIFC_W div 2)}" 
-                                 y2="{$eastSbsBusY_}" 
-                                 style="stroke:{$eastSbsCColor_};stroke-width:1"/>
-                                 
-                       <line x1="{$eastSbsCX_   + ceiling($BIFC_W div 2)}" 
-                                 y1="{$eastSbsBifY_ }" 
-                                 x2="{$cmplx_x_     + $cmplxBusLaneWest_w_ + $periMOD_W - $cmplxBif_Dx_}" 
-                                 y2="{$eastSbsBifY_}" 
-                                 style="stroke:{$eastSbsCColor_};stroke-width:1"/>
-                                 
-                       <use   x="{$eastSbsCX_}"   y="{$eastSbsBusY_ - ceiling($BIFC_H div 2) + ($BUS_ARROW_G * 2)}"  xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-                       
-               </xsl:for-each>
-               
-       </xsl:for-each>         
-       
-</xsl:template>
-       
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!-- Draw the Shared Bus Buckets                                                                                                -->
-<!-- =========================================================================== -->
-<xsl:template name="Draw_BlkDiagram_SharedBusBuckets">
-       
-       <xsl:param name="Inner_X"                select="0"/>
-       <xsl:param name="SharedBus_Y"            select="0"/>
-       <xsl:param name="SharedBus_H"            select="0"/>
-       
-       <xsl:for-each select="/EDKSYSTSEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[not(@PROCESSOR) and @BUS_LANES_X and @GAPS_X and @MODS_X ]">                  
-               
-               <xsl:variable name="ownerBus_"   select="@BUSNAME"/>
-       
-               <xsl:variable name="bkt_y_"  select="($SharedBus_Y + $SharedBus_H)"/>
-               
-               <xsl:variable name="gaps_right_"  select="(@GAPS_X      * $MOD_SHAPES_G)"/>
-               <xsl:variable name="mods_right_"  select="(@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="lanes_right_" select="(@BUS_LANES_X * $BUS_LANE_W)"/>
-       
-               <xsl:variable name="bktBusLane_w_"  select="((BUSCONNS/@BUSLANE_W) * $BUS_LANE_W)"/>
-               
-               <xsl:variable name="bkt_x_"  select="($bktBusLane_w_ + $Inner_X + $gaps_right_ +  $mods_right_ + $lanes_right_)"/>
-               
-               <text class="ipclass"
-                       x="{$bkt_x_}" 
-                       y="{$bkt_y_ - 4}">
-                               SLAVES of <xsl:value-of select="ownerBus_"/>
-               </text> 
-               
-               <use   x="{$bkt_x_}"  y="{$bkt_y_}" xlink:href="#sbsbucket_{$ownerBus_}"/> 
-               
-               <!-- next draw connections to the shared busses from the slave buckets-->                 
-               <xsl:for-each select="BUSCONNS/BUSCONN[(@IS_BKTCONN and @BUSSTD and @BUSLANE_X and @BUSINDEX)]">        
-                       
-                       <xsl:variable name="bktSbsCColor_">
-                               <xsl:call-template name="BusType2Color">
-                                       <xsl:with-param name="busType" select="@BUSSTD"/>
-                               </xsl:call-template>    
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bktSbsCX_" >
-                               <xsl:value-of select="($bkt_x_ - ((@BUSLANE_X + 1) * $BUS_LANE_W))"/>
-                       </xsl:variable>
-                       
-                       <xsl:variable name="bktSbsCTop_"  select="($SharedBus_Y + (@BUSINDEX * $SBS_LANE_H) - ceiling($BIFC_H div 2) + ($BUS_ARROW_G * 2))"/>
-                       <xsl:variable name="bktSbsCBot_"  select="($bkt_y_ + $MOD_BKTLANE_H + ceiling($periMOD_H div 2))"/>
-                       
-                       <line x1="{$bktSbsCX_   + ceiling($BIFC_W div 2)}" 
-                                 y1="{$bktSbsCTop_ + ceiling($BIFC_H div 2)}" 
-                                 x2="{$bktSbsCX_   + ceiling($BIFC_W div 2)}" 
-                                 y2="{$bktSbsCBot_ + ceiling($BIFC_H div 2)}" 
-                                 style="stroke:{$bktSbsCColor_};stroke-width:1"/>
-                                 
-                       <line x1="{$bktSbsCX_   + ceiling($BIFC_W div 2)}" 
-                                 y1="{$bktSbsCBot_ + ceiling($BIFC_H div 2)}" 
-                                 x2="{$bkt_x_}" 
-                                 y2="{$bktSbsCBot_ + ceiling($BIFC_H div 2)}" 
-                                 style="stroke:{$bktSbsCColor_};stroke-width:1"/>
-                                 
-                                 
-                       <use   x="{$bktSbsCX_}"   y="{$bktSbsCTop_}"  xlink:href="#{@BUSSTD}_busconn_SLAVE"/>
-                       
-               </xsl:for-each>           
-               
-       </xsl:for-each>         
-       
-</xsl:template>
-       
-       
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!-- Draw the IP Bucket                                                                                                         -->
-<!-- =========================================================================== -->
-<xsl:template name="Draw_BlkDiagram_IPBucket">
-       
-       <xsl:param name="blkd_W"               select="0"/>
-       <xsl:param name="sbs_Y"                            select="$BLKD_INNER_Y"/>
-       <xsl:param name="sbs_H"                            select="0"/>
-    <xsl:param name="max_Stack_BlwSbs_H"   select="0"/>
-    <xsl:param name="max_Stack_BlwSbs_H"   select="0"/>
-       
-<!--   
-       <xsl:message>SBS Y <xsl:value-of select="$sbs_Y"/></xsl:message>
-       <xsl:message>SBS H <xsl:value-of select="$sbs_H"/></xsl:message>
-       <xsl:message>Max below Sbs  <xsl:value-of select="$max_Stack_BlwSbs_H"/></xsl:message>
-    <xsl:with-param name="max_Stack_AbvSbs_H"   select="$max_Stack_AbvSbs_H_"/>
-    <xsl:with-param name="max_Stack_BlwSbs_H"          select="$max_Stack_BlwSbs_H_"/>
-    <xsl:param name="max_SbsBuckets_H"     select="0"/>
--->    
-       
-       <!-- Draw IP Bucket --> 
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/IPBUCKET">
-       
-       
-               <xsl:variable name="bucket_w_"  select="(($MOD_BKTLANE_W * 2) + (($periMOD_W * @MODS_W) + ($MOD_BUCKET_G * (@MODS_W - 1))))"/>
-               <xsl:variable name="bucket_h_"  select="(($MOD_BKTLANE_H * 2) + (($periMOD_H * @MODS_H) + ($MOD_BUCKET_G * (@MODS_H - 1))))"/>
-               
-               <xsl:variable name="bucket_x_"  select="(ceiling($blkd_W div 2) - ceiling($bucket_w_ div 2))"/>
-               <xsl:variable name="bucket_y_"  select="($sbs_Y + $sbs_H + $max_Stack_BlwSbs_H + $SBS2IP_GAP)"/>
-               
-               <text class="ipclass"
-                       x="{$bucket_x_}" 
-                       y="{$bucket_y_ - 4}">
-                               IP
-               </text>
-               
-               <use   x="{$bucket_x_}"   y="{$bucket_y_}"  xlink:href="#ipbucket"/>
-               
-       </xsl:for-each>
-       
-</xsl:template>
-       
-<!--
-       ====================================================================================
-                                 FUNCTION TEMPLATE                                 
-       
-                Draw the Floating Modules Bucket                                                                               
-       ====================================================================================
--->
-<xsl:template name="Draw_BlkDiagram_FloatingModsBucket">
-       <xsl:param name="Blkd_W"                 select="0"/>
-       <xsl:param name="DrawArea_W"             select="0"/>
-       <xsl:param name="Inner_X"                select="0"/>
-       <xsl:param name="SharedBus_Y"            select="0"/>
-       <xsl:param name="SharedBus_H"            select="0"/>
-       <xsl:param name="Max_Proc_H"             select="0"/>
-       <xsl:param name="Max_Proc_PerisAbvSbs_H" select="0"/>
-       <xsl:param name="Max_Proc_PerisBlwSbs_H" select="0"/>
-       <xsl:param name="Max_SbsBuckets_H"       select="0"/>
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/UNKBUCKET">
-               
-<!--           
-               <xsl:variable name="sbsBktModsH_"    select="../@LIMIT_SBSBKTMODS_H"/>
-               <xsl:variable name="sbsNumBktsH_"    select="../@LIMIT_SBSNUMBKTS_H"/>
-               <xsl:variable name="modsBlwH_"       select="../@LIMIT_PMODS_BELOW_SBS_H"/>
-               
-               <xsl:variable name="totalSbsBktsH_">
-                       <xsl:if test="$sbsBktModsH_ &gt; 0">
-                               <xsl:value-of select="((($MOD_BKTLANE_H * 2) *  $sbsNumBktsH_) + ($periMOD_H * $sbsBktModsH_) + (($sbsNumBktsH_ - 1) * $BIF_H) + ($MOD_BUCKET_G * ($sbsBktModsH_ - 1)))"/>
-                       </xsl:if> 
-                       <xsl:if test="not($sbsBktModsH_ &gt; 0)">0</xsl:if> 
-               </xsl:variable>  
--->            
-               
-               <xsl:variable name="totalIpBktsH_">
-                       <xsl:if test="/EDKSYSTEM/BLKDSHAPES/IPBUCKET">
-                               <xsl:value-of select="(($MOD_BKTLANE_H * 2) + (($periMOD_H * /EDKSYSTEM/BLKDSHAPES/IPBUCKET/@MODS_H) + ($MOD_BUCKET_G * (/EDKSYSTEM/BLKDSHAPES/IPBUCKET/@MODS_H - 1))) + $IP2UNK_GAP)"/>
-                       </xsl:if> 
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/IPBUCKET)"></xsl:if> 
-               </xsl:variable>  
-               
-<!--           
-               <xsl:variable name="totalModsBlwH_"        select="($modsBlwH_  * ($periMOD_H + $BIF_H))"/>
--->            
-       
-               <xsl:variable name="bucket_w_"  select="(($MOD_BKTLANE_W * 2) + (($periMOD_W * @MODS_W) + ($MOD_BUCKET_G * (@MODS_W - 1))))"/>
-               <xsl:variable name="bucket_h_"  select="(($MOD_BKTLANE_H * 2) + (($periMOD_H * @MODS_H) + ($MOD_BUCKET_G * (@MODS_H - 1))))"/>
-               
-               <xsl:variable name="bucket_y_"  select="($SharedBus_Y + $SharedBus_H + $Max_SbsBuckets_H + $Max_Proc_PerisBlwSbs_H + $totalIpBktsH_ + $IP2UNK_GAP)"/>
-               <xsl:variable name="bucket_x_"  select="(ceiling($DrawArea_W div 2) - ceiling($bucket_w_ div 2))"/>
-               
-               <text class="ipclass"
-                       x="{$bucket_x_}" 
-                       y="{$bucket_y_ - 4}">
-                               UNASSOCIATED
-               </text>
-               
-               <use   x="{$bucket_x_}"   y="{$bucket_y_}"  xlink:href="#unkbucket"/>
-               
-       </xsl:for-each>
-       
-</xsl:template>
-       
-<!--
-       ====================================================================================
-                           FUNCTION TEMPLATE      
-                                                                                                                                                
-        Draw  Processor to Processor) BUS Connections between the modules.     
-       ====================================================================================
--->
-<xsl:template name="Draw_BlkDiagram_Proc2ProcConnections">
-       
-       <xsl:param name="Inner_X"                select="0"/>
-       <xsl:param name="SharedBus_Y"            select="0"/>
-       <xsl:param name="SharedBus_H"            select="0"/>
-       <xsl:param name="Max_Proc_H"             select="0"/>
-       <xsl:param name="Max_Proc_PerisAbvSbs_H" select="0"/>
-       <xsl:param name="Max_Proc_PerisBlwSbs_H" select="0"/>
-       <xsl:param name="Max_SbsBuckets_H"       select="0"/>
-       
-       
-       <!-- Draw the processor to processor connections with SPLIT connections -->     
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE/BUSCONNS/BUSCONN[(@IS_PROC2PROC = 'TRUE') and (@IS_SPLITCONN = 'TRUE')]">
-                       
-               <xsl:variable name="oriented_"        select="../@ORIENTED"/>
-               <xsl:variable name="procInst_"        select="../../@INSTANCE"/>
-               
-               <xsl:variable name="pbifsH_"          select="../../@BIFS_H"/>
-               <xsl:variable name="pbifsW_"          select="../../@BIFS_W"/>
-               <xsl:variable name="pbktW_"           select="../../@PSTACK_BKT_W"/>
-               <xsl:variable name="pmodW_"           select="../../@PSTACK_MOD_W"/>
-               
-               <xsl:variable name="gaps_right_"      select="(../../@GAPS_X      * $MOD_SHAPES_G)"/>
-               <xsl:variable name="mods_right_"      select="(../../@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="lanes_right_"     select="(../../@BUS_LANES_X * $BUS_LANE_W)"/>
-               <xsl:variable name="bkt_lanes_right_" select="(../../@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-               <xsl:variable name="bkt_gaps_right_"  select="(../../@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-               
-               <xsl:variable name="numSbsBkts_"      select="count(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[(@PROCESSOR = $procInst_)])"/>   
-               
-               <xsl:variable name="proc_h_"          select="(($MOD_LANE_H * 2) + (($BIF_H + $MOD_BIF_GAP_V) * $pbifsH_) + ($MOD_LABEL_H + $MOD_BIF_GAP_V))"/> 
-               
-               <xsl:variable name="proc_y_"          select="($SharedBus_Y - ($PROC2SBS_GAP + $proc_h_))"/>
-               <xsl:variable name="proc_x_"          select="($Inner_X + $gaps_right_ +  $mods_right_ + $bkt_lanes_right_ + $bkt_gaps_right_ + $lanes_right_)"/>
-               
-               <xsl:variable name="busLaneWestW_">
-                       <xsl:if test="(../../BUSCONNS[(@ORIENTED = 'WEST')])">
-                               <xsl:value-of select="((../../BUSCONNS[(@ORIENTED ='WEST')]/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(../../BUSCONNS[(@ORIENTED = 'WEST')])">0</xsl:if>
-               </xsl:variable>
-               
-                       
-               <xsl:variable name="busLaneEastW_">
-                       <xsl:if test="(../../BUSCONNS[(@ORIENTED = 'EAST')])">
-                               <xsl:value-of select="((../../BUSCONNS[(@ORIENTED ='EAST')]/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(../../BUSCONNS[(@ORIENTED = 'EAST')])">0</xsl:if>
-               </xsl:variable>
-               
-<!--           
-               <xsl:message>West width is <xsl:value-of select="$busLaneWestW_"/></xsl:message>
-               <xsl:message>proc x <xsl:value-of select="$proc_x_"/></xsl:message>
-               <xsl:message>Bus lane west <xsl:value-of select="$busLaneWestW_"/></xsl:message>
-               <xsl:message>Bus lane east <xsl:value-of select="$busLaneEastW_"/></xsl:message>
-               <xsl:message>Num shared buckets <xsl:value-of select="$numSbsBkts_"/></xsl:message>
--->            
-               
-               
-               <xsl:variable name="bktModsW_">
-                       <xsl:if test="($numSbsBkts_ &gt; 0)">
-                               <xsl:value-of select="(($MOD_BKTLANE_W * 2) + ($periMOD_W * $pbktW_) + ($MOD_BUCKET_G * ($pbktW_ - 1)))"/>      
-                       </xsl:if>
-                       <xsl:if test="not($numSbsBkts_ &gt; 0)">0</xsl:if>
-               </xsl:variable> 
-               <xsl:variable name="pstkModsW_" select="($pmodW_ * $periMOD_W)"/>
-               
-               <xsl:variable name="pstackW_">
-                       <xsl:if test="$bktModsW_ &gt; $pstkModsW_">
-                               <xsl:value-of select="$bktModsW_"/>
-                       </xsl:if>
-                       <xsl:if test="not($bktModsW_ &gt; $pstkModsW_)">
-                               <xsl:value-of select="$pstkModsW_"/>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="splbus_w_" select="$BUS_ARROW_W + $BIFC_W + $BIFC_Wi"/>
-               
-               <xsl:variable name="proc2procX_" >
-                       <xsl:if test="$oriented_= 'WEST'"><xsl:value-of select="$proc_x_ + $busLaneWestW_  + ceiling($pstackW_ div 2) - (ceiling($periMOD_W div 2) + $BIFC_W + $splbus_w_)"/></xsl:if>  
-                       <xsl:if test="$oriented_= 'EAST'"><xsl:value-of select="$proc_x_ + $busLaneEastW_  + ceiling($pstackW_ div 2) + ceiling($periMOD_W div 2) + $BIFC_W"/></xsl:if> 
-               </xsl:variable>  
-               
-               <xsl:variable name="pr2prNumX_" >
-                       <xsl:if test="$oriented_= 'WEST'"><xsl:value-of select="$proc2procX_ + ceiling($BIFC_W div 4)"/></xsl:if>       
-                       <xsl:if test="$oriented_= 'EAST'"><xsl:value-of select="$proc2procX_ + ($BUS_ARROW_W * 2) + ceiling($BIFC_W div 4)"/></xsl:if>  
-<!--                   
-                       <xsl:if test="$oriented_= 'EAST'"><xsl:value-of select="$proc2procX_ + ceiling($BIFC_W div 4)"/></xsl:if>       
-                       <xsl:if test="$oriented_= 'EAST'"><xsl:value-of select="$proc2procX_ + $BUS_ARROW_W + $BIFC_W + ceiling($BIFC_Wi div 2)"/></xsl:if>     
-                       <xsl:if test="$oriented_= 'EAST'"><xsl:value-of select="$proc2procX_ + $BUS_ARROW_W + $BIFC_W + ceiling($BIFC_Wi div 2) - 4"/></xsl:if> 
-               <xsl:message>The Split count is <xsl:value-of select="@SPLITCNT"/></xsl:message>
--->    
-               </xsl:variable>  
-               
-               
-               <xsl:variable name="pr2prLabelX_" >
-                       <xsl:if test="$oriented_= 'WEST'"><xsl:value-of select="$proc2procX_ - (string-length(@BUSNAME) * 6)"/></xsl:if>        
-                       <xsl:if test="$oriented_= 'EAST'"><xsl:value-of select="$proc2procX_ + $splbus_w_"/></xsl:if>   
-               </xsl:variable>  
-               
-               <xsl:variable name="proc2procY_"   select="(($proc_y_ + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V) + (($BIF_H + $BIF_GAP) * @PBIF_Y) + ceiling($BIF_H div 2)) - ceiling($BIFC_H div 2))"/>
-               <xsl:variable name="proc2procDy_"  select="(ceiling($BIF_H div 2) - ceiling($BUS_ARROW_G div 2))"/>
-               
-               
-               <!-- For unidirectional orientations, when its a master draw this end one way -->               
-               <xsl:variable name="draw_oriented_">
-                       <xsl:choose>
-                               <xsl:when test="(@BIFRANK = 'MASTER')"><xsl:value-of select="$BIF_TYPE_ONEWAY"/></xsl:when>
-                               <xsl:otherwise><xsl:value-of select="$oriented_"/></xsl:otherwise>      
-                       </xsl:choose>           
-               </xsl:variable>
-               
-               <use   x="{$proc2procX_}"   y="{$proc2procY_ + $proc2procDy_}"  xlink:href="#{@BUSSTD}_SplitBus_{$draw_oriented_}"/>
-               
-               
-<!--           
-               <text class="splitbustxt"
-              x="{$pr2prNumX_} "
-                         y="{$proc2procY_ + $proc2procDy_ + 8}">
-                        <xsl:value-of select="@SPLITCNT"/> 
-               </text>           
--->            
-               
-               <text class="splitbustxt"
-              x="{$pr2prNumX_} "
-                         y="{$proc2procY_ + $proc2procDy_ + 7}">
-                        <xsl:value-of select="@SPLITCNT"/> 
-               </text>           
-               
-               <text class="horizp2pbuslabel"
-              x="{$pr2prLabelX_} "
-                         y="{$proc2procY_ + $proc2procDy_ + 8}">
-                        <xsl:value-of select="@BUSNAME"/> 
-               </text>           
-       </xsl:for-each>         
-
-               
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE/BUSCONNS/BUSCONN[(@IS_PROC2PROC = 'TRUE') and (@BIFRANK = 'MASTER') and not(@IS_SPLITCONN = 'TRUE')]">
-                       
-<!--  MASTER VALUES -->                
-               <xsl:variable name="mst_oriented_"        select="../@ORIENTED"/>
-               <xsl:variable name="mst_procInst_"        select="../../@INSTANCE"/>
-               <xsl:variable name="busName_"             select="@BUSNAME"/>
-               
-               <xsl:variable name="mst_numMemCs_"        select="count(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $mst_procInst_) and (@MODCLASS='MEMORY_UNIT'))])"/> 
-               <xsl:variable name="mst_numSbsBkts_"      select="count(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[   (@PROCESSOR = $mst_procInst_)])"/>        
-               
-               <xsl:variable name="mst_proc_bifs_h_"     select="../../@BIFS_H"/>
-               <xsl:variable name="mst_numSlvsAbv_"      select="../../@PMODS_ABOVE_SBS_H"/>
-               <xsl:variable name="mst_numSlvsBlw_"      select="../../@PMODS_BELOW_SBS_H"/>
-               
-               <xsl:variable name="mst_gaps_right_"      select="(../../@GAPS_X      * $MOD_SHAPES_G)"/>
-               <xsl:variable name="mst_mods_right_"      select="(../../@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="mst_lanes_right_"     select="(../../@BUS_LANES_X * $BUS_LANE_W)"/>
-               <xsl:variable name="mst_bkt_lanes_right_" select="(../../@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-               <xsl:variable name="mst_bkt_gaps_right_"  select="(../../@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-               
-               <xsl:variable name="mst_pbifsW_"          select="../../@BIFS_W"/>
-               <xsl:variable name="mst_pbktW_"           select="../../@PSTACK_BKT_W"/>
-               <xsl:variable name="mst_pmodW_"           select="../../@PSTACK_MOD_W"/>
-               
-               <xsl:variable name="mst_pbifsH_"          select="../../@BIFS_H"/>
-               <xsl:variable name="mst_pbktH_"           select="../../@PSTACK_BKT_H"/>
-               <xsl:variable name="mst_pmodH_"           select="../../@PSTACK_MOD_H"/>
-               
-               <xsl:variable name="mst_memCH_"           select="($mst_numMemCs_   * (($periMOD_H * 2) + $BIF_H))"/>
-               <xsl:variable name="mst_slavesH_"         select="($mst_numSlvsAbv_ * ( $periMOD_H      + $BIF_H))"/>
-               <xsl:variable name="mst_proc_h_"          select="(($MOD_LANE_H * 2) + (($BIF_H + $MOD_BIF_GAP_V) * $mst_proc_bifs_h_) + ($MOD_LABEL_H + $MOD_BIF_GAP_V))"/>    
-               <xsl:variable name="mst_pabv_h_"          select="($mst_proc_h_ + $mst_memCH_ + $mst_slavesH_)"/>
-               
-               <xsl:variable name="mst_proc_y_"          select="($SharedBus_Y - ($PROC2SBS_GAP + $mst_proc_h_))"/>
-               <xsl:variable name="mst_proc_x_"          select="($Inner_X + $mst_gaps_right_ +  $mst_mods_right_ + $mst_bkt_lanes_right_ + $mst_bkt_gaps_right_ + $mst_lanes_right_)"/>
-               
-               <xsl:variable name="mst_busLaneWestW_">
-                       <xsl:if test="(../../BUSCONNS[@ORIENTED = 'WEST'])">
-                               <xsl:value-of select="((../../BUSCONNS[@ORIENTED ='WEST']/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(../../BUSCONNS[@ORIENTED = 'WEST'])">0</xsl:if>
-               </xsl:variable>
-                       
-               <xsl:variable name="mst_busLaneEastW_">
-                       <xsl:if test="(../../BUSCONNS[@ORIENTED = 'EAST'])">
-                               <xsl:value-of select="((../../BUSCONNS[@ORIENTED ='EAST']/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(../../BUSCONNS[@ORIENTED = 'EAST'])">0</xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="mst_bktModsW_">
-                       <xsl:if test="($mst_numSbsBkts_ &gt; 0)">
-                               <xsl:value-of select="(($MOD_BKTLANE_W * 2) + ($periMOD_W * $mst_pbktW_) + ($MOD_BUCKET_G * ($mst_pbktW_ - 1)))"/>      
-                       </xsl:if>
-                       <xsl:if test="not($mst_numSbsBkts_ &gt; 0)">0</xsl:if>
-               </xsl:variable> 
-               
-               <xsl:variable name="mst_pstkModsW_" select="($mst_pmodW_ * $periMOD_W)"/>
-               
-               <xsl:variable name="mst_pstackW_">
-                       <xsl:if test="$mst_bktModsW_ &gt; $mst_pstkModsW_">
-                               <xsl:value-of select="$mst_bktModsW_"/>
-                       </xsl:if>
-                       <xsl:if test="not($mst_bktModsW_ &gt; $mst_pstkModsW_)">
-                               <xsl:value-of select="$mst_pstkModsW_"/>
-                       </xsl:if>
-               </xsl:variable>
-               
-<!--  SLAVE VALUES -->         
-               <xsl:variable name="slaveInst_"           select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[not(@INSTANCE = $mst_procInst_) and BUSCONNS/BUSCONN[@BUSNAME = $busName_]]/@INSTANCE"/>      
-               <xsl:variable name="slv_numMemCs_"        select="count(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PROCESSOR = $slaveInst_) and (@MODCLASS='MEMORY_UNIT'))])"/>
-               <xsl:variable name="slv_numSbsBkts_"      select="count(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[   (@PROCESSOR = $slaveInst_)])"/>
-               
-               <xsl:variable name="slv_proc_bifs_h_"     select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@BIFS_H"/>
-               <xsl:variable name="slv_numSlvsAbv_"      select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@PMODS_ABOVE_SBS_H"/>
-               <xsl:variable name="slv_numSlvsBlw_"      select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@PMODS_BELOW_SBS_H"/>
-               
-               <xsl:variable name="slv_gaps_right_"      select="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@GAPS_X      * $MOD_SHAPES_G)"/>
-               <xsl:variable name="slv_mods_right_"      select="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="slv_lanes_right_"     select="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@BUS_LANES_X * $BUS_LANE_W)"/>
-               <xsl:variable name="slv_bkt_lanes_right_" select="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-               <xsl:variable name="slv_bkt_gaps_right_"  select="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-               
-               <xsl:variable name="slv_pbifsW_"          select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@BIFS_W"/>
-               <xsl:variable name="slv_pbktW_"           select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@PSTACK_BKT_W"/>
-               <xsl:variable name="slv_pmodW_"           select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@PSTACK_MOD_W"/>
-               
-               <xsl:variable name="slv_pbifsH_"          select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@BIFS_H"/>
-               <xsl:variable name="slv_pbktH_"           select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@PSTACK_BKT_H"/>
-               <xsl:variable name="slv_pmodH_"           select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/@PSTACK_MOD_H"/>
-               
-               <xsl:variable name="slv_memCH_"           select="($slv_numMemCs_   * (($periMOD_H * 2) + $BIF_H))"/>
-               <xsl:variable name="slv_slavesH_"         select="($slv_numSlvsAbv_ * ( $periMOD_H      + $BIF_H))"/>
-               <xsl:variable name="slv_proc_h_"          select="(($MOD_LANE_H * 2) + (($BIF_H + $MOD_BIF_GAP_V) * $slv_proc_bifs_h_) + ($MOD_LABEL_H + $MOD_BIF_GAP_V))"/>    
-               <xsl:variable name="slv_pabv_h_"          select="($slv_proc_h_ + $slv_memCH_ + $slv_slavesH_)"/>
-               
-               <xsl:variable name="slv_proc_y_"          select="($SharedBus_Y - ($PROC2SBS_GAP + $slv_proc_h_))"/>
-               <xsl:variable name="slv_proc_x_"          select="($Inner_X + $slv_gaps_right_ +  $slv_mods_right_ + $slv_bkt_lanes_right_ + $slv_bkt_gaps_right_ + $slv_lanes_right_)"/>
-               
-               <xsl:variable name="slv_busLaneWestW_">
-                       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/BUSCONNS[@ORIENTED = 'WEST'])">
-                               <xsl:value-of select="((/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/BUSCONNS[@ORIENTED ='WEST']/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[@INSTANCE = $slaveInst_]/BUSCONNS[@ORIENTED = 'WEST'])">0</xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="mstArrow_">
-                       <xsl:choose>
-                               <xsl:when test="(@BUSSSTD = 'FSL')">BusArrowHInitiator</xsl:when>
-                               <xsl:otherwise>BusArrowWest</xsl:otherwise> 
-                       </xsl:choose>           
-               </xsl:variable>
-               
-                       
-               <xsl:variable name="slv_busLaneEastW_">
-                       <xsl:if test="(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $slaveInst_)]/BUSCONNS[(@ORIENTED = 'EAST')])">
-                               <xsl:value-of select="((/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $slaveInst_)]/BUSCONNS[(@ORIENTED ='EAST')]/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE[(@INSTANCE = $slaveInst_)]/BUSCONNS[(@ORIENTED = 'EAST')])">0</xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="slv_bktModsW_">
-                       <xsl:if test="($slv_numSbsBkts_ &gt; 0)">
-                               <xsl:value-of select="(($MOD_BKTLANE_W * 2) + ($periMOD_W * $slv_pbktW_) + ($MOD_BUCKET_G * ($slv_pbktW_ - 1)))"/>      
-                       </xsl:if>
-                       <xsl:if test="not($slv_numSbsBkts_ &gt; 0)">0</xsl:if>
-               </xsl:variable> 
-               
-               <xsl:variable name="slv_pstkModsW_" select="($slv_pmodW_ * $periMOD_W)"/>
-               
-               <xsl:variable name="slv_pstackW_">
-                       <xsl:if test="$slv_bktModsW_ &gt; $slv_pstkModsW_">
-                               <xsl:value-of select="$slv_bktModsW_"/>
-                       </xsl:if>
-                       <xsl:if test="not($slv_bktModsW_ &gt; $slv_pstkModsW_)">
-                               <xsl:value-of select="$slv_pstkModsW_"/>
-                       </xsl:if>
-               </xsl:variable>
-               
-<!--           
-               <xsl:message>Slave bus lane west <xsl:value-of select="$slv_busLaneWestW_"/></xsl:message>
-               <xsl:message>Slave bus lane east <xsl:value-of select="$slv_busLaneEastW_"/></xsl:message>
--->            
-               
-               <xsl:variable name="proc2procBegX_" select="$mst_proc_x_ + $mst_busLaneWestW_  + ceiling($mst_pstackW_ div 2) + ceiling($periMOD_W div 2) + $BIFC_W"/>
-               <xsl:variable name="proc2procEndX_" select="$slv_proc_x_ + $slv_busLaneWestW_  + ceiling($slv_pstackW_ div 2) - (ceiling($periMOD_W div 2) + $BIFC_W + $BUS_ARROW_W)"/>
-               
-               <xsl:variable name="proc2procBegY_" select="(($mst_proc_y_ + ($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V) + (($BIF_H + $MOD_BIF_GAP_V) * @PBIF_Y) + ceiling($BIF_H div 2)) - ceiling($BIFC_H div 2))"/>
-               <xsl:variable name="proc2procDy_"   select="(ceiling($BIF_H div 2) - ceiling($BUS_ARROW_G div 2))"/>
-               <xsl:variable name="proc2procY_"    select="($proc2procBegY_ + $proc2procDy_)"/>
-               <xsl:variable name="bus_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="@BUSSTD"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <use  x="{$proc2procBegX_}" y="{$proc2procY_}"  xlink:href="#{@BUSSTD}_{$mstArrow_}"/>
-               <use  x="{$proc2procEndX_}" y="{$proc2procY_}"  xlink:href="#{@BUSSTD}_BusArrowEast"/>  
-               <rect x="{$proc2procBegX_ + $BUS_ARROW_W}" 
-                         y="{$proc2procY_ + $BUS_ARROW_G}"  
-                         width= "{($proc2procEndX_  - $proc2procBegX_ - $BUS_ARROW_W)}" 
-                         height="{$BUS_ARROW_H - (2 * $BUS_ARROW_G)}" style="stroke:none; fill:{$bus_col_}"/>
-                         
-               <text class="horizp2pbuslabel"
-              x="{$proc2procBegX_ + 8} "
-                         y="{$proc2procY_    - 2}">
-                        <xsl:value-of select="@BUSNAME"/> 
-               </text>           
-               
-               <text class="horizp2pbuslabel"
-              x="{$proc2procEndX_ - (string-length(@BUSNAME) * 6)} "
-                         y="{$proc2procY_    - 2}">
-                        <xsl:value-of select="@BUSNAME"/> 
-               </text>           
-               
-<!--           
-               <xsl:variable name="pr2prLabelX_" >
-                       <xsl:if test="$oriented_= 'WEST'"><xsl:value-of select="$proc2procX_ - (string-length(@BUSNAME) * 6)"/></xsl:if>        
-                       <xsl:if test="$oriented_= 'EAST'"><xsl:value-of select="$proc2procX_ + $splbus_w_"/></xsl:if>   
-               </xsl:variable>  
-               
-               <use   x="{$proc2procX_}"   y="{$proc2procY_ + $proc2procDy_}"  xlink:href="#{@BUSSTD}_SplitBus_{$oriented_}"/>
-               
-               <text class="splitp2pbuslabel"
-              x="{$pr2prLabelX_} "
-                         y="{$proc2procY_ + $proc2procDy_ + 8}">
-                        <xsl:value-of select="@BUSNAME"/> 
-               </text>           
--->            
-       </xsl:for-each>         
-       
-</xsl:template>
-       
-<!--
-       ====================================================================================
-                           FUNCTION TEMPLATE      
-                                                                                                                                                
-        Draw Bus connections on modules that are connected to more than one module
-       ====================================================================================
--->
-<xsl:template name="Draw_BlkDiagram_MultiProcConnections">
-       
-       <xsl:param name="Inner_X"                select="0"/>
-       <xsl:param name="SharedBus_Y"            select="0"/>
-       <xsl:param name="SharedBus_H"            select="0"/>
-       <xsl:param name="Max_Proc_H"             select="0"/>
-       <xsl:param name="Max_Proc_PerisAbvSbs_H" select="0"/>
-       <xsl:param name="Max_Proc_PerisBlwSbs_H" select="0"/>
-       <xsl:param name="Max_SbsBuckets_H"       select="0"/>
-       
-<!--   
-       <xsl:message>Reached Multi Processor connections</xsl:message>
--->    
-       
-       <!--
-                ============================================================ 
-               Draw Multiproc Bus connection lanes, (two or more connections on the same bus lane)
-                ============================================================ 
-        -->    
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE/BUSCONNS/BUSCONNLANE[((@IS_MULTIPROC = 'TRUE') and not(@IS_SPLITCONN = 'TRUE') and @BUSNAME and @BUSSTD and @BUSLANE_X)]">
-               
-<!--           
-               <xsl:message>Found a Multi Processor Busconn Group  </xsl:message>
--->            
-               
-               <xsl:variable name="oriented_"         select="../@ORIENTED"/>
-               <xsl:variable name="busName_"          select="@BUSNAME"/>
-               
-               <xsl:variable name="busColor_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="@BUSSTD"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <xsl:variable name="mp_proc_inst_"    select="../../@INSTANCE"/>
-               <xsl:variable name="mp_proc_bifs_h_"  select="../../@BIFS_H"/>
-               <xsl:variable name="mp_proc_bifs_w_"  select="../../@BIFS_W"/>
-               <xsl:variable name="mp_proc_pbktW_"   select="../../@PSTACK_BKT_W"/>
-               <xsl:variable name="mp_proc_pbktH_"   select="../../@PSTACK_BKT_H"/>
-               <xsl:variable name="mp_proc_pmodW_"   select="../../@PSTACK_MOD_W"/>
-               <xsl:variable name="mp_proc_pmodH_"   select="../../@PSTACK_MOD_H"/>
-               
-               <xsl:variable name="mp_proc_gaps_right_"      select="(../../@GAPS_X      * $MOD_SHAPES_G)"/>
-               <xsl:variable name="mp_proc_mods_right_"      select="(../../@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="mp_proc_lanes_right_"     select="(../../@BUS_LANES_X * $BUS_LANE_W)"/>
-               <xsl:variable name="mp_proc_bkt_lanes_right_" select="(../../@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-               <xsl:variable name="mp_proc_bkt_gaps_right_"  select="(../../@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-               
-               <xsl:variable name="mp_proc_h_"  select="(($MOD_LANE_H * 2) + (($BIF_H + $MOD_BIF_GAP_V) * $mp_proc_bifs_h_) + ($MOD_LABEL_H + $MOD_BIF_GAP_V))"/>      
-               <xsl:variable name="mp_proc_y_"  select="($SharedBus_Y - ($PROC2SBS_GAP + $mp_proc_h_))"/>
-               <xsl:variable name="mp_proc_x_"  select="($Inner_X + $mp_proc_gaps_right_ +  $mp_proc_mods_right_ + $mp_proc_bkt_lanes_right_ + $mp_proc_bkt_gaps_right_ + $mp_proc_lanes_right_)"/>
-               
-               <xsl:variable name="mp_proc_numSbsBkts_"  select="count(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[   (@PROCESSOR = $mp_proc_inst_)])"/>        
-               
-               <xsl:variable name="mp_proc_bktModsW_">
-                       <xsl:if test="($mp_proc_numSbsBkts_ &gt; 0)">
-                               <xsl:value-of select="(($MOD_BKTLANE_W * 2) + ($periMOD_W * $mp_proc_pbktW_) + ($MOD_BUCKET_G * ($mp_proc_pbktW_ - 1)))"/>      
-                       </xsl:if>
-                       <xsl:if test="not($mp_proc_numSbsBkts_ &gt; 0)">0</xsl:if>
-               </xsl:variable> 
-               
-               <xsl:variable name="mp_proc_pstkModsW_" select="($mp_proc_pmodW_ * $periMOD_W)"/>
-               
-               <xsl:variable name="mp_proc_stack_w_">
-                       <xsl:if test="$mp_proc_bktModsW_ &gt; $mp_proc_pstkModsW_">
-                               <xsl:value-of select="$mp_proc_bktModsW_"/>
-                       </xsl:if>
-                       <xsl:if test="not($mp_proc_bktModsW_ &gt; $mp_proc_pstkModsW_)">
-                               <xsl:value-of select="$mp_proc_pstkModsW_"/>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="mp_stack_numMemus_"        select="count(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PSTACK_BLKD_X = @PSTACK_BLKD_X) and (@MODCLASS = 'MEMORY_UNIT'))])"/>      
-               
-               <xsl:variable name="mp_stack_h_">
-                       <xsl:call-template name="_calc_MultiProc_Stack_Height">
-                               <xsl:with-param name="mpstack_blkd_x" select="(@PSTACK_BLKD_X)"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="mp_stack_y_"                           select="($SharedBus_Y - ($PROC2SBS_GAP + $Max_Proc_H + $Max_Proc_PerisAbvSbs_H + $mp_stack_h_))"/>
-
-               <xsl:variable name="mp_stack_gaps_right_"      select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = @PSTACK_BLKD_X)]/@GAPS_X           * $MOD_SHAPES_G)"/>
-               <xsl:variable name="mp_stack_mods_right_"      select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = @PSTACK_BLKD_X)]/@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="mp_stack_lanes_right_"     select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = @PSTACK_BLKD_X)]/@BUS_LANES_X * $BUS_LANE_W)"/>
-               <xsl:variable name="mp_stack_bkt_lanes_right_" select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = @PSTACK_BLKD_X)]/@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-               <xsl:variable name="mp_stack_bkt_gaps_right_"  select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = @PSTACK_BLKD_X)]/@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-               <xsl:variable name="mp_stack_x_"               select="($Inner_X + $mp_stack_gaps_right_ +  $mp_stack_mods_right_ + $mp_stack_bkt_lanes_right_ + $mp_stack_bkt_gaps_right_ + $mp_stack_lanes_right_)"/>
-               
-               <xsl:variable name="mp_stack_w_">
-                       <xsl:if test="($mp_stack_numMemus_ &gt; 0)">
-                               <xsl:value-of select="($periMOD_W * 2)"/>
-                       </xsl:if>
-                       <xsl:if test="not($mp_stack_numMemus_ &gt; 0)">
-                               <xsl:value-of select="$periMOD_W"/>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="mp_busLaneWestW_">
-                       <xsl:if test="(../../BUSCONNS[@ORIENTED = 'WEST'])">
-                               <xsl:value-of select="((../../BUSCONNS[@ORIENTED ='WEST']/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(../../BUSCONNS[@ORIENTED = 'WEST'])">0</xsl:if>
-               </xsl:variable>
-                       
-               <xsl:variable name="mp_busLaneEastW_">
-                       <xsl:if test="(../../BUSCONNS[@ORIENTED = 'EAST'])">
-                               <xsl:value-of select="((../../BUSCONNS[@ORIENTED ='EAST']/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(../../BUSCONNS[@ORIENTED = 'EAST'])">0</xsl:if>
-               </xsl:variable>
-               
-               <!-- all the connections will be on the same line..      -->    
-               <xsl:variable name="mp_bc_x_" >
-                       <xsl:if test="$oriented_= 'EAST'">
-                               <xsl:value-of select="($mp_proc_x_ + $mp_busLaneWestW_ + $mp_proc_stack_w_ + ((@BUSLANE_X + 1) * $BUS_LANE_W))"/>
-                       </xsl:if>       
-                               
-                       <xsl:if test="$oriented_= 'WEST'">
-                               <xsl:value-of select="($mp_proc_x_ + $mp_busLaneWestW_ + - ((@BUSLANE_X + 1) * $BUS_LANE_W))"/>
-                       </xsl:if>       
-               </xsl:variable>  
-               
-<!--           
-               <rect 
-              x="{$mp_bc_x_}"
-                         y="{$mp_stack_y_}"
-                     width= "4"
-                     height="700"
-                         style="fill:{$COL_WHITE}; stroke:none;"/>             
--->    
-                               
-                       
-               <xsl:for-each select="BUSCONN">
-                       <xsl:choose>
-                               
-                               <!-- A processor connection -->         
-                               <xsl:when test="(@PBIF_Y and @BIFRANK)">
-                                       
-                                       <xsl:variable name="mp_proc_bif_dy_" select="((($BIF_H + $MOD_BIF_GAP_V) * @PBIF_Y) + ($MOD_LABEL_H + $MOD_BIF_GAP_V + $MOD_LANE_H))"/> 
-                                       <xsl:variable name="mp_proc_bif_y_" select="$mp_proc_y_ + $mp_proc_bif_dy_"/>
-<!--                                   
-                                       <xsl:variable name="mp_proc_bif_y_" select="$mp_proc_y_ + $mp_proc_bif_dy_  - ceiling($BIFC_H div 2) + ($BUS_ARROW_G * 2)"/>
--->    
-                                       
-                                       <use   x="{$mp_bc_x_ - ceiling($BIFC_W div 2)}"
-                                          y="{$mp_proc_bif_y_}"
-                                               xlink:href="#{../@BUSSTD}_busconn_{@BIFRANK}"/>
-                                       
-                                       <xsl:if test="$oriented_ = 'EAST'">
-                                               <xsl:variable name="east_bif_x_" select="($mp_proc_x_ + $mp_busLaneWestW_ + ceiling($mp_proc_stack_w_ div 2) + ceiling($periMOD_W div 2) - $MOD_LANE_W)"/>
-                                               <line x1="{$mp_bc_x_}" 
-                                                 y1="{$mp_proc_bif_y_ + ceiling($BIFC_H div 2)}" 
-                                         x2="{$east_bif_x_}" 
-                                                 y2="{$mp_proc_bif_y_ + ceiling($BIFC_H div 2)}" 
-                                                 style="stroke:{$busColor_};stroke-width:1"/>
-                                       </xsl:if>
-                                       
-                                       <xsl:if test="$oriented_ = 'WEST'">
-                                               <xsl:variable name="west_bif_x_" select="($mp_proc_x_ + $mp_busLaneWestW_ + ceiling($mp_proc_stack_w_ div 2) - ceiling($periMOD_W div 2) + $MOD_LANE_W)"/>
-                                               <line x1="{$mp_bc_x_}" 
-                                                 y1="{$mp_proc_bif_y_ + ceiling($BIFC_H div 2)}" 
-                                         x2="{$west_bif_x_}" 
-                                                 y2="{$mp_proc_bif_y_ + ceiling($BIFC_H div 2)}" 
-                                                 style="stroke:{$busColor_};stroke-width:1"/>
-                                       </xsl:if>
-                                       
-                               </xsl:when>
-                               
-                               
-                               <!-- A non processor connection from some peripheral in the stack-->            
-                               <xsl:when test="(@BIF_Y and @CSTACK_MODS_Y and @CSTACK_INDEX and @BIFRANK)">
-<!--                                   
-                                       <xsl:variable name="mp_peri_bif_dy_" select="((($BIF_H + $BIF_GAP) * @PBIF_Y) + ($MOD_LABEL_H + $BIF_GAP + $MOD_LANE_H))"/>     
-                                       <xsl:variable name="mp_peri_bif_y_" select="$mp_proc_y_ + $mp_proc_bif_dy_"/>
-                                       <xsl:with-param name="cstackModY"  select="@CSTACK_MODS_Y"/>
--->    
-                                       
-                                       <xsl:variable name="mp_stack_mod_h_">
-                                               <xsl:call-template name="_calc_CStackShapesAbv_Height">
-                                                       <xsl:with-param name="cstkIndex"  select="@CSTACK_INDEX"/>
-                                                       <xsl:with-param name="cstkMods_Y" select="@CSTACK_MODS_Y"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                                       
-                                       <xsl:variable name="mp_stack_mod_y_" select="$mp_stack_y_ + $mp_stack_mod_h_"/>
-                                       
-                                       <xsl:variable name="mp_stack_mod_dy_" >
-                                               <xsl:if test="not(@IS_MEMBIF)">
-                                                       <xsl:value-of select="($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V + (@BIF_Y * ($BIF_H + $MOD_BIF_GAP_V)) + ceiling($BIF_H div 2))"/>
-                                               </xsl:if>
-                               
-                                               <xsl:if test="@IS_MEMBIF">
-                                                       <xsl:value-of select="($periMOD_H +  $MOD_LANE_H + ceiling($BIF_H div 2))"/>
-                                               </xsl:if> </xsl:variable>  
-                                       
-                                       <use   x="{$mp_bc_x_ - ceiling($BIFC_W div 2)}"
-                                          y="{$mp_stack_mod_y_ + $mp_stack_mod_dy_ - ceiling($BIFC_H div 2)}"
-                                               xlink:href="#{../@BUSSTD}_busconn_{@BIFRANK}"/>
-                                       
-                                       <xsl:if test="$oriented_ = 'WEST'">
-                                               <line x1="{$mp_stack_x_ + $periMOD_W - $MOD_LANE_W}" 
-                                                 y1="{$mp_stack_mod_y_  + $mp_stack_mod_dy_}" 
-                                                 x2="{$mp_bc_x_}" 
-                                                 y2="{$mp_stack_mod_y_  + $mp_stack_mod_dy_}" 
-                                                         style="stroke:{$busColor_};stroke-width:1"/>
-                                       </xsl:if>               
-                                       
-                                       <xsl:if test="$oriented_ = 'EAST'">
-                                               <line x1="{$mp_bc_x_}" 
-                                                 y1="{$mp_stack_mod_y_  + $mp_stack_mod_dy_}" 
-                                                 x2="{$mp_stack_x_ + $MOD_LANE_W}" 
-                                                 y2="{$mp_stack_mod_y_  + $mp_stack_mod_dy_}" 
-                                                       style="stroke:{$busColor_};stroke-width:1"/>
-                                       </xsl:if>               
-                         
-                                       
-                               </xsl:when>
-                               
-                               
-                               <xsl:otherwise>
-                               </xsl:otherwise>                
-                       </xsl:choose>
-               </xsl:for-each>
-                       
-               
-               <!-- Store the bus conn Ys in a variable to use to draw the P2P bus --> 
-               <xsl:variable name="busConn_Ys_">
-               <xsl:for-each select="BUSCONN">
-                       <xsl:choose>
-                               
-                               <!-- A processor connection -->         
-                               <xsl:when test="(@PBIF_Y and @BIFRANK)">
-                                       
-                                       <xsl:variable name="mp_proc_bif_dy_" select="((($BIF_H + $MOD_BIF_GAP_V) * @PBIF_Y) + ($MOD_LABEL_H + $MOD_BIF_GAP_V + $MOD_LANE_H))"/> 
-                                       <xsl:variable name="mp_proc_bif_y_" select="$mp_proc_y_ + $mp_proc_bif_dy_"/>
-                                       
-                                       <BUSCONN Y="{$mp_proc_bif_y_}"/>
-                                       
-                               </xsl:when>
-                               
-                               <!-- A non processor connection from some peripheral in the stack-->            
-                               <xsl:when test="(@BIF_Y and @CSTACK_MODS_Y and @CSTACK_INDEX and @BIFRANK)">
-                                       
-                                       <xsl:variable name="mp_stack_mod_h_">
-                                               <xsl:call-template name="_calc_CStackShapesAbv_Height">
-                                                       <xsl:with-param name="cstkIndex"  select="@CSTACK_INDEX"/>
-                                                       <xsl:with-param name="cstkMods_Y" select="@CSTACK_MODS_Y"/>
-                                               </xsl:call-template>    
-                                       </xsl:variable>
-                                       
-                                       <xsl:variable name="mp_stack_mod_y_" select="$mp_stack_y_ + $mp_stack_mod_h_"/>
-                                       
-                                       <xsl:variable name="mp_stack_mod_dy_" >
-                                               <xsl:if test="not(@IS_MEMBIF)">
-                                                       <xsl:value-of select="($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V + (@BIF_Y * ($BIF_H + $MOD_BIF_GAP_V)) + ceiling($BIF_H div 2))"/>
-                                               </xsl:if>
-                               
-                                               <xsl:if test="@IS_MEMBIF">
-                                                       <xsl:value-of select="($periMOD_H +  $MOD_LANE_H + ceiling($BIF_H div 2))"/>
-                                               </xsl:if> </xsl:variable>  
-                                       
-                                       <BUSCONN Y="{$mp_stack_mod_y_ + $mp_stack_mod_dy_ - ceiling($BIFC_H div 2)}"/>
-                                       
-                               </xsl:when>
-                               
-                               
-                               <xsl:otherwise>
-                               </xsl:otherwise>                
-                       </xsl:choose>
-               </xsl:for-each>
-                       
-               </xsl:variable>
-               
-               
-<!--           
-               <xsl:message>MAX Height is <xsl:value-of select="math:max(exsl:node-set($busConn_Ys_)/BUSCONN/@Y)"/></xsl:message>
-               <xsl:message>MIN Height is <xsl:value-of select="math:min(exsl:node-set($busConn_Ys_)/BUSCONN/@Y)"/></xsl:message>
--->    
-               
-               <xsl:call-template name="Draw_P2PBus">
-                       <xsl:with-param name="busX"    select="$mp_bc_x_ - ceiling($BIFC_W div 2)"/>
-                       <xsl:with-param name="busTop"  select="math:min(exsl:node-set($busConn_Ys_)/BUSCONN/@Y)"/>
-                       <xsl:with-param name="busBot"  select="math:max(exsl:node-set($busConn_Ys_)/BUSCONN/@Y)"/>
-                       <xsl:with-param name="busStd"  select="@BUSSTD"/>
-                       <xsl:with-param name="busName" select="@BUSNAME"/>
-               </xsl:call-template>
-                       
-       </xsl:for-each>         
-       
-       
-       <!--
-                ============================================================ 
-               Draw Multiproc connections to the shared busses 
-                ============================================================ 
-        -->    
-       
-       <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/PROCSHAPES/MODULE/BUSCONNS/BUSCONN[(@IS_MULTIPROC and not(@IS_SPLITCONN) and @BUSINDEX and @BIF_Y and @BUSLANE_X and @BUSSTD and @BIFRANK)]">
-               
-<!--           
-               <xsl:message>Reached Shared bus Multi Processor connections loop</xsl:message>
--->            
-                       
-               <xsl:variable name="oriented_"         select="../@ORIENTED"/>
-               <xsl:variable name="busName_"          select="@BUSNAME"/>
-               
-               <xsl:variable name="busColor_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="@BUSSTD"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <xsl:variable name="mp_proc_inst_"    select="../../@INSTANCE"/>
-               <xsl:variable name="mp_proc_bifs_h_"  select="../../@BIFS_H"/>
-               <xsl:variable name="mp_proc_bifs_w_"  select="../../@BIFS_W"/>
-               <xsl:variable name="mp_proc_pbktW_"   select="../../@PSTACK_BKT_W"/>
-               <xsl:variable name="mp_proc_pbktH_"   select="../../@PSTACK_BKT_H"/>
-               <xsl:variable name="mp_proc_pmodW_"   select="../../@PSTACK_MOD_W"/>
-               <xsl:variable name="mp_proc_pmodH_"   select="../../@PSTACK_MOD_H"/>
-               
-               <xsl:variable name="mp_proc_gaps_right_"      select="(../../@GAPS_X      * $MOD_SHAPES_G)"/>
-               <xsl:variable name="mp_proc_mods_right_"      select="(../../@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="mp_proc_lanes_right_"     select="(../../@BUS_LANES_X * $BUS_LANE_W)"/>
-               <xsl:variable name="mp_proc_bkt_lanes_right_" select="(../../@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-               <xsl:variable name="mp_proc_bkt_gaps_right_"  select="(../../@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-               
-               <xsl:variable name="mp_proc_h_"  select="(($MOD_LANE_H * 2) + (($BIF_H + $MOD_BIF_GAP_V) * $mp_proc_bifs_h_) + ($MOD_LABEL_H + $MOD_BIF_GAP_V))"/>
-               <xsl:variable name="mp_proc_y_"  select="($SharedBus_Y - ($PROC2SBS_GAP + $mp_proc_h_))"/>
-               <xsl:variable name="mp_proc_x_"  select="($Inner_X + $mp_proc_gaps_right_ +  $mp_proc_mods_right_ + $mp_proc_bkt_lanes_right_ + $mp_proc_bkt_gaps_right_ + $mp_proc_lanes_right_)"/>
-               
-               <xsl:variable name="mp_proc_numSbsBkts_"  select="count(/EDKSYSTEM/BLKDSHAPES/SBSBUCKETS/SBSBUCKET[   (@PROCESSOR = $mp_proc_inst_)])"/>        
-               
-               <xsl:variable name="mp_proc_bktModsW_">
-                       <xsl:if test="($mp_proc_numSbsBkts_ &gt; 0)">
-                               <xsl:value-of select="(($MOD_BKTLANE_W * 2) + ($periMOD_W * $mp_proc_pbktW_) + ($MOD_BUCKET_G * ($mp_proc_pbktW_ - 1)))"/>      
-                       </xsl:if>
-                       <xsl:if test="not($mp_proc_numSbsBkts_ &gt; 0)">0</xsl:if>
-               </xsl:variable> 
-               
-               <xsl:variable name="mp_proc_pstkModsW_" select="($mp_proc_pmodW_ * $periMOD_W)"/>
-               
-               <xsl:variable name="mp_proc_stack_w_">
-                       <xsl:if test="$mp_proc_bktModsW_ &gt; $mp_proc_pstkModsW_">
-                               <xsl:value-of select="$mp_proc_bktModsW_"/>
-                       </xsl:if>
-                       <xsl:if test="not($mp_proc_bktModsW_ &gt; $mp_proc_pstkModsW_)">
-                               <xsl:value-of select="$mp_proc_pstkModsW_"/>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="mp_stack_numMemus_"        select="count(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[((@PSTACK_BLKD_X = @PSTACK_BLKD_X) and (@MODCLASS = 'MEMORY_UNIT'))])"/>      
-               
-               <xsl:variable name="mp_stack_h_">
-                       <xsl:call-template name="_calc_MultiProc_Stack_Height">
-                               <xsl:with-param name="mpstack_blkd_x" select="(@PSTACK_BLKD_X)"/>
-                       </xsl:call-template>
-               </xsl:variable>
-               
-               <xsl:variable name="sbus_bc_y_"                            select="($SharedBus_Y + (@BUSINDEX * $SBS_LANE_H))"/>
-               <xsl:variable name="mp_stack_y_"                           select="($SharedBus_Y - ($PROC2SBS_GAP + $Max_Proc_H + $Max_Proc_PerisAbvSbs_H + $mp_stack_h_))"/>
-
-               <xsl:variable name="mp_stack_gaps_right_"      select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = @PSTACK_BLKD_X)]/@GAPS_X           * $MOD_SHAPES_G)"/>
-               <xsl:variable name="mp_stack_mods_right_"      select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = @PSTACK_BLKD_X)]/@MODS_X      * $periMOD_W)"/>
-               <xsl:variable name="mp_stack_lanes_right_"     select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = @PSTACK_BLKD_X)]/@BUS_LANES_X * $BUS_LANE_W)"/>
-               <xsl:variable name="mp_stack_bkt_lanes_right_" select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = @PSTACK_BLKD_X)]/@BKT_LANES_X * $MOD_BKTLANE_W)"/>
-               <xsl:variable name="mp_stack_bkt_gaps_right_"  select="(/EDKSYSTEM/BLKDSHAPES/CMPLXSHAPES/CMPLXSHAPE[(@PSTACK_BLKD_X = @PSTACK_BLKD_X)]/@BKT_GAPS_X  * $MOD_BUCKET_G)"/>
-               <xsl:variable name="mp_stack_x_"               select="($Inner_X + $mp_stack_gaps_right_ +  $mp_stack_mods_right_ + $mp_stack_bkt_lanes_right_ + $mp_stack_bkt_gaps_right_ + $mp_stack_lanes_right_)"/>
-               
-               <xsl:variable name="mp_stack_w_">
-                       <xsl:if test="($mp_stack_numMemus_ &gt; 0)">
-                               <xsl:value-of select="($periMOD_W * 2)"/>
-                       </xsl:if>
-                       <xsl:if test="not($mp_stack_numMemus_ &gt; 0)">
-                               <xsl:value-of select="$periMOD_W"/>
-                       </xsl:if>
-               </xsl:variable>
-               
-               <xsl:variable name="mp_busLaneWestW_">
-                       <xsl:if test="(../../BUSCONNS[@ORIENTED = 'WEST'])">
-                               <xsl:value-of select="((../../BUSCONNS[@ORIENTED ='WEST']/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(../../BUSCONNS[@ORIENTED = 'WEST'])">0</xsl:if>
-               </xsl:variable>
-                       
-               <xsl:variable name="mp_busLaneEastW_">
-                       <xsl:if test="(../../BUSCONNS[@ORIENTED = 'EAST'])">
-                               <xsl:value-of select="((../../BUSCONNS[@ORIENTED ='EAST']/@BUSLANE_W) * $BUS_LANE_W)"/>
-                       </xsl:if>
-                       <xsl:if test="not(../../BUSCONNS[@ORIENTED = 'EAST'])">0</xsl:if>
-               </xsl:variable>
-<!--           
--->    
-       
-               <xsl:variable name="mp_stack_dx_" >
-                       
-                       <xsl:if test="$oriented_= 'WEST'">
-                               <xsl:if test="@IS_MEMBIF= 'TRUE'">
-                                       <xsl:value-of select="(($mp_stack_w_ div 2) + ($periMOD_W - $MOD_LANE_W))"/>
-                               </xsl:if>       
-                               
-                               <xsl:if test="not(@IS_MEMBIF= 'TRUE')">
-                                       <xsl:value-of select="(($mp_stack_w_ div 2) + (($periMOD_W div 2) - $MOD_LANE_W))"/>
-                               </xsl:if>       
-                       </xsl:if>
-                       
-                       <xsl:if test="$oriented_= 'EAST'">
-                               <xsl:if test="@IS_MEMBIF= 'TRUE'">
-                                       <xsl:value-of select="(($mp_stack_w_ div 2) - ($periMOD_W - $MOD_LANE_W))"/>
-                               </xsl:if>       
-                               
-                               <xsl:if test="not(@IS_MEMBIF= 'TRUE')">
-                                       <xsl:value-of select="(($mp_stack_w_ div 2) - (($periMOD_W div 2) - $MOD_LANE_W))"/>
-                               </xsl:if>       
-                       </xsl:if>       
-                       
-               </xsl:variable>  
-               
-               <xsl:variable name="mp_stack_mod_h_">
-                       <xsl:call-template name="_calc_CStackShapesAbv_Height">
-                               <xsl:with-param name="cstkIndex"  select="@CSTACK_INDEX"/>
-                               <xsl:with-param name="cstkMods_Y" select="@CSTACK_MODS_Y"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <xsl:variable name="mp_stack_mod_y_" select="$mp_stack_y_ + $mp_stack_mod_h_"/>
-               
-               <xsl:variable name="mp_stack_mod_dy_" >
-                       <xsl:if test="not(@IS_MEMBIF)">
-                               <xsl:value-of select="($MOD_LANE_H + $MOD_LABEL_H + $MOD_BIF_GAP_V + (@BIF_Y * ($BIF_H + $MOD_BIF_GAP_V)) + ceiling($BIF_H div 2))"/>
-                       </xsl:if>
-                               
-                       <xsl:if test="@IS_MEMBIF">
-                               <xsl:value-of select="($periMOD_H +  $MOD_LANE_H + ceiling($BIF_H div 2))"/>
-                       </xsl:if>
-               </xsl:variable>  
-               
-               <xsl:variable name="mp_sbs_bc_x_" >
-                       <xsl:if test="$oriented_= 'EAST'">
-                               <xsl:value-of select="($mp_proc_x_ + $mp_busLaneWestW_ + $mp_proc_stack_w_ + ((@BUSLANE_X + 1) * $BUS_LANE_W))"/>
-                       </xsl:if>       
-                               
-                       <xsl:if test="$oriented_= 'WEST'">
-                               <xsl:value-of select="($mp_proc_x_ + $mp_busLaneWestW_ + - ((@BUSLANE_X + 1) * $BUS_LANE_W))"/>
-                       </xsl:if>       
-               </xsl:variable>  
-               
-               <use   x="{$mp_sbs_bc_x_ - ceiling($BIFC_W div 2)}"    
-                      y="{$sbus_bc_y_         - ceiling($BIFC_H div 2) + ($BUS_ARROW_G * 2)}"   
-                      xlink:href="#{@BUSSTD}_busconn_{@BIFRANK}"/>
-               
-               <!-- Horizontal line out from module -->                
-               <xsl:choose>
-                       <xsl:when test="$oriented_ = 'EAST'">
-                               <line x1="{$mp_sbs_bc_x_}" 
-                                 y1="{$mp_stack_mod_y_  + $mp_stack_mod_dy_}" 
-                                 x2="{$mp_stack_x_ + $MOD_LANE_W}" 
-                                 y2="{$mp_stack_mod_y_  + $mp_stack_mod_dy_}" 
-                                         style="stroke:{$busColor_};stroke-width:1"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <line x1="{$mp_sbs_bc_x_}" 
-                                 y1="{$mp_stack_mod_y_  + $mp_stack_mod_dy_}" 
-                                 x2="{$mp_stack_x_ + $MOD_LANE_W}" 
-                                 y2="{$mp_stack_mod_y_  + $mp_stack_mod_dy_}" 
-                                         style="stroke:{$busColor_};stroke-width:1"/>
-                       </xsl:otherwise>                
-               </xsl:choose>
-                         
-               <!-- Vertical line down to shared bus -->               
-               <line x1="{$mp_sbs_bc_x_}" 
-                         y1="{$mp_stack_mod_y_  + $mp_stack_mod_dy_}" 
-                         x2="{$mp_sbs_bc_x_}" 
-                         y2="{$sbus_bc_y_ + ceiling($BIFC_H div 2)}" 
-                         style="stroke:{$busColor_};stroke-width:1"/>
-                         
-<!--                     
-               <xsl:message>==============================================</xsl:message>
-               <xsl:message>Busname <xsl:value-of select="$busName_"/></xsl:message>
-               <xsl:message>====<xsl:value-of select="$mp_stack_h_"/></xsl:message>
-               <xsl:message>====<xsl:value-of select="$mp_proc_y_"/></xsl:message>
-               <xsl:message>====<xsl:value-of select="$mp_stack_y_"/></xsl:message>
-               <xsl:message>====<xsl:value-of select="$mp_stack_mod_begX_"/></xsl:message>
-               <xsl:message>====<xsl:value-of select="$mp_stack_mod_endX_"/></xsl:message>
-               <xsl:message>====<xsl:value-of select="$mp_stack_mod_y_"/></xsl:message>
-               <xsl:message>====<xsl:value-of select="$mp_stack_mod_dy_"/></xsl:message>
-               <xsl:message>=============================================</xsl:message>
--->
-                             
-       </xsl:for-each>         
-       
-</xsl:template>
-       
-       
-<xsl:template name="Draw_BlkDiagram_Key">
-       <xsl:param name="blkd_w"     select="820"/>
-       <xsl:param name="blkd_h"     select="520"/>
-       <xsl:param name="drawarea_w" select="800"/>
-       <xsl:param name="drawarea_h" select="500"/>
-       <use   x="{ceiling($blkd_w div 2) - ceiling($BLKD_KEY_W div 2)}"   y="0"  xlink:href="#BlkDiagram_Key"/> 
-</xsl:template>
-
-<xsl:template name="Define_BlkDiagram_Key">
-       
-       <xsl:variable name="key_col_">
-               <xsl:call-template name="BusType2Color">
-                       <xsl:with-param name="busType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <xsl:variable name="key_lt_col_">
-               <xsl:call-template name="BusType2LightColor">
-                       <xsl:with-param name="busType" select="'KEY'"/>
-               </xsl:call-template>    
-       </xsl:variable>
-       
-       <symbol id="KEY_IntrCntrl">
-               <rect  
-                       x="0"
-                       y="0"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($INTR_W div 2)}" 
-                       height="{$INTR_H}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="0" 
-                         y1="{ceiling($INTR_H div 4)}"
-                         x2="{ceiling($INTR_W div 2)}" 
-                         y2="{ceiling($INTR_H div 4)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:2"/>
-                         
-               <text class="intrsymbol" 
-                         x="1.5"
-                         y="{7 + ceiling($INTR_H div 2)}">x</text>
-                       
-       </symbol>
-               
-       <symbol id="KEY_IntrdProc">
-               <rect  
-                       x="0"
-                       y="0"
-                       rx="3"
-                       ry="3"
-                       width= "{ceiling($INTR_W div 2)}" 
-                       height="{$INTR_H}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="0" 
-                         y1="{ceiling($INTR_H div 4) - 2}"
-                         x2="{ceiling($INTR_W div 2)}" 
-                         y2="{ceiling($INTR_H div 4) - 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <line x1="0" 
-                         y1="{ceiling($INTR_H div 4) + 2}"
-                         x2="{ceiling($INTR_W div 2)}" 
-                         y2="{ceiling($INTR_H div 4) + 2}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <text class="intrsymbol" 
-                         x="1.5"
-                         y="{7 + ceiling($INTR_H div 2)}">x</text>
-       </symbol>
-       
-       <symbol id="KEY_IntrSrc">
-               <rect  
-                       x="0"
-                       y="0"
-                       rx="3"
-                       ry="3"
-                       width= "{$INTR_W}" 
-                       height="{ceiling($INTR_H div 2)}" style="fill:{$key_lt_col_}; stroke:none; stroke-width:1"/> 
-                       
-               <line x1="{ceiling($INTR_W div 2)}" 
-                         y1="0"
-                         x2="{ceiling($INTR_W div 2)}" 
-                         y2="{ceiling($INTR_H div 2)}" 
-                         style="stroke:{$COL_BLACK};stroke-width:1"/>
-                         
-               <text class="intrsymbol" 
-                         x="2"
-                         y="7">y</text>
-                       
-               <text class="intrsymbol" 
-                         x="{2 + ceiling($INTR_W div 2)}"
-                         y="7">x</text>
-       </symbol>
-       
-       
-       <symbol id="BlkDiagram_Key">
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_KEY_W}"
-                     height="{$BLKD_KEY_H}"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_KEY_W}"
-                     height="16"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <text class="keytitle"
-              x="{ceiling($BLKD_KEY_W div 2)} "
-                         y="14">KEY</text>               
-                         
-               <rect 
-              x="0"
-                         y="16"
-                     width= "{$BLKD_KEY_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="keyheader"
-              x="{ceiling($BLKD_KEY_W div 2)} "
-                         y="30">SYMBOLS</text>           
-                         
-               <use  x="32"  y="47"  xlink:href="#KEY_Bif" transform="scale(0.75)"/> 
-               <text class="keylabel"
-              x="12"
-                         y="60">bus interface</text>             
-                         
-               <use   x="20"  y="68"  xlink:href="#KEY_SharedBus"/> 
-               <text class="keylabel"
-              x="12"
-                         y="85">shared bus</text>                
-                         
-               <text class="keylblul"
-              x="110"
-                         y="47">Bus connections</text>           
-                         
-               <use   x="110"  y="58"  xlink:href="#KEY_busconn_MASTER"/> 
-               <text class="keylabel"
-              x="140"
-                         y="72">master or initiator</text>               
-                         
-               <use   x="110"  y="{58 + (($BIFC_H  + 4) * 1)}"  xlink:href="#KEY_busconn_SLAVE"/> 
-               <text class="keylabel"
-              x="140"
-                         y="{72 + (($BIFC_H + 4) * 1)}">slave or target</text>           
-                         
-               <use   x="110"  y="{58 + (($BIFC_H  + 4) * 2)}"  xlink:href="#KEY_busconn_MASTER_SLAVE"/> 
-               <text class="keylabel"
-              x="140"
-                         y="{72 + (($BIFC_H + 4) * 2)}">master slave</text>              
-                         
-               <use   x="110"  y="{58 + (($BIFC_H  + 4) * 3)}"  xlink:href="#KEY_busconn_MONITOR"/>
-               <text class="keylabel"
-              x="140"
-                         y="{72 + (($BIFC_H + 4) * 3)}">monitor</text>           
-                         
-               <text class="keylblul"
-              x="258"
-                         y="47">External Ports</text>            
-               
-               <use   x="258"  y="58"  xlink:href="#KEY_INPort"/> 
-               <text class="keylabel"
-              x="288"
-                         y="72">input</text>             
-                         
-               <use   x="258"  y="{58 + ($IOP_H * 1) + 4}"  xlink:href="#KEY_OUTPort"/> 
-               <text class="keylabel"
-              x="288"
-                         y="{72 + ($IOP_H * 1) + 4}">output</text>               
-                         
-               <use   x="258" y="{58 + ($IOP_H * 2) + 8}"  xlink:href="#KEY_INOUTPort"/> 
-               <text class="keylabel"
-              x="288"
-                         y="{72 + ($IOP_H * 2) + 8}">inout</text>                
-               
-               
-               <text class="keylblul"
-              x="380"
-                         y="47">Interrupts</text>
-               
-               <use   x="380"  y="58"  xlink:href="#KEY_IntrCntrl"/> 
-               <text class="keylabel"
-              x="396"
-                         y="64">interrupt</text>                 
-               <text class="keylabel"
-              x="396"
-                         y="74">controller</text>                
-                         
-               
-               <use   x="380"  y="88"  xlink:href="#KEY_IntrdProc"/> 
-               <text class="keylabel"
-              x="396"
-                         y="94">interrupted</text>               
-               <text class="keylabel"
-              x="396"
-                         y="104">processor</text>                
-                         
-               
-               <use   x="380"  y="118"  xlink:href="#KEY_IntrSrc"/> 
-               <text class="keylabel"
-              x="400"
-                         y="124">interrupt</text>                
-               <text class="keylabel"
-              x="400"
-                         y="134">source</text>           
-               
-               <text class="keylabel"
-              x="360"
-                         y="146">x = controller ID</text>                
-               
-               <text class="keylabel"
-              x="360"
-                         y="156">y = priority</text>             
-<!--           
-               <text class="keylabel"
-              x="400"
-                         y="134">source</text>           
-       
--->
-                         
-               
-               
-               
-               
-               
-               <rect 
-              x="0"
-                         y="160"
-                     width= "{$BLKD_KEY_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="keyheader"
-              x="{ceiling($BLKD_KEY_W div 2)} "
-                         y="172">COLORS</text>           
-               
-                         
-               <text class="keylblul"
-              x="110"
-                         y="190">Bus Standards</text>            
-                         
-               <xsl:variable name="dcr_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="'DCR'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <rect 
-              x="{12 + ((12 + $BIFC_W + 36) * 0)}"
-                         y="200"
-                     width= "{$BIFC_H}"
-                     height="{$BIFC_W}"
-                         style="fill:{$dcr_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12 + $BIFC_W + 4}"
-                         y="{200 + (($BIF_H + 4) * 1)}">DCR</text>               
-                         
-               <xsl:variable name="fcb_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="'FCB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <rect 
-              x="{12 + ((12 + $BIFC_W + 36) * 0)}"
-                         y="{200 + (($BIFC_H + 4) * 1)}"
-                     width= "{$BIFC_H}"
-                     height="{$BIFC_W}"
-                         style="fill:{$fcb_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12 + $BIFC_W + 4}"
-                         y="{200 + (($BIF_H + 4) * 2)}">FCB</text>               
-               
-               <xsl:variable name="fsl_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="'FSL'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BIFC_W + 36) * 1)}"
-                         y="200"
-                     width= "{$BIFC_H}"
-                     height="{$BIFC_W}"
-                         style="fill:{$fsl_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BIFC_W + 4) + ((12 + $BIFC_W + 36) * 1)}"
-                         y="{200 + (($BIF_H + 4) * 1)}">FSL</text>               
-               
-               <xsl:variable name="col_lmb_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="'LMB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BIFC_W + 36) * 1)}"
-                         y="{200 + (($BIFC_H + 4) * 1)}"
-                     width= "{$BIFC_H}"
-                     height="{$BIFC_W}"
-                         style="fill:{$col_lmb_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BIFC_W + 4) + ((12 + $BIFC_W + 36) * 1)}"
-                         y="{200 + (($BIF_H + 4) * 2)}">LMB</text>               
-                         
-               
-               <xsl:variable name="opb_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="'OPB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BIFC_W + 36) * 2)}"
-                         y="200"
-                     width= "{$BIFC_H}"
-                     height="{$BIFC_W}"
-                         style="fill:{$opb_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BIFC_W + 4) + ((12 + $BIFC_W + 36) * 2)}"
-                         y="{200 + (($BIF_H + 4) * 1)}">OPB</text>               
-               
-               <xsl:variable name="plb_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="'PLB'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-               
-               <rect 
-              x="{12 + ((12 + $BIFC_W + 36) * 2)}"
-                         y="{200 + (($BIFC_H + 4) * 1)}"
-                     width= "{$BIFC_H}"
-                     height="{$BIFC_W}"
-                         style="fill:{$plb_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BIFC_W + 4) + ((12 + $BIFC_W + 36) * 2)}"
-                         y="{200 + (($BIF_H + 4) * 2)}">PLB</text>               
-               
-                        
-               <xsl:variable name="ocm_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="'OCM'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BIFC_W + 36) * 3)}"
-                         y="200"
-                     width= "{$BIFC_H}"
-                     height="{$BIFC_W}"
-                         style="fill:{$ocm_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BIFC_W + 4) + ((12 + $BIFC_W + 36) * 3)}"
-                         y="{200 + (($BIF_H + 4) * 1)}">SOCM</text>
-               
-               
-               <xsl:variable name="xil_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="'XIL'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BIFC_W + 36) * 3)}"
-                         y="{200 + (($BIFC_H + 4) * 1)}"
-                     width= "{$BIFC_H}"
-                     height="{$BIFC_W}"
-                         style="fill:{$xil_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BIFC_W + 4) + ((12 + $BIFC_W + 36) * 3)}"
-                         y="{200 + (($BIF_H + 4) * 2)}">XIL (prefix) P2P</text>                  
-                        
-                         
-               <xsl:variable name="trs_col_">
-                       <xsl:call-template name="BusType2Color">
-                               <xsl:with-param name="busType" select="'TRS'"/>
-                       </xsl:call-template>    
-               </xsl:variable>
-                         
-               <rect 
-              x="{12 + ((12 + $BIFC_W + 36) * 4)}"
-                         y="200"
-                     width= "{$BIFC_H}"
-                     height="{$BIFC_W}"
-                         style="fill:{$trs_col_}; stroke:none;"/>              
-               <text class="keylabel"
-              x="{12  + ($BIFC_W + 4) + ((12 + $BIFC_W + 36) * 4)}"
-                         y="{200 + (($BIF_H + 4) * 1)}">GEN. P2P, USER, etc</text>               
-                         
-</symbol>      
-</xsl:template>
-
-<xsl:template name="Define_BlkDiagram_Specs">
-
-       <xsl:param name="blkd_arch"     select="'NA'"/>
-       <xsl:param name="blkd_part"     select="'NA'"/>
-       <xsl:param name="blkd_edkver"   select="'NA'"/>
-       <xsl:param name="blkd_gentime"  select="'NA'"/>
-                       
-       <symbol id="BlkDiagram_Specs">
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_SPECS_W}"
-                     height="{$BLKD_SPECS_H}"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <rect 
-              x="0"
-                         y="0"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG}; stroke:none;"/>                
-                         
-               <text class="keytitle"
-              x="{ceiling($BLKD_SPECS_W div 2)} "
-                         y="14">SPECS</text>
-                         
-               <rect 
-              x="0"
-                         y="20"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="32">EDK VERSION</text>
-                         
-<!--           
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W + 1) - (string-length($blkd_edkver) * 6.5)}"
-                         y="32"><xsl:value-of select="$blkd_edkver"/></text>
--->            
-               <text class="specsvaluemid"
-              x="{($BLKD_SPECS_W + 1) - ceiling($BLKD_SPECS_W div 5)}"
-                         y="32"><xsl:value-of select="$blkd_edkver"/></text>
-                         
-               <rect 
-              x="0"
-                         y="40"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="52">ARCH</text>
-                         
-<!--           
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W + 1) - (string-length($blkd_arch) * 6.5)}"
-                         y="52"><xsl:value-of select="$blkd_arch"/></text>
--->            
-               <text class="specsvaluemid"
-              x="{($BLKD_SPECS_W + 1) - ceiling($BLKD_SPECS_W div 5)}"
-                         y="52"><xsl:value-of select="$blkd_arch"/></text>
-                         
-               <rect 
-              x="0"
-                         y="60"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="72">PART</text>
-                         
-<!--           
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W  + 1) - ((string-length($blkd_part) + 2) * 6.5)}"
-                         y="72"><xsl:value-of select="$blkd_part"/></text>
--->            
-               <text class="specsvaluemid"
-              x="{($BLKD_SPECS_W + 1) - ceiling($BLKD_SPECS_W div 5)}"
-                         y="72"><xsl:value-of select="$blkd_part"/></text>
-                         
-               <rect 
-              x="0"
-                         y="80"
-                     width= "{$BLKD_SPECS_W}"
-                     height="16"
-                         style="fill:{$COL_BG_LT}; stroke:none;"/>             
-                         
-               <text class="specsheader"
-              x="4"
-                         y="92">GENERATED</text>
-                         
-               <text class="specsvalue"
-              x="{($BLKD_SPECS_W  + 1) - (string-length($blkd_gentime) * 6.5)}"
-                         y="92"><xsl:value-of select="$blkd_gentime"/></text>
-                         
-                         
-       </symbol>       
-</xsl:template>
-       
-
-<xsl:template name="Draw_BlkdShapes_old">
-       <xsl:param name="blkd_w"     select="820"/>
-       <xsl:param name="blkd_h"     select="520"/>
-       <xsl:param name="drawarea_w" select="800"/>
-       <xsl:param name="drawarea_h" select="500"/>
-       
-       <xsl:variable name="inner_X_" select="($BLKD_PRTCHAN_W  + $BLKD_IORCHAN_W + $BLKD_INNER_GAP)"/>
-       <xsl:variable name="inner_Y_" select="($BLKD_PRTCHAN_H  + $BLKD_IORCHAN_H + $BLKD_INNER_GAP)"/>
-       
-<!--   
-       <xsl:message>Number mods above procs <xsl:value-of  select="$lmt_modsAbvProcsH_"/></xsl:message>
-       <xsl:message>Number memus above procs <xsl:value-of select="$lmt_memusAbvProcsH_"/></xsl:message>
--->    
-
-       <xsl:variable name="max_Proc_h_">
-               <xsl:call-template name="_calc_Max_Proc_Height"/>
-       </xsl:variable>
-       
-       <xsl:variable name="max_Proc_PerisAbvSbs_h_">
-               <xsl:call-template name="_calc_Max_Proc_PerisAbvSbs_Height"/>
-       </xsl:variable>
-       
-       <xsl:variable name="max_Proc_PerisBlwSbs_h_">
-               <xsl:call-template name="_calc_Max_Proc_PerisBlwSbs_Height"/>
-       </xsl:variable>
-       
-       <xsl:variable name="max_MultiProc_Stack_h_">
-               <xsl:call-template name="_calc_Max_MultiProc_Stack_Height"/>
-       </xsl:variable>
-       
-       <xsl:variable name="max_SbsBuckets_h_">
-               <xsl:call-template name="_calc_Max_SbsBuckets_Height"/>         
-       </xsl:variable>
-       
-       
-<!--   
-       <xsl:variable name="lmt_slvs_h_"  select="($lmt_slvsabv_sbs_h_  * ( $periMOD_H      + $BIF_H))"/>
--->    
-       
-       <xsl:variable name="numSbs_"    select="count(BLKDSHAPES/SBSSHAPES/MODULE)"/>                   
-       <xsl:variable name="numProcs_"  select="count(BLKDSHAPES/PROCSHAPES/MODULE)"/>                  
-<!--   
-       
-       <xsl:message>inner y  <xsl:value-of select="$inner_Y_"/></xsl:message>
-       <xsl:message>max_proc  <xsl:value-of select="$max_proc_h_"/></xsl:message>
-       <xsl:message>max_multiprocstack <xsl:value-of select="$max_MultiProc_Stack_h_"/></xsl:message>
-       <xsl:message>max_proc_perisabvsbs_h_ <xsl:value-of select="$max_Proc_PerisAbvSbs_h_"/></xsl:message>
--->    
-       <xsl:variable name="sbs_h_"     select="($numSbs_  * $SBS_LANE_H)"/>
-       <xsl:variable name="sbs_y_"     select="($inner_Y_ + $max_MultiProc_Stack_h_ + $max_Proc_h_ + $max_Proc_PerisAbvSbs_h_  + $PROC2SBS_GAP)"/>
-       
-<!-- Draw the Bridges -->      
-       <xsl:call-template name="Draw_BlkDiagram_Bridges">
-               <xsl:with-param name="Inner_X"      select="$inner_X_"/>
-               <xsl:with-param name="SharedBus_Y"  select="$sbs_y_"/>
-       </xsl:call-template>    
-       
-<!-- Draw the Processors -->   
-       <xsl:call-template name="Draw_BlkDiagram_Processors">
-               <xsl:with-param name="Inner_X"                 select="$inner_X_"/>
-               <xsl:with-param name="SharedBus_Y"                 select="$sbs_y_"/>
-               <xsl:with-param name="Max_Proc_H"              select="$max_Proc_h_"/>
-           <xsl:with-param name="Max_Proc_PerisAbvSbs_H"  select="$max_Proc_PerisAbvSbs_h_"/>
-           <xsl:with-param name="Max_Proc_PerisBlwSbs_H"  select="$max_Proc_PerisBlwSbs_h_"/>
-       </xsl:call-template>    
-       
-<!-- Draw the Complex stacks, (collections of more than one module that are not memory and not connected to a processor) -->   
-       <xsl:call-template name="Draw_BlkDiagram_ComplexStacks">
-               <xsl:with-param name="Inner_X"                 select="$inner_X_"/>
-               <xsl:with-param name="SharedBus_Y"                 select="$sbs_y_"/>
-               <xsl:with-param name="Max_Proc_H"              select="$max_Proc_h_"/>
-           <xsl:with-param name="Max_Proc_PerisAbvSbs_H"  select="$max_Proc_PerisAbvSbs_h_"/>
-           <xsl:with-param name="Max_Proc_PerisBlwSbs_H"  select="$max_Proc_PerisBlwSbs_h_"/>
-       </xsl:call-template>    
-       
-<!-- Draw the Complex Modules, (Modules that are not memory and not connected to a processor) -->      
-       <xsl:call-template name="Draw_BlkDiagram_ComplexModules">
-               <xsl:with-param name="Inner_X"                 select="$inner_X_"/>
-               <xsl:with-param name="SharedBus_Y"                 select="$sbs_y_"/>
-               <xsl:with-param name="SharedBus_H"                 select="$sbs_h_"/>
-       </xsl:call-template>    
-
-
-<!-- Draw the shared bus buckets -->   
-       <xsl:call-template name="Draw_BlkDiagram_SharedBusBuckets">
-               <xsl:with-param name="Inner_X"                 select="$inner_X_"/>
-               <xsl:with-param name="SharedBus_Y"                 select="$sbs_y_"/>
-               <xsl:with-param name="SharedBus_H"                 select="$sbs_h_"/>
-       </xsl:call-template>    
-       
-<!-- Draw the IP bucket -->    
-       <xsl:call-template name="Draw_BlkDiagram_IPBucket">
-               <xsl:with-param name="Blkd_W"                  select="$blkd_w"/>
-               <xsl:with-param name="Inner_X"                 select="$inner_X_"/>
-               <xsl:with-param name="SharedBus_Y"                 select="$sbs_y_"/>
-               <xsl:with-param name="SharedBus_H"                 select="$sbs_h_"/>
-               <xsl:with-param name="Max_Proc_H"              select="$max_Proc_h_"/>
-           <xsl:with-param name="Max_Proc_PerisAbvSbs_H"  select="$max_Proc_PerisAbvSbs_h_"/>
-           <xsl:with-param name="Max_Proc_PerisBlwSbs_H"  select="$max_Proc_PerisBlwSbs_h_"/>
-           <xsl:with-param name="Max_SbsBuckets_H"        select="$max_SbsBuckets_h_"/>
-       </xsl:call-template>    
-       
-<!-- Draw bucket for floating modules, modules not connected to a shared bus or a processor -->        
-       <xsl:call-template name="Draw_BlkDiagram_FloatingModsBucket">
-               <xsl:with-param name="Blkd_W"                  select="$blkd_w"/>
-               <xsl:with-param name="Inner_X"                 select="$inner_X_"/>
-               <xsl:with-param name="SharedBus_Y"                 select="$sbs_y_"/>
-               <xsl:with-param name="SharedBus_H"                 select="$sbs_h_"/>
-               <xsl:with-param name="Max_Proc_H"              select="$max_Proc_h_"/>
-           <xsl:with-param name="Max_Proc_PerisAbvSbs_H"  select="$max_Proc_PerisAbvSbs_h_"/>
-           <xsl:with-param name="Max_Proc_PerisBlwSbs_H"  select="$max_Proc_PerisBlwSbs_h_"/>
-           <xsl:with-param name="Max_SbsBuckets_H"        select="$max_SbsBuckets_h_"/>
-       </xsl:call-template>    
-       
-<!-- Draw processor to processor connections -->       
-       <xsl:call-template name="Draw_BlkDiagram_Proc2ProcConnections">
-               <xsl:with-param name="Inner_X"                 select="$inner_X_"/>
-               <xsl:with-param name="SharedBus_Y"                 select="$sbs_y_"/>
-               <xsl:with-param name="SharedBus_H"                 select="$sbs_h_"/>
-               <xsl:with-param name="Max_Proc_H"              select="$max_Proc_h_"/>
-           <xsl:with-param name="Max_Proc_PerisAbvSbs_H"  select="$max_Proc_PerisAbvSbs_h_"/>
-           <xsl:with-param name="Max_Proc_PerisBlwSbs_H"  select="$max_Proc_PerisBlwSbs_h_"/>
-           <xsl:with-param name="Max_SbsBuckets_H"        select="$max_SbsBuckets_h_"/>
-       </xsl:call-template>    
-       
-<!-- Draw multi processor connections -->      
-       <xsl:call-template name="Draw_BlkDiagram_MultiProcConnections">
-               <xsl:with-param name="Inner_X"                 select="$inner_X_"/>
-               <xsl:with-param name="SharedBus_Y"                 select="$sbs_y_"/>
-               <xsl:with-param name="SharedBus_H"                 select="$sbs_h_"/>
-               <xsl:with-param name="Max_Proc_H"              select="$max_Proc_h_"/>
-           <xsl:with-param name="Max_Proc_PerisAbvSbs_H"  select="$max_Proc_PerisAbvSbs_h_"/>
-           <xsl:with-param name="Max_Proc_PerisBlwSbs_H"  select="$max_Proc_PerisBlwSbs_h_"/>
-       </xsl:call-template>    
-       
-       
-       <!-- 
-                ===========================================================
-                                               Draw the shared busses 
-                ===========================================================
-       -->
-       
-       
-       <use   x="{$inner_X_}"    y="{$sbs_y_}"  xlink:href="#group_sharedBusses"/> 
-       
-       <!-- ************************************************************ -->   
-       <!-- Draw the Key -->   
-       <!-- ************************************************************ -->   
-       <use   x="{$blkd_w - $BLKD_KEY_W - $BLKD_PRTCHAN_W}"   y="{$blkd_h + $BLKD2KEY_GAP - 8}"  xlink:href="#BlkDiagram_Key"/> 
-       
-       <!-- ************************************************************ -->   
-       <!-- Draw the Specs --> 
-       <!-- ************************************************************ -->   
-       <use   x="{$BLKD_PRTCHAN_W}"                           y="{$blkd_h + $BLKD2KEY_GAP - 8}"  xlink:href="#BlkDiagram_Specs"/> 
-       
-<!--   
-       <use   x="{$blkd_w - $BLKD_KEY_W - $BLKD_PRTCHAN_W}"   y="{$blkd_h + $BLKD2KEY_GAP - 16}"  xlink:href="#symbol_extportstable"/> 
--->    
-       <!-- ************************************************************ -->   
-       <!-- ***************  DONE DRAWING BLOCK DIAGRAM   ************** -->
-       <!-- ************************************************************ -->   
-       
-</xsl:template>
-       
-
-</xsl:stylesheet>
-
-<!-- =========================================================================== -->
-<!--                          FUNCTION TEMPLATE                                  -->
-<!--                                                                                                                                                    -->
-<!-- =========================================================================== -->
\ No newline at end of file
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_Colors.xsl b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_Colors.xsl
deleted file mode 100644 (file)
index 0cecfb1..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<xsl:stylesheet version="1.0"
-           xmlns:svg="http://www.w3.org/2000/svg"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-           xmlns:exsl="http://exslt.org/common"
-           xmlns:xlink="http://www.w3.org/1999/xlink">
-           
-<xsl:variable name="COL_RED"        select="'#AA0000'"/>
-<xsl:variable name="COL_GRAY"       select="'#E1E1E1'"/>
-<xsl:variable name="COL_BLACK"      select="'#000000'"/>
-<xsl:variable name="COL_WHITE"      select="'#FFFFFF'"/>
-<xsl:variable name="COL_YELLOW"     select="'#FFFFDD'"/>
-<xsl:variable name="COL_YELLOW_LT"  select="'#FFFFEE'"/>                               
-                               
-<xsl:variable name="COL_BG"          select="'#CCCCCC'"/>                              
-<xsl:variable name="COL_BG_LT"       select="'#EEEEEE'"/>                              
-<xsl:variable name="COL_UNK_BG"      select="'#DDDDDD'"/>                              
-<xsl:variable name="COL_PROC_BG"     select="'#FFCCCC'"/>                              
-<xsl:variable name="COL_PROC_BG_MB"  select="'#222222'"/>                              
-<xsl:variable name="COL_PROC_BG_PP"  select="'#90001C'"/>                              
-<xsl:variable name="COL_PROC_BG_USR" select="'#666699'"/>                              
-
-<xsl:variable name="COL_MOD_BG"      select="'#F0F0F0'"/>                              
-<xsl:variable name="COL_MOD_SPRT"    select="'#888888'"/>
-<xsl:variable name="COL_MOD_MPRT"    select="'#888888'"/>
-
-<xsl:variable name="COL_INTR_0"      select="'#FF9900'"/>
-<xsl:variable name="COL_INTR_1"      select="'#00CCCC'"/>
-<xsl:variable name="COL_INTR_2"      select="'#33FF33'"/>
-<xsl:variable name="COL_INTR_3"      select="'#FF00CC'"/>
-<xsl:variable name="COL_INTR_4"      select="'#99FF33'"/>
-<xsl:variable name="COL_INTR_5"      select="'#0066CC'"/>
-<xsl:variable name="COL_INTR_6"      select="'#9933FF'"/>
-<xsl:variable name="COL_INTR_7"      select="'#3300FF'"/>
-<xsl:variable name="COL_INTR_8"      select="'#00FF33'"/>
-<xsl:variable name="COL_INTR_9"      select="'#FF3333'"/>
-
-
-<xsl:variable name="COL_IORING"     select="'#000088'"/>                               
-<xsl:variable name="COL_IORING_LT"  select="'#CCCCFF'"/>                               
-<xsl:variable name="COL_SYSPRT"     select="'#0000BB'"/>                       
-       
-       
-<xsl:variable name="COL_BUSSTDS">
-       
-       <BUSCOLOR BUSSTD="XIL"        RGB="#990066" RGB_LT="#CC3399"/>
-       <BUSCOLOR BUSSTD="OCM"            RGB="#0000DD" RGB_LT="#9999DD"/>
-       <BUSCOLOR BUSSTD="OPB"        RGB="#339900" RGB_LT="#CCDDCC"/>
-       <BUSCOLOR BUSSTD="LMB"        RGB="#7777FF" RGB_LT="#DDDDFF"/>
-       <BUSCOLOR BUSSTD="FSL"        RGB="#CC00CC" RGB_LT="#FFBBFF"/>
-       <BUSCOLOR BUSSTD="DCR"        RGB="#6699FF" RGB_LT="#BBDDFF"/>
-       <BUSCOLOR BUSSTD="FCB"        RGB="#8C00FF" RGB_LT="#CCCCFF"/>
-       <BUSCOLOR BUSSTD="PLB"        RGB="#FF5500" RGB_LT="#FFBB00"/>
-       <BUSCOLOR BUSSTD="PLBV46"     RGB="#BB9955" RGB_LT="#FFFFDD"/>
-       <BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#BB9955" RGB_LT="#FFFFDD"/>
-       
-<!--   
-       <BUSCOLOR BUSSTD="PLBV46"     RGB="#9966FF" RGB_LT="#CCCCFF"/>
-       <BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#9966FF" RGB_LT="#CCCCFF"/>
-       <BUSCOLOR BUSSTD="PLB"        RGB="#FFAA33" RGB_LT="#FFEE33"/>
-       <BUSCOLOR BUSSTD="PLBV46"     RGB="#FF5500" RGB_LT="#FFBB00"/>
-       <BUSCOLOR BUSSTD="PLBV46_P2P" RGB="#FF5500" RGB_LT="#FFBB00"/>
--->    
-       
-       <BUSCOLOR BUSSTD="TRS"         RGB="#009999" RGB_LT="#00CCCC"/>
-       <BUSCOLOR BUSSTD="TRANS"       RGB="#009999" RGB_LT="#00CCCC"/>
-       <BUSCOLOR BUSSTD="TRANSPARENT" RGB="#009999" RGB_LT="#00CCCC"/>
-
-       <BUSCOLOR BUSSTD="TARGET"      RGB="#009999" RGB_LT="#00CCCC"/>
-       <BUSCOLOR BUSSTD="INITIATOR"   RGB="#009999" RGB_LT="#00CCCC"/>
-       
-       <BUSCOLOR BUSSTD="KEY"             RGB="#444444" RGB_LT="#888888"/>
-       
-</xsl:variable>
-       
-<xsl:template name="BusType2Color">
-       <xsl:param name="busType"  select="'OPB'"/>
-       
-       <xsl:choose>
-               <xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@RGB">
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@RGB"/>
-               </xsl:when>
-               <xsl:otherwise>
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'TRS')]/@RGB"/>
-               </xsl:otherwise>
-       </xsl:choose>           
-</xsl:template>        
-       
-       
-<xsl:template name="BusType2LightColor">
-       <xsl:param name="busType"  select="'OPB'"/>
-       
-<!--   
-       <xsl:message>The color of bus  <xsl:value-of select="$busType"/> is <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@RGB"/>
--->    
-               
-       <xsl:choose>
-               <xsl:when test="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@RGB_LT">
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = $busType)]/@RGB_LT"/>
-               </xsl:when>
-               <xsl:otherwise>
-                       <xsl:value-of select="exsl:node-set($COL_BUSSTDS)/BUSCOLOR[(@BUSSTD = 'TRS')]/@RGB_LT"/>
-               </xsl:otherwise>
-       </xsl:choose>           
-</xsl:template>        
-               
-
-<xsl:template name="intcIdx2Color">
-       <xsl:param name="intcIdx"  select="'0'"/>
-
-       <xsl:variable name="idx_" select="$intcIdx mod 9"/>
-       
-       <xsl:choose>
-               <xsl:when test="$idx_ = '0'"><xsl:value-of select="$COL_INTR_0"/></xsl:when>
-               <xsl:when test="$idx_ = '1'"><xsl:value-of select="$COL_INTR_1"/></xsl:when>
-               <xsl:when test="$idx_ = '2'"><xsl:value-of select="$COL_INTR_2"/></xsl:when>
-               <xsl:when test="$idx_ = '3'"><xsl:value-of select="$COL_INTR_3"/></xsl:when>
-               <xsl:when test="$idx_ = '4'"><xsl:value-of select="$COL_INTR_4"/></xsl:when>
-               <xsl:when test="$idx_ = '5'"><xsl:value-of select="$COL_INTR_5"/></xsl:when>
-               <xsl:when test="$idx_ = '6'"><xsl:value-of select="$COL_INTR_6"/></xsl:when>
-               <xsl:when test="$idx_ = '7'"><xsl:value-of select="$COL_INTR_7"/></xsl:when>
-               <xsl:when test="$idx_ = '8'"><xsl:value-of select="$COL_INTR_8"/></xsl:when>
-               <xsl:when test="$idx_ = '9'"><xsl:value-of select="$COL_INTR_9"/></xsl:when>
-               <xsl:otherwise>
-                       <xsl:value-of select="$COL_INTR_0"/>    
-               </xsl:otherwise>
-       </xsl:choose>
-</xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_Render.css b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_Render.css
deleted file mode 100644 (file)
index 51f7c18..0000000
+++ /dev/null
@@ -1,312 +0,0 @@
-       text.busintlabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-       
-       text.buslabel {
-               fill:        #CC3333;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-                       
-       text.iplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: 800;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.iptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.procclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-               
-               
-       text.portlabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipdbiflbl {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.mmMHeader {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mmSHeader {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.dbglabel {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.iopnumb {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ioplblgrp {
-               fill:        #000088;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-       tspan.iopgrp {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               baseline-shift:super;
-               font-family: Arial Courier san-serif;
-       }
-
-
-       text.biflabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-
-       }
-
-       text.p2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mpbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.sharedbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.bciplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.bciptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.splitbustxt {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: sans-serif;
-       }
-
-       text.horizp2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.keytitle {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   12pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keyheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keylabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.keylblul {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               text-decoration: underline;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.specsvalue {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsvaluemid {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.intrsymbol {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/ds_Report.css b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/ds_Report.css
deleted file mode 100644 (file)
index a5edc92..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-       .trigger{
-               cursor : hand;
-               cursor : pointer;
-       }
-       
-       .branch{
-               display     : none;
-               margin-left : 16px;
-       }
\ No newline at end of file
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/ds_Report.js b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/ds_Report.js
deleted file mode 100644 (file)
index 126889b..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-
-       var openImg   = new Image();
-       openImg.src   = "imgs/IMG_openBranch.gif";
-               
-       var closeImg  = new Image();
-       closeImg.src  = "imgs/IMG_closeBranch.gif";
-               
-       function showBranch(branchId) {
-               
-               var branchObj = document.getElementById(branchId).style;
-                       
-               if(branchObj.display== "block")
-                          branchObj.display = "none";
-               else   
-                  branchObj.display = "block";
-       }
-               
-       function swapBranchImg(branchImgId) {
-               
-               branchImg = document.getElementById(branchImgId);
-               
-               if(branchImg.src.indexOf('IMG_closeBranch.gif') > -1)
-                       branchImg.src = openImg.src;
-               else   
-                   branchImg.src = closeImg.src;
-       }
-       
\ No newline at end of file
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/svg10.dtd b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/svg10.dtd
deleted file mode 100644 (file)
index 110f5ce..0000000
+++ /dev/null
@@ -1,1704 +0,0 @@
-<!-- =====================================================================
-  This is the DTD for SVG 1.0.
-
-  The specification for SVG that corresponds to this DTD is available at:
-
-    http://www.w3.org/TR/2001/REC-SVG-20010904/
-
-  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
-
-  For SVG 1.0:
-
-    Namespace:
-      http://www.w3.org/2000/svg  
-
-    Public identifier:
-      PUBLIC "-//W3C//DTD SVG 1.0//EN"
-
-    URI for the DTD:
-      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd
-============================================================================= -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Data types 
-     ============================================================== -->
-
-<!ENTITY % BaselineShiftValue "CDATA">
-    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) -->
-
-<!ENTITY % Boolean "(false | true)">
-    <!-- feature specification -->
-
-<!ENTITY % ClassList "CDATA">
-    <!-- list of classes -->
-
-<!ENTITY % ClipValue "CDATA">
-    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
-
-<!ENTITY % ClipPathValue "CDATA">
-    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
-    <!-- 'clip-rule' or fill-rule property/attribute value -->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % Coordinate "CDATA">
-    <!-- a <coordinate> -->
-
-<!ENTITY % Coordinates "CDATA">
-    <!-- a list of <coordinate>s -->
-
-<!ENTITY % Color "CDATA">
-    <!-- a <color> value -->
-
-<!ENTITY % CursorValue "CDATA">
-    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
-
-<!ENTITY % EnableBackgroundValue "CDATA">
-    <!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') -->
-
-<!ENTITY % ExtensionList "CDATA">
-    <!-- extension list specification -->
-
-<!ENTITY % FeatureList "CDATA">
-    <!-- feature list specification -->
-
-<!ENTITY % FilterValue "CDATA">
-    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % FontFamilyValue "CDATA">
-    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->
-
-<!ENTITY % FontSizeValue "CDATA">
-    <!-- 'font-size' property/attribute value -->
-
-<!ENTITY % FontSizeAdjustValue "CDATA">
-    <!-- 'font-size-adjust' property/attribute value -->
-
-<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
-    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) -->
-
-<!ENTITY % GlyphOrientationVerticalValue "CDATA">
-    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) -->
-
-<!ENTITY % Integer "CDATA">
-    <!-- a <integer> -->
-
-<!ENTITY % KerningValue "CDATA">
-    <!-- 'kerning' property/attribute value (e.g., auto | <length>) -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC3066] -->
-
-<!ENTITY % LanguageCodes "CDATA">
-    <!-- comma-separated list of language codes, as per [RFC3066] -->
-
-<!ENTITY % Length "CDATA">
-    <!-- a <length> -->
-
-<!ENTITY % Lengths "CDATA">
-    <!-- a list of <length>s -->
-
-<!ENTITY % LinkTarget "NMTOKEN">
-    <!-- link to this target -->
-
-<!ENTITY % MarkerValue "CDATA">
-    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MaskValue "CDATA">
-    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- comma-separated list of media descriptors. -->
-
-<!ENTITY % Number "CDATA">
-    <!-- a <number> -->
-
-<!ENTITY % NumberOptionalNumber "CDATA">
-    <!-- list of <number>s, but at least one and at most two -->
-
-<!ENTITY % NumberOrPercentage "CDATA">
-    <!-- a <number> or a  <percentage> -->
-
-<!ENTITY % Numbers "CDATA">
-    <!-- a list of <number>s -->
-
-<!ENTITY % OpacityValue "CDATA">
-    <!-- opacity value (e.g., <number>) -->
-
-<!ENTITY % Paint "CDATA">
-    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
-
-<!ENTITY % PathData "CDATA">
-    <!-- a path data specification -->
-
-<!ENTITY % Points "CDATA">
-    <!-- a list of points -->
-
-<!ENTITY % PreserveAspectRatioSpec "CDATA">
-    <!-- 'preserveAspectRatio' attribute specification -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % SpacingValue "CDATA">
-    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | <length>) -->
-
-<!ENTITY % StrokeDashArrayValue "CDATA">
-    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) -->
-
-<!ENTITY % StrokeDashOffsetValue "CDATA">
-    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) -->
-
-<!ENTITY % StrokeMiterLimitValue "CDATA">
-    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
-
-<!ENTITY % StrokeWidthValue "CDATA">
-    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->
-
-<!ENTITY % StructuredText
-  "content CDATA #FIXED 'structured text'" >
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % SVGColor "CDATA">
-    <!-- An SVG color value (RGB plus optional ICC) -->
-
-<!ENTITY % Text "CDATA">
-    <!-- arbitrary text string -->
-
-<!ENTITY % TextDecorationValue "CDATA">
-    <!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') -->
-
-<!ENTITY % TransformList "CDATA">
-    <!-- list of transforms -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [URI] -->
-
-<!ENTITY % ViewBoxSpec "CDATA">
-    <!-- 'viewBox' attribute specification -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of common attributes 
-     ============================================================== -->
-
-<!-- All elements have an ID. -->
-<!ENTITY % stdAttrs
- "id ID #IMPLIED
-  xml:base %URI; #IMPLIED" >
-
-<!-- Common attributes for elements that might contain character data content. -->
-<!ENTITY % langSpaceAttrs
- "xml:lang %LanguageCode; #IMPLIED
-  xml:space (default|preserve) #IMPLIED" >
-
-<!-- Common attributes to check for system capabilities. -->
-<!ENTITY % testAttrs
- "requiredFeatures %FeatureList; #IMPLIED
-  requiredExtensions %ExtensionList; #IMPLIED
-  systemLanguage %LanguageCodes; #IMPLIED" >
-
-<!-- For most uses of URI referencing:
-        standard XLink attributes other than xlink:href. -->
-<!ENTITY % xlinkRefAttrs
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (other) 'other'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' -->
-<!ENTITY % xlinkRefAttrsEmbed
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (embed) 'embed'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!ENTITY % graphicsElementEvents
-  "onfocusin %Script; #IMPLIED
-   onfocusout %Script; #IMPLIED
-   onactivate %Script; #IMPLIED
-   onclick %Script; #IMPLIED
-   onmousedown %Script; #IMPLIED
-   onmouseup %Script; #IMPLIED
-   onmouseover %Script; #IMPLIED
-   onmousemove %Script; #IMPLIED
-   onmouseout %Script; #IMPLIED
-   onload %Script; #IMPLIED" >
-
-<!ENTITY % documentEvents
-  "onunload %Script; #IMPLIED
-   onabort %Script; #IMPLIED
-   onerror %Script; #IMPLIED
-   onresize %Script; #IMPLIED
-   onscroll %Script; #IMPLIED
-   onzoom %Script; #IMPLIED" >
-
-<!ENTITY % animationEvents
-  "onbegin %Script; #IMPLIED
-   onend %Script; #IMPLIED
-   onrepeat %Script; #IMPLIED" >
-
-<!-- This entity allows for at most one of desc, title and metadata,
-     supplied in any order -->
-<!ENTITY % descTitleMetadata
-          "(((desc,((title,metadata?)|(metadata,title?))?)|
-          (title,((desc,metadata?)|(metadata,desc?))?)|
-          (metadata,((desc,title?)|(title,desc?))?))?)" >
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of presentation attributes 
-     ============================================================== -->
-
-<!-- The following presentation attributes have to do with specifying color. -->
-<!ENTITY % PresentationAttributes-Color
-  "color %Color; #IMPLIED
-   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
-   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to container elements. -->
-<!ENTITY % PresentationAttributes-Containers
-  "enable-background %EnableBackgroundValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'feFlood' elements. -->
-<!ENTITY % PresentationAttributes-feFlood
-  "flood-color %SVGColor; #IMPLIED
-   flood-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filling and stroking operations. -->
-<!ENTITY % PresentationAttributes-FillStroke
-  "fill %Paint; #IMPLIED
-   fill-opacity %OpacityValue; #IMPLIED
-   fill-rule %ClipFillRule; #IMPLIED
-   stroke %Paint; #IMPLIED
-   stroke-dasharray %StrokeDashArrayValue; #IMPLIED
-   stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
-   stroke-linecap (butt | round | square | inherit) #IMPLIED
-   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
-   stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
-   stroke-opacity %OpacityValue; #IMPLIED
-   stroke-width %StrokeWidthValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filter primitives. -->
-<!ENTITY % PresentationAttributes-FilterPrimitives
-  "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes have to do with selecting a font to use. -->
-<!ENTITY % PresentationAttributes-FontSpecification
-  "font-family %FontFamilyValue; #IMPLIED
-   font-size %FontSizeValue; #IMPLIED
-   font-size-adjust %FontSizeAdjustValue; #IMPLIED
-   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed |
-                 condensed | semi-condensed | semi-expanded | expanded |
-                 extra-expanded | ultra-expanded | inherit) #IMPLIED
-   font-style (normal | italic | oblique | inherit) #IMPLIED
-   font-variant (normal | small-caps | inherit) #IMPLIED
-   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
-               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to gradient 'stop' elements. -->
-<!ENTITY % PresentationAttributes-Gradients
-  "stop-color %SVGColor; #IMPLIED
-   stop-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to graphics elements. -->
-<!ENTITY % PresentationAttributes-Graphics
-  "clip-path %ClipPathValue; #IMPLIED
-   clip-rule %ClipFillRule; #IMPLIED
-   cursor %CursorValue; #IMPLIED
-   display (inline | block | list-item | run-in | compact | marker |
-            table | inline-table | table-row-group | table-header-group |
-            table-footer-group | table-row | table-column-group | table-column |
-            table-cell | table-caption | none | inherit) #IMPLIED
-   filter %FilterValue; #IMPLIED
-   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
-   mask %MaskValue; #IMPLIED
-   opacity %OpacityValue; #IMPLIED
-   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
-                   painted | fill | stroke | all | none | inherit) #IMPLIED
-   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED
-   text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED
-   visibility (visible | hidden | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'image' elements. -->
-<!ENTITY % PresentationAttributes-Images
-  "color-profile CDATA #IMPLIED " >
-
-<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. -->
-<!ENTITY % PresentationAttributes-LightingEffects
-  "lighting-color %SVGColor; #IMPLIED " >
-
-<!-- The following presentation attributes apply to marker operations. -->
-<!ENTITY % PresentationAttributes-Markers
-  "marker-start %MarkerValue; #IMPLIED
-   marker-mid %MarkerValue; #IMPLIED
-   marker-end %MarkerValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to text content elements. -->
-<!ENTITY % PresentationAttributes-TextContentElements
-  "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge |
-                        middle | bottom | after-edge | text-bottom | text-after-edge |
-                        ideographic | lower | hanging | mathematical | inherit) #IMPLIED
-   baseline-shift %BaselineShiftValue; #IMPLIED
-   direction (ltr | rtl | inherit) #IMPLIED
-   dominant-baseline (auto | autosense-script | no-change | reset|
-                      ideographic | lower | hanging | mathematical | inherit ) #IMPLIED
-   glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
-   glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
-   kerning %KerningValue; #IMPLIED
-   letter-spacing %SpacingValue; #IMPLIED
-   text-anchor (start | middle | end | inherit) #IMPLIED
-   text-decoration %TextDecorationValue; #IMPLIED
-   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
-   word-spacing %SpacingValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'text' elements. -->
-<!ENTITY % PresentationAttributes-TextElements
-  "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to elements that establish viewports. -->
-<!ENTITY % PresentationAttributes-Viewports
-  "clip %ClipValue; #IMPLIED
-   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >
-
-<!--The following represents the complete list of presentation attributes. -->
-<!ENTITY % PresentationAttributes-All
-  "%PresentationAttributes-Color;
-   %PresentationAttributes-Containers;
-   %PresentationAttributes-feFlood;
-   %PresentationAttributes-FillStroke;
-   %PresentationAttributes-FilterPrimitives;
-   %PresentationAttributes-FontSpecification;
-   %PresentationAttributes-Gradients;
-   %PresentationAttributes-Graphics;
-   %PresentationAttributes-Images;
-   %PresentationAttributes-LightingEffects;
-   %PresentationAttributes-Markers;
-   %PresentationAttributes-TextContentElements;
-   %PresentationAttributes-TextElements;
-   %PresentationAttributes-Viewports;" >
-
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: DTD extensions 
-     ============================================================== -->
-
-<!-- Allow for extending the DTD with internal subset for 
-     container and graphics elements -->
-<!ENTITY % ceExt "" >
-<!ENTITY % geExt "" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Document Structure 
-     ============================================================== -->
-
-<!ENTITY % svgExt "" >
-<!ELEMENT svg (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%svgExt;)* >
-<!ATTLIST svg
-  xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED 
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify'
-  %graphicsElementEvents;
-  %documentEvents;
-  version %Number; #FIXED "1.0"
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  contentScriptType %ContentType; "text/ecmascript"
-  contentStyleType %ContentType; "text/css" >
-
-<!ENTITY % gExt "" >
-<!ELEMENT g (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%gExt;)* >
-<!ATTLIST g
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % defsExt "" >
-<!ELEMENT defs (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%defsExt;)* >
-<!ATTLIST defs
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % descExt "" >
-<!ELEMENT desc (#PCDATA %descExt;)* >
-<!ATTLIST desc
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % titleExt "" >
-<!ELEMENT title (#PCDATA %titleExt;)* >
-<!ATTLIST title
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % symbolExt "" >
-<!ELEMENT symbol (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%symbolExt;)* >
-<!ATTLIST symbol
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents; >
-
-<!ENTITY % useExt "" >
-<!ELEMENT use (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%useExt;)*) >
-<!ATTLIST use
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-<!ENTITY % imageExt "" >
-<!ELEMENT image (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%imageExt;)*) >
-<!ATTLIST image
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Images;
-  %PresentationAttributes-Viewports;
-  transform %TransformList; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED >
-
-<!ENTITY % switchExt "" >
-<!ELEMENT switch (%descTitleMetadata;,
-                  (path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|switch|a|foreignObject|
-                   animate|set|animateMotion|animateColor|animateTransform
-                   %ceExt;%switchExt;)*) >
-<!ATTLIST switch
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Styling 
-     ============================================================== -->
-
-<!ELEMENT style (#PCDATA) >
-<!ATTLIST style 
-  %stdAttrs;
-  xml:space (preserve) #FIXED "preserve"
-  type %ContentType; #REQUIRED
-  media %MediaDesc; #IMPLIED
-  title %Text; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Paths
-     ============================================================== -->
-
-<!ENTITY % pathExt "" >
-<!ELEMENT path (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%pathExt;)*) >
-<!ATTLIST path
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  d %PathData; #REQUIRED
-  pathLength %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Basic Shapes
-     ============================================================== -->
-
-<!ENTITY % rectExt "" >
-<!ELEMENT rect (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%rectExt;)*) >
-<!ATTLIST rect
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  rx %Length; #IMPLIED
-  ry %Length; #IMPLIED >
-
-<!ENTITY % circleExt "" >
-<!ELEMENT circle (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%circleExt;)*) >
-<!ATTLIST circle
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #REQUIRED >
-
-<!ENTITY % ellipseExt "" >
-<!ELEMENT ellipse (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%ellipseExt;)*) >
-<!ATTLIST ellipse
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  rx %Length; #REQUIRED
-  ry %Length; #REQUIRED >
-
-<!ENTITY % lineExt "" >
-<!ELEMENT line (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%lineExt;)*) >
-<!ATTLIST line
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED >
-
-<!ENTITY % polylineExt "" >
-<!ELEMENT polyline (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polylineExt;)*) >
-<!ATTLIST polyline
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-<!ENTITY % polygonExt "" >
-<!ELEMENT polygon (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polygonExt;)*) >
-<!ATTLIST polygon
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Text
-     ============================================================== -->
-
-<!ENTITY % textExt "" >
-<!ELEMENT text (#PCDATA|desc|title|metadata|
-                tspan|tref|textPath|altGlyph|a|animate|set|
-                animateMotion|animateColor|animateTransform
-                %geExt;%textExt;)* >
-<!ATTLIST text
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % tspanExt "" >
-<!ELEMENT tspan (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %tspanExt;)* >
-<!ATTLIST tspan
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % trefExt "" >
-<!ELEMENT tref (desc|title|metadata|animate|set|animateColor
-                %trefExt;)* >
-<!ATTLIST tref
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % textPathExt "" >
-<!ELEMENT textPath (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %textPathExt;)* >
-<!ATTLIST textPath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  startOffset %Length; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED
-  method (align|stretch) #IMPLIED
-  spacing (auto|exact) #IMPLIED >
-
-<!ENTITY % altGlyphExt "" >
-<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
-<!ATTLIST altGlyph
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED 
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED >
-
-<!ENTITY % altGlyphDefExt "" >
-<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >
-<!ATTLIST altGlyphDef
-  %stdAttrs; >
-
-<!ENTITY % altGlyphItemExt "" >
-<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >
-<!ATTLIST altGlyphItem
-  %stdAttrs; >
-
-<!ELEMENT glyphRef EMPTY >
-<!ATTLIST glyphRef
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-FontSpecification;
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols 
-     ============================================================== -->
-
-<!ENTITY % markerExt "" >
-<!ELEMENT marker (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%markerExt;)* >
-<!ATTLIST marker
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  refX %Coordinate; #IMPLIED
-  refY %Coordinate; #IMPLIED
-  markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
-  markerWidth  %Length; #IMPLIED
-  markerHeight %Length; #IMPLIED
-  orient CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Color 
-     ============================================================== -->
-
-<!ELEMENT color-profile (%descTitleMetadata;) >
-<!ATTLIST color-profile 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  local CDATA #IMPLIED  
-  name CDATA #REQUIRED
-  rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 
-     ============================================================== -->
-
-<!ENTITY % linearGradientExt "" >
-<!ELEMENT linearGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %linearGradientExt;)*) >
-<!ATTLIST linearGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % radialGradientExt "" >
-<!ELEMENT radialGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %radialGradientExt;)*) >
-<!ATTLIST radialGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #IMPLIED
-  fx %Coordinate; #IMPLIED
-  fy %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % stopExt "" >
-<!ELEMENT stop (animate|set|animateColor
-                   %stopExt;)* >
-<!ATTLIST stop
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  offset %NumberOrPercentage; #REQUIRED >
-
-<!ENTITY % patternExt "" >
-<!ELEMENT pattern (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%patternExt;)* >
-<!ATTLIST pattern
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternTransform %TransformList; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 
-     ============================================================== -->
-
-<!ENTITY % clipPathExt "" >
-<!ELEMENT clipPath (%descTitleMetadata;,
-                    (path|text|rect|circle|ellipse|line|polyline|polygon|
-                     use|animate|set|animateMotion|animateColor|animateTransform
-                     %ceExt;%clipPathExt;)*) >
-<!ATTLIST clipPath
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED >
-
-<!ENTITY % maskExt "" >
-<!ELEMENT mask (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%maskExt;)*  >
-<!ATTLIST mask
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Filter Effects
-     ============================================================== -->
-
-<!ENTITY % filterExt "" >
-<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|
-  feColorMatrix|feComponentTransfer|
-  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
-  feGaussianBlur|feImage|feMerge|
-  feMorphology|feOffset|feSpecularLighting|
-  feTile|feTurbulence|
-  animate|set
-  %filterExt;)*) >
-<!ATTLIST filter
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  filterRes %NumberOptionalNumber; #IMPLIED >
-
-<!ENTITY % filter_primitive_attributes
-  "x %Coordinate; #IMPLIED
-   y %Coordinate; #IMPLIED
-   width %Length; #IMPLIED
-   height %Length; #IMPLIED
-   result CDATA #IMPLIED" >
-
-<!ENTITY % filter_primitive_attributes_with_in
-  "%filter_primitive_attributes;
-   in CDATA #IMPLIED">
-
-<!ELEMENT feDistantLight (animate|set)* >
-<!ATTLIST feDistantLight
-  %stdAttrs;
-  azimuth %Number; #IMPLIED
-  elevation %Number; #IMPLIED >
-
-<!ELEMENT fePointLight (animate|set)* >
-<!ATTLIST fePointLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED >
-
-<!ELEMENT feSpotLight (animate|set)* >
-<!ATTLIST feSpotLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED
-  pointsAtX %Number; #IMPLIED
-  pointsAtY %Number; #IMPLIED
-  pointsAtZ %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED
-  limitingConeAngle %Number; #IMPLIED >
-
-<!ELEMENT feBlend (animate|set)* >
-<!ATTLIST feBlend
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  mode (normal | multiply | screen | darken | lighten) "normal" >
-
-<!ELEMENT feColorMatrix (animate|set)* >
-<!ATTLIST feColorMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
-  values CDATA #IMPLIED >
-
-<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >
-<!ATTLIST feComponentTransfer
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ENTITY % component_transfer_function_attributes
-  "type (identity | table | discrete | linear | gamma) #REQUIRED
-   tableValues CDATA #IMPLIED
-   slope %Number; #IMPLIED
-   intercept %Number; #IMPLIED
-   amplitude %Number; #IMPLIED
-   exponent %Number; #IMPLIED
-   offset %Number; #IMPLIED" >
-
-<!ELEMENT feFuncR (animate|set)* >
-<!ATTLIST feFuncR
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncG (animate|set)* >
-<!ATTLIST feFuncG
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncB (animate|set)* >
-<!ATTLIST feFuncB
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncA (animate|set)* >
-<!ATTLIST feFuncA
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feComposite (animate|set)* >
-<!ATTLIST feComposite
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  operator (over | in | out | atop | xor | arithmetic) "over"
-  k1 %Number; #IMPLIED
-  k2 %Number; #IMPLIED
-  k3 %Number; #IMPLIED
-  k4 %Number; #IMPLIED >
-
-<!ELEMENT feConvolveMatrix (animate|set)* >
-<!ATTLIST feConvolveMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  order %NumberOptionalNumber; #REQUIRED
-  kernelMatrix CDATA #REQUIRED
-  divisor %Number; #IMPLIED
-  bias %Number; #IMPLIED
-  targetX %Integer; #IMPLIED
-  targetY %Integer; #IMPLIED
-  edgeMode (duplicate|wrap|none) "duplicate" 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED 
-  preserveAlpha %Boolean; #IMPLIED >
-
-<!ELEMENT feDiffuseLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feDiffuseLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  diffuseConstant %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feDisplacementMap (animate|set)* >
-<!ATTLIST feDisplacementMap
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  scale %Number; #IMPLIED
-  xChannelSelector (R | G | B | A) "A"
-  yChannelSelector (R | G | B | A) "A" >
-
-<!ELEMENT feFlood (animate|set|animateColor)* >
-<!ATTLIST feFlood
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-feFlood;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feGaussianBlur (animate|set)* >
-<!ATTLIST feGaussianBlur
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  stdDeviation %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feImage (animate|set|animateTransform)* >
-<!ATTLIST feImage
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  %filter_primitive_attributes;
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' >
-
-<!ELEMENT feMerge (feMergeNode)* >
-<!ATTLIST feMerge
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes; >
-
-<!ELEMENT feMergeNode (animate|set)* >
-<!ATTLIST feMergeNode
-  %stdAttrs;
-  in CDATA #IMPLIED >
-
-<!ELEMENT feMorphology (animate|set)* >
-<!ATTLIST feMorphology
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  operator (erode | dilate) "erode"
-  radius %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feOffset (animate|set)* >
-<!ATTLIST feOffset
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-<!ELEMENT feSpecularLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feSpecularLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  specularConstant %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feTile (animate|set)* >
-<!ATTLIST feTile
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feTurbulence (animate|set)* >
-<!ATTLIST feTurbulence
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes;
-  baseFrequency %NumberOptionalNumber; #IMPLIED
-  numOctaves %Integer; #IMPLIED
-  seed %Number; #IMPLIED
-  stitchTiles (stitch | noStitch) "noStitch"
-  type (fractalNoise | turbulence) "turbulence" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Interactivity 
-     ============================================================== -->
-
-<!ELEMENT cursor (%descTitleMetadata;) >
-<!ATTLIST cursor
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Linking
-     ============================================================== -->
-
-<!ENTITY % aExt "" >
-<!ELEMENT a       (#PCDATA|desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%aExt;)* >
-<!ATTLIST a
-  %stdAttrs;
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  xlink:type (simple) #FIXED "simple" 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (new|replace) 'replace'
-  xlink:actuate (onRequest) #FIXED 'onRequest'
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  target %LinkTarget; #IMPLIED >
-
-<!ENTITY % viewExt "" >
-<!ELEMENT view (%descTitleMetadata;%viewExt;) >
-<!ATTLIST view
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify' 
-  viewTarget CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Scripting 
-     ============================================================== -->
-
-<!ELEMENT script (#PCDATA) >
-<!ATTLIST script
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  type %ContentType; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Animation 
-     ============================================================== -->
-
-<!ENTITY % animElementAttrs
- "%xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED" >
-
-<!ENTITY % animAttributeAttrs
- "attributeName  CDATA  #REQUIRED
-  attributeType  CDATA  #IMPLIED" >
-
-<!ENTITY % animTimingAttrs
- "begin CDATA #IMPLIED 
-  dur CDATA #IMPLIED
-  end CDATA #IMPLIED
-  min CDATA #IMPLIED
-  max CDATA #IMPLIED
-  restart (always | never | whenNotActive) 'always'
-  repeatCount CDATA #IMPLIED 
-  repeatDur CDATA #IMPLIED
-  fill (remove | freeze) 'remove'" >
-
-<!ENTITY % animValueAttrs
- "calcMode (discrete | linear | paced | spline) 'linear'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED" >
-
-<!ENTITY % animAdditionAttrs
- "additive       (replace | sum) 'replace'
-  accumulate     (none | sum) 'none'" >
-
-<!ENTITY % animateExt "" >
-<!ELEMENT animate (%descTitleMetadata;%animateExt;) >
-<!ATTLIST animate
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % setExt "" >
-<!ELEMENT set (%descTitleMetadata;%setExt;) >
-<!ATTLIST set
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  to CDATA #IMPLIED >
-
-<!ENTITY % animateMotionExt "" >
-<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >
-<!ATTLIST animateMotion
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animTimingAttrs;
-  calcMode (discrete | linear | paced | spline) 'paced'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED
-  %animAdditionAttrs;
-  path CDATA #IMPLIED
-  keyPoints CDATA #IMPLIED
-  rotate CDATA #IMPLIED
-  origin CDATA #IMPLIED >
-
-<!ENTITY % mpathExt "" >
-<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >
-<!ATTLIST mpath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  externalResourcesRequired %Boolean; #IMPLIED >
-
-<!ENTITY % animateColorExt "" >
-<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >
-<!ATTLIST animateColor
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % animateTransformExt "" >
-<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >
-<!ATTLIST animateTransform
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs;
-  type (translate | scale | rotate | skewX | skewY) "translate" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Fonts 
-     ============================================================== -->
-
-<!ENTITY % fontExt "" >
-<!ELEMENT font (%descTitleMetadata;,font-face,
-                   missing-glyph,(glyph|hkern|vkern %fontExt;)*) >
-<!ATTLIST font
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  horiz-origin-x %Number; #IMPLIED
-  horiz-origin-y %Number; #IMPLIED
-  horiz-adv-x %Number; #REQUIRED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % glyphExt "" >
-<!ELEMENT glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %glyphExt;)* >
-<!ATTLIST glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  unicode CDATA #IMPLIED
-  glyph-name CDATA #IMPLIED
-  d %PathData; #IMPLIED
-  orientation CDATA #IMPLIED
-  arabic-form CDATA #IMPLIED
-  lang %LanguageCodes; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % missing-glyphExt "" >
-<!ELEMENT missing-glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %missing-glyphExt;)* >
-<!ATTLIST missing-glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  d %PathData; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ELEMENT hkern EMPTY >
-<!ATTLIST hkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT vkern EMPTY >
-<!ATTLIST vkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT font-face (%descTitleMetadata;,font-face-src?,definition-src?) >
-<!ATTLIST font-face 
-  %stdAttrs;
-  font-family CDATA #IMPLIED
-  font-style CDATA #IMPLIED
-  font-variant CDATA #IMPLIED
-  font-weight CDATA #IMPLIED
-  font-stretch CDATA #IMPLIED
-  font-size CDATA #IMPLIED
-  unicode-range CDATA #IMPLIED
-  units-per-em %Number; #IMPLIED
-  panose-1 CDATA #IMPLIED
-  stemv %Number; #IMPLIED
-  stemh %Number; #IMPLIED
-  slope %Number; #IMPLIED
-  cap-height %Number; #IMPLIED
-  x-height %Number; #IMPLIED
-  accent-height %Number; #IMPLIED
-  ascent %Number; #IMPLIED
-  descent %Number; #IMPLIED
-  widths CDATA #IMPLIED
-  bbox CDATA #IMPLIED
-  ideographic %Number; #IMPLIED
-  alphabetic %Number; #IMPLIED
-  mathematical %Number; #IMPLIED
-  hanging %Number; #IMPLIED
-  v-ideographic %Number; #IMPLIED
-  v-alphabetic %Number; #IMPLIED
-  v-mathematical %Number; #IMPLIED
-  v-hanging %Number; #IMPLIED
-  underline-position %Number; #IMPLIED
-  underline-thickness %Number; #IMPLIED
-  strikethrough-position %Number; #IMPLIED
-  strikethrough-thickness %Number; #IMPLIED
-  overline-position %Number; #IMPLIED
-  overline-thickness %Number; #IMPLIED >
-
-<!ELEMENT font-face-src (font-face-uri|font-face-name)+ >
-<!ATTLIST font-face-src 
-  %stdAttrs; >
-
-<!ELEMENT font-face-uri (font-face-format*) >
-<!ATTLIST font-face-uri 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-<!ELEMENT font-face-format EMPTY >
-<!ATTLIST font-face-format 
-  %stdAttrs;
-  string CDATA #IMPLIED >
-
-<!ELEMENT font-face-name EMPTY >
-<!ATTLIST font-face-name 
-  %stdAttrs;
-  name CDATA #IMPLIED >
-
-<!ELEMENT definition-src EMPTY >
-<!ATTLIST definition-src 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Metadata 
-     ============================================================== -->
-
-<!ENTITY % metadataExt "" >
-<!ELEMENT metadata (#PCDATA %metadataExt;)* >
-<!ATTLIST metadata
-  %stdAttrs; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Extensibility 
-     ============================================================== -->
-
-<!ENTITY % foreignObjectExt "" >
-<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
-<!ATTLIST foreignObject
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  %StructuredText; >
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/bitinit.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/bitinit.opt
deleted file mode 100644 (file)
index 3645236..0000000
+++ /dev/null
@@ -1 +0,0 @@
-   -pe ppc405_0  $(PPC405_0_BOOTLOOP) \r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/libgen.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/libgen.opt
deleted file mode 100644 (file)
index 77b1548..0000000
+++ /dev/null
@@ -1 +0,0 @@
- -p virtex4\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/platgen.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/platgen.opt
deleted file mode 100644 (file)
index 25299b7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
- -p xc4vfx12ff668-10 -lang vhdl
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt
deleted file mode 100644 (file)
index ae054d2..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-ppc405_0\r
-RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c  RTOSDemo/flop/flop.c RTOSDemo/flop/flop-reg-test.c\r
-RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h \r
-RTOSDEMO_CC = powerpc-eabi-gcc\r
-RTOSDEMO_CC_SIZE = powerpc-eabi-size\r
-RTOSDEMO_CC_OPT = -O0\r
-RTOSDEMO_CFLAGS = -I./RTOSDemo/flop -I./ppc405_0/include/  -IRTOSDemo/   -I. -I./RTOSDemo/ -I../Common/include/ -I../../Source/include/ -I./ppc405_0/include/ -I./ppc405_0/include -D GCC_PPC405 -mregnames -Wextra\r
-RTOSDEMO_CC_SEARCH = # -B\r
-RTOSDEMO_LIBPATH = -L./ppc405_0/lib/ # -L\r
-RTOSDEMO_INCLUDES = -I./ppc405_0/include/  -IRTOSDemo/ # -I\r
-RTOSDEMO_LFLAGS = # -l\r
-RTOSDEMO_LINKER_SCRIPT = RTOSDemo/RTOSDemo_linker_script.ld\r
-RTOSDEMO_CC_DEBUG_FLAG =  -g \r
-RTOSDEMO_CC_PROFILE_FLAG = # -pg\r
-RTOSDEMO_CC_GLOBPTR_FLAG= # -msdata=eabi\r
-RTOSDEMO_CC_INFERRED_FLAGS= \r
-RTOSDEMO_CC_START_ADDR_FLAG=  #  # -Wl,-defsym -Wl,_START_ADDR=\r
-RTOSDEMO_CC_STACK_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_STACK_SIZE=\r
-RTOSDEMO_CC_HEAP_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_HEAP_SIZE=\r
-                  $(RTOSDEMO_CC_INFERRED_FLAGS)  \\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/simgen.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/simgen.opt
deleted file mode 100644 (file)
index 547618f..0000000
+++ /dev/null
@@ -1 +0,0 @@
- -p virtex4 -lang vhdl   -pe ppc405_0  $(PPC405_0_BOOTLOOP)  -s mti -X C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/ -E C:/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system.gui b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system.gui
deleted file mode 100644 (file)
index ff6232e..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-
-<PRO_GUISETTING VIEWSTATUS="BIFS_TREE">
-
-  <GUISETTING HSCROLL="0" ID="BIFS_TREE" SPSIZE1="106" SPSIZE2="639" VSCROLL="0">
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="149"/>
-
-    <COLHDR INDEX="4" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="156"/>
-
-    <COLHDR INDEX="6" NAME="Bus Standard" VISIBLE="FALSE" WIDTH="0"/>
-
-    <COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
-
-    <COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>
-
-    <COLHDR INDEX="5" NAME="Mastership" VISIBLE="FALSE" WIDTH="0"/>
-
-    <COLHDR INDEX="3" NAME="IP CLASSIFICATION" VISIBLE="FALSE" WIDTH="0"/>
-
-    <EXPANDED/>
-
-</GUISETTING>
-  <GUISETTING HSCROLL="0" ID="PORTS_TREE" VSCROLL="0">
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="200"/>
-
-    <COLHDR INDEX="1" NAME="Net" VISIBLE="TRUE" WIDTH="166"/>
-
-    <COLHDR INDEX="2" NAME="Direction" VISIBLE="TRUE" WIDTH="98"/>
-
-    <COLHDR INDEX="4" NAME="Range" VISIBLE="TRUE" WIDTH="200"/>
-
-    <COLHDR INDEX="3" NAME="Class" VISIBLE="TRUE" WIDTH="81"/>
-
-    <COLHDR INDEX="5" NAME="Frequency" VISIBLE="TRUE" WIDTH="106"/>
-
-    <COLHDR INDEX="6" NAME="Reset Polarity" VISIBLE="TRUE" WIDTH="121"/>
-
-    <COLHDR INDEX="9" NAME="Sensitivity" VISIBLE="TRUE" WIDTH="103"/>
-
-    <COLHDR INDEX="7" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
-
-    <COLHDR INDEX="8" NAME="IP Version" VISIBLE="FALSE" WIDTH="0"/>
-
-    <EXPANDED/>
-
-</GUISETTING>
-  <GUISETTING HSCROLL="0" ID="ADDRESSES_TREE" VSCROLL="0">            
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="153"/>            
-
-    <COLHDR INDEX="3" NAME="Base Address" VISIBLE="TRUE" WIDTH="121"/>            
-
-    <COLHDR INDEX="4" NAME="High Address" VISIBLE="TRUE" WIDTH="119"/>            
-
-    <COLHDR INDEX="5" NAME="Size" VISIBLE="TRUE" WIDTH="76"/>            
-
-    <COLHDR INDEX="7" NAME="Bus Interface(s)" VISIBLE="TRUE" WIDTH="130"/>            
-
-    <COLHDR INDEX="10" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="131"/>            
-
-    <COLHDR INDEX="6" NAME="Lock" VISIBLE="TRUE" WIDTH="80"/>            
-
-    <COLHDR INDEX="9" NAME="ICache" VISIBLE="TRUE" WIDTH="90"/>            
-
-    <COLHDR INDEX="8" NAME="DCache" VISIBLE="TRUE" WIDTH="95"/>            
-
-    <COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>            
-
-    <COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>            
-
-    <EXPANDED/>
-
-</GUISETTING>
-  <GUISETTING COLSORT="0" HSCROLL="0" ID="ADDRESSES_FLAT" SORTORE="1" VSCROLL="0">
-
-    <COLHDR INDEX="11" NAME="Instance" VISIBLE="TRUE" WIDTH="97"/>
-
-    <COLHDR INDEX="0" NAME="Name" VISIBLE="TRUE" WIDTH="153"/>
-
-    <COLHDR INDEX="3" NAME="Base Address" VISIBLE="TRUE" WIDTH="121"/>
-
-    <COLHDR INDEX="4" NAME="High Address" VISIBLE="TRUE" WIDTH="119"/>
-
-    <COLHDR INDEX="5" NAME="Size" VISIBLE="TRUE" WIDTH="76"/>
-
-    <COLHDR INDEX="7" NAME="Bus Interface(s)" VISIBLE="TRUE" WIDTH="130"/>
-
-    <COLHDR INDEX="10" NAME="Bus Connection" VISIBLE="TRUE" WIDTH="131"/>
-
-    <COLHDR INDEX="6" NAME="Lock" VISIBLE="TRUE" WIDTH="80"/>
-
-    <COLHDR INDEX="9" NAME="ICache" VISIBLE="TRUE" WIDTH="90"/>
-
-    <COLHDR INDEX="8" NAME="DCache" VISIBLE="TRUE" WIDTH="95"/>
-
-    <COLHDR INDEX="1" NAME="IP Type" VISIBLE="TRUE" WIDTH="93"/>
-
-    <COLHDR INDEX="2" NAME="IP Version" VISIBLE="TRUE" WIDTH="104"/>
-
-</GUISETTING></PRO_GUISETTING>\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system_routed b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system_routed
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/testapp_peripheral_compiler.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/testapp_peripheral_compiler.opt
deleted file mode 100644 (file)
index d6693d0..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-ppc405_0\r
-TESTAPP_PERIPHERAL_SOURCES = /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xintc_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_selftest_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_intr_tapp_example.c /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xgpio_tapp_example.c \r
-TESTAPP_PERIPHERAL_HEADERS = /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/intc_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_intr_header.h /cygdrive/c//E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/gpio_header.h \r
-TESTAPP_PERIPHERAL_CC = powerpc-eabi-gcc\r
-TESTAPP_PERIPHERAL_CC_SIZE = powerpc-eabi-size\r
-TESTAPP_PERIPHERAL_CC_OPT = -O2\r
-TESTAPP_PERIPHERAL_CFLAGS = \r
-TESTAPP_PERIPHERAL_CC_SEARCH = # -B\r
-TESTAPP_PERIPHERAL_LIBPATH = -L./ppc405_0/lib/ # -L\r
-TESTAPP_PERIPHERAL_INCLUDES = -I./ppc405_0/include/  -ITestApp_Peripheral/src/ # -I\r
-TESTAPP_PERIPHERAL_LFLAGS = # -l\r
-TESTAPP_PERIPHERAL_LINKER_SCRIPT = /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral_LinkScr.ld\r
-TESTAPP_PERIPHERAL_CC_DEBUG_FLAG =  -g \r
-TESTAPP_PERIPHERAL_CC_PROFILE_FLAG = # -pg\r
-TESTAPP_PERIPHERAL_CC_GLOBPTR_FLAG= # -msdata=eabi\r
-TESTAPP_PERIPHERAL_CC_INFERRED_FLAGS= \r
-TESTAPP_PERIPHERAL_CC_START_ADDR_FLAG=  #  # -Wl,-defsym -Wl,_START_ADDR=\r
-TESTAPP_PERIPHERAL_CC_STACK_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_STACK_SIZE=\r
-TESTAPP_PERIPHERAL_CC_HEAP_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_HEAP_SIZE=\r
-                  $(TESTAPP_PERIPHERAL_CC_INFERRED_FLAGS)  \\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/vpgen.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/vpgen.opt
deleted file mode 100644 (file)
index 8ea8f66..0000000
+++ /dev/null
@@ -1 +0,0 @@
- -p xc4vfx12ff668-10\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xplorer.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xplorer.opt
deleted file mode 100644 (file)
index 37e5b11..0000000
+++ /dev/null
@@ -1 +0,0 @@
--device xc4vfx12ff668-10data/system.ucf7 0\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt
deleted file mode 100644 (file)
index 33391f0..0000000
+++ /dev/null
@@ -1 +0,0 @@
--device xc4vfx12ff668-10data/system.ucf 0\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd b/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd
deleted file mode 100644 (file)
index 110f5ce..0000000
+++ /dev/null
@@ -1,1704 +0,0 @@
-<!-- =====================================================================
-  This is the DTD for SVG 1.0.
-
-  The specification for SVG that corresponds to this DTD is available at:
-
-    http://www.w3.org/TR/2001/REC-SVG-20010904/
-
-  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
-
-  For SVG 1.0:
-
-    Namespace:
-      http://www.w3.org/2000/svg  
-
-    Public identifier:
-      PUBLIC "-//W3C//DTD SVG 1.0//EN"
-
-    URI for the DTD:
-      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd
-============================================================================= -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Data types 
-     ============================================================== -->
-
-<!ENTITY % BaselineShiftValue "CDATA">
-    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) -->
-
-<!ENTITY % Boolean "(false | true)">
-    <!-- feature specification -->
-
-<!ENTITY % ClassList "CDATA">
-    <!-- list of classes -->
-
-<!ENTITY % ClipValue "CDATA">
-    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
-
-<!ENTITY % ClipPathValue "CDATA">
-    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
-    <!-- 'clip-rule' or fill-rule property/attribute value -->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % Coordinate "CDATA">
-    <!-- a <coordinate> -->
-
-<!ENTITY % Coordinates "CDATA">
-    <!-- a list of <coordinate>s -->
-
-<!ENTITY % Color "CDATA">
-    <!-- a <color> value -->
-
-<!ENTITY % CursorValue "CDATA">
-    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
-
-<!ENTITY % EnableBackgroundValue "CDATA">
-    <!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') -->
-
-<!ENTITY % ExtensionList "CDATA">
-    <!-- extension list specification -->
-
-<!ENTITY % FeatureList "CDATA">
-    <!-- feature list specification -->
-
-<!ENTITY % FilterValue "CDATA">
-    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % FontFamilyValue "CDATA">
-    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->
-
-<!ENTITY % FontSizeValue "CDATA">
-    <!-- 'font-size' property/attribute value -->
-
-<!ENTITY % FontSizeAdjustValue "CDATA">
-    <!-- 'font-size-adjust' property/attribute value -->
-
-<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
-    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) -->
-
-<!ENTITY % GlyphOrientationVerticalValue "CDATA">
-    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) -->
-
-<!ENTITY % Integer "CDATA">
-    <!-- a <integer> -->
-
-<!ENTITY % KerningValue "CDATA">
-    <!-- 'kerning' property/attribute value (e.g., auto | <length>) -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC3066] -->
-
-<!ENTITY % LanguageCodes "CDATA">
-    <!-- comma-separated list of language codes, as per [RFC3066] -->
-
-<!ENTITY % Length "CDATA">
-    <!-- a <length> -->
-
-<!ENTITY % Lengths "CDATA">
-    <!-- a list of <length>s -->
-
-<!ENTITY % LinkTarget "NMTOKEN">
-    <!-- link to this target -->
-
-<!ENTITY % MarkerValue "CDATA">
-    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MaskValue "CDATA">
-    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- comma-separated list of media descriptors. -->
-
-<!ENTITY % Number "CDATA">
-    <!-- a <number> -->
-
-<!ENTITY % NumberOptionalNumber "CDATA">
-    <!-- list of <number>s, but at least one and at most two -->
-
-<!ENTITY % NumberOrPercentage "CDATA">
-    <!-- a <number> or a  <percentage> -->
-
-<!ENTITY % Numbers "CDATA">
-    <!-- a list of <number>s -->
-
-<!ENTITY % OpacityValue "CDATA">
-    <!-- opacity value (e.g., <number>) -->
-
-<!ENTITY % Paint "CDATA">
-    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
-
-<!ENTITY % PathData "CDATA">
-    <!-- a path data specification -->
-
-<!ENTITY % Points "CDATA">
-    <!-- a list of points -->
-
-<!ENTITY % PreserveAspectRatioSpec "CDATA">
-    <!-- 'preserveAspectRatio' attribute specification -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % SpacingValue "CDATA">
-    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | <length>) -->
-
-<!ENTITY % StrokeDashArrayValue "CDATA">
-    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) -->
-
-<!ENTITY % StrokeDashOffsetValue "CDATA">
-    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) -->
-
-<!ENTITY % StrokeMiterLimitValue "CDATA">
-    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
-
-<!ENTITY % StrokeWidthValue "CDATA">
-    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->
-
-<!ENTITY % StructuredText
-  "content CDATA #FIXED 'structured text'" >
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % SVGColor "CDATA">
-    <!-- An SVG color value (RGB plus optional ICC) -->
-
-<!ENTITY % Text "CDATA">
-    <!-- arbitrary text string -->
-
-<!ENTITY % TextDecorationValue "CDATA">
-    <!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') -->
-
-<!ENTITY % TransformList "CDATA">
-    <!-- list of transforms -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [URI] -->
-
-<!ENTITY % ViewBoxSpec "CDATA">
-    <!-- 'viewBox' attribute specification -->
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of common attributes 
-     ============================================================== -->
-
-<!-- All elements have an ID. -->
-<!ENTITY % stdAttrs
- "id ID #IMPLIED
-  xml:base %URI; #IMPLIED" >
-
-<!-- Common attributes for elements that might contain character data content. -->
-<!ENTITY % langSpaceAttrs
- "xml:lang %LanguageCode; #IMPLIED
-  xml:space (default|preserve) #IMPLIED" >
-
-<!-- Common attributes to check for system capabilities. -->
-<!ENTITY % testAttrs
- "requiredFeatures %FeatureList; #IMPLIED
-  requiredExtensions %ExtensionList; #IMPLIED
-  systemLanguage %LanguageCodes; #IMPLIED" >
-
-<!-- For most uses of URI referencing:
-        standard XLink attributes other than xlink:href. -->
-<!ENTITY % xlinkRefAttrs
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (other) 'other'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' -->
-<!ENTITY % xlinkRefAttrsEmbed
- "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
-  xlink:type (simple) #FIXED 'simple' 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (embed) 'embed'
-  xlink:actuate (onLoad) #FIXED 'onLoad'" >
-
-<!ENTITY % graphicsElementEvents
-  "onfocusin %Script; #IMPLIED
-   onfocusout %Script; #IMPLIED
-   onactivate %Script; #IMPLIED
-   onclick %Script; #IMPLIED
-   onmousedown %Script; #IMPLIED
-   onmouseup %Script; #IMPLIED
-   onmouseover %Script; #IMPLIED
-   onmousemove %Script; #IMPLIED
-   onmouseout %Script; #IMPLIED
-   onload %Script; #IMPLIED" >
-
-<!ENTITY % documentEvents
-  "onunload %Script; #IMPLIED
-   onabort %Script; #IMPLIED
-   onerror %Script; #IMPLIED
-   onresize %Script; #IMPLIED
-   onscroll %Script; #IMPLIED
-   onzoom %Script; #IMPLIED" >
-
-<!ENTITY % animationEvents
-  "onbegin %Script; #IMPLIED
-   onend %Script; #IMPLIED
-   onrepeat %Script; #IMPLIED" >
-
-<!-- This entity allows for at most one of desc, title and metadata,
-     supplied in any order -->
-<!ENTITY % descTitleMetadata
-          "(((desc,((title,metadata?)|(metadata,title?))?)|
-          (title,((desc,metadata?)|(metadata,desc?))?)|
-          (metadata,((desc,title?)|(title,desc?))?))?)" >
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: Collections of presentation attributes 
-     ============================================================== -->
-
-<!-- The following presentation attributes have to do with specifying color. -->
-<!ENTITY % PresentationAttributes-Color
-  "color %Color; #IMPLIED
-   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
-   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to container elements. -->
-<!ENTITY % PresentationAttributes-Containers
-  "enable-background %EnableBackgroundValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'feFlood' elements. -->
-<!ENTITY % PresentationAttributes-feFlood
-  "flood-color %SVGColor; #IMPLIED
-   flood-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filling and stroking operations. -->
-<!ENTITY % PresentationAttributes-FillStroke
-  "fill %Paint; #IMPLIED
-   fill-opacity %OpacityValue; #IMPLIED
-   fill-rule %ClipFillRule; #IMPLIED
-   stroke %Paint; #IMPLIED
-   stroke-dasharray %StrokeDashArrayValue; #IMPLIED
-   stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
-   stroke-linecap (butt | round | square | inherit) #IMPLIED
-   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
-   stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
-   stroke-opacity %OpacityValue; #IMPLIED
-   stroke-width %StrokeWidthValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to filter primitives. -->
-<!ENTITY % PresentationAttributes-FilterPrimitives
-  "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes have to do with selecting a font to use. -->
-<!ENTITY % PresentationAttributes-FontSpecification
-  "font-family %FontFamilyValue; #IMPLIED
-   font-size %FontSizeValue; #IMPLIED
-   font-size-adjust %FontSizeAdjustValue; #IMPLIED
-   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed |
-                 condensed | semi-condensed | semi-expanded | expanded |
-                 extra-expanded | ultra-expanded | inherit) #IMPLIED
-   font-style (normal | italic | oblique | inherit) #IMPLIED
-   font-variant (normal | small-caps | inherit) #IMPLIED
-   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
-               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to gradient 'stop' elements. -->
-<!ENTITY % PresentationAttributes-Gradients
-  "stop-color %SVGColor; #IMPLIED
-   stop-opacity %OpacityValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to graphics elements. -->
-<!ENTITY % PresentationAttributes-Graphics
-  "clip-path %ClipPathValue; #IMPLIED
-   clip-rule %ClipFillRule; #IMPLIED
-   cursor %CursorValue; #IMPLIED
-   display (inline | block | list-item | run-in | compact | marker |
-            table | inline-table | table-row-group | table-header-group |
-            table-footer-group | table-row | table-column-group | table-column |
-            table-cell | table-caption | none | inherit) #IMPLIED
-   filter %FilterValue; #IMPLIED
-   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
-   mask %MaskValue; #IMPLIED
-   opacity %OpacityValue; #IMPLIED
-   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
-                   painted | fill | stroke | all | none | inherit) #IMPLIED
-   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED
-   text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED
-   visibility (visible | hidden | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'image' elements. -->
-<!ENTITY % PresentationAttributes-Images
-  "color-profile CDATA #IMPLIED " >
-
-<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. -->
-<!ENTITY % PresentationAttributes-LightingEffects
-  "lighting-color %SVGColor; #IMPLIED " >
-
-<!-- The following presentation attributes apply to marker operations. -->
-<!ENTITY % PresentationAttributes-Markers
-  "marker-start %MarkerValue; #IMPLIED
-   marker-mid %MarkerValue; #IMPLIED
-   marker-end %MarkerValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to text content elements. -->
-<!ENTITY % PresentationAttributes-TextContentElements
-  "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge |
-                        middle | bottom | after-edge | text-bottom | text-after-edge |
-                        ideographic | lower | hanging | mathematical | inherit) #IMPLIED
-   baseline-shift %BaselineShiftValue; #IMPLIED
-   direction (ltr | rtl | inherit) #IMPLIED
-   dominant-baseline (auto | autosense-script | no-change | reset|
-                      ideographic | lower | hanging | mathematical | inherit ) #IMPLIED
-   glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
-   glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
-   kerning %KerningValue; #IMPLIED
-   letter-spacing %SpacingValue; #IMPLIED
-   text-anchor (start | middle | end | inherit) #IMPLIED
-   text-decoration %TextDecorationValue; #IMPLIED
-   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
-   word-spacing %SpacingValue; #IMPLIED " >
-
-<!-- The following presentation attributes apply to 'text' elements. -->
-<!ENTITY % PresentationAttributes-TextElements
-  "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >
-
-<!-- The following presentation attributes apply to elements that establish viewports. -->
-<!ENTITY % PresentationAttributes-Viewports
-  "clip %ClipValue; #IMPLIED
-   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >
-
-<!--The following represents the complete list of presentation attributes. -->
-<!ENTITY % PresentationAttributes-All
-  "%PresentationAttributes-Color;
-   %PresentationAttributes-Containers;
-   %PresentationAttributes-feFlood;
-   %PresentationAttributes-FillStroke;
-   %PresentationAttributes-FilterPrimitives;
-   %PresentationAttributes-FontSpecification;
-   %PresentationAttributes-Gradients;
-   %PresentationAttributes-Graphics;
-   %PresentationAttributes-Images;
-   %PresentationAttributes-LightingEffects;
-   %PresentationAttributes-Markers;
-   %PresentationAttributes-TextContentElements;
-   %PresentationAttributes-TextElements;
-   %PresentationAttributes-Viewports;" >
-
-
-
-<!-- ==============================================================
-     ENTITY DECLARATIONS: DTD extensions 
-     ============================================================== -->
-
-<!-- Allow for extending the DTD with internal subset for 
-     container and graphics elements -->
-<!ENTITY % ceExt "" >
-<!ENTITY % geExt "" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Document Structure 
-     ============================================================== -->
-
-<!ENTITY % svgExt "" >
-<!ELEMENT svg (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%svgExt;)* >
-<!ATTLIST svg
-  xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED 
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify'
-  %graphicsElementEvents;
-  %documentEvents;
-  version %Number; #FIXED "1.0"
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  contentScriptType %ContentType; "text/ecmascript"
-  contentStyleType %ContentType; "text/css" >
-
-<!ENTITY % gExt "" >
-<!ELEMENT g (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%gExt;)* >
-<!ATTLIST g
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % defsExt "" >
-<!ELEMENT defs (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%defsExt;)* >
-<!ATTLIST defs
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;  >
-
-<!ENTITY % descExt "" >
-<!ELEMENT desc (#PCDATA %descExt;)* >
-<!ATTLIST desc
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % titleExt "" >
-<!ELEMENT title (#PCDATA %titleExt;)* >
-<!ATTLIST title
-  %stdAttrs;
-  %langSpaceAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %StructuredText; >
-
-<!ENTITY % symbolExt "" >
-<!ELEMENT symbol (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%symbolExt;)* >
-<!ATTLIST symbol
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents; >
-
-<!ENTITY % useExt "" >
-<!ELEMENT use (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%useExt;)*) >
-<!ATTLIST use
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-<!ENTITY % imageExt "" >
-<!ELEMENT image (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                   %geExt;%imageExt;)*) >
-<!ATTLIST image
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Images;
-  %PresentationAttributes-Viewports;
-  transform %TransformList; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED >
-
-<!ENTITY % switchExt "" >
-<!ELEMENT switch (%descTitleMetadata;,
-                  (path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|switch|a|foreignObject|
-                   animate|set|animateMotion|animateColor|animateTransform
-                   %ceExt;%switchExt;)*) >
-<!ATTLIST switch
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Styling 
-     ============================================================== -->
-
-<!ELEMENT style (#PCDATA) >
-<!ATTLIST style 
-  %stdAttrs;
-  xml:space (preserve) #FIXED "preserve"
-  type %ContentType; #REQUIRED
-  media %MediaDesc; #IMPLIED
-  title %Text; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Paths
-     ============================================================== -->
-
-<!ENTITY % pathExt "" >
-<!ELEMENT path (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%pathExt;)*) >
-<!ATTLIST path
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  d %PathData; #REQUIRED
-  pathLength %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Basic Shapes
-     ============================================================== -->
-
-<!ENTITY % rectExt "" >
-<!ELEMENT rect (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%rectExt;)*) >
-<!ATTLIST rect
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  rx %Length; #IMPLIED
-  ry %Length; #IMPLIED >
-
-<!ENTITY % circleExt "" >
-<!ELEMENT circle (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%circleExt;)*) >
-<!ATTLIST circle
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #REQUIRED >
-
-<!ENTITY % ellipseExt "" >
-<!ELEMENT ellipse (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%ellipseExt;)*) >
-<!ATTLIST ellipse
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  rx %Length; #REQUIRED
-  ry %Length; #REQUIRED >
-
-<!ENTITY % lineExt "" >
-<!ELEMENT line (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%lineExt;)*) >
-<!ATTLIST line
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED >
-
-<!ENTITY % polylineExt "" >
-<!ELEMENT polyline (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polylineExt;)*) >
-<!ATTLIST polyline
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-<!ENTITY % polygonExt "" >
-<!ELEMENT polygon (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
-                %geExt;%polygonExt;)*) >
-<!ATTLIST polygon
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-Markers;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  points %Points; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Text
-     ============================================================== -->
-
-<!ENTITY % textExt "" >
-<!ELEMENT text (#PCDATA|desc|title|metadata|
-                tspan|tref|textPath|altGlyph|a|animate|set|
-                animateMotion|animateColor|animateTransform
-                %geExt;%textExt;)* >
-<!ATTLIST text
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % tspanExt "" >
-<!ELEMENT tspan (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %tspanExt;)* >
-<!ATTLIST tspan
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % trefExt "" >
-<!ELEMENT tref (desc|title|metadata|animate|set|animateColor
-                %trefExt;)* >
-<!ATTLIST tref
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >
-
-<!ENTITY % textPathExt "" >
-<!ELEMENT textPath (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
-                %textPathExt;)* >
-<!ATTLIST textPath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  startOffset %Length; #IMPLIED
-  textLength %Length; #IMPLIED
-  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED
-  method (align|stretch) #IMPLIED
-  spacing (auto|exact) #IMPLIED >
-
-<!ENTITY % altGlyphExt "" >
-<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
-<!ATTLIST altGlyph
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED 
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %graphicsElementEvents;
-  x %Coordinates; #IMPLIED
-  y %Coordinates; #IMPLIED
-  dx %Lengths; #IMPLIED
-  dy %Lengths; #IMPLIED
-  rotate %Numbers; #IMPLIED >
-
-<!ENTITY % altGlyphDefExt "" >
-<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >
-<!ATTLIST altGlyphDef
-  %stdAttrs; >
-
-<!ENTITY % altGlyphItemExt "" >
-<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >
-<!ATTLIST altGlyphItem
-  %stdAttrs; >
-
-<!ELEMENT glyphRef EMPTY >
-<!ATTLIST glyphRef
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-FontSpecification;
-  glyphRef CDATA #IMPLIED
-  format CDATA #IMPLIED
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols 
-     ============================================================== -->
-
-<!ENTITY % markerExt "" >
-<!ELEMENT marker (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%markerExt;)* >
-<!ATTLIST marker
-  %stdAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  refX %Coordinate; #IMPLIED
-  refY %Coordinate; #IMPLIED
-  markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
-  markerWidth  %Length; #IMPLIED
-  markerHeight %Length; #IMPLIED
-  orient CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Color 
-     ============================================================== -->
-
-<!ELEMENT color-profile (%descTitleMetadata;) >
-<!ATTLIST color-profile 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  local CDATA #IMPLIED  
-  name CDATA #REQUIRED
-  rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 
-     ============================================================== -->
-
-<!ENTITY % linearGradientExt "" >
-<!ELEMENT linearGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %linearGradientExt;)*) >
-<!ATTLIST linearGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  x1 %Coordinate; #IMPLIED
-  y1 %Coordinate; #IMPLIED
-  x2 %Coordinate; #IMPLIED
-  y2 %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % radialGradientExt "" >
-<!ELEMENT radialGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
-                   %radialGradientExt;)*) >
-<!ATTLIST radialGradient
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  gradientTransform %TransformList; #IMPLIED
-  cx %Coordinate; #IMPLIED
-  cy %Coordinate; #IMPLIED
-  r %Length; #IMPLIED
-  fx %Coordinate; #IMPLIED
-  fy %Coordinate; #IMPLIED
-  spreadMethod (pad | reflect | repeat) #IMPLIED >
-
-
-<!ENTITY % stopExt "" >
-<!ELEMENT stop (animate|set|animateColor
-                   %stopExt;)* >
-<!ATTLIST stop
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-Gradients;
-  offset %NumberOrPercentage; #REQUIRED >
-
-<!ENTITY % patternExt "" >
-<!ELEMENT pattern (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%patternExt;)* >
-<!ATTLIST pattern
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  patternTransform %TransformList; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 
-     ============================================================== -->
-
-<!ENTITY % clipPathExt "" >
-<!ELEMENT clipPath (%descTitleMetadata;,
-                    (path|text|rect|circle|ellipse|line|polyline|polygon|
-                     use|animate|set|animateMotion|animateColor|animateTransform
-                     %ceExt;%clipPathExt;)*) >
-<!ATTLIST clipPath
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FillStroke;
-  %PresentationAttributes-FontSpecification;
-  %PresentationAttributes-Graphics;
-  %PresentationAttributes-TextContentElements;
-  %PresentationAttributes-TextElements;
-  transform %TransformList; #IMPLIED
-  clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED >
-
-<!ENTITY % maskExt "" >
-<!ELEMENT mask (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%maskExt;)*  >
-<!ATTLIST mask
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Filter Effects
-     ============================================================== -->
-
-<!ENTITY % filterExt "" >
-<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|
-  feColorMatrix|feComponentTransfer|
-  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
-  feGaussianBlur|feImage|feMerge|
-  feMorphology|feOffset|feSpecularLighting|
-  feTile|feTurbulence|
-  animate|set
-  %filterExt;)*) >
-<!ATTLIST filter
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #IMPLIED
-  height %Length; #IMPLIED
-  filterRes %NumberOptionalNumber; #IMPLIED >
-
-<!ENTITY % filter_primitive_attributes
-  "x %Coordinate; #IMPLIED
-   y %Coordinate; #IMPLIED
-   width %Length; #IMPLIED
-   height %Length; #IMPLIED
-   result CDATA #IMPLIED" >
-
-<!ENTITY % filter_primitive_attributes_with_in
-  "%filter_primitive_attributes;
-   in CDATA #IMPLIED">
-
-<!ELEMENT feDistantLight (animate|set)* >
-<!ATTLIST feDistantLight
-  %stdAttrs;
-  azimuth %Number; #IMPLIED
-  elevation %Number; #IMPLIED >
-
-<!ELEMENT fePointLight (animate|set)* >
-<!ATTLIST fePointLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED >
-
-<!ELEMENT feSpotLight (animate|set)* >
-<!ATTLIST feSpotLight
-  %stdAttrs;
-  x %Number; #IMPLIED
-  y %Number; #IMPLIED
-  z %Number; #IMPLIED
-  pointsAtX %Number; #IMPLIED
-  pointsAtY %Number; #IMPLIED
-  pointsAtZ %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED
-  limitingConeAngle %Number; #IMPLIED >
-
-<!ELEMENT feBlend (animate|set)* >
-<!ATTLIST feBlend
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  mode (normal | multiply | screen | darken | lighten) "normal" >
-
-<!ELEMENT feColorMatrix (animate|set)* >
-<!ATTLIST feColorMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
-  values CDATA #IMPLIED >
-
-<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >
-<!ATTLIST feComponentTransfer
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ENTITY % component_transfer_function_attributes
-  "type (identity | table | discrete | linear | gamma) #REQUIRED
-   tableValues CDATA #IMPLIED
-   slope %Number; #IMPLIED
-   intercept %Number; #IMPLIED
-   amplitude %Number; #IMPLIED
-   exponent %Number; #IMPLIED
-   offset %Number; #IMPLIED" >
-
-<!ELEMENT feFuncR (animate|set)* >
-<!ATTLIST feFuncR
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncG (animate|set)* >
-<!ATTLIST feFuncG
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncB (animate|set)* >
-<!ATTLIST feFuncB
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feFuncA (animate|set)* >
-<!ATTLIST feFuncA
-  %stdAttrs;
-  %component_transfer_function_attributes; >
-
-<!ELEMENT feComposite (animate|set)* >
-<!ATTLIST feComposite
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  operator (over | in | out | atop | xor | arithmetic) "over"
-  k1 %Number; #IMPLIED
-  k2 %Number; #IMPLIED
-  k3 %Number; #IMPLIED
-  k4 %Number; #IMPLIED >
-
-<!ELEMENT feConvolveMatrix (animate|set)* >
-<!ATTLIST feConvolveMatrix
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  order %NumberOptionalNumber; #REQUIRED
-  kernelMatrix CDATA #REQUIRED
-  divisor %Number; #IMPLIED
-  bias %Number; #IMPLIED
-  targetX %Integer; #IMPLIED
-  targetY %Integer; #IMPLIED
-  edgeMode (duplicate|wrap|none) "duplicate" 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED 
-  preserveAlpha %Boolean; #IMPLIED >
-
-<!ELEMENT feDiffuseLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feDiffuseLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  diffuseConstant %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feDisplacementMap (animate|set)* >
-<!ATTLIST feDisplacementMap
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  in2 CDATA #REQUIRED
-  scale %Number; #IMPLIED
-  xChannelSelector (R | G | B | A) "A"
-  yChannelSelector (R | G | B | A) "A" >
-
-<!ELEMENT feFlood (animate|set|animateColor)* >
-<!ATTLIST feFlood
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-feFlood;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feGaussianBlur (animate|set)* >
-<!ATTLIST feGaussianBlur
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  stdDeviation %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feImage (animate|set|animateTransform)* >
-<!ATTLIST feImage
-  %stdAttrs;
-  %xlinkRefAttrsEmbed;
-  xlink:href %URI; #REQUIRED
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  %filter_primitive_attributes;
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' >
-
-<!ELEMENT feMerge (feMergeNode)* >
-<!ATTLIST feMerge
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes; >
-
-<!ELEMENT feMergeNode (animate|set)* >
-<!ATTLIST feMergeNode
-  %stdAttrs;
-  in CDATA #IMPLIED >
-
-<!ELEMENT feMorphology (animate|set)* >
-<!ATTLIST feMorphology
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  operator (erode | dilate) "erode"
-  radius %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feOffset (animate|set)* >
-<!ATTLIST feOffset
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in;
-  dx %Number; #IMPLIED
-  dy %Number; #IMPLIED >
-
-<!ELEMENT feSpecularLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >
-<!ATTLIST feSpecularLighting
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-Color;
-  %PresentationAttributes-FilterPrimitives;
-  %PresentationAttributes-LightingEffects;
-  %filter_primitive_attributes_with_in;
-  surfaceScale %Number; #IMPLIED
-  specularConstant %Number; #IMPLIED
-  specularExponent %Number; #IMPLIED 
-  kernelUnitLength %NumberOptionalNumber; #IMPLIED >
-
-<!ELEMENT feTile (animate|set)* >
-<!ATTLIST feTile
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes_with_in; >
-
-<!ELEMENT feTurbulence (animate|set)* >
-<!ATTLIST feTurbulence
-  %stdAttrs;
-  %PresentationAttributes-FilterPrimitives;
-  %filter_primitive_attributes;
-  baseFrequency %NumberOptionalNumber; #IMPLIED
-  numOctaves %Integer; #IMPLIED
-  seed %Number; #IMPLIED
-  stitchTiles (stitch | noStitch) "noStitch"
-  type (fractalNoise | turbulence) "turbulence" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Interactivity 
-     ============================================================== -->
-
-<!ELEMENT cursor (%descTitleMetadata;) >
-<!ATTLIST cursor
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Linking
-     ============================================================== -->
-
-<!ENTITY % aExt "" >
-<!ELEMENT a       (#PCDATA|desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %ceExt;%aExt;)* >
-<!ATTLIST a
-  %stdAttrs;
-  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
-  xlink:type (simple) #FIXED "simple" 
-  xlink:role %URI; #IMPLIED
-  xlink:arcrole %URI; #IMPLIED
-  xlink:title CDATA #IMPLIED
-  xlink:show (new|replace) 'replace'
-  xlink:actuate (onRequest) #FIXED 'onRequest'
-  xlink:href %URI; #REQUIRED
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  target %LinkTarget; #IMPLIED >
-
-<!ENTITY % viewExt "" >
-<!ELEMENT view (%descTitleMetadata;%viewExt;) >
-<!ATTLIST view
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  viewBox %ViewBoxSpec; #IMPLIED
-  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'
-  zoomAndPan (disable | magnify) 'magnify' 
-  viewTarget CDATA #IMPLIED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Scripting 
-     ============================================================== -->
-
-<!ELEMENT script (#PCDATA) >
-<!ATTLIST script
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED
-  externalResourcesRequired %Boolean; #IMPLIED
-  type %ContentType; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Animation 
-     ============================================================== -->
-
-<!ENTITY % animElementAttrs
- "%xlinkRefAttrs;
-  xlink:href %URI; #IMPLIED" >
-
-<!ENTITY % animAttributeAttrs
- "attributeName  CDATA  #REQUIRED
-  attributeType  CDATA  #IMPLIED" >
-
-<!ENTITY % animTimingAttrs
- "begin CDATA #IMPLIED 
-  dur CDATA #IMPLIED
-  end CDATA #IMPLIED
-  min CDATA #IMPLIED
-  max CDATA #IMPLIED
-  restart (always | never | whenNotActive) 'always'
-  repeatCount CDATA #IMPLIED 
-  repeatDur CDATA #IMPLIED
-  fill (remove | freeze) 'remove'" >
-
-<!ENTITY % animValueAttrs
- "calcMode (discrete | linear | paced | spline) 'linear'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED" >
-
-<!ENTITY % animAdditionAttrs
- "additive       (replace | sum) 'replace'
-  accumulate     (none | sum) 'none'" >
-
-<!ENTITY % animateExt "" >
-<!ELEMENT animate (%descTitleMetadata;%animateExt;) >
-<!ATTLIST animate
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % setExt "" >
-<!ELEMENT set (%descTitleMetadata;%setExt;) >
-<!ATTLIST set
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  to CDATA #IMPLIED >
-
-<!ENTITY % animateMotionExt "" >
-<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >
-<!ATTLIST animateMotion
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animTimingAttrs;
-  calcMode (discrete | linear | paced | spline) 'paced'
-  values CDATA #IMPLIED
-  keyTimes CDATA #IMPLIED
-  keySplines CDATA #IMPLIED
-  from CDATA #IMPLIED
-  to CDATA #IMPLIED
-  by CDATA #IMPLIED
-  %animAdditionAttrs;
-  path CDATA #IMPLIED
-  keyPoints CDATA #IMPLIED
-  rotate CDATA #IMPLIED
-  origin CDATA #IMPLIED >
-
-<!ENTITY % mpathExt "" >
-<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >
-<!ATTLIST mpath
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED
-  externalResourcesRequired %Boolean; #IMPLIED >
-
-<!ENTITY % animateColorExt "" >
-<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >
-<!ATTLIST animateColor
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs; >
-
-<!ENTITY % animateTransformExt "" >
-<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >
-<!ATTLIST animateTransform
-  %stdAttrs;
-  %testAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  %animationEvents;
-  %animElementAttrs;
-  %animAttributeAttrs;
-  %animTimingAttrs;
-  %animValueAttrs;
-  %animAdditionAttrs;
-  type (translate | scale | rotate | skewX | skewY) "translate" >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Fonts 
-     ============================================================== -->
-
-<!ENTITY % fontExt "" >
-<!ELEMENT font (%descTitleMetadata;,font-face,
-                   missing-glyph,(glyph|hkern|vkern %fontExt;)*) >
-<!ATTLIST font
-  %stdAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  horiz-origin-x %Number; #IMPLIED
-  horiz-origin-y %Number; #IMPLIED
-  horiz-adv-x %Number; #REQUIRED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % glyphExt "" >
-<!ELEMENT glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %glyphExt;)* >
-<!ATTLIST glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  unicode CDATA #IMPLIED
-  glyph-name CDATA #IMPLIED
-  d %PathData; #IMPLIED
-  orientation CDATA #IMPLIED
-  arabic-form CDATA #IMPLIED
-  lang %LanguageCodes; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ENTITY % missing-glyphExt "" >
-<!ELEMENT missing-glyph (desc|title|metadata|defs|
-                   path|text|rect|circle|ellipse|line|polyline|polygon|
-                   use|image|svg|g|view|switch|a|altGlyphDef|
-                   script|style|symbol|marker|clipPath|mask|
-                   linearGradient|radialGradient|pattern|filter|cursor|font|
-                   animate|set|animateMotion|animateColor|animateTransform|
-                   color-profile|font-face
-                   %missing-glyphExt;)* >
-<!ATTLIST missing-glyph
-  %stdAttrs;
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  d %PathData; #IMPLIED
-  horiz-adv-x %Number; #IMPLIED
-  vert-origin-x %Number; #IMPLIED
-  vert-origin-y %Number; #IMPLIED
-  vert-adv-y %Number; #IMPLIED >
-
-<!ELEMENT hkern EMPTY >
-<!ATTLIST hkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT vkern EMPTY >
-<!ATTLIST vkern
-  %stdAttrs;
-  u1 CDATA #IMPLIED
-  g1 CDATA #IMPLIED
-  u2 CDATA #IMPLIED
-  g2 CDATA #IMPLIED
-  k %Number; #REQUIRED >
-
-<!ELEMENT font-face (%descTitleMetadata;,font-face-src?,definition-src?) >
-<!ATTLIST font-face 
-  %stdAttrs;
-  font-family CDATA #IMPLIED
-  font-style CDATA #IMPLIED
-  font-variant CDATA #IMPLIED
-  font-weight CDATA #IMPLIED
-  font-stretch CDATA #IMPLIED
-  font-size CDATA #IMPLIED
-  unicode-range CDATA #IMPLIED
-  units-per-em %Number; #IMPLIED
-  panose-1 CDATA #IMPLIED
-  stemv %Number; #IMPLIED
-  stemh %Number; #IMPLIED
-  slope %Number; #IMPLIED
-  cap-height %Number; #IMPLIED
-  x-height %Number; #IMPLIED
-  accent-height %Number; #IMPLIED
-  ascent %Number; #IMPLIED
-  descent %Number; #IMPLIED
-  widths CDATA #IMPLIED
-  bbox CDATA #IMPLIED
-  ideographic %Number; #IMPLIED
-  alphabetic %Number; #IMPLIED
-  mathematical %Number; #IMPLIED
-  hanging %Number; #IMPLIED
-  v-ideographic %Number; #IMPLIED
-  v-alphabetic %Number; #IMPLIED
-  v-mathematical %Number; #IMPLIED
-  v-hanging %Number; #IMPLIED
-  underline-position %Number; #IMPLIED
-  underline-thickness %Number; #IMPLIED
-  strikethrough-position %Number; #IMPLIED
-  strikethrough-thickness %Number; #IMPLIED
-  overline-position %Number; #IMPLIED
-  overline-thickness %Number; #IMPLIED >
-
-<!ELEMENT font-face-src (font-face-uri|font-face-name)+ >
-<!ATTLIST font-face-src 
-  %stdAttrs; >
-
-<!ELEMENT font-face-uri (font-face-format*) >
-<!ATTLIST font-face-uri 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-<!ELEMENT font-face-format EMPTY >
-<!ATTLIST font-face-format 
-  %stdAttrs;
-  string CDATA #IMPLIED >
-
-<!ELEMENT font-face-name EMPTY >
-<!ATTLIST font-face-name 
-  %stdAttrs;
-  name CDATA #IMPLIED >
-
-<!ELEMENT definition-src EMPTY >
-<!ATTLIST definition-src 
-  %stdAttrs;
-  %xlinkRefAttrs;
-  xlink:href %URI; #REQUIRED >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Metadata 
-     ============================================================== -->
-
-<!ENTITY % metadataExt "" >
-<!ELEMENT metadata (#PCDATA %metadataExt;)* >
-<!ATTLIST metadata
-  %stdAttrs; >
-
-
-<!-- ==============================================================
-     DECLARATIONS CORRESPONDING TO: Extensibility 
-     ============================================================== -->
-
-<!ENTITY % foreignObjectExt "" >
-<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
-<!ATTLIST foreignObject
-  %stdAttrs;
-  %testAttrs;
-  %langSpaceAttrs;
-  externalResourcesRequired %Boolean; #IMPLIED
-  class %ClassList; #IMPLIED
-  style %StyleSheet; #IMPLIED
-  %PresentationAttributes-All;
-  transform %TransformList; #IMPLIED
-  %graphicsElementEvents;
-  x %Coordinate; #IMPLIED
-  y %Coordinate; #IMPLIED
-  width %Length; #REQUIRED
-  height %Length; #REQUIRED
-  %StructuredText; >
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.css b/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.css
deleted file mode 100644 (file)
index 51f7c18..0000000
+++ /dev/null
@@ -1,312 +0,0 @@
-       text.busintlabel {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  italic;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-       
-       text.buslabel {
-               fill:        #CC3333;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-                       
-       text.iplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: 800;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.iptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.procclass {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   7pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-               
-               
-       text.portlabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ipdbiflbl {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: bold;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-               
-       text.mmMHeader {
-               fill:        #FFFFFF;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mmSHeader {
-               fill:        #810017;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.dbglabel {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Times Arial Helvetica sans-serif;
-       }
-
-       text.iopnumb {
-               fill:        #555555;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.ioplblgrp {
-               fill:        #000088;
-               stroke:      none;
-               font-size:   10pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-       tspan.iopgrp {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               baseline-shift:super;
-               font-family: Arial Courier san-serif;
-       }
-
-
-       text.biflabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: 900;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-
-       }
-
-       text.p2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-       text.mpbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               writing-mode: tb;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.sharedbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    10pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.bciplabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Courier Arial Helvetica sans-serif;
-       }
-               
-       text.bciptype {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  italic;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.splitbustxt {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   6pt; 
-               font-style:  normal;
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: sans-serif;
-       }
-
-       text.horizp2pbuslabel {
-               fill:         #000000;
-               stroke:       none;
-               font-size:    6pt; 
-               font-style:   italic;
-               font-weight:  bold; 
-               text-anchor:  start;
-               font-family:  Verdana Arial Helvetica sans-serif;
-       }
-
-
-
-       text.keytitle {
-               fill:        #AA0017;
-               stroke:      none;
-               font-size:   12pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keyheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.keylabel {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.keylblul {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               text-decoration: underline;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsheader {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   10pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-       text.specsvalue {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-       text.specsvaluemid {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-style:  italic; 
-               font-weight: bold;
-               text-anchor: middle;
-               font-family: Verdana Arial Helvetica sans-serif;
-       }
-
-
-       text.intrsymbol {
-               fill:        #000000;
-               stroke:      none;
-               font-size:   8pt; 
-               font-weight: bold;
-               text-anchor: start;
-               font-family: Arial Helvetica sans-serif;
-       }
-
-
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.html b/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.html
deleted file mode 100644 (file)
index 39f8348..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-<HTML xmlns:exsl="http://exslt.org/common" xmlns:xlink="http://www.w3.org/1999/xlink">
-<HEAD>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<TITLE>Block Diagram</TITLE>
-</HEAD>
-<BODY class="main_body">
-<EMBED src="system.svg" width="992" height="1413" type="image/svg+xml"></EMBED><BR><BR><TABLE BGCOLOR="#000000" WIDTH="850" COLS="8" cellspacing="1" cellpadding="1" border="0">
-<TD COLSPAN="8" ALIGN="middle" BGCOLOR="#810017"><SPAN style="color:#FFFFFF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">EXTERNAL PORTS</SPAN></TD>
-<TR></TR>
-<TD COLSPAN="8" ALIGN="middle" bgcolor="#FFFFFF"><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">
-                               These are the external ports defined in the MHS file.
-                       </SPAN></TD>
-<TR></TR>
-<TD COLSPAN="8" ALIGN="left" bgcolor="#FFFFFF">
-<SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">Attributes Key</SPAN><BR><SPAN style="color:#000000; 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><BR><SPAN style="color:#55FF55; font: bold 12px Verdana,Arial,Helvetica,sans-serif">CLK</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  indicates Clock ports, (SIGIS = CLK) </SPAN><BR><SPAN style="color:#5555FF; font: bold 12px Verdana,Arial,Helvetica,sans-serif">INTR</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  indicates Interrupt ports,(SIGIS = INTR) </SPAN><BR><SPAN style="color:#FFCC00; font: bold 12px Verdana,Arial,Helvetica,sans-serif">RESET</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  indicates Reset ports, (SIGIS = RST) </SPAN><BR><SPAN style="color:#FF5555; font: bold 12px Verdana,Arial,Helvetica,sans-serif">BUF or REG</SPAN><SPAN style="color:#2233FF; font: bold 9px Verdana,Arial,Helvetica,sans-serif">  Indicates ports that instantiate or infer IOB primitives, (IOB_STATE = BUF or REG) </SPAN>
-</TD>
-<TR></TR>
-<TD COLSPAN="7" ALIGN="left" bgcolor="#FFFFFF"><TABLE BGCOLOR="#000000" WIDTH="100%" COLS="9" cellspacing="1" cellpadding="0" border="0">
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">#</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">NAME</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">DIR</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">[LSB:MSB]</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">SIG</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#BBBBBB"><SPAN style="color:#810017; font: bold 10px Verdana,Arial,Helvetica,sans-serif">ATTRIBUTES</SPAN></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_RX_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_RX</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_TX_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_RS232_Uart_TX</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_4Bit_GPIO_IO_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:3</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_4Bit_GPIO_IO</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_Positions_GPIO_IO_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:4</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_LEDs_Positions_GPIO_IO</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_A_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">9:29</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_A</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_BEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:3</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_BEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_WEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_WEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_DQ_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">IO</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:31</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_DQ</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_OEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:0</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_OEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_CEN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">0:0</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_CEN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_ADV_LDN_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_Mem_ADV_LDN</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">fpga_0_SRAM_CLOCK</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">O</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_clk_s</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_clk_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">dcm_clk_s</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#55FF55; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> CLK </SPAN></TD>
-<TR></TR>
-<TD COLSPAN="1" width="5%" align="left" bgcolor="#FFFFFF">
-<SPAN style="color:#000000; font: bold 14px Verdana,Arial,Helvetica,sans-serif"></SPAN><SPAN style="color:#000000; vertical-align: super; font: bold 10px Arial,Helvetica,sans-serif"></SPAN>
-</TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_rst_pin</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold   10px Verdana,Arial,Helvetica,sans-serif">I</SPAN></TD>
-<TD COLSPAN="1" width="5%" align="middle" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: bold 10px Verdana,Arial,Helvetica,sans-serif">1</SPAN></TD>
-<TD COLSPAN="2" width="30%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#000000; font: normal 12px Verdana,Arial,Helvetica,sans-serif">sys_rst_s</SPAN></TD>
-<TD COLSPAN="2" width="25%" align="left" bgcolor="#FFFFFF"><SPAN style="color:#FFCC00; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> RESET </SPAN></TD>
-</TABLE></TD>
-</TABLE>
-<BR>
-</BODY>
-</HTML>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.svg b/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.svg
deleted file mode 100644 (file)
index 4af3f7f..0000000
+++ /dev/null
@@ -1,1427 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "svg10.dtd">
-<?xml-stylesheet href="system.css" type="text/css"?>
-<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:exsl="http://exslt.org/common" xmlns:xlink="http://www.w3.org/1999/xlink" width="992" height="1413" viewBox="0 0 0 2826">
-  <defs>
-    <symbol id="KEY_IntrCntrl">
-      <rect x="0" y="0" rx="3" ry="3" width="9" height="18" style="fill:#888888; stroke:none; stroke-width:1"/>
-      <line x1="0" y1="5" x2="9" y2="5" style="stroke:#000000;stroke-width:2"/>
-      <text class="intrsymbol" x="1.5" y="16">x</text>
-    </symbol>
-    <symbol id="KEY_IntrdProc">
-      <rect x="0" y="0" rx="3" ry="3" width="9" height="18" style="fill:#888888; stroke:none; stroke-width:1"/>
-      <line x1="0" y1="3" x2="9" y2="3" style="stroke:#000000;stroke-width:1"/>
-      <line x1="0" y1="7" x2="9" y2="7" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="1.5" y="16">x</text>
-    </symbol>
-    <symbol id="KEY_IntrSrc">
-      <rect x="0" y="0" rx="3" ry="3" width="18" height="9" style="fill:#888888; stroke:none; stroke-width:1"/>
-      <line x1="9" y1="0" x2="9" y2="9" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="2" y="7">y</text>
-      <text class="intrsymbol" x="11" y="7">x</text>
-    </symbol>
-    <symbol id="BlkDiagram_Key">
-      <rect x="0" y="0" width="468" height="250" style="fill:#CCCCCC; stroke:none;"/>
-      <rect x="0" y="0" width="468" height="16" style="fill:#CCCCCC; stroke:none;"/>
-      <text class="keytitle" x="234 " y="14">KEY</text>
-      <rect x="0" y="16" width="468" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="keyheader" x="234 " y="30">SYMBOLS</text>
-      <use x="32" y="47" xlink:href="#KEY_Bif" transform="scale(0.75)"/>
-      <text class="keylabel" x="12" y="60">bus interface</text>
-      <use x="20" y="68" xlink:href="#KEY_SharedBus"/>
-      <text class="keylabel" x="12" y="85">shared bus</text>
-      <text class="keylblul" x="110" y="47">Bus connections</text>
-      <use x="110" y="58" xlink:href="#KEY_busconn_MASTER"/>
-      <text class="keylabel" x="140" y="72">master or initiator</text>
-      <use x="110" y="86" xlink:href="#KEY_busconn_SLAVE"/>
-      <text class="keylabel" x="140" y="100">slave or target</text>
-      <use x="110" y="114" xlink:href="#KEY_busconn_MASTER_SLAVE"/>
-      <text class="keylabel" x="140" y="128">master slave</text>
-      <use x="110" y="142" xlink:href="#KEY_busconn_MONITOR"/>
-      <text class="keylabel" x="140" y="156">monitor</text>
-      <text class="keylblul" x="258" y="47">External Ports</text>
-      <use x="258" y="58" xlink:href="#KEY_INPort"/>
-      <text class="keylabel" x="288" y="72">input</text>
-      <use x="258" y="78" xlink:href="#KEY_OUTPort"/>
-      <text class="keylabel" x="288" y="92">output</text>
-      <use x="258" y="98" xlink:href="#KEY_INOUTPort"/>
-      <text class="keylabel" x="288" y="112">inout</text>
-      <text class="keylblul" x="380" y="47">Interrupts</text>
-      <use x="380" y="58" xlink:href="#KEY_IntrCntrl"/>
-      <text class="keylabel" x="396" y="64">interrupt</text>
-      <text class="keylabel" x="396" y="74">controller</text>
-      <use x="380" y="88" xlink:href="#KEY_IntrdProc"/>
-      <text class="keylabel" x="396" y="94">interrupted</text>
-      <text class="keylabel" x="396" y="104">processor</text>
-      <use x="380" y="118" xlink:href="#KEY_IntrSrc"/>
-      <text class="keylabel" x="400" y="124">interrupt</text>
-      <text class="keylabel" x="400" y="134">source</text>
-      <text class="keylabel" x="360" y="146">x = controller ID</text>
-      <text class="keylabel" x="360" y="156">y = priority</text>
-      <rect x="0" y="160" width="468" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="keyheader" x="234 " y="172">COLORS</text>
-      <text class="keylblul" x="110" y="190">Bus Standards</text>
-      <rect x="12" y="200" width="24" height="24" style="fill:#6699FF; stroke:none;"/>
-      <text class="keylabel" x="40" y="220">DCR</text>
-      <rect x="12" y="228" width="24" height="24" style="fill:#8C00FF; stroke:none;"/>
-      <text class="keylabel" x="40" y="240">FCB</text>
-      <rect x="84" y="200" width="24" height="24" style="fill:#CC00CC; stroke:none;"/>
-      <text class="keylabel" x="112" y="220">FSL</text>
-      <rect x="84" y="228" width="24" height="24" style="fill:#7777FF; stroke:none;"/>
-      <text class="keylabel" x="112" y="240">LMB</text>
-      <rect x="156" y="200" width="24" height="24" style="fill:#339900; stroke:none;"/>
-      <text class="keylabel" x="184" y="220">OPB</text>
-      <rect x="156" y="228" width="24" height="24" style="fill:#FF5500; stroke:none;"/>
-      <text class="keylabel" x="184" y="240">PLB</text>
-      <rect x="228" y="200" width="24" height="24" style="fill:#0000DD; stroke:none;"/>
-      <text class="keylabel" x="256" y="220">SOCM</text>
-      <rect x="228" y="228" width="24" height="24" style="fill:#990066; stroke:none;"/>
-      <text class="keylabel" x="256" y="240">XIL (prefix) P2P</text>
-      <rect x="300" y="200" width="24" height="24" style="fill:#009999; stroke:none;"/>
-      <text class="keylabel" x="328" y="220">GEN. P2P, USER, etc</text>
-    </symbol>
-    <symbol id="BlkDiagram_Specs">
-      <rect x="0" y="0" width="300" height="100" style="fill:#CCCCCC; stroke:none;"/>
-      <rect x="0" y="0" width="300" height="16" style="fill:#CCCCCC; stroke:none;"/>
-      <text class="keytitle" x="150 " y="14">SPECS</text>
-      <rect x="0" y="20" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="32">EDK VERSION</text>
-      <text class="specsvaluemid" x="241" y="32">10.1</text>
-      <rect x="0" y="40" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="52">ARCH</text>
-      <text class="specsvaluemid" x="241" y="52">virtex4</text>
-      <rect x="0" y="60" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="72">PART</text>
-      <text class="specsvaluemid" x="241" y="72">xc4vfx12ff668-10</text>
-      <rect x="0" y="80" width="300" height="16" style="fill:#EEEEEE; stroke:none;"/>
-      <text class="specsheader" x="4" y="92">GENERATED</text>
-      <text class="specsvalue" x="138.5" y="92">Sun Mar 30 21:27:05 2008
-</text>
-    </symbol>
-    <symbol id="G_IOPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#CCCCFF; stroke:#000088; stroke-width:1"/>
-      <path class="ioport" d="M   0,0      L   16,8      L   0,16      Z" style="stroke:none; fill:#0000BB"/>
-    </symbol>
-    <symbol id="G_BIPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#CCCCFF; stroke:#000088; stroke-width:1"/>
-      <path class="btop" d="M 0,8      8,0      16,8      Z" style="stroke:none; fill:#0000BB"/>
-      <path class="bbot" d="M 0,8      8,16      16,8      Z" style="stroke:none; fill:#0000BB"/>
-    </symbol>
-    <symbol id="KEY_IOPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#888888; stroke:none;"/>
-      <path class="ioport" d="M   0,0      L   16,8      L   0,16      Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BIPort">
-      <rect x="0" y="0" width="16" height="16" style="fill:#888888; stroke:none;"/>
-      <path class="btop" d="M 0,8      8,0      16,8      Z" style="stroke:none; fill:#444444"/>
-      <path class="bbot" d="M 0,8      8,16      16,8      Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_INPort">
-      <use x="0" y="0" xlink:href="#KEY_IOPort"/>
-      <rect x="16" y="0" width="8" height="16" style="fill:#0000BB; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_OUTPort">
-      <use x="0" y="0" xlink:href="#KEY_IOPort" transform="scale(-1,1) translate(-16,0)"/>
-      <rect x="16" y="0" width="8" height="16" style="fill:#0000BB; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_INOUTPort">
-      <use x="0" y="0" xlink:href="#KEY_BIPort"/>
-      <rect x="16" y="0" width="8" height="16" style="fill:#0000BB; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#990066; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="XIL_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#990066; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#CC3399; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#990066; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#990066; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#0000DD; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="OCM_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#0000DD; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#9999DD; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#0000DD; stroke:none;"/>
-    </symbol>
-    <symbol id="OCM_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#0000DD; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#339900; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="OPB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#339900; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#CCDDCC; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#339900; stroke:none;"/>
-    </symbol>
-    <symbol id="OPB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#339900; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#7777FF; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="LMB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#7777FF; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#DDDDFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#7777FF; stroke:none;"/>
-    </symbol>
-    <symbol id="LMB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#7777FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#CC00CC; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="FSL_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#CC00CC; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBBFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#CC00CC; stroke:none;"/>
-    </symbol>
-    <symbol id="FSL_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#CC00CC; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#6699FF; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="DCR_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#6699FF; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#BBDDFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#6699FF; stroke:none;"/>
-    </symbol>
-    <symbol id="DCR_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#6699FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#8C00FF; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="FCB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#8C00FF; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#CCCCFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#8C00FF; stroke:none;"/>
-    </symbol>
-    <symbol id="FCB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#8C00FF; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#FF5500; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="PLB_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#FF5500; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFBB00; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FF5500; stroke:none;"/>
-    </symbol>
-    <symbol id="PLB_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#FF5500; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#BB9955; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#BB9955; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFDD; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#BB9955; stroke:none;"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#BB9955; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TRS_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRS_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TRANS_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANS_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TRANSPARENT_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="TARGET_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="TARGET_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#009999; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#009999; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#00CCCC; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#009999; stroke:none;"/>
-    </symbol>
-    <symbol id="INITIATOR_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#009999; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_Bif">
-      <rect x="0" y="0" rx="3" ry="3" width="32" height="16" style="fill:#444444; stroke:black; stroke-width:1"/>
-    </symbol>
-    <symbol id="KEY_busconn_MASTER">
-      <rect x="0" y="0" width="24" height="24" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_INITIATOR">
-      <rect x="0" y="0" width="24" height="24" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <rect x="5.5" y="5" width="14" height="14" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_TARGET">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_MASTER_SLAVE">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-      <rect x="0" y="12" width="24" height="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <rect x="5.5" y="12" width="14" height="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_MONITOR">
-      <rect x="0" y="0.5" width="24" height="7" style="fill:#444444; stroke:none;"/>
-      <rect x="0" y="16" width="24" height="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_TRANSPARENT">
-      <circle cx="12" cy="12" r="12" style="fill:#888888; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#444444; stroke:none;"/>
-    </symbol>
-    <symbol id="KEY_busconn_">
-      <circle cx="12" cy="12" r="12" style="fill:#FFFFFF; stroke:#444444; stroke-width:1"/>
-      <circle cx="12.5" cy="12" r="7" style="fill:#FFFFFF; stroke:none;"/>
-    </symbol>
-    <symbol id="XIL_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_BusArrowWest">
-      <use x="0" y="0" xlink:href="#XIL_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="XIL_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#XIL_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="XIL_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#XIL_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="XIL_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#XIL_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="XIL_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#990066"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#990066"/>
-    </symbol>
-    <symbol id="OCM_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_BusArrowWest">
-      <use x="0" y="0" xlink:href="#OCM_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="OCM_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#OCM_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="OCM_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#OCM_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OCM_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#OCM_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="OCM_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#0000DD"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#0000DD"/>
-    </symbol>
-    <symbol id="OPB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="OPB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="OPB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="OPB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#OPB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="OPB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#339900"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="LMB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#LMB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="LMB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#LMB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="LMB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#LMB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="LMB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#LMB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="LMB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#7777FF"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#7777FF"/>
-    </symbol>
-    <symbol id="FSL_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_BusArrowWest">
-      <use x="0" y="0" xlink:href="#FSL_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="FSL_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#FSL_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="FSL_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#FSL_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="FSL_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#FSL_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="FSL_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#CC00CC"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#CC00CC"/>
-    </symbol>
-    <symbol id="DCR_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_BusArrowWest">
-      <use x="0" y="0" xlink:href="#DCR_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="DCR_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#DCR_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="DCR_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#DCR_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="DCR_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#DCR_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="DCR_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#6699FF"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#6699FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#FCB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="FCB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#FCB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="FCB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#FCB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="FCB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#FCB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="FCB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#8C00FF"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#8C00FF"/>
-    </symbol>
-    <symbol id="PLB_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_BusArrowWest">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="PLB_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="PLB_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLB_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#PLB_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="PLB_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#FF5500"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowWest">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="PLBV46_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#PLBV46_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="PLBV46_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowWest">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#PLBV46_P2P_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="PLBV46_P2P_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="TRS_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TRS_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TRS_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TRS_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TRS_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TRS_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRS_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TRS_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TRS_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TRANS_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TRANS_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TRANS_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TRANS_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANS_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TRANS_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TRANS_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TRANSPARENT_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TRANSPARENT_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TRANSPARENT_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TRANSPARENT_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowWest">
-      <use x="0" y="0" xlink:href="#TARGET_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#TARGET_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="TARGET_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#TARGET_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="TARGET_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#TARGET_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="TARGET_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowWest">
-      <use x="0" y="0" xlink:href="#INITIATOR_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#INITIATOR_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="INITIATOR_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#INITIATOR_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="INITIATOR_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#INITIATOR_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="INITIATOR_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#009999"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#009999"/>
-    </symbol>
-    <symbol id="KEY_BusArrowEast">
-      <path class="bus" d="M   0,0      L     8, 6      L   0,12,       Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BusArrowWest">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowEast" transform="scale(-1,1) translate(-8,0)"/>
-    </symbol>
-    <symbol id="KEY_BusArrowHInitiator">
-      <rect x="0" y="2" width="8" height="8" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BusArrowSouth">
-      <path class="bus" d="M   0,0      L   8,0      L   4, 12      Z" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_BusArrowNorth">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowSouth" transform="scale(1,-1) translate(0,-12)"/>
-    </symbol>
-    <symbol id="KEY_BusArrowInitiator">
-      <rect x="2" y="0" width="4" height="12" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_SplitBus_EAST">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowWest"/>
-      <rect x="8" y="2" width="24" height="8" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="KEY_SplitBus_WEST">
-      <use x="0" y="0" xlink:href="#KEY_SplitBus_EAST" transform="scale(-1,1) translate(-46,0)"/>
-    </symbol>
-    <symbol id="KEY_SplitBus_OneWay">
-      <rect x="0" y="2" width="16" height="8" style="stroke:none; fill:#444444"/>
-      <rect x="16" y="0" width="12" height="12" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="PLB_SharedBus">
-      <use x="0" y="0" xlink:href="#PLB_BusArrowWest"/>
-      <use x="766" y="0" xlink:href="#PLB_BusArrowEast"/>
-      <rect x="8" y="2" width="758" height="8" style="stroke:none; fill:#FF5500"/>
-    </symbol>
-    <symbol id="PLBV46_SharedBus">
-      <use x="0" y="0" xlink:href="#PLBV46_BusArrowWest"/>
-      <use x="766" y="0" xlink:href="#PLBV46_BusArrowEast"/>
-      <rect x="8" y="2" width="758" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="OPB_SharedBus">
-      <use x="0" y="0" xlink:href="#OPB_BusArrowWest"/>
-      <use x="766" y="0" xlink:href="#OPB_BusArrowEast"/>
-      <rect x="8" y="2" width="758" height="8" style="stroke:none; fill:#339900"/>
-    </symbol>
-    <symbol id="group_sharedBusses">
-      <use x="0" y="0" xlink:href="#PLBV46_SharedBus"/>
-      <text class="sharedbuslabel" x="8" y="22">plb</text>
-    </symbol>
-    <symbol id="KEY_SharedBus">
-      <use x="0" y="0" xlink:href="#KEY_BusArrowWest"/>
-      <use x="30" y="0" xlink:href="#KEY_BusArrowEast"/>
-      <rect x="8" y="2" width="22" height="8" style="stroke:none; fill:#444444"/>
-    </symbol>
-    <symbol id="sbsbktmodule_LEDs_4Bit">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">A</text>
-      <text class="bciptype" x="45" y="64">xps_gpio</text>
-      <text class="bciplabel" x="45" y="72">LEDs_4Bit</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_LEDs_Positions">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">B</text>
-      <text class="bciptype" x="45" y="64">xps_gpio</text>
-      <text class="bciplabel" x="45" y="72">LEDs_Positions</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_RS232_Uart">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">C</text>
-      <text class="bciptype" x="45" y="64">xps_uartlite</text>
-      <text class="bciplabel" x="45" y="72">RS232_Uart</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-      <rect x="72" y="24" rx="3" ry="3" width="18" height="9" style="fill:#FF9900; stroke:none; stroke-width:1"/>
-      <line x1="81" y1="24" x2="81" y2="33" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="74" y="32">0</text>
-      <text class="intrsymbol" x="83" y="32">0</text>
-    </symbol>
-    <symbol id="sbsbktmodule_SRAM">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <rect x="11" y="76" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="90">D</text>
-      <text class="bciptype" x="45" y="64">xps_mch_emc</text>
-      <text class="bciplabel" x="45" y="72">SRAM</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-    </symbol>
-    <symbol id="sbsbktmodule_xps_intc_0">
-      <rect x="0" y="24" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="56" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="64">xps_intc</text>
-      <text class="bciplabel" x="45" y="72">xps_intc_0</text>
-      <use x="29" y="28" xlink:href="#PLBV46_Bif"/>
-      <use x="33" y="0" xlink:href="#PLBV46_busconn_SLAVE"/>
-      <text class="biflabel" x="45" y="39">SPLB</text>
-      <rect x="81" y="27" rx="3" ry="3" width="9" height="18" style="fill:#FF9900; stroke:none; stroke-width:1"/>
-      <line x1="81" y1="32" x2="90" y2="32" style="stroke:#000000;stroke-width:2"/>
-      <text class="intrsymbol" x="83" y="44">0</text>
-    </symbol>
-    <symbol id="sbsbucket_plb">
-      <rect x="0" y="0" rx="4" ry="4" width="334" height="244" style="stroke-width:2; stroke:#BB9955; fill:#FFFFDD"/>
-      <use x="16" y="16" xlink:href="#sbsbktmodule_LEDs_4Bit"/>
-      <rect x="0" y="24" width="61" height="8" style="fill:#BB9955"/>
-      <use x="122" y="16" xlink:href="#sbsbktmodule_LEDs_Positions"/>
-      <rect x="61" y="24" width="106" height="8" style="fill:#BB9955"/>
-      <use x="228" y="16" xlink:href="#sbsbktmodule_RS232_Uart"/>
-      <rect x="167" y="24" width="106" height="8" style="fill:#BB9955"/>
-      <use x="16" y="130" xlink:href="#sbsbktmodule_SRAM"/>
-      <rect x="0" y="138" width="61" height="8" style="fill:#BB9955"/>
-      <use x="122" y="130" xlink:href="#sbsbktmodule_xps_intc_0"/>
-      <rect x="61" y="138" width="106" height="8" style="fill:#BB9955"/>
-      <rect x="0" y="24" width="8" height="114" style="fill:#BB9955"/>
-    </symbol>
-    <symbol id="ipbktmodule_SRAM_util_bus_split_1">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#000000; stroke-width:2"/>
-      <rect x="11" y="18" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="26">util_bus_split</text>
-      <text class="bciplabel" x="45" y="34">SRAM_util_bus_split_1</text>
-      <rect x="11" y="38" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="52">E</text>
-    </symbol>
-    <symbol id="ipbktmodule_clock_generator_0">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#000000; stroke-width:2"/>
-      <rect x="11" y="18" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="26">clock_generator</text>
-      <text class="bciplabel" x="45" y="34">clock_generator_0</text>
-      <rect x="11" y="38" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="52">F</text>
-    </symbol>
-    <symbol id="ipbucket">
-      <rect x="0" y="0" rx="4" ry="4" width="228" height="106" style="stroke-width:2; stroke:#000000; fill:#CCCCFF"/>
-      <use x="16" y="16" xlink:href="#ipbktmodule_SRAM_util_bus_split_1"/>
-      <use x="122" y="16" xlink:href="#ipbktmodule_clock_generator_0"/>
-    </symbol>
-    <symbol id="symbol_STACK_0_SHAPE_0">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="4" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="12">jtagppc_cntlr</text>
-      <text class="bciplabel" x="45" y="20">jtagppc_0</text>
-      <line x1="0" y1="64" x2="11" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="11" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="27" y="65">JTAG</text>
-    </symbol>
-    <symbol id="symbol_STACK_0_SHAPE_1">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="74" style="fill:#CCCCCC; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="4" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="12">proc_sys_reset</text>
-      <text class="bciplabel" x="45" y="20">proc_sys_reset_0</text>
-      <rect x="11" y="24" rx="3" ry="3" width="68" height="16" style="fill:#CCCCFF; stroke:none;"/>
-      <text class="ioplblgrp" x="45" y="38">G</text>
-      <line x1="79" y1="64" x2="91" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="47" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="63" y="65">RESE</text>
-    </symbol>
-    <symbol id="symbol_STACK_0_SHAPE_2">
-      <rect x="0" y="0" rx="6" ry="6" width="90" height="114" style="fill:#90001C; stroke:#FFFFFF; stroke-width:2"/>
-      <rect x="11" y="4" rx="3" ry="3" width="68" height="38" style="fill:#FFFFFF; stroke:none;"/>
-      <text class="bciptype" x="45" y="12">ppc405_virtex4</text>
-      <text class="bciplabel" x="45" y="20">ppc405_0</text>
-      <line x1="0" y1="64" x2="11" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="11" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="27" y="65">JTAG</text>
-      <line x1="79" y1="92" x2="91" y2="92" style="stroke:#BB9955;stroke-width:1"/>
-      <use x="47" y="82" xlink:href="#PLBV46_Bif"/>
-      <text class="biflabel" x="63" y="93">IPLB0</text>
-      <line x1="0" y1="92" x2="11" y2="92" style="stroke:#BB9955;stroke-width:1"/>
-      <use x="11" y="82" xlink:href="#PLBV46_Bif"/>
-      <text class="biflabel" x="27" y="93">DPLB0</text>
-      <line x1="79" y1="64" x2="91" y2="64" style="stroke:#990066;stroke-width:1"/>
-      <use x="47" y="54" xlink:href="#XIL_Bif"/>
-      <text class="biflabel" x="63" y="65">RESE</text>
-      <rect x="81" y="3" rx="3" ry="3" width="9" height="18" style="fill:#FF9900; stroke:none; stroke-width:1"/>
-      <line x1="81" y1="6" x2="90" y2="6" style="stroke:#000000;stroke-width:1"/>
-      <line x1="81" y1="10" x2="90" y2="10" style="stroke:#000000;stroke-width:1"/>
-      <text class="intrsymbol" x="83" y="20">0</text>
-    </symbol>
-    <symbol id="symbol_STACK_0">
-      <rect x="0" y="0" rx="6" ry="6" width="334" height="0" style="fill:#CCCCCC; stroke:none;"/>
-      <use x="122" y="0" xlink:href="#symbol_STACK_0_SHAPE_0"/>
-      <use x="122" y="90" xlink:href="#symbol_STACK_0_SHAPE_1"/>
-      <use x="0" y="436" xlink:href="#sbsbucket_plb"/>
-      <text class="ipclass" x="0" y="432">SLAVES OF plb</text>
-      <use x="122" y="180" xlink:href="#symbol_STACK_0_SHAPE_2"/>
-      <text class="ipclass" x="122" y="176">PROCESSOR</text>
-    </symbol>
-    <symbol id="symbol_SPACE_WEST_NONE_EAST_0">
-      <rect x="96" y="58" width="8" height="188" style="stroke:none;fill:#990066"/>
-      <text class="p2pbuslabel" x="108" y="86">jtagppc_0_0</text>
-      <use x="258" y="230" xlink:href="#XIL_busconn_TARGET"/>
-      <use x="250" y="236" xlink:href="#XIL_BusArrowEast"/>
-      <rect x="100" y="238" width="150" height="8" style="stroke:none; fill:#990066"/>
-      <use x="258" y="50" xlink:href="#XIL_busconn_INITIATOR"/>
-      <use x="250" y="56" xlink:href="#XIL_BusArrowEast"/>
-      <rect x="100" y="58" width="150" height="8" style="stroke:none; fill:#990066"/>
-      <use x="258" y="258" xlink:href="#PLBV46_busconn_MASTER"/>
-      <rect x="88" y="272" width="8" height="64" style="stroke:none; fill:#BB9955"/>
-      <rect x="88" y="266" width="176" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="52" y="340" width="8" height="127" style="stroke:none; fill:#BB9955"/>
-      <rect x="52" y="460" width="220" height="8" style="stroke:none; fill:#BB9955"/>
-    </symbol>
-    <symbol id="symbol_SPACE_WEST_0_EAST_NONE">
-      <use x="45" y="258" xlink:href="#PLBV46_busconn_MASTER"/>
-      <rect x="223" y="272" width="8" height="64" style="stroke:none; fill:#BB9955"/>
-      <rect x="64" y="266" width="167" height="8" style="stroke:none; fill:#BB9955"/>
-      <rect x="223" y="148" width="8" height="98" style="stroke:none;fill:#990066"/>
-      <text class="p2pbuslabel" x="235" y="176">ppc_reset_bus</text>
-      <use x="45" y="230" xlink:href="#XIL_busconn_TARGET"/>
-      <use x="69" y="236" xlink:href="#XIL_BusArrowWest"/>
-      <rect x="76" y="238" width="152" height="8" style="stroke:none; fill:#990066"/>
-      <use x="45" y="140" xlink:href="#XIL_busconn_INITIATOR"/>
-      <use x="69" y="146" xlink:href="#XIL_BusArrowWest"/>
-      <rect x="76" y="148" width="152" height="8" style="stroke:none; fill:#990066"/>
-    </symbol>
-  </defs>
-  <rect x="0" y="0" width="992" height="1413" style="fill:#FFFFFF; stroke:#000000;stroke-width:4"/>
-  <rect x="48" y="40" width="896" height="1072" style="fill:#000088"/>
-  <rect x="64" y="56" width="864" height="1040" rx="8" ry="8" style="fill:#CCCCCC"/>
-  <use x="32" y="468" id="fpga_0_RS232_Uart_RX_pin" xlink:href="#G_IOPort" transform="rotate(0,40,476)"/>
-  <text class="iopnumb" x="22" y="482"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="496" id="fpga_0_RS232_Uart_TX_pin" xlink:href="#G_IOPort" transform="rotate(180,40,504)"/>
-  <text class="iopnumb" x="22" y="510"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="524" id="fpga_0_LEDs_4Bit_GPIO_IO_pin" xlink:href="#G_BIPort" transform="rotate(0,40,532)"/>
-  <text class="iopnumb" x="22" y="538"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="552" id="fpga_0_LEDs_Positions_GPIO_IO_pin" xlink:href="#G_BIPort" transform="rotate(0,40,560)"/>
-  <text class="iopnumb" x="22" y="566"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="580" id="fpga_0_SRAM_Mem_A_pin" xlink:href="#G_IOPort" transform="rotate(180,40,588)"/>
-  <text class="iopnumb" x="22" y="594"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="608" id="fpga_0_SRAM_Mem_BEN_pin" xlink:href="#G_IOPort" transform="rotate(180,40,616)"/>
-  <text class="iopnumb" x="22" y="622"><tspan class="iopgrp"></tspan></text>
-  <use x="32" y="636" id="fpga_0_SRAM_Mem_WEN_pin" xlink:href="#G_IOPort" transform="rotate(180,40,644)"/>
-  <text class="iopnumb" x="22" y="650"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="468" id="fpga_0_SRAM_Mem_DQ_pin" xlink:href="#G_BIPort" transform="rotate(0,952,476)"/>
-  <text class="iopnumb" x="972" y="482"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="496" id="fpga_0_SRAM_Mem_OEN_pin" xlink:href="#G_IOPort" transform="rotate(0,952,504)"/>
-  <text class="iopnumb" x="972" y="510"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="524" id="fpga_0_SRAM_Mem_CEN_pin" xlink:href="#G_IOPort" transform="rotate(0,952,532)"/>
-  <text class="iopnumb" x="972" y="538"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="552" id="fpga_0_SRAM_Mem_ADV_LDN_pin" xlink:href="#G_IOPort" transform="rotate(0,952,560)"/>
-  <text class="iopnumb" x="972" y="566"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="580" id="fpga_0_SRAM_CLOCK" xlink:href="#G_IOPort" transform="rotate(0,952,588)"/>
-  <text class="iopnumb" x="972" y="594"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="608" id="sys_clk_pin" xlink:href="#G_IOPort" transform="rotate(180,952,616)"/>
-  <text class="iopnumb" x="972" y="622"><tspan class="iopgrp"></tspan></text>
-  <use x="944" y="636" id="sys_rst_pin" xlink:href="#G_IOPort" transform="rotate(180,952,644)"/>
-  <text class="iopnumb" x="972" y="650"><tspan class="iopgrp"></tspan></text>
-  <use x="101" y="463" xlink:href="#group_sharedBusses"/>
-  <use x="269" y="133" xlink:href="#symbol_SPACE_WEST_NONE_EAST_0"/>
-  <use x="596" y="133" xlink:href="#symbol_SPACE_WEST_0_EAST_NONE"/>
-  <use x="429" y="133" xlink:href="#symbol_STACK_0"/>
-  <text class="ipclass" x="382" y="883">
-                               IP
-               </text>
-  <use x="382" y="887" xlink:href="#ipbucket"/>
-  <use x="476" y="1155" xlink:href="#BlkDiagram_Key"/>
-  <use x="48" y="1155" xlink:href="#BlkDiagram_Specs"/>
-</svg>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/data/system.ucf b/Demo/PPC405_Xilinx_Virtex4_GCC/data/system.ucf
deleted file mode 100644 (file)
index ed2e6bb..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-############################################################################\r
-## This system.ucf file is generated by Base System Builder based on the\r
-## settings in the selected Xilinx Board Definition file. Please add other\r
-## user constraints to this file based on customer design specifications.\r
-############################################################################\r
-\r
-Net sys_clk_pin LOC=AE14;\r
-Net sys_clk_pin IOSTANDARD = LVCMOS33;\r
-Net sys_rst_pin LOC=D6;\r
-Net sys_rst_pin PULLUP;\r
-## System level constraints\r
-Net sys_clk_pin TNM_NET = sys_clk_pin;\r
-TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 10000 ps;\r
-Net sys_rst_pin TIG;\r
-NET "ppc_reset_bus_Chip_Reset_Req" TPTHRU = "RST_GRP";\r
-NET "ppc_reset_bus_Core_Reset_Req" TPTHRU = "RST_GRP";\r
-NET "ppc_reset_bus_System_Reset_Req" TPTHRU = "RST_GRP";\r
-TIMESPEC "TS_RST1" = FROM CPUS THRU RST_GRP TO FFS  TIG;\r
-Net fpga_0_SRAM_CLOCK LOC=AF7;\r
-Net fpga_0_SRAM_CLOCK SLEW = FAST;\r
-Net fpga_0_SRAM_CLOCK IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_CLOCK DRIVE = 16;\r
-\r
-## IO Devices constraints\r
-\r
-#### Module RS232_Uart constraints\r
-\r
-Net fpga_0_RS232_Uart_RX_pin LOC=W2;\r
-Net fpga_0_RS232_Uart_RX_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_RS232_Uart_TX_pin LOC=W1;\r
-Net fpga_0_RS232_Uart_TX_pin IOSTANDARD = LVCMOS33;\r
-\r
-#### Module LEDs_4Bit constraints\r
-\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> LOC=G5;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> TIG;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> LOC=G6;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> TIG;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> LOC=A11;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> TIG;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> LOC=A12;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> PULLUP;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> SLEW = SLOW;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> DRIVE = 2;\r
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> TIG;\r
-\r
-#### Module LEDs_Positions constraints\r
-\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> LOC=C6;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> LOC=F9;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> LOC=A5;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> LOC=E10;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> TIG;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> LOC=E2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> IOSTANDARD = LVCMOS25;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> PULLUP;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> SLEW = SLOW;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> DRIVE = 2;\r
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> TIG;\r
-\r
-#### Module SRAM constraints\r
-\r
-Net fpga_0_SRAM_Mem_A_pin<29> LOC=Y1;\r
-Net fpga_0_SRAM_Mem_A_pin<29> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<29> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<29> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<28> LOC=Y2;\r
-Net fpga_0_SRAM_Mem_A_pin<28> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<28> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<28> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<27> LOC=AA1;\r
-Net fpga_0_SRAM_Mem_A_pin<27> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<27> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<27> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<26> LOC=AB1;\r
-Net fpga_0_SRAM_Mem_A_pin<26> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<26> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<26> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<25> LOC=AB2;\r
-Net fpga_0_SRAM_Mem_A_pin<25> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<25> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<25> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<24> LOC=AC1;\r
-Net fpga_0_SRAM_Mem_A_pin<24> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<24> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<24> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<23> LOC=AC2;\r
-Net fpga_0_SRAM_Mem_A_pin<23> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<23> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<23> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<22> LOC=AD1;\r
-Net fpga_0_SRAM_Mem_A_pin<22> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<22> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<22> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<21> LOC=AD2;\r
-Net fpga_0_SRAM_Mem_A_pin<21> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<21> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<21> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<20> LOC=AE3;\r
-Net fpga_0_SRAM_Mem_A_pin<20> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<20> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<20> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<19> LOC=AF3;\r
-Net fpga_0_SRAM_Mem_A_pin<19> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<19> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<19> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<18> LOC=W3;\r
-Net fpga_0_SRAM_Mem_A_pin<18> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<18> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<18> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<17> LOC=W6;\r
-Net fpga_0_SRAM_Mem_A_pin<17> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<17> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<17> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<16> LOC=W5;\r
-Net fpga_0_SRAM_Mem_A_pin<16> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<16> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<16> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<15> LOC=AA3;\r
-Net fpga_0_SRAM_Mem_A_pin<15> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<15> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<15> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<14> LOC=AA4;\r
-Net fpga_0_SRAM_Mem_A_pin<14> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<14> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<14> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<13> LOC=AB3;\r
-Net fpga_0_SRAM_Mem_A_pin<13> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<13> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<13> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<12> LOC=AB4;\r
-Net fpga_0_SRAM_Mem_A_pin<12> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<12> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<12> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<11> LOC=AC4;\r
-Net fpga_0_SRAM_Mem_A_pin<11> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<11> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<11> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<10> LOC=AB5;\r
-Net fpga_0_SRAM_Mem_A_pin<10> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<10> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<10> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_A_pin<9> LOC=AC5;\r
-Net fpga_0_SRAM_Mem_A_pin<9> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_A_pin<9> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_A_pin<9> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> LOC=Y6;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<3> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> LOC=Y5;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<2> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> LOC=Y4;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<1> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> LOC=Y3;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_BEN_pin<0> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_WEN_pin LOC=AB6;\r
-Net fpga_0_SRAM_Mem_WEN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_WEN_pin SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_WEN_pin DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> LOC=AD13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<31> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> LOC=AC13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<30> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> LOC=AC15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<29> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> LOC=AC16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<28> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> LOC=AA11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<27> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> LOC=AA12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<26> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> LOC=AD14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<25> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> LOC=AC14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<24> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> LOC=AA13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<23> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> LOC=AB13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<22> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> LOC=AA15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<21> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> LOC=AA16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<20> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> LOC=AC11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<19> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> LOC=AC12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<18> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> LOC=AB14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<17> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> LOC=AA14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<16> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> LOC=D12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<15> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> LOC=E13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<14> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> LOC=C16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<13> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> LOC=D16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<12> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> LOC=D11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<11> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> LOC=C11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<10> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> LOC=E14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<9> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> LOC=D15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<8> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> LOC=D13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<7> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> LOC=D14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<6> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> LOC=F15;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<5> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> LOC=F16;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<4> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> LOC=F11;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<3> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> LOC=F12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<2> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> LOC=F13;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<1> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> LOC=F14;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_DQ_pin<0> DRIVE = 12;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> LOC=AC6;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_OEN_pin<0> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> LOC=V7;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_CEN_pin<0> DRIVE = 8;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin LOC=W4;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin IOSTANDARD = LVCMOS33;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin SLEW = FAST;\r
-Net fpga_0_SRAM_Mem_ADV_LDN_pin DRIVE = 8;\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/etc/bitgen.ut b/Demo/PPC405_Xilinx_Virtex4_GCC/etc/bitgen.ut
deleted file mode 100644 (file)
index 9765363..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
--g CclkPin:PULLUP
--g TdoPin:PULLNONE
--g M1Pin:PULLDOWN
--g DonePin:PULLUP
--g DriveDone:No
--g StartUpClk:JTAGCLK
--g DONE_cycle:4
--g GTS_cycle:5
--g M0Pin:PULLUP
--g M2Pin:PULLUP
--g ProgPin:PULLUP
--g TckPin:PULLUP
--g TdiPin:PULLUP
--g TmsPin:PULLUP
--g DonePipe:No
--g GWE_cycle:6
--g LCK_cycle:NoWait
--g Security:NONE
-#-m
--g Persist:No
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/etc/download.cmd b/Demo/PPC405_Xilinx_Virtex4_GCC/etc/download.cmd
deleted file mode 100644 (file)
index 15728dc..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-setMode -bscan\r
-setCable -p auto\r
-identify\r
-assignfile -p 3 -file implementation/download.bit\r
-program -p 3\r
-quit\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/etc/fast_runtime.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/etc/fast_runtime.opt
deleted file mode 100644 (file)
index 6cc2599..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-FLOWTYPE = FPGA;
-###############################################################
-## Filename: fast_runtime.opt
-##
-## Option File For Xilinx FPGA Implementation Flow for Fast
-## Runtime.
-## 
-## Version: 4.1.1
-###############################################################
-#
-# Options for Translator
-#
-# Type "ngdbuild -h" for a detailed list of ngdbuild command line options
-#
-Program ngdbuild 
--p <partname>;        # Partname to use - picked from xflow commandline
--nt timestamp;        # NGO File generation. Regenerate only when
-                      # source netlist is newer than existing 
-                      # NGO file (default)
--bm <design>.bmm     # Block RAM memory map file
-<userdesign>;         # User design - pick from xflow command line
--uc <design>.ucf;     # ucf constraints
-<design>.ngd;         # Name of NGD file. Filebase same as design filebase
-End Program ngdbuild
-
-#
-# Options for Mapper
-#
-# Type "map -h <arch>" for a detailed list of map command line options
-#
-Program map
--o <design>_map.ncd;     # Output Mapped ncd file
--pr b;                   # Pack internal FF/latches into IOBs
-#-fp <design>.mfp;       # Floorplan file
--ol high;
--timing;
-<inputdir><design>.ngd;  # Input NGD file
-<inputdir><design>.pcf;  # Physical constraints file
-END Program map
-
-#
-# Options for Post Map Trace
-#
-# Type "trce -h" for a detailed list of trce command line options
-#
-Program post_map_trce
--e 3;                 # Produce error report limited to 3 items per constraint
-#-o <design>_map.twr;  # Output trace report file
--xml <design>_map.twx;     # Output XML version of the timing report
-#-tsi <design>_map.tsi; # Produce Timing Specification Interaction report
-<inputdir><design>_map.ncd;  # Input mapped ncd
-<inputdir><design>.pcf;      # Physical constraints file
-END Program post_map_trce
-
-#
-# Options for Place and Route
-#
-# Type "par -h" for a detailed list of par command line options
-#
-Program par
--w;                 # Overwrite existing placed and routed ncd
--ol high;              # Overall effort level
-<inputdir><design>_map.ncd;  # Input mapped NCD file
-<design>.ncd;                # Output placed and routed NCD
-<inputdir><design>.pcf;      # Input physical constraints file
-END Program par
-
-#
-# Options for Post Par Trace
-#
-# Type "trce -h" for a detailed list of trce command line options
-#
-Program post_par_trce
--e 3;                 # Produce error report limited to 3 items per constraint
-#-o <design>.twr;     # Output trace report file
--xml <design>.twx;    # Output XML version of the timing report
-#-tsi <design>.tsi;  # Produce Timing Specification Interaction report
-<inputdir><design>.ncd;   # Input placed and routed ncd
-<inputdir><design>.pcf;   # Physical constraints file
-END Program post_par_trce
-
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/etc/xmd_ppc405_0.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/etc/xmd_ppc405_0.opt
deleted file mode 100644 (file)
index 65076f3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-connect ppc hw -debugdevice cpunr 1\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/platgen.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/platgen.opt
deleted file mode 100644 (file)
index 1854735..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
--p\r
-xc4vfx12ff668-10\r
--lang\r
-vhdl\r
-system.mhs\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system.bsb b/Demo/PPC405_Xilinx_Virtex4_GCC/system.bsb
deleted file mode 100644 (file)
index 2901d85..0000000
+++ /dev/null
@@ -1 +0,0 @@
-\1a\84æÄ®Òôtt¦Êè¬ÊäæÒÞÜ@Db`\bDvC\84æÄ®Òôtt¦Êè\84ÞÂäÈ@D°ÒØÒÜðD@D¬ÒäèÊð@h@\9a\98h`f@\8aìÂØêÂèÒÞÜ@ ØÂèÌÞäÚD@DbDv,\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D\82¤\86\90\92¨\8a\86¨ª¤\8aD@DìÒäèÊðhDv,\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D\88\8a¬\92\86\8a¾¦\92´\8aD@DðÆhìÌðbdDv%\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D \82\86\96\82\8e\8aD@DÌÌllpDv&\84æÄ®ÒôttªàÈÂèÊ\8c \8e\82@D¦ \8a\8a\88\8e¤\82\88\8aD@DZb`Dv3\84æÄ®Òôtt¦Êè¦òæèÊÚ@DààÆh`j¾ìÒäèÊðh¾àØÄìhlD@Db\``\ÂDv,\84æÄ®ÒôttªàÈÂèÊ\86ØÞÆÖ@D\84ª¦¾\8c¤\8a¢D@Db``\``````Dv,\84æÄ®ÒôttªàÈÂèÊ\86ØÞÆÖ@D\86\98\96¾\8c¤\8a¢D@Db``\``````Dv-\84æÄ®ÒôttªàÈÂèÊ\86ØÞÆÖ@D ¤\9e\86¾\8c¤\8a¢D@Db``\``````Dv(\84æÄ®ÒôttªàÈÂèʦòæèÊÚ@D¤¦¨¾ \9e\98\82¤\92¨²D@D`Dv1\84æÄ®Òôtt\82ÈÈ äÞÆÊææÞä@DààÆh`j¾`D@DààÆh`j¾ìÒäèÊðhDv/\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\86\82\86\90\8aD@DbDv3\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\86¾ª¦\8a¾\8c ªD@D`Dv:\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\88\8a\84ª\8e¾\92\8cD@D\8c \8e\82@\94¨\82\8eDv6\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\88\9e\86\9a\92´\8aD@D\9c\9e\9c\8aDv6\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\92\9e\86\9a\92´\8aD@D\9c\9e\9c\8aDv2\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@DààÆh`j¾`D@D\9e\86\9a¾\9e\9c\98²D@D`Dv2\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D¤¦dfd¾ªÂäèD@Dðàæ¾êÂäèØÒèÊDv9\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾\84\82ª\88¤\82¨\8aD@Drl``Dv7\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾\88\82¨\82¾\84\92¨¦D@DpDv8\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾\9e\88\88¾ \82¤\92¨²D@D`Dv8\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\86¾ª¦\8a¾ \82¤\92¨²D@D`Dv<\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D\92\9e¨² \8aD@D°\92\98¾ª\82¤¨¾¬bDv<\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@Dª¦\8a¾\92\9c¨\8a¤¤ª ¨D@D¨¤ª\8aDv-\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D\98\8a\88æ¾h\84ÒèD@Dðàæ¾ÎàÒÞDv;\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D\98\8a\88æ¾h\84ÒèD@D\92\9e¨² \8aD@D°\92\98¾\8e \92\9e¾¬bDv2\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D\98\8a\88æ¾ ÞæÒèÒÞÜæD@Dðàæ¾ÎàÒÞDv@\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D\98\8a\88æ¾ ÞæÒèÒÞÜæD@D\92\9e¨² \8aD@D°\92\98¾\8e \92\9e¾¬bDv+\84æÄ®Òôtt\82ÈÈ ÊäÒàÐÊäÂØ@D¦¤\82\9aD@Dðàæ¾ÚÆоÊÚÆDv5\84æÄ®ÒôttªàÈÂèÊ\86ÞÚàÞÜÊÜè@D¦¤\82\9aD@D\92\9e¨² \8aD@D°\92\98¾\8a\9a\86¾¬bDv:\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\86\82\86\90\8a¾\86\82\9c\88\92\88\82¨\8a¦D@D¦¤\82\9avDv8\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\86¾\86\82\86\90\8a¾\84²¨\8a¾¦\92´\8aD@DblDv9\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\86¾\88\86\82\86\90\8a¾\84²¨\8a¾¦\92´\8aD@DblDv9\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\88\86\82\86\90\8a¾\86\9e¤\8a\98\92¦¨D@Dv¦¤\82\9aDv9\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\92\86\82\86\90\8a¾\86\9e¤\8a\98\92¦¨D@Dv¦¤\82\9aDv:\84æÄ®ÒôttªàÈÂèÊ\86ÂÆÐÊ@DààÆh`j¾`D@D\92\9c¦¨\82\9c\86\8a¾\9c\82\9a\8aD@DààÆh`j¾`Dv/\84æÄ®ÒôttªàÈÂèʦ®@D¦®¾\8e\8a\9c\8a¤\82¨\8a¾\9a\8a\9a¨\8a¦¨D@D\8c\82\98¦\8aDv1\84æÄ®ÒôttªàÈÂèʦ®@D¦®¾\8e\8a\9c\8a¤\82¨\8a¾ \8a¤\92 \90¨\8a¦¨D@D¨¤ª\8aDv)\84æÄ®ÒôttªàÈÂèʦ®@D¦®¾\8e\8a\9c\8a¤\82¨\8a¾¦®\82  ¦D@DDv7\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D\92\9c¦¨\82\9c\86\8a¾\9c\82\9a\8aD@DààÆh`j¾`Dv0\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾\84\9e\9e¨\9a\8a\9aD@D¦¤\82\9aDv.\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾¦¨\88\92\9cD@D\9cÞÜÊDv/\84æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾¦¨\88\9eª¨D@D\9cÞÜÊDv@\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾\88\82¨\82¾\92\9c¦D@D¦¤\82\9aDvK\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾\88\82¨\82¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤DvC\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾ ¤\9e\8e¤\82\9a¾\92\9c¦D@D¦¤\82\9aDvN\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾ ¤\9e\8e¤\82\9a¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤DvA\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¦¨\82\86\96¾\92\9c¦D@D¦¤\82\9aDvL\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¦¨\82\86\96¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤DvC\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¬\8a\86¨\9e¤¦¾\92\9c¦D@D¦¤\82\9aDvN\84æÄ®ÒôttªàÈÂèʨÊæè\82àà@D¨Êæè\82àྠÊäÒàÐÊäÂØD@D¦®¾¬\8a\86¨\9e¤¦¾ \82¤D@D\86¾\9a\8a\9a\84\82¦\8a\82\88\88¤Dv
\ No newline at end of file
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system.make b/Demo/PPC405_Xilinx_Virtex4_GCC/system.make
deleted file mode 100644 (file)
index 8aa93f0..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-#################################################################\r
-# Makefile generated by Xilinx Platform Studio \r
-# Project:C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\system.xmp\r
-#\r
-# WARNING : This file will be re-generated every time a command\r
-# to run a make target is invoked. So, any changes made to this  \r
-# file manually, will be lost when make is invoked next. \r
-#################################################################\r
-\r
-# Name of the Microprocessor system\r
-# The hardware specification of the system is in file :\r
-# C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\system.mhs\r
-# The software specification of the system is in file :\r
-# C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\system.mss\r
-\r
-include system_incl.make\r
-\r
-#################################################################\r
-# PHONY TARGETS\r
-#################################################################\r
-.PHONY: dummy\r
-.PHONY: netlistclean\r
-.PHONY: bitsclean\r
-.PHONY: simclean\r
-.PHONY: vpclean\r
-\r
-#################################################################\r
-# EXTERNAL TARGETS\r
-#################################################################\r
-all:\r
-       @echo "Makefile to build a Microprocessor system :"\r
-       @echo "Run make with any of the following targets"\r
-       @echo " "\r
-       @echo "  netlist  : Generates the netlist for the given MHS "\r
-       @echo "  bits     : Runs Implementation tools to generate the bitstream"\r
-       @echo " "\r
-       @echo "  libs     : Configures the sw libraries for this system"\r
-       @echo "  program  : Compiles the program sources for all the processor instances"\r
-       @echo " "\r
-       @echo "  init_bram: Initializes bitstream with BRAM data"\r
-       @echo "  ace      : Generate ace file from bitstream and elf"\r
-       @echo "  download : Downloads the bitstream onto the board"\r
-       @echo " "\r
-       @echo "  sim      : Generates HDL simulation models and runs simulator for chosen simulation mode"\r
-       @echo "  simmodel : Generates HDL simulation models for chosen simulation mode"\r
-       @echo "  behavioral_model : Generates behavioral HDL models with BRAM initialization"\r
-       @echo "  structural_model : Generates structural simulation HDL models with BRAM initialization"\r
-       @echo "  timing   : Generates timing simulation HDL models with BRAM initialization"\r
-       @echo "  vp       : Generates virtual platform model"\r
-       @echo " "\r
-       @echo "  netlistclean: Deletes netlist"\r
-       @echo "  bitsclean: Deletes bit, ncd, bmm files"\r
-       @echo "  hwclean  : Deletes implementation dir"\r
-       @echo "  libsclean: Deletes sw libraries"\r
-       @echo "  programclean: Deletes compiled ELF files"\r
-       @echo "  swclean  : Deletes sw libraries and ELF files"\r
-       @echo "  simclean : Deletes simulation dir"\r
-       @echo "  vpclean  : Deletes virtualplatform dir"\r
-       @echo "  clean    : Deletes all generated files/directories"\r
-       @echo " "\r
-       @echo "  make <target> : (Default)"\r
-       @echo "      Creates a Microprocessor system using default initializations"\r
-       @echo "      specified for each processor in MSS file"\r
-\r
-\r
-bits: $(SYSTEM_BIT)\r
-\r
-ace: $(SYSTEM_ACE)\r
-\r
-netlist: $(POSTSYN_NETLIST)\r
-\r
-libs: $(LIBRARIES)\r
-\r
-program: $(ALL_USER_ELF_FILES)\r
-\r
-download: $(DOWNLOAD_BIT) dummy\r
-       @echo "*********************************************"\r
-       @echo "Downloading Bitstream onto the target board"\r
-       @echo "*********************************************"\r
-       impact -batch etc/download.cmd\r
-\r
-init_bram: $(DOWNLOAD_BIT)\r
-\r
-sim: $(DEFAULT_SIM_SCRIPT)\r
-       cd simulation/behavioral; \\r
-       $(SIM_CMD)  &\r
-\r
-simmodel: $(DEFAULT_SIM_SCRIPT)\r
-\r
-behavioral_model: $(BEHAVIORAL_SIM_SCRIPT)\r
-\r
-structural_model: $(STRUCTURAL_SIM_SCRIPT)\r
-\r
-vp: $(VPEXEC)\r
-\r
-clean: hwclean libsclean programclean simclean vpclean\r
-       rm -f _impact.cmd\r
-       rm -f *.log\r
-\r
-hwclean: netlistclean bitsclean\r
-       rm -rf implementation synthesis xst hdl\r
-       rm -rf xst.srp $(SYSTEM).srp\r
-\r
-netlistclean:\r
-       rm -f $(POSTSYN_NETLIST)\r
-       rm -f platgen.log\r
-       rm -f $(BMM_FILE)\r
-\r
-bitsclean:\r
-       rm -f $(SYSTEM_BIT)\r
-       rm -f implementation/$(SYSTEM).ncd\r
-       rm -f implementation/$(SYSTEM)_bd.bmm \r
-       rm -f implementation/$(SYSTEM)_map.ncd \r
-\r
-simclean: \r
-       rm -rf simulation/behavioral\r
-       rm -f simgen.log\r
-\r
-swclean: libsclean programclean\r
-       @echo ""\r
-\r
-libsclean: $(LIBSCLEAN_TARGETS)\r
-       rm -f libgen.log\r
-\r
-programclean: $(PROGRAMCLEAN_TARGETS)\r
-\r
-vpclean:\r
-       rm -rf virtualplatform\r
-       rm -f vpgen.log\r
-\r
-#################################################################\r
-# SOFTWARE PLATFORM FLOW\r
-#################################################################\r
-\r
-\r
-$(LIBRARIES): $(MHSFILE) $(MSSFILE) __xps/libgen.opt\r
-       @echo "*********************************************"\r
-       @echo "Creating software libraries..."\r
-       @echo "*********************************************"\r
-       libgen $(LIBGEN_OPTIONS) $(MSSFILE)\r
-\r
-\r
-ppc405_0_libsclean:\r
-       rm -rf ppc405_0/\r
-\r
-#################################################################\r
-# SOFTWARE APPLICATION RTOSDEMO\r
-#################################################################\r
-\r
-RTOSDemo_program: $(RTOSDEMO_OUTPUT) \r
-\r
-$(RTOSDEMO_OUTPUT) : $(RTOSDEMO_SOURCES) $(RTOSDEMO_HEADERS) $(RTOSDEMO_LINKER_SCRIPT) \\r
-                    $(LIBRARIES) __xps/rtosdemo_compiler.opt\r
-       @mkdir -p $(RTOSDEMO_OUTPUT_DIR) \r
-       $(RTOSDEMO_CC) $(RTOSDEMO_CC_OPT) $(RTOSDEMO_SOURCES) -o $(RTOSDEMO_OUTPUT) \\r
-       $(RTOSDEMO_OTHER_CC_FLAGS) $(RTOSDEMO_INCLUDES) $(RTOSDEMO_LIBPATH) \\r
-       $(RTOSDEMO_CFLAGS) $(RTOSDEMO_LFLAGS) \r
-       $(RTOSDEMO_CC_SIZE) $(RTOSDEMO_OUTPUT) \r
-       @echo ""\r
-\r
-RTOSDemo_programclean:\r
-       rm -f $(RTOSDEMO_OUTPUT) \r
-\r
-#################################################################\r
-# BOOTLOOP ELF FILES\r
-#################################################################\r
-\r
-\r
-\r
-$(PPC405_0_BOOTLOOP): $(PPC405_BOOTLOOP)\r
-       @mkdir -p $(BOOTLOOP_DIR)\r
-       cp -f $(PPC405_BOOTLOOP) $(PPC405_0_BOOTLOOP)\r
-\r
-#################################################################\r
-# HARDWARE IMPLEMENTATION FLOW\r
-#################################################################\r
-\r
-\r
-$(BMM_FILE) \\r
-$(WRAPPER_NGC_FILES): $(MHSFILE) __xps/platgen.opt \\r
-                      $(CORE_STATE_DEVELOPMENT_FILES)\r
-       @echo "****************************************************"\r
-       @echo "Creating system netlist for hardware specification.."\r
-       @echo "****************************************************"\r
-       platgen $(PLATGEN_OPTIONS) $(MHSFILE)\r
-\r
-$(POSTSYN_NETLIST): $(WRAPPER_NGC_FILES)\r
-       @echo "Running synthesis..."\r
-       bash -c "cd synthesis; ./synthesis.sh"\r
-\r
-__xps/$(SYSTEM)_routed: $(FPGA_IMP_DEPENDENCY)\r
-       @echo "*********************************************"\r
-       @echo "Running Xilinx Implementation tools.."\r
-       @echo "*********************************************"\r
-       @cp -f $(UCF_FILE) implementation/$(SYSTEM).ucf\r
-       xilperl $(NON_CYG_XILINX_EDK_DIR)/data/fpga_impl/manage_fastruntime_opt.pl $(MANAGE_FASTRT_OPTIONS)\r
-       xflow -wd implementation -p $(DEVICE) -implement xflow.opt $(SYSTEM).ngc\r
-       touch __xps/$(SYSTEM)_routed\r
-\r
-$(SYSTEM_BIT): __xps/$(SYSTEM)_routed\r
-       xilperl $(NON_CYG_XILINX_EDK_DIR)/data/fpga_impl/observe_par.pl $(OBSERVE_PAR_OPTIONS) implementation/$(SYSTEM).par\r
-       @echo "*********************************************"\r
-       @echo "Running Bitgen.."\r
-       @echo "*********************************************"\r
-       @cp -f $(BITGEN_UT_FILE) implementation/bitgen.ut\r
-       cd implementation; bitgen -w -f bitgen.ut $(SYSTEM)\r
-\r
-$(DOWNLOAD_BIT): $(SYSTEM_BIT) $(BRAMINIT_ELF_FILES) __xps/bitinit.opt\r
-       # @cp -f implementation/$(SYSTEM)_bd.bmm .\r
-       @echo "*********************************************"\r
-       @echo "Initializing BRAM contents of the bitstream"\r
-       @echo "*********************************************"\r
-       bitinit $(MHSFILE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) \\r
-       -bt $(SYSTEM_BIT) -o $(DOWNLOAD_BIT)\r
-       @rm -f $(SYSTEM)_bd.bmm\r
-\r
-$(SYSTEM_ACE): $(DOWNLOAD_BIT) $(RTOSDEMO_OUTPUT) \r
-       @echo "*********************************************"\r
-       @echo "Creating system ace file"\r
-       @echo "*********************************************"\r
-       xmd -tcl genace.tcl -jprog -hw $(DOWNLOAD_BIT) -elf $(RTOSDEMO_OUTPUT)  -target ppc_hw  -ace $(SYSTEM_ACE)\r
-\r
-#################################################################\r
-# SIMULATION FLOW\r
-#################################################################\r
-\r
-\r
-################## BEHAVIORAL SIMULATION ##################\r
-\r
-$(BEHAVIORAL_SIM_SCRIPT): $(MHSFILE) __xps/simgen.opt \\r
-                          $(BRAMINIT_ELF_FILES)\r
-       @echo "*********************************************"\r
-       @echo "Creating behavioral simulation models..."\r
-       @echo "*********************************************"\r
-       simgen $(SIMGEN_OPTIONS) -m behavioral $(MHSFILE)\r
-\r
-################## STRUCTURAL SIMULATION ##################\r
-\r
-$(STRUCTURAL_SIM_SCRIPT): $(WRAPPER_NGC_FILES) __xps/simgen.opt \\r
-                          $(BRAMINIT_ELF_FILES)\r
-       @echo "*********************************************"\r
-       @echo "Creating structural simulation models..."\r
-       @echo "*********************************************"\r
-       simgen $(SIMGEN_OPTIONS) -sd implementation -m structural $(MHSFILE)\r
-\r
-\r
-################## TIMING SIMULATION ##################\r
-\r
-$(TIMING_SIM_SCRIPT): $(SYSTEM_BIT) __xps/simgen.opt \\r
-                      $(BRAMINIT_ELF_FILES)\r
-       @echo "*********************************************"\r
-       @echo "Creating timing simulation models..."\r
-       @echo "*********************************************"\r
-       simgen $(SIMGEN_OPTIONS) -sd implementation -m timing $(MHSFILE)\r
-\r
-#################################################################\r
-# VIRTUAL PLATFORM FLOW\r
-#################################################################\r
-\r
-\r
-$(VPEXEC): $(MHSFILE) __xps/vpgen.opt\r
-       @echo "****************************************************"\r
-       @echo "Creating virtual platform for hardware specification.."\r
-       @echo "****************************************************"\r
-       vpgen $(VPGEN_OPTIONS) $(MHSFILE)\r
-\r
-dummy:\r
-       @echo ""\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system.mhs b/Demo/PPC405_Xilinx_Virtex4_GCC/system.mhs
deleted file mode 100644 (file)
index 29856e7..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-\r
-# ##############################################################################\r
-# Created by Base System Builder Wizard for Xilinx EDK 10.1 Build EDK_K.15\r
-# Sun Mar 30 11:39:33 2008\r
-# Target Board:  Xilinx Virtex 4 ML403 Evaluation Platform Rev 1\r
-# Family:    virtex4\r
-# Device:    xc4vfx12\r
-# Package:   ff668\r
-# Speed Grade:  -10\r
-# Processor: ppc405_0\r
-# Processor clock frequency: 100.00 MHz\r
-# Bus clock frequency: 100.00 MHz\r
-# Total Off Chip Memory :   1 MB\r
-# - SRAM =   1 MB\r
-# ##############################################################################\r
- PARAMETER VERSION = 2.1.0\r
-\r
-\r
- PORT fpga_0_RS232_Uart_RX_pin = fpga_0_RS232_Uart_RX, DIR = I\r
- PORT fpga_0_RS232_Uart_TX_pin = fpga_0_RS232_Uart_TX, DIR = O\r
- PORT fpga_0_LEDs_4Bit_GPIO_IO_pin = fpga_0_LEDs_4Bit_GPIO_IO, DIR = IO, VEC = [0:3]\r
- PORT fpga_0_LEDs_Positions_GPIO_IO_pin = fpga_0_LEDs_Positions_GPIO_IO, DIR = IO, VEC = [0:4]\r
- PORT fpga_0_SRAM_Mem_A_pin = fpga_0_SRAM_Mem_A, DIR = O, VEC = [9:29]\r
- PORT fpga_0_SRAM_Mem_BEN_pin = fpga_0_SRAM_Mem_BEN, DIR = O, VEC = [0:3]\r
- PORT fpga_0_SRAM_Mem_WEN_pin = fpga_0_SRAM_Mem_WEN, DIR = O\r
- PORT fpga_0_SRAM_Mem_DQ_pin = fpga_0_SRAM_Mem_DQ, DIR = IO, VEC = [0:31]\r
- PORT fpga_0_SRAM_Mem_OEN_pin = fpga_0_SRAM_Mem_OEN, DIR = O, VEC = [0:0]\r
- PORT fpga_0_SRAM_Mem_CEN_pin = fpga_0_SRAM_Mem_CEN, DIR = O, VEC = [0:0]\r
- PORT fpga_0_SRAM_Mem_ADV_LDN_pin = fpga_0_SRAM_Mem_ADV_LDN, DIR = O\r
- PORT fpga_0_SRAM_CLOCK = sys_clk_s, DIR = O\r
- PORT sys_clk_pin = dcm_clk_s, DIR = I, SIGIS = CLK, CLK_FREQ = 100000000\r
- PORT sys_rst_pin = sys_rst_s, DIR = I, RST_POLARITY = 0, SIGIS = RST\r
-\r
-\r
-BEGIN ppc405_virtex4\r
- PARAMETER INSTANCE = ppc405_0\r
- PARAMETER HW_VER = 2.01.a\r
- PARAMETER C_FASTEST_PLB_CLOCK = DPLB0\r
- PARAMETER C_IDCR_BASEADDR = 0b0100000000\r
- PARAMETER C_IDCR_HIGHADDR = 0b0111111111\r
- BUS_INTERFACE JTAGPPC = jtagppc_0_0\r
- BUS_INTERFACE IPLB0 = plb\r
- BUS_INTERFACE DPLB0 = plb\r
- BUS_INTERFACE RESETPPC = ppc_reset_bus\r
- PORT CPMC405CLOCK = sys_clk_s\r
- PORT EICC405EXTINPUTIRQ = EICC405EXTINPUTIRQ\r
-END\r
-\r
-BEGIN jtagppc_cntlr\r
- PARAMETER INSTANCE = jtagppc_0\r
- PARAMETER HW_VER = 2.01.a\r
- BUS_INTERFACE JTAGPPC0 = jtagppc_0_0\r
-END\r
-\r
-BEGIN plb_v46\r
- PARAMETER INSTANCE = plb\r
- PARAMETER C_DCR_INTFCE = 0\r
- PARAMETER C_NUM_CLK_PLB2OPB_REARB = 100\r
- PARAMETER HW_VER = 1.02.a\r
- PORT PLB_Clk = sys_clk_s\r
- PORT SYS_Rst = sys_bus_reset\r
-END\r
-\r
-BEGIN xps_uartlite\r
- PARAMETER INSTANCE = RS232_Uart\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_BAUDRATE = 9600\r
- PARAMETER C_DATA_BITS = 8\r
- PARAMETER C_ODD_PARITY = 0\r
- PARAMETER C_USE_PARITY = 0\r
- PARAMETER C_SPLB_CLK_FREQ_HZ = 100000000\r
- PARAMETER C_BASEADDR = 0x84000000\r
- PARAMETER C_HIGHADDR = 0x8400ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT RX = fpga_0_RS232_Uart_RX\r
- PORT TX = fpga_0_RS232_Uart_TX\r
- PORT Interrupt = RS232_Uart_Interrupt\r
-END\r
-\r
-BEGIN xps_gpio\r
- PARAMETER INSTANCE = LEDs_4Bit\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_GPIO_WIDTH = 4\r
- PARAMETER C_IS_DUAL = 0\r
- PARAMETER C_IS_BIDIR = 1\r
- PARAMETER C_ALL_INPUTS = 0\r
- PARAMETER C_BASEADDR = 0x81420000\r
- PARAMETER C_HIGHADDR = 0x8142ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT GPIO_IO = fpga_0_LEDs_4Bit_GPIO_IO\r
-END\r
-\r
-BEGIN xps_gpio\r
- PARAMETER INSTANCE = LEDs_Positions\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_GPIO_WIDTH = 5\r
- PARAMETER C_IS_DUAL = 0\r
- PARAMETER C_IS_BIDIR = 1\r
- PARAMETER C_ALL_INPUTS = 0\r
- PARAMETER C_BASEADDR = 0x81400000\r
- PARAMETER C_HIGHADDR = 0x8140ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT GPIO_IO = fpga_0_LEDs_Positions_GPIO_IO\r
-END\r
-\r
-BEGIN xps_mch_emc\r
- PARAMETER INSTANCE = SRAM\r
- PARAMETER HW_VER = 1.01.a\r
- PARAMETER C_MCH_PLB_CLK_PERIOD_PS = 10000\r
- PARAMETER C_NUM_BANKS_MEM = 1\r
- PARAMETER C_MAX_MEM_WIDTH = 32\r
- PARAMETER C_INCLUDE_NEGEDGE_IOREGS = 1\r
- PARAMETER C_INCLUDE_DATAWIDTH_MATCHING_0 = 1\r
- PARAMETER C_MEM0_WIDTH = 32\r
- PARAMETER C_SYNCH_MEM_0 = 1\r
- PARAMETER C_TCEDV_PS_MEM_0 = 0\r
- PARAMETER C_TWC_PS_MEM_0 = 0\r
- PARAMETER C_TAVDV_PS_MEM_0 = 0\r
- PARAMETER C_TWP_PS_MEM_0 = 0\r
- PARAMETER C_THZCE_PS_MEM_0 = 0\r
- PARAMETER C_TLZWE_PS_MEM_0 = 0\r
- PARAMETER C_MEM0_BASEADDR = 0xfff00000\r
- PARAMETER C_MEM0_HIGHADDR = 0xffffffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT Mem_A = fpga_0_SRAM_Mem_A_split\r
- PORT Mem_BEN = fpga_0_SRAM_Mem_BEN\r
- PORT Mem_WEN = fpga_0_SRAM_Mem_WEN\r
- PORT Mem_DQ = fpga_0_SRAM_Mem_DQ\r
- PORT Mem_OEN = fpga_0_SRAM_Mem_OEN\r
- PORT Mem_CEN = fpga_0_SRAM_Mem_CEN\r
- PORT Mem_ADV_LDN = fpga_0_SRAM_Mem_ADV_LDN\r
-END\r
-\r
-BEGIN util_bus_split\r
- PARAMETER INSTANCE = SRAM_util_bus_split_1\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_SIZE_IN = 32\r
- PARAMETER C_LEFT_POS = 9\r
- PARAMETER C_SPLIT = 30\r
- PORT Sig = fpga_0_SRAM_Mem_A_split\r
- PORT Out1 = fpga_0_SRAM_Mem_A\r
-END\r
-\r
-BEGIN clock_generator\r
- PARAMETER INSTANCE = clock_generator_0\r
- PARAMETER HW_VER = 2.01.a\r
- PARAMETER C_EXT_RESET_HIGH = 1\r
- PARAMETER C_CLKIN_FREQ = 100000000\r
- PARAMETER C_CLKOUT0_FREQ = 100000000\r
- PARAMETER C_CLKOUT0_BUF = TRUE\r
- PARAMETER C_CLKOUT0_PHASE = 0\r
- PARAMETER C_CLKOUT0_GROUP = NONE\r
- PORT CLKOUT0 = sys_clk_s\r
- PORT CLKIN = dcm_clk_s\r
- PORT LOCKED = Dcm_all_locked\r
- PORT RST = net_gnd\r
-END\r
-\r
-BEGIN proc_sys_reset\r
- PARAMETER INSTANCE = proc_sys_reset_0\r
- PARAMETER HW_VER = 2.00.a\r
- PARAMETER C_EXT_RESET_HIGH = 0\r
- BUS_INTERFACE RESETPPC0 = ppc_reset_bus\r
- PORT Slowest_sync_clk = sys_clk_s\r
- PORT Dcm_locked = Dcm_all_locked\r
- PORT Ext_Reset_In = sys_rst_s\r
- PORT Bus_Struct_Reset = sys_bus_reset\r
- PORT Peripheral_Reset = sys_periph_reset\r
-END\r
-\r
-BEGIN xps_intc\r
- PARAMETER INSTANCE = xps_intc_0\r
- PARAMETER HW_VER = 1.00.a\r
- PARAMETER C_BASEADDR = 0x81800000\r
- PARAMETER C_HIGHADDR = 0x8180ffff\r
- BUS_INTERFACE SPLB = plb\r
- PORT Irq = EICC405EXTINPUTIRQ\r
- PORT Intr = RS232_Uart_Interrupt\r
-END\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system.mss b/Demo/PPC405_Xilinx_Virtex4_GCC/system.mss
deleted file mode 100644 (file)
index a76ba98..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-\r
- PARAMETER VERSION = 2.2.0\r
-\r
-\r
-BEGIN OS\r
- PARAMETER OS_NAME = standalone\r
- PARAMETER OS_VER = 2.00.a\r
- PARAMETER PROC_INSTANCE = ppc405_0\r
-END\r
-\r
-\r
-BEGIN PROCESSOR\r
- PARAMETER DRIVER_NAME = cpu_ppc405\r
- PARAMETER DRIVER_VER = 1.10.a\r
- PARAMETER HW_INSTANCE = ppc405_0\r
- PARAMETER COMPILER = powerpc-eabi-gcc\r
- PARAMETER ARCHIVER = powerpc-eabi-ar\r
- PARAMETER CORE_CLOCK_FREQ_HZ = 100000000\r
-END\r
-\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = jtagppc_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = uartlite\r
- PARAMETER DRIVER_VER = 1.13.a\r
- PARAMETER HW_INSTANCE = RS232_Uart\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = gpio\r
- PARAMETER DRIVER_VER = 2.12.a\r
- PARAMETER HW_INSTANCE = LEDs_4Bit\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = gpio\r
- PARAMETER DRIVER_VER = 2.12.a\r
- PARAMETER HW_INSTANCE = LEDs_Positions\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = emc\r
- PARAMETER DRIVER_VER = 2.00.a\r
- PARAMETER HW_INSTANCE = SRAM\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = SRAM_util_bus_split_1\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = clock_generator_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = generic\r
- PARAMETER DRIVER_VER = 1.00.a\r
- PARAMETER HW_INSTANCE = proc_sys_reset_0\r
-END\r
-\r
-BEGIN DRIVER\r
- PARAMETER DRIVER_NAME = intc\r
- PARAMETER DRIVER_VER = 1.11.a\r
- PARAMETER HW_INSTANCE = xps_intc_0\r
-END\r
-\r
-\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp b/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp
deleted file mode 100644 (file)
index 76c95f8..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#Please do not modify this file by hand\r
-XmpVersion: 10.1.01\r
-VerMgmt: 10.1.01\r
-IntStyle: default\r
-MHS File: system.mhs\r
-MSS File: system.mss\r
-NPL File: projnav/system.ise\r
-Architecture: virtex4\r
-Device: xc4vfx12\r
-Package: ff668\r
-SpeedGrade: -10\r
-UserCmd1: \r
-UserCmd1Type: 0\r
-UserCmd2: \r
-UserCmd2Type: 0\r
-TopInst: system_i\r
-GenSimTB: 0\r
-InsertNoPads: 0\r
-WarnForEAArch: 1\r
-HdlLang: VHDL\r
-Simulator: mti\r
-SimModel: BEHAVIORAL\r
-MixLangSim: 1\r
-UcfFile: data/system.ucf\r
-FpgaImpMode: 0\r
-EnableParTimingError: 1\r
-EnableResetOptimization: 0\r
-ShowLicenseDialog: 1\r
-ICacheAddr: SRAM,\r
-DCacheAddr: SRAM,\r
-Processor: ppc405_0\r
-BootLoop: 1\r
-XmdStub: 0\r
-SwProj: RTOSDemo\r
-Processor: ppc405_0\r
-Executable: RTOSDemo/executable.elf\r
-Source: RTOSDemo/../../Common/Minimal/BlockQ.c\r
-Source: RTOSDemo/../../Common/Minimal/blocktim.c\r
-Source: RTOSDemo/../../Common/Minimal/comtest.c\r
-Source: RTOSDemo/../../Common/Minimal/countsem.c\r
-Source: RTOSDemo/../../Common/Minimal/death.c\r
-Source: RTOSDemo/../../Common/Minimal/dynamic.c\r
-Source: RTOSDemo/../../Common/Minimal/flash.c\r
-Source: RTOSDemo/../../Common/Minimal/GenQTest.c\r
-Source: RTOSDemo/../../Common/Minimal/integer.c\r
-Source: RTOSDemo/../../Common/Minimal/QPeek.c\r
-Source: RTOSDemo/../../Common/Minimal/recmutex.c\r
-Source: RTOSDemo/../../Common/Minimal/semtest.c\r
-Source: RTOSDemo/../../../Source/tasks.c\r
-Source: RTOSDemo/../../../Source/list.c\r
-Source: RTOSDemo/../../../Source/queue.c\r
-Source: RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c\r
-Source: RTOSDemo/main.c\r
-Source: RTOSDemo/serial/serial.c\r
-Source: RTOSDemo/partest/partest.c\r
-Source: RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S\r
-Source: RTOSDemo/../../../Source/portable/MemMang/heap_2.c\r
-Header: RTOSDemo/FreeRTOSConfig.h\r
-DefaultInit: EXECUTABLE\r
-InitBram: 0\r
-Active: 1\r
-CompilerOptLevel: 0\r
-GlobPtrOpt: 0\r
-DebugSym: 1\r
-ProfileFlag: 0\r
-ProgStart: \r
-StackSize: \r
-HeapSize: \r
-LinkerScript: RTOSDemo/RTOSDemo_linker_script.ld\r
-ProgCCFlags: -I./RTOSDemo/flop -I./ppc405_0/include/  -IRTOSDemo/   -I. -I./RTOSDemo/ -I../Common/include/ -I../../Source/include/ -I./ppc405_0/include/ -I./ppc405_0/include -D GCC_PPC405 -mregnames -Wextra\r
-CompileInXps: 1\r
-NonXpsApp: 0\r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make b/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make
deleted file mode 100644 (file)
index f91a141..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-#################################################################\r
-# Makefile generated by Xilinx Platform Studio \r
-# Project:C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\system.xmp\r
-#\r
-# WARNING : This file will be re-generated every time a command\r
-# to run a make target is invoked. So, any changes made to this  \r
-# file manually, will be lost when make is invoked next. \r
-#################################################################\r
-\r
-XILINX_EDK_DIR = /cygdrive/c/devtools/Xilinx/10.1/EDK\r
-NON_CYG_XILINX_EDK_DIR = C:/devtools/Xilinx/10.1/EDK\r
-\r
-SYSTEM = system\r
-\r
-MHSFILE = system.mhs\r
-\r
-MSSFILE = system.mss\r
-\r
-FPGA_ARCH = virtex4\r
-\r
-DEVICE = xc4vfx12ff668-10\r
-\r
-LANGUAGE = vhdl\r
-\r
-SEARCHPATHOPT = \r
-\r
-SUBMODULE_OPT = \r
-\r
-PLATGEN_OPTIONS = -p $(DEVICE) -lang $(LANGUAGE) $(SEARCHPATHOPT) $(SUBMODULE_OPT)\r
-\r
-LIBGEN_OPTIONS = -mhs $(MHSFILE) -p $(DEVICE) $(SEARCHPATHOPT)\r
-\r
-VPGEN_OPTIONS = -p $(DEVICE) $(SEARCHPATHOPT)\r
-\r
-MANAGE_FASTRT_OPTIONS = -reduce_fanout no\r
-\r
-OBSERVE_PAR_OPTIONS = -error yes\r
-\r
-RTOSDEMO_OUTPUT_DIR = RTOSDemo\r
-RTOSDEMO_OUTPUT = $(RTOSDEMO_OUTPUT_DIR)/executable.elf\r
-\r
-MICROBLAZE_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/microblaze/mb_bootloop.elf\r
-PPC405_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/ppc405/ppc_bootloop.elf\r
-PPC440_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/ppc440/ppc440_bootloop.elf\r
-BOOTLOOP_DIR = bootloops\r
-\r
-PPC405_0_BOOTLOOP = $(BOOTLOOP_DIR)/ppc405_0.elf\r
-\r
-BRAMINIT_ELF_FILES =  \r
-BRAMINIT_ELF_FILE_ARGS =  \r
-\r
-ALL_USER_ELF_FILES = $(RTOSDEMO_OUTPUT) \r
-\r
-SIM_CMD = vsim\r
-\r
-BEHAVIORAL_SIM_SCRIPT = simulation/behavioral/$(SYSTEM)_setup.do\r
-\r
-STRUCTURAL_SIM_SCRIPT = simulation/structural/$(SYSTEM)_setup.do\r
-\r
-TIMING_SIM_SCRIPT = simulation/timing/$(SYSTEM)_setup.do\r
-\r
-DEFAULT_SIM_SCRIPT = $(BEHAVIORAL_SIM_SCRIPT)\r
-\r
-MIX_LANG_SIM_OPT = -mixed yes\r
-\r
-SIMGEN_OPTIONS = -p $(DEVICE) -lang $(LANGUAGE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) $(MIX_LANG_SIM_OPT)  -s mti -X ./ -E ./\r
-\r
-\r
-LIBRARIES =  \\r
-       ppc405_0/lib/libxil.a \r
-VPEXEC = virtualplatform/vpexec.exe\r
-\r
-LIBSCLEAN_TARGETS = ppc405_0_libsclean \r
-\r
-PROGRAMCLEAN_TARGETS = RTOSDemo_programclean \r
-\r
-CORE_STATE_DEVELOPMENT_FILES = \r
-\r
-WRAPPER_NGC_FILES = implementation/ppc405_0_wrapper.ngc \
-implementation/jtagppc_0_wrapper.ngc \
-implementation/plb_wrapper.ngc \
-implementation/rs232_uart_wrapper.ngc \
-implementation/leds_4bit_wrapper.ngc \
-implementation/leds_positions_wrapper.ngc \
-implementation/sram_wrapper.ngc \
-implementation/sram_util_bus_split_1_wrapper.ngc \
-implementation/clock_generator_0_wrapper.ngc \
-implementation/proc_sys_reset_0_wrapper.ngc \
-implementation/xps_intc_0_wrapper.ngc\r
-\r
-POSTSYN_NETLIST = implementation/$(SYSTEM).ngc\r
-\r
-SYSTEM_BIT = implementation/$(SYSTEM).bit\r
-\r
-DOWNLOAD_BIT = implementation/download.bit\r
-\r
-SYSTEM_ACE = implementation/$(SYSTEM).ace\r
-\r
-UCF_FILE = data/system.ucf\r
-\r
-BMM_FILE = implementation/$(SYSTEM).bmm\r
-\r
-BITGEN_UT_FILE = etc/bitgen.ut\r
-\r
-XFLOW_OPT_FILE = etc/fast_runtime.opt\r
-XFLOW_DEPENDENCY = __xps/xpsxflow.opt $(XFLOW_OPT_FILE)\r
-\r
-XPLORER_DEPENDENCY = __xps/xplorer.opt\r
-XPLORER_OPTIONS = -p $(DEVICE) -uc $(SYSTEM).ucf -bm $(SYSTEM).bmm -max_runs 7\r
-\r
-FPGA_IMP_DEPENDENCY = $(BMM_FILE) $(POSTSYN_NETLIST) $(UCF_FILE) $(BITGEN_UT_FILE) $(XFLOW_DEPENDENCY)\r
-\r
-#################################################################\r
-# SOFTWARE APPLICATION RTOSDEMO\r
-#################################################################\r
-\r
-RTOSDEMO_SOURCES = RTOSDemo/../../Common/Minimal/BlockQ.c RTOSDemo/../../Common/Minimal/blocktim.c RTOSDemo/../../Common/Minimal/comtest.c RTOSDemo/../../Common/Minimal/countsem.c RTOSDemo/../../Common/Minimal/death.c RTOSDemo/../../Common/Minimal/dynamic.c RTOSDemo/../../Common/Minimal/flash.c RTOSDemo/../../Common/Minimal/GenQTest.c RTOSDemo/../../Common/Minimal/integer.c RTOSDemo/../../Common/Minimal/QPeek.c RTOSDemo/../../Common/Minimal/recmutex.c RTOSDemo/../../Common/Minimal/semtest.c RTOSDemo/../../../Source/tasks.c RTOSDemo/../../../Source/list.c RTOSDemo/../../../Source/queue.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c RTOSDemo/main.c RTOSDemo/serial/serial.c RTOSDemo/partest/partest.c RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S RTOSDemo/../../../Source/portable/MemMang/heap_2.c RTOSDemo/flop/flop.c RTOSDemo/flop/flop-reg-test.c\r
-\r
-RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h \r
-\r
-RTOSDEMO_CC = powerpc-eabi-gcc\r
-RTOSDEMO_CC_SIZE = powerpc-eabi-size\r
-RTOSDEMO_CC_OPT = -O0\r
-RTOSDEMO_CFLAGS = -I./RTOSDemo/flop -I./ppc405_0/include/  -IRTOSDemo/   -I. -I./RTOSDemo/ -I../Common/include/ -I../../Source/include/ -I./ppc405_0/include/ -I./ppc405_0/include -D GCC_PPC405 -mregnames -Wextra\r
-RTOSDEMO_CC_SEARCH = # -B\r
-RTOSDEMO_LIBPATH = -L./ppc405_0/lib/ # -L\r
-RTOSDEMO_INCLUDES = -I./ppc405_0/include/  -IRTOSDemo/ # -I\r
-RTOSDEMO_LFLAGS = # -l\r
-RTOSDEMO_LINKER_SCRIPT = RTOSDemo/RTOSDemo_linker_script.ld\r
-RTOSDEMO_LINKER_SCRIPT_FLAG = -Wl,-T -Wl,$(RTOSDEMO_LINKER_SCRIPT) \r
-RTOSDEMO_CC_DEBUG_FLAG =  -g \r
-RTOSDEMO_CC_PROFILE_FLAG = # -pg\r
-RTOSDEMO_CC_GLOBPTR_FLAG= # -msdata=eabi\r
-RTOSDEMO_CC_INFERRED_FLAGS= \r
-RTOSDEMO_CC_START_ADDR_FLAG=  #  # -Wl,-defsym -Wl,_START_ADDR=\r
-RTOSDEMO_CC_STACK_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_STACK_SIZE=\r
-RTOSDEMO_CC_HEAP_SIZE_FLAG=  #  # -Wl,-defsym -Wl,_HEAP_SIZE=\r
-RTOSDEMO_OTHER_CC_FLAGS= $(RTOSDEMO_CC_GLOBPTR_FLAG)  \\r
-                  $(RTOSDEMO_CC_START_ADDR_FLAG) $(RTOSDEMO_CC_STACK_SIZE_FLAG) $(RTOSDEMO_CC_HEAP_SIZE_FLAG)  \\r
-                  $(RTOSDEMO_CC_INFERRED_FLAGS)  \\r
-                  $(RTOSDEMO_LINKER_SCRIPT_FLAG) $(RTOSDEMO_CC_DEBUG_FLAG) $(RTOSDEMO_CC_PROFILE_FLAG) \r
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/xc95144xl.bsd b/Demo/PPC405_Xilinx_Virtex4_GCC/xc95144xl.bsd
deleted file mode 100644 (file)
index 6ad5084..0000000
+++ /dev/null
@@ -1,826 +0,0 @@
--- 
---  BSDL File created/edited by XILINX bsdl.pl script
--- 
---Package: DIE_BOND 
---RCS:$Header: /devl/xcs/repo/env/Jobs/iMPACT/data/xc9500xl/xc95144xl.bsd,v 1.2 2001/01/18 04:42:23 sanjays Exp $ 
---BSDE:$Revision: 1.2 $ 
---BSDE: Xilinx xc95144xl macrocell FastFlash ISP CPLD
--- 
-entity xc95144xl is
-
-
-generic (PHYSICAL_PIN_MAP : string := "DIE_BOND" );
-
-port ( 
-       PB00_00: inout bit; 
-       PB00_01: inout bit; 
-       PB00_02: inout bit; 
-       PB00_03: inout bit; 
-       PB00_04: inout bit; 
-       PB00_05: inout bit; 
-       PB00_06: inout bit; 
-       PB00_07: inout bit; 
-       PB00_08: inout bit; 
-       PB00_09: inout bit; 
-       PB00_10: inout bit; 
-       PB00_11: inout bit; 
-       PB00_12: inout bit; 
-       PB00_13: inout bit; 
-       PB00_14: inout bit; 
-       PB00_15: inout bit; 
-       PB00_16: inout bit; 
-       PB01_00: inout bit; 
-       PB01_01: inout bit; 
-       PB01_02: inout bit; 
-       PB01_03: inout bit; 
-       PB01_04: inout bit; 
-       PB01_05: inout bit; 
-       PB01_06: inout bit; 
-       PB01_07: inout bit; 
-       PB01_08: inout bit; 
-       PB01_09: inout bit; 
-       PB01_10: inout bit; 
-       PB01_11: inout bit; 
-       PB01_12: inout bit; 
-       PB01_13: inout bit; 
-       PB01_14: inout bit; 
-       PB01_15: inout bit; 
-       PB01_16: inout bit; 
-       PB02_00: inout bit; 
-       PB02_01: inout bit; 
-       PB02_02: inout bit; 
-       PB02_03: inout bit; 
-       PB02_04: inout bit; 
-       PB02_05: inout bit; 
-       PB02_06: inout bit; 
-       PB02_07: inout bit; 
-       PB02_08: inout bit; 
-       PB02_09: inout bit; 
-       PB02_10: inout bit; 
-       PB02_11: inout bit; 
-       PB02_12: inout bit; 
-       PB02_13: inout bit; 
-       PB02_14: inout bit; 
-       PB02_15: inout bit; 
-       PB02_16: inout bit; 
-       PB03_00: inout bit; 
-       PB03_01: inout bit; 
-       PB03_02: inout bit; 
-       PB03_03: inout bit; 
-       PB03_04: inout bit; 
-       PB03_05: inout bit; 
-       PB03_06: inout bit; 
-       PB03_07: inout bit; 
-       PB03_08: inout bit; 
-       PB03_09: inout bit; 
-       PB03_10: inout bit; 
-       PB03_11: inout bit; 
-       PB03_12: inout bit; 
-       PB03_13: inout bit; 
-       PB03_14: inout bit; 
-       PB03_15: inout bit; 
-       PB03_16: inout bit; 
-       PB04_00: inout bit; 
-       PB04_01: inout bit; 
-       PB04_02: inout bit; 
-       PB04_03: inout bit; 
-       PB04_04: inout bit; 
-       PB04_05: inout bit; 
-       PB04_06: inout bit; 
-       PB04_07: inout bit; 
-       PB04_08: inout bit; 
-       PB04_09: inout bit; 
-       PB04_10: inout bit; 
-       PB04_11: inout bit; 
-       PB04_12: inout bit; 
-       PB04_13: inout bit; 
-       PB04_14: inout bit; 
-       PB04_15: inout bit; 
-       PB04_16: inout bit; 
-       PB05_01: inout bit; 
-       PB05_02: inout bit; 
-       PB05_03: inout bit; 
-       PB05_04: inout bit; 
-       PB05_05: inout bit; 
-       PB05_06: inout bit; 
-       PB05_07: inout bit; 
-       PB05_08: inout bit; 
-       PB05_09: inout bit; 
-       PB05_10: inout bit; 
-       PB05_11: inout bit; 
-       PB05_12: inout bit; 
-       PB05_13: inout bit; 
-       PB05_14: inout bit; 
-       PB05_15: inout bit; 
-       PB05_16: inout bit; 
-       PB06_01: inout bit; 
-       PB06_02: inout bit; 
-       PB06_03: inout bit; 
-       PB06_04: inout bit; 
-       PB06_05: inout bit; 
-       PB06_06: inout bit; 
-       PB06_07: inout bit; 
-       PB06_08: inout bit; 
-       PB06_09: inout bit; 
-       PB06_10: inout bit; 
-       PB06_11: inout bit; 
-       PB06_12: inout bit; 
-       PB06_13: inout bit; 
-       PB06_14: inout bit; 
-       PB06_15: inout bit; 
-       PB06_16: inout bit; 
-       PB07_01: inout bit; 
-       PB07_02: inout bit; 
-       PB07_03: inout bit; 
-       PB07_04: inout bit; 
-       PB07_05: inout bit; 
-       PB07_06: inout bit; 
-       PB07_07: inout bit; 
-       PB07_08: inout bit; 
-       PB07_09: inout bit; 
-       PB07_10: inout bit; 
-       PB07_11: inout bit; 
-       PB07_12: inout bit; 
-       PB07_13: inout bit; 
-       PB07_14: inout bit; 
-       PB07_15: inout bit; 
-       PB07_16: inout bit; 
-       TCK: in bit; 
-       TDI: in bit; 
-       TDO: out bit; 
-       TMS: in bit; 
-       Vccint_1: linkage bit; 
-       Vccint_2: linkage bit; 
-       Vccint_3: linkage bit; 
-       VccInt_Vpp: linkage bit; 
-       Vccio_1: linkage bit; 
-       Vccio_2: linkage bit; 
-       Vccio_3: linkage bit; 
-       Vccio_4: linkage bit; 
-       Vccio_5: linkage bit; 
-       Vccio_6: linkage bit; 
-       Vssint_1: linkage bit; 
-       Vssint_2: linkage bit; 
-       Vssint_3: linkage bit; 
-       Vssint_4: linkage bit; 
-       Vssint_Vnn: linkage bit; 
-       Vssio_1: linkage bit; 
-       Vssio_2: linkage bit; 
-       Vssio_3: linkage bit; 
-       Vssio_4: linkage bit; 
-       Vssio_5: linkage bit; 
-       Vssio_6: linkage bit; 
-       Vssio_7: linkage bit; 
-       Vssio_8: linkage bit; 
-       Vssio_9: linkage bit );
-
-use STD_1149_1_1994.all;
-
-attribute COMPONENT_CONFORMANCE of xc95144xl : entity is "STD_1149_1_1993";
-
-attribute PIN_MAP of xc95144xl : entity is PHYSICAL_PIN_MAP;
-
-constant DIE_BOND: PIN_MAP_STRING:=
-       "PB00_00:PAD25," & 
-       "PB00_01:PAD18," & 
-       "PB00_02:PAD19," & 
-       "PB00_03:PAD27," & 
-       "PB00_04:PAD21," & 
-       "PB00_05:PAD22," & 
-       "PB00_06:PAD32," & 
-       "PB00_07:PAD23," & 
-       "PB00_08:PAD24," & 
-       "PB00_09:PAD34," & 
-       "PB00_10:PAD26," & 
-       "PB00_11:PAD28," & 
-       "PB00_12:PAD38," & 
-       "PB00_13:PAD29," & 
-       "PB00_14:PAD30," & 
-       "PB00_15:PAD39," & 
-       "PB00_16:PAD33," & 
-       "PB01_00:PAD159," & 
-       "PB01_01:PAD160," & 
-       "PB01_02:PAD3," & 
-       "PB01_03:PAD5," & 
-       "PB01_04:PAD2," & 
-       "PB01_05:PAD4," & 
-       "PB01_06:PAD7," & 
-       "PB01_07:PAD6," & 
-       "PB01_08:PAD8," & 
-       "PB01_09:PAD9," & 
-       "PB01_10:PAD11," & 
-       "PB01_11:PAD12," & 
-       "PB01_12:PAD14," & 
-       "PB01_13:PAD13," & 
-       "PB01_14:PAD15," & 
-       "PB01_15:PAD16," & 
-       "PB01_16:PAD17," & 
-       "PB02_00:PAD43," & 
-       "PB02_01:PAD35," & 
-       "PB02_02:PAD45," & 
-       "PB02_03:PAD48," & 
-       "PB02_04:PAD36," & 
-       "PB02_05:PAD37," & 
-       "PB02_06:PAD50," & 
-       "PB02_07:PAD42," & 
-       "PB02_08:PAD44," & 
-       "PB02_09:PAD52," & 
-       "PB02_10:PAD47," & 
-       "PB02_11:PAD49," & 
-       "PB02_12:PAD53," & 
-       "PB02_13:PAD54," & 
-       "PB02_14:PAD56," & 
-       "PB02_15:PAD55," & 
-       "PB02_16:PAD57," & 
-       "PB03_00:PAD133," & 
-       "PB03_01:PAD141," & 
-       "PB03_02:PAD148," & 
-       "PB03_03:PAD150," & 
-       "PB03_04:PAD143," & 
-       "PB03_05:PAD144," & 
-       "PB03_06:PAD151," & 
-       "PB03_07:PAD145," & 
-       "PB03_08:PAD146," & 
-       "PB03_09:PAD152," & 
-       "PB03_10:PAD147," & 
-       "PB03_11:PAD149," & 
-       "PB03_12:PAD154," & 
-       "PB03_13:PAD153," & 
-       "PB03_14:PAD155," & 
-       "PB03_15:PAD156," & 
-       "PB03_16:PAD157," & 
-       "PB04_00:PAD65," & 
-       "PB04_01:PAD58," & 
-       "PB04_02:PAD66," & 
-       "PB04_03:PAD67," & 
-       "PB04_04:PAD59," & 
-       "PB04_05:PAD60," & 
-       "PB04_06:PAD74," & 
-       "PB04_07:PAD62," & 
-       "PB04_08:PAD63," & 
-       "PB04_09:PAD76," & 
-       "PB04_10:PAD64," & 
-       "PB04_11:PAD68," & 
-       "PB04_12:PAD78," & 
-       "PB04_13:PAD69," & 
-       "PB04_14:PAD72," & 
-       "PB04_15:PAD83," & 
-       "PB04_16:PAD77," & 
-       "PB05_01:PAD118," & 
-       "PB05_02:PAD120," & 
-       "PB05_03:PAD124," & 
-       "PB05_04:PAD123," & 
-       "PB05_05:PAD125," & 
-       "PB05_06:PAD126," & 
-       "PB05_07:PAD127," & 
-       "PB05_08:PAD130," & 
-       "PB05_09:PAD129," & 
-       "PB05_10:PAD134," & 
-       "PB05_11:PAD135," & 
-       "PB05_12:PAD131," & 
-       "PB05_13:PAD136," & 
-       "PB05_14:PAD139," & 
-       "PB05_15:PAD132," & 
-       "PB05_16:PAD140," & 
-       "PB06_01:PAD79," & 
-       "PB06_02:PAD84," & 
-       "PB06_03:PAD85," & 
-       "PB06_04:PAD82," & 
-       "PB06_05:PAD86," & 
-       "PB06_06:PAD87," & 
-       "PB06_07:PAD88," & 
-       "PB06_08:PAD90," & 
-       "PB06_09:PAD89," & 
-       "PB06_10:PAD92," & 
-       "PB06_11:PAD95," & 
-       "PB06_12:PAD91," & 
-       "PB06_13:PAD96," & 
-       "PB06_14:PAD97," & 
-       "PB06_15:PAD93," & 
-       "PB06_16:PAD98," & 
-       "PB07_01:PAD102," & 
-       "PB07_02:PAD106," & 
-       "PB07_03:PAD108," & 
-       "PB07_04:PAD103," & 
-       "PB07_05:PAD104," & 
-       "PB07_06:PAD110," & 
-       "PB07_07:PAD105," & 
-       "PB07_08:PAD107," & 
-       "PB07_09:PAD113," & 
-       "PB07_10:PAD109," & 
-       "PB07_11:PAD112," & 
-       "PB07_12:PAD115," & 
-       "PB07_13:PAD114," & 
-       "PB07_14:PAD116," & 
-       "PB07_15:PAD119," & 
-       "PB07_16:PAD117," & 
-       "TCK:PAD75," & 
-       "TDI:PAD71," & 
-       "TDO:PAD137," & 
-       "TMS:PAD73," & 
-       "Vccint_1:PAD46," & 
-       "Vccint_2:PAD94," & 
-       "Vccint_3:PAD158," & 
-       "VccInt_Vpp:PAD10," & 
-       "Vccio_1:PAD1," & 
-       "Vccio_2:PAD41," & 
-       "Vccio_3:PAD61," & 
-       "Vccio_4:PAD81," & 
-       "Vccio_5:PAD122," & 
-       "Vccio_6:PAD142," & 
-       "Vssint_1:PAD31," & 
-       "Vssint_2:PAD70," & 
-       "Vssint_3:PAD100," & 
-       "Vssint_4:PAD128," & 
-       "Vssint_Vnn:PAD101," & 
-       "Vssio_1:PAD20," & 
-       "Vssio_2:PAD40," & 
-       "Vssio_3:PAD51," & 
-       "Vssio_4:PAD80," & 
-       "Vssio_5:PAD99," & 
-       "Vssio_6:PAD111," & 
-       "Vssio_7:PAD121," & 
-       "Vssio_8:PAD138," & 
-       "Vssio_9:PAD161";
-
-attribute TAP_SCAN_IN    of TDI : signal is true;
-attribute TAP_SCAN_OUT   of TDO : signal is true;
-attribute TAP_SCAN_MODE  of TMS : signal is true;
-attribute TAP_SCAN_CLOCK of TCK : signal is (1.00e+07, BOTH);
-attribute INSTRUCTION_LENGTH of xc95144xl : entity is 8;
-
-attribute INSTRUCTION_OPCODE of xc95144xl : entity is
-       "BYPASS ( 11111111)," &
-       "CLAMP ( 11111010)," &
-       "ISPEX ( 11110000)," &
-       "EXTEST ( 00000000),"&
-       "FBLANK ( 11100101),"& 
-       "FBULK ( 11101101),"&
-       "FERASE ( 11101100),"&
-       "FPGM ( 11101010)," &
-       "FPGMI ( 11101011)," &
-       "FVFY ( 11101110)," &
-       "FVFYI ( 11101111)," &
-       "HIGHZ ( 11111100),"&
-       "IDCODE ( 11111110),"&
-       "INTEST ( 00000010),"&
-       "ISPEN ( 11101000)," &
-       "ISPENC ( 11101001)," &
-       "SAMPLE ( 00000001)," &
-       "USERCODE ( 11111101)"; 
-
-attribute INSTRUCTION_CAPTURE of xc95144xl: entity is "000XXX01";
-
-attribute IDCODE_REGISTER of xc95144xl: entity is
-        "XXXX" &               -- version
-        "1001011000001000" &    -- part number
-        "00001001001" &         -- manufacturer's id
-        "1";                    -- required by standard
-attribute USERCODE_REGISTER of xc95144xl: entity is
-        "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
-
-
-attribute REGISTER_ACCESS of xc95144xl : entity is
-        "BYPASS ( ISPEX, HIGHZ, CLAMP )," &
-        "ISCENABLE[6] ( ISPEN, ISPENC )," &
-        "ISDATA[66] (  FPGMI, FVFYI ),"&
-        "ISADDRESS[18] ( FERASE, FBULK, FBLANK ),"& 
-        "ISCONFIGURATION[82] (  FPGM, FVFY )";
-attribute BOUNDARY_LENGTH of xc95144xl : entity is 432; 
-
-attribute BOUNDARY_REGISTER of xc95144xl : entity is
-       "   431 (BC_1, PB00_00, input, X), "  &
-       "   430 (BC_1, PB00_00, output3, X, 429, 0, Z)," &
-       "   429 (BC_1, *, controlr, 0)," &
-       "   428 (BC_1, PB00_01, input, X), "  &
-       "   427 (BC_1, PB00_01, output3, X, 426, 0, Z)," &
-       "   426 (BC_1, *, controlr, 0)," &
-       "   425 (BC_1, PB00_02, input, X), "  &
-       "   424 (BC_1, PB00_02, output3, X, 423, 0, Z)," &
-       "   423 (BC_1, *, controlr, 0)," &
-       "   422 (BC_1, PB00_03, input, X), "  &
-       "   421 (BC_1, PB00_03, output3, X, 420, 0, Z)," &
-       "   420 (BC_1, *, controlr, 0)," &
-       "   419 (BC_1, PB00_04, input, X), "  &
-       "   418 (BC_1, PB00_04, output3, X, 417, 0, Z)," &
-       "   417 (BC_1, *, controlr, 0)," &
-       "   416 (BC_1, PB00_05, input, X), "  &
-       "   415 (BC_1, PB00_05, output3, X, 414, 0, Z)," &
-       "   414 (BC_1, *, controlr, 0)," &
-       "   413 (BC_1, PB00_06, input, X), "  &
-       "   412 (BC_1, PB00_06, output3, X, 411, 0, Z)," &
-       "   411 (BC_1, *, controlr, 0)," &
-       "   410 (BC_1, PB00_07, input, X), "  &
-       "   409 (BC_1, PB00_07, output3, X, 408, 0, Z)," &
-       "   408 (BC_1, *, controlr, 0)," &
-       "   407 (BC_1, PB00_08, input, X), "  &
-       "   406 (BC_1, PB00_08, output3, X, 405, 0, Z)," &
-       "   405 (BC_1, *, controlr, 0)," &
-       "   404 (BC_1, PB00_09, input, X), "  &
-       "   403 (BC_1, PB00_09, output3, X, 402, 0, Z)," &
-       "   402 (BC_1, *, controlr, 0)," &
-       "   401 (BC_1, PB00_10, input, X), "  &
-       "   400 (BC_1, PB00_10, output3, X, 399, 0, Z)," &
-       "   399 (BC_1, *, controlr, 0)," &
-       "   398 (BC_1, PB00_11, input, X), "  &
-       "   397 (BC_1, PB00_11, output3, X, 396, 0, Z)," &
-       "   396 (BC_1, *, controlr, 0)," &
-       "   395 (BC_1, PB00_12, input, X), "  &
-       "   394 (BC_1, PB00_12, output3, X, 393, 0, Z)," &
-       "   393 (BC_1, *, controlr, 0)," &
-       "   392 (BC_1, PB00_13, input, X), "  &
-       "   391 (BC_1, PB00_13, output3, X, 390, 0, Z)," &
-       "   390 (BC_1, *, controlr, 0)," &
-       "   389 (BC_1, PB00_14, input, X), "  &
-       "   388 (BC_1, PB00_14, output3, X, 387, 0, Z)," &
-       "   387 (BC_1, *, controlr, 0)," &
-       "   386 (BC_1, PB00_15, input, X), "  &
-       "   385 (BC_1, PB00_15, output3, X, 384, 0, Z)," &
-       "   384 (BC_1, *, controlr, 0)," &
-       "   383 (BC_1, PB00_16, input, X), "  &
-       "   382 (BC_1, PB00_16, output3, X, 381, 0, Z)," &
-       "   381 (BC_1, *, controlr, 0)," &
-       "   380 (BC_1, *, internal, X)," &
-       "   379 (BC_1, *, internal, X)," &
-       "   378 (BC_1, *, internal, X)," &
-       "   377 (BC_1, PB01_00, input, X), "  &
-       "   376 (BC_1, PB01_00, output3, X, 375, 0, Z)," &
-       "   375 (BC_1, *, controlr, 0)," &
-       "   374 (BC_1, PB01_01, input, X), "  &
-       "   373 (BC_1, PB01_01, output3, X, 372, 0, Z)," &
-       "   372 (BC_1, *, controlr, 0)," &
-       "   371 (BC_1, PB01_02, input, X), "  &
-       "   370 (BC_1, PB01_02, output3, X, 369, 0, Z)," &
-       "   369 (BC_1, *, controlr, 0)," &
-       "   368 (BC_1, PB01_03, input, X), "  &
-       "   367 (BC_1, PB01_03, output3, X, 366, 0, Z)," &
-       "   366 (BC_1, *, controlr, 0)," &
-       "   365 (BC_1, PB01_04, input, X), "  &
-       "   364 (BC_1, PB01_04, output3, X, 363, 0, Z)," &
-       "   363 (BC_1, *, controlr, 0)," &
-       "   362 (BC_1, PB01_05, input, X), "  &
-       "   361 (BC_1, PB01_05, output3, X, 360, 0, Z)," &
-       "   360 (BC_1, *, controlr, 0)," &
-       "   359 (BC_1, PB01_06, input, X), "  &
-       "   358 (BC_1, PB01_06, output3, X, 357, 0, Z)," &
-       "   357 (BC_1, *, controlr, 0)," &
-       "   356 (BC_1, PB01_07, input, X), "  &
-       "   355 (BC_1, PB01_07, output3, X, 354, 0, Z)," &
-       "   354 (BC_1, *, controlr, 0)," &
-       "   353 (BC_1, PB01_08, input, X), "  &
-       "   352 (BC_1, PB01_08, output3, X, 351, 0, Z)," &
-       "   351 (BC_1, *, controlr, 0)," &
-       "   350 (BC_1, PB01_09, input, X), "  &
-       "   349 (BC_1, PB01_09, output3, X, 348, 0, Z)," &
-       "   348 (BC_1, *, controlr, 0)," &
-       "   347 (BC_1, PB01_10, input, X), "  &
-       "   346 (BC_1, PB01_10, output3, X, 345, 0, Z)," &
-       "   345 (BC_1, *, controlr, 0)," &
-       "   344 (BC_1, PB01_11, input, X), "  &
-       "   343 (BC_1, PB01_11, output3, X, 342, 0, Z)," &
-       "   342 (BC_1, *, controlr, 0)," &
-       "   341 (BC_1, PB01_12, input, X), "  &
-       "   340 (BC_1, PB01_12, output3, X, 339, 0, Z)," &
-       "   339 (BC_1, *, controlr, 0)," &
-       "   338 (BC_1, PB01_13, input, X), "  &
-       "   337 (BC_1, PB01_13, output3, X, 336, 0, Z)," &
-       "   336 (BC_1, *, controlr, 0)," &
-       "   335 (BC_1, PB01_14, input, X), "  &
-       "   334 (BC_1, PB01_14, output3, X, 333, 0, Z)," &
-       "   333 (BC_1, *, controlr, 0)," &
-       "   332 (BC_1, PB01_15, input, X), "  &
-       "   331 (BC_1, PB01_15, output3, X, 330, 0, Z)," &
-       "   330 (BC_1, *, controlr, 0)," &
-       "   329 (BC_1, PB01_16, input, X), "  &
-       "   328 (BC_1, PB01_16, output3, X, 327, 0, Z)," &
-       "   327 (BC_1, *, controlr, 0)," &
-       "   326 (BC_1, *, internal, X)," &
-       "   325 (BC_1, *, internal, X)," &
-       "   324 (BC_1, *, internal, X)," &
-       "   323 (BC_1, PB02_00, input, X), "  &
-       "   322 (BC_1, PB02_00, output3, X, 321, 0, Z)," &
-       "   321 (BC_1, *, controlr, 0)," &
-       "   320 (BC_1, PB02_01, input, X), "  &
-       "   319 (BC_1, PB02_01, output3, X, 318, 0, Z)," &
-       "   318 (BC_1, *, controlr, 0)," &
-       "   317 (BC_1, PB02_02, input, X), "  &
-       "   316 (BC_1, PB02_02, output3, X, 315, 0, Z)," &
-       "   315 (BC_1, *, controlr, 0)," &
-       "   314 (BC_1, PB02_03, input, X), "  &
-       "   313 (BC_1, PB02_03, output3, X, 312, 0, Z)," &
-       "   312 (BC_1, *, controlr, 0)," &
-       "   311 (BC_1, PB02_04, input, X), "  &
-       "   310 (BC_1, PB02_04, output3, X, 309, 0, Z)," &
-       "   309 (BC_1, *, controlr, 0)," &
-       "   308 (BC_1, PB02_05, input, X), "  &
-       "   307 (BC_1, PB02_05, output3, X, 306, 0, Z)," &
-       "   306 (BC_1, *, controlr, 0)," &
-       "   305 (BC_1, PB02_06, input, X), "  &
-       "   304 (BC_1, PB02_06, output3, X, 303, 0, Z)," &
-       "   303 (BC_1, *, controlr, 0)," &
-       "   302 (BC_1, PB02_07, input, X), "  &
-       "   301 (BC_1, PB02_07, output3, X, 300, 0, Z)," &
-       "   300 (BC_1, *, controlr, 0)," &
-       "   299 (BC_1, PB02_08, input, X), "  &
-       "   298 (BC_1, PB02_08, output3, X, 297, 0, Z)," &
-       "   297 (BC_1, *, controlr, 0)," &
-       "   296 (BC_1, PB02_09, input, X), "  &
-       "   295 (BC_1, PB02_09, output3, X, 294, 0, Z)," &
-       "   294 (BC_1, *, controlr, 0)," &
-       "   293 (BC_1, PB02_10, input, X), "  &
-       "   292 (BC_1, PB02_10, output3, X, 291, 0, Z)," &
-       "   291 (BC_1, *, controlr, 0)," &
-       "   290 (BC_1, PB02_11, input, X), "  &
-       "   289 (BC_1, PB02_11, output3, X, 288, 0, Z)," &
-       "   288 (BC_1, *, controlr, 0)," &
-       "   287 (BC_1, PB02_12, input, X), "  &
-       "   286 (BC_1, PB02_12, output3, X, 285, 0, Z)," &
-       "   285 (BC_1, *, controlr, 0)," &
-       "   284 (BC_1, PB02_13, input, X), "  &
-       "   283 (BC_1, PB02_13, output3, X, 282, 0, Z)," &
-       "   282 (BC_1, *, controlr, 0)," &
-       "   281 (BC_1, PB02_14, input, X), "  &
-       "   280 (BC_1, PB02_14, output3, X, 279, 0, Z)," &
-       "   279 (BC_1, *, controlr, 0)," &
-       "   278 (BC_1, PB02_15, input, X), "  &
-       "   277 (BC_1, PB02_15, output3, X, 276, 0, Z)," &
-       "   276 (BC_1, *, controlr, 0)," &
-       "   275 (BC_1, PB02_16, input, X), "  &
-       "   274 (BC_1, PB02_16, output3, X, 273, 0, Z)," &
-       "   273 (BC_1, *, controlr, 0)," &
-       "   272 (BC_1, *, internal, X)," &
-       "   271 (BC_1, *, internal, X)," &
-       "   270 (BC_1, *, internal, X)," &
-       "   269 (BC_1, PB03_00, input, X), "  &
-       "   268 (BC_1, PB03_00, output3, X, 267, 0, Z)," &
-       "   267 (BC_1, *, controlr, 0)," &
-       "   266 (BC_1, PB03_01, input, X), "  &
-       "   265 (BC_1, PB03_01, output3, X, 264, 0, Z)," &
-       "   264 (BC_1, *, controlr, 0)," &
-       "   263 (BC_1, PB03_02, input, X), "  &
-       "   262 (BC_1, PB03_02, output3, X, 261, 0, Z)," &
-       "   261 (BC_1, *, controlr, 0)," &
-       "   260 (BC_1, PB03_03, input, X), "  &
-       "   259 (BC_1, PB03_03, output3, X, 258, 0, Z)," &
-       "   258 (BC_1, *, controlr, 0)," &
-       "   257 (BC_1, PB03_04, input, X), "  &
-       "   256 (BC_1, PB03_04, output3, X, 255, 0, Z)," &
-       "   255 (BC_1, *, controlr, 0)," &
-       "   254 (BC_1, PB03_05, input, X), "  &
-       "   253 (BC_1, PB03_05, output3, X, 252, 0, Z)," &
-       "   252 (BC_1, *, controlr, 0)," &
-       "   251 (BC_1, PB03_06, input, X), "  &
-       "   250 (BC_1, PB03_06, output3, X, 249, 0, Z)," &
-       "   249 (BC_1, *, controlr, 0)," &
-       "   248 (BC_1, PB03_07, input, X), "  &
-       "   247 (BC_1, PB03_07, output3, X, 246, 0, Z)," &
-       "   246 (BC_1, *, controlr, 0)," &
-       "   245 (BC_1, PB03_08, input, X), "  &
-       "   244 (BC_1, PB03_08, output3, X, 243, 0, Z)," &
-       "   243 (BC_1, *, controlr, 0)," &
-       "   242 (BC_1, PB03_09, input, X), "  &
-       "   241 (BC_1, PB03_09, output3, X, 240, 0, Z)," &
-       "   240 (BC_1, *, controlr, 0)," &
-       "   239 (BC_1, PB03_10, input, X), "  &
-       "   238 (BC_1, PB03_10, output3, X, 237, 0, Z)," &
-       "   237 (BC_1, *, controlr, 0)," &
-       "   236 (BC_1, PB03_11, input, X), "  &
-       "   235 (BC_1, PB03_11, output3, X, 234, 0, Z)," &
-       "   234 (BC_1, *, controlr, 0)," &
-       "   233 (BC_1, PB03_12, input, X), "  &
-       "   232 (BC_1, PB03_12, output3, X, 231, 0, Z)," &
-       "   231 (BC_1, *, controlr, 0)," &
-       "   230 (BC_1, PB03_13, input, X), "  &
-       "   229 (BC_1, PB03_13, output3, X, 228, 0, Z)," &
-       "   228 (BC_1, *, controlr, 0)," &
-       "   227 (BC_1, PB03_14, input, X), "  &
-       "   226 (BC_1, PB03_14, output3, X, 225, 0, Z)," &
-       "   225 (BC_1, *, controlr, 0)," &
-       "   224 (BC_1, PB03_15, input, X), "  &
-       "   223 (BC_1, PB03_15, output3, X, 222, 0, Z)," &
-       "   222 (BC_1, *, controlr, 0)," &
-       "   221 (BC_1, PB03_16, input, X), "  &
-       "   220 (BC_1, PB03_16, output3, X, 219, 0, Z)," &
-       "   219 (BC_1, *, controlr, 0)," &
-       "   218 (BC_1, *, internal, X)," &
-       "   217 (BC_1, *, internal, X)," &
-       "   216 (BC_1, *, internal, X)," &
-       "   215 (BC_1, PB04_00, input, X), "  &
-       "   214 (BC_1, PB04_00, output3, X, 213, 0, Z)," &
-       "   213 (BC_1, *, controlr, 0)," &
-       "   212 (BC_1, PB04_01, input, X), "  &
-       "   211 (BC_1, PB04_01, output3, X, 210, 0, Z)," &
-       "   210 (BC_1, *, controlr, 0)," &
-       "   209 (BC_1, PB04_02, input, X), "  &
-       "   208 (BC_1, PB04_02, output3, X, 207, 0, Z)," &
-       "   207 (BC_1, *, controlr, 0)," &
-       "   206 (BC_1, PB04_03, input, X), "  &
-       "   205 (BC_1, PB04_03, output3, X, 204, 0, Z)," &
-       "   204 (BC_1, *, controlr, 0)," &
-       "   203 (BC_1, PB04_04, input, X), "  &
-       "   202 (BC_1, PB04_04, output3, X, 201, 0, Z)," &
-       "   201 (BC_1, *, controlr, 0)," &
-       "   200 (BC_1, PB04_05, input, X), "  &
-       "   199 (BC_1, PB04_05, output3, X, 198, 0, Z)," &
-       "   198 (BC_1, *, controlr, 0)," &
-       "   197 (BC_1, PB04_06, input, X), "  &
-       "   196 (BC_1, PB04_06, output3, X, 195, 0, Z)," &
-       "   195 (BC_1, *, controlr, 0)," &
-       "   194 (BC_1, PB04_07, input, X), "  &
-       "   193 (BC_1, PB04_07, output3, X, 192, 0, Z)," &
-       "   192 (BC_1, *, controlr, 0)," &
-       "   191 (BC_1, PB04_08, input, X), "  &
-       "   190 (BC_1, PB04_08, output3, X, 189, 0, Z)," &
-       "   189 (BC_1, *, controlr, 0)," &
-       "   188 (BC_1, PB04_09, input, X), "  &
-       "   187 (BC_1, PB04_09, output3, X, 186, 0, Z)," &
-       "   186 (BC_1, *, controlr, 0)," &
-       "   185 (BC_1, PB04_10, input, X), "  &
-       "   184 (BC_1, PB04_10, output3, X, 183, 0, Z)," &
-       "   183 (BC_1, *, controlr, 0)," &
-       "   182 (BC_1, PB04_11, input, X), "  &
-       "   181 (BC_1, PB04_11, output3, X, 180, 0, Z)," &
-       "   180 (BC_1, *, controlr, 0)," &
-       "   179 (BC_1, PB04_12, input, X), "  &
-       "   178 (BC_1, PB04_12, output3, X, 177, 0, Z)," &
-       "   177 (BC_1, *, controlr, 0)," &
-       "   176 (BC_1, PB04_13, input, X), "  &
-       "   175 (BC_1, PB04_13, output3, X, 174, 0, Z)," &
-       "   174 (BC_1, *, controlr, 0)," &
-       "   173 (BC_1, PB04_14, input, X), "  &
-       "   172 (BC_1, PB04_14, output3, X, 171, 0, Z)," &
-       "   171 (BC_1, *, controlr, 0)," &
-       "   170 (BC_1, PB04_15, input, X), "  &
-       "   169 (BC_1, PB04_15, output3, X, 168, 0, Z)," &
-       "   168 (BC_1, *, controlr, 0)," &
-       "   167 (BC_1, PB04_16, input, X), "  &
-       "   166 (BC_1, PB04_16, output3, X, 165, 0, Z)," &
-       "   165 (BC_1, *, controlr, 0)," &
-       "   164 (BC_1, *, internal, X)," &
-       "   163 (BC_1, *, internal, X)," &
-       "   162 (BC_1, *, internal, X)," &
-       "   161 (BC_1, *, internal, X)," &
-       "   160 (BC_1, *, internal, X)," &
-       "   159 (BC_1, *, internal, X)," &
-       "   158 (BC_1, PB05_01, input, X), "  &
-       "   157 (BC_1, PB05_01, output3, X, 156, 0, Z)," &
-       "   156 (BC_1, *, controlr, 0)," &
-       "   155 (BC_1, PB05_02, input, X), "  &
-       "   154 (BC_1, PB05_02, output3, X, 153, 0, Z)," &
-       "   153 (BC_1, *, controlr, 0)," &
-       "   152 (BC_1, PB05_03, input, X), "  &
-       "   151 (BC_1, PB05_03, output3, X, 150, 0, Z)," &
-       "   150 (BC_1, *, controlr, 0)," &
-       "   149 (BC_1, PB05_04, input, X), "  &
-       "   148 (BC_1, PB05_04, output3, X, 147, 0, Z)," &
-       "   147 (BC_1, *, controlr, 0)," &
-       "   146 (BC_1, PB05_05, input, X), "  &
-       "   145 (BC_1, PB05_05, output3, X, 144, 0, Z)," &
-       "   144 (BC_1, *, controlr, 0)," &
-       "   143 (BC_1, PB05_06, input, X), "  &
-       "   142 (BC_1, PB05_06, output3, X, 141, 0, Z)," &
-       "   141 (BC_1, *, controlr, 0)," &
-       "   140 (BC_1, PB05_07, input, X), "  &
-       "   139 (BC_1, PB05_07, output3, X, 138, 0, Z)," &
-       "   138 (BC_1, *, controlr, 0)," &
-       "   137 (BC_1, PB05_08, input, X), "  &
-       "   136 (BC_1, PB05_08, output3, X, 135, 0, Z)," &
-       "   135 (BC_1, *, controlr, 0)," &
-       "   134 (BC_1, PB05_09, input, X), "  &
-       "   133 (BC_1, PB05_09, output3, X, 132, 0, Z)," &
-       "   132 (BC_1, *, controlr, 0)," &
-       "   131 (BC_1, PB05_10, input, X), "  &
-       "   130 (BC_1, PB05_10, output3, X, 129, 0, Z)," &
-       "   129 (BC_1, *, controlr, 0)," &
-       "   128 (BC_1, PB05_11, input, X), "  &
-       "   127 (BC_1, PB05_11, output3, X, 126, 0, Z)," &
-       "   126 (BC_1, *, controlr, 0)," &
-       "   125 (BC_1, PB05_12, input, X), "  &
-       "   124 (BC_1, PB05_12, output3, X, 123, 0, Z)," &
-       "   123 (BC_1, *, controlr, 0)," &
-       "   122 (BC_1, PB05_13, input, X), "  &
-       "   121 (BC_1, PB05_13, output3, X, 120, 0, Z)," &
-       "   120 (BC_1, *, controlr, 0)," &
-       "   119 (BC_1, PB05_14, input, X), "  &
-       "   118 (BC_1, PB05_14, output3, X, 117, 0, Z)," &
-       "   117 (BC_1, *, controlr, 0)," &
-       "   116 (BC_1, PB05_15, input, X), "  &
-       "   115 (BC_1, PB05_15, output3, X, 114, 0, Z)," &
-       "   114 (BC_1, *, controlr, 0)," &
-       "   113 (BC_1, PB05_16, input, X), "  &
-       "   112 (BC_1, PB05_16, output3, X, 111, 0, Z)," &
-       "   111 (BC_1, *, controlr, 0)," &
-       "   110 (BC_1, *, internal, X)," &
-       "   109 (BC_1, *, internal, X)," &
-       "   108 (BC_1, *, internal, X)," &
-       "   107 (BC_1, *, internal, X)," &
-       "   106 (BC_1, *, internal, X)," &
-       "   105 (BC_1, *, internal, X)," &
-       "   104 (BC_1, PB06_01, input, X), "  &
-       "   103 (BC_1, PB06_01, output3, X, 102, 0, Z)," &
-       "   102 (BC_1, *, controlr, 0)," &
-       "   101 (BC_1, PB06_02, input, X), "  &
-       "   100 (BC_1, PB06_02, output3, X, 99, 0, Z)," &
-       "   99 (BC_1, *, controlr, 0)," &
-       "   98 (BC_1, PB06_03, input, X), "  &
-       "   97 (BC_1, PB06_03, output3, X, 96, 0, Z)," &
-       "   96 (BC_1, *, controlr, 0)," &
-       "   95 (BC_1, PB06_04, input, X), "  &
-       "   94 (BC_1, PB06_04, output3, X, 93, 0, Z)," &
-       "   93 (BC_1, *, controlr, 0)," &
-       "   92 (BC_1, PB06_05, input, X), "  &
-       "   91 (BC_1, PB06_05, output3, X, 90, 0, Z)," &
-       "   90 (BC_1, *, controlr, 0)," &
-       "   89 (BC_1, PB06_06, input, X), "  &
-       "   88 (BC_1, PB06_06, output3, X, 87, 0, Z)," &
-       "   87 (BC_1, *, controlr, 0)," &
-       "   86 (BC_1, PB06_07, input, X), "  &
-       "   85 (BC_1, PB06_07, output3, X, 84, 0, Z)," &
-       "   84 (BC_1, *, controlr, 0)," &
-       "   83 (BC_1, PB06_08, input, X), "  &
-       "   82 (BC_1, PB06_08, output3, X, 81, 0, Z)," &
-       "   81 (BC_1, *, controlr, 0)," &
-       "   80 (BC_1, PB06_09, input, X), "  &
-       "   79 (BC_1, PB06_09, output3, X, 78, 0, Z)," &
-       "   78 (BC_1, *, controlr, 0)," &
-       "   77 (BC_1, PB06_10, input, X), "  &
-       "   76 (BC_1, PB06_10, output3, X, 75, 0, Z)," &
-       "   75 (BC_1, *, controlr, 0)," &
-       "   74 (BC_1, PB06_11, input, X), "  &
-       "   73 (BC_1, PB06_11, output3, X, 72, 0, Z)," &
-       "   72 (BC_1, *, controlr, 0)," &
-       "   71 (BC_1, PB06_12, input, X), "  &
-       "   70 (BC_1, PB06_12, output3, X, 69, 0, Z)," &
-       "   69 (BC_1, *, controlr, 0)," &
-       "   68 (BC_1, PB06_13, input, X), "  &
-       "   67 (BC_1, PB06_13, output3, X, 66, 0, Z)," &
-       "   66 (BC_1, *, controlr, 0)," &
-       "   65 (BC_1, PB06_14, input, X), "  &
-       "   64 (BC_1, PB06_14, output3, X, 63, 0, Z)," &
-       "   63 (BC_1, *, controlr, 0)," &
-       "   62 (BC_1, PB06_15, input, X), "  &
-       "   61 (BC_1, PB06_15, output3, X, 60, 0, Z)," &
-       "   60 (BC_1, *, controlr, 0)," &
-       "   59 (BC_1, PB06_16, input, X), "  &
-       "   58 (BC_1, PB06_16, output3, X, 57, 0, Z)," &
-       "   57 (BC_1, *, controlr, 0)," &
-       "   56 (BC_1, *, internal, X)," &
-       "   55 (BC_1, *, internal, X)," &
-       "   54 (BC_1, *, internal, X)," &
-       "   53 (BC_1, *, internal, X)," &
-       "   52 (BC_1, *, internal, X)," &
-       "   51 (BC_1, *, internal, X)," &
-       "   50 (BC_1, PB07_01, input, X), "  &
-       "   49 (BC_1, PB07_01, output3, X, 48, 0, Z)," &
-       "   48 (BC_1, *, controlr, 0)," &
-       "   47 (BC_1, PB07_02, input, X), "  &
-       "   46 (BC_1, PB07_02, output3, X, 45, 0, Z)," &
-       "   45 (BC_1, *, controlr, 0)," &
-       "   44 (BC_1, PB07_03, input, X), "  &
-       "   43 (BC_1, PB07_03, output3, X, 42, 0, Z)," &
-       "   42 (BC_1, *, controlr, 0)," &
-       "   41 (BC_1, PB07_04, input, X), "  &
-       "   40 (BC_1, PB07_04, output3, X, 39, 0, Z)," &
-       "   39 (BC_1, *, controlr, 0)," &
-       "   38 (BC_1, PB07_05, input, X), "  &
-       "   37 (BC_1, PB07_05, output3, X, 36, 0, Z)," &
-       "   36 (BC_1, *, controlr, 0)," &
-       "   35 (BC_1, PB07_06, input, X), "  &
-       "   34 (BC_1, PB07_06, output3, X, 33, 0, Z)," &
-       "   33 (BC_1, *, controlr, 0)," &
-       "   32 (BC_1, PB07_07, input, X), "  &
-       "   31 (BC_1, PB07_07, output3, X, 30, 0, Z)," &
-       "   30 (BC_1, *, controlr, 0)," &
-       "   29 (BC_1, PB07_08, input, X), "  &
-       "   28 (BC_1, PB07_08, output3, X, 27, 0, Z)," &
-       "   27 (BC_1, *, controlr, 0)," &
-       "   26 (BC_1, PB07_09, input, X), "  &
-       "   25 (BC_1, PB07_09, output3, X, 24, 0, Z)," &
-       "   24 (BC_1, *, controlr, 0)," &
-       "   23 (BC_1, PB07_10, input, X), "  &
-       "   22 (BC_1, PB07_10, output3, X, 21, 0, Z)," &
-       "   21 (BC_1, *, controlr, 0)," &
-       "   20 (BC_1, PB07_11, input, X), "  &
-       "   19 (BC_1, PB07_11, output3, X, 18, 0, Z)," &
-       "   18 (BC_1, *, controlr, 0)," &
-       "   17 (BC_1, PB07_12, input, X), "  &
-       "   16 (BC_1, PB07_12, output3, X, 15, 0, Z)," &
-       "   15 (BC_1, *, controlr, 0)," &
-       "   14 (BC_1, PB07_13, input, X), "  &
-       "   13 (BC_1, PB07_13, output3, X, 12, 0, Z)," &
-       "   12 (BC_1, *, controlr, 0)," &
-       "   11 (BC_1, PB07_14, input, X), "  &
-       "   10 (BC_1, PB07_14, output3, X, 9, 0, Z)," &
-       "   9 (BC_1, *, controlr, 0)," &
-       "   8 (BC_1, PB07_15, input, X), "  &
-       "   7 (BC_1, PB07_15, output3, X, 6, 0, Z)," &
-       "   6 (BC_1, *, controlr, 0)," &
-       "   5 (BC_1, PB07_16, input, X), "  &
-       "   4 (BC_1, PB07_16, output3, X, 3, 0, Z)," &
-       "   3 (BC_1, *, controlr, 0)," &
-       "   2 (BC_1, *, internal, X)," &
-       "   1 (BC_1, *, internal, X)," &
-       "   0 (BC_1, *, internal, X)";
-
-end xc95144xl;