diff options
author | richardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2> | 2008-05-25 17:39:16 +0000 |
---|---|---|
committer | richardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2> | 2008-05-25 17:39:16 +0000 |
commit | 4021559f2b5bbddb571b906397dc66b60407b353 (patch) | |
tree | 9da591680716eacbc674025dcbdb0b8bc0423a66 | |
parent | 9c270613258d49a0bea96ac52b55dcae426dd38b (diff) | |
download | freertos-4021559f2b5bbddb571b906397dc66b60407b353.tar.gz freertos-4021559f2b5bbddb571b906397dc66b60407b353.tar.bz2 freertos-4021559f2b5bbddb571b906397dc66b60407b353.tar.xz |
Remove old PPC port.
git-svn-id: https://freertos.svn.sourceforge.net/svnroot/freertos/trunk@390 1d2547de-c912-0410-9cb9-b8ca96c0e9e2
68 files changed, 0 insertions, 22860 deletions
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h deleted file mode 100644 index 1f5ef790..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/FreeRTOSConfig.h +++ /dev/null @@ -1,110 +0,0 @@ -/*
- FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
-
- This file is part of the FreeRTOS.org distribution.
-
- FreeRTOS.org is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- FreeRTOS.org is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with FreeRTOS.org; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- A special exception to the GPL can be applied should you wish to distribute
- a combined work that includes FreeRTOS.org, without being obliged to provide
- the source code for any proprietary components. See the licensing section
- of http://www.FreeRTOS.org for full details of how and when the exception
- can be applied.
-
- ***************************************************************************
- ***************************************************************************
- * *
- * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
- * and even write all or part of your application on your behalf. *
- * See http://www.OpenRTOS.com for details of the services we provide to *
- * expedite your project. *
- * *
- ***************************************************************************
- ***************************************************************************
-
- Please ensure to read the configuration and relevant port sections of the
- online documentation.
-
- http://www.FreeRTOS.org - Documentation, latest information, license and
- contact details.
-
- http://www.SafeRTOS.com - A version that is certified for use in safety
- critical systems.
-
- http://www.OpenRTOS.com - Commercial support, development, porting,
- licensing and training services.
-*/
-
-#ifndef FREERTOS_CONFIG_H
-#define FREERTOS_CONFIG_H
-
-/*-----------------------------------------------------------
- * Application specific definitions.
- *
- * These definitions should be adjusted for your particular hardware and
- * application requirements.
- *
- * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
- * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
- *----------------------------------------------------------*/
-#define configUSE_PREEMPTION 1
-#define configUSE_IDLE_HOOK 0
-#define configUSE_TICK_HOOK 0
-#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 250 )
-#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 100000000 ) /* Clock setup from start.asm in the demo application. */
-#define configTICK_RATE_HZ ( (portTickType) 1000 )
-#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 6 )
-#define configTOTAL_HEAP_SIZE ( (size_t) (80 * 1024) )
-#define configMAX_TASK_NAME_LEN ( 20 )
-#define configUSE_16_BIT_TICKS 1
-#define configIDLE_SHOULD_YIELD 1
-#define configUSE_MUTEXES 1
-#define configUSE_TRACE_FACILITY 0
-#define configCHECK_FOR_STACK_OVERFLOW 2
-#define configUSE_COUNTING_SEMAPHORES 1
-#define configUSE_APPLICATION_TASK_TAG 0
-#define configUSE_FPU 0
-
-
-/* Co-routine definitions. */
-#define configUSE_CO_ROUTINES 0
-#define configMAX_CO_ROUTINE_PRIORITIES ( 4 )
-
-/* Set the following definitions to 1 to include the API function, or zero
-to exclude the API function. */
-#define INCLUDE_vTaskPrioritySet 1
-#define INCLUDE_uxTaskPriorityGet 1
-#define INCLUDE_vTaskDelete 1
-#define INCLUDE_vTaskCleanUpResources 1
-#define INCLUDE_vTaskSuspend 1
-#define INCLUDE_vResumeFromISR 1
-#define INCLUDE_vTaskDelayUntil 1
-#define INCLUDE_vTaskDelay 1
-#define INCLUDE_xTaskGetSchedulerState 1
-#define INCLUDE_xTaskGetCurrentTaskHandle 1
-#define INCLUDE_uxTaskGetStackHighWaterMark 1
-#define configUSE_RECURSIVE_MUTEXES 1
-
-
-#if configUSE_FPU == 1
- /* Include the header that define the traceTASK_SWITCHED_IN() and
- traceTASK_SWITCHED_OUT() macros to save and restore the floating
- point registers for tasks that have requested this behaviour. */
- #include "FPU_Macros.h"
-#endif
-
-#endif /* FREERTOS_CONFIG_H */
-
-
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 index 84040a57..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/RTOSDemo_linker_script.ld +++ /dev/null @@ -1,224 +0,0 @@ -/*******************************************************************/
-/* */
-/* This file is automatically generated by linker script generator.*/
-/* */
-/* Version: Xilinx EDK 10.1 EDK_K.15 */
-/* */
-/* Copyright (c) 2004 Xilinx, Inc. All rights reserved. */
-/* */
-/* Description : PowerPC405 Linker Script */
-/* */
-/*******************************************************************/
-
-_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400;
-_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x400;
-
-/* Define Memories in the system */
-
-MEMORY
-{
- SRAM_C_MEM0_BASEADDR : ORIGIN = 0xFFF00000, LENGTH = 0x000FFFEC
-}
-
-/* Specify the default entry point to the program */
-
-ENTRY(_boot)
-STARTUP(boot.o)
-
-/* Define the sections, and where they are mapped in memory */
-
-SECTIONS
-{
-.vectors : {
- __vectors_start = .;
- *(.vectors)
- __vectors_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.text : {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
-} > SRAM_C_MEM0_BASEADDR
-
-.init : {
- KEEP (*(.init))
-} > SRAM_C_MEM0_BASEADDR
-
-.fini : {
- KEEP (*(.fini))
-} > SRAM_C_MEM0_BASEADDR
-
-.rodata : {
- __rodata_start = .;
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- __rodata_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.rodata1 : {
- __rodata1_start = .;
- *(.rodata1)
- *(.rodata1.*)
- __rodata1_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.sdata2 : {
- __sdata2_start = .;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- __sdata2_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.sbss2 : {
- __sbss2_start = .;
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- __sbss2_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.data : {
- __data_start = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __data_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.data1 : {
- __data1_start = .;
- *(.data1)
- *(.data1.*)
- __data1_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.got : {
- *(.got)
-} > SRAM_C_MEM0_BASEADDR
-
-.got1 : {
- *(.got1)
-} > SRAM_C_MEM0_BASEADDR
-
-.got2 : {
- *(.got2)
-} > SRAM_C_MEM0_BASEADDR
-
-.ctors : {
- __CTOR_LIST__ = .;
- ___CTORS_LIST___ = .;
- KEEP (*crtbegin.o(.ctors))
- KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- __CTOR_END__ = .;
- ___CTORS_END___ = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.dtors : {
- __DTOR_LIST__ = .;
- ___DTORS_LIST___ = .;
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- __DTOR_END__ = .;
- ___DTORS_END___ = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.fixup : {
- __fixup_start = .;
- *(.fixup)
- __fixup_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.eh_frame : {
- *(.eh_frame)
-} > SRAM_C_MEM0_BASEADDR
-
-.jcr : {
- *(.jcr)
-} > SRAM_C_MEM0_BASEADDR
-
-.gcc_except_table : {
- *(.gcc_except_table)
-} > SRAM_C_MEM0_BASEADDR
-
-.sdata : {
- __sdata_start = .;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __sdata_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.sbss : {
- __sbss_start = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- __sbss_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.tdata : {
- __tdata_start = .;
- *(.tdata)
- *(.tdata.*)
- *(.gnu.linkonce.td.*)
- __tdata_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.tbss : {
- __tbss_start = .;
- *(.tbss)
- *(.tbss.*)
- *(.gnu.linkonce.tb.*)
- __tbss_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.bss : {
- __bss_start = .;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- . = ALIGN(4);
- __bss_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.boot0 0xFFFFFFEC : {
- __boot0_start = .;
- *(.boot0)
- __boot0_end = .;
-}
-
-.boot 0xFFFFFFFC : {
- __boot_start = .;
- *(.boot)
- __boot_end = .;
-}
-
-/* Generate Stack and Heap Sections */
-
-.stack : {
- _stack_end = .;
- . += _STACK_SIZE;
- . = ALIGN(16);
- __stack = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.heap : {
- . = ALIGN(16);
- _heap_start = .;
- . += _HEAP_SIZE;
- . = ALIGN(16);
- _heap_end = .;
- _end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-}
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c b/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c deleted file mode 100644 index 561deb51..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/main.c +++ /dev/null @@ -1,688 +0,0 @@ -/*
- FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
-
- This file is part of the FreeRTOS.org distribution.
-
- FreeRTOS.org is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- FreeRTOS.org is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with FreeRTOS.org; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- A special exception to the GPL can be applied should you wish to distribute
- a combined work that includes FreeRTOS.org, without being obliged to provide
- the source code for any proprietary components. See the licensing section
- of http://www.FreeRTOS.org for full details of how and when the exception
- can be applied.
-
- ***************************************************************************
- ***************************************************************************
- * *
- * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
- * and even write all or part of your application on your behalf. *
- * See http://www.OpenRTOS.com for details of the services we provide to *
- * expedite your project. *
- * *
- ***************************************************************************
- ***************************************************************************
-
- Please ensure to read the configuration and relevant port sections of the
- online documentation.
-
- http://www.FreeRTOS.org - Documentation, latest information, license and
- contact details.
-
- http://www.SafeRTOS.com - A version that is certified for use in safety
- critical systems.
-
- http://www.OpenRTOS.com - Commercial support, development, porting,
- licensing and training services.
-*/
-
-/*
- * Creates all the demo application tasks, then starts the scheduler. The WEB
- * documentation provides more details of the demo application tasks.
- *
- * In addition to the standard demo tasks, the follow demo specific tasks are
- * create:
- *
- * The "Check" task. This only executes every three seconds but has the highest
- * priority so is guaranteed to get processor time. Its main function is to
- * check that all the other tasks are still operational. Most tasks maintain
- * a unique count that is incremented each time the task successfully completes
- * its function. Should any error occur within such a task the count is
- * permanently halted. The check task inspects the count of each task to ensure
- * it has changed since the last time the check task executed. If all the count
- * variables have changed all the tasks are still executing error free, and the
- * check task toggles the onboard LED. Should any task contain an error at any time
- * the LED toggle rate will change from 3 seconds to 500ms.
- *
- * The "Register Check" tasks. These tasks fill the CPU registers with known
- * values, then check that each register still contains the expected value, the
- * discovery of an unexpected value being indicative of an error in the RTOS
- * context switch mechanism. The register check tasks operate at low priority
- * so are switched in and out frequently.
- *
- */
-
-/* Scheduler includes. */
-#include "FreeRTOS.h"
-#include "task.h"
-
-/* Xilinx library includes. */
-#include "xcache_l.h"
-#include "xintc.h"
-
-/* Demo application includes. */
-#include "flash.h"
-#include "integer.h"
-#include "comtest2.h"
-#include "semtest.h"
-#include "BlockQ.h"
-#include "dynamic.h"
-#include "GenQTest.h"
-#include "QPeek.h"
-#include "blocktim.h"
-#include "death.h"
-#include "partest.h"
-#include "countsem.h"
-#include "recmutex.h"
-#include "flop.h"
-#include "flop-reg-test.h"
-
-/* Priorities assigned to the demo tasks. */
-#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 4 )
-#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 2 )
-#define mainCOM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1 )
-#define mainQUEUE_BLOCK_PRIORITY ( tskIDLE_PRIORITY + 1 )
-#define mainDEATH_PRIORITY ( tskIDLE_PRIORITY + 1 )
-#define mainLED_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
-#define mainGENERIC_QUEUE_PRIORITY ( tskIDLE_PRIORITY )
-#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 )
-
-/* The first LED used by the COM test and check tasks respectively. */
-#define mainCOM_TEST_LED ( 4 )
-#define mainCHECK_TEST_LED ( 3 )
-
-/* The baud rate used by the comtest tasks is set by the hardware, so the
-baud rate parameters passed into the comtest initialisation has no effect. */
-#define mainBAUD_SET_IN_HARDWARE ( 0 )
-
-/* Delay periods used by the check task. If no errors have been found then
-the check LED will toggle every mainNO_ERROR_CHECK_DELAY milliseconds. If an
-error has been found at any time then the toggle rate will increase to
-mainERROR_CHECK_DELAY milliseconds. */
-#define mainNO_ERROR_CHECK_DELAY ( ( portTickType ) 3000 / portTICK_RATE_MS )
-#define mainERROR_CHECK_DELAY ( ( portTickType ) 500 / portTICK_RATE_MS )
-
-
-/*
- * The tasks defined within this file - described within the comments at the
- * head of this page.
- */
-static void prvRegTestTask1( void *pvParameters );
-static void prvRegTestTask2( void *pvParameters );
-static void prvErrorChecks( void *pvParameters );
-
-/*
- * Called by the 'check' task to inspect all the standard demo tasks within
- * the system, as described within the comments at the head of this page.
- */
-static portSHORT prvCheckOtherTasksAreStillRunning( void );
-
-/*
- * Perform any hardware initialisation required by the demo application.
- */
-static void prvSetupHardware( void );
-
-/*-----------------------------------------------------------*/
-
-/* xRegTestStatus will get set to pdFAIL by the regtest tasks if they
-discover an unexpected value. */
-static unsigned portBASE_TYPE xRegTestStatus = pdPASS;
-
-/* Counters used to ensure the regtest tasks are still running. */
-static volatile unsigned portLONG ulRegTest1Counter = 0UL, ulRegTest2Counter = 0UL;
-
-/*-----------------------------------------------------------*/
-
-int main( void )
-{
- /* Must be called prior to installing any interrupt handlers! */
- vPortSetupInterruptController();
-
- /* In this case prvSetupHardware() just enables the caches and and
- configures the IO ports for the LED outputs. */
- prvSetupHardware();
-
- /* Start the standard demo application tasks. Note that the baud rate used
- by the comtest tasks is set by the hardware, so the baud rate parameter
- passed has no effect. */
- vStartLEDFlashTasks( mainLED_TASK_PRIORITY );
- vStartIntegerMathTasks( tskIDLE_PRIORITY );
- vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainBAUD_SET_IN_HARDWARE, mainCOM_TEST_LED );
- vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );
- vStartBlockingQueueTasks ( mainQUEUE_BLOCK_PRIORITY );
- vStartDynamicPriorityTasks();
- vStartGenericQueueTasks( mainGENERIC_QUEUE_PRIORITY );
- vStartQueuePeekTasks();
- vCreateBlockTimeTasks();
- vStartCountingSemaphoreTasks();
- vStartRecursiveMutexTasks();
-
- #if ( configUSE_FPU == 1 )
- {
- /* A different project is provided that has configUSE_FPU set to 1
- in order to demonstrate all the settings required to use the floating
- point unit. If you wish to use the floating point unit do not start
- with this project. */
- vStartMathTasks( mainFLOP_PRIORITY );
- vStartFlopRegTests();
- }
- #endif
-
- /* Create the tasks defined within this file. */
- xTaskCreate( prvRegTestTask1, "Regtest1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
- xTaskCreate( prvRegTestTask2, "Regtest2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
- xTaskCreate( prvErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
-
- /* The suicide tasks must be started last as they record the number of other
- tasks that exist within the system. The value is then used to ensure at run
- time the number of tasks that exists is within expected bounds. */
- vCreateSuicidalTasks( mainDEATH_PRIORITY );
-
- /* Now start the scheduler. Following this call the created tasks should
- be executing. */
- vTaskStartScheduler( );
-
- /* vTaskStartScheduler() will only return if an error occurs while the
- idle task is being created. */
- for( ;; );
-
- return 0;
-}
-/*-----------------------------------------------------------*/
-
-static portSHORT prvCheckOtherTasksAreStillRunning( void )
-{
-portBASE_TYPE lReturn = pdPASS;
-static unsigned portLONG ulLastRegTest1Counter= 0UL, ulLastRegTest2Counter = 0UL;
-
- /* The demo tasks maintain a count that increments every cycle of the task
- provided that the task has never encountered an error. This function
- checks the counts maintained by the tasks to ensure they are still being
- incremented. A count remaining at the same value between calls therefore
- indicates that an error has been detected. */
-
- if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreComTestTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreSemaphoreTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreBlockingQueuesStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xIsCreateTaskStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreGenericQueueTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreQueuePeekTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreCountingSemaphoreTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- #if ( configUSE_FPU == 1 )
- if( xAreMathsTaskStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
-
- if( xAreFlopRegisterTestsStillRunning() != pdTRUE )
- {
- lReturn = pdFAIL;
- }
- #endif
-
- /* Have the register test tasks found any errors? */
- if( xRegTestStatus != pdPASS )
- {
- lReturn = pdFAIL;
- }
-
- /* Are the register test tasks still looping? */
- if( ulLastRegTest1Counter == ulRegTest1Counter )
- {
- lReturn = pdFAIL;
- }
- else
- {
- ulLastRegTest1Counter = ulRegTest1Counter;
- }
-
- if( ulLastRegTest2Counter == ulRegTest2Counter )
- {
- lReturn = pdFAIL;
- }
- else
- {
- ulLastRegTest2Counter = ulRegTest2Counter;
- }
-
- return lReturn;
-}
-/*-----------------------------------------------------------*/
-
-
-static void prvErrorChecks( void *pvParameters )
-{
-portTickType xDelayPeriod = mainNO_ERROR_CHECK_DELAY, xLastExecutionTime;
-volatile unsigned portBASE_TYPE uxFreeStack;
-
- /* This call is just to demonstrate the use of the function - nothing is
- done with the value. You would expect the stack high water mark to be
- lower (the function to return a larger value) here at function entry than
- later following calls to other functions. */
- uxFreeStack = uxTaskGetStackHighWaterMark( NULL );
-
- /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil()
- works correctly. */
- xLastExecutionTime = xTaskGetTickCount();
-
- /* Cycle for ever, delaying then checking all the other tasks are still
- operating without error. */
- for( ;; )
- {
- /* Again just for demo purposes - uxFreeStack should have a lower value
- here than following the call to uxTaskGetStackHighWaterMark() on the
- task entry. */
- uxFreeStack = uxTaskGetStackHighWaterMark( NULL );
-
- /* Wait until it is time to check again. The time we wait here depends
- on whether an error has been detected or not. When an error is
- detected the time is shortened resulting in a faster LED flash rate. */
- vTaskDelayUntil( &xLastExecutionTime, xDelayPeriod );
-
- /* See if the other tasks are all ok. */
- if( prvCheckOtherTasksAreStillRunning() != pdPASS )
- {
- /* An error occurred in one of the tasks so shorten the delay
- period - which has the effect of increasing the frequency of the
- LED toggle. */
- xDelayPeriod = mainERROR_CHECK_DELAY;
- }
-
- /* Flash! */
- vParTestToggleLED( mainCHECK_TEST_LED );
- }
-}
-/*-----------------------------------------------------------*/
-
-static void prvSetupHardware( void )
-{
- XCache_EnableICache( 0x80000000 );
- XCache_EnableDCache( 0x80000000 );
-
- /* Setup the IO port for use with the LED outputs. */
- vParTestInitialise();
-}
-/*-----------------------------------------------------------*/
-
-void prvRegTest1Pass( void )
-{
- /* Called from the inline assembler - this cannot be static
- otherwise it can get optimised away. */
- ulRegTest1Counter++;
-}
-/*-----------------------------------------------------------*/
-
-void prvRegTest2Pass( void )
-{
- /* Called from the inline assembler - this cannot be static
- otherwise it can get optimised away. */
- ulRegTest2Counter++;
-}
-/*-----------------------------------------------------------*/
-
-void prvRegTestFail( void )
-{
- /* Called from the inline assembler - this cannot be static
- otherwise it can get optimised away. */
- xRegTestStatus = pdFAIL;
-}
-/*-----------------------------------------------------------*/
-
-static void prvRegTestTask1( void *pvParameters )
-{
- /* The first register test task as described at the top of this file. The
- values used in the registers are different to those use in the second
- register test task. Also, unlike the second register test task, this task
- yields between setting the register values and subsequently checking the
- register values. */
- asm volatile
- (
- "RegTest1Start: \n\t" \
- " \n\t" \
- " li 0, 301 \n\t" \
- " mtspr 256, 0 #USPRG0 \n\t" \
- " li 0, 501 \n\t" \
- " mtspr 8, 0 #LR \n\t" \
- " li 0, 4 \n\t" \
- " mtspr 1, 0 #XER \n\t" \
- " \n\t" \
- " li 0, 1 \n\t" \
- " li 2, 2 \n\t" \
- " li 3, 3 \n\t" \
- " li 4, 4 \n\t" \
- " li 5, 5 \n\t" \
- " li 6, 6 \n\t" \
- " li 7, 7 \n\t" \
- " li 8, 8 \n\t" \
- " li 9, 9 \n\t" \
- " li 10, 10 \n\t" \
- " li 11, 11 \n\t" \
- " li 12, 12 \n\t" \
- " li 13, 13 \n\t" \
- " li 14, 14 \n\t" \
- " li 15, 15 \n\t" \
- " li 16, 16 \n\t" \
- " li 17, 17 \n\t" \
- " li 18, 18 \n\t" \
- " li 19, 19 \n\t" \
- " li 20, 20 \n\t" \
- " li 21, 21 \n\t" \
- " li 22, 22 \n\t" \
- " li 23, 23 \n\t" \
- " li 24, 24 \n\t" \
- " li 25, 25 \n\t" \
- " li 26, 26 \n\t" \
- " li 27, 27 \n\t" \
- " li 28, 28 \n\t" \
- " li 29, 29 \n\t" \
- " li 30, 30 \n\t" \
- " li 31, 31 \n\t" \
- " \n\t" \
- " sc \n\t" \
- " nop \n\t" \
- " \n\t" \
- " cmpwi 0, 1 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 2, 2 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 3, 3 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 4, 4 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 5, 5 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 6, 6 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 7, 7 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 8, 8 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 9, 9 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 10, 10 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 11, 11 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 12, 12 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 13, 13 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 14, 14 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 15, 15 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 16, 16 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 17, 17 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 18, 18 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 19, 19 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 20, 20 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 21, 21 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 22, 22 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 23, 23 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 24, 24 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 25, 25 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 26, 26 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 27, 27 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 28, 28 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 29, 29 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 30, 30 \n\t" \
- " bne RegTest1Fail \n\t" \
- " cmpwi 31, 31 \n\t" \
- " bne RegTest1Fail \n\t" \
- " \n\t" \
- " mfspr 0, 256 #USPRG0 \n\t" \
- " cmpwi 0, 301 \n\t" \
- " bne RegTest1Fail \n\t" \
- " mfspr 0, 8 #LR \n\t" \
- " cmpwi 0, 501 \n\t" \
- " bne RegTest1Fail \n\t" \
- " mfspr 0, 1 #XER \n\t" \
- " cmpwi 0, 4 \n\t" \
- " bne RegTest1Fail \n\t" \
- " \n\t" \
- " bl prvRegTest1Pass \n\t" \
- " b RegTest1Start \n\t" \
- " \n\t" \
- "RegTest1Fail: \n\t" \
- " \n\t" \
- " \n\t" \
- " bl prvRegTestFail \n\t" \
- " b RegTest1Start \n\t" \
- );
-}
-/*-----------------------------------------------------------*/
-
-static void prvRegTestTask2( void *pvParameters )
-{
- /* The second register test task as described at the top of this file.
- Note that this task fills the registers with different values to the
- first register test task. */
- asm volatile
- (
- "RegTest2Start: \n\t" \
- " \n\t" \
- " li 0, 300 \n\t" \
- " mtspr 256, 0 #USPRG0 \n\t" \
- " li 0, 500 \n\t" \
- " mtspr 8, 0 #LR \n\t" \
- " li 0, 4 \n\t" \
- " mtspr 1, 0 #XER \n\t" \
- " \n\t" \
- " li 0, 11 \n\t" \
- " li 2, 12 \n\t" \
- " li 3, 13 \n\t" \
- " li 4, 14 \n\t" \
- " li 5, 15 \n\t" \
- " li 6, 16 \n\t" \
- " li 7, 17 \n\t" \
- " li 8, 18 \n\t" \
- " li 9, 19 \n\t" \
- " li 10, 110 \n\t" \
- " li 11, 111 \n\t" \
- " li 12, 112 \n\t" \
- " li 13, 113 \n\t" \
- " li 14, 114 \n\t" \
- " li 15, 115 \n\t" \
- " li 16, 116 \n\t" \
- " li 17, 117 \n\t" \
- " li 18, 118 \n\t" \
- " li 19, 119 \n\t" \
- " li 20, 120 \n\t" \
- " li 21, 121 \n\t" \
- " li 22, 122 \n\t" \
- " li 23, 123 \n\t" \
- " li 24, 124 \n\t" \
- " li 25, 125 \n\t" \
- " li 26, 126 \n\t" \
- " li 27, 127 \n\t" \
- " li 28, 128 \n\t" \
- " li 29, 129 \n\t" \
- " li 30, 130 \n\t" \
- " li 31, 131 \n\t" \
- " \n\t" \
- " cmpwi 0, 11 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 2, 12 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 3, 13 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 4, 14 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 5, 15 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 6, 16 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 7, 17 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 8, 18 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 9, 19 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 10, 110 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 11, 111 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 12, 112 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 13, 113 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 14, 114 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 15, 115 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 16, 116 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 17, 117 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 18, 118 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 19, 119 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 20, 120 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 21, 121 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 22, 122 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 23, 123 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 24, 124 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 25, 125 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 26, 126 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 27, 127 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 28, 128 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 29, 129 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 30, 130 \n\t" \
- " bne RegTest2Fail \n\t" \
- " cmpwi 31, 131 \n\t" \
- " bne RegTest2Fail \n\t" \
- " \n\t" \
- " mfspr 0, 256 #USPRG0 \n\t" \
- " cmpwi 0, 300 \n\t" \
- " bne RegTest2Fail \n\t" \
- " mfspr 0, 8 #LR \n\t" \
- " cmpwi 0, 500 \n\t" \
- " bne RegTest2Fail \n\t" \
- " mfspr 0, 1 #XER \n\t" \
- " cmpwi 0, 4 \n\t" \
- " bne RegTest2Fail \n\t" \
- " \n\t" \
- " bl prvRegTest2Pass \n\t" \
- " b RegTest2Start \n\t" \
- " \n\t" \
- "RegTest2Fail: \n\t" \
- " \n\t" \
- " \n\t" \
- " bl prvRegTestFail \n\t" \
- " b RegTest2Start \n\t" \
- );
-}
-/*-----------------------------------------------------------*/
-
-/* This hook function will get called if there is a suspected stack overflow.
-An overflow can cause the task name to be corrupted, in which case the task
-handle needs to be used to determine the offending task. */
-void vApplicationStackOverflowHook( xTaskHandle xTask, signed portCHAR *pcTaskName );
-void vApplicationStackOverflowHook( xTaskHandle xTask, signed portCHAR *pcTaskName )
-{
- /* The following three calls are simply to stop compiler warnings about the
- functions not being used - they are called from the inline assembly. */
- prvRegTest1Pass();
- prvRegTest2Pass();
- prvRegTestFail();
-
- for( ;; );
-}
-
-
-
-
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 index 94457b52..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/partest/partest.c +++ /dev/null @@ -1,167 +0,0 @@ -/*
- FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
-
- This file is part of the FreeRTOS.org distribution.
-
- FreeRTOS.org is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- FreeRTOS.org is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with FreeRTOS.org; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- A special exception to the GPL can be applied should you wish to distribute
- a combined work that includes FreeRTOS.org, without being obliged to provide
- the source code for any proprietary components. See the licensing section
- of http://www.FreeRTOS.org for full details of how and when the exception
- can be applied.
-
- ***************************************************************************
- ***************************************************************************
- * *
- * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
- * and even write all or part of your application on your behalf. *
- * See http://www.OpenRTOS.com for details of the services we provide to *
- * expedite your project. *
- * *
- ***************************************************************************
- ***************************************************************************
-
- Please ensure to read the configuration and relevant port sections of the
- online documentation.
-
- http://www.FreeRTOS.org - Documentation, latest information, license and
- contact details.
-
- http://www.SafeRTOS.com - A version that is certified for use in safety
- critical systems.
-
- http://www.OpenRTOS.com - Commercial support, development, porting,
- licensing and training services.
-*/
-
-
-/* Scheduler includes. */
-#include "FreeRTOS.h"
-
-/* Demo application includes. */
-#include "partest.h"
-
-/* Library includes. */
-#include "xparameters.h"
-#include "xgpio_l.h"
-
-/* Misc hardware specific definitions. */
-#define partstALL_AS_OUTPUT 0x00
-#define partstCHANNEL_1 0x01
-#define partstMAX_4BIT_LED 0x03
-
-/* The outputs are split into two IO sections, these variables maintain the
-current value of either section. */
-static unsigned portBASE_TYPE uxCurrentOutput4Bit, uxCurrentOutput5Bit;
-
-/*-----------------------------------------------------------*/
-/*
- * Setup the IO for the LED outputs.
- */
-void vParTestInitialise( void )
-{
- /* Set both sets of LED's on the demo board to outputs. */
- XGpio_mSetDataDirection( XPAR_LEDS_4BIT_BASEADDR, partstCHANNEL_1, partstALL_AS_OUTPUT );
- XGpio_mSetDataDirection( XPAR_LEDS_POSITIONS_BASEADDR, partstCHANNEL_1, partstALL_AS_OUTPUT );
-
- /* Start with all outputs off. */
- uxCurrentOutput4Bit = 0;
- XGpio_mSetDataReg( XPAR_LEDS_4BIT_BASEADDR, partstCHANNEL_1, 0x00 );
- uxCurrentOutput5Bit = 0;
- XGpio_mSetDataReg( XPAR_LEDS_POSITIONS_BASEADDR, partstCHANNEL_1, 0x00 );
-}
-/*-----------------------------------------------------------*/
-
-void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
-{
-unsigned portBASE_TYPE uxBaseAddress, *puxCurrentValue;
-
- portENTER_CRITICAL();
- {
- /* Which IO section does the LED being set/cleared belong to? The
- 4 bit or 5 bit outputs? */
- if( uxLED <= partstMAX_4BIT_LED )
- {
- uxBaseAddress = XPAR_LEDS_4BIT_BASEADDR;
- puxCurrentValue = &uxCurrentOutput4Bit;
- }
- else
- {
- uxBaseAddress = XPAR_LEDS_POSITIONS_BASEADDR;
- puxCurrentValue = &uxCurrentOutput5Bit;
- uxLED -= partstMAX_4BIT_LED;
- }
-
- /* Setup the bit mask accordingly. */
- uxLED = 0x01 << uxLED;
-
- /* Maintain the current output value. */
- if( xValue )
- {
- *puxCurrentValue |= uxLED;
- }
- else
- {
- *puxCurrentValue &= ~uxLED;
- }
-
- /* Write the value to the port. */
- XGpio_mSetDataReg( uxBaseAddress, partstCHANNEL_1, *puxCurrentValue );
- }
- portEXIT_CRITICAL();
-}
-/*-----------------------------------------------------------*/
-
-void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
-{
-unsigned portBASE_TYPE uxBaseAddress, *puxCurrentValue;
-
- portENTER_CRITICAL();
- {
- /* Which IO section does the LED being toggled belong to? The
- 4 bit or 5 bit outputs? */
- if( uxLED <= partstMAX_4BIT_LED )
- {
- uxBaseAddress = XPAR_LEDS_4BIT_BASEADDR;
- puxCurrentValue = &uxCurrentOutput4Bit;
- }
- else
- {
- uxBaseAddress = XPAR_LEDS_POSITIONS_BASEADDR;
- puxCurrentValue = &uxCurrentOutput5Bit;
- uxLED -= partstMAX_4BIT_LED;
- }
-
- /* Setup the bit mask accordingly. */
- uxLED = 0x01 << uxLED;
-
- /* Maintain the current output value. */
- if( *puxCurrentValue & uxLED )
- {
- *puxCurrentValue &= ~uxLED;
- }
- else
- {
- *puxCurrentValue |= uxLED;
- }
-
- /* Write the value to the port. */
- XGpio_mSetDataReg(uxBaseAddress, partstCHANNEL_1, *puxCurrentValue );
- }
- portEXIT_CRITICAL();
-}
-
-
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 index 3e547790..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/RTOSDemo/serial/serial.c +++ /dev/null @@ -1,227 +0,0 @@ -/*
- FreeRTOS.org V5.0.0 - Copyright (C) 2003-2008 Richard Barry.
-
- This file is part of the FreeRTOS.org distribution.
-
- FreeRTOS.org is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- FreeRTOS.org is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with FreeRTOS.org; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- A special exception to the GPL can be applied should you wish to distribute
- a combined work that includes FreeRTOS.org, without being obliged to provide
- the source code for any proprietary components. See the licensing section
- of http://www.FreeRTOS.org for full details of how and when the exception
- can be applied.
-
- ***************************************************************************
- ***************************************************************************
- * *
- * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
- * and even write all or part of your application on your behalf. *
- * See http://www.OpenRTOS.com for details of the services we provide to *
- * expedite your project. *
- * *
- ***************************************************************************
- ***************************************************************************
-
- Please ensure to read the configuration and relevant port sections of the
- online documentation.
-
- http://www.FreeRTOS.org - Documentation, latest information, license and
- contact details.
-
- http://www.SafeRTOS.com - A version that is certified for use in safety
- critical systems.
-
- http://www.OpenRTOS.com - Commercial support, development, porting,
- licensing and training services.
-*/
-
-
-/*
- BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR UART
-*/
-
-/* Scheduler includes. */
-#include "FreeRTOS.h"
-#include "queue.h"
-#include "task.h"
-
-/* Demo application includes. */
-#include "serial.h"
-
-/* Library includes. */
-#include "xparameters.h"
-#include "xuartlite.h"
-#include "xuartlite_l.h"
-
-/*-----------------------------------------------------------*/
-
-/* Queues used to hold received characters, and characters waiting to be
-transmitted. */
-static xQueueHandle xRxedChars;
-static xQueueHandle xCharsForTx;
-
-/* Structure that maintains information on the UART being used. */
-static XUartLite xUART;
-
-/*
- * Sample UART interrupt handler. Note this is used to demonstrate the kernel
- * features and test the port - it is not intended to represent an efficient
- * implementation.
- */
-static void vSerialISR( XUartLite *pxUART );
-
-/*-----------------------------------------------------------*/
-
-xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
-{
- /* NOTE: The baud rate used by this driver is determined by the hardware
- parameterization of the UART Lite peripheral, and the baud value passed to
- this function has no effect. */
- ( void ) ulWantedBaud;
-
- /* Create the queues used to hold Rx and Tx characters. */
- xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );
- xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed portCHAR ) );
-
- /* Only initialise the UART if the queues were created correctly. */
- if( ( xRxedChars != NULL ) && ( xCharsForTx != NULL ) )
- {
-
- XUartLite_Initialize( &xUART, XPAR_RS232_UART_DEVICE_ID );
- XUartLite_ResetFifos( &xUART );
- XUartLite_DisableInterrupt( &xUART );
-
- if( xPortInstallInterruptHandler( XPAR_XPS_INTC_0_RS232_UART_INTERRUPT_INTR, ( XInterruptHandler )vSerialISR, (void *)&xUART ) == pdPASS )
- {
- /* xPortInstallInterruptHandler() could fail if
- vPortSetupInterruptController() has not been called prior to this
- function. */
- XUartLite_EnableInterrupt( &xUART );
- }
- }
-
- /* There is only one port so the handle is not used. */
- return ( xComPortHandle ) 0;
-}
-/*-----------------------------------------------------------*/
-
-signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime )
-{
- /* The port handle is not required as this driver only supports one UART. */
- ( void ) pxPort;
-
- /* Get the next character from the buffer. Return false if no characters
- are available, or arrive before xBlockTime expires. */
- if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )
- {
- return pdTRUE;
- }
- else
- {
- return pdFALSE;
- }
-}
-/*-----------------------------------------------------------*/
-
-signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime )
-{
-portBASE_TYPE xReturn = pdTRUE;
-
- portENTER_CRITICAL();
- {
- /* If the UART FIFO is full we can block posting the new data on the
- Tx queue. */
- if( XUartLite_mIsTransmitFull( XPAR_RS232_UART_BASEADDR ) )
- {
- if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
- {
- xReturn = pdFAIL;
- }
- }
- /* Otherwise, if there is data already in the queue we should add the
- new data to the back of the queue to ensure the sequencing is
- maintained. */
- else if( uxQueueMessagesWaiting( xCharsForTx ) )
- {
- if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
- {
- xReturn = pdFAIL;
- }
- }
- /* If the UART FIFO is not full and there is no data already in the
- queue we can write directly to the FIFO without disrupting the
- sequence. */
- else
- {
- XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cOutChar );
- }
- }
- portEXIT_CRITICAL();
-
- return xReturn;
-}
-/*-----------------------------------------------------------*/
-
-void vSerialClose( xComPortHandle xPort )
-{
- /* Not supported as not required by the demo application. */
- ( void ) xPort;
-}
-/*-----------------------------------------------------------*/
-
-static void vSerialISR( XUartLite *pxUART )
-{
-unsigned portLONG ulISRStatus;
-portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE, lDidSomething;
-portCHAR cChar;
-
- do
- {
- lDidSomething = pdFALSE;
-
- ulISRStatus = XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_STATUS_REG_OFFSET );
-
- if( ( ulISRStatus & XUL_SR_RX_FIFO_VALID_DATA ) != 0 )
- {
- /* A character is available - place it in the queue of received
- characters. This might wake a task that was blocked waiting for
- data. */
- cChar = ( portCHAR ) XIo_In32( XPAR_RS232_UART_BASEADDR + XUL_RX_FIFO_OFFSET );
- xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );
- lDidSomething = pdTRUE;
- }
-
- if( ( ulISRStatus & XUL_SR_TX_FIFO_EMPTY ) != 0 )
- {
- /* There is space in the FIFO - if there are any characters queue for
- transmission they can be sent to the UART now. This might unblock a
- task that was waiting for space to become available on the Tx queue. */
- if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )
- {
- XIo_Out32( XPAR_RS232_UART_BASEADDR + XUL_TX_FIFO_OFFSET, cChar );
- lDidSomething = pdTRUE;
- }
- }
- } while( lDidSomething == pdTRUE );
-
- /* If we woke any tasks we may require a context switch. */
- if( xHigherPriorityTaskWoken )
- {
- portYIELD_FROM_ISR();
- }
-}
-
-
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/executable.elf b/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/executable.elf Binary files differdeleted file mode 100644 index b7d9312e..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/executable.elf +++ /dev/null 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 index c352d1b3..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral.c +++ /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 index 39fbb549..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral_LinkScr.ld +++ /dev/null @@ -1,224 +0,0 @@ -/*******************************************************************/
-/* */
-/* This file is automatically generated by linker script generator.*/
-/* */
-/* Version: Xilinx EDK 10.1 EDK_K.15 */
-/* */
-/* Copyright (c) 2004 Xilinx, Inc. All rights reserved. */
-/* */
-/* Description : PowerPC405 Linker Script */
-/* */
-/*******************************************************************/
-
-_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x2000;
-_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x2000;
-
-/* Define Memories in the system */
-
-MEMORY
-{
- SRAM_C_MEM0_BASEADDR : ORIGIN = 0xFFF00000, LENGTH = 0x000FFFEC
-}
-
-/* Specify the default entry point to the program */
-
-ENTRY(_boot)
-STARTUP(boot.o)
-
-/* Define the sections, and where they are mapped in memory */
-
-SECTIONS
-{
-.vectors : {
- __vectors_start = .;
- *(.vectors)
- __vectors_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.text : {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
-} > SRAM_C_MEM0_BASEADDR
-
-.init : {
- KEEP (*(.init))
-} > SRAM_C_MEM0_BASEADDR
-
-.fini : {
- KEEP (*(.fini))
-} > SRAM_C_MEM0_BASEADDR
-
-.rodata : {
- __rodata_start = .;
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- __rodata_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.rodata1 : {
- __rodata1_start = .;
- *(.rodata1)
- *(.rodata1.*)
- __rodata1_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.sdata2 : {
- __sdata2_start = .;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- __sdata2_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.sbss2 : {
- __sbss2_start = .;
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- __sbss2_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.data : {
- __data_start = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __data_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.data1 : {
- __data1_start = .;
- *(.data1)
- *(.data1.*)
- __data1_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.got : {
- *(.got)
-} > SRAM_C_MEM0_BASEADDR
-
-.got1 : {
- *(.got1)
-} > SRAM_C_MEM0_BASEADDR
-
-.got2 : {
- *(.got2)
-} > SRAM_C_MEM0_BASEADDR
-
-.ctors : {
- __CTOR_LIST__ = .;
- ___CTORS_LIST___ = .;
- KEEP (*crtbegin.o(.ctors))
- KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- __CTOR_END__ = .;
- ___CTORS_END___ = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.dtors : {
- __DTOR_LIST__ = .;
- ___DTORS_LIST___ = .;
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- __DTOR_END__ = .;
- ___DTORS_END___ = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.fixup : {
- __fixup_start = .;
- *(.fixup)
- __fixup_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.eh_frame : {
- *(.eh_frame)
-} > SRAM_C_MEM0_BASEADDR
-
-.jcr : {
- *(.jcr)
-} > SRAM_C_MEM0_BASEADDR
-
-.gcc_except_table : {
- *(.gcc_except_table)
-} > SRAM_C_MEM0_BASEADDR
-
-.sdata : {
- __sdata_start = .;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __sdata_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.sbss : {
- __sbss_start = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- __sbss_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.tdata : {
- __tdata_start = .;
- *(.tdata)
- *(.tdata.*)
- *(.gnu.linkonce.td.*)
- __tdata_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.tbss : {
- __tbss_start = .;
- *(.tbss)
- *(.tbss.*)
- *(.gnu.linkonce.tb.*)
- __tbss_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.bss : {
- __bss_start = .;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- . = ALIGN(4);
- __bss_end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.boot0 0xFFFFFFEC : {
- __boot0_start = .;
- *(.boot0)
- __boot0_end = .;
-}
-
-.boot 0xFFFFFFFC : {
- __boot_start = .;
- *(.boot)
- __boot_end = .;
-}
-
-/* Generate Stack and Heap Sections */
-
-.stack : {
- _stack_end = .;
- . += _STACK_SIZE;
- . = ALIGN(16);
- __stack = .;
-} > SRAM_C_MEM0_BASEADDR
-
-.heap : {
- . = ALIGN(16);
- _heap_start = .;
- . += _HEAP_SIZE;
- . = ALIGN(16);
- _heap_end = .;
- _end = .;
-} > SRAM_C_MEM0_BASEADDR
-
-}
-
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 index 1582a545..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/gpio_header.h +++ /dev/null @@ -1,12 +0,0 @@ -#define TESTAPP_GEN -
-/* $Id: gpio_header.h,v 1.1 2007/05/15 06:49:42 mta Exp $ */
-
-
-#include "xbasic_types.h"
-#include "xstatus.h"
-
-XStatus GpioOutputExample(Xuint16 DeviceId, Xuint32 GpioWidth);
-XStatus GpioInputExample(Xuint16 DeviceId, Xuint32 *DataRead);
-
-
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 index 08a6f8b9..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/intc_header.h +++ /dev/null @@ -1,12 +0,0 @@ -#define TESTAPP_GEN -
-/* $Id: intc_header.h,v 1.1 2007/05/15 07:08:08 mta Exp $ */
-
-
-#include "xbasic_types.h"
-#include "xstatus.h"
-
-XStatus IntcSelfTestExample(Xuint16 DeviceId);
-XStatus IntcInterruptSetup(XIntc *IntcInstancePtr, Xuint16 DeviceId);
-
-
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 index cb5cbeff..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_header.h +++ /dev/null @@ -1,11 +0,0 @@ -#define TESTAPP_GEN -
-/* $Id: uartlite_header.h,v 1.1 2007/05/15 07:00:27 mta Exp $ */
-
-
-#include "xbasic_types.h"
-#include "xstatus.h"
-
-XStatus UartLiteSelfTestExample(Xuint16 DeviceId);
-
-
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 index 93a09990..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/uartlite_intr_header.h +++ /dev/null @@ -1,14 +0,0 @@ -#define TESTAPP_GEN -
-/* $Id: uartlite_intr_header.h,v 1.1 2007/05/15 07:00:27 mta Exp $ */
-
-
-#include "xbasic_types.h"
-#include "xstatus.h"
-
-XStatus UartLiteIntrExample(XIntc* IntcInstancePtr, \
- XUartLite* UartLiteInstancePtr, \
- Xuint16 UartLiteDeviceId, \
- Xuint16 UartLiteIntrId);
-
-
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 index e5f199a5..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xgpio_tapp_example.c +++ /dev/null @@ -1,311 +0,0 @@ -#define TESTAPP_GEN -
-/* $Id: xgpio_tapp_example.c,v 1.1 2007/05/15 06:49:42 mta Exp $ */
-/******************************************************************************
-*
-* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"
-* AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND
-* SOLUTIONS FOR XILINX DEVICES. 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.
-*
-* (c) Copyright 2005 Xilinx Inc.
-* All rights reserved.
-*
-******************************************************************************/
-/*****************************************************************************/
-/**
-* @file xgpio_tapp_example.c
-*
-* This file contains a example for using GPIO hardware and driver.
-* This example assumes that there is a UART Device or STDIO Device in the
-* hardware system.
-*
-* This example can be run on the Xilinx ML300 board with either the PowerPC or
-* the MicroBlaze processor using the Prototype Pins & LEDs of the board
-* connected to the GPIO and the Push Buttons connected.
-*
-* @note
-*
-* None
-*
-* <pre>
-* MODIFICATION HISTORY:
-*
-* Ver Who Date Changes
-* ----- ---- -------- -----------------------------------------------
-* 1.00a sv 04/15/05 Initial release for TestApp integration.
-* </pre>
-*
-*****************************************************************************/
-
-/***************************** Include Files ********************************/
-
-#include "xparameters.h"
-#include "xgpio.h"
-#include "stdio.h"
-#include "xstatus.h"
-
-/************************** Constant Definitions ****************************/
-
-/*
- * The following constant is used to wait after an LED is turned on to make
- * sure that it is visible to the human eye. This constant might need to be
- * tuned for faster or slower processor speeds.
- */
-#define LED_DELAY 1000000
-
-/* following constant is used to determine which channel of the GPIO is
- * used if there are 2 channels supported in the GPIO.
- */
-#define LED_CHANNEL 1
-
-#define LED_MAX_BLINK 0x1 /* Number of times the LED Blinks */
-
-#define GPIO_BITWIDTH 16 /* This is the width of the GPIO */
-
-#define printf xil_printf /* A smaller footprint printf */
-
-/*
- * The following constants map to the XPAR parameters created in the
- * xparameters.h file. They are defined here such that a user can easily
- * change all the needed parameters in one place.
- */
-#ifndef TESTAPP_GEN
-#define GPIO_OUTPUT_DEVICE_ID XPAR_LEDS_4BIT_DEVICE_ID
-#define GPIO_INPUT_DEVICE_ID XPAR_LEDS_4BIT_DEVICE_ID
-#endif /* TESTAPP_GEN */
-
-/**************************** Type Definitions ******************************/
-
-
-/***************** Macros (Inline Functions) Definitions *******************/
-
-
-/************************** Function Prototypes ****************************/
-
-XStatus GpioOutputExample(Xuint16 DeviceId, Xuint32 GpioWidth);
-
-XStatus GpioInputExample(Xuint16 DeviceId, Xuint32 *DataRead);
-
-void GpioDriverHandler(void *CallBackRef);
-
-
-
-/************************** Variable Definitions **************************/
-
-/*
- * The following are declared globally so they are zeroed and so they are
- * easily accessible from a debugger
- */
-XGpio GpioOutput; /* The driver instance for GPIO Device configured as O/P */
-XGpio GpioInput; /* The driver instance for GPIO Device configured as I/P */
-
-
-/*****************************************************************************/
-/**
-* Main function to call the example.This function is not included if the
-* example is generated from the TestAppGen test tool.
-*
-* @param None
-*
-* @return XST_SUCCESS if successful, XST_FAILURE if unsuccessful
-*
-* @note None
-*
-******************************************************************************/
-#ifndef TESTAPP_GEN
-int main(void)
-{
- XStatus Status;
- Xuint32 InputData;
-
- Status = GpioOutputExample(GPIO_OUTPUT_DEVICE_ID, GPIO_BITWIDTH);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- Status = GpioInputExample(GPIO_INPUT_DEVICE_ID, &InputData);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- printf("Data read from GPIO Input is 0x%x \n", (int)InputData);
-
- return XST_SUCCESS;
-}
-#endif
-
-
-/*****************************************************************************/
-/**
-*
-* This function does a minimal test on the GPIO device configured as OUTPUT
-* and driver as a example.
-*
-*
-* @param DeviceId is the XPAR_<GPIO_instance>_DEVICE_ID value from
-* xparameters.h
-* @param GpioWidth is the width of the GPIO
-*
-* @return XST_SUCCESS if successful, XST_FAILURE if unsuccessful
-*
-* @note None
-*
-****************************************************************************/
-XStatus GpioOutputExample(Xuint16 DeviceId, Xuint32 GpioWidth)
-{
- Xuint32 Data;
- volatile int Delay;
- Xuint32 LedBit;
- Xuint32 LedLoop;
- XStatus Status;
-
- /*
- * Initialize the GPIO driver so that it's ready to use,
- * specify the device ID that is generated in xparameters.h
- */
- Status = XGpio_Initialize(&GpioOutput, DeviceId);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
-
- /*
- * Set the direction for all signals to be outputs
- */
- XGpio_SetDataDirection(&GpioOutput, LED_CHANNEL, 0x0);
-
- /*
- * Set the GPIO outputs to low
- */
- XGpio_DiscreteWrite(&GpioOutput, LED_CHANNEL, 0x0);
-
- for (LedBit = 0x0; LedBit < GpioWidth; LedBit++)
- {
-
- for (LedLoop = 0; LedLoop < LED_MAX_BLINK; LedLoop++)
- {
-
- /*
- * Set the GPIO Output to High
- */
- XGpio_DiscreteWrite(&GpioOutput, LED_CHANNEL, 1 << LedBit);
-
-#ifndef __SIM__
- /*
- * Wait a small amount of time so the LED is visible
- */
- for (Delay = 0; Delay < LED_DELAY; Delay++);
-
-#endif
- /*
- * Read the state of the data so that it can be verified
- */
- /* Data = XGpio_DiscreteRead(&GpioOutput, LED_CHANNEL); */
-
-
- /*
- * If the data read back is not the same as the data
- * written then return FAILURE
- */
- /*if (Data != (1 << LedBit))
- {
- return XST_FAILURE;
- }*/
-
-
- /*
- * Clear the GPIO Output
- */
- XGpio_DiscreteClear(&GpioOutput, LED_CHANNEL, 1 << LedBit);
-
-
- /*
- * Read the state of the data so that it can be verified
- */
- /* Data = XGpio_DiscreteRead(&GpioOutput, LED_CHANNEL);*/
-
-
- /*
- * If the data read back is not the same as the data
- * written then return FAILURE
- */
- /* if (Data & ( 1 << LedBit))
- {
- return XST_FAILURE;
- }*/
-
-
-#ifndef __SIM__
- /*
- * Wait a small amount of time so the LED is visible
- */
- for (Delay = 0; Delay < LED_DELAY; Delay++);
-#endif
-
- }
-
- }
-
- return XST_SUCCESS;
-
-}
-
-
-/******************************************************************************/
-/**
-*
-* This function performs a test on the GPIO driver/device with the GPIO
-* configured as INPUT
-*
-* @param DeviceId is the XPAR_<GPIO_instance>_DEVICE_ID value from
-* xparameters.h
-* @param DataRead is the pointer where the data read from GPIO Input is
-* returned
-*
-* @return XST_SUCCESS if the Test is successful, otherwise XST_FAILURE
-*
-* @note None.
-*
-******************************************************************************/
-XStatus GpioInputExample(Xuint16 DeviceId, Xuint32 *DataRead)
-{
- XStatus Status;
-
- /*
- * Initialize the GPIO driver so that it's ready to use,
- * specify the device ID that is generated in xparameters.h
- */
- Status = XGpio_Initialize(&GpioInput, DeviceId);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- /*
- * Set the direction for all signals to be inputs
- */
- XGpio_SetDataDirection(&GpioInput, LED_CHANNEL, 0xFFFFFFFF);
-
- /*
- * Read the state of the data so that it can be verified
- */
- *DataRead = XGpio_DiscreteRead(&GpioInput, LED_CHANNEL);
-
- return XST_SUCCESS;
-
-}
-
-
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 index de77eac8..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xintc_tapp_example.c +++ /dev/null @@ -1,263 +0,0 @@ -#define TESTAPP_GEN -
-
-/* $Id: xintc_tapp_example.c,v 1.1 2007/05/15 07:08:09 mta Exp $ */
-/******************************************************************************
-*
-* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"
-* AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND
-* SOLUTIONS FOR XILINX DEVICES. 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.
-*
-* (c) Copyright 2002-2006 Xilinx Inc.
-* All rights reserved.
-*
-*******************************************************************************/
-/******************************************************************************/
-/**
-*
-* @file xintc_tapp_example.c
-*
-* This file contains a self test example using the Interrupt Controller driver
-* (XIntc) and hardware device. Please reference other device driver examples to
-* see more examples of how the intc and interrupts can be used by a software
-* application.
-*
-* This example shows the use of the Interrupt Controller both with a PowerPC405
-* and MicroBlaze processor.
-*
-* The TestApp Gen utility uses this file to perform the self test and setup
-* of intc for interrupts.
-*
-* @note
-*
-* None
-*
-* <pre>
-*
-* MODIFICATION HISTORY:
-*
-* Ver Who Date Changes
-* ----- ---- -------- --------------------------------------------------------
-* 1.00a sv 06/29/05 Created for Test App Integration
-* 1.00c sn 05/09/06 Added Interrupt Setup Function
-* </pre>
-******************************************************************************/
-
-/***************************** Include Files *********************************/
-
-#include "xparameters.h"
-#include "xstatus.h"
-#include "xintc.h"
-#ifdef __MICROBLAZE__
-#include "mb_interface.h"
-#endif
-#ifdef __PPC__
-#include "xexception_l.h"
-#endif
-
-
-/************************** Constant Definitions *****************************/
-
-/*
- * The following constants map to the XPAR parameters created in the
- * xparameters.h file. They are defined here such that a user can easily
- * change all the needed parameters in one place. This definition is not
- * included if the example is generated from the TestAppGen test tool.
- */
-#ifndef TESTAPP_GEN
-#define INTC_DEVICE_ID XPAR_OPB_INTC_0_DEVICE_ID
-#endif
-
-/**************************** Type Definitions *******************************/
-
-
-/***************** Macros (Inline Functions) Definitions *********************/
-
-
-/************************** Function Prototypes ******************************/
-
-XStatus IntcSelfTestExample(Xuint16 DeviceId);
-XStatus IntcInterruptSetup(XIntc *IntcInstancePtr, Xuint16 DeviceId);
-
-/************************** Variable Definitions *****************************/
-
-static XIntc InterruptController; /* Instance of the Interrupt Controller */
-
-
-/*****************************************************************************/
-/**
-*
-* This is the main function for the Interrupt Controller example. This
-* function is not included if the example is generated from the TestAppGen test
-* tool.
-*
-* @param None.
-*
-* @return XST_SUCCESS to indicate success, otherwise XST_FAILURE.
-*
-* @note None.
-*
-******************************************************************************/
-#ifndef TESTAPP_GEN
-int main(void)
-{
- XStatus Status;
-
- /*
- * Run the Intc example , specify the Device ID generated in xparameters.h
- */
- Status = IntcSelfTestExample(INTC_DEVICE_ID);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- return XST_SUCCESS;
-
-}
-#endif
-
-/*****************************************************************************/
-/**
-*
-* This function runs a self-test on the driver/device. This is a destructive
-* test. This function is an example of how to use the interrupt controller
-* driver component (XIntc) and the hardware device. This function is designed
-* to work without any hardware devices to cause interrupts. It may not return
-* if the interrupt controller is not properly connected to the processor in
-* either software or hardware.
-*
-* This function relies on the fact that the interrupt controller hardware
-* has come out of the reset state such that it will allow interrupts to be
-* simulated by the software.
-*
-* @param DeviceId is device ID of the Interrupt Controller Device , typically
-* XPAR_<INTC_instance>_DEVICE_ID value from xparameters.h
-*
-* @return XST_SUCCESS to indicate success, otherwise XST_FAILURE
-*
-* @note None.
-*
-******************************************************************************/
-XStatus IntcSelfTestExample(Xuint16 DeviceId)
-{
- XStatus Status;
-
- /*
- * Initialize the interrupt controller driver so that it is ready to use.
- */
- Status = XIntc_Initialize(&InterruptController, DeviceId);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
-
- /*
- * Perform a self-test to ensure that the hardware was built correctly
- */
- Status = XIntc_SelfTest(&InterruptController);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- return XST_SUCCESS;
-
-}
-
-
-/*****************************************************************************/
-/**
-*
-* This function is used by the TestAppGen generated application to setup
-* the interrupt controller.
-*
-* @param IntcInstancePtr is the reference to the Interrupt Controller
-* instance.
-* @param DeviceId is device ID of the Interrupt Controller Device , typically
-* XPAR_<INTC_instance>_DEVICE_ID value from xparameters.h
-*
-* @return XST_SUCCESS to indicate success, otherwise XST_FAILURE
-*
-* @note None.
-*
-******************************************************************************/
-XStatus IntcInterruptSetup(XIntc *IntcInstancePtr, Xuint16 DeviceId)
-{
-
- XStatus Status;
-
- /*
- * Initialize the interrupt controller driver so that it is ready to use.
- */
- Status = XIntc_Initialize(IntcInstancePtr, DeviceId);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- /*
- * Perform a self-test to ensure that the hardware was built correctly.
- */
- Status = XIntc_SelfTest(IntcInstancePtr);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
-
-#ifdef __MICROBLAZE__
- /*
- * Enable the microblaze Interrupts
- */
- microblaze_enable_interrupts();
-#endif
-
-#ifdef __PPC__ /*PPC*/
-
- /*
- * Initialize the PPC405 exception table
- */
- XExc_Init();
-
- /*
- * Register the interrupt controller handler with the exception table
- */
- XExc_RegisterHandler(XEXC_ID_NON_CRITICAL_INT,
- (XExceptionHandler)XIntc_DeviceInterruptHandler,
- (void*) 0);
-
- /*
- * Enable non-critical exceptions
- */
- XExc_mEnableExceptions(XEXC_NON_CRITICAL);
-#endif
-
-
- /*
- * Start the interrupt controller such that interrupts are enabled for
- * all devices that cause interrupts.
- */
- Status = XIntc_Start(IntcInstancePtr, XIN_REAL_MODE);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- return XST_SUCCESS;
-
-}
-
-
-
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 index 09109b82..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_intr_tapp_example.c +++ /dev/null @@ -1,461 +0,0 @@ -#define TESTAPP_GEN -
-/* $Id: xuartlite_intr_tapp_example.c,v 1.1 2007/05/15 07:00:27 mta Exp $ */
-/*****************************************************************************
-*
-* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"
-* AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND
-* SOLUTIONS FOR XILINX DEVICES. 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.
-*
-* (c) Copyright 2002-2006 Xilinx Inc.
-* All rights reserved.
-*
-*******************************************************************************/
-/******************************************************************************/
-/**
-*
-* @file xuartlite_intr_tapp_example.c
-*
-* This file contains a design example using the UartLite driver and
-* hardware device using the interrupt mode for transmission of data.
-*
-* This example works with a PPC processor. Refer the examples of Interrupt
-* controller for an example of using interrupts with the MicroBlaze processor.
-*
-* @note
-*
-* None.
-*
-* <pre>
-* MODIFICATION HISTORY:
-*
-* Ver Who Date Changes
-* ----- ---- -------- -----------------------------------------------
-* 1.00b sv 06/08/06 Created for supporting Test App Interrupt examples
-* </pre>
-******************************************************************************/
-
-/***************************** Include Files *********************************/
-
-#include "xparameters.h"
-#include "xuartlite.h"
-#include "xintc.h"
-
-#ifdef __MICROBLAZE__
-#include "mb_interface.h"
-#else
-#include "xexception_l.h"
-#endif
-
-
-/************************** Constant Definitions *****************************/
-
-/*
- * The following constants map to the XPAR parameters created in the
- * xparameters.h file. They are defined here such that a user can easily
- * change all the needed parameters in one place.
- */
-#ifndef TESTAPP_GEN
-#define UARTLITE_DEVICE_ID XPAR_RS232_UART_DEVICE_ID
-#define INTC_DEVICE_ID XPAR_OPB_INTC_0_DEVICE_ID
-#define UARTLITE_IRPT_INTR XPAR_OPB_INTC_0_RS232_UART_INTERRUPT_INTR
-#endif
-
-/*
- * The following constant controls the length of the buffers to be sent
- * and received with the UartLite device.
- */
-#define TEST_BUFFER_SIZE 100
-
-
-/**************************** Type Definitions *******************************/
-
-
-/***************** Macros (Inline Functions) Definitions *********************/
-
-
-/************************** Function Prototypes ******************************/
-
-XStatus UartLiteIntrExample(XIntc *IntcInstancePtr,
- XUartLite *UartLiteInstancePtr,
- Xuint16 UartLiteDeviceId,
- Xuint16 UartLiteIntrId);
-
-
-static void UartLiteSendHandler(void *CallBackRef, unsigned int EventData);
-
-static void UartLiteRecvHandler(void *CallBackRef, unsigned int EventData);
-
-
-static XStatus UartLiteSetupIntrSystem(XIntc *IntcInstancePtr,
- XUartLite *UartLiteInstancePtr,
- Xuint16 UartLiteIntrId);
-
-static void UartLiteDisableIntrSystem(XIntc *IntrInstancePtr,
- Xuint16 UartLiteIntrId);
-
-
-/************************** Variable Definitions *****************************/
-
-/*
- * The instances to support the device drivers are global such that the
- * are initialized to zero each time the program runs.
- */
-#ifndef TESTAPP_GEN
-static XIntc IntcInstance; /* The instance of the Interrupt Controller */
-static XUartLite UartLiteInst; /* The instance of the UartLite Device */
-#endif
-
-
-
-/*
- * The following variables are shared between non-interrupt processing and
- * interrupt processing such that they must be global.
- */
-
-/*
- * The following buffers are used in this example to send and receive data
- * with the UartLite.
- */
-Xuint8 SendBuffer[TEST_BUFFER_SIZE];
-Xuint8 ReceiveBuffer[TEST_BUFFER_SIZE];
-
-/*
- * The following counter is used to determine when the entire buffer has
- * been sent.
- */
-static volatile int TotalSentCount;
-
-
-/******************************************************************************/
-/**
-*
-* Main function to call the UartLite interrupt example.
-*
-* @param None.
-*
-* @return XST_SUCCESS if successful, else XST_FAILURE.
-*
-* @note None
-*
-*******************************************************************************/
-#ifndef TESTAPP_GEN
-int main(void)
-{
- XStatus Status;
-
- /*
- * Run the UartLite Interrupt example , specify the Device ID that is
- * generated in xparameters.h.
- */
- Status = UartLiteIntrExample(&IntcInstance,
- &UartLiteInst,
- UARTLITE_DEVICE_ID,
- UARTLITE_IRPT_INTR);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- return XST_SUCCESS;
-}
-#endif
-
-/****************************************************************************/
-/**
-*
-* This function does a minimal test on the UartLite device and driver as a
-* design example. The purpose of this function is to illustrate how to use
-* the XUartLite component.
-*
-* This function sends data and expects to receive the same data through the
-* UartLite. The user must provide a physical loopback such that data which
-* is transmitted will be received.
-*
-* This function uses the interrupt driver mode of the UartLite. The calls to
-* the UartLite driver in the interrupt handlers, should only use the
-* non-blocking calls.
-*
-* @param IntcInstancePtr is a pointer to the instance of the INTC component.
-* @param UartLiteInstPtr is a pointer to the instance of UartLite component.
-* @param UartLiteDeviceId is the Device ID of the UartLite Device and is the
-* XPAR_<UARTLITE_instance>_DEVICE_ID value from xparameters.h.
-* @param UartLiteIntrId is the Interrupt ID and is typically
-* XPAR_<INTC_instance>_<UARTLITE_instance>_IP2INTC_IRPT_INTR
-* value from xparameters.h.
-*
-* @return XST_SUCCESS if successful, otherwise XST_FAILURE.
-*
-* @note
-*
-* This function contains an infinite loop such that if interrupts are not
-* working it may never return.
-*
-****************************************************************************/
-XStatus UartLiteIntrExample(XIntc *IntcInstancePtr,
- XUartLite *UartLiteInstPtr,
- Xuint16 UartLiteDeviceId,
- Xuint16 UartLiteIntrId)
-
-{
- XStatus Status;
- Xuint32 Index;
-
- /*
- * Initialize the UartLite driver so that it's ready to use.
- */
- Status = XUartLite_Initialize(UartLiteInstPtr, UartLiteDeviceId);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- /*
- * Perform a self-test to ensure that the hardware was built correctly.
- */
- Status = XUartLite_SelfTest(UartLiteInstPtr);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- /*
- * Connect the UartLite to the interrupt subsystem such that interrupts can
- * occur. This function is application specific.
- */
- Status = UartLiteSetupIntrSystem(IntcInstancePtr,
- UartLiteInstPtr,
- UartLiteIntrId);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- /*
- * Setup the handlers for the UartLite that will be called from the
- * interrupt context when data has been sent and received,
- * specify a pointer to the UartLite driver instance as the callback
- * reference so the handlers are able to access the instance data.
- */
- XUartLite_SetSendHandler(UartLiteInstPtr, UartLiteSendHandler,
- UartLiteInstPtr);
- XUartLite_SetRecvHandler(UartLiteInstPtr, UartLiteRecvHandler,
- UartLiteInstPtr);
-
- /*
- * Enable the interrupt of the UartLite so that the interrupts will occur.
- */
- XUartLite_EnableInterrupt(UartLiteInstPtr);
-
- /*
- * Initialize the send buffer bytes with a pattern to send.
- */
- for (Index = 0; Index < TEST_BUFFER_SIZE; Index++)
- {
- SendBuffer[Index] = Index;
- }
-
- /*
- * Send the buffer using the UartLite.
- */
- XUartLite_Send(UartLiteInstPtr, SendBuffer, TEST_BUFFER_SIZE);
-
- /*
- * Wait for the entire buffer to be transmitted, the function may get
- * locked up in this loop if the interrupts are not working correctly.
- */
- while ((TotalSentCount != TEST_BUFFER_SIZE))
- {
- }
-
-
- UartLiteDisableIntrSystem(IntcInstancePtr, UartLiteIntrId);
-
- return XST_SUCCESS;
-}
-
-/*****************************************************************************/
-/**
-*
-* This function is the handler which performs processing to send data to the
-* UartLite. It is called from an interrupt context such that the amount of
-* processing performed should be minimized. It is called when the transmit
-* FIFO of the UartLite is empty and more data can be sent through the UartLite.
-*
-* This handler provides an example of how to handle data for the UartLite, but
-* is application specific.
-*
-* @param CallBackRef contains a callback reference from the driver.
-* In this case it is the instance pointer for the UartLite driver.
-* @param EventData contains the number of bytes sent or received for sent and
-* receive events.
-*
-* @return None.
-*
-* @note None.
-*
-****************************************************************************/
-static void UartLiteSendHandler(void *CallBackRef, unsigned int EventData)
-{
- TotalSentCount = EventData;
-}
-
-/****************************************************************************/
-/**
-*
-* This function is the handler which performs processing to receive data from
-* the UartLite. It is called from an interrupt context such that the amount of
-* processing performed should be minimized. It is called when any data is
-* present in the receive FIFO of the UartLite such that the data can be
-* retrieved from the UartLite. The amount of data present in the FIFO is not
-* known when this function is called.
-*
-* This handler provides an example of how to handle data for the UartLite, but
-* is application specific.
-*
-* @param CallBackRef contains a callback reference from the driver, in this
-* case it is the instance pointer for the UartLite driver.
-* @param EventData contains the number of bytes sent or received for sent and
-* receive events.
-*
-* @return None.
-*
-* @note None.
-*
-****************************************************************************/
-static void UartLiteRecvHandler(void *CallBackRef, unsigned int EventData)
-{
-
-}
-
-/****************************************************************************/
-/**
-*
-* This function setups the interrupt system such that interrupts can occur
-* for the UartLite. This function is application specific since the actual
-* system may or may not have an interrupt controller. The UartLite could be
-* directly connected to a processor without an interrupt controller. The
-* user should modify this function to fit the application.
-*
-* @param IntcInstancePtr is a pointer to the instance of the INTC component.
-* @param UartLiteInstPtr is a pointer to the instance of UartLite component.
-* XPAR_<UARTLITE_instance>_DEVICE_ID value from xparameters.h.
-* @param UartLiteIntrId is the Interrupt ID and is typically
-* XPAR_<INTC_instance>_<UARTLITE_instance>_IP2INTC_IRPT_INTR
-* value from xparameters.h.
-*
-* @return XST_SUCCESS if successful, otherwise XST_FAILURE.
-*
-* @note None.
-*
-****************************************************************************/
-XStatus UartLiteSetupIntrSystem(XIntc *IntcInstancePtr,
- XUartLite *UartLiteInstPtr,
- Xuint16 UartLiteIntrId)
-{
- XStatus Status;
-
-#ifndef TESTAPP_GEN
- /*
- * Initialize the interrupt controller driver so that it is ready to use.
- */
- Status = XIntc_Initialize(IntcInstancePtr, INTC_DEVICE_ID);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-#endif
-
- /*
- * Connect a device driver handler that will be called when an interrupt
- * for the device occurs, the device driver handler performs the specific
- * interrupt processing for the device.
- */
- Status = XIntc_Connect(IntcInstancePtr, UartLiteIntrId,
- (XInterruptHandler)XUartLite_InterruptHandler,
- (void *)UartLiteInstPtr);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
-#ifndef TESTAPP_GEN
- /*
- * Start the interrupt controller such that interrupts are enabled for
- * all devices that cause interrupts, specific real mode so that
- * the UART can cause interrupts thru the interrupt controller.
- */
- Status = XIntc_Start(IntcInstancePtr, XIN_REAL_MODE);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-#endif
-
- /*
- * Enable the interrupt for the UartLite.
- */
- XIntc_Enable(IntcInstancePtr, UartLiteIntrId);
-
-#ifndef TESTAPP_GEN
-
- /*
- * Initialize the PPC exception table.
- */
- XExc_Init();
-
- /*
- * Register the interrupt controller handler with the exception table.
- */
- XExc_RegisterHandler(XEXC_ID_NON_CRITICAL_INT,
- (XExceptionHandler)XIntc_InterruptHandler,
- IntcInstancePtr);
-
- /*
- * Enable non-critical exceptions.
- */
- XExc_mEnableExceptions(XEXC_NON_CRITICAL);
-
-
-#endif /* TESTAPP_GEN */
-
- return XST_SUCCESS;
-}
-
-/*****************************************************************************/
-/**
-*
-* This function disables the interrupts that occur for the UartLite.
-*
-* @param IntcInstancePtr is a pointer to the instance of the INTC component.
-* @param UartLiteIntrId is the Interrupt ID and is typically
-* XPAR_<INTC_instance>_<UARTLITE_instance>_IP2INTC_IRPT_INTR
-* value from xparameters.h.
-*
-* @return None.
-*
-* @note None.
-*
-******************************************************************************/
-static void UartLiteDisableIntrSystem(XIntc *IntcInstancePtr,
- Xuint16 UartLiteIntrId)
-{
-
- /*
- * Disconnect and disable the interrupt for the UartLite
- */
- XIntc_Disconnect(IntcInstancePtr, UartLiteIntrId);
-
-}
-
-
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 index c4340633..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/xuartlite_selftest_example.c +++ /dev/null @@ -1,147 +0,0 @@ -#define TESTAPP_GEN -
-/* $Id: xuartlite_selftest_example.c,v 1.1 2007/05/15 07:00:27 mta Exp $ */
-/*****************************************************************************
-*
-* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"
-* AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND
-* SOLUTIONS FOR XILINX DEVICES. 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.
-*
-* (c) Copyright 2005 Xilinx Inc.
-* All rights reserved.
-*
-*****************************************************************************/
-/****************************************************************************/
-/**
-*
-* @file xuartlite_selftest_example.c
-*
-* This file contains a design example using the UartLite driver (XUartLite) and
-* hardware device.
-*
-* @note
-*
-* None
-*
-* MODIFICATION HISTORY:
-* <pre>
-* Ver Who Date Changes
-* ----- ---- -------- -----------------------------------------------
-* 1.00a ecm 01/25/04 First Release.
-* 1.00a sv 06/13/05 Minor changes to comply to Doxygen and Coding guidelines
-* </pre>
-******************************************************************************/
-
-/***************************** Include Files *********************************/
-
-#include "xparameters.h"
-#include "xuartlite.h"
-
-/************************** Constant Definitions *****************************/
-
-/*
- * The following constants map to the XPAR parameters created in the
- * xparameters.h file. They are defined here such that a user can easily
- * change all the needed parameters in one place.
- */
-#define UARTLITE_DEVICE_ID XPAR_RS232_UART_DEVICE_ID
-
-
-/**************************** Type Definitions *******************************/
-
-
-/***************** Macros (Inline Functions) Definitions *********************/
-
-
-/************************** Function Prototypes ******************************/
-
-XStatus UartLiteSelfTestExample(Xuint16 DeviceId);
-
-/************************** Variable Definitions *****************************/
-
-XUartLite UartLite; /* Instance of the UartLite device */
-
-/*****************************************************************************/
-/**
-*
-* Main function to call the example. This function is not included if the
-* example is generated from the TestAppGen test tool.
-*
-* @param None.
-*
-* @return XST_SUCCESS if succesful, otherwise XST_FAILURE.
-*
-* @note None.
-*
-******************************************************************************/
-#ifndef TESTAPP_GEN
-int main(void)
-{
- XStatus Status;
-
- /*
- * Run the UartLite self test example, specify the the Device ID that is
- * generated in xparameters.h
- */
- Status = UartLiteSelfTestExample(UARTLITE_DEVICE_ID);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- return XST_SUCCESS;
-
-}
-#endif
-
-/*****************************************************************************/
-/**
-*
-* This function does a minimal test on the UartLite device and driver as a
-* design example. The purpose of this function is to illustrate
-* how to use the XUartLite component.
-*
-*
-* @param DeviceId is the XPAR_<uartlite_instance>_DEVICE_ID value from
-* xparameters.h.
-*
-* @return XST_SUCCESS if succesful, otherwise XST_FAILURE.
-*
-* @note None.
-*
-****************************************************************************/
-XStatus UartLiteSelfTestExample(Xuint16 DeviceId)
-{
- XStatus Status;
-
- /*
- * Initialize the UartLite driver so that it is ready to use.
- */
- Status = XUartLite_Initialize(&UartLite, DeviceId);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- /*
- * Perform a self-test to ensure that the hardware was built correctly.
- */
- Status = XUartLite_SelfTest(&UartLite);
- if (Status != XST_SUCCESS)
- {
- return XST_FAILURE;
- }
-
- return XST_SUCCESS;
-}
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_LicensedCore.bmp b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_LicensedCore.bmp Binary files differdeleted file mode 100644 index 739605f2..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_LicensedCore.bmp +++ /dev/null diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_closeBranch.gif b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_closeBranch.gif Binary files differdeleted file mode 100644 index 554be669..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_closeBranch.gif +++ /dev/null diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_openBranch.gif b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_openBranch.gif Binary files differdeleted file mode 100644 index d9e7ef56..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/IMG_openBranch.gif +++ /dev/null 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 index c1b40cf8..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.css +++ /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 index f9141538..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLDatasheet.xsl +++ /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 > 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 > 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">   <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">          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">   <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">   <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">   <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">   <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">   <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">   <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">   <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">   <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_ > 16"><xsl:value-of select="$DS_WIDTH"/></xsl:if> - <xsl:if test="$gpin_CNT_ <= 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">  indicates Clock ports, (SIGIS = CLK) </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">  indicates Interrupt ports,(SIGIS = INTR) </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">  indicates Reset ports, (SIGIS = RST) </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">  Indicates ports that instantiate or infer IOB primitives, (IOB_STATE = BUF or REG) </SPAN> - </TD> - - <xsl:if test="$gpin_CNT_ <= 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"> CLK </SPAN></xsl:if> - <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> RESET </SPAN></xsl:if> - <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> INTR </SPAN></xsl:if> - <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> BUF </SPAN></xsl:if> - <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> REG </SPAN></xsl:if> - </TD> - </xsl:for-each> - - </TABLE> - </TD> - </xsl:if> - - <xsl:if test="$gpin_CNT_ > 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() <= $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"> CLK </SPAN></xsl:if> - <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> RESET </SPAN></xsl:if> - <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> INTR </SPAN></xsl:if> - <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> BUF </SPAN></xsl:if> - <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> REG </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"> </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() > $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"> CLK </SPAN></xsl:if> - <xsl:if test="@SIGIS='RST'"><SPAN style="color:{$DS_COL_ATTR_RST}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> RESET </SPAN></xsl:if> - <xsl:if test="@SIGIS='INTERRUPT'"><SPAN style="color:{$DS_COL_ATTR_INT}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> INTR </SPAN></xsl:if> - <xsl:if test="@IOB_STATE='BUF'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> BUF </SPAN></xsl:if> - <xsl:if test="@IOB_STATE='REG'"><SPAN style="color:{$DS_COL_ATTR_BUF}; font: bold 10px Verdana,Arial,Helvetica,sans-serif"> REG </SPAN></xsl:if> - </TD> - </xsl:if> - </xsl:for-each> - - <xsl:if test="$left_extra_ > 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"> </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_ < 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_ > 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 index 4e7beaa5..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLIPSection.xsl +++ /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"> -   <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">⌊</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"> </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">⌋</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_ > 10">1</xsl:if> - <xsl:if test="not($mhsParamCNT_ > 10)">0</xsl:if> - </xsl:variable> - - <xsl:variable name="table_width_"> - <xsl:if test="$mhsParamCNT_ > 10"><xsl:value-of select="$DS_WIDTH"/></xsl:if> - <xsl:if test="$mhsParamCNT_ <= 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_ > 10">4</xsl:if> - <xsl:if test="$mhsParamCNT_ <= 10">2</xsl:if> - </xsl:variable> - - <xsl:variable name="mdr_othr_col_"> - <xsl:if test="$mhsParamCNT_ > 10">2</xsl:if> - <xsl:if test="$mhsParamCNT_ <= 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_ > 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_ <= 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_ > 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() <= $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"> </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() > $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_ > 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"> </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 index 96e9f0cc..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLMemoryMap.xsl +++ /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    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'">■</xsl:if> - <xsl:if test="not(@IS_DATA='TRUE')"> </xsl:if> - </xsl:variable> - - <xsl:variable name="isinst"> - <xsl:if test="@IS_INSTRUCTION='TRUE'"> - ■ - </xsl:if> - <xsl:if test="not(@IS_INSTRUCTION='TRUE')"> -   - </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 index c3f6b323..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLPeripherals.xsl +++ /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 index 862b7107..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsGen_HTMLTOCTree.xsl +++ /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 > 1"> - <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processors </SPAN> - </xsl:if> - <xsl:if test="not($proc_CNT > 1)"> - <SPAN style="color:{$DS_COL_BLACK}; font: bold 16px Verdana Arial,Helvetica,sans-serif">Processor </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">   <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">          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 </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">   <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 </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">   <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 </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">   <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 </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">   <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 </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">   <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 </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">   <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 </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">   <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 </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">   <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 index 701500ea..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDBifDefs.xsl +++ /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 index 13aa46c9..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDBusLaneSpaces.xsl +++ /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_ > $stackToEast_AbvSbs_H_)"> - <xsl:value-of select="($stackToWest_AbvSbs_H_ - $stackToEast_AbvSbs_H_)"/> - </xsl:if> - - <xsl:if test="not($stackToWest_AbvSbs_H_ > $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_ > $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_ > $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_ > $vert_line_y2_"> - <xsl:value-of select="$vert_line_y2_"/> - </xsl:when> - <xsl:when test="$vert_line_y2_ > $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_ > $vert_line_y2_"> - <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_) - $P2P_BUS_W"/> - </xsl:when> - <xsl:when test="$vert_line_y2_ > $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_ > $vert_line_y2_"> - <xsl:value-of select="$vert_line_y2_ - ceiling($P2P_BUS_W div 2)"/> - </xsl:when> - <xsl:when test="$vert_line_y2_ > $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_ > $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_ > $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_ > $vert_line_y2_"> - <xsl:value-of select="$vert_line_y2_"/> - </xsl:when> - <xsl:when test="$vert_line_y2_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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_ > $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 index ddec6127..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDCalculations.xsl +++ /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 < /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 < /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 < $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 < $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 < $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 < $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 < $stackIdx)])"> - <STACKSPACE WIDTH="0"/> - </xsl:if> - - <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES[(@STACK_HORIZ_INDEX < $stackIdx)])"> - <STACKSPACE WIDTH="0"/> - </xsl:if> - - <xsl:if test="not(/EDKSYSTEM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX < $stackIdx)])"> - <STACKSPACE WIDTH="0"/> - </xsl:if> - - <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[(@EAST <= $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 < $stackToEast)])"> - <STACKSPACE WIDTH="0"/> - </xsl:if> - - <xsl:if test="not(/EDKSYSTEM/BLKDSHAPES/PROCSHAPES[(@STACK_HORIZ_INDEX < $stackToEast)])"> - <STACKSPACE WIDTH="0"/> - </xsl:if> - - <xsl:if test="not(/EDKSYSTEM/SBSBUCKETS/SBSBUCKET[(@STACK_HORIZ_INDEX < $stackToEast)])"> - <STACKSPACE WIDTH="0"/> - </xsl:if> - - <xsl:for-each select="/EDKSYSTEM/BLKDSHAPES/BCLANESPACES/BCLANESPACE[((@EAST < $stackToEast) or (not($stackToWest = 'NONE') and (@EAST <= $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 index d25f80f6..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDDimensions.xsl +++ /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 index 2ebc0c0e..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDModuleDefs.xsl +++ /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 index 847d5b88..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkDPeripherals.xsl +++ /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_ > 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) <= 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) <= 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_ > 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_ > 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 > 9)">4.5</xsl:if> - <xsl:if test="not($intr_pri > 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 < $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 index 89d42c28..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdBusses.xsl +++ /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 index cb37f8cc..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdIOPorts.xsl +++ /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_ > 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_ <= 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_ >= ($ports_per_side_ * 0) and ($pcount_ < ($ports_per_side_ * 1)))">W</xsl:when> - <xsl:when test="($pcount_ >= ($ports_per_side_ * 1) and ($pcount_ < ($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_ >= ($ports_per_side_ * 0) and ($pcount_ < ($ports_per_side_ * 1)))">W</xsl:when> - <xsl:when test="($pcount_ >= ($ports_per_side_ * 1) and ($pcount_ < ($ports_per_side_ * 2)))">S</xsl:when> - <xsl:when test="($pcount_ >= ($ports_per_side_ * 2) and ($pcount_ < ($ports_per_side_ * 3)))">E</xsl:when> - <xsl:when test="($pcount_ >= ($ports_per_side_ * 3) and ($pcount_ < ($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 index eba0d470..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlkdProcessors.xsl +++ /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 < /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) <= 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 index aacc7033..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_BlockDiagram.xsl +++ /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 > ($BLKD_KEY_W + $BLKD_SPECS_W + $SPECS2KEY_GAP)"> - <xsl:value-of select="$BLKD_DRAWAREA_CLC"/> - </xsl:if> - <xsl:if test="not($BLKD_DRAWAREA_CLC > ($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> </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 < /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_ > $vert_line_y2_"> - <xsl:value-of select="$vert_line_y2_"/> - </xsl:when> - <xsl:when test="$vert_line_y2_ > $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_ > $vert_line_y2_"> - <xsl:value-of select="($vert_line_y1_ - $vert_line_y2_)"/> - </xsl:when> - <xsl:when test="$vert_line_y2_ > $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_ > 0)"> - <xsl:value-of select="(($MOD_BKTLANE_W * 2) + ($periMOD_W * $pbktW_) + ($MOD_BUCKET_G * ($pbktW_ - 1)))"/> - </xsl:if> - <xsl:if test="not($numSbsBkts_ > 0)">0</xsl:if> - </xsl:variable> - - <xsl:variable name="pstkModsW_" select="$periMOD_W"/> - - <xsl:variable name="pstackW_"> - <xsl:if test="$bktModsW_ > $pstkModsW_"> - <xsl:value-of select="$bktModsW_"/> - </xsl:if> - <xsl:if test="not($bktModsW_ > $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_) > 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_ > 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_ > 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_ > 0)"> - <xsl:value-of select="(($MOD_BKTLANE_W * 2) + ($periMOD_W * $pbktW_) + ($MOD_BUCKET_G * ($pbktW_ - 1)))"/> - </xsl:if> - <xsl:if test="not($numSbsBkts_ > 0)">0</xsl:if> - </xsl:variable> - <xsl:variable name="pstkModsW_" select="($pmodW_ * $periMOD_W)"/> - - <xsl:variable name="pstackW_"> - <xsl:if test="$bktModsW_ > $pstkModsW_"> - <xsl:value-of select="$bktModsW_"/> - </xsl:if> - <xsl:if test="not($bktModsW_ > $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_ > 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_ > 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_ > $mst_pstkModsW_"> - <xsl:value-of select="$mst_bktModsW_"/> - </xsl:if> - <xsl:if test="not($mst_bktModsW_ > $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_ > 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_ > 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_ > $slv_pstkModsW_"> - <xsl:value-of select="$slv_bktModsW_"/> - </xsl:if> - <xsl:if test="not($slv_bktModsW_ > $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_ > 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_ > 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_ > $mp_proc_pstkModsW_"> - <xsl:value-of select="$mp_proc_bktModsW_"/> - </xsl:if> - <xsl:if test="not($mp_proc_bktModsW_ > $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_ > 0)"> - <xsl:value-of select="($periMOD_W * 2)"/> - </xsl:if> - <xsl:if test="not($mp_stack_numMemus_ > 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_ > 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_ > 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_ > $mp_proc_pstkModsW_"> - <xsl:value-of select="$mp_proc_bktModsW_"/> - </xsl:if> - <xsl:if test="not($mp_proc_bktModsW_ > $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_ > 0)"> - <xsl:value-of select="($periMOD_W * 2)"/> - </xsl:if> - <xsl:if test="not($mp_stack_numMemus_ > 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 index 0cecfb10..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_Colors.xsl +++ /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 index 51f7c180..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/MdtXdsSVG_Render.css +++ /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 index a5edc929..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/ds_Report.css +++ /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 index 126889b7..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/ds_Report.js +++ /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 index 110f5ced..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/.dswkshop/svg10.dtd +++ /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 index 3645236a..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/bitinit.opt +++ /dev/null @@ -1 +0,0 @@ - -pe ppc405_0 $(PPC405_0_BOOTLOOP)
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/libgen.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/libgen.opt deleted file mode 100644 index 77b15484..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/libgen.opt +++ /dev/null @@ -1 +0,0 @@ - -p virtex4
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/platgen.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/platgen.opt deleted file mode 100644 index 25299b7d..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/platgen.opt +++ /dev/null @@ -1,2 +0,0 @@ - -p xc4vfx12ff668-10 -lang vhdl -
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 index ae054d20..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/rtosdemo_compiler.opt +++ /dev/null @@ -1,20 +0,0 @@ -ppc405_0
-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
-RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h
-RTOSDEMO_CC = powerpc-eabi-gcc
-RTOSDEMO_CC_SIZE = powerpc-eabi-size
-RTOSDEMO_CC_OPT = -O0
-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
-RTOSDEMO_CC_SEARCH = # -B
-RTOSDEMO_LIBPATH = -L./ppc405_0/lib/ # -L
-RTOSDEMO_INCLUDES = -I./ppc405_0/include/ -IRTOSDemo/ # -I
-RTOSDEMO_LFLAGS = # -l
-RTOSDEMO_LINKER_SCRIPT = RTOSDemo/RTOSDemo_linker_script.ld
-RTOSDEMO_CC_DEBUG_FLAG = -g
-RTOSDEMO_CC_PROFILE_FLAG = # -pg
-RTOSDEMO_CC_GLOBPTR_FLAG= # -msdata=eabi
-RTOSDEMO_CC_INFERRED_FLAGS=
-RTOSDEMO_CC_START_ADDR_FLAG= # # -Wl,-defsym -Wl,_START_ADDR=
-RTOSDEMO_CC_STACK_SIZE_FLAG= # # -Wl,-defsym -Wl,_STACK_SIZE=
-RTOSDEMO_CC_HEAP_SIZE_FLAG= # # -Wl,-defsym -Wl,_HEAP_SIZE=
- $(RTOSDEMO_CC_INFERRED_FLAGS) \
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/simgen.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/simgen.opt deleted file mode 100644 index 547618f9..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/simgen.opt +++ /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/
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system.gui b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system.gui deleted file mode 100644 index ff6232e6..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system.gui +++ /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>
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system_routed b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system_routed deleted file mode 100644 index e69de29b..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/system_routed +++ /dev/null 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 index d6693d0b..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/testapp_peripheral_compiler.opt +++ /dev/null @@ -1,20 +0,0 @@ -ppc405_0
-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
-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
-TESTAPP_PERIPHERAL_CC = powerpc-eabi-gcc
-TESTAPP_PERIPHERAL_CC_SIZE = powerpc-eabi-size
-TESTAPP_PERIPHERAL_CC_OPT = -O2
-TESTAPP_PERIPHERAL_CFLAGS =
-TESTAPP_PERIPHERAL_CC_SEARCH = # -B
-TESTAPP_PERIPHERAL_LIBPATH = -L./ppc405_0/lib/ # -L
-TESTAPP_PERIPHERAL_INCLUDES = -I./ppc405_0/include/ -ITestApp_Peripheral/src/ # -I
-TESTAPP_PERIPHERAL_LFLAGS = # -l
-TESTAPP_PERIPHERAL_LINKER_SCRIPT = /cygdrive/c/E/Dev/FreeRTOS/WorkingCopy2/Demo/PPC405_Xilinx_Virtex4_GCC/TestApp_Peripheral/src/TestApp_Peripheral_LinkScr.ld
-TESTAPP_PERIPHERAL_CC_DEBUG_FLAG = -g
-TESTAPP_PERIPHERAL_CC_PROFILE_FLAG = # -pg
-TESTAPP_PERIPHERAL_CC_GLOBPTR_FLAG= # -msdata=eabi
-TESTAPP_PERIPHERAL_CC_INFERRED_FLAGS=
-TESTAPP_PERIPHERAL_CC_START_ADDR_FLAG= # # -Wl,-defsym -Wl,_START_ADDR=
-TESTAPP_PERIPHERAL_CC_STACK_SIZE_FLAG= # # -Wl,-defsym -Wl,_STACK_SIZE=
-TESTAPP_PERIPHERAL_CC_HEAP_SIZE_FLAG= # # -Wl,-defsym -Wl,_HEAP_SIZE=
- $(TESTAPP_PERIPHERAL_CC_INFERRED_FLAGS) \
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/vpgen.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/vpgen.opt deleted file mode 100644 index 8ea8f664..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/vpgen.opt +++ /dev/null @@ -1 +0,0 @@ - -p xc4vfx12ff668-10
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xplorer.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xplorer.opt deleted file mode 100644 index 37e5b119..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xplorer.opt +++ /dev/null @@ -1 +0,0 @@ --device xc4vfx12ff668-10data/system.ucf7 0
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt deleted file mode 100644 index 33391f03..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/__xps/xpsxflow.opt +++ /dev/null @@ -1 +0,0 @@ --device xc4vfx12ff668-10data/system.ucf 0
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd b/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd deleted file mode 100644 index 110f5ced..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/svg10.dtd +++ /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 index 51f7c180..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.css +++ /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 index 39f83488..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.html +++ /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 index 4af3f7fa..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/blkdiagram/system.svg +++ /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 index ed2e6bbe..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/data/system.ucf +++ /dev/null @@ -1,339 +0,0 @@ -############################################################################
-## This system.ucf file is generated by Base System Builder based on the
-## settings in the selected Xilinx Board Definition file. Please add other
-## user constraints to this file based on customer design specifications.
-############################################################################
-
-Net sys_clk_pin LOC=AE14;
-Net sys_clk_pin IOSTANDARD = LVCMOS33;
-Net sys_rst_pin LOC=D6;
-Net sys_rst_pin PULLUP;
-## System level constraints
-Net sys_clk_pin TNM_NET = sys_clk_pin;
-TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 10000 ps;
-Net sys_rst_pin TIG;
-NET "ppc_reset_bus_Chip_Reset_Req" TPTHRU = "RST_GRP";
-NET "ppc_reset_bus_Core_Reset_Req" TPTHRU = "RST_GRP";
-NET "ppc_reset_bus_System_Reset_Req" TPTHRU = "RST_GRP";
-TIMESPEC "TS_RST1" = FROM CPUS THRU RST_GRP TO FFS TIG;
-Net fpga_0_SRAM_CLOCK LOC=AF7;
-Net fpga_0_SRAM_CLOCK SLEW = FAST;
-Net fpga_0_SRAM_CLOCK IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_CLOCK DRIVE = 16;
-
-## IO Devices constraints
-
-#### Module RS232_Uart constraints
-
-Net fpga_0_RS232_Uart_RX_pin LOC=W2;
-Net fpga_0_RS232_Uart_RX_pin IOSTANDARD = LVCMOS33;
-Net fpga_0_RS232_Uart_TX_pin LOC=W1;
-Net fpga_0_RS232_Uart_TX_pin IOSTANDARD = LVCMOS33;
-
-#### Module LEDs_4Bit constraints
-
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> LOC=G5;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> IOSTANDARD = LVCMOS25;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> PULLUP;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> SLEW = SLOW;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> DRIVE = 2;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> TIG;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> LOC=G6;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> IOSTANDARD = LVCMOS25;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> PULLUP;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> SLEW = SLOW;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> DRIVE = 2;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> TIG;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> LOC=A11;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> IOSTANDARD = LVCMOS25;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> PULLUP;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> SLEW = SLOW;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> DRIVE = 2;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> TIG;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> LOC=A12;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> IOSTANDARD = LVCMOS25;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> PULLUP;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> SLEW = SLOW;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> DRIVE = 2;
-Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> TIG;
-
-#### Module LEDs_Positions constraints
-
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> LOC=C6;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> IOSTANDARD = LVCMOS25;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> PULLUP;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> SLEW = SLOW;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> DRIVE = 2;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<0> TIG;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> LOC=F9;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> IOSTANDARD = LVCMOS25;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> PULLUP;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> SLEW = SLOW;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> DRIVE = 2;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<1> TIG;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> LOC=A5;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> IOSTANDARD = LVCMOS25;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> PULLUP;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> SLEW = SLOW;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> DRIVE = 2;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<2> TIG;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> LOC=E10;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> IOSTANDARD = LVCMOS25;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> PULLUP;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> SLEW = SLOW;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> DRIVE = 2;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<3> TIG;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> LOC=E2;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> IOSTANDARD = LVCMOS25;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> PULLUP;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> SLEW = SLOW;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> DRIVE = 2;
-Net fpga_0_LEDs_Positions_GPIO_IO_pin<4> TIG;
-
-#### Module SRAM constraints
-
-Net fpga_0_SRAM_Mem_A_pin<29> LOC=Y1;
-Net fpga_0_SRAM_Mem_A_pin<29> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<29> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<29> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<28> LOC=Y2;
-Net fpga_0_SRAM_Mem_A_pin<28> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<28> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<28> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<27> LOC=AA1;
-Net fpga_0_SRAM_Mem_A_pin<27> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<27> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<27> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<26> LOC=AB1;
-Net fpga_0_SRAM_Mem_A_pin<26> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<26> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<26> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<25> LOC=AB2;
-Net fpga_0_SRAM_Mem_A_pin<25> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<25> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<25> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<24> LOC=AC1;
-Net fpga_0_SRAM_Mem_A_pin<24> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<24> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<24> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<23> LOC=AC2;
-Net fpga_0_SRAM_Mem_A_pin<23> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<23> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<23> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<22> LOC=AD1;
-Net fpga_0_SRAM_Mem_A_pin<22> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<22> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<22> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<21> LOC=AD2;
-Net fpga_0_SRAM_Mem_A_pin<21> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<21> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<21> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<20> LOC=AE3;
-Net fpga_0_SRAM_Mem_A_pin<20> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<20> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<20> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<19> LOC=AF3;
-Net fpga_0_SRAM_Mem_A_pin<19> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<19> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<19> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<18> LOC=W3;
-Net fpga_0_SRAM_Mem_A_pin<18> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<18> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<18> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<17> LOC=W6;
-Net fpga_0_SRAM_Mem_A_pin<17> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<17> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<17> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<16> LOC=W5;
-Net fpga_0_SRAM_Mem_A_pin<16> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<16> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<16> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<15> LOC=AA3;
-Net fpga_0_SRAM_Mem_A_pin<15> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<15> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<15> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<14> LOC=AA4;
-Net fpga_0_SRAM_Mem_A_pin<14> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<14> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<14> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<13> LOC=AB3;
-Net fpga_0_SRAM_Mem_A_pin<13> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<13> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<13> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<12> LOC=AB4;
-Net fpga_0_SRAM_Mem_A_pin<12> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<12> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<12> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<11> LOC=AC4;
-Net fpga_0_SRAM_Mem_A_pin<11> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<11> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<11> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<10> LOC=AB5;
-Net fpga_0_SRAM_Mem_A_pin<10> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<10> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<10> DRIVE = 8;
-Net fpga_0_SRAM_Mem_A_pin<9> LOC=AC5;
-Net fpga_0_SRAM_Mem_A_pin<9> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_A_pin<9> SLEW = FAST;
-Net fpga_0_SRAM_Mem_A_pin<9> DRIVE = 8;
-Net fpga_0_SRAM_Mem_BEN_pin<3> LOC=Y6;
-Net fpga_0_SRAM_Mem_BEN_pin<3> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_BEN_pin<3> SLEW = FAST;
-Net fpga_0_SRAM_Mem_BEN_pin<3> DRIVE = 8;
-Net fpga_0_SRAM_Mem_BEN_pin<2> LOC=Y5;
-Net fpga_0_SRAM_Mem_BEN_pin<2> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_BEN_pin<2> SLEW = FAST;
-Net fpga_0_SRAM_Mem_BEN_pin<2> DRIVE = 8;
-Net fpga_0_SRAM_Mem_BEN_pin<1> LOC=Y4;
-Net fpga_0_SRAM_Mem_BEN_pin<1> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_BEN_pin<1> SLEW = FAST;
-Net fpga_0_SRAM_Mem_BEN_pin<1> DRIVE = 8;
-Net fpga_0_SRAM_Mem_BEN_pin<0> LOC=Y3;
-Net fpga_0_SRAM_Mem_BEN_pin<0> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_BEN_pin<0> SLEW = FAST;
-Net fpga_0_SRAM_Mem_BEN_pin<0> DRIVE = 8;
-Net fpga_0_SRAM_Mem_WEN_pin LOC=AB6;
-Net fpga_0_SRAM_Mem_WEN_pin IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_WEN_pin SLEW = FAST;
-Net fpga_0_SRAM_Mem_WEN_pin DRIVE = 8;
-Net fpga_0_SRAM_Mem_DQ_pin<31> LOC=AD13;
-Net fpga_0_SRAM_Mem_DQ_pin<31> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<31> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<31> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<30> LOC=AC13;
-Net fpga_0_SRAM_Mem_DQ_pin<30> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<30> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<30> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<29> LOC=AC15;
-Net fpga_0_SRAM_Mem_DQ_pin<29> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<29> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<29> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<28> LOC=AC16;
-Net fpga_0_SRAM_Mem_DQ_pin<28> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<28> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<28> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<27> LOC=AA11;
-Net fpga_0_SRAM_Mem_DQ_pin<27> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<27> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<27> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<26> LOC=AA12;
-Net fpga_0_SRAM_Mem_DQ_pin<26> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<26> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<26> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<25> LOC=AD14;
-Net fpga_0_SRAM_Mem_DQ_pin<25> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<25> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<25> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<24> LOC=AC14;
-Net fpga_0_SRAM_Mem_DQ_pin<24> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<24> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<24> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<23> LOC=AA13;
-Net fpga_0_SRAM_Mem_DQ_pin<23> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<23> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<23> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<22> LOC=AB13;
-Net fpga_0_SRAM_Mem_DQ_pin<22> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<22> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<22> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<21> LOC=AA15;
-Net fpga_0_SRAM_Mem_DQ_pin<21> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<21> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<21> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<20> LOC=AA16;
-Net fpga_0_SRAM_Mem_DQ_pin<20> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<20> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<20> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<19> LOC=AC11;
-Net fpga_0_SRAM_Mem_DQ_pin<19> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<19> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<19> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<18> LOC=AC12;
-Net fpga_0_SRAM_Mem_DQ_pin<18> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<18> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<18> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<17> LOC=AB14;
-Net fpga_0_SRAM_Mem_DQ_pin<17> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<17> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<17> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<16> LOC=AA14;
-Net fpga_0_SRAM_Mem_DQ_pin<16> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<16> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<16> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<15> LOC=D12;
-Net fpga_0_SRAM_Mem_DQ_pin<15> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<15> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<15> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<14> LOC=E13;
-Net fpga_0_SRAM_Mem_DQ_pin<14> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<14> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<14> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<13> LOC=C16;
-Net fpga_0_SRAM_Mem_DQ_pin<13> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<13> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<13> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<12> LOC=D16;
-Net fpga_0_SRAM_Mem_DQ_pin<12> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<12> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<12> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<11> LOC=D11;
-Net fpga_0_SRAM_Mem_DQ_pin<11> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<11> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<11> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<10> LOC=C11;
-Net fpga_0_SRAM_Mem_DQ_pin<10> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<10> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<10> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<9> LOC=E14;
-Net fpga_0_SRAM_Mem_DQ_pin<9> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<9> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<9> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<8> LOC=D15;
-Net fpga_0_SRAM_Mem_DQ_pin<8> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<8> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<8> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<7> LOC=D13;
-Net fpga_0_SRAM_Mem_DQ_pin<7> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<7> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<7> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<6> LOC=D14;
-Net fpga_0_SRAM_Mem_DQ_pin<6> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<6> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<6> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<5> LOC=F15;
-Net fpga_0_SRAM_Mem_DQ_pin<5> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<5> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<5> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<4> LOC=F16;
-Net fpga_0_SRAM_Mem_DQ_pin<4> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<4> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<4> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<3> LOC=F11;
-Net fpga_0_SRAM_Mem_DQ_pin<3> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<3> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<3> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<2> LOC=F12;
-Net fpga_0_SRAM_Mem_DQ_pin<2> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<2> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<2> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<1> LOC=F13;
-Net fpga_0_SRAM_Mem_DQ_pin<1> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<1> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<1> DRIVE = 12;
-Net fpga_0_SRAM_Mem_DQ_pin<0> LOC=F14;
-Net fpga_0_SRAM_Mem_DQ_pin<0> SLEW = FAST;
-Net fpga_0_SRAM_Mem_DQ_pin<0> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_DQ_pin<0> DRIVE = 12;
-Net fpga_0_SRAM_Mem_OEN_pin<0> LOC=AC6;
-Net fpga_0_SRAM_Mem_OEN_pin<0> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_OEN_pin<0> SLEW = FAST;
-Net fpga_0_SRAM_Mem_OEN_pin<0> DRIVE = 8;
-Net fpga_0_SRAM_Mem_CEN_pin<0> LOC=V7;
-Net fpga_0_SRAM_Mem_CEN_pin<0> IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_CEN_pin<0> SLEW = FAST;
-Net fpga_0_SRAM_Mem_CEN_pin<0> DRIVE = 8;
-Net fpga_0_SRAM_Mem_ADV_LDN_pin LOC=W4;
-Net fpga_0_SRAM_Mem_ADV_LDN_pin IOSTANDARD = LVCMOS33;
-Net fpga_0_SRAM_Mem_ADV_LDN_pin SLEW = FAST;
-Net fpga_0_SRAM_Mem_ADV_LDN_pin DRIVE = 8;
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/etc/bitgen.ut b/Demo/PPC405_Xilinx_Virtex4_GCC/etc/bitgen.ut deleted file mode 100644 index 97653633..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/etc/bitgen.ut +++ /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 index 15728dcf..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/etc/download.cmd +++ /dev/null @@ -1,6 +0,0 @@ -setMode -bscan
-setCable -p auto
-identify
-assignfile -p 3 -file implementation/download.bit
-program -p 3
-quit
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 index 6cc2599a..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/etc/fast_runtime.opt +++ /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 index 65076f3a..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/etc/xmd_ppc405_0.opt +++ /dev/null @@ -1 +0,0 @@ -connect ppc hw -debugdevice cpunr 1
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/platgen.opt b/Demo/PPC405_Xilinx_Virtex4_GCC/platgen.opt deleted file mode 100644 index 18547358..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/platgen.opt +++ /dev/null @@ -1,5 +0,0 @@ --p
-xc4vfx12ff668-10
--lang
-vhdl
-system.mhs
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system.bsb b/Demo/PPC405_Xilinx_Virtex4_GCC/system.bsb deleted file mode 100644 index 2901d857..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/system.bsb +++ /dev/null @@ -1 +0,0 @@ -„æÄ®Òôtt¦Êè¬ÊäæÒÞÜ@Db`\bDvC„æÄ®Òôtt¦Êè„ÞÂäÈ@D°ÒØÒÜðD@D¬ÒäèÊð@h@š˜h`f@ŠìÂØêÂèÒÞÜ@ ØÂèÌÞäÚD@DbDv,„æÄ®ÒôttªàÈÂèÊŒ Ž‚@D‚¤†’¨Š†¨ª¤ŠD@DìÒäèÊðhDv,„æÄ®ÒôttªàÈÂèÊŒ Ž‚@DˆŠ¬’†Š¾¦’´ŠD@DðÆhìÌðbdDv%„æÄ®ÒôttªàÈÂèÊŒ Ž‚@D ‚†–‚ŽŠD@DÌÌllpDv&„æÄ®ÒôttªàÈÂèÊŒ Ž‚@D¦ ŠŠˆŽ¤‚ˆŠD@DZb`Dv3„æÄ®Òôtt¦Êè¦òæèÊÚ@DààÆh`j¾ìÒäèÊðh¾àØÄìhlD@Db\``\ÂDv,„æÄ®ÒôttªàÈÂèʆØÞÆÖ@D„ª¦¾Œ¤Š¢D@Db``\``````Dv,„æÄ®ÒôttªàÈÂèʆØÞÆÖ@D†˜–¾Œ¤Š¢D@Db``\``````Dv-„æÄ®ÒôttªàÈÂèʆØÞÆÖ@D ¤ž†¾Œ¤Š¢D@Db``\``````Dv(„æÄ®ÒôttªàÈÂèʦòæèÊÚ@D¤¦¨¾ ž˜‚¤’¨²D@D`Dv1„æÄ®Òôtt‚ÈÈ äÞÆÊææÞä@DààÆh`j¾`D@DààÆh`j¾ìÒäèÊðhDv/„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@DààÆh`j¾`D@D†‚†ŠD@DbDv3„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@DààÆh`j¾`D@D†¾ª¦Š¾Œ ªD@D`Dv:„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@DààÆh`j¾`D@DˆŠ„ªŽ¾’ŒD@DŒ Ž‚@”¨‚ŽDv6„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@DààÆh`j¾`D@Dˆž†š@¦’´ŠD@DœžœŠDv6„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@DààÆh`j¾`D@D’ž†š@¦’´ŠD@DœžœŠDv2„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@DààÆh`j¾`D@Dž†š¾žœ˜²D@D`Dv2„æÄ®Òôtt‚ÈÈ ÊäÒàÐÊäÂØ@D¤¦dfd¾ªÂäèD@Dðàæ¾êÂäèØÒèÊDv9„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D†¾„‚ªˆ¤‚¨ŠD@Drl``Dv7„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D†¾ˆ‚¨‚¾„’¨¦D@DpDv8„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D†¾žˆˆ¾ ‚¤’¨²D@D`Dv8„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D†¾ª¦Š¾ ‚¤’¨²D@D`Dv<„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@D’ž¨² ŠD@D°’˜¾ª‚¤¨¾¬bDv<„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@D¤¦dfd¾ªÂäèD@Dª¦Š¾’œ¨Š¤¤ª ¨D@D¨¤ªŠDv-„æÄ®Òôtt‚ÈÈ ÊäÒàÐÊäÂØ@D˜Šˆæ¾h„ÒèD@Dðàæ¾ÎàÒÞDv;„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@D˜Šˆæ¾h„ÒèD@D’ž¨² ŠD@D°’˜¾Ž ’ž¾¬bDv2„æÄ®Òôtt‚ÈÈ ÊäÒàÐÊäÂØ@D˜Šˆæ¾ ÞæÒèÒÞÜæD@Dðàæ¾ÎàÒÞDv@„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@D˜Šˆæ¾ ÞæÒèÒÞÜæD@D’ž¨² ŠD@D°’˜¾Ž ’ž¾¬bDv+„æÄ®Òôtt‚ÈÈ ÊäÒàÐÊäÂØ@D¦¤‚šD@Dðàæ¾ÚÆоÊÚÆDv5„æÄ®ÒôttªàÈÂèʆÞÚàÞÜÊÜè@D¦¤‚šD@D’ž¨² ŠD@D°’˜¾Šš†¾¬bDv:„æÄ®ÒôttªàÈÂèʆÂÆÐÊ@DààÆh`j¾`D@D†‚†Š¾†‚œˆ’ˆ‚¨Š¦D@D¦¤‚švDv8„æÄ®ÒôttªàÈÂèʆÂÆÐÊ@DààÆh`j¾`D@D†¾†‚†Š¾„²¨Š¾¦’´ŠD@DblDv9„æÄ®ÒôttªàÈÂèʆÂÆÐÊ@DààÆh`j¾`D@D†¾ˆ†‚†Š¾„²¨Š¾¦’´ŠD@DblDv9„æÄ®ÒôttªàÈÂèʆÂÆÐÊ@DààÆh`j¾`D@Dˆ†‚†Š¾†ž¤Š˜’¦¨D@Dv¦¤‚šDv9„æÄ®ÒôttªàÈÂèʆÂÆÐÊ@DààÆh`j¾`D@D’†‚†Š¾†ž¤Š˜’¦¨D@Dv¦¤‚šDv:„æÄ®ÒôttªàÈÂèʆÂÆÐÊ@DààÆh`j¾`D@D’œ¦¨‚œ†Š¾œ‚šŠD@DààÆh`j¾`Dv/„æÄ®ÒôttªàÈÂèʦ®@D¦®¾ŽŠœŠ¤‚¨Š¾šŠš¨Š¦¨D@DŒ‚˜¦ŠDv1„æÄ®ÒôttªàÈÂèʦ®@D¦®¾ŽŠœŠ¤‚¨Š¾ Š¤’ ¨Š¦¨D@D¨¤ªŠDv)„æÄ®ÒôttªàÈÂèʦ®@D¦®¾ŽŠœŠ¤‚¨Š¾¦®‚ ¦D@DDv7„æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D’œ¦¨‚œ†Š¾œ‚šŠD@DààÆh`j¾`Dv0„æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾„žž¨šŠšD@D¦¤‚šDv.„æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾¦¨ˆ’œD@DœÞÜÊDv/„æÄ®ÒôttªàÈÂèʦ®@DààÆh`j¾`D@D¦®¾¦¨ˆžª¨D@DœÞÜÊDv@„æÄ®ÒôttªàÈÂèʨÊæè‚àà@D¨Êæè‚àྠÊäÒàÐÊäÂØD@D¦®¾ˆ‚¨‚¾’œ¦D@D¦¤‚šDvK„æÄ®ÒôttªàÈÂèʨÊæè‚àà@D¨Êæè‚àྠÊäÒàÐÊäÂØD@D¦®¾ˆ‚¨‚¾ ‚¤D@D†¾šŠš`¾„‚¦Š‚ˆˆ¤DvC„æÄ®ÒôttªàÈÂèʨÊæè‚àà@D¨Êæè‚àྠÊäÒàÐÊäÂØD@D¦®¾ ¤žŽ¤‚š¾’œ¦D@D¦¤‚šDvN„æÄ®ÒôttªàÈÂèʨÊæè‚àà@D¨Êæè‚àྠÊäÒàÐÊäÂØD@D¦®¾ ¤žŽ¤‚š¾ ‚¤D@D†¾šŠš`¾„‚¦Š‚ˆˆ¤DvA„æÄ®ÒôttªàÈÂèʨÊæè‚àà@D¨Êæè‚àྠÊäÒàÐÊäÂØD@D¦®¾¦¨‚†–¾’œ¦D@D¦¤‚šDvL„æÄ®ÒôttªàÈÂèʨÊæè‚àà@D¨Êæè‚àྠÊäÒàÐÊäÂØD@D¦®¾¦¨‚†–¾ ‚¤D@D†¾šŠš`¾„‚¦Š‚ˆˆ¤DvC„æÄ®ÒôttªàÈÂèʨÊæè‚àà@D¨Êæè‚àྠÊäÒàÐÊäÂØD@D¦®¾¬Š†¨ž¤¦¾’œ¦D@D¦¤‚šDvN„æÄ®ÒôttªàÈÂèʨÊæè‚àà@D¨Êæè‚àྠÊäÒàÐÊäÂØD@D¦®¾¬Š†¨ž¤¦¾ ‚¤D@D†¾šŠš`¾„‚¦Š‚ˆˆ¤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 index 8aa93f00..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/system.make +++ /dev/null @@ -1,269 +0,0 @@ -#################################################################
-# Makefile generated by Xilinx Platform Studio
-# Project:C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\system.xmp
-#
-# WARNING : This file will be re-generated every time a command
-# to run a make target is invoked. So, any changes made to this
-# file manually, will be lost when make is invoked next.
-#################################################################
-
-# Name of the Microprocessor system
-# The hardware specification of the system is in file :
-# C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\system.mhs
-# The software specification of the system is in file :
-# C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\system.mss
-
-include system_incl.make
-
-#################################################################
-# PHONY TARGETS
-#################################################################
-.PHONY: dummy
-.PHONY: netlistclean
-.PHONY: bitsclean
-.PHONY: simclean
-.PHONY: vpclean
-
-#################################################################
-# EXTERNAL TARGETS
-#################################################################
-all:
- @echo "Makefile to build a Microprocessor system :"
- @echo "Run make with any of the following targets"
- @echo " "
- @echo " netlist : Generates the netlist for the given MHS "
- @echo " bits : Runs Implementation tools to generate the bitstream"
- @echo " "
- @echo " libs : Configures the sw libraries for this system"
- @echo " program : Compiles the program sources for all the processor instances"
- @echo " "
- @echo " init_bram: Initializes bitstream with BRAM data"
- @echo " ace : Generate ace file from bitstream and elf"
- @echo " download : Downloads the bitstream onto the board"
- @echo " "
- @echo " sim : Generates HDL simulation models and runs simulator for chosen simulation mode"
- @echo " simmodel : Generates HDL simulation models for chosen simulation mode"
- @echo " behavioral_model : Generates behavioral HDL models with BRAM initialization"
- @echo " structural_model : Generates structural simulation HDL models with BRAM initialization"
- @echo " timing : Generates timing simulation HDL models with BRAM initialization"
- @echo " vp : Generates virtual platform model"
- @echo " "
- @echo " netlistclean: Deletes netlist"
- @echo " bitsclean: Deletes bit, ncd, bmm files"
- @echo " hwclean : Deletes implementation dir"
- @echo " libsclean: Deletes sw libraries"
- @echo " programclean: Deletes compiled ELF files"
- @echo " swclean : Deletes sw libraries and ELF files"
- @echo " simclean : Deletes simulation dir"
- @echo " vpclean : Deletes virtualplatform dir"
- @echo " clean : Deletes all generated files/directories"
- @echo " "
- @echo " make <target> : (Default)"
- @echo " Creates a Microprocessor system using default initializations"
- @echo " specified for each processor in MSS file"
-
-
-bits: $(SYSTEM_BIT)
-
-ace: $(SYSTEM_ACE)
-
-netlist: $(POSTSYN_NETLIST)
-
-libs: $(LIBRARIES)
-
-program: $(ALL_USER_ELF_FILES)
-
-download: $(DOWNLOAD_BIT) dummy
- @echo "*********************************************"
- @echo "Downloading Bitstream onto the target board"
- @echo "*********************************************"
- impact -batch etc/download.cmd
-
-init_bram: $(DOWNLOAD_BIT)
-
-sim: $(DEFAULT_SIM_SCRIPT)
- cd simulation/behavioral; \
- $(SIM_CMD) &
-
-simmodel: $(DEFAULT_SIM_SCRIPT)
-
-behavioral_model: $(BEHAVIORAL_SIM_SCRIPT)
-
-structural_model: $(STRUCTURAL_SIM_SCRIPT)
-
-vp: $(VPEXEC)
-
-clean: hwclean libsclean programclean simclean vpclean
- rm -f _impact.cmd
- rm -f *.log
-
-hwclean: netlistclean bitsclean
- rm -rf implementation synthesis xst hdl
- rm -rf xst.srp $(SYSTEM).srp
-
-netlistclean:
- rm -f $(POSTSYN_NETLIST)
- rm -f platgen.log
- rm -f $(BMM_FILE)
-
-bitsclean:
- rm -f $(SYSTEM_BIT)
- rm -f implementation/$(SYSTEM).ncd
- rm -f implementation/$(SYSTEM)_bd.bmm
- rm -f implementation/$(SYSTEM)_map.ncd
-
-simclean:
- rm -rf simulation/behavioral
- rm -f simgen.log
-
-swclean: libsclean programclean
- @echo ""
-
-libsclean: $(LIBSCLEAN_TARGETS)
- rm -f libgen.log
-
-programclean: $(PROGRAMCLEAN_TARGETS)
-
-vpclean:
- rm -rf virtualplatform
- rm -f vpgen.log
-
-#################################################################
-# SOFTWARE PLATFORM FLOW
-#################################################################
-
-
-$(LIBRARIES): $(MHSFILE) $(MSSFILE) __xps/libgen.opt
- @echo "*********************************************"
- @echo "Creating software libraries..."
- @echo "*********************************************"
- libgen $(LIBGEN_OPTIONS) $(MSSFILE)
-
-
-ppc405_0_libsclean:
- rm -rf ppc405_0/
-
-#################################################################
-# SOFTWARE APPLICATION RTOSDEMO
-#################################################################
-
-RTOSDemo_program: $(RTOSDEMO_OUTPUT)
-
-$(RTOSDEMO_OUTPUT) : $(RTOSDEMO_SOURCES) $(RTOSDEMO_HEADERS) $(RTOSDEMO_LINKER_SCRIPT) \
- $(LIBRARIES) __xps/rtosdemo_compiler.opt
- @mkdir -p $(RTOSDEMO_OUTPUT_DIR)
- $(RTOSDEMO_CC) $(RTOSDEMO_CC_OPT) $(RTOSDEMO_SOURCES) -o $(RTOSDEMO_OUTPUT) \
- $(RTOSDEMO_OTHER_CC_FLAGS) $(RTOSDEMO_INCLUDES) $(RTOSDEMO_LIBPATH) \
- $(RTOSDEMO_CFLAGS) $(RTOSDEMO_LFLAGS)
- $(RTOSDEMO_CC_SIZE) $(RTOSDEMO_OUTPUT)
- @echo ""
-
-RTOSDemo_programclean:
- rm -f $(RTOSDEMO_OUTPUT)
-
-#################################################################
-# BOOTLOOP ELF FILES
-#################################################################
-
-
-
-$(PPC405_0_BOOTLOOP): $(PPC405_BOOTLOOP)
- @mkdir -p $(BOOTLOOP_DIR)
- cp -f $(PPC405_BOOTLOOP) $(PPC405_0_BOOTLOOP)
-
-#################################################################
-# HARDWARE IMPLEMENTATION FLOW
-#################################################################
-
-
-$(BMM_FILE) \
-$(WRAPPER_NGC_FILES): $(MHSFILE) __xps/platgen.opt \
- $(CORE_STATE_DEVELOPMENT_FILES)
- @echo "****************************************************"
- @echo "Creating system netlist for hardware specification.."
- @echo "****************************************************"
- platgen $(PLATGEN_OPTIONS) $(MHSFILE)
-
-$(POSTSYN_NETLIST): $(WRAPPER_NGC_FILES)
- @echo "Running synthesis..."
- bash -c "cd synthesis; ./synthesis.sh"
-
-__xps/$(SYSTEM)_routed: $(FPGA_IMP_DEPENDENCY)
- @echo "*********************************************"
- @echo "Running Xilinx Implementation tools.."
- @echo "*********************************************"
- @cp -f $(UCF_FILE) implementation/$(SYSTEM).ucf
- xilperl $(NON_CYG_XILINX_EDK_DIR)/data/fpga_impl/manage_fastruntime_opt.pl $(MANAGE_FASTRT_OPTIONS)
- xflow -wd implementation -p $(DEVICE) -implement xflow.opt $(SYSTEM).ngc
- touch __xps/$(SYSTEM)_routed
-
-$(SYSTEM_BIT): __xps/$(SYSTEM)_routed
- xilperl $(NON_CYG_XILINX_EDK_DIR)/data/fpga_impl/observe_par.pl $(OBSERVE_PAR_OPTIONS) implementation/$(SYSTEM).par
- @echo "*********************************************"
- @echo "Running Bitgen.."
- @echo "*********************************************"
- @cp -f $(BITGEN_UT_FILE) implementation/bitgen.ut
- cd implementation; bitgen -w -f bitgen.ut $(SYSTEM)
-
-$(DOWNLOAD_BIT): $(SYSTEM_BIT) $(BRAMINIT_ELF_FILES) __xps/bitinit.opt
- # @cp -f implementation/$(SYSTEM)_bd.bmm .
- @echo "*********************************************"
- @echo "Initializing BRAM contents of the bitstream"
- @echo "*********************************************"
- bitinit $(MHSFILE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) \
- -bt $(SYSTEM_BIT) -o $(DOWNLOAD_BIT)
- @rm -f $(SYSTEM)_bd.bmm
-
-$(SYSTEM_ACE): $(DOWNLOAD_BIT) $(RTOSDEMO_OUTPUT)
- @echo "*********************************************"
- @echo "Creating system ace file"
- @echo "*********************************************"
- xmd -tcl genace.tcl -jprog -hw $(DOWNLOAD_BIT) -elf $(RTOSDEMO_OUTPUT) -target ppc_hw -ace $(SYSTEM_ACE)
-
-#################################################################
-# SIMULATION FLOW
-#################################################################
-
-
-################## BEHAVIORAL SIMULATION ##################
-
-$(BEHAVIORAL_SIM_SCRIPT): $(MHSFILE) __xps/simgen.opt \
- $(BRAMINIT_ELF_FILES)
- @echo "*********************************************"
- @echo "Creating behavioral simulation models..."
- @echo "*********************************************"
- simgen $(SIMGEN_OPTIONS) -m behavioral $(MHSFILE)
-
-################## STRUCTURAL SIMULATION ##################
-
-$(STRUCTURAL_SIM_SCRIPT): $(WRAPPER_NGC_FILES) __xps/simgen.opt \
- $(BRAMINIT_ELF_FILES)
- @echo "*********************************************"
- @echo "Creating structural simulation models..."
- @echo "*********************************************"
- simgen $(SIMGEN_OPTIONS) -sd implementation -m structural $(MHSFILE)
-
-
-################## TIMING SIMULATION ##################
-
-$(TIMING_SIM_SCRIPT): $(SYSTEM_BIT) __xps/simgen.opt \
- $(BRAMINIT_ELF_FILES)
- @echo "*********************************************"
- @echo "Creating timing simulation models..."
- @echo "*********************************************"
- simgen $(SIMGEN_OPTIONS) -sd implementation -m timing $(MHSFILE)
-
-#################################################################
-# VIRTUAL PLATFORM FLOW
-#################################################################
-
-
-$(VPEXEC): $(MHSFILE) __xps/vpgen.opt
- @echo "****************************************************"
- @echo "Creating virtual platform for hardware specification.."
- @echo "****************************************************"
- vpgen $(VPGEN_OPTIONS) $(MHSFILE)
-
-dummy:
- @echo ""
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system.mhs b/Demo/PPC405_Xilinx_Virtex4_GCC/system.mhs deleted file mode 100644 index 29856e70..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/system.mhs +++ /dev/null @@ -1,180 +0,0 @@ -
-# ##############################################################################
-# Created by Base System Builder Wizard for Xilinx EDK 10.1 Build EDK_K.15
-# Sun Mar 30 11:39:33 2008
-# Target Board: Xilinx Virtex 4 ML403 Evaluation Platform Rev 1
-# Family: virtex4
-# Device: xc4vfx12
-# Package: ff668
-# Speed Grade: -10
-# Processor: ppc405_0
-# Processor clock frequency: 100.00 MHz
-# Bus clock frequency: 100.00 MHz
-# Total Off Chip Memory : 1 MB
-# - SRAM = 1 MB
-# ##############################################################################
- PARAMETER VERSION = 2.1.0
-
-
- PORT fpga_0_RS232_Uart_RX_pin = fpga_0_RS232_Uart_RX, DIR = I
- PORT fpga_0_RS232_Uart_TX_pin = fpga_0_RS232_Uart_TX, DIR = O
- PORT fpga_0_LEDs_4Bit_GPIO_IO_pin = fpga_0_LEDs_4Bit_GPIO_IO, DIR = IO, VEC = [0:3]
- PORT fpga_0_LEDs_Positions_GPIO_IO_pin = fpga_0_LEDs_Positions_GPIO_IO, DIR = IO, VEC = [0:4]
- PORT fpga_0_SRAM_Mem_A_pin = fpga_0_SRAM_Mem_A, DIR = O, VEC = [9:29]
- PORT fpga_0_SRAM_Mem_BEN_pin = fpga_0_SRAM_Mem_BEN, DIR = O, VEC = [0:3]
- PORT fpga_0_SRAM_Mem_WEN_pin = fpga_0_SRAM_Mem_WEN, DIR = O
- PORT fpga_0_SRAM_Mem_DQ_pin = fpga_0_SRAM_Mem_DQ, DIR = IO, VEC = [0:31]
- PORT fpga_0_SRAM_Mem_OEN_pin = fpga_0_SRAM_Mem_OEN, DIR = O, VEC = [0:0]
- PORT fpga_0_SRAM_Mem_CEN_pin = fpga_0_SRAM_Mem_CEN, DIR = O, VEC = [0:0]
- PORT fpga_0_SRAM_Mem_ADV_LDN_pin = fpga_0_SRAM_Mem_ADV_LDN, DIR = O
- PORT fpga_0_SRAM_CLOCK = sys_clk_s, DIR = O
- PORT sys_clk_pin = dcm_clk_s, DIR = I, SIGIS = CLK, CLK_FREQ = 100000000
- PORT sys_rst_pin = sys_rst_s, DIR = I, RST_POLARITY = 0, SIGIS = RST
-
-
-BEGIN ppc405_virtex4
- PARAMETER INSTANCE = ppc405_0
- PARAMETER HW_VER = 2.01.a
- PARAMETER C_FASTEST_PLB_CLOCK = DPLB0
- PARAMETER C_IDCR_BASEADDR = 0b0100000000
- PARAMETER C_IDCR_HIGHADDR = 0b0111111111
- BUS_INTERFACE JTAGPPC = jtagppc_0_0
- BUS_INTERFACE IPLB0 = plb
- BUS_INTERFACE DPLB0 = plb
- BUS_INTERFACE RESETPPC = ppc_reset_bus
- PORT CPMC405CLOCK = sys_clk_s
- PORT EICC405EXTINPUTIRQ = EICC405EXTINPUTIRQ
-END
-
-BEGIN jtagppc_cntlr
- PARAMETER INSTANCE = jtagppc_0
- PARAMETER HW_VER = 2.01.a
- BUS_INTERFACE JTAGPPC0 = jtagppc_0_0
-END
-
-BEGIN plb_v46
- PARAMETER INSTANCE = plb
- PARAMETER C_DCR_INTFCE = 0
- PARAMETER C_NUM_CLK_PLB2OPB_REARB = 100
- PARAMETER HW_VER = 1.02.a
- PORT PLB_Clk = sys_clk_s
- PORT SYS_Rst = sys_bus_reset
-END
-
-BEGIN xps_uartlite
- PARAMETER INSTANCE = RS232_Uart
- PARAMETER HW_VER = 1.00.a
- PARAMETER C_BAUDRATE = 9600
- PARAMETER C_DATA_BITS = 8
- PARAMETER C_ODD_PARITY = 0
- PARAMETER C_USE_PARITY = 0
- PARAMETER C_SPLB_CLK_FREQ_HZ = 100000000
- PARAMETER C_BASEADDR = 0x84000000
- PARAMETER C_HIGHADDR = 0x8400ffff
- BUS_INTERFACE SPLB = plb
- PORT RX = fpga_0_RS232_Uart_RX
- PORT TX = fpga_0_RS232_Uart_TX
- PORT Interrupt = RS232_Uart_Interrupt
-END
-
-BEGIN xps_gpio
- PARAMETER INSTANCE = LEDs_4Bit
- PARAMETER HW_VER = 1.00.a
- PARAMETER C_GPIO_WIDTH = 4
- PARAMETER C_IS_DUAL = 0
- PARAMETER C_IS_BIDIR = 1
- PARAMETER C_ALL_INPUTS = 0
- PARAMETER C_BASEADDR = 0x81420000
- PARAMETER C_HIGHADDR = 0x8142ffff
- BUS_INTERFACE SPLB = plb
- PORT GPIO_IO = fpga_0_LEDs_4Bit_GPIO_IO
-END
-
-BEGIN xps_gpio
- PARAMETER INSTANCE = LEDs_Positions
- PARAMETER HW_VER = 1.00.a
- PARAMETER C_GPIO_WIDTH = 5
- PARAMETER C_IS_DUAL = 0
- PARAMETER C_IS_BIDIR = 1
- PARAMETER C_ALL_INPUTS = 0
- PARAMETER C_BASEADDR = 0x81400000
- PARAMETER C_HIGHADDR = 0x8140ffff
- BUS_INTERFACE SPLB = plb
- PORT GPIO_IO = fpga_0_LEDs_Positions_GPIO_IO
-END
-
-BEGIN xps_mch_emc
- PARAMETER INSTANCE = SRAM
- PARAMETER HW_VER = 1.01.a
- PARAMETER C_MCH_PLB_CLK_PERIOD_PS = 10000
- PARAMETER C_NUM_BANKS_MEM = 1
- PARAMETER C_MAX_MEM_WIDTH = 32
- PARAMETER C_INCLUDE_NEGEDGE_IOREGS = 1
- PARAMETER C_INCLUDE_DATAWIDTH_MATCHING_0 = 1
- PARAMETER C_MEM0_WIDTH = 32
- PARAMETER C_SYNCH_MEM_0 = 1
- PARAMETER C_TCEDV_PS_MEM_0 = 0
- PARAMETER C_TWC_PS_MEM_0 = 0
- PARAMETER C_TAVDV_PS_MEM_0 = 0
- PARAMETER C_TWP_PS_MEM_0 = 0
- PARAMETER C_THZCE_PS_MEM_0 = 0
- PARAMETER C_TLZWE_PS_MEM_0 = 0
- PARAMETER C_MEM0_BASEADDR = 0xfff00000
- PARAMETER C_MEM0_HIGHADDR = 0xffffffff
- BUS_INTERFACE SPLB = plb
- PORT Mem_A = fpga_0_SRAM_Mem_A_split
- PORT Mem_BEN = fpga_0_SRAM_Mem_BEN
- PORT Mem_WEN = fpga_0_SRAM_Mem_WEN
- PORT Mem_DQ = fpga_0_SRAM_Mem_DQ
- PORT Mem_OEN = fpga_0_SRAM_Mem_OEN
- PORT Mem_CEN = fpga_0_SRAM_Mem_CEN
- PORT Mem_ADV_LDN = fpga_0_SRAM_Mem_ADV_LDN
-END
-
-BEGIN util_bus_split
- PARAMETER INSTANCE = SRAM_util_bus_split_1
- PARAMETER HW_VER = 1.00.a
- PARAMETER C_SIZE_IN = 32
- PARAMETER C_LEFT_POS = 9
- PARAMETER C_SPLIT = 30
- PORT Sig = fpga_0_SRAM_Mem_A_split
- PORT Out1 = fpga_0_SRAM_Mem_A
-END
-
-BEGIN clock_generator
- PARAMETER INSTANCE = clock_generator_0
- PARAMETER HW_VER = 2.01.a
- PARAMETER C_EXT_RESET_HIGH = 1
- PARAMETER C_CLKIN_FREQ = 100000000
- PARAMETER C_CLKOUT0_FREQ = 100000000
- PARAMETER C_CLKOUT0_BUF = TRUE
- PARAMETER C_CLKOUT0_PHASE = 0
- PARAMETER C_CLKOUT0_GROUP = NONE
- PORT CLKOUT0 = sys_clk_s
- PORT CLKIN = dcm_clk_s
- PORT LOCKED = Dcm_all_locked
- PORT RST = net_gnd
-END
-
-BEGIN proc_sys_reset
- PARAMETER INSTANCE = proc_sys_reset_0
- PARAMETER HW_VER = 2.00.a
- PARAMETER C_EXT_RESET_HIGH = 0
- BUS_INTERFACE RESETPPC0 = ppc_reset_bus
- PORT Slowest_sync_clk = sys_clk_s
- PORT Dcm_locked = Dcm_all_locked
- PORT Ext_Reset_In = sys_rst_s
- PORT Bus_Struct_Reset = sys_bus_reset
- PORT Peripheral_Reset = sys_periph_reset
-END
-
-BEGIN xps_intc
- PARAMETER INSTANCE = xps_intc_0
- PARAMETER HW_VER = 1.00.a
- PARAMETER C_BASEADDR = 0x81800000
- PARAMETER C_HIGHADDR = 0x8180ffff
- BUS_INTERFACE SPLB = plb
- PORT Irq = EICC405EXTINPUTIRQ
- PORT Intr = RS232_Uart_Interrupt
-END
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system.mss b/Demo/PPC405_Xilinx_Virtex4_GCC/system.mss deleted file mode 100644 index a76ba980..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/system.mss +++ /dev/null @@ -1,76 +0,0 @@ -
- PARAMETER VERSION = 2.2.0
-
-
-BEGIN OS
- PARAMETER OS_NAME = standalone
- PARAMETER OS_VER = 2.00.a
- PARAMETER PROC_INSTANCE = ppc405_0
-END
-
-
-BEGIN PROCESSOR
- PARAMETER DRIVER_NAME = cpu_ppc405
- PARAMETER DRIVER_VER = 1.10.a
- PARAMETER HW_INSTANCE = ppc405_0
- PARAMETER COMPILER = powerpc-eabi-gcc
- PARAMETER ARCHIVER = powerpc-eabi-ar
- PARAMETER CORE_CLOCK_FREQ_HZ = 100000000
-END
-
-
-BEGIN DRIVER
- PARAMETER DRIVER_NAME = generic
- PARAMETER DRIVER_VER = 1.00.a
- PARAMETER HW_INSTANCE = jtagppc_0
-END
-
-BEGIN DRIVER
- PARAMETER DRIVER_NAME = uartlite
- PARAMETER DRIVER_VER = 1.13.a
- PARAMETER HW_INSTANCE = RS232_Uart
-END
-
-BEGIN DRIVER
- PARAMETER DRIVER_NAME = gpio
- PARAMETER DRIVER_VER = 2.12.a
- PARAMETER HW_INSTANCE = LEDs_4Bit
-END
-
-BEGIN DRIVER
- PARAMETER DRIVER_NAME = gpio
- PARAMETER DRIVER_VER = 2.12.a
- PARAMETER HW_INSTANCE = LEDs_Positions
-END
-
-BEGIN DRIVER
- PARAMETER DRIVER_NAME = emc
- PARAMETER DRIVER_VER = 2.00.a
- PARAMETER HW_INSTANCE = SRAM
-END
-
-BEGIN DRIVER
- PARAMETER DRIVER_NAME = generic
- PARAMETER DRIVER_VER = 1.00.a
- PARAMETER HW_INSTANCE = SRAM_util_bus_split_1
-END
-
-BEGIN DRIVER
- PARAMETER DRIVER_NAME = generic
- PARAMETER DRIVER_VER = 1.00.a
- PARAMETER HW_INSTANCE = clock_generator_0
-END
-
-BEGIN DRIVER
- PARAMETER DRIVER_NAME = generic
- PARAMETER DRIVER_VER = 1.00.a
- PARAMETER HW_INSTANCE = proc_sys_reset_0
-END
-
-BEGIN DRIVER
- PARAMETER DRIVER_NAME = intc
- PARAMETER DRIVER_VER = 1.11.a
- PARAMETER HW_INSTANCE = xps_intc_0
-END
-
-
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp b/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp deleted file mode 100644 index 76c95f84..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/system.xmp +++ /dev/null @@ -1,72 +0,0 @@ -#Please do not modify this file by hand
-XmpVersion: 10.1.01
-VerMgmt: 10.1.01
-IntStyle: default
-MHS File: system.mhs
-MSS File: system.mss
-NPL File: projnav/system.ise
-Architecture: virtex4
-Device: xc4vfx12
-Package: ff668
-SpeedGrade: -10
-UserCmd1:
-UserCmd1Type: 0
-UserCmd2:
-UserCmd2Type: 0
-TopInst: system_i
-GenSimTB: 0
-InsertNoPads: 0
-WarnForEAArch: 1
-HdlLang: VHDL
-Simulator: mti
-SimModel: BEHAVIORAL
-MixLangSim: 1
-UcfFile: data/system.ucf
-FpgaImpMode: 0
-EnableParTimingError: 1
-EnableResetOptimization: 0
-ShowLicenseDialog: 1
-ICacheAddr: SRAM,
-DCacheAddr: SRAM,
-Processor: ppc405_0
-BootLoop: 1
-XmdStub: 0
-SwProj: RTOSDemo
-Processor: ppc405_0
-Executable: RTOSDemo/executable.elf
-Source: RTOSDemo/../../Common/Minimal/BlockQ.c
-Source: RTOSDemo/../../Common/Minimal/blocktim.c
-Source: RTOSDemo/../../Common/Minimal/comtest.c
-Source: RTOSDemo/../../Common/Minimal/countsem.c
-Source: RTOSDemo/../../Common/Minimal/death.c
-Source: RTOSDemo/../../Common/Minimal/dynamic.c
-Source: RTOSDemo/../../Common/Minimal/flash.c
-Source: RTOSDemo/../../Common/Minimal/GenQTest.c
-Source: RTOSDemo/../../Common/Minimal/integer.c
-Source: RTOSDemo/../../Common/Minimal/QPeek.c
-Source: RTOSDemo/../../Common/Minimal/recmutex.c
-Source: RTOSDemo/../../Common/Minimal/semtest.c
-Source: RTOSDemo/../../../Source/tasks.c
-Source: RTOSDemo/../../../Source/list.c
-Source: RTOSDemo/../../../Source/queue.c
-Source: RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/port.c
-Source: RTOSDemo/main.c
-Source: RTOSDemo/serial/serial.c
-Source: RTOSDemo/partest/partest.c
-Source: RTOSDemo/../../../Source/portable/GCC/PPC405_Xilinx/portasm.S
-Source: RTOSDemo/../../../Source/portable/MemMang/heap_2.c
-Header: RTOSDemo/FreeRTOSConfig.h
-DefaultInit: EXECUTABLE
-InitBram: 0
-Active: 1
-CompilerOptLevel: 0
-GlobPtrOpt: 0
-DebugSym: 1
-ProfileFlag: 0
-ProgStart:
-StackSize:
-HeapSize:
-LinkerScript: RTOSDemo/RTOSDemo_linker_script.ld
-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
-CompileInXps: 1
-NonXpsApp: 0
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make b/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make deleted file mode 100644 index f91a1418..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/system_incl.make +++ /dev/null @@ -1,141 +0,0 @@ -#################################################################
-# Makefile generated by Xilinx Platform Studio
-# Project:C:\E\Dev\FreeRTOS\WorkingCopy2\Demo\PPC405_Xilinx_Virtex4_GCC\system.xmp
-#
-# WARNING : This file will be re-generated every time a command
-# to run a make target is invoked. So, any changes made to this
-# file manually, will be lost when make is invoked next.
-#################################################################
-
-XILINX_EDK_DIR = /cygdrive/c/devtools/Xilinx/10.1/EDK
-NON_CYG_XILINX_EDK_DIR = C:/devtools/Xilinx/10.1/EDK
-
-SYSTEM = system
-
-MHSFILE = system.mhs
-
-MSSFILE = system.mss
-
-FPGA_ARCH = virtex4
-
-DEVICE = xc4vfx12ff668-10
-
-LANGUAGE = vhdl
-
-SEARCHPATHOPT =
-
-SUBMODULE_OPT =
-
-PLATGEN_OPTIONS = -p $(DEVICE) -lang $(LANGUAGE) $(SEARCHPATHOPT) $(SUBMODULE_OPT)
-
-LIBGEN_OPTIONS = -mhs $(MHSFILE) -p $(DEVICE) $(SEARCHPATHOPT)
-
-VPGEN_OPTIONS = -p $(DEVICE) $(SEARCHPATHOPT)
-
-MANAGE_FASTRT_OPTIONS = -reduce_fanout no
-
-OBSERVE_PAR_OPTIONS = -error yes
-
-RTOSDEMO_OUTPUT_DIR = RTOSDemo
-RTOSDEMO_OUTPUT = $(RTOSDEMO_OUTPUT_DIR)/executable.elf
-
-MICROBLAZE_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/microblaze/mb_bootloop.elf
-PPC405_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/ppc405/ppc_bootloop.elf
-PPC440_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/ppc440/ppc440_bootloop.elf
-BOOTLOOP_DIR = bootloops
-
-PPC405_0_BOOTLOOP = $(BOOTLOOP_DIR)/ppc405_0.elf
-
-BRAMINIT_ELF_FILES =
-BRAMINIT_ELF_FILE_ARGS =
-
-ALL_USER_ELF_FILES = $(RTOSDEMO_OUTPUT)
-
-SIM_CMD = vsim
-
-BEHAVIORAL_SIM_SCRIPT = simulation/behavioral/$(SYSTEM)_setup.do
-
-STRUCTURAL_SIM_SCRIPT = simulation/structural/$(SYSTEM)_setup.do
-
-TIMING_SIM_SCRIPT = simulation/timing/$(SYSTEM)_setup.do
-
-DEFAULT_SIM_SCRIPT = $(BEHAVIORAL_SIM_SCRIPT)
-
-MIX_LANG_SIM_OPT = -mixed yes
-
-SIMGEN_OPTIONS = -p $(DEVICE) -lang $(LANGUAGE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_FILE_ARGS) $(MIX_LANG_SIM_OPT) -s mti -X ./ -E ./
-
-
-LIBRARIES = \
- ppc405_0/lib/libxil.a
-VPEXEC = virtualplatform/vpexec.exe
-
-LIBSCLEAN_TARGETS = ppc405_0_libsclean
-
-PROGRAMCLEAN_TARGETS = RTOSDemo_programclean
-
-CORE_STATE_DEVELOPMENT_FILES =
-
-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
-
-POSTSYN_NETLIST = implementation/$(SYSTEM).ngc
-
-SYSTEM_BIT = implementation/$(SYSTEM).bit
-
-DOWNLOAD_BIT = implementation/download.bit
-
-SYSTEM_ACE = implementation/$(SYSTEM).ace
-
-UCF_FILE = data/system.ucf
-
-BMM_FILE = implementation/$(SYSTEM).bmm
-
-BITGEN_UT_FILE = etc/bitgen.ut
-
-XFLOW_OPT_FILE = etc/fast_runtime.opt
-XFLOW_DEPENDENCY = __xps/xpsxflow.opt $(XFLOW_OPT_FILE)
-
-XPLORER_DEPENDENCY = __xps/xplorer.opt
-XPLORER_OPTIONS = -p $(DEVICE) -uc $(SYSTEM).ucf -bm $(SYSTEM).bmm -max_runs 7
-
-FPGA_IMP_DEPENDENCY = $(BMM_FILE) $(POSTSYN_NETLIST) $(UCF_FILE) $(BITGEN_UT_FILE) $(XFLOW_DEPENDENCY)
-
-#################################################################
-# SOFTWARE APPLICATION RTOSDEMO
-#################################################################
-
-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
-
-RTOSDEMO_HEADERS = RTOSDemo/FreeRTOSConfig.h
-
-RTOSDEMO_CC = powerpc-eabi-gcc
-RTOSDEMO_CC_SIZE = powerpc-eabi-size
-RTOSDEMO_CC_OPT = -O0
-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
-RTOSDEMO_CC_SEARCH = # -B
-RTOSDEMO_LIBPATH = -L./ppc405_0/lib/ # -L
-RTOSDEMO_INCLUDES = -I./ppc405_0/include/ -IRTOSDemo/ # -I
-RTOSDEMO_LFLAGS = # -l
-RTOSDEMO_LINKER_SCRIPT = RTOSDemo/RTOSDemo_linker_script.ld
-RTOSDEMO_LINKER_SCRIPT_FLAG = -Wl,-T -Wl,$(RTOSDEMO_LINKER_SCRIPT)
-RTOSDEMO_CC_DEBUG_FLAG = -g
-RTOSDEMO_CC_PROFILE_FLAG = # -pg
-RTOSDEMO_CC_GLOBPTR_FLAG= # -msdata=eabi
-RTOSDEMO_CC_INFERRED_FLAGS=
-RTOSDEMO_CC_START_ADDR_FLAG= # # -Wl,-defsym -Wl,_START_ADDR=
-RTOSDEMO_CC_STACK_SIZE_FLAG= # # -Wl,-defsym -Wl,_STACK_SIZE=
-RTOSDEMO_CC_HEAP_SIZE_FLAG= # # -Wl,-defsym -Wl,_HEAP_SIZE=
-RTOSDEMO_OTHER_CC_FLAGS= $(RTOSDEMO_CC_GLOBPTR_FLAG) \
- $(RTOSDEMO_CC_START_ADDR_FLAG) $(RTOSDEMO_CC_STACK_SIZE_FLAG) $(RTOSDEMO_CC_HEAP_SIZE_FLAG) \
- $(RTOSDEMO_CC_INFERRED_FLAGS) \
- $(RTOSDEMO_LINKER_SCRIPT_FLAG) $(RTOSDEMO_CC_DEBUG_FLAG) $(RTOSDEMO_CC_PROFILE_FLAG)
diff --git a/Demo/PPC405_Xilinx_Virtex4_GCC/xc95144xl.bsd b/Demo/PPC405_Xilinx_Virtex4_GCC/xc95144xl.bsd deleted file mode 100644 index 6ad50840..00000000 --- a/Demo/PPC405_Xilinx_Virtex4_GCC/xc95144xl.bsd +++ /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; |