More cleanup
This commit is contained in:
parent
58dd1a72a5
commit
afd4ba4fe4
45
.project
45
.project
|
@ -1,45 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>Mojo-Demo</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>net.sourceforge.veditor.simulateBuilder</name>
|
||||
<arguments>
|
||||
<dictionary>
|
||||
<key>net.sourceforge.veditor.simulateBuilder.00000000Default.CleanCommand</key>
|
||||
<value>echo 'Clean'</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>net.sourceforge.veditor.simulateBuilder.00000000Default.buildOrder</key>
|
||||
<value>0</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>net.sourceforge.veditor.simulateBuilder.00000000Default.command</key>
|
||||
<value>echo 'No Build Configuration Specified'</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>net.sourceforge.veditor.simulateBuilder.00000000Default.enable</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>net.sourceforge.veditor.simulateBuilder.00000000Default.name</key>
|
||||
<value>Default</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>net.sourceforge.veditor.simulateBuilder.00000000Default.parser</key>
|
||||
<value></value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>net.sourceforge.veditor.simulateBuilder.00000000Default.workFolder</key>
|
||||
<value></value>
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>net.sourceforge.veditor.HdlNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -15,10 +15,10 @@
|
|||
<version xil_pn:ise_version="14.7" xil_pn:schema_version="2"/>
|
||||
|
||||
<files>
|
||||
<file xil_pn:name="src/mojo.ucf" xil_pn:type="FILE_UCF">
|
||||
<file xil_pn:name="src/constraints.ucf" xil_pn:type="FILE_UCF">
|
||||
<association xil_pn:name="Implementation" xil_pn:seqID="0"/>
|
||||
</file>
|
||||
<file xil_pn:name="src/mojo_top.v" xil_pn:type="FILE_VERILOG">
|
||||
<file xil_pn:name="src/main.v" xil_pn:type="FILE_VERILOG">
|
||||
<association xil_pn:name="BehavioralSimulation" xil_pn:seqID="0"/>
|
||||
<association xil_pn:name="Implementation" xil_pn:seqID="12"/>
|
||||
</file>
|
||||
|
@ -91,7 +91,7 @@
|
|||
<property xil_pn:name="Asynchronous To Synchronous" xil_pn:value="false" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Auto Constrain" xil_pn:value="true" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Auto Implementation Compile Order" xil_pn:value="true" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Auto Implementation Top" xil_pn:value="false" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="Auto Implementation Top" xil_pn:value="true" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Automatic BRAM Packing" xil_pn:value="false" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Automatically Insert glbl Module in the Netlist" xil_pn:value="true" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Automatically Run Generate Target PROM/ACE File" xil_pn:value="false" xil_pn:valueState="default"/>
|
||||
|
@ -227,9 +227,9 @@
|
|||
<property xil_pn:name="Ignore Version Check" xil_pn:value="false" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Implementation Start View" xil_pn:value="" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Implementation Stop View" xil_pn:value="AbstractSynthesis" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Implementation Top" xil_pn:value="Module|mojo_top" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="Implementation Top File" xil_pn:value="../src/mojo_top.v" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="Implementation Top Instance Path" xil_pn:value="/mojo_top" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="Implementation Top" xil_pn:value="Module|main" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="Implementation Top File" xil_pn:value="../src/main.v" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="Implementation Top Instance Path" xil_pn:value="/main" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="Include 'uselib Directive in Verilog File" xil_pn:value="false" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Include SIMPRIM Models in Verilog File" xil_pn:value="false" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="Include UNISIM Models in Verilog File" xil_pn:value="false" xil_pn:valueState="default"/>
|
||||
|
@ -534,7 +534,7 @@
|
|||
</properties>
|
||||
|
||||
<bindings>
|
||||
<binding xil_pn:location="/mojo_top" xil_pn:name="src/mojo.ucf"/>
|
||||
<binding xil_pn:location="/mojo_top" xil_pn:name="src/constraints.ucf"/>
|
||||
</bindings>
|
||||
|
||||
<libraries/>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<symbol version="7" name="microblaze_mcs">
|
||||
<symboltype>BLOCK</symboltype>
|
||||
<timestamp>2020-9-19T21:31:27</timestamp>
|
||||
<timestamp>2020-9-20T19:27:36</timestamp>
|
||||
<pin polarity="Input" x="0" y="80" name="clk" />
|
||||
<pin polarity="Input" x="0" y="112" name="reset" />
|
||||
<pin polarity="Output" x="768" y="656" name="gpi2_interrupt" />
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
// \ \ \/ Version: P.20131013
|
||||
// \ \ Application: netgen
|
||||
// / / Filename: microblaze_mcs.v
|
||||
// /___/ /\ Timestamp: Sat Sep 19 23:31:27 2020
|
||||
// /___/ /\ Timestamp: Sun Sep 20 21:27:36 2020
|
||||
// \ \ / \
|
||||
// \___\/\___\
|
||||
//
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
##############################################################
|
||||
#
|
||||
# Xilinx Core Generator version 14.7
|
||||
# Date: Sat Sep 19 21:29:32 2020
|
||||
# Date: Sun Sep 20 19:25:41 2020
|
||||
#
|
||||
##############################################################
|
||||
#
|
||||
|
|
|
@ -66,8 +66,8 @@
|
|||
<!-- -->
|
||||
<property xil_pn:name="PROP_DesignName" xil_pn:value="microblaze_mcs" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="PROP_DevFamilyPMName" xil_pn:value="spartan6" xil_pn:valueState="default"/>
|
||||
<property xil_pn:name="PROP_intProjectCreationTimestamp" xil_pn:value="2020-09-19T23:31:29" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="PROP_intWbtProjectID" xil_pn:value="1A4700C997163E3885C0799E1A4F1889" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="PROP_intProjectCreationTimestamp" xil_pn:value="2020-09-20T21:27:37" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="PROP_intWbtProjectID" xil_pn:value="044D6B7A37DFFF9EFD796E528492BD84" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="PROP_intWorkingDirLocWRTProjDir" xil_pn:value="Same" xil_pn:valueState="non-default"/>
|
||||
<property xil_pn:name="PROP_intWorkingDirUsed" xil_pn:value="No" xil_pn:valueState="non-default"/>
|
||||
</properties>
|
||||
|
|
|
@ -20,14 +20,14 @@ ADDRESS_MAP microblaze_mcs MICROBLAZE-LE 100
|
|||
|
||||
ADDRESS_SPACE lmb_bram RAMB16 [0x00000000:0x00003FFF]
|
||||
BUS_BLOCK
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[0].RAMB16_S4_1 RAMB16 [31:28] [0:4095] INPUT = microblaze_mcs.lmb_bram_0.mem PLACED = X0Y16;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[1].RAMB16_S4_1 RAMB16 [27:24] [0:4095] INPUT = microblaze_mcs.lmb_bram_1.mem PLACED = X0Y20;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[2].RAMB16_S4_1 RAMB16 [23:20] [0:4095] INPUT = microblaze_mcs.lmb_bram_2.mem PLACED = X0Y14;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[3].RAMB16_S4_1 RAMB16 [19:16] [0:4095] INPUT = microblaze_mcs.lmb_bram_3.mem PLACED = X0Y18;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[4].RAMB16_S4_1 RAMB16 [15:12] [0:4095] INPUT = microblaze_mcs.lmb_bram_4.mem PLACED = X0Y24;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[5].RAMB16_S4_1 RAMB16 [11:8] [0:4095] INPUT = microblaze_mcs.lmb_bram_5.mem PLACED = X0Y26;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[6].RAMB16_S4_1 RAMB16 [7:4] [0:4095] INPUT = microblaze_mcs.lmb_bram_6.mem PLACED = X0Y28;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[7].RAMB16_S4_1 RAMB16 [3:0] [0:4095] INPUT = microblaze_mcs.lmb_bram_7.mem PLACED = X0Y22;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[0].RAMB16_S4_1 RAMB16 [31:28] [0:4095] INPUT = microblaze_mcs.lmb_bram_0.mem PLACED = X1Y18;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[1].RAMB16_S4_1 RAMB16 [27:24] [0:4095] INPUT = microblaze_mcs.lmb_bram_1.mem PLACED = X1Y24;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[2].RAMB16_S4_1 RAMB16 [23:20] [0:4095] INPUT = microblaze_mcs.lmb_bram_2.mem PLACED = X1Y8;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[3].RAMB16_S4_1 RAMB16 [19:16] [0:4095] INPUT = microblaze_mcs.lmb_bram_3.mem PLACED = X1Y28;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[4].RAMB16_S4_1 RAMB16 [15:12] [0:4095] INPUT = microblaze_mcs.lmb_bram_4.mem PLACED = X1Y20;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[5].RAMB16_S4_1 RAMB16 [11:8] [0:4095] INPUT = microblaze_mcs.lmb_bram_5.mem PLACED = X1Y26;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[6].RAMB16_S4_1 RAMB16 [7:4] [0:4095] INPUT = microblaze_mcs.lmb_bram_6.mem PLACED = X1Y16;
|
||||
mcs_0/U0/lmb_bram_I/RAM_Inst/Using_B16_S4.The_BRAMs[7].RAMB16_S4_1 RAMB16 [3:0] [0:4095] INPUT = microblaze_mcs.lmb_bram_7.mem PLACED = X1Y22;
|
||||
END_BUS_BLOCK;
|
||||
END_ADDRESS_SPACE;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
|
||||
<EDKSYSTEM EDKVERSION="14.5" EDWVERSION="1.2" TIMESTAMP="Sat Sep 19 23:31:26 2020">
|
||||
<EDKSYSTEM EDKVERSION="14.5" EDWVERSION="1.2" TIMESTAMP="Sun Sep 20 21:27:35 2020">
|
||||
|
||||
<SYSTEMINFO ARCH="spartan6" DEVICE="xc6slx9" PACKAGE="tqg144" PART="xc6slx9tqg144-2" SOURCE="" SPEEDGRADE="-2"/>
|
||||
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
// Mem file initialization records.
|
||||
//
|
||||
// Release 14.6 - Data2MEM P.20131013, build 3.0.10 Apr 3, 2013
|
||||
// Copyright (c) 1995-2020 Xilinx, Inc. All rights reserved.
|
||||
//
|
||||
// Command: data2mem -p "xc6slx9tqg144-2" -bm /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm -bd /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf tag microblaze_mcs -bx . -u
|
||||
//
|
||||
// Created on Sunday September 13, 2020 - 01:15:48 am, from:
|
||||
//
|
||||
// Map file - /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm
|
||||
// Data file(s) - /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf
|
||||
//
|
||||
// Address space 'microblaze_mcs.lmb_bram', bit lane [31:28].
|
||||
//
|
||||
// Bus width = 32 bits, number of bus blocks = 1.
|
||||
|
||||
@00000000
|
||||
B B B B B B 0 0 B B
|
||||
|
||||
@00000014
|
||||
B 3 B 3 B 3 B B 8 B B 3 B B E 3 F B F B 3 B 3 B E 1 1 9 9 3 1 B 3 1 1 B 3 E B F 9 8 B E 1 B 3 B 3 B B 3 9 8 3 B F E E B 3 B 3 3
|
||||
B F B 3 B 3 9 8 B E B E B 3 B B 3 9 8 E B 3 2 F B 2 B 2 0 B F 2 0 B B 2 B 2 0 B F 2 0 B B B 8 B B 8 2 2 B B 2 3 B B 8 B B 8 C 3
|
||||
B 2 2 9 B 8 B 8 B 2 F 9 A 9 E B 2 3 1 F F B B 1 B E E B 9 1 B B 1 3 F B E F F F 1 1 B 3 F F F F F F F F 3 3 E B 1 E 3 B E B B B
|
||||
3 B 3 1 1 C 8 B 3 E 1 3 1 8 B C D B E A 1 B 1 3 B 1 8 B E 8 B 1 1 9 C E 8 B E 8 B 3 B 3 B E E E E E E E E E E E E B 3 9 8 B E F
|
||||
B 1 1 1 9 C B E B 3 1 1 3 1 8 B C D B E A 1 B 1 3 B 1 8 B E 8 B 1 1 1 9 C E 8 B E 8 B 3 B 3 E 1 1 3 1 8 B C F B 1 1 F B 9 8 E 8
|
||||
B E 8 B 3 B E 3 1 1 3 1 8 B C B D 9 8 B E 1 9 C B E E B E B B F B B 1 B B 1 E B E B E E 1 B 1 B E 3 F A B F B 3 9 8 E A B 3 E E
|
||||
B 3 3 F 1 F B E 3 B F 1 E 3 B 8 3 F 1 F B F 8 B E E 1 B 1 E 3 B 8 3 F F 1 B 3 1 B B 8 B 3 1 B B 8 B 3 B B 8 B 3 3 B 3 1 B B 8 B
|
||||
3 3 B B 8 B B 8 F E E 3 F B 3 3 1 B B 8 3 B B 8 B 3 F F F F F F F F F F B 3 F F F 9 E E F F 9 8 E E E 9 E E E E E E E E E E E E
|
||||
B 3 B 3 F B F 3 F 1 1 1 1 1 1 1 1 F F F F F B 3 E 3 1 E 3 1 1 1 A 3 9 B 3 C B 1 E 8 B F 9 E E 8 B E F E E E A F B E B 1 B 3 E E
|
||||
E E E E B 3 3 B F E B F 3 F E B 3 B 3 B B 3 E 3 B F B 3 3 B F E B F B A B B 3 B B 3 3 B F E 1 B 3 B 3 F E 1 B 3 B 3 B B 3 3 B F
|
||||
B E 3 B F B F 3 1 B B E B A B 1 B 3 B B 3 3 B F E 1 B 3 E 3 1 1 1 1 1 1 D F E 1 B 3 B 3 B B 3 E 3 B F 1 B 3 B 3 B B 3 3 B F B E
|
||||
B 3 B B 3 3 B F B E 3 B F B F 3 1 B E B A B 1 B 3 B B 3 3 B F E B 3 1 B 3 E E E 8 F F E B 3 B 3 B B 3 E 3 B F B 3 B 3 B B 3 3 B
|
||||
F B E 3 B F E B F B A B 3 3 1 B 3 E 1 3 1 1 D 1 D E B 3 B 3 B B 3 E 3 B F B 3 B 3 B B 3 E 3 B F B 3 B 3 B B 3 3 B F B E 3 F F B
|
||||
1 B E B F 8 B 3 E E B 3 B 3 B B 3 3 B F B 1 3 1 1 1 1 3 1 E 1 1 3 1 A 1 B 3 B E F F F D 3 D E D 3 D F B 3 B 3 F E E B 3 3 F F F
|
||||
B 1 E B F B A B 3 B E B 3 8 B 3 3 E E E B 3 B 3 B B 3 3 B F B 1 F F B E F 3 F F B E B 3 3 F B E F B E F B E B F B B F B F 1 B A
|
||||
1 1 1 B 3 3 E 1 1 3 1 1 3 A B 8 B 3 1 1 B F B F B F 1 B A F E 3 F E F F F B E A B 1 B B 1 1 B 3 B B 1 B E B 3 1 F F E E E B 3 E
|
||||
3 F B E E 1 A 3 1 A 3 3 D A B A B B 3 3 F B B 3 E 3 B F B 3 3 B F B 3 E E F B 3 A F F F F F F F F B F F B B F E 1 B 3 B 3 B B 3
|
||||
E 3 B F 1 B 3 B E 3 B F 9 8 B E B E B 3 B B 8 B E 3 B F 9 8 B E B E B 3 B 3 B F E B F B A B B 3 B B 3 3 B F E B 3 F F F F F F F
|
||||
E B 3 B 3 B B 3 3 B F B E 3 D 3 9 3 9 B B 8 B B 8 C B 3 3 D B B 8 C B 3 F 0 F 0 6 6 0 6 6 6 6 0 6 6 7 2 0 0
|
||||
|
||||
@000004CC
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 8 C 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
@ -1,43 +0,0 @@
|
|||
// Mem file initialization records.
|
||||
//
|
||||
// Release 14.6 - Data2MEM P.20131013, build 3.0.10 Apr 3, 2013
|
||||
// Copyright (c) 1995-2020 Xilinx, Inc. All rights reserved.
|
||||
//
|
||||
// Command: data2mem -p "xc6slx9tqg144-2" -bm /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm -bd /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf tag microblaze_mcs -bx . -u
|
||||
//
|
||||
// Created on Sunday September 13, 2020 - 01:15:48 am, from:
|
||||
//
|
||||
// Map file - /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm
|
||||
// Data file(s) - /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf
|
||||
//
|
||||
// Address space 'microblaze_mcs.lmb_bram', bit lane [27:24].
|
||||
//
|
||||
// Bus width = 32 bits, number of bus blocks = 1.
|
||||
|
||||
@00000000
|
||||
0 8 0 8 0 8 0 0 0 8
|
||||
|
||||
@00000014
|
||||
0 1 0 0 0 0 0 9 0 0 9 0 8 0 0 0 9 E A 0 0 0 0 0 8 4 2 2 2 2 6 E 0 0 0 0 0 8 0 8 9 0 0 8 6 E 0 0 0 C 0 0 9 0 0 0 0 9 A 6 0 0 0 0
|
||||
E 9 0 0 0 0 9 0 0 8 E 9 0 0 C 0 0 9 0 9 6 0 0 9 0 0 0 0 6 C 8 0 6 C 0 0 0 0 6 C 8 0 6 C 0 9 0 0 9 0 0 0 0 9 0 2 0 9 0 0 9 0 9 0
|
||||
6 0 1 8 6 0 6 0 8 0 9 5 1 4 9 6 0 0 0 A 9 0 9 2 0 8 8 C 9 0 0 9 0 0 B 0 B B B B 3 3 0 3 B B 9 A A A B B 3 3 A E 3 8 2 E A C C 8
|
||||
2 C 0 0 0 8 8 E 0 B 0 0 0 9 E 8 8 C 8 6 0 E 0 2 E 0 4 C 8 4 E 0 0 9 8 8 B C 8 8 E 2 E 0 C 9 A A A B B B B B B B B 6 0 9 0 8 8 8
|
||||
8 3 0 0 9 8 8 8 E 0 3 0 0 0 8 E 8 8 C 8 6 0 E 0 2 E 0 4 C 8 4 E 0 0 0 9 8 8 8 C 8 8 C 2 E 0 8 0 3 0 0 8 E 8 8 8 3 3 8 C 9 0 8 8
|
||||
C 8 8 C 2 C 8 0 3 0 0 0 8 E 8 8 8 9 0 8 8 0 9 8 8 8 8 C 8 C E 8 0 9 0 0 9 0 A E 9 8 A 8 3 8 2 0 8 0 9 8 E A 0 2 9 0 8 8 E 2 9 A
|
||||
6 0 0 A 2 8 0 8 0 0 8 0 A 0 6 0 0 A 2 8 0 8 0 0 8 8 6 C 0 A 0 6 0 0 9 A 2 0 0 0 0 9 0 0 0 0 0 9 0 0 0 0 9 0 0 0 0 0 0 1 0 9 0 0
|
||||
0 0 0 9 0 0 9 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 9 0 8 0 9 8 8 8 8 8 8 9 9 9 0 0 9 9 A 5 8 8 A 9 9 0 9 9 8 4 8 8 8 8 8 9 9 9 9 9 A A
|
||||
6 0 0 0 8 6 8 0 A 2 2 2 2 2 2 2 2 A B B 9 A 0 2 8 3 3 A 2 0 0 0 4 0 2 E 3 8 E 0 8 4 C A 9 8 8 4 C 8 A 8 8 8 8 8 E 9 E 2 E 3 9 A
|
||||
A A B B 6 0 0 E 9 8 0 8 0 8 9 6 0 0 0 0 9 0 9 0 0 8 6 0 0 E 9 8 0 8 0 8 C 0 0 0 9 0 0 0 8 9 0 6 0 0 0 8 9 0 6 0 0 0 0 9 0 0 0 8
|
||||
8 9 0 E 9 0 8 0 6 C C 8 0 8 E 0 0 0 0 9 0 0 0 8 9 0 6 0 8 0 0 0 0 0 0 0 9 8 9 0 6 0 0 0 0 9 0 9 0 0 8 0 6 0 0 0 0 9 0 0 0 8 8 9
|
||||
0 0 0 9 0 0 0 8 8 9 0 E 9 0 8 0 6 C 8 0 8 E 0 0 0 0 9 0 0 0 8 9 6 0 0 0 0 8 8 8 0 8 8 9 6 0 0 0 0 9 0 9 0 0 8 6 0 0 0 0 9 0 0 0
|
||||
8 8 9 0 E 9 8 0 8 0 8 E 0 0 6 E 0 8 0 0 0 0 8 0 8 9 6 0 0 0 0 9 0 9 0 0 8 6 0 0 0 0 9 0 9 0 0 8 6 0 0 0 0 9 0 0 0 8 8 9 0 A 9 E
|
||||
2 0 4 0 8 8 E 0 9 A 6 0 0 0 0 9 0 0 0 8 8 0 0 0 0 0 0 0 1 0 0 1 0 0 4 0 E 0 0 9 8 8 9 8 1 8 9 8 0 8 0 E 0 0 0 8 9 A 6 0 0 A 9 A
|
||||
E 2 8 0 8 0 8 E 0 0 4 0 0 8 E 0 0 9 A A 6 0 0 0 0 9 0 0 0 8 8 0 8 8 0 9 8 0 8 9 0 8 0 1 0 8 0 9 9 0 8 8 0 A 8 A C 0 8 0 A 0 E 4
|
||||
0 1 1 0 1 1 9 1 1 0 1 1 0 4 E 9 0 1 0 0 0 8 0 9 0 A 0 E 4 8 8 0 8 8 8 8 8 0 8 8 E 0 0 9 0 0 0 0 0 9 0 0 8 0 1 0 8 9 9 A A 6 0 8
|
||||
0 8 0 9 8 0 5 0 0 1 0 0 9 4 E 4 8 0 0 0 9 0 9 0 9 0 0 8 6 0 0 E 9 0 0 8 8 8 0 0 4 8 8 8 8 8 8 8 8 0 8 8 0 9 8 9 0 6 0 0 0 0 9 0
|
||||
9 0 0 8 0 6 0 0 8 0 E 9 9 0 0 8 E 9 6 0 8 6 0 0 8 0 E 9 9 0 0 8 E 9 6 0 8 0 E 9 8 0 8 0 8 C 0 0 0 9 0 0 0 8 9 6 0 8 8 8 8 8 8 8
|
||||
9 6 0 0 0 0 9 0 0 0 8 8 9 0 9 1 4 1 4 0 9 0 0 9 0 9 6 0 0 9 0 9 0 9 6 0 F 0 F 0 D C 0 D C 1 3 0 D C 4 E 0 0
|
||||
|
||||
@000004CC
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 5 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
@ -1,43 +0,0 @@
|
|||
// Mem file initialization records.
|
||||
//
|
||||
// Release 14.6 - Data2MEM P.20131013, build 3.0.10 Apr 3, 2013
|
||||
// Copyright (c) 1995-2020 Xilinx, Inc. All rights reserved.
|
||||
//
|
||||
// Command: data2mem -p "xc6slx9tqg144-2" -bm /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm -bd /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf tag microblaze_mcs -bx . -u
|
||||
//
|
||||
// Created on Sunday September 13, 2020 - 01:15:48 am, from:
|
||||
//
|
||||
// Map file - /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm
|
||||
// Data file(s) - /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf
|
||||
//
|
||||
// Address space 'microblaze_mcs.lmb_bram', bit lane [23:20].
|
||||
//
|
||||
// Bus width = 32 bits, number of bus blocks = 1.
|
||||
|
||||
@00000000
|
||||
0 0 0 0 0 0 0 0 0 0
|
||||
|
||||
@00000014
|
||||
0 A 0 4 0 2 0 F 0 0 F A 0 0 6 2 E 2 6 0 8 0 A 0 6 8 6 6 7 7 5 B 6 8 8 0 8 8 0 6 F 0 0 6 5 5 6 0 6 0 0 A F 0 6 0 6 E 6 0 2 0 6 2
|
||||
0 E 0 A 0 C F 0 0 6 0 E 0 6 0 0 A F 0 E 0 2 2 E 0 C 0 E 4 7 0 C 4 9 0 C 0 E 4 7 0 C 4 9 0 F 0 0 F 0 C E 0 F A 6 0 F 0 0 F 0 E 7
|
||||
0 2 6 0 0 0 0 0 0 2 8 8 8 0 8 0 2 2 C 6 E 0 F 6 0 8 6 0 F A 0 F B 2 8 0 8 2 C E C 2 0 E 6 A E 6 C E 0 4 B 6 D 1 5 7 6 5 F 1 3 0
|
||||
7 5 7 6 6 6 6 2 9 1 8 D E 0 0 8 6 0 D 5 6 1 6 5 3 6 C 0 B 6 0 7 6 F A 7 0 3 7 6 2 7 B 7 3 E 6 C E 0 2 4 6 8 A C E 0 2 F 0 1 7 D
|
||||
1 0 6 B F C 1 7 1 9 0 8 6 8 C 0 E 0 0 9 5 6 1 6 5 3 6 8 0 9 6 2 7 6 B F C 7 6 2 7 6 2 7 5 9 7 8 0 6 8 C 2 E 7 1 0 0 7 0 F 0 7 6
|
||||
2 7 6 2 7 5 7 9 0 8 6 8 A 0 C 1 0 F 0 1 7 6 F A 1 7 7 2 7 0 1 7 0 F B 0 F B D 3 E 1 6 7 5 1 C 0 6 2 E 8 0 6 0 6 F 0 7 8 2 7 E 6
|
||||
0 2 2 6 6 B 0 6 6 0 6 3 6 2 0 0 2 6 6 B 0 0 0 0 8 7 4 5 3 6 2 0 0 2 E 6 6 0 A C 0 F 0 0 A C 0 F 0 0 A 0 F 0 0 A C 0 E 0 0 F 0 0
|
||||
A C 0 F 0 0 F 0 1 7 9 8 9 0 A C E 0 F 0 A 0 F 0 0 2 E 2 6 8 A C E 0 2 4 0 6 6 8 2 6 8 A 4 6 F 0 E 6 2 0 6 8 A C E 0 2 4 6 8 2 4
|
||||
2 2 0 6 A 0 C 2 6 6 7 7 7 7 6 7 7 C 0 2 E E 0 7 9 2 0 E C 7 6 6 B 6 F 0 3 C 0 7 B B 0 C F A 7 7 2 7 C 9 7 A 6 A 0 E 1 D 3 1 E 6
|
||||
C E 0 2 0 2 2 0 E 6 0 0 6 6 E 0 2 0 A 0 F C E 6 0 6 0 2 2 0 E 6 0 0 0 6 0 0 A 0 F C 6 0 6 E 6 0 2 0 6 6 E 6 0 2 0 A 0 F C 6 0 6
|
||||
1 E 2 0 E 0 0 6 4 5 0 6 0 6 0 8 0 A 0 F C 6 0 6 E 6 0 2 6 C 8 C 8 C 8 C 0 E E 6 0 2 0 A 0 F C E 6 0 6 6 0 2 0 A 0 F C 6 0 6 1 E
|
||||
0 A 0 F C 6 0 6 1 E 2 0 E 0 0 6 4 5 6 0 6 0 C 0 A 0 F C 6 0 6 E 0 2 C 0 C 6 C 8 6 6 6 E 0 2 0 A 0 F C E 6 0 6 0 2 0 A 0 F C 6 0
|
||||
6 1 E 2 0 E 6 0 0 0 6 2 8 6 4 5 6 8 6 C 6 C E C E E 0 2 0 A 0 F C E 6 0 6 0 2 0 A 0 F C E 6 0 6 0 2 0 A 0 F C 6 0 6 1 E 2 6 E 0
|
||||
6 0 8 0 0 C 0 6 E 6 0 2 0 A 0 F C 6 0 6 1 7 6 8 8 8 F A 0 8 A 2 A A 8 A 2 6 0 4 9 9 5 8 2 8 3 8 A 8 8 2 C 0 8 9 E 6 0 2 2 6 E C
|
||||
0 6 8 0 0 0 8 0 6 0 8 0 6 8 0 E 6 E 6 C 0 2 0 A 0 F C 6 0 6 1 7 8 8 0 0 6 A A 1 0 6 0 8 A 7 0 0 1 0 6 7 0 C 1 D 0 0 E 0 6 E 0 8
|
||||
6 0 0 0 0 2 0 2 2 A 2 4 8 A 2 6 0 0 6 6 0 E 0 0 0 6 E 2 8 B 7 8 A 7 8 B B 0 6 6 0 6 0 F B B 0 C 0 F E 0 A 0 0 6 B 1 E 6 C 0 2 F
|
||||
8 A 0 0 F A 0 E A 0 8 6 0 8 2 6 0 0 A 2 E 0 F C E 6 0 6 0 2 2 0 E 0 E 8 C E 0 E 8 0 E E 0 0 0 0 0 0 0 8 0 F 8 E 6 0 2 0 A 0 F C
|
||||
E 6 0 6 6 0 2 0 6 2 0 E F 0 0 6 2 E 0 2 0 0 0 0 6 2 0 E F 0 0 6 2 E 0 2 0 2 0 E 6 0 0 0 6 0 0 A 0 F C 6 0 6 E 0 2 6 6 6 6 6 6 6
|
||||
E 0 2 0 A 0 F C 6 0 6 1 E 2 E 6 0 6 0 0 F 0 0 F 0 E 0 2 2 E 0 F 0 E 0 2 F 0 F 0 6 7 6 6 7 7 2 0 6 7 7 7 0 0
|
||||
|
||||
@000004CC
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 F 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
@ -1,43 +0,0 @@
|
|||
// Mem file initialization records.
|
||||
//
|
||||
// Release 14.6 - Data2MEM P.20131013, build 3.0.10 Apr 3, 2013
|
||||
// Copyright (c) 1995-2020 Xilinx, Inc. All rights reserved.
|
||||
//
|
||||
// Command: data2mem -p "xc6slx9tqg144-2" -bm /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm -bd /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf tag microblaze_mcs -bx . -u
|
||||
//
|
||||
// Created on Sunday September 13, 2020 - 01:15:48 am, from:
|
||||
//
|
||||
// Map file - /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm
|
||||
// Data file(s) - /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf
|
||||
//
|
||||
// Address space 'microblaze_mcs.lmb_bram', bit lane [19:16].
|
||||
//
|
||||
// Bus width = 32 bits, number of bus blocks = 1.
|
||||
|
||||
@00000000
|
||||
0 8 0 8 0 8 0 0 0 8
|
||||
|
||||
@00000014
|
||||
0 0 0 0 0 0 0 4 0 0 4 3 0 0 0 1 1 3 1 0 0 0 0 0 0 4 0 4 3 3 3 2 3 3 4 0 4 4 0 0 C 0 0 0 3 2 3 0 0 3 0 0 C 0 0 0 0 1 1 F 1 0 0 1
|
||||
3 1 0 0 0 0 C 0 0 0 3 1 0 0 3 0 0 C 0 1 F 1 1 1 0 0 0 0 6 2 6 6 6 2 0 0 0 0 6 2 6 6 6 2 0 4 0 0 4 0 0 0 0 4 0 3 0 4 0 0 4 0 1 3
|
||||
F 1 B 8 F 0 F 0 0 1 1 0 C C 1 F 1 1 0 1 1 0 4 5 0 0 4 3 C 4 0 4 3 1 1 0 0 1 1 1 5 6 0 0 1 1 1 1 1 1 1 1 C 0 C 6 D 6 3 3 6 9 7 0
|
||||
3 3 3 3 3 3 3 3 3 6 4 8 4 6 8 7 7 4 7 3 0 2 3 2 2 3 3 6 7 3 3 3 3 C 3 6 3 8 A 3 3 3 3 3 F 1 1 1 1 1 1 1 1 1 1 1 1 F 1 C 0 0 6 6
|
||||
0 6 3 E C 3 0 6 7 3 3 4 3 4 3 6 4 4 7 7 3 0 2 3 2 2 3 3 4 7 3 3 3 3 E C 3 6 3 3 A 3 3 3 3 3 6 4 3 3 4 3 6 4 6 0 3 3 6 6 C 0 6 3
|
||||
3 A 3 3 3 3 6 3 3 4 3 4 3 5 4 0 4 C 0 0 6 3 C 3 0 6 6 3 6 3 7 A 0 4 7 0 4 6 A 6 1 0 1 6 6 0 3 0 0 1 1 3 4 1 0 0 C 0 3 3 4 3 1 1
|
||||
F 1 1 1 1 3 0 0 3 0 0 3 1 1 F 0 1 1 1 3 0 0 0 0 0 3 3 2 3 1 1 F 0 1 1 1 1 0 0 0 0 4 0 0 0 0 0 4 0 0 0 0 4 0 0 0 0 0 0 0 0 4 0 0
|
||||
0 0 0 4 0 0 4 0 3 3 3 4 3 0 0 0 3 0 4 0 0 0 4 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 3 3 1 1 C 0 1 1 1 B 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
E 1 0 0 3 F 3 1 1 5 3 3 3 3 5 3 3 1 1 1 1 1 0 3 3 0 0 4 0 8 3 3 7 3 7 5 9 3 6 3 3 6 5 4 C 3 3 6 3 3 3 3 3 4 3 1 3 1 7 6 9 8 1 1
|
||||
1 1 1 1 F 1 1 5 1 5 0 0 3 5 1 F 1 0 0 0 4 0 1 0 0 0 F 1 1 5 1 5 0 0 0 3 3 0 0 0 4 0 0 0 0 1 0 F 1 0 0 5 1 0 F 1 0 0 0 4 0 0 0 0
|
||||
0 1 1 5 1 0 0 0 6 2 7 5 0 3 3 6 0 0 0 4 0 0 0 0 1 0 F 1 5 6 4 6 4 6 3 6 6 4 1 0 F 1 0 0 0 4 0 1 0 0 0 0 F 1 0 0 0 4 0 0 0 0 0 1
|
||||
0 0 0 4 0 0 0 0 0 1 1 5 1 0 0 0 6 2 5 0 3 3 6 0 0 0 4 0 0 0 0 1 F 1 6 0 6 6 5 5 3 4 5 1 F 1 0 0 0 4 0 1 0 0 0 F 1 0 0 0 4 0 0 0
|
||||
0 0 1 1 5 1 5 0 0 0 3 3 6 0 4 2 6 5 3 6 3 6 4 6 6 1 F 1 0 0 0 4 0 1 0 0 0 F 1 0 0 0 4 0 1 0 0 0 F 1 0 0 0 4 0 0 0 0 0 1 1 1 1 5
|
||||
5 0 0 0 0 4 6 0 1 1 F 1 0 0 0 4 0 0 0 0 0 3 0 6 4 4 3 6 4 7 5 5 6 5 4 5 4 3 0 0 3 3 3 9 A 8 3 5 9 8 7 3 6 0 0 3 1 1 F 1 1 1 1 1
|
||||
5 5 5 0 0 0 4 4 0 0 0 0 0 4 4 0 0 1 1 1 F 1 0 0 0 4 0 0 0 0 0 3 5 5 0 0 5 0 3 3 0 0 0 0 0 3 0 0 3 0 0 3 0 0 0 3 B 0 A 0 9 7 5 4
|
||||
4 3 8 0 8 4 8 9 9 5 9 3 4 5 8 8 0 0 3 3 0 A 0 3 0 9 7 5 4 6 3 0 3 3 3 3 3 0 0 3 3 5 0 4 3 3 0 0 0 4 0 0 0 0 0 0 3 3 1 1 1 F 1 3
|
||||
0 7 0 0 3 3 8 7 5 8 4 3 5 4 4 3 0 0 0 1 1 0 4 0 1 0 0 0 F 1 1 5 1 0 0 5 5 5 0 0 4 5 5 5 5 5 5 5 5 0 0 6 0 4 5 1 0 F 1 0 0 0 4 0
|
||||
1 0 0 0 0 F 1 0 0 1 3 1 C 0 0 0 3 1 F 1 0 F 0 0 0 1 3 1 C 0 0 0 3 1 F 1 0 1 5 1 5 0 0 0 3 3 0 0 0 4 0 0 0 0 1 F 1 5 5 5 5 5 5 5
|
||||
1 F 1 0 0 0 4 0 0 0 0 0 1 1 0 0 B 0 B 0 4 0 0 4 0 0 F 1 1 0 0 4 0 0 F 1 F 0 F 0 F 5 3 F 5 5 E 0 F 5 3 3 0 0
|
||||
|
||||
@000004CC
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 5 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
@ -1,43 +0,0 @@
|
|||
// Mem file initialization records.
|
||||
//
|
||||
// Release 14.6 - Data2MEM P.20131013, build 3.0.10 Apr 3, 2013
|
||||
// Copyright (c) 1995-2020 Xilinx, Inc. All rights reserved.
|
||||
//
|
||||
// Command: data2mem -p "xc6slx9tqg144-2" -bm /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm -bd /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf tag microblaze_mcs -bx . -u
|
||||
//
|
||||
// Created on Sunday September 13, 2020 - 01:15:48 am, from:
|
||||
//
|
||||
// Map file - /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm
|
||||
// Data file(s) - /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf
|
||||
//
|
||||
// Address space 'microblaze_mcs.lmb_bram', bit lane [15:12].
|
||||
//
|
||||
// Bus width = 32 bits, number of bus blocks = 1.
|
||||
|
||||
@00000000
|
||||
0 0 0 0 0 0 0 0 0 0
|
||||
|
||||
@00000014
|
||||
0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 F 0 0 0 0 1 0 1 0 1 2 2 0 0 F 1 0 0 1 2 0 1 0 0 1 2 0 0 1 1 F 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 F
|
||||
0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 F 0 0 1 0 1 3 0 0 0 3 F 0 1 0 1 3 0 0 0 3 F 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
|
||||
0 0 0 5 0 0 0 0 0 F 0 8 0 C 0 0 0 F 0 0 0 0 0 0 0 1 0 0 1 0 F F 0 F 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F 0 0 0 0 0
|
||||
F 0 0 1 1 B C F 0 0 2 F 2 9 0 B B F 0 0 D 0 0 F F 1 3 0 0 2 0 9 1 2 B 0 C F 0 B F F F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 F 0 0
|
||||
F 0 1 0 2 B F 0 0 0 0 2 F 2 9 0 B B 0 0 0 D 0 0 F F 1 2 0 0 2 0 9 1 0 3 B 0 C F 0 B F F F 0 0 2 0 F 2 9 F B 0 F 0 0 0 0 3 0 0 C
|
||||
F 0 B F F F 0 0 0 2 F 2 9 F B F B 3 0 F 0 1 3 B F 0 0 0 0 0 0 0 F F 0 F F 0 0 F 0 F 0 0 0 F 0 0 1 F 0 F 0 0 0 1 1 0 F F F F 0 0
|
||||
0 0 F 0 0 0 0 1 0 0 1 0 0 0 0 0 F 0 0 0 0 1 0 0 1 0 2 F 0 0 0 0 0 F 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
|
||||
1 0 0 0 0 F F 0 0 0 0 0 0 0 1 0 0 0 0 0 0 F F 0 F F 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 8 0 0 0 0 2 0 0 0 0 C 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 0 0 0 F 0 2 9 9 9 9 9 9 9 0 0 0 0 0 0 1 0 0 0 0 0 C 1 1 0 0 0 0 F 9 0 1 0 2 0 0 3 0 0 1 0 0 0 0 0 0 0 0 0 0 0 B F 0 0 0
|
||||
0 0 0 0 0 0 F 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 F 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 2 2 0 0 0 0 0 0 1 0 0 0 0 0 1
|
||||
F 0 F 0 0 0 1 0 1 0 0 0 1 1 0 3 0 1 0 0 0 0 0 1 0 0 0 0 0 0 2 3 2 3 2 3 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 F 0
|
||||
0 1 0 0 0 0 0 1 F 0 F 0 0 0 1 0 1 0 0 1 1 0 3 0 1 0 0 0 0 0 1 0 0 0 3 0 1 0 0 0 3 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0
|
||||
1 F 0 F 0 0 0 0 1 1 1 0 F 0 1 0 0 0 1 0 1 3 1 3 2 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 F 0 F 0 0 0
|
||||
0 0 1 0 1 3 0 0 0 0 0 0 0 1 0 0 0 0 0 1 F 0 0 3 2 2 3 0 2 0 2 2 0 2 0 2 0 F 0 1 0 0 0 9 0 4 0 9 0 2 0 F 0 1 1 0 0 0 0 0 F 0 0 0
|
||||
0 0 0 0 1 2 2 0 0 0 1 0 1 3 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 F 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 3 0 0
|
||||
2 1 4 0 1 0 0 4 4 F 4 1 0 0 F 6 0 0 1 1 0 1 0 1 0 1 3 F 0 0 0 F 0 0 0 0 0 0 1 0 0 0 F F 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 0 1 F 0 2 0 F 0 3 0 F 0 F 0 1 F 0 0 0 0 0 0 0 1 0 0 F 0 0 1 1 0 0 0 0 1 F 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
|
||||
0 0 0 1 0 0 0 0 1 F 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 F 0 0 1 0 0 1 0 0 0 0 0 F 0 0 0 0 1 1 1 0 0 1 F F 0 0 0 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 F F 0 0 0 1 F 0 F 0 F C 0 C F E 0 F F 0 0 0 0 F 0 F E 0 0 0 0 F 0 F 0 6 6 2 6 6 5 7 0 6 6 5 7 0 1 0
|
||||
|
||||
@000004CC
|
||||
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
|
||||
0 0 0 0 0 0 0 0 E 2 0 2 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
|
@ -1,43 +0,0 @@
|
|||
// Mem file initialization records.
|
||||
//
|
||||
// Release 14.6 - Data2MEM P.20131013, build 3.0.10 Apr 3, 2013
|
||||
// Copyright (c) 1995-2020 Xilinx, Inc. All rights reserved.
|
||||
//
|
||||
// Command: data2mem -p "xc6slx9tqg144-2" -bm /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm -bd /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf tag microblaze_mcs -bx . -u
|
||||
//
|
||||
// Created on Sunday September 13, 2020 - 01:15:48 am, from:
|
||||
//
|
||||
// Map file - /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm
|
||||
// Data file(s) - /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf
|
||||
//
|
||||
// Address space 'microblaze_mcs.lmb_bram', bit lane [11:8].
|
||||
//
|
||||
// Bus width = 32 bits, number of bus blocks = 1.
|
||||
|
||||
@00000000
|
||||
0 0 0 2 0 7 0 0 0 2
|
||||
|
||||
@00000014
|
||||
0 4 0 3 0 D 0 1 0 0 2 0 0 0 4 F 0 0 0 0 2 0 2 0 4 8 0 0 0 F 8 0 0 8 0 0 2 0 0 4 0 0 0 4 8 F 0 0 0 0 0 4 8 0 0 0 4 0 0 0 0 0 0 F
|
||||
0 0 0 4 0 4 8 0 0 4 0 0 0 0 0 0 4 8 0 0 0 0 F 0 0 4 0 4 8 0 0 0 8 F 0 4 0 5 8 0 0 0 8 F 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 8 0 0 0 0 0 F 0 0 0 0 0 0 0 F 0 0 0 0 0 0 0 3 0 0 8 0 F D 0 F 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F 0 0 1 0 0
|
||||
F 0 0 8 8 8 8 F 0 0 0 F 0 8 0 0 0 F 1 0 8 0 0 F F 8 0 0 1 8 0 8 8 0 8 0 0 F 0 0 F F F 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F 0 0
|
||||
F 0 8 0 0 8 F 0 0 0 0 0 F 0 8 0 0 0 0 1 0 8 0 0 F F 8 0 0 1 0 0 8 8 0 8 8 0 0 E 0 0 E F F 0 0 0 0 F 0 8 F 0 0 F 0 0 0 0 0 0 0 0
|
||||
D 0 0 D F E 0 0 0 0 F 0 8 F 0 F 0 8 0 F 0 8 8 8 F 0 0 0 0 0 0 0 F A 0 F A 0 0 D 0 E 0 0 0 F 0 0 2 F 0 F 0 0 0 2 8 0 F F F F 0 0
|
||||
0 0 F 0 0 0 0 4 0 0 4 0 0 0 0 0 F 0 0 0 0 4 0 0 4 0 0 F 0 0 0 0 0 F 0 0 0 0 4 0 0 7 0 0 8 0 0 1 0 0 4 0 2 0 0 4 0 0 6 0 0 3 0 0
|
||||
4 0 0 4 0 F B 0 0 0 0 0 0 0 4 0 0 0 4 0 3 F E 0 F F 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 4 0 0 0 F 0 8 8 8 8 8 8 8 8 0 0 0 0 0 0 4 0 0 0 0 0 0 8 8 0 0 0 0 F 8 0 8 0 8 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 F 0 0 0
|
||||
0 0 0 0 0 0 F 0 0 0 0 5 0 0 0 0 0 0 2 0 7 2 0 0 0 5 0 0 F 0 0 0 0 5 1 1 0 0 2 0 7 1 0 0 5 0 0 0 0 2 2 0 0 0 0 0 0 2 0 7 1 0 0 5
|
||||
F 0 F 0 0 0 5 0 8 0 0 0 1 1 0 0 0 2 0 6 1 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 2 0 6 1 0 0 0 5 0 0 0 0 2 0 6 1 0 0 5 F 0
|
||||
0 2 0 6 1 0 0 5 F 0 F 0 0 0 5 0 8 0 0 1 1 0 0 0 2 0 5 1 0 0 5 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 2 0 5 1 0 0 0 5 0 0 0 2 0 5 1 0 0
|
||||
5 F 0 F 0 0 0 0 5 1 1 0 F 0 8 0 0 0 8 0 8 0 8 0 8 0 0 0 0 2 0 4 3 0 0 0 5 0 0 0 2 0 4 3 0 0 0 5 0 0 0 2 0 4 3 0 0 5 F 0 F 0 0 0
|
||||
0 0 4 0 5 0 0 0 0 0 0 0 0 2 0 3 3 0 0 5 F 0 0 0 0 0 0 0 0 0 8 8 0 8 0 8 0 F 0 4 0 0 0 8 0 8 0 8 0 8 0 F 0 1 1 0 0 0 0 0 F 0 0 0
|
||||
0 0 0 0 5 2 2 0 0 0 4 0 4 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 5 F 0 0 0 0 4 0 0 0 0 0 4 0 1 0 0 0 4 0 0 4 0 0 4 0 0 0 0 5 0 4 8 0 0
|
||||
0 8 0 0 4 0 0 8 8 F 8 8 0 0 F 0 0 9 8 8 0 5 0 4 0 4 8 F 0 0 0 F 0 0 0 0 0 0 4 0 0 0 F D 0 0 0 4 0 0 0 0 4 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 4 0 8 F 0 8 0 F 0 8 0 F 0 F 0 2 F 0 0 1 1 0 0 0 5 0 0 F 0 0 1 1 0 0 0 0 0 F 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 2 0 0 0
|
||||
0 0 0 5 0 0 0 0 4 F 0 0 8 0 0 4 0 0 0 0 0 0 0 0 4 F 0 0 8 0 0 4 0 0 0 0 0 F 0 0 0 0 5 1 1 0 0 3 F F 0 0 0 5 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 3 F F 0 0 0 5 F 0 F 8 F 8 0 8 F E 0 F 3 0 8 0 0 F 8 F D 0 8 0 0 F 0 F 0 9 4 E 9 4 F 4 0 9 4 F 4 0 3 0
|
||||
|
||||
@000004CC
|
||||
3 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
|
||||
0 0 0 0 0 0 7 0 1 5 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
|
|
@ -1,43 +0,0 @@
|
|||
// Mem file initialization records.
|
||||
//
|
||||
// Release 14.6 - Data2MEM P.20131013, build 3.0.10 Apr 3, 2013
|
||||
// Copyright (c) 1995-2020 Xilinx, Inc. All rights reserved.
|
||||
//
|
||||
// Command: data2mem -p "xc6slx9tqg144-2" -bm /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm -bd /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf tag microblaze_mcs -bx . -u
|
||||
//
|
||||
// Created on Sunday September 13, 2020 - 01:15:48 am, from:
|
||||
//
|
||||
// Map file - /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm
|
||||
// Data file(s) - /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf
|
||||
//
|
||||
// Address space 'microblaze_mcs.lmb_bram', bit lane [7:4].
|
||||
//
|
||||
// Bus width = 32 bits, number of bus blocks = 1.
|
||||
|
||||
@00000000
|
||||
0 5 0 5 0 B 0 0 0 7
|
||||
|
||||
@00000014
|
||||
0 B 0 3 0 A 0 3 0 0 1 0 0 0 B E 0 A 1 0 E 0 E 0 B 0 0 0 0 F 0 4 0 0 0 0 E 0 0 B 0 0 0 B 0 D 0 0 0 1 0 B 0 0 0 0 B 0 1 0 2 0 0 E
|
||||
2 0 0 B 0 C 0 0 0 B 2 0 0 0 1 0 B 0 0 0 0 1 E 0 0 B 0 B 0 1 0 0 0 F 0 B 0 B 0 1 0 0 0 F 0 6 0 0 7 0 0 0 0 B 0 0 0 8 0 0 2 0 0 0
|
||||
0 1 0 0 0 0 0 0 0 F 0 0 0 0 0 0 0 E 0 1 0 0 2 0 0 2 2 0 0 0 F B 0 B 3 0 2 2 4 4 0 0 0 0 3 3 0 1 2 2 2 3 4 0 4 D 0 0 F C 8 2 1 B
|
||||
F A 2 0 0 0 0 E 0 0 0 F 0 0 C 0 0 B 0 1 0 1 0 F F 0 0 8 0 0 9 0 0 0 0 0 0 4 0 0 3 F 6 2 B 0 1 2 2 2 2 3 3 3 3 4 4 0 4 0 0 9 0 0
|
||||
4 0 0 0 0 0 7 0 F 0 0 0 F 0 0 9 0 0 6 0 1 0 1 0 F F 0 0 D 0 0 D 0 0 0 0 0 0 0 3 0 0 3 F 0 0 0 0 0 F 0 0 7 0 0 6 0 0 0 2 0 0 0 0
|
||||
D 0 0 C F 9 0 0 0 0 F 0 0 B 0 B 0 0 0 4 0 0 0 0 3 0 0 4 0 3 1 0 F 2 0 F 2 0 0 4 0 1 1 0 0 E 0 0 E E 0 F 2 1 0 E 0 0 F F F F 0 1
|
||||
0 2 F 0 0 0 0 D 0 0 D 0 0 0 0 0 F 0 0 0 0 D 0 0 D 0 0 F 0 0 0 0 0 D 0 2 0 0 E 0 0 4 0 0 6 0 0 4 0 0 E 0 A 0 0 E 0 0 5 0 0 1 0 0
|
||||
E 0 0 1 0 F 0 0 1 1 1 0 1 0 E 0 0 0 C 0 E F E 0 C A 0 2 2 2 2 3 3 3 3 4 0 2 4 4 4 0 0 0 5 1 0 0 0 1 2 0 2 2 2 3 3 3 3 4 4 4 4 5
|
||||
0 5 0 2 0 0 0 C 2 0 0 0 0 0 0 0 0 2 2 3 0 2 0 3 0 0 0 3 0 0 0 0 0 4 4 5 F 0 5 0 1 0 0 3 0 0 1 0 0 0 3 0 1 3 0 1 1 0 1 0 8 0 0 2
|
||||
2 2 2 3 0 3 E 2 0 5 0 A 0 5 0 0 1 0 F 0 C 3 0 0 0 A 0 1 E 6 0 0 0 A 1 1 3 0 F 0 7 1 0 0 A 0 0 0 1 2 2 0 0 0 0 1 0 F 0 3 1 0 0 A
|
||||
B 0 E C 0 0 A 0 0 8 D 0 1 1 3 0 0 F 0 D 5 0 0 A 0 0 0 1 0 0 0 0 0 0 0 0 0 4 0 0 0 1 0 F 0 6 5 0 0 0 A 0 0 1 0 F 0 3 5 0 0 A 6 0
|
||||
0 F 0 1 5 0 0 A 4 0 E B 0 0 A 0 0 7 0 1 1 3 0 0 F 0 B B 0 0 A 0 0 1 0 0 8 0 5 0 0 3 5 0 0 1 0 F 0 5 B 0 0 0 A 0 1 0 F 0 2 B 0 0
|
||||
A 7 0 E B 0 0 0 A 1 1 7 F 0 0 3 0 0 0 2 0 0 0 0 0 0 0 1 0 F 0 A 1 0 0 0 A 0 1 0 F 0 7 1 0 0 0 A 0 1 0 F 0 4 1 0 0 A 8 0 E 1 0 3
|
||||
0 0 3 0 A 0 4 0 0 1 0 2 0 F 0 E 4 0 0 A D 0 0 0 0 0 0 1 0 8 0 0 1 0 0 0 3 F 0 3 8 8 0 0 4 0 0 0 4 0 8 9 0 1 1 0 0 1 0 2 D 1 0 2
|
||||
5 0 0 0 A 2 2 2 0 0 3 0 3 0 4 0 0 0 1 2 0 2 0 F 0 B 8 0 0 A C 0 0 0 0 6 0 0 1 9 0 6 0 A 0 9 0 7 9 0 7 9 0 3 2 0 6 0 8 0 3 0 7 F
|
||||
0 0 0 0 3 0 4 0 0 F 0 0 0 F A 0 0 6 0 0 0 8 0 7 0 3 0 9 F 3 0 F 0 0 3 5 6 0 4 0 5 0 F 4 0 0 0 3 0 B 0 0 3 1 1 0 A 0 0 1 2 0 2 0
|
||||
0 0 0 4 0 0 8 8 0 1 F 0 0 F D F 6 0 F E 0 0 0 0 0 0 0 A 0 1 E 7 0 1 1 5 0 0 0 9 F 2 4 4 3 3 3 4 3 0 A 3 0 C 5 0 0 0 1 0 F 0 6 7
|
||||
0 0 0 A 0 0 1 0 D E 1 0 0 0 0 2 1 0 0 1 0 0 0 0 E E 1 0 0 0 0 3 1 0 0 1 0 E 7 0 0 0 A 1 1 3 0 1 F 9 8 0 0 A 0 0 1 1 1 1 1 2 2 2
|
||||
0 0 1 0 1 F 4 8 0 0 A B 0 F 0 F 0 0 0 F A 0 F 6 0 0 0 0 F 0 F B 0 0 0 0 F 0 F 0 7 6 6 7 6 6 7 0 7 6 6 6 6 3 4
|
||||
|
||||
@000004CC
|
||||
3 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A 0 0
|
||||
0 0 0 0 0 0 F 0 0 8 0 2 0 0 0 0 0 0 A 0 A 0 A 0 A 0 A 0 A 0 A 0 A 0
|
|
@ -1,43 +0,0 @@
|
|||
// Mem file initialization records.
|
||||
//
|
||||
// Release 14.6 - Data2MEM P.20131013, build 3.0.10 Apr 3, 2013
|
||||
// Copyright (c) 1995-2020 Xilinx, Inc. All rights reserved.
|
||||
//
|
||||
// Command: data2mem -p "xc6slx9tqg144-2" -bm /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm -bd /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf tag microblaze_mcs -bx . -u
|
||||
//
|
||||
// Created on Sunday September 13, 2020 - 01:15:48 am, from:
|
||||
//
|
||||
// Map file - /home/tim/Projects/fpga/micro_test/ipcore_dir/microblaze_mcs.bmm
|
||||
// Data file(s) - /home/tim/Projects/fpga/micro_test/software/LED_Controller/Debug/LED_Controller.elf
|
||||
//
|
||||
// Address space 'microblaze_mcs.lmb_bram', bit lane [3:0].
|
||||
//
|
||||
// Bus width = 32 bits, number of bus blocks = 1.
|
||||
|
||||
@00000000
|
||||
0 0 0 8 0 4 0 0 0 0
|
||||
|
||||
@00000014
|
||||
0 8 0 0 0 0 0 C 0 0 C 0 0 0 8 0 0 0 C 0 8 0 C 0 C 0 0 1 1 F 3 0 1 0 0 0 8 0 0 C 0 0 0 C 3 0 1 0 0 4 0 8 0 0 1 0 8 0 C 8 0 0 0 4
|
||||
0 0 0 8 0 0 0 0 0 8 8 0 0 0 8 0 8 0 0 0 8 C C 0 0 8 0 8 0 4 0 4 0 4 0 8 0 0 0 4 0 4 0 4 0 4 0 0 4 0 0 0 0 0 0 0 0 C 0 0 0 0 0 0
|
||||
8 4 8 0 8 0 8 0 0 C 0 1 2 1 0 8 4 0 0 C 0 0 C 0 0 4 8 C 0 0 F 4 0 8 8 0 4 C 0 4 0 0 0 0 4 C 0 C 0 4 8 0 8 1 8 8 0 4 F 4 8 C 0 4
|
||||
F C 0 0 0 0 0 4 2 4 0 F 0 0 4 0 0 C 0 F 0 4 0 F C 0 0 0 4 0 0 0 0 0 0 4 0 4 0 0 8 F 4 0 8 0 C 0 4 8 C 0 4 8 C 0 4 8 8 0 0 C 4 4
|
||||
4 0 0 0 0 0 8 4 C 2 0 0 F 0 0 C 0 0 4 0 F 0 4 0 F C 0 0 4 4 0 8 0 0 0 0 0 4 0 C 0 0 0 F 0 2 4 0 0 F 0 0 4 0 4 C 0 0 4 4 0 0 4 0
|
||||
8 0 0 C F C 4 2 0 0 F 0 0 0 0 0 0 0 0 C 4 0 0 0 8 4 4 0 0 C 4 0 F C 0 F 0 0 0 8 0 8 C 0 0 8 0 0 0 0 0 F 8 C 0 0 0 0 C F 0 C 0 C
|
||||
8 0 8 4 0 C 0 8 1 0 8 0 4 8 8 0 8 4 0 C 0 8 0 0 8 C 3 0 0 4 8 8 0 C 0 0 0 0 4 0 0 C 0 0 C 0 0 C 0 0 4 0 0 0 0 4 7 0 8 0 0 4 0 0
|
||||
4 7 0 C 0 F C 0 C C C 1 C 0 4 1 0 0 4 0 8 F 8 0 4 C 0 0 4 8 C 0 4 8 C 0 0 4 4 8 C 1 0 4 0 C 0 0 0 C 0 1 4 8 C 0 4 8 C 0 4 8 C 0
|
||||
0 4 0 4 0 8 4 C 0 0 0 0 0 0 0 0 0 4 C 0 0 8 0 4 4 8 0 4 1 0 0 0 1 4 1 C F 0 0 0 4 0 8 C 0 4 4 0 C 4 C 4 8 4 1 C C 0 0 0 4 1 0 0
|
||||
4 8 C 0 8 4 4 8 0 8 0 8 1 8 0 8 C 0 0 0 C 2 0 1 0 8 8 C 4 C 0 4 0 8 1 1 4 0 0 0 C 5 1 0 8 0 0 8 C 2 2 8 0 0 8 C 0 0 0 0 4 1 0 8
|
||||
8 0 4 C 0 0 8 7 3 4 8 4 1 1 8 0 0 0 0 0 D 1 0 8 0 0 8 C C 9 0 0 0 0 0 0 0 4 0 0 8 C 0 0 0 8 B 0 1 0 8 0 8 C 0 0 0 8 A 1 0 8 C 0
|
||||
0 0 0 0 C 1 0 8 4 0 4 8 0 0 8 7 3 4 4 1 1 4 0 0 0 0 4 6 1 0 8 0 8 C 0 0 8 0 C 0 0 8 C 0 8 C 0 0 0 8 5 0 1 0 8 8 C 0 0 0 C 4 1 0
|
||||
8 C 0 4 8 0 4 0 8 1 1 0 F 3 3 4 3 0 0 3 0 0 0 0 0 0 8 C 0 0 0 0 D 0 1 0 8 8 C 0 0 0 4 C 0 1 0 8 8 C 0 0 0 8 B 1 0 8 0 0 0 C 0 4
|
||||
0 0 4 0 8 0 0 2 0 C 8 0 0 0 0 0 2 1 0 8 0 0 4 0 0 0 0 9 0 4 0 0 D 0 1 0 C F 0 8 8 C 0 0 0 0 0 0 8 0 4 0 1 1 1 4 0 C 8 0 C C 0 0
|
||||
8 0 8 0 8 2 2 8 5 0 4 0 4 0 8 1 2 0 C 0 8 4 0 0 0 8 0 1 0 8 C 0 4 8 0 8 C 1 8 0 0 C 0 4 8 4 0 0 8 0 4 C 0 8 8 0 0 0 8 0 4 0 C F
|
||||
0 0 0 0 4 9 4 0 0 F 0 0 1 F 8 0 0 8 0 0 0 8 0 8 0 4 0 4 F 8 0 F C 0 C C 0 0 0 1 C 0 F 4 0 0 0 4 0 4 0 0 C 1 1 0 0 4 0 C 0 8 4 0
|
||||
8 C 0 4 0 0 0 0 0 0 F 1 0 F 0 F 8 0 C 4 0 0 4 9 0 1 0 C 8 C 4 0 0 1 1 C 0 4 0 4 8 C 4 C 4 0 8 0 C 0 C 8 0 0 C 0 0 8 C 0 C 0 4 D
|
||||
0 1 0 C 0 8 C 0 C 4 0 0 0 0 0 C 0 0 8 C 0 8 0 0 0 4 0 0 0 0 0 0 0 0 8 C 0 4 4 0 4 0 C 1 1 0 0 0 F 8 C 1 0 C 0 8 C 0 4 8 C 0 4 8
|
||||
0 8 C 0 0 F 4 B 1 0 C 0 0 8 0 F 2 0 0 F 4 0 F 0 0 0 8 8 8 0 F 8 0 0 8 8 F 0 F 0 8 F 5 8 F 5 2 0 8 F 5 1 3 4 3
|
||||
|
||||
@000004CC
|
||||
4 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 1
|
||||
1 0 0 0 1 0 F 1 0 0 0 0 0 1 0 0 0 0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 4 0
|
|
@ -1,4 +1,4 @@
|
|||
module mojo_top(
|
||||
module main(
|
||||
// 50MHz clock input
|
||||
input clk,
|
||||
// Input from reset button (active low)
|
|
@ -1 +0,0 @@
|
|||
-p xc6slx9tqg144-2
|
|
@ -1,263 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
|
||||
<!DOCTYPE stylesheet [
|
||||
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
|
||||
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
|
||||
|
||||
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
|
||||
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
|
||||
|
||||
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
|
||||
<!ENTITY HEXUPPER "ABCDEFxX0123456789">
|
||||
<!ENTITY HEXLOWER "abcdefxX0123456789">
|
||||
<!ENTITY HEXU2L " '&HEXLOWER;' , '&HEXUPPER;' ">
|
||||
|
||||
<!ENTITY ALLMODS "MODULE[(@INSTANCE)]">
|
||||
<!ENTITY BUSMODS "MODULE[(@MODCLASS ='BUS')]">
|
||||
<!ENTITY CPUMODS "MODULE[(@MODCLASS ='PROCESSOR')]">
|
||||
|
||||
<!ENTITY MODIOFS "MODULE/IOINTERFACES/IOINTERFACE">
|
||||
<!ENTITY ALLIOFS "&MODIOFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<!ENTITY MODBIFS "MODULE/BUSINTERFACES/BUSINTERFACE">
|
||||
<!ENTITY ALLBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<!ENTITY MSTBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'MASTER')]">
|
||||
<!ENTITY SLVBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'SLAVE')]">
|
||||
<!ENTITY MOSBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'MASTER') or (@TYPE = 'SLAVE'))]">
|
||||
<!ENTITY P2PBIFS "&MODBIFS;[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@TYPE = 'TARGET') or (@TYPE = 'INITIATOR'))]">
|
||||
|
||||
<!ENTITY MODPORTS "MODULE/PORTS/PORT">
|
||||
<!ENTITY ALLPORTS "&MODPORTS;[ (not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<!ENTITY NDFPORTS "&MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (not(@BUS) and not(@IOS)))]">
|
||||
<!ENTITY DEFPORTS "&MODPORTS;[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ((@BUS) or (@IOS)))]">
|
||||
]>
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<xsl:variable name="G_ROOT" select="/"/>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
======================================================
|
||||
EDK SYSTEM (EDWARD) Globals.
|
||||
======================================================
|
||||
-->
|
||||
<xsl:variable name="G_SYS_EVAL">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not($P_SYSTEM_XML = '__UNDEF__')"><xsl:text>document($P_SYSTEM_XML)</xsl:text></xsl:when>
|
||||
<xsl:otherwise><xsl:text>/</xsl:text></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_SYS_DOC" select="dyn:evaluate($G_SYS_EVAL)"/>
|
||||
<xsl:variable name="G_SYS" select="$G_SYS_DOC/EDKSYSTEM"/>
|
||||
<xsl:variable name="G_SYS_TIMESTAMP" select="$G_SYS/@TIMESTAMP"/>
|
||||
<xsl:variable name="G_SYS_EDKVERSION" select="$G_SYS/@EDKVERSION"/>
|
||||
|
||||
<xsl:variable name="G_SYS_INFO" select="$G_SYS/SYSTEMINFO"/>
|
||||
<xsl:variable name="G_SYS_INFO_PKG" select="$G_SYS_INFO/@PACKAGE"/>
|
||||
<xsl:variable name="G_SYS_INFO_DEV" select="$G_SYS_INFO/@DEVICE"/>
|
||||
<xsl:variable name="G_SYS_INFO_ARCH" select="$G_SYS_INFO/@ARCH"/>
|
||||
<xsl:variable name="G_SYS_INFO_SPEED" select="$G_SYS_INFO/@SPEEDGRADE"/>
|
||||
|
||||
<xsl:variable name="G_SYS_MODS" select="$G_SYS/MODULES"/>
|
||||
<xsl:variable name="G_SYS_EXPS" select="$G_SYS/EXTERNALPORTS"/>
|
||||
|
||||
<xsl:variable name="COL_FOCUSED_MASTER" select="'AAAAFF'"/>
|
||||
<xsl:variable name="COL_BG_OUTOF_FOCUS_CONNECTIONS" select="'AA7711'"/>
|
||||
|
||||
<!-- INDEX KEYS FOR FAST ACCESS -->
|
||||
<xsl:key name="G_MAP_MODULES" match="&ALLMODS;" use="@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_PROCESSORS" match="&CPUMODS;" use="@INSTANCE"/>
|
||||
|
||||
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_BUSSES" match="&BUSMODS;" use="@BUSSTD_PSF"/>
|
||||
|
||||
<xsl:key name="G_MAP_ALL_IOFS" match="&ALLIOFS;" use="../../@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_ALL_BIFS" match="&ALLBIFS;" use="../../@INSTANCE"/>
|
||||
|
||||
<xsl:key name="G_MAP_ALL_BIFS_BY_BUS" match="&ALLBIFS;" use="@BUSNAME"/>
|
||||
<!--
|
||||
-->
|
||||
|
||||
<xsl:key name="G_MAP_MST_BIFS" match="&MSTBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_SLV_BIFS" match="&SLVBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_MOS_BIFS" match="&MOSBIFS;" use="@BUSNAME"/>
|
||||
|
||||
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSSTD"/>
|
||||
<xsl:key name="G_MAP_P2P_BIFS" match="&P2PBIFS;" use="@BUSSTD_PSF"/>
|
||||
|
||||
<xsl:key name="G_MAP_ALL_PORTS" match="&ALLPORTS;" use="../../@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_DEF_PORTS" match="&DEFPORTS;" use="../../@INSTANCE"/> <!-- Default ports -->
|
||||
<xsl:key name="G_MAP_NDF_PORTS" match="&NDFPORTS;" use="../../@INSTANCE"/> <!-- Non Default ports -->
|
||||
|
||||
<!--
|
||||
<xsl:key name="G_MAP_MASTER_BIFS" match="&MSTBIFS;" use="@BUSNAME"/>
|
||||
<xsl:key name="G_MAP_MASTER_BIFS" match="MODULE[not(@MODCLASS ='BUS')]/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'MASTER')]" use="../../@INSTANCE.@NAME"/>
|
||||
<xsl:key name="G_MAP_BUSSES_BY_INSTANCE" match="MODULE[(@MODCLASS ='BUS')]" use="@INSTANCE"/>
|
||||
<xsl:key name="G_MAP_XB_BUSSES" match="MODULE[(@MODCASS ='BUS')and (@IS_CROSSBAR)]" use="@INSTANCE"/>
|
||||
-->
|
||||
<!--
|
||||
======================================================
|
||||
Groups.xml (BLOCKS) Globals
|
||||
======================================================
|
||||
-->
|
||||
<xsl:variable name="G_GRP_EVAL">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not($P_GROUPS_XML = '__UNDEF__')"><xsl:text>document($P_GROUPS_XML)</xsl:text></xsl:when>
|
||||
<xsl:otherwise><xsl:text>/</xsl:text></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_GRPS_DOC" select="dyn:evaluate($G_GRP_EVAL)"/>
|
||||
<xsl:variable name="G_GROUPS" select="$G_GRPS_DOC/BLOCKS"/>
|
||||
|
||||
<xsl:variable name="G_NUM_OF_PROCS" select="count($G_SYS/MODULES/MODULE[(@MODCLASS = 'PROCESSOR')])"/>
|
||||
<xsl:variable name="G_NUM_OF_PROCS_W_ADDRS" select="count($G_SYS/MODULES/MODULE[(@MODCLASS = 'PROCESSOR') and MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and ACCESSROUTE) ]])"/>
|
||||
|
||||
<xsl:variable name="G_FOCUSED_SCOPE">
|
||||
<xsl:choose>
|
||||
|
||||
<!-- FOCUSING ON SPECIFIC SELECTIONS-->
|
||||
<xsl:when test="$G_ROOT/SAV/SELECTION">
|
||||
</xsl:when>
|
||||
|
||||
<!-- FOCUSING ON PROCESSOR -->
|
||||
<xsl:when test="$G_ROOT/SAV/MASTER">
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>FOCUSED MASTERS SPECIFIED</xsl:message></xsl:if>
|
||||
<xsl:for-each select="$G_ROOT/SAV/MASTER">
|
||||
<xsl:variable name="m_inst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="m_mod_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $m_inst_)]"/>
|
||||
<xsl:for-each select="$m_mod_/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and not(@BUSNAME = '__NOC__') and ((@TYPE = 'MASTER') or (@TYPE = 'SLAVE') or (@TYPE = 'INITIATOR') or (@TYPE = 'TARGET'))]">
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED MASTER BIF <xsl:value-of select="$m_inst_"/>.<xsl:value-of select="@NAME"/> = <xsl:value-of select="@BUSNAME"/></xsl:message></xsl:if>
|
||||
<xsl:variable name="b_bus_" select="@BUSNAME"/>
|
||||
<BUS NAME="{@BUSNAME}" BUSSTD="{@BUSSTD}"/>
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@INSTANCE = $m_inst_) and (@MODCLASS = 'BUS_BRIDGE'))]/BUSINTERFACES/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (@TYPE = 'SLAVE') and (@BUSNAME = $b_bus_)]">
|
||||
<xsl:variable name="b_inst_" select="../../@INSTANCE"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="MASTERS/MASTER">
|
||||
<xsl:for-each select="MASTERS/MASTER">
|
||||
<xsl:variable name="sm_inst_" select="@INSTANCE"/>
|
||||
<xsl:if test="count($G_ROOT/SAV/MASTER[(@INSTANCE = $sm_inst_)]) > 0">
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL BRIDGE <xsl:value-of select="$b_inst_"/></xsl:message></xsl:if>
|
||||
<PERIPHERAL NAME="{$b_inst_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL BRIDGE <xsl:value-of select="$b_inst_"/></xsl:message></xsl:if>
|
||||
<PERIPHERAL NAME="{$b_inst_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
<xsl:for-each select="$m_mod_/PERIPHERALS/PERIPHERAL">
|
||||
<xsl:variable name="p_id_" select="@INSTANCE"/>
|
||||
<xsl:variable name="p_mod_" select="$G_SYS_MODS/MODULE[@INSTANCE = $p_id_]"/>
|
||||
<PERIPHERAL NAME="{@INSTANCE}"/>
|
||||
<xsl:variable name="p_mr_cnt_" select="count($m_mod_/MEMORYMAP/MEMRANGE[(@INSTANCE = $p_id_)])"/>
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL <xsl:value-of select="$p_id_"/> has <xsl:value-of select="$p_mr_cnt_"/> memory ranges</xsl:message></xsl:if>
|
||||
<xsl:for-each select="$m_mod_/MEMORYMAP/MEMRANGE[(@INSTANCE = $p_id_)]/ACCESSROUTE/ROUTEPNT">
|
||||
<xsl:variable name="b_id_" select="@INSTANCE"/>
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[((@INSTANCE = $b_id_) and (@MODCLASS = 'BUS'))]">
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED PERIPHERAL BUS <xsl:value-of select="@INSTANCE"/></xsl:message></xsl:if>
|
||||
<BUS NAME="{@INSTANCE}" BUSSTD="{@BUSSTD}"/>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
|
||||
<!-- FOCUSING ON BUS -->
|
||||
<xsl:when test="$G_ROOT/SAV/BUS">
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message>FOCUSED BUSSES SPECIFIED</xsl:message></xsl:if>
|
||||
<xsl:for-each select="$G_ROOT/SAV/BUS">
|
||||
<xsl:variable name="m_inst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="m_mod_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $m_inst_)]"/>
|
||||
<xsl:variable name="m_bstd_" select="$m_mod_/@BUSSTD"/>
|
||||
<BUS NAME="{$m_inst_}" BUSSTD="{$m_bstd_}"/>
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'"><xsl:message> FOCUSED BUS <xsl:value-of select="$m_inst_"/> <xsl:value-of select="$m_bstd_"/></xsl:message></xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="G_HAVE_XB_BUSSES">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(count($G_SYS_MODS/MODULE[((@MODCLASS = 'BUS') and (@IS_CROSSBAR = 'TRUE'))]) > 0)">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:template name="F_ModClass_To_IpClassification">
|
||||
<xsl:param name="iModClass" select="'NONE'"/>
|
||||
<xsl:param name="iBusStd" select="'NONE'"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iModClass = 'BUS'"><xsl:value-of select="$iBusStd"/> Bus</xsl:when>
|
||||
<xsl:when test="$iModClass = 'DEBUG'">Debug</xsl:when>
|
||||
<xsl:when test="$iModClass = 'MEMORY'">Memory</xsl:when>
|
||||
<xsl:when test="$iModClass = 'MEMORY_CNTLR'">Memory Controller</xsl:when>
|
||||
<xsl:when test="$iModClass = 'INTERRUPT_CNTLR'">Interrupt Controller</xsl:when>
|
||||
<xsl:when test="$iModClass = 'PERIPHERAL'">Peripheral</xsl:when>
|
||||
<xsl:when test="$iModClass = 'PROCESSOR'">Processor</xsl:when>
|
||||
<xsl:when test="$iModClass = 'BUS_BRIDGE'">Bus Bridge</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$iModClass"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_Connection_To_AXI_SLAVE">
|
||||
<xsl:param name="iNameParam" select="''"/>
|
||||
<xsl:param name="iModuleRefParam" select="''"/>
|
||||
|
||||
<xsl:variable name="FilName" select="$iModuleRefParam/PARAMETERS/PARAMETER[@NAME=concat('C_', $iNameParam, '_MASTERS')]/@VALUE"/>
|
||||
<!-- <xsl:message>FIL NAME WAS <xsl:value-of select="$FilName"/></xsl:message> -->
|
||||
<xsl:value-of select="$FilName"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="F_IS_Interface_External">
|
||||
<xsl:param name="iInstRef"/> <!-- Instance reference -->
|
||||
<xsl:param name="iIntfRef"/> <!-- Interface reference -->
|
||||
<xsl:variable name="intfName_" select="$iIntfRef/@NAME"/>
|
||||
<xsl:variable name="instName_" select="$iInstRef/@INSTANCE"/>
|
||||
|
||||
<!-- <xsl:message>NAME 1 <xsl:value-of select="$expName1_"/></xsl:message>-->
|
||||
<!-- <xsl:message>NAME 2 <xsl:value-of select="$expName2_"/></xsl:message>-->
|
||||
<!--
|
||||
<xsl:variable name="expName1_" select="concat($instName_,'_',$intfName_,'_',@PHYSICAL,'_pin')"/>
|
||||
<xsl:variable name="expName2_" select="concat($instName_,'_',@PHYSICAL,'_pin')"/>
|
||||
-->
|
||||
|
||||
<!-- Store the number of physical ports connected externals in a variable -->
|
||||
|
||||
<xsl:variable name="connected_externals_">
|
||||
<xsl:for-each select="$iIntfRef/PORTMAPS/PORTMAP">
|
||||
<xsl:variable name="portName_" select="@PHYSICAL"/>
|
||||
<xsl:if test="$iInstRef/PORTS/PORT[(@NAME = $portName_)]">
|
||||
<xsl:variable name="portNet_" select="$iInstRef/PORTS/PORT[(@NAME = $portName_)]/@SIGNAME"/>
|
||||
<xsl:if test="$G_SYS_EXPS/PORT[(@SIGNAME = $portNet_)]">
|
||||
<EXTP NAME="{@PHYSICAL}"/>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message><xsl:value-of select="$instName_"/>.<xsl:value-of select="$intfName_"/> has <xsl:value-of select="count(exsl:node-set($connected_externals_)/EXTP)"/> connected externals.</xsl:message>
|
||||
-->
|
||||
<xsl:choose>
|
||||
<xsl:when test="(count(exsl:node-set($connected_externals_)/EXTP) > 0)">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -1,245 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
|
||||
<!DOCTYPE stylesheet [
|
||||
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
|
||||
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
|
||||
|
||||
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
|
||||
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
|
||||
|
||||
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
|
||||
<!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:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math exsl dyn xlink">
|
||||
|
||||
<xsl:include href="edw2xtl_sav_globals.xsl"/>
|
||||
|
||||
<xsl:include href="edw2xtl_sav_view_addr.xsl"/>
|
||||
<xsl:include href="edw2xtl_sav_view_busif.xsl"/>
|
||||
<xsl:include href="edw2xtl_sav_view_port.xsl"/>
|
||||
<xsl:include href="edw2xtl_sav_view_groups.xsl"/>
|
||||
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||
|
||||
<xsl:param name="P_SYSTEM_XML" select= "'__UNDEF__'"/>
|
||||
<xsl:param name="P_GROUPS_XML" select= "'__UNDEF__'"/>
|
||||
|
||||
<xsl:param name="G_DEBUG" select="'FALSE'"/>
|
||||
<xsl:param name="G_ADD_CHOICES" select="'TRUE'"/>
|
||||
|
||||
<!--
|
||||
<xsl:param name="P_VIEW" select="'__UNDEF__'"/>
|
||||
<xsl:param name="P_MODE" select="'__UNDEF__'"/>
|
||||
<xsl:param name="P_SCOPE" select="'__UNDEF__'"/>
|
||||
-->
|
||||
|
||||
|
||||
|
||||
<!-- MAIN TEMPLATE -->
|
||||
|
||||
<xsl:template match="SAV[@VIEW]">
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>SAV VIEW <xsl:value-of select="@VIEW"/></xsl:message>
|
||||
<xsl:message>SAV MODE <xsl:value-of select="@MODE"/></xsl:message>
|
||||
<xsl:message>SAV SCOPE <xsl:value-of select="@SCOPE"/></xsl:message>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@VIEW = 'PORT') and not(@VIEW = 'BUSINTERFACE') and not(@VIEW = 'ADDRESS')">
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED VIEW <xsl:value-of select="@VIEW"/></xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(@MODE and not(@MODE = 'FLAT') and not(@MODE = 'TREE') and not(@MODE = 'GROUPS'))">
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED MODE <xsl:value-of select="@MODE"/></xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(@SCOPE and not(@SCOPE = 'FULL') and not(@SCOPE= 'FOCUS'))">
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: UNDEFINED SCOPE <xsl:value-of select="@SCOPE"/></xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="$P_SYSTEM_XML ='__UNDEF__'">
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: SYSTEM XML UNDEFINED</xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="not($G_SYS)" >
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: EDKSYSTEM MISSING in SYSTEM XML <xsl:value-of select="$P_SYSTEM_XML"/></xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($P_GROUPS_XML ='__UNDEF__') and (@MODE = 'GROUPS')" >
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: GROUP XML UNDEFINED for FOCUS</xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($P_GROUPS_XML ='__UNDEF__') and (@SCOPE = 'FOCUS') and (@VIEW = 'BUSINTERFACE')" >
|
||||
<xsl:message>EDW2SAV XTELLER ERROR: GROUP XML UNDEFINED for SCOPE</xsl:message>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>SYSTEM XML <xsl:value-of select="$P_SYSTEM_XML"/></xsl:message>
|
||||
<xsl:message>GROUPS XML <xsl:value-of select="$P_GROUPS_XML"/></xsl:message>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:variable name="use_mode_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@MODE = 'GROUPS'">TREE</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="@MODE"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="num_procs_focused_on_" select="count(MASTER)"/>
|
||||
<xsl:variable name="num_buses_focused_on_" select="count(BUS)"/>
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:attribute name="CLASS">PROJECT</xsl:attribute>
|
||||
<xsl:attribute name="VIEW_ID"><xsl:value-of select="@VIEW"/></xsl:attribute>
|
||||
<xsl:attribute name="DISPLAYMODE"><xsl:value-of select="$use_mode_"/></xsl:attribute>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<!-- ADDRESS TAB VIEW -->
|
||||
<xsl:when test="(@VIEW = 'ADDRESS')">
|
||||
<xsl:call-template name="WRITE_VIEW_ADDRESS"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- BIF TAB VIEWS -->
|
||||
<xsl:when test="((@VIEW ='BUSINTERFACE') and (@SCOPE = 'FOCUS') and ($num_procs_focused_on_ > 0))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_FOCUS_ON_PROCS"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- BIF TAB VIEWS -->
|
||||
<xsl:when test="((@VIEW ='BUSINTERFACE') and (@SCOPE = 'FOCUS') and ($num_buses_focused_on_ > 0))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_FOCUS_ON_BUSES"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@VIEW ='BUSINTERFACE') and (@MODE = 'TREE') and not(@SCOPE))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_TREE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@VIEW = 'BUSINTERFACE') and (@MODE = 'FLAT') and not(@SCOPE))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_FLAT"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@VIEW = 'BUSINTERFACE') and (@MODE = 'GROUPS'))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_GROUPS">
|
||||
<xsl:with-param name="iModules" select="$G_BLOCKS"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
|
||||
|
||||
<!-- PORT TAB VIEWS -->
|
||||
<xsl:when test="((@VIEW ='PORT') and (@SCOPE = 'FOCUS'))">
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_FOCUSED"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Generate XTeller panel data for Ports using hierarchy -->
|
||||
<xsl:when test="((@VIEW = 'PORT') and (@MODE = 'TREE'))">
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_TREE"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Generate XTeller panel data for Ports without hierarchy, (flat view) -->
|
||||
<xsl:when test="((@VIEW='PORT') and (@MODE = 'FLAT'))">
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_FLAT"/>
|
||||
</xsl:when>
|
||||
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:message>ERROR during SAV XTeller generation with panel <xsl:value-of select="@VIEW"/> and display mode <xsl:value-of select="@MODE"/></xsl:message>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="EDKSYSTEM">
|
||||
|
||||
<!--
|
||||
<xsl:message>EDW VERSION <xsl:value-of select="$G_EDWVER"/></xsl:message>
|
||||
<xsl:message>VIEW <xsl:value-of select="$VIEW"/></xsl:message>
|
||||
<xsl:message>MODE <xsl:value-of select="$MODE"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="by_interface_">
|
||||
<xsl:choose>
|
||||
<!--
|
||||
Show interfaces or not
|
||||
-->
|
||||
<xsl:when test="(($SHOW_BUSIF ='TRUE') or ($SHOW_IOIF ='TRUE'))">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>VIEW <xsl:value-of select="$VIEW"/></xsl:message>
|
||||
<xsl:message>MODE <xsl:value-of select="$MODE"/></xsl:message>
|
||||
<xsl:message>BY INTERFACE <xsl:value-of select="$by_interface_"/></xsl:message>
|
||||
-->
|
||||
<xsl:variable name="displayMode_">
|
||||
<xsl:choose>
|
||||
<!--
|
||||
Hard code view to view for address panel,
|
||||
always show view in what was formerly
|
||||
multiprocessor view. See below.
|
||||
|
||||
<xsl:when test="(($G_NUM_OF_PROCS > 1) and ($VIEW='ADDRESS'))">TREE</xsl:when>
|
||||
<xsl:when test="(($G_NUM_OF_PROCS <= 1) and ($VIEW='ADDRESS'))">FLAT</xsl:when>
|
||||
-->
|
||||
<xsl:when test="($VIEW='ADDRESS')">TREE</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$MODE"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<SET CLASS="PROJECT" VIEW= "{$VIEW}" MODE="{$displayMode_}">
|
||||
<xsl:choose>
|
||||
|
||||
<!-- Generate XTeller panel data for Bus Interfaces using hierarchy -->
|
||||
<xsl:when test="(($VIEW='BUSINTERFACE') and (not($MODE) or ($MODE = 'TREE')))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_TREE"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Generate XTeller panel data for Bus Interfaces without hierarchy, (flat view) -->
|
||||
<xsl:when test="(($VIEW='BUSINTERFACE') and ($MODE = 'FLAT'))">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_FLAT"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Generate XTeller panel data for Ports using hierarchy -->
|
||||
<xsl:when test="(($VIEW='PORT') and (not($MODE) or ($MODE = 'TREE')))">
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_TREE"/>
|
||||
</xsl:when>
|
||||
|
||||
<!-- Generate XTeller panel data for Ports without hierarchy, (flat view) -->
|
||||
<xsl:when test="(($VIEW='PORT') and ($MODE = 'FLAT'))">
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_FLAT"/>
|
||||
</xsl:when>
|
||||
|
||||
<!--
|
||||
Hard code display of the address panel to always the the same.
|
||||
No more tree or flat mode, always show address panel
|
||||
in what was formerly the multiprocessor view.
|
||||
-->
|
||||
<xsl:when test="($VIEW='ADDRESS')">
|
||||
<xsl:call-template name="WRITE_VIEW_ADDRESS"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:message>ERROR during SAV XTeller generation with panel <xsl:value-of select="$VIEW"/> and display mode <xsl:value-of select="$MODE"/></xsl:message>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</SET>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -1,900 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
|
||||
<!DOCTYPE stylesheet [
|
||||
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
|
||||
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
|
||||
|
||||
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
|
||||
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
|
||||
|
||||
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
|
||||
<!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:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="exsl dyn math xlink">
|
||||
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||
|
||||
<!--
|
||||
================================================================================
|
||||
Generate XTeller for ADDRESSES
|
||||
================================================================================
|
||||
-->
|
||||
|
||||
<xsl:template name="WRITE_VIEW_ADDRESS">
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[((@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@IS_CONSTANT = 'TRUE')))]))]">
|
||||
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="procInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="procMod_" select="self::node()"/>
|
||||
<xsl:variable name="procModType" select="@MODTYPE"/>
|
||||
<xsl:variable name="procModClass_" select="@MODCLASS"/>
|
||||
<xsl:variable name="procInstHdrVal_"><xsl:value-of select="$procInst_"/>'s Address Map</xsl:variable>
|
||||
<xsl:variable name="procInstRowIdx_" select="position() - 1"/>
|
||||
|
||||
<!-- <SET ID="{$procInst_}" CLASS="MODULE" ROW_INDEX="{$procInstRowIdx_}"> -->
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:attribute name="ID"><xsl:value-of select="$procInst_"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
|
||||
<xsl:attribute name="ROW_INDEX"><xsl:value-of select="$procInstRowIdx_"/></xsl:attribute>
|
||||
|
||||
<!-- <VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$procInstHdrVal_}"/> -->
|
||||
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="NAME">INSTANCE</xsl:attribute>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$procInstHdrVal_"/></xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Instance</xsl:attribute>
|
||||
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:for-each select="$procMod_/MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@MEMTYPE = 'BRIDGE') or (@IS_CONSTANT = 'TRUE')))]">
|
||||
<xsl:sort data-type="number" select="@BASEDECIMAL" order="ascending"/>
|
||||
|
||||
<xsl:variable name="addr_id_"><xsl:value-of select="@BASENAME"/>:<xsl:value-of select="@HIGHNAME"/></xsl:variable>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
|
||||
<!--
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>ADDRESS ID <xsl:value-of select="$addr_id_"/></xsl:message>
|
||||
</xsl:if>
|
||||
-->
|
||||
|
||||
<xsl:variable name="set_id_">
|
||||
<xsl:if test="(@INSTANCE)">
|
||||
<xsl:value-of select="$procInst_"/>.<xsl:value-of select="@INSTANCE"/>:<xsl:value-of select="$addr_id_"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@INSTANCE)">
|
||||
<xsl:value-of select="$procInst_"/>:<xsl:value-of select="$addr_id_"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="procAddrRowIdx_" select="position() - 1"/>
|
||||
<SET ID="{$set_id_}" CLASS="ADDRESS" ROW_INDEX="{$procAddrRowIdx_}">
|
||||
|
||||
<xsl:if test="(@INSTANCE)">
|
||||
<xsl:variable name="periInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="periMod_" select="key('G_MAP_MODULES', $periInst_)"/>
|
||||
<!--
|
||||
<xsl:variable name="subInstance_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $instance_)]"/>
|
||||
<xsl:message>Count memrange slaves <xsl:value-of select="count($modMemMapSlvs_)"/> </xsl:message>
|
||||
<xsl:message>Count mod valid bifs <xsl:value-of select="count($modValidBifs_)"/> </xsl:message>
|
||||
-->
|
||||
|
||||
|
||||
<xsl:variable name="periModType_" select="$periMod_/@MODTYPE"/>
|
||||
<xsl:variable name="periViewIcon_" select="$periMod_/LICENSEINFO/@ICON_NAME"/>
|
||||
<xsl:variable name="periHwVersion_" select="$periMod_/@HWVERSION"/>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$periInst_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$periModType_}" VIEWICON="{$periViewIcon_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$periHwVersion_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not(@INSTANCE)">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$procInst_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$procModType}" VIEWICON="{$procMod_/LICENSEINFO/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$procHwVersion_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
|
||||
|
||||
<xsl:variable name="instName_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@INSTANCE"><xsl:value-of select="@INSTANCE"/></xsl:when>
|
||||
<xsl:otherwise>Connected<xsl:value-of select="$procInst_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<!--
|
||||
<xsl:message>INST : <xsl:value-of select="$set_id_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="is_locked_">
|
||||
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="is_constant_">
|
||||
<xsl:if test="@IS_CONSTANT = 'TRUE'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@IS_CONSTANT) or not(@IS_CONSTANT = 'TRUE')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="baseAddrViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>TEXTBOX</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
|
||||
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
|
||||
|
||||
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
|
||||
|
||||
<xsl:variable name="sizeViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>DROPDOWN</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
|
||||
|
||||
<xsl:variable name="periInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="periMod_" select="key('G_MAP_MODULES', $periInst_)"/>
|
||||
<xsl:variable name="periModClass_" select="$periMod_/@MODCLASS"/>
|
||||
<xsl:variable name="periValidBifs_" select="key('G_MAP_ALL_BIFS', $periInst_)[not(@BUSNAME = '__NOC__')]"/>
|
||||
<xsl:variable name="periMemMapSlvs_" select="$periMod_/MEMORYMAP/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE"/>
|
||||
<xsl:variable name="periMemMapBifs_">
|
||||
<xsl:for-each select="$periMemMapSlvs_">
|
||||
<xsl:variable name="periSlvBifName_" select="@BUSINTERFACE"/>
|
||||
<xsl:if test="$periValidBifs_[(@NAME = $periSlvBifName_)]">
|
||||
<xsl:variable name="periBif_" select="$periValidBifs_[(@NAME = $periSlvBifName_)]"/>
|
||||
<xsl:variable name="periBifName_" select="$periBif_/@NAME"/>
|
||||
<xsl:variable name="periBifBus_" select="$periBif_/@BUSNAME"/>
|
||||
<!--
|
||||
<xsl:message> Slv Bif <xsl:value-of select="$periBifName_"/> = <xsl:value-of select="$periBifBus_"/></xsl:message>
|
||||
-->
|
||||
<MMBIF NAME="{$periBifName_}" BUS="{$periBifBus_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="num_of_periMemMapBifs_" select="count(exsl:node-set($periMemMapBifs_)/MMBIF)"/>
|
||||
|
||||
<!--
|
||||
<xsl:message> Total num of slv bifs <xsl:value-of select="$num_of_periMemMapBifs_"/> </xsl:message>
|
||||
<xsl:message> </xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="valid_bifNames_">
|
||||
<xsl:for-each select="exsl:node-set($periMemMapBifs_)/MMBIF">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="$bifName_"/>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="valid_busNames_">
|
||||
<xsl:for-each select="exsl:node-set($periMemMapBifs_)/MMBIF">
|
||||
<xsl:variable name="busName_" select="@BUS"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="$busName_"/>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message> Mod Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
|
||||
<xsl:message> Mod Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
|
||||
<xsl:message>Slv Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
|
||||
<xsl:variable name="modBifs_" select="$modInst_/BUSINTERFACES"/>
|
||||
<xsl:if test="$periValidBifs_[(@NAME = $bifName_)]">
|
||||
<xsl:variable name="busName_" select="$periValidBifs_[(@NAME = $bifName_)]/@BUSNAME"/>
|
||||
<xsl:message>Mod Bif <xsl:value-of select="$bifName_"/> : <xsl:value-of select="position()"/></xsl:message>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="$bifName_"/>
|
||||
</xsl:if>
|
||||
-->
|
||||
<!--
|
||||
<xsl:message>Module Instances <xsl:value-of select="$instName_"/> </xsl:message>
|
||||
<xsl:message>Base Name <xsl:value-of select="$baseName_"/> </xsl:message>
|
||||
<xsl:message>High Name <xsl:value-of select="$highName_"/> </xsl:message>
|
||||
<xsl:message>Valid bif names <xsl:value-of select="$valid_bifNames_"/> </xsl:message>
|
||||
<xsl:message>Valid bif names <xsl:value-of select="$valid_bifNames_"/> </xsl:message>
|
||||
<xsl:message>Valid bus names <xsl:value-of select="$valid_busNames_"/> </xsl:message>
|
||||
-->
|
||||
|
||||
|
||||
<xsl:variable name="var_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length($valid_bifNames_) < 1">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$periModClass_ = 'BUS'">Not Applicable</xsl:when>
|
||||
<xsl:when test="$is_constant_ = 'TRUE'"></xsl:when>
|
||||
<xsl:otherwise>Not Connected</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$var_bifNames_}"/>
|
||||
<xsl:if test="(($num_of_periMemMapBifs_ > 0) and (string-length($valid_busNames_) > 0))">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$valid_busNames_}"/>
|
||||
</xsl:if>
|
||||
</SET> <!-- End of one processor memory range row -->
|
||||
</xsl:for-each> <!-- end of processor memory ranges loop -->
|
||||
</xsl:element><!-- End of Processor memory map set -->
|
||||
</xsl:for-each> <!-- end of processor module address space loop -->
|
||||
|
||||
<!--
|
||||
Add branch for valid address that are not part of a processor's
|
||||
memory map. Usually modules that have just been added, but have
|
||||
not been connected to a bus yet.
|
||||
-->
|
||||
|
||||
<xsl:variable name="nonProcAddresses_">
|
||||
|
||||
<!-- Add a dummy non proc as a place holder. Otherwise the exsl:node-set test
|
||||
Below complains if the variable is completely empty
|
||||
-->
|
||||
<NONPROCADDRESS INSTANCE="__DUMMY__" BASENAME="__DUMMY__" HIGHNAME="__DUMMY__" BASEDECIMAL="__DUMMY__"/>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@IS_CONSTANT = 'TRUE')))]))]">
|
||||
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
|
||||
|
||||
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
|
||||
<NONPROCADDRESS INSTANCE="{$nonProcInst_}" BASENAME="{$baseName_}" HIGHNAME="{$highName_}" BASEDECIMAL="{$baseDecimal_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:variable>
|
||||
|
||||
<!-- Add unmapped addresses -->
|
||||
<xsl:variable name="hasUnMappedAddress">
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]">
|
||||
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
|
||||
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])"><xsl:value-of select="$nonProcInst_"/></xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="string-length($hasUnMappedAddress) > 1">
|
||||
|
||||
<SET ID="Unmapped Addresses" CLASS="MODULE" ROW_INDEX="{$G_NUM_OF_PROCS_W_ADDRS}">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="Unmapped Addresses"/>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]/MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<xsl:variable name="nonProcMod_" select="../.."/>
|
||||
<xsl:variable name="nonProcMMap_" select="$nonProcMod_/MEMORYMAP"/>
|
||||
<xsl:variable name="instance_" select="$nonProcMod_/@INSTANCE"/>
|
||||
|
||||
<xsl:variable name="row_index_" select="position()"/>
|
||||
<xsl:variable name="instName_" select="$nonProcMod_/@INSTANCE"/>
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[((@BASENAME = $baseName_) and (@HIGHNAME = $highName_))]">
|
||||
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $instName_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
|
||||
|
||||
<xsl:variable name="addr_id_"><xsl:value-of select="$baseName_"/>:<xsl:value-of select="$highName_"/></xsl:variable>
|
||||
<xsl:variable name="set_id_"><xsl:value-of select="$instName_"/>:<xsl:value-of select="$addr_id_"/></xsl:variable>
|
||||
|
||||
<xsl:variable name="inst_modtype_" select="$nonProcMod_/@MODTYPE"/>
|
||||
<xsl:variable name="inst_viewicon_" select="$nonProcMod_/LICENSEINFO/@ICON_NAME"/>
|
||||
<xsl:variable name="inst_modclass_" select="$nonProcMod_/@MODCLASS"/>
|
||||
<xsl:variable name="inst_hwversion_" select="$nonProcMod_/@HWVERSION"/>
|
||||
|
||||
<SET ID="{$set_id_}" CLASS="ADDRESS">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$instance_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$inst_modtype_}" VIEWICON="{$inst_viewicon_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$inst_hwversion_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
|
||||
|
||||
<xsl:variable name="is_locked_">
|
||||
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="baseAddrViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>TEXTBOX</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
|
||||
|
||||
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
|
||||
|
||||
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<!--
|
||||
Lock, DCache and ICache removed in 11.1
|
||||
|
||||
<xsl:if test="(@IS_CACHEABLE = 'TRUE')">
|
||||
|
||||
<xsl:variable name="is_dcached_">
|
||||
<xsl:if test="(@IS_DCACHED = 'TRUE')">TRUE</xsl:if>
|
||||
<xsl:if test="(not(@IS_DCACHED) or not(@IS_DCACHED = 'TRUE'))">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="is_icached_">
|
||||
<xsl:if test="(@IS_ICACHED = 'TRUE')">TRUE</xsl:if>
|
||||
<xsl:if test="(not(@IS_ICACHED) or not(@IS_ICACHED = 'TRUE'))">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="DCache" NAME="IS_DCACHED" VALUE="{$is_dcached_}"/>
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="ICache" NAME="IS_ICACHED" VALUE="{$is_icached_}"/>
|
||||
</xsl:if>
|
||||
-->
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
|
||||
|
||||
<xsl:variable name="sizeViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>DROPDOWN</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
|
||||
|
||||
<xsl:variable name="valid_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
|
||||
<!-- <xsl:message>Bif Name <xsl:value-of select="$bifName_"/> </xsl:message> -->
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@BUSINTERFACE"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@NAME"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="def_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(string-length($valid_bifNames_) < 1) or ((string-length($valid_bifNames_) = 1) and ($valid_bifNames_ = ':'))">Not Connected</xsl:when>
|
||||
<xsl:when test="starts-with($valid_bifNames_,':')"><xsl:value-of select="substring-after($valid_bifNames_,':')"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$def_bifNames_}"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="slvBifName_" select="@BUSINTERFACE"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
|
||||
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
|
||||
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="slvBifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
|
||||
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
|
||||
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
|
||||
</SET> <!-- End of one non processor memory range row -->
|
||||
</xsl:if>
|
||||
|
||||
</xsl:for-each> <!-- end of non processor memory ranges loop -->
|
||||
|
||||
</xsl:for-each> <!-- end of NONPROCADDRESS loop -->
|
||||
|
||||
</SET> <!-- End of non processor tree branch -->
|
||||
|
||||
</xsl:if> <!-- End of test to see if we have and non processor mapped address -->
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="__WRITE_VIEW_ADDRESS__">
|
||||
|
||||
<!--
|
||||
-->
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[((@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@IS_CONSTANT = 'TRUE')))]))]">
|
||||
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="procInst_" select="@INSTANCE"/>
|
||||
<xsl:variable name="modClass_" select="@MODCLASS"/>
|
||||
|
||||
<xsl:variable name="procInstHdrVal_"><xsl:value-of select="$procInst_"/>'s Address Map</xsl:variable>
|
||||
<xsl:variable name="procInstRowIdx_" select="position() - 1"/>
|
||||
<xsl:variable name="modInstance_" select="self::node()"/>
|
||||
|
||||
<SET ID="{$procInst_}" CLASS="MODULE" ROW_INDEX="{$procInstRowIdx_}">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$procInstHdrVal_}"/>
|
||||
|
||||
<xsl:for-each select="$modInstance_/MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@MEMTYPE = 'BRIDGE') or (@IS_CONSTANT = 'TRUE')))]">
|
||||
<xsl:sort data-type="number" select="@BASEDECIMAL" order="ascending"/>
|
||||
|
||||
<xsl:variable name="addr_id_"><xsl:value-of select="@BASENAME"/>:<xsl:value-of select="@HIGHNAME"/></xsl:variable>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>ADDRESS ID <xsl:value-of select="$addr_id_"/></xsl:message>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:variable name="set_id_">
|
||||
<xsl:if test="(@INSTANCE)">
|
||||
<xsl:value-of select="$procInst_"/>.<xsl:value-of select="@INSTANCE"/>:<xsl:value-of select="$addr_id_"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@INSTANCE)">
|
||||
<xsl:value-of select="$procInst_"/>:<xsl:value-of select="$addr_id_"/>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="procAddrRowIdx_" select="position() - 1"/>
|
||||
<SET ID="{$set_id_}" CLASS="ADDRESS" ROW_INDEX="{$procAddrRowIdx_}">
|
||||
|
||||
<xsl:if test="(@INSTANCE)">
|
||||
<xsl:variable name="instance_" select="@INSTANCE"/>
|
||||
<xsl:variable name="subInstance_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $instance_)]"/>
|
||||
|
||||
<xsl:variable name="inst_modtype_" select="$subInstance_/@MODTYPE"/>
|
||||
<xsl:variable name="inst_viewicon_" select="$subInstance_/LICENSEINFO/@ICON_NAME"/>
|
||||
<xsl:variable name="inst_hwversion_" select="$subInstance_/@HWVERSION"/>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$instance_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$inst_modtype_}" VIEWICON="{$inst_viewicon_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$inst_hwversion_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not(@INSTANCE)">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$modInstance_/@INSTANCE}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$modInstance_/@MODTYPE}" VIEWICON="{$modInstance_/LICENSEINFO/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$modInstance_/@HWVERSION}"/>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
|
||||
|
||||
<xsl:variable name="instName_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@INSTANCE"><xsl:value-of select="@INSTANCE"/></xsl:when>
|
||||
<xsl:otherwise>Connected<xsl:value-of select="$modInstance_/@INSTANCE"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<!--
|
||||
<xsl:message>INST : <xsl:value-of select="$set_id_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="is_locked_">
|
||||
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="baseAddrViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>TEXTBOX</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
|
||||
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
|
||||
|
||||
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
|
||||
|
||||
<xsl:variable name="sizeViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>DROPDOWN</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
|
||||
|
||||
<xsl:variable name="modInst_" select="$G_SYS_MODS/MODULE[(@INSTANCE = $instName_)]"/>
|
||||
<xsl:variable name="modMemMap_" select="$modInst_/MEMORYMAP"/>
|
||||
|
||||
<xsl:variable name="valid_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
|
||||
<!-- <xsl:message>Bif Name <xsl:value-of select="$bifName_"/> </xsl:message> -->
|
||||
<xsl:variable name="modBifs_" select="$modInst_/BUSINTERFACES"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@BUSINTERFACE"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$modInst_"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@NAME"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!--
|
||||
<xsl:message>Module Instances <xsl:value-of select="$instName_"/> </xsl:message>
|
||||
<xsl:message>Base Name <xsl:value-of select="$baseName_"/> </xsl:message>
|
||||
<xsl:message>High Name <xsl:value-of select="$highName_"/> </xsl:message>
|
||||
<xsl:message>Valid bif names <xsl:value-of select="$valid_bifNames_"/> </xsl:message>
|
||||
-->
|
||||
|
||||
|
||||
<xsl:variable name="def_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length($valid_bifNames_) < 1">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$modClass_ = 'BUS'">Not Applicable</xsl:when>
|
||||
<xsl:otherwise>Not Connected</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:when test="starts-with($valid_bifNames_,':')"><xsl:value-of select="substring-after($valid_bifNames_,':')"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$def_bifNames_}"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
|
||||
<xsl:variable name="modBifs_" select="$modInst_/BUSINTERFACES"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:variable name="numBifs_" select="count($modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))])"/>
|
||||
<xsl:if test="((position() = 1) or ($numBifs_ = 1))">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$busName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$modMemMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$modInst_"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:variable name="numBifs_" select="count($modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))])"/>
|
||||
<xsl:if test="((position() = 1) or ($numBifs_ = 1))">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$busName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!--
|
||||
-->
|
||||
</SET> <!-- End of one processor memory range row -->
|
||||
</xsl:for-each> <!-- end of processor memory ranges loop -->
|
||||
</SET>
|
||||
</xsl:for-each> <!-- end of processor module address space loop -->
|
||||
|
||||
<!--
|
||||
Add branch for valid address that are not part of a processor's
|
||||
memory map. Usually modules that have just been added, but have
|
||||
not been connected to a bus yet.
|
||||
-->
|
||||
|
||||
<xsl:variable name="nonProcAddresses_">
|
||||
|
||||
<!-- Add a dummy non proc as a place holder. Otherwise the exsl:node-set test
|
||||
Below complains if the variable is completely empty
|
||||
-->
|
||||
<NONPROCADDRESS INSTANCE="__DUMMY__" BASENAME="__DUMMY__" HIGHNAME="__DUMMY__" BASEDECIMAL="__DUMMY__"/>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[((not(@IS_VALID) or (@IS_VALID = 'TRUE')) and (ACCESSROUTE or (@IS_CONSTANT = 'TRUE')))]))]">
|
||||
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
|
||||
|
||||
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
|
||||
<NONPROCADDRESS INSTANCE="{$nonProcInst_}" BASENAME="{$baseName_}" HIGHNAME="{$highName_}" BASEDECIMAL="{$baseDecimal_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:variable>
|
||||
|
||||
<!-- Add unmapped addresses -->
|
||||
<xsl:variable name="hasUnMappedAddress">
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]">
|
||||
<xsl:variable name="nonProcInst_" select="@INSTANCE"/>
|
||||
<xsl:for-each select="MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $nonProcInst_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])"><xsl:value-of select="$nonProcInst_"/></xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="string-length($hasUnMappedAddress) > 1">
|
||||
|
||||
<SET ID="Unmapped Addresses" CLASS="MODULE" ROW_INDEX="{$G_NUM_OF_PROCS_W_ADDRS}">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="Unmapped Addresses"/>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE[(not(@MODCLASS = 'PROCESSOR') and (MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]))]/MEMORYMAP/MEMRANGE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
|
||||
<xsl:variable name="nonProcMod_" select="../.."/>
|
||||
<xsl:variable name="nonProcMMap_" select="$nonProcMod_/MEMORYMAP"/>
|
||||
<xsl:variable name="instance_" select="$nonProcMod_/@INSTANCE"/>
|
||||
|
||||
<xsl:variable name="row_index_" select="position()"/>
|
||||
<xsl:variable name="instName_" select="$nonProcMod_/@INSTANCE"/>
|
||||
<xsl:variable name="highName_" select="@HIGHNAME"/>
|
||||
<xsl:variable name="baseName_" select="@BASENAME"/>
|
||||
<xsl:variable name="baseDecimal_" select="@BASEDECIMAL"/>
|
||||
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[((@BASENAME = $baseName_) and (@HIGHNAME = $highName_))]">
|
||||
|
||||
<xsl:if test="not($G_SYS_MODS/MODULE[(@MODCLASS = 'PROCESSOR')]/MEMORYMAP/MEMRANGE[((@INSTANCE = $instName_) and (@BASENAME = $baseName_) and (@HIGHNAME = $highName_))])">
|
||||
|
||||
<xsl:variable name="addr_id_"><xsl:value-of select="$baseName_"/>:<xsl:value-of select="$highName_"/></xsl:variable>
|
||||
<xsl:variable name="set_id_"><xsl:value-of select="$instName_"/>:<xsl:value-of select="$addr_id_"/></xsl:variable>
|
||||
|
||||
<xsl:variable name="inst_modtype_" select="$nonProcMod_/@MODTYPE"/>
|
||||
<xsl:variable name="inst_viewicon_" select="$nonProcMod_/LICENSEINFO/@ICON_NAME"/>
|
||||
<xsl:variable name="inst_modclass_" select="$nonProcMod_/@MODCLASS"/>
|
||||
<xsl:variable name="inst_hwversion_" select="$nonProcMod_/@HWVERSION"/>
|
||||
|
||||
<SET ID="{$set_id_}" CLASS="ADDRESS">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$instance_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$inst_modtype_}" VIEWICON="{$inst_viewicon_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$inst_hwversion_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Address Type" NAME="MEMTYPE" VALUE="{@MEMTYPE}"/>
|
||||
|
||||
<xsl:variable name="is_locked_">
|
||||
<xsl:if test="@IS_LOCKED = 'TRUE'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@IS_LOCKED) or not(@IS_LOCKED = 'TRUE')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="baseAddrViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>TEXTBOX</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and not(@SIZEABRV = 'U'))">
|
||||
|
||||
<xsl:variable name="baseAddr_"><xsl:value-of select="translate(@BASEVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
<xsl:variable name="highAddr_"><xsl:value-of select="translate(@HIGHVALUE,&HEXU2L;)"/></xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$baseAddrViewType_}" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE="{$baseAddr_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="High Address" NAME="HIGHVALUE" VALUE="{$highAddr_}"/>
|
||||
|
||||
<xsl:if test="not(@MEMTYPE) or not(@MEMTYPE = 'BRIDGE')">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="@MEMTYPE and (@MEMTYPE = 'BRIDGE') and not(@BRIDGE_TO)">
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="Lock" NAME="IS_LOCKED" VALUE="{$is_locked_}"/>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIZEABRV and (@SIZEABRV = 'U'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Base Address" NAME="BASEVALUE" VALUE=""/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<!--
|
||||
Lock, DCache and ICache removed in 11.1
|
||||
|
||||
<xsl:if test="(@IS_CACHEABLE = 'TRUE')">
|
||||
|
||||
<xsl:variable name="is_dcached_">
|
||||
<xsl:if test="(@IS_DCACHED = 'TRUE')">TRUE</xsl:if>
|
||||
<xsl:if test="(not(@IS_DCACHED) or not(@IS_DCACHED = 'TRUE'))">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="is_icached_">
|
||||
<xsl:if test="(@IS_ICACHED = 'TRUE')">TRUE</xsl:if>
|
||||
<xsl:if test="(not(@IS_ICACHED) or not(@IS_ICACHED = 'TRUE'))">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="DCache" NAME="IS_DCACHED" VALUE="{$is_dcached_}"/>
|
||||
<VARIABLE VIEWTYPE="CHECKBOX" VIEWDISP="ICache" NAME="IS_ICACHED" VALUE="{$is_icached_}"/>
|
||||
</xsl:if>
|
||||
-->
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Base Name" NAME="BASENAME" VALUE="{@BASENAME}"/>
|
||||
|
||||
<xsl:variable name="sizeViewType_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SIZEABRV and (@SIZEABRV = 'U'))">DROPDOWN</xsl:when>
|
||||
<xsl:when test="$is_locked_='TRUE'">STATIC</xsl:when>
|
||||
<xsl:otherwise>DROPDOWN</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="{$sizeViewType_}" VIEWDISP="Size" NAME="SIZEABRV" VALUE="{@SIZEABRV}"/>
|
||||
|
||||
<xsl:variable name="valid_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="bifName_" select="@BUSINTERFACE"/>
|
||||
<!-- <xsl:message>Bif Name <xsl:value-of select="$bifName_"/> </xsl:message> -->
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@BUSINTERFACE"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
|
||||
<xsl:if test="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]">
|
||||
<xsl:variable name="busName_" select="$modBifs_/BUSINTERFACE[((@NAME = $bifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<xsl:if test="position() > 1">:</xsl:if><xsl:value-of select="@NAME"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="def_bifNames_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(string-length($valid_bifNames_) < 1) or ((string-length($valid_bifNames_) = 1) and ($valid_bifNames_ = ':'))">Not Connected</xsl:when>
|
||||
<xsl:when test="starts-with($valid_bifNames_,':')"><xsl:value-of select="substring-after($valid_bifNames_,':')"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$valid_bifNames_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface(s)" NAME="BIFNAMES" VALUE="{$def_bifNames_}"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES">
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLAVES/SLAVE">
|
||||
<xsl:variable name="slvBifName_" select="@BUSINTERFACE"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_/BUSINTERFACES"/>
|
||||
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
|
||||
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="$nonProcMMap_/MEMRANGE[(@BASENAME = $baseName_) and (@HIGHNAME = $highName_)]/SLVINTERFACES/BUSINTERFACE">
|
||||
<xsl:variable name="slvBifName_" select="@NAME"/>
|
||||
<xsl:variable name="modBifs_" select="$nonProcMod_"/>
|
||||
<xsl:if test="count($modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]) = 1">
|
||||
<xsl:variable name="slvBusName_" select="$modBifs_/BUSINTERFACE[((@NAME = $slvBifName_) and not(@IS_VALID = 'FALSE') and not(@BUSNAME = '__NOC__'))]/@BUSNAME"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$slvBusName_}"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
|
||||
</SET> <!-- End of one non processor memory range row -->
|
||||
</xsl:if>
|
||||
|
||||
</xsl:for-each> <!-- end of non processor memory ranges loop -->
|
||||
|
||||
</xsl:for-each> <!-- end of NONPROCADDRESS loop -->
|
||||
|
||||
</SET> <!-- End of non processor tree branch -->
|
||||
|
||||
</xsl:if> <!-- End of test to see if we have and non processor mapped address -->
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -1,631 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
|
||||
<!DOCTYPE stylesheet [
|
||||
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
|
||||
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
|
||||
|
||||
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
|
||||
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
|
||||
|
||||
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
|
||||
<!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:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="exsl dyn math xlink">
|
||||
|
||||
|
||||
<!--
|
||||
================================================================================
|
||||
Generate XTeller for BIFS
|
||||
================================================================================
|
||||
-->
|
||||
|
||||
<xsl:template name="WRITE_VIEW_BIF_TREE">
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE">
|
||||
|
||||
<xsl:variable name="modRef_" select="self::node()"/>
|
||||
<xsl:variable name="m_inst_" select="$modRef_/@INSTANCE"/>
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:attribute name="ID"><xsl:value-of select="@INSTANCE"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$modRef_/@POTENTIAL_INDEX">
|
||||
<xsl:attribute name="POTENTIAL_INDEX"><xsl:value-of select="$modRef_/@POTENTIAL_INDEX"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="$modRef_/@CONNECTED_INDEX">
|
||||
<xsl:attribute name="CONNECTED_INDEX"><xsl:value-of select="$modRef_/@CONNECTED_INDEX"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<!--
|
||||
CR452579
|
||||
Can only modify INSTANCE name in Hierarchal view.
|
||||
-->
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="INSTANCE" VALUE="{@INSTANCE}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{@MODTYPE}" VIEWICON="{LICENSEINFO/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{@HWVERSION}"/>
|
||||
|
||||
<xsl:variable name="ipClassification_">
|
||||
<xsl:call-template name="F_ModClass_To_IpClassification">
|
||||
<xsl:with-param name="iModClass" select="@MODCLASS"/>
|
||||
<xsl:with-param name="iBusStd" select="@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Classification" NAME="IPCLASS" VALUE="{$ipClassification_}"/>
|
||||
|
||||
<!-- Write Bus Interfaces here -->
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To put things in the right scope for the keys below -->
|
||||
<xsl:variable name="m_bifs_all_" select="key('G_MAP_ALL_BIFS', $m_inst_)"/>
|
||||
<xsl:for-each select="$m_bifs_all_">
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_TREE_SET">
|
||||
<xsl:with-param name="iModRef" select="$modRef_"/>
|
||||
<xsl:with-param name="iBifRef" select="self::node()"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each> <!-- End of bus interface loop -->
|
||||
</xsl:for-each>
|
||||
</xsl:element>
|
||||
</xsl:for-each> <!-- End module loop -->
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="WRITE_VIEW_BIF_TREE_SET">
|
||||
<xsl:param name="iModRef" select="'__NONE__'"/>
|
||||
<xsl:param name="iBifRef" select="'__NONE__'"/>
|
||||
<xsl:param name="iBifCol" select="'__NONE__'"/>
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:if test="not($iBifCol = '__NONE__')">
|
||||
<xsl:attribute name="RGB_FG"><xsl:value-of select="$iBifCol"/></xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:attribute name="ID"><xsl:value-of select="$iBifRef/@NAME"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">BUSINTERFACE</xsl:attribute>
|
||||
|
||||
<xsl:if test="($iBifRef/@TYPE = 'MONITOR')">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@IS_P2P)">
|
||||
<xsl:attribute name="IS_P2P_MONITOR">TRUE</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="IS_SHARED_MONITOR">TRUE</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="{$iBifRef/@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Type" NAME="TYPE" VALUE="{$iBifRef/@TYPE}"/>
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Standard</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSSTD</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@BUSSTD_PSF)">
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSSTD_PSF"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="($iBifRef/@BUSSTD)">
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSSTD"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="($iBifRef/@BUS_STD)">
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUS_STD"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE">USER</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@TYPE = 'INITIATOR')">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">TEXTBOX</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
|
||||
<xsl:variable name="def_noc_name_"><xsl:value-of select="$iModRef/@INSTANCE"/>_<xsl:value-of select="$iBifRef/@NAME"/></xsl:variable>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$def_noc_name_"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSSTD = 'AXI') and ($iBifRef/@TYPE = 'SLAVE') and ($G_HAVE_XB_BUSSES = 'TRUE'))">
|
||||
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE">No Connection</xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@TYPE = 'MONITOR') and ($iBifRef/MONITORS/MONITOR))">
|
||||
<xsl:variable name="monitorBif_" select="$iBifRef/MONITORS/MONITOR"/>
|
||||
<xsl:variable name="p2pMonConn_" select="concat($monitorBif_/@INSTANCE,'.',$monitorBif_/@BUSINTERFACE)"/>
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$p2pMonConn_"/></xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($iBifRef/@TYPE = 'SLAVE')">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSSTD = 'AXI') and ($G_HAVE_XB_BUSSES ='TRUE'))">
|
||||
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBifRef/MASTERS/MASTER">
|
||||
<xsl:variable name="mastersList_"><xsl:for-each select="$iBifRef/MASTERS/MASTER"><xsl:if test="position() > 1"> & </xsl:if><xsl:value-of select="concat(@INSTANCE,'.',@BUSINTERFACE)"/></xsl:for-each></xsl:variable>
|
||||
<xsl:variable name="mastersConn_" select="concat($iBifRef/@BUSNAME,':',$mastersList_)"/>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$mastersConn_"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="WRITE_VIEW_BIF_FLAT">
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE">
|
||||
|
||||
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
|
||||
<xsl:variable name="moduleRef_" select="self::node()"/>
|
||||
<xsl:variable name="busifsRef_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="self::node()/BUSINTERFACES"><xsl:text>$moduleRef_/BUSINTERFACES</xsl:text></xsl:when>
|
||||
<xsl:otherwise><xsl:text>$moduleRef_</xsl:text></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:for-each select="dyn:evaluate($busifsRef_)/BUSINTERFACE[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_FLAT_SET">
|
||||
<xsl:with-param name="iModRef" select="$moduleRef_"/>
|
||||
<xsl:with-param name="iBifRef" select="self::node()"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each> <!-- End of Bus Interface Loop -->
|
||||
</xsl:for-each> <!-- End of Module loop -->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_BIF_FLAT_SET">
|
||||
|
||||
<xsl:param name="iModRef" select="'__NONE__'"/>
|
||||
<xsl:param name="iBifRef" select="'__NONE__'"/>
|
||||
<xsl:param name="iBifCol" select="'__NONE__'"/>
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:if test="not($iBifCol = '__NONE__')">
|
||||
<xsl:attribute name="RGB_FG"><xsl:value-of select="$iBifCol"/></xsl:attribute>
|
||||
</xsl:if>
|
||||
<!--
|
||||
<xsl:attribute name="ID"><xsl:value-of select="$iModRef/@INSTANCE"/>.<xsl:value-of select="$iBifRef/@NAME"/></xsl:attribute>
|
||||
-->
|
||||
<xsl:attribute name="ID"><xsl:value-of select="$iBifRef/@NAME"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">BUSINTERFACE</xsl:attribute>
|
||||
|
||||
<xsl:if test="($iBifRef/@TYPE = 'MONITOR')">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@IS_P2P)">
|
||||
<xsl:attribute name="IS_P2P_MONITOR">TRUE</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="IS_SHARED_MONITOR">TRUE</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:if>
|
||||
|
||||
<!-- CR452579 Can only modify INSTANCE name in Hierarchal view. -->
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$iModRef/@INSTANCE}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Bus Interface" NAME="NAME" VALUE="{$iBifRef/@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$iModRef/@MODTYPE}" VIEWICON="{$iModRef/LICENSEINFO/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$iModRef/@HWVERSION}"/>
|
||||
|
||||
<xsl:variable name="ipClassification_">
|
||||
<xsl:call-template name="F_ModClass_To_IpClassification">
|
||||
<xsl:with-param name="iModClass" select="$iModRef/@MODCLASS"/>
|
||||
<xsl:with-param name="iBusStd" select="$iBifRef/@BUSSTD"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Classification" NAME="IPCLASS" VALUE="{$ipClassification_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Type" NAME="TYPE" VALUE="{$iBifRef/@TYPE}"/>
|
||||
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Standard</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSSTD</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@BUS_STD)">
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUS_STD"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="($iBifRef/@BUSSTD)">
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSSTD"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE">USER</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBifRef/@TYPE = 'INITIATOR'">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">TEXTBOX</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
|
||||
<xsl:variable name="def_noc_name_"><xsl:value-of select="$iModRef/@INSTANCE"/>_<xsl:value-of select="$iBifRef/@NAME"/></xsl:variable>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$def_noc_name_"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="(($iBifRef/@BUSNAME = '__NOC__') or ($iBifRef/@BUSNAME = '') or not($iBifRef/@BUSNAME))">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@BUSSTD = 'AXI') and ($iBifRef/@TYPE = 'SLAVE') and ($G_HAVE_XB_BUSSES = 'TRUE'))">
|
||||
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE">No Connection</xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($iBifRef/@TYPE = 'MONITOR') and ($iBifRef/MONITORS/MONITOR))">
|
||||
<xsl:variable name="monitorBif_" select="$iBifRef/MONITORS/MONITOR"/>
|
||||
<xsl:variable name="p2pMonConn_" select="concat($monitorBif_/@INSTANCE,'.',$monitorBif_/@BUSINTERFACE)"/>
|
||||
<!--
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$p2pMonConn_}"/>
|
||||
-->
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$p2pMonConn_"/></xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($iBifRef/@TYPE = 'SLAVE')">
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBifRef/@BUSSTD = 'AXI' and $G_HAVE_XB_BUSSES ='TRUE'">
|
||||
<xsl:attribute name="VIEWTYPE">BUTTON</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBifRef/MASTERS/MASTER">
|
||||
<xsl:variable name="mastersList_"><xsl:for-each select="$iBifRef/MASTERS/MASTER"><xsl:if test="position() > 1"> & </xsl:if><xsl:value-of select="concat(@INSTANCE,'.',@BUSINTERFACE)"/></xsl:for-each></xsl:variable>
|
||||
<xsl:variable name="mastersConn_" select="concat($iBifRef/@BUSNAME,':',$mastersList_)"/>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$mastersConn_"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!--
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Bus Name" NAME="BUSNAME" VALUE="{$iBifRef/@BUSNAME}"/>
|
||||
-->
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="VIEWTYPE">DROPDOWN</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Bus Name</xsl:attribute>
|
||||
<xsl:attribute name="NAME">BUSNAME</xsl:attribute>
|
||||
<xsl:attribute name="VALUE"><xsl:value-of select="$iBifRef/@BUSNAME"/></xsl:attribute>
|
||||
<xsl:if test="$G_ADD_CHOICES = 'TRUE'">
|
||||
<xsl:call-template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
<xsl:with-param name="iModRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iBifRef" select="$iBifRef"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_BIF_BUSNAME_CHOICES">
|
||||
|
||||
<xsl:param name="iModRef" select="None"/>
|
||||
<xsl:param name="iBifRef" select="None"/>
|
||||
|
||||
<xsl:variable name="b_bus_" select="$iBifRef/@BUSNAME"/>
|
||||
<xsl:variable name="b_name_" select="$iBifRef/@NAME"/>
|
||||
<xsl:variable name="b_type_" select="$iBifRef/@TYPE"/>
|
||||
<xsl:variable name="b_bstd_" select="$iBifRef/@BUSSTD"/>
|
||||
<xsl:variable name="b_bstd_psf_" select="$iBifRef/@BUSSTD_PSF"/>
|
||||
<xsl:variable name="b_protocol_" select="$iBifRef/@PROTOCOL"/>
|
||||
|
||||
<xsl:element name="CHOICES">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($b_type_ = 'INITIATOR')">
|
||||
<xsl:variable name="initiator_busName_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($b_bus_ = '__NOC__')"><xsl:value-of select="concat($iModRef/@INSTANCE,'_',$b_name_)"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$b_bus_"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<CHOICE NAME="{$initiator_busName_}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(($b_type_ = 'MASTER') or ($b_type_ = 'SLAVE') or ($b_type_ = 'MASTER_SLAVE'))">
|
||||
<CHOICE NAME="No Connection"/>
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
|
||||
<xsl:if test="not(($b_bstd_ = 'AXI') and ($b_type_ = 'SLAVE'))">
|
||||
<CHOICE NAME="New Connection"/>
|
||||
</xsl:if>
|
||||
<xsl:for-each select="key('G_MAP_BUSSES',$b_bstd_)">
|
||||
<xsl:variable name="busName_" select="@INSTANCE"/>
|
||||
<xsl:choose>
|
||||
<!-- CR#590473 This was setting wrong choices filled up-->
|
||||
<!--xsl:when test="(($b_type_ = 'SLAVE') and (@IS_CROSSBAR) and $iBifRef/@PROTOCOL)">
|
||||
<xsl:for-each select="key('G_MAP_MST_BIFS',$busName_)[(not(@PROTOCOL) or (@PROTOCOL = $b_protocol_) or (@PROTOCOL = 'GENERIC'))]">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<xsl:variable name="xb_slave_busName_" select="concat($busName_,':',$insName_,'.',$bifName_)"/>
|
||||
<CHOICE NAME="{$xb_slave_busName_}"/>
|
||||
</xsl:for-each>
|
||||
</xsl:when-->
|
||||
<xsl:when test="($b_type_ = 'SLAVE') and (@IS_CROSSBAR)">
|
||||
<xsl:for-each select="key('G_MAP_MST_BIFS',$busName_)">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<xsl:variable name="xb_slave_busName_" select="concat($busName_,':',$insName_,'.',$bifName_)"/>
|
||||
<CHOICE NAME="{$xb_slave_busName_}"/>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CHOICE NAME="{$busName_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($b_type_ = 'TARGET')">
|
||||
<CHOICE NAME="No Connection"/>
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
|
||||
<xsl:variable name="use_bstd_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($b_bstd_ = 'AXIS') or ($b_bstd_ = 'XIL'))">
|
||||
<xsl:value-of select="$b_bstd_psf_"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$b_bstd_"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$iBifRef/@PROTOCOL">
|
||||
<xsl:for-each select="key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR') and (not(@PROTOCOL) or (@PROTOCOL = $b_protocol_) or (@PROTOCOL = 'GENERIC') or ($b_protocol_ = 'GENERIC'))]">
|
||||
<xsl:variable name="busName_" select="@BUSNAME"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="($busName_ = '__NOC__')">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<xsl:variable name="initiator_busName_" select="concat($insName_,'_',$bifName_)"/>
|
||||
<CHOICE NAME="{$initiator_busName_}"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CHOICE NAME="{$busName_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR')]">
|
||||
<xsl:variable name="busName_" select="@BUSNAME"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="($busName_ = '__NOC__')">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<xsl:variable name="initiator_busName_" select="concat($insName_,'_',$bifName_)"/>
|
||||
<CHOICE NAME="{$initiator_busName_}"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CHOICE NAME="{$busName_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($b_type_ = 'MONITOR')">
|
||||
<CHOICE NAME="No Connection"/>
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iBifRef/@IS_P2P = 'TRUE')">
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To set correct scope for KEY functions below -->
|
||||
<xsl:variable name="use_bstd_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(($b_bstd_ = 'AXIS') or ($b_bstd_ = 'XIL'))">
|
||||
<xsl:value-of select="$b_bstd_psf_"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$b_bstd_"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<!-- <xsl:message>monitor p2p <xsl:value-of select="count(key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR')])"/> </xsl:message> -->
|
||||
<xsl:for-each select="key('G_MAP_P2P_BIFS',$use_bstd_)[(@TYPE = 'INITIATOR')]">
|
||||
<xsl:variable name="busName_" select="@BUSNAME"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="($busName_ = '__NOC__')">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<xsl:variable name="initiator_busName_" select="concat($insName_,'_',$bifName_)"/>
|
||||
<CHOICE NAME="{$initiator_busName_}"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CHOICE NAME="{$busName_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="key('G_MAP_BUSSES',$b_bstd_)">
|
||||
<xsl:variable name="busName_" select="@INSTANCE"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@IS_CROSSBAR or ($b_bstd_ = 'AXI'))">
|
||||
<xsl:for-each select="key('G_MAP_MOS_BIFS',$busName_)">
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="insName_" select="../../@INSTANCE"/>
|
||||
<!--
|
||||
<xsl:variable name="xb_moni_busName_" select="concat($busName_,':',$insName_,'.',$bifName_)"/>
|
||||
-->
|
||||
<xsl:variable name="xb_moni_busName_" select="concat($insName_,'.',$bifName_)"/>
|
||||
<CHOICE NAME="{$xb_moni_busName_}"/>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CHOICE NAME="{$busName_}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,940 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
|
||||
<!DOCTYPE stylesheet [
|
||||
<!ENTITY UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
|
||||
<!ENTITY LOWERCASE "abcdefghijklmnopqrstuvwxyz">
|
||||
|
||||
<!ENTITY UPPER2LOWER " '&UPPERCASE;' , '&LOWERCASE;' ">
|
||||
<!ENTITY LOWER2UPPER " '&LOWERCASE;' , '&UPPERCASE;' ">
|
||||
|
||||
<!ENTITY ALPHALOWER "ABCDEFxX0123456789">
|
||||
<!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:dyn="http://exslt.org/dynamic"
|
||||
xmlns:math="http://exslt.org/math"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
extension-element-prefixes="math dyn exsl xlink">
|
||||
|
||||
<!--
|
||||
================================================================================
|
||||
Generate XTeller for PORTS
|
||||
================================================================================
|
||||
-->
|
||||
<xsl:param name="SHOW_IOIF" select="'TRUE'"/>
|
||||
<xsl:param name="SHOW_BUSIF" select="'TRUE'"/>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_PORT_TREE">
|
||||
|
||||
<xsl:variable name="num_of_ext_ports_" select="count($G_SYS_EXPS/PORT)"/>
|
||||
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>WRITING PORT in MODE :<xsl:value-of select="@MODE"/></xsl:message>
|
||||
<!--
|
||||
<xsl:message>EXTERNAL PORT <xsl:value-of select="$num_of_ext_ports_"/></xsl:message>
|
||||
-->
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:if test="$num_of_ext_ports_ > 0">
|
||||
<xsl:call-template name="WRITE_VIEW_EXTP_TREE_SET"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE">
|
||||
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
|
||||
<xsl:variable name= "instName_" select="@INSTANCE"/>
|
||||
<xsl:variable name="moduleRef_" select="self::node()"/>
|
||||
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_TREE_SET">
|
||||
<xsl:with-param name="iModRef" select="$moduleRef_"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each> <!-- End of MODULES loop -->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_EXTP_TREE_SET">
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:attribute name="ID">ExternalPorts</xsl:attribute>
|
||||
<xsl:attribute name="CLASS">MODULE</xsl:attribute>
|
||||
|
||||
<xsl:for-each select="$G_SYS_EXPS">
|
||||
|
||||
<xsl:element name="VARIABLE">
|
||||
<xsl:attribute name="NAME">Name</xsl:attribute>
|
||||
<xsl:attribute name="VALUE">External Ports</xsl:attribute>
|
||||
<xsl:attribute name="VIEWDISP">Name</xsl:attribute>
|
||||
<xsl:attribute name="VIEWTYPE">STATIC</xsl:attribute>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:for-each select="PORT">
|
||||
<xsl:sort select="@NAME" order="ascending"/>
|
||||
<!--
|
||||
<xsl:sort data-type="number" select="@MHS_INDEX" order="ascending"/>
|
||||
-->
|
||||
|
||||
<xsl:element name="SET">
|
||||
<xsl:attribute name="ID"><xsl:value-of select="@NAME"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">PORT</xsl:attribute>
|
||||
<xsl:attribute name="ROW_INDEX"><xsl:value-of select="(position() - 1)"/></xsl:attribute>
|
||||
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_EDITABLE="TRUE"/>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="NAME" VALUE="{@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Direction" NAME="DIR" VALUE="{@DIR}"/>
|
||||
|
||||
<xsl:if test="(@SIGIS)">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="{@SIGIS}"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@SIGIS)">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="NONE"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="@LEFT and @RIGHT">
|
||||
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@LEFT"/>:<xsl:value-of select="@RIGHT"/>]</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}">
|
||||
<TOOLTIP><qt><xsl:value-of select="$vecformula_txt_"/></qt></TOOLTIP>
|
||||
</VARIABLE>
|
||||
</xsl:when>
|
||||
<xsl:when test="@MSB and @LSB">
|
||||
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}">
|
||||
<TOOLTIP><qt><xsl:value-of select="$vecformula_txt_"/></qt></TOOLTIP>
|
||||
</VARIABLE>
|
||||
</xsl:when>
|
||||
<xsl:when test="(not(@MSB) and not(@LSB) and not(@SIGIS = 'CLK') and not(@SIGIS = 'CLOCK') and not(@SIGIS = 'DCMCLK') and not(@SIGIS = 'RST') and not(@SIGIS = 'RESET'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE=""/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:if test="((@SIGIS = 'CLK') or (@SIGIS = 'CLOCK') or (@SIGIS = 'DCMCLK'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Frequency(Hz)" NAME="CLKFREQUENCY" VALUE="{@CLKFREQUENCY}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="((@SIGIS = 'CLK') or (@SIGIS = 'CLOCK') or (@SIGIS = 'DCMCLK'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Differential Polarity" NAME="DIFFPOLARITY" VALUE="{@DIFFPOLARITY}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIGIS = 'RST' or @SIGIS = 'RESET')">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Reset Polarity" NAME="RSTPOLARITY" VALUE="{@RSTPOLARITY}"/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:if test="(@SIGIS = 'INTERRUPT')">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
|
||||
</xsl:if>
|
||||
|
||||
<!-- Add connectivity information-->
|
||||
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" />
|
||||
<xsl:variable name="noOFConnections" select="count(CONNECTIONS/CONNECTION)" />
|
||||
<xsl:if test="$noOFConnections != 0" >
|
||||
<!--VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" /-->
|
||||
<CONNECTIONS>
|
||||
<xsl:for-each select="CONNECTIONS/CONNECTION" >
|
||||
<xsl:variable name="iInstance" select="@INSTANCE"/>
|
||||
<xsl:variable name="iPort" select="@PORT"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@BUSINTERFACE">
|
||||
<xsl:variable name="iBusName" select="@BUSINTERFACE"/>
|
||||
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}" BUSINTERFACE="{$iBusName}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="@PORT">
|
||||
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CONNECTION INSTANCE="{$iInstance}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</CONNECTIONS>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
</xsl:element>
|
||||
</xsl:for-each> <!-- End of EXTERNAL PORTS loop -->
|
||||
</xsl:for-each> <!-- End of EXTERNAL PORTS loop -->
|
||||
</xsl:element> <!-- End of EXTERNAL PORTS SET -->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_PORT_TREE_SET">
|
||||
<xsl:param name="iModRef" select="'__NONE__'"/>
|
||||
|
||||
<xsl:variable name="m_inst_" select="$iModRef/@INSTANCE"/>
|
||||
<xsl:variable name="m_class_" select="$iModRef/@MODCLASS"/>
|
||||
<xsl:variable name="m_type_" select="$iModRef/@MODTYPE"/>
|
||||
<xsl:variable name="m_type_lc_" select="translate($m_type_,&UPPER2LOWER;)"/>
|
||||
<xsl:variable name="m_version_" select="$iModRef/@HWVERSION"/>
|
||||
<xsl:variable name="m_licinfo_" select="$iModRef/LICENSEINFO"/>
|
||||
<xsl:variable name="m_ports_" select="$iModRef/PORTS"/>
|
||||
|
||||
<xsl:variable name="is_axi_interconnect_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$m_type_ = 'axi_interconnect'">TRUE</xsl:when>
|
||||
<xsl:when test="$m_type_lc_ = 'axi_interconnect'">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To put things in the right scope for the keys below -->
|
||||
|
||||
<xsl:variable name="m_iofs_all_" select="key('G_MAP_ALL_IOFS', $m_inst_)"/>
|
||||
<xsl:variable name="m_bifs_all_" select="key('G_MAP_ALL_BIFS', $m_inst_)"/>
|
||||
|
||||
<xsl:variable name="m_ports_def_" select="key('G_MAP_DEF_PORTS',$m_inst_)"/>
|
||||
<xsl:variable name="m_ports_ndf_" select="key('G_MAP_NDF_PORTS',$m_inst_)"/>
|
||||
<!--
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'">
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_bifs_all_)"/> valid bifs </xsl:message>
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_iofs_all_)"/> valid iofs </xsl:message>
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_ports_def_)"/> default ports </xsl:message>
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_ports_ndf_)"/> non default ports </xsl:message>
|
||||
<xsl:message></xsl:message>
|
||||
</xsl:if>
|
||||
-->
|
||||
|
||||
<SET ID="{$m_inst_}" CLASS="MODULE" MODCLASS="{$m_class_}">
|
||||
<!-- CR452579
|
||||
Can only modify INSTANCE name in Hierarchal view.
|
||||
-->
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Name" NAME="INSTANCE" VALUE="{$m_inst_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$m_type_}" VIEWICON="{$m_licinfo_/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$m_version_}"/>
|
||||
|
||||
<!--
|
||||
CR582477,
|
||||
(among others) special case of axi_interconnect_aclk which is a member of
|
||||
a bus interface, but should be treated as a non interface port, (i.e. appear even
|
||||
if the bus interfaces its a member of is invalid.
|
||||
-->
|
||||
<xsl:if test="($is_axi_interconnect_ = 'TRUE')">
|
||||
<!-- do it this way so we also catch the lower-upper case mismatches -->
|
||||
<xsl:for-each select="key('G_MAP_ALL_PORTS',$m_inst_)[contains(@SIGIS,'CLK')]">
|
||||
<xsl:variable name="uc_portName_" select="translate(@NAME,&LOWER2UPPER;)"/>
|
||||
<xsl:if test="($uc_portName_= 'INTERCONNECT_ACLK')">
|
||||
<!--
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/>.<xsl:value-of select="@NAME"/> = <xsl:value-of select="@SIGIS"/></xsl:message>
|
||||
-->
|
||||
<xsl:variable name="portName_" select="@NAME"/>
|
||||
<xsl:variable name="portDir_" select="@DIR"/>
|
||||
<xsl:variable name="portSig_" select="@SIGNAME"/>
|
||||
|
||||
<xsl:variable name="portSigIs_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@SIGIS)">__NONE__</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="@SIGIS"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portSensi_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SENSITIVITY)"><xsl:value-of select="@SENSITIVIITY"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portVecFormula_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@VECFORMULA"><xsl:value-of select="@VECFORMULA"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portRange_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@MSB and @LSB">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="WRITE_PORT_SET">
|
||||
<xsl:with-param name="iName" select="$portName_"/>
|
||||
<xsl:with-param name="iDir" select="$portDir_"/>
|
||||
<xsl:with-param name="iSigName" select="$portSig_"/>
|
||||
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
|
||||
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
|
||||
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
|
||||
<xsl:with-param name="iPortRange" select="$portRange_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
|
||||
<!-- PORTS not part of an INTERFACE -->
|
||||
<xsl:for-each select="$m_ports_ndf_">
|
||||
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
<xsl:variable name="uc_portName_" select="translate(@NAME,&LOWER2UPPER;)"/>
|
||||
|
||||
<!--
|
||||
<xsl:if test="((not(@BUS) and not(@IOS)) or (($is_axi_interconnect_ = 'TRUE') and ($uc_portName_= 'INTERCONNECT_ACLK')))">
|
||||
</xsl:if>
|
||||
-->
|
||||
|
||||
|
||||
<xsl:variable name="portName_" select="@NAME"/>
|
||||
<xsl:variable name="portDir_" select="@DIR"/>
|
||||
<xsl:variable name="portSig_" select="@SIGNAME"/>
|
||||
|
||||
<xsl:variable name="portSigIs_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@SIGIS)">__NONE__</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="@SIGIS"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portSensi_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@SENSITIVITY)"><xsl:value-of select="@SENSITIVITY"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portVecFormula_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@VECFORMULA"><xsl:value-of select="@VECFORMULA"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="portRange_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@MSB and @LSB">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<xsl:call-template name="WRITE_PORT_SET">
|
||||
<xsl:with-param name="iName" select="$portName_"/>
|
||||
<xsl:with-param name="iDir" select="$portDir_"/>
|
||||
<xsl:with-param name="iSigName" select="$portSig_"/>
|
||||
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
|
||||
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
|
||||
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
|
||||
<xsl:with-param name="iPortRange" select="$portRange_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each> <!-- END of PORTS NOT OF INTERFACE -->
|
||||
|
||||
<!-- PORTS part of a BUSINTERFACE -->
|
||||
<xsl:if test="$SHOW_BUSIF = 'TRUE'">
|
||||
<xsl:for-each select="$m_bifs_all_">
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="bifName_" select="@NAME"/>
|
||||
<xsl:variable name="bifRef_" select="self::node()"/>
|
||||
<xsl:variable name="portmapsRef_" select="$bifRef_/PORTMAPS"/>
|
||||
|
||||
<!--
|
||||
<xsl:variable name="bpmsCnt_" select="count($bpmsRef_/PORTMAP)"/>
|
||||
<xsl:message><xsl:value-of select="$instName_"/>.<xsl:value-of select="$bifName_"/>.<xsl:value-of select="$bpmsCnt_"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="is_external_">
|
||||
<xsl:call-template name="F_IS_Interface_External">
|
||||
<xsl:with-param name="iInstRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iIntfRef" select="$bifRef_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="bif_connection_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(@BUSNAME = '__NOC__')">Connected to BUS <xsl:value-of select="@BUSNAME"/></xsl:when>
|
||||
<xsl:when test="($is_external_ = 'TRUE')">Connected to External Ports</xsl:when>
|
||||
<xsl:otherwise>Not connected to BUS or External Ports</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!-- <SET ID="{@NAME}" CLASS="BUSINTERFACE.PORTS"/> -->
|
||||
<xsl:element name="SET">
|
||||
|
||||
<xsl:attribute name="ID"><xsl:value-of select="@NAME"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">BUSINTERFACE.PORTS</xsl:attribute>
|
||||
|
||||
<xsl:if test="$is_external_ = 'TRUE'">
|
||||
<xsl:attribute name="IS_EXTERNAL">TRUE</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="(BUS_IF) {@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="BUSINTERFACE.CONNECTION" VALUE="{$bif_connection_}"/>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="{$bif_connection_}"/>
|
||||
|
||||
<xsl:for-each select="$portmapsRef_/PORTMAP">
|
||||
|
||||
<xsl:variable name="portDir_" select="@DIR"/>
|
||||
<xsl:variable name="portName_" select="@PHYSICAL"/>
|
||||
|
||||
<xsl:if test="$m_ports_def_[(@NAME = $portName_)]"><!-- Only in map if port is valid -->
|
||||
|
||||
<!--
|
||||
<xsl:if test="(not($portRef_/@IS_VALID) or ($portRef_/@IS_VALID = 'TRUE'))"/>
|
||||
<xsl:sort select="@MPD_INDEX" order="ascending"/>
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
-->
|
||||
<xsl:variable name="portRef_" select="$m_ports_def_[(@NAME = $portName_)]"/>
|
||||
<xsl:variable name="portSig_" select="$portRef_/@SIGNAME"/>
|
||||
|
||||
<xsl:variable name="portSigIs_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not($portRef_/@SIGIS)">__NONE__</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$portRef_/@SIGIS"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portSensi_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($portRef_/@SENSITIVITY)"><xsl:value-of select="$portRef_/@SENSITIVITY"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portVecFormula_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$portRef_/@VECFORMULA"><xsl:value-of select="$portRef_/@VECFORMULA"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portRange_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$portRef_/@MSB and $portRef_/@LSB">[<xsl:value-of select="$portRef_/@MSB"/>:<xsl:value-of select="$portRef_/@LSB"/>]</xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="WRITE_PORT_SET">
|
||||
<xsl:with-param name="iName" select="$portName_"/>
|
||||
<xsl:with-param name="iDir" select="$portDir_"/>
|
||||
<xsl:with-param name="iSigName" select="$portSig_"/>
|
||||
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
|
||||
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
|
||||
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
|
||||
<xsl:with-param name="iBifPortRef" select="$portRef_"/>
|
||||
<xsl:with-param name="iPortRange" select="$portRange_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:for-each> <!-- END BIF PORTMAPS LOOP -->
|
||||
</xsl:element>
|
||||
</xsl:for-each> <!-- END BIFS LOOP -->
|
||||
</xsl:if> <!-- END IF SHOW_BUSIFS -->
|
||||
|
||||
|
||||
<!-- PORTS part of a IOINTERFACE -->
|
||||
<xsl:if test="$SHOW_IOIF = 'TRUE'">
|
||||
|
||||
<xsl:for-each select="$m_iofs_all_[PORTMAPS/PORTMAP]">
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
|
||||
<xsl:variable name="iifName_" select="@NAME"/>
|
||||
<xsl:variable name="iifRef_" select="self::node()"/>
|
||||
<xsl:variable name="portmapsRef_" select="$iifRef_/PORTMAPS"/>
|
||||
|
||||
<xsl:variable name="is_external_">
|
||||
<xsl:call-template name="F_IS_Interface_External">
|
||||
<xsl:with-param name="iInstRef" select="$iModRef"/>
|
||||
<xsl:with-param name="iIntfRef" select="$iifRef_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="iif_connection_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($is_external_ ='TRUE')">Connected to External Ports</xsl:when>
|
||||
<xsl:otherwise>Not connected to External Ports</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:element name="SET">
|
||||
|
||||
<xsl:attribute name="ID"><xsl:value-of select="@NAME"/></xsl:attribute>
|
||||
<xsl:attribute name="CLASS">IOINTERFACE.PORTS</xsl:attribute>
|
||||
|
||||
<xsl:if test="$is_external_ = 'TRUE'">
|
||||
<xsl:attribute name="IS_EXTERNAL">TRUE</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="(IO_IF) {@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="IOINTERFACE.CONNECTION" VALUE="{$iif_connection_}"/>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="{$iif_connection_}"/>
|
||||
|
||||
<xsl:for-each select="$portmapsRef_/PORTMAP">
|
||||
|
||||
<xsl:variable name="portName_" select="@PHYSICAL"/>
|
||||
<xsl:variable name="portDir_" select="@DIR"/>
|
||||
|
||||
<!--
|
||||
<xsl:variable name="port_is_valid_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$portRef_/@IS_VALID = 'FALSE'">FALSE</xsl:when>
|
||||
<xsl:otherwise>TRUE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
<xsl:message><xsl:value-of select="$portName_"/> : <xsl:value-of select="$port_is_valid_"/> : <xsl:value-of select="$portRef_/@IS_VALID"/></xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:if test="$m_ports_def_[(@NAME = $portName_)]"> <!-- Only in map if port is valid -->
|
||||
<!--
|
||||
<xsl:message><xsl:value-of select="$portName_"/> </xsl:message>
|
||||
-->
|
||||
|
||||
<xsl:variable name="portRef_" select="$m_ports_def_[(@NAME = $portName_)]"/>
|
||||
<xsl:variable name="portSig_" select="$portRef_/@SIGNAME"/>
|
||||
|
||||
<xsl:variable name="portSigIs_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="not($portRef_/@SIGIS)">__NONE__</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="$portRef_/@SIGIS"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portSensi_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($portRef_/@SENSITIVITY)"><xsl:value-of select="$portRef_/@SENSITIVITY"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portVecFormula_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$portRef_/@VECFORMULA"><xsl:value-of select="$portRef_/@VECFORMULA"/></xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="portRange_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$portRef_/@MSB and $portRef_/@LSB">[<xsl:value-of select="$portRef_/@MSB"/>:<xsl:value-of select="$portRef_/@LSB"/>]</xsl:when>
|
||||
<xsl:otherwise>__NONE__</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="WRITE_PORT_SET">
|
||||
<xsl:with-param name="iName" select="$portName_"/>
|
||||
<xsl:with-param name="iDir" select="$portDir_"/>
|
||||
<xsl:with-param name="iSigName" select="$portSig_"/>
|
||||
<xsl:with-param name="iSigIs" select="$portSigIs_"/>
|
||||
<xsl:with-param name="iSensitivity" select="$portSensi_"/>
|
||||
<xsl:with-param name="iVecFormula" select="$portVecFormula_"/>
|
||||
<xsl:with-param name="iBifPortRef" select="$portRef_"/>
|
||||
<xsl:with-param name="iPortRange" select="$portRange_"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if> <!-- End of port is valid check -->
|
||||
</xsl:for-each> <!-- END IO INTERFACE PORTMAPS LOOP -->
|
||||
</xsl:element>
|
||||
</xsl:for-each> <!-- END IIFS LOOP -->
|
||||
</xsl:if> <!-- END IF SHOW_IOIFS -->
|
||||
</SET>
|
||||
|
||||
</xsl:for-each> <!-- End of the scoping for key functions-->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_PORT_FLAT">
|
||||
|
||||
<xsl:if test="$G_DEBUG='TRUE'">
|
||||
<xsl:message>WRITING PORT MODE <xsl:value-of select="@MODE"/></xsl:message>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:variable name="num_of_ext_ports_" select="count($G_SYS_EXPS/PORT)"/>
|
||||
<xsl:if test="$num_of_ext_ports_ > 0">
|
||||
<xsl:call-template name="WRITE_VIEW_EXTP_FLAT_SET"/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS/MODULE">
|
||||
<xsl:sort data-type="number" select="@ROW_INDEX" order="ascending"/>
|
||||
<xsl:variable name="instName_" select="@INSTANCE"/>
|
||||
<xsl:variable name="moduleRef_" select="self::node()"/>
|
||||
|
||||
<xsl:call-template name="WRITE_VIEW_PORT_FLAT_SET">
|
||||
<xsl:with-param name="iModRef" select="$moduleRef_"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:for-each> <!-- End of Modules Loop -->
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_EXTP_FLAT_SET">
|
||||
|
||||
<xsl:for-each select="$G_SYS_EXPS">
|
||||
<xsl:for-each select="PORT[(not(@IS_VALID) or (@IS_VALID = 'TRUE'))]">
|
||||
<xsl:sort data-type="number" select="@MHS_INDEX" order="ascending"/>
|
||||
<xsl:variable name="ext_is_interrupt_">
|
||||
<xsl:if test="@SIGIS = 'INTERRUPT'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@SIGIS = 'INTERRUPT')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<SET ID="{@NAME}" CLASS="PORT">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="External Ports"/>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Port Name" NAME="NAME" VALUE="{@NAME}"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="@LEFT and @RIGHT">
|
||||
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@LEFT"/>:<xsl:value-of select="@RIGHT"/>]</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}">
|
||||
<TOOLTIP><qt><xsl:value-of select="$vecformula_txt_"/></qt></TOOLTIP>
|
||||
</VARIABLE>
|
||||
</xsl:when>
|
||||
<xsl:when test="@MSB and @LSB">
|
||||
<xsl:variable name="vecformula_txt_">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$vecformula_txt_}">
|
||||
<TOOLTIP><qt><xsl:value-of select="$vecformula_txt_"/></qt></TOOLTIP>
|
||||
</VARIABLE>
|
||||
</xsl:when>
|
||||
<xsl:when test="(not(@MSB) and not(@LSB) and not(@SIGIS = 'CLK') and not(@SIGIS = 'CLOCK') and not(@SIGIS = 'DCMCLK') and not(@SIGIS = 'RST') and not(@SIGIS = 'RESET'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Range" NAME="VECFORMULA" VALUE=""/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_EDITABLE="TRUE"/>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Direction" NAME="DIR" VALUE="{@DIR}"/>
|
||||
|
||||
<xsl:if test="(@SIGIS)">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="{@SIGIS}"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(@SIGIS)">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Class" NAME="SIGIS" VALUE="NONE"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="(@SIGIS = 'RST' or @SIGIS = 'RESET')">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Reset Polarity" NAME="RSTPOLARITY" VALUE="{@RSTPOLARITY}"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="((@SIGIS = 'CLK') or (@SIGIS = 'CLOCK') or (@SIGIS = 'DCMCLK'))">
|
||||
<VARIABLE VIEWTYPE="TEXTBOX" VIEWDISP="Frequency(Hz)" NAME="CLKFREQUENCY" VALUE="{@CLKFREQUENCY}"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="((@SIGIS = 'CLK') or (@SIGIS = 'CLOCK') or (@SIGIS = 'DCMCLK'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Differential Polarity" NAME="DIFFPOLARITY" VALUE="{@DIFFPOLARITY}"/>
|
||||
</xsl:if>
|
||||
|
||||
<!-- SENSITIVITY Settings on Interrupt ports -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="((@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and not(@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE=""/>
|
||||
</xsl:when>
|
||||
<xsl:when test="((@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and (@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@SIGNAME = '__DEF__') and ($ext_is_interrupt_ = 'TRUE') and not(@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE=""/>
|
||||
</xsl:when>
|
||||
<xsl:when test="((@SIGNAME = '__DEF__') and ($ext_is_interrupt_ = 'TRUE') and (@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and not(@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE=""/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($ext_is_interrupt_ = 'TRUE') and (@SENSITIVITY))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</SET>
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_VIEW_PORT_FLAT_SET">
|
||||
|
||||
<xsl:param name="iModRef" select="'__NONE__'"/>
|
||||
|
||||
<xsl:variable name="m_inst_" select="$iModRef/@INSTANCE"/>
|
||||
<xsl:variable name="m_class_" select="$iModRef/@MODCLASS"/>
|
||||
<xsl:variable name="m_type_" select="$iModRef/@MODTYPE"/>
|
||||
<xsl:variable name="m_type_lc_" select="translate($m_type_,&UPPER2LOWER;)"/>
|
||||
<xsl:variable name="m_version_" select="$iModRef/@HWVERSION"/>
|
||||
<xsl:variable name="m_licinfo_" select="$iModRef/LICENSEINFO"/>
|
||||
|
||||
<xsl:variable name="is_axi_interconnect_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$m_type_ = 'axi_interconnect'">TRUE</xsl:when>
|
||||
<xsl:when test="$m_type_lc_ = 'axi_interconnect'">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:for-each select="$G_SYS_MODS"> <!-- To put things in the right scope for the keys below -->
|
||||
|
||||
<xsl:variable name="m_bifs_all_" select="key('G_MAP_ALL_BIFS', $m_inst_)"/>
|
||||
<xsl:variable name="m_ports_all_" select="key('G_MAP_ALL_PORTS',$m_inst_)"/>
|
||||
|
||||
<xsl:if test="$G_DEBUG = 'TRUE'">
|
||||
<xsl:message><xsl:value-of select="$m_inst_"/> has <xsl:value-of select="count($m_ports_all_)"/> valid ports </xsl:message>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:for-each select="$m_ports_all_">
|
||||
<xsl:sort data-type="number" select="@MPD_INDEX" order="ascending"/>
|
||||
<!-- <xsl:message>PORTNM : <xsl:value-of select="@NAME"/></xsl:message> -->
|
||||
|
||||
<xsl:variable name="p_nm_uc_" select="translate(@NAME,&LOWER2UPPER;)"/>
|
||||
<xsl:variable name="p_bif_" select="@BUS"/>
|
||||
|
||||
<xsl:variable name="port_is_valid_">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@IS_VALID = 'FALSE'">FALSE</xsl:when>
|
||||
<xsl:when test="(($is_axi_interconnect_ = 'TRUE') and ($p_nm_uc_= 'INTERCONNECT_ACLK'))">TRUE</xsl:when>
|
||||
<xsl:when test="not(@BUS) or (@BUS and key('G_MAP_ALL_BIFS', $m_inst_)[(@NAME = $p_bif_)])">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="$port_is_valid_ = 'TRUE'">
|
||||
<!--
|
||||
<xsl:message>PORT <xsl:value-of select="@BUS"/>.<xsl:value-of select="@NAME"/></xsl:message>
|
||||
-->
|
||||
<SET ID="{@NAME}" CLASS="PORT">
|
||||
<!--
|
||||
CR452579
|
||||
Can only modify INSTANCE name in Hierarchal view.
|
||||
-->
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Instance" NAME="INSTANCE" VALUE="{$m_inst_}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Type" NAME="MODTYPE" VALUE="{$m_type_}" VIEWICON="{$m_licinfo_/@ICON_NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="IP Version" NAME="HWVERSION" VALUE="{$m_version_}"/>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Port Name" NAME="NAME" VALUE="{@NAME}"/>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Direction" NAME="DIR" VALUE="{@DIR}"/>
|
||||
|
||||
<xsl:if test="@SIGIS">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Class" NAME="SIGIS" VALUE="{@SIGIS}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="@MSB and @LSB">
|
||||
<xsl:variable name="portRange_txt_">[<xsl:value-of select="@MSB"/>:<xsl:value-of select="@LSB"/>]</xsl:variable>
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$portRange_txt_}">
|
||||
<TOOLTIP><qt><xsl:value-of select="@VECFORMULA"/></qt> </TOOLTIP>
|
||||
</VARIABLE>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:if test="@SENSITIVITY">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{@SENSITIVITY}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:variable name="is_interrupt">
|
||||
<xsl:if test="@SIGIS = 'INTERRUPT'">TRUE</xsl:if>
|
||||
<xsl:if test="not(@SIGIS = 'INTERRUPT')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="is_input">
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@DIR= 'I')">TRUE</xsl:when>
|
||||
<xsl:when test="(@DIR= 'IN')">TRUE</xsl:when>
|
||||
<xsl:when test="(@DIR= 'INPUT')">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<!-- VECFORMULA Settings if Interrupt settings -->
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="((@SIGNAME = '__NOC__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and not(@VECFORMULA))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@SIGNAME = '__NOC__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and (@VECFORMULA))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="@SIGNAME = '__NOC__'">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_EDITABLE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="((@SIGNAME = '__DEF__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and not(@VECFORMULA))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="((@SIGNAME = '__DEF__') and ($is_interrupt = 'TRUE') and ($is_input = 'TRUE') and (@VECFORMULA))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="@SIGNAME = '__DEF__'">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and (@VECFORMULA))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(not(@SIGNAME = '__DEF__') and not(@SIGNAME = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{@SIGNAME}" IS_EDITABLE="TRUE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</SET>
|
||||
</xsl:if> <!-- End of port validity check -->
|
||||
</xsl:for-each> <!-- End of Ports Loop -->
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="WRITE_PORT_SET">
|
||||
|
||||
<xsl:param name="iName" select="'__NONE__'"/>
|
||||
<xsl:param name="iDir" select="'__NONE__'"/>
|
||||
<xsl:param name="iSigName" select="'__NONE__'"/>
|
||||
<xsl:param name="iSigIs" select="'__NONE__'"/>
|
||||
<xsl:param name="iVecFormula" select="'__NONE__'"/>
|
||||
<xsl:param name="iSensitivity" select="'__NONE__'"/>
|
||||
<xsl:param name="iBifPortRef" select="'__NONE__'"/>
|
||||
<xsl:param name="iPortRange" select="'__NONE__'"/>
|
||||
|
||||
<SET ID="{$iName}" CLASS="PORT">
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="NAME" NAME="NAME" VALUE="{$iName}"/>
|
||||
|
||||
<xsl:variable name="is_interrupt">
|
||||
<xsl:if test="$iSigIs = 'INTERRUPT'">TRUE</xsl:if>
|
||||
<xsl:if test="not($iSigIs = 'INTERRUPT')">FALSE</xsl:if>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="is_input">
|
||||
<xsl:choose>
|
||||
<xsl:when test="($iDir = 'I')">TRUE</xsl:when>
|
||||
<xsl:when test="($iDir = 'IN')">TRUE</xsl:when>
|
||||
<xsl:when test="($iDir = 'INPUT')">TRUE</xsl:when>
|
||||
<xsl:otherwise>FALSE</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="(($iSigName = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and ($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="$iSigName = '__NOC__'">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="No Connection" IS_EDITABLE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(($iSigName = '__DEF__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and ($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(($iSigName = '__DEF__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="($iSigName = '__DEF__')">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="Default Connection"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not($iSigName = '__DEF__') and not($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{$iSigName}" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not($iSigName = '__DEF__') and not($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE'))">
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{$iSigName}" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<VARIABLE VIEWTYPE="DROPDOWN" VIEWDISP="Net" NAME="SIGNAME" VALUE="{$iSigName}" IS_EDITABLE="TRUE"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Direction" NAME="DIR" VALUE="{$iDir}"/>
|
||||
|
||||
<xsl:if test="not($iSigIs = '__NONE__')">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Class" NAME="SIGIS" VALUE="{$iSigIs}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($iPortRange = '__NONE__')">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Range" NAME="VECFORMULA" VALUE="{$iPortRange}" >
|
||||
<TOOLTIP><qt><xsl:value-of select="$iVecFormula"/></qt></TOOLTIP>
|
||||
</VARIABLE>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($iSensitivity = '__NONE__')">
|
||||
<VARIABLE VIEWTYPE="STATIC" VIEWDISP="Sensitivity" NAME="SENSITIVITY" VALUE="{$iSensitivity}"/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="(($iSigName = '__NOC__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and ($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="(($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="No Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(($iSigName = '__DEF__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and ($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(($iSigName = '__DEF__') and ($is_input = 'TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="Default Connection" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not($iSigName = '__DEF__') and not($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE') and not($iVecFormula = '__NONE__'))">
|
||||
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="{$iSigName}" IS_INTERRUPT="{$is_interrupt}" IS_RANGE="TRUE"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="(not($iSigName = '__DEF__') and not($iSigName = '__NOC__') and ($is_input ='TRUE') and ($is_interrupt = 'TRUE'))">
|
||||
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" VALUE="{$iSigName}" IS_INTERRUPT="{$is_interrupt}"/>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:variable name="noOFConnections" select="count(CONNECTIONS/CONNECTION)" />
|
||||
<xsl:if test="$noOFConnections != 0" >
|
||||
<!--VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" /-->
|
||||
<CONNECTIONS>
|
||||
<xsl:for-each select="CONNECTIONS/CONNECTION" >
|
||||
<xsl:variable name="iInstance" select="@INSTANCE"/>
|
||||
<xsl:variable name="iPort" select="@PORT"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@BUSINTERFACE">
|
||||
<xsl:variable name="iBusName" select="@BUSINTERFACE"/>
|
||||
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}" BUSINTERFACE="{$iBusName}"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="@PORT">
|
||||
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CONNECTION INSTANCE="{$iInstance}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</CONNECTIONS>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
|
||||
<!-->xsl:message Check for bus interface ports -->
|
||||
<xsl:if test="$iBifPortRef != '__NONE__'">
|
||||
|
||||
<!--ANUJDEBUG VALUE="WRITINF INTERFACE PORT"/-->
|
||||
<xsl:variable name="noOfIfConnections" select="$iBifPortRef/CONNECTIONS/CONNECTION"/>
|
||||
<xsl:if test="$noOfIfConnections != 0">
|
||||
<!--VARIABLE VIEWTYPE="LISTVIEW" VIEWDISP="Connected Port" NAME="CONNECTIVITY" /-->
|
||||
<CONNECTIONS>
|
||||
<xsl:for-each select="$iBifPortRef/CONNECTIONS/CONNECTION" >
|
||||
<xsl:variable name="iInstance" select="@INSTANCE"/>
|
||||
<xsl:variable name="iPort" select="@PORT"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@BUSINTERFACE">
|
||||
<xsl:variable name="iBusName" select="@BUSINTERFACE"/>
|
||||
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}" BUSINTERFACE="{$iBusName}"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<CONNECTION INSTANCE="{$iInstance}" PORT="{$iPort}"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</CONNECTIONS>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
|
||||
</SET>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
|
||||
<SAV MODE="TREE" VIEW="ADDRESS"/>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<Simulation_deps>
|
||||
|
||||
<Version XPSPNVER="1.0" EDKVER="14.7" />
|
||||
<FPGA family="spartan6" device="xc6slx9" package="tqg144" speedgrade="-2" />
|
||||
<File Type="MHS" URL="../../test.mhs" />
|
||||
|
||||
|
||||
</Simulation_deps>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<Synthesis_deps>
|
||||
|
||||
<Version XPSPNVER="1.0" EDKVER="14.7" />
|
||||
<FPGA family="spartan6" device="xc6slx9" package="tqg144" speedgrade="-2" />
|
||||
<File Type="MHS" URL="../../test.mhs" />
|
||||
<File Type="UCF" URL="../../data/test.ucf" />
|
||||
<File Type="PlatgenOpt" URL="../platgen.opt" />
|
||||
|
||||
|
||||
</Synthesis_deps>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<Update_bits_deps>
|
||||
|
||||
<Version XPSPNVER="1.0" EDKVER="14.7" />
|
||||
<FPGA family="spartan6" device="xc6slx9" package="tqg144" speedgrade="-2" />
|
||||
<File Type="MHS" URL="../../test.mhs" />
|
||||
<File Type="UCF" URL="../../data/test.ucf" />
|
||||
<File Type="BitinitOpt" URL="../bitinit.opt" />
|
||||
|
||||
|
||||
</Update_bits_deps>
|
|
@ -1,216 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<report-views version="2.0" >
|
||||
<header>
|
||||
<DateModified>2020-09-14T18:26:05</DateModified>
|
||||
<ModuleName>test</ModuleName>
|
||||
<SummaryTimeStamp>2020-09-14T18:26:05</SummaryTimeStamp>
|
||||
<SavedFilePath>/home/tim/Projects/fpga/micro_test/test/__xps/ise/test.xreport</SavedFilePath>
|
||||
<FilterFile>filter.filter</FilterFile>
|
||||
<SavedFilterFilePath>/home/tim/Projects/fpga/micro_test/test/__xps/ise</SavedFilterFilePath>
|
||||
<DateInitialized>2020-09-14T18:26:05</DateInitialized>
|
||||
<EnableMessageFiltering>false</EnableMessageFiltering>
|
||||
</header>
|
||||
<body>
|
||||
<viewgroup label="Design Overview" >
|
||||
<view inputState="Unknown" program="implementation" ShowPartitionData="false" type="FPGASummary" file="implementation/test_summary.html" label="Summary" >
|
||||
<toc-item title="Design Overview" target="Design Overview" />
|
||||
<toc-item title="Design Utilization Summary" target="Design Utilization Summary" />
|
||||
<toc-item title="Performance Summary" target="Performance Summary" />
|
||||
<toc-item title="Failing Constraints" target="Failing Constraints" />
|
||||
<toc-item title="Detailed Reports" target="Detailed Reports" />
|
||||
</view>
|
||||
<view inputState="Unknown" program="implementation" contextTags="FPGA_ONLY" hidden="true" type="HTML" file="implementation/test_envsettings.html" label="System Settings" />
|
||||
<view inputState="Translated" program="map" locator="MAP_IOB_TABLE" contextTags="FPGA_ONLY" type="IOBProperties" file="implementation/test_map.xrpt" label="IOB Properties" />
|
||||
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Control_Sets" file="implementation/test_map.xrpt" label="Control Set Information" />
|
||||
<view inputState="Translated" program="map" locator="MAP_MODULE_HIERARCHY" contextTags="FPGA_ONLY" type="Module_Utilization" file="implementation/test_map.xrpt" label="Module Level Utilization" />
|
||||
<view inputState="Mapped" program="par" locator="CONSTRAINT_TABLE" contextTags="FPGA_ONLY" type="ConstraintsData" file="implementation/test.ptwx" label="Timing Constraints" translator="ptwxToTableXML.xslt" />
|
||||
<view inputState="Mapped" program="par" locator="PAR_PINOUT_BY_PIN_NUMBER" contextTags="FPGA_ONLY" type="PinoutData" file="implementation/test_par.xrpt" label="Pinout Report" />
|
||||
<view inputState="Mapped" program="par" locator="PAR_CLOCK_TABLE" contextTags="FPGA_ONLY" type="ClocksData" file="implementation/test_par.xrpt" label="Clock Report" />
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY,EDK_OFF" hidden="true" type="Timing_Analyzer" file="implementation/test.twx" label="Static Timing" />
|
||||
<view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="implementation/test_html/fit/report.htm" label="CPLD Fitter Report" />
|
||||
<view inputState="Fitted" program="taengine" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="EXTERNAL_HTML" file="implementation/test_html/tim/report.htm" label="CPLD Timing Report" />
|
||||
</viewgroup>
|
||||
<viewgroup label="XPS Errors and Warnings" >
|
||||
<view program="platgen" WrapMessages="true" contextTags="EDK_ON" hidden="false" type="MessageList" hideColumns="Filtered" file="__xps/ise/_xmsgs/platgen.xmsgs" label="Platgen Messages" />
|
||||
<view program="simgen" WrapMessages="true" contextTags="EDK_ON" hidden="false" type="MessageList" hideColumns="Filtered" file="__xps/ise/_xmsgs/simgen.xmsgs" label="Simgen Messages" />
|
||||
<view program="bitinit" WrapMessages="true" contextTags="EDK_ON" hidden="false" type="MessageList" hideColumns="Filtered" file="__xps/ise/_xmsgs/bitinit.xmsgs" label="BitInit Messages" />
|
||||
</viewgroup>
|
||||
<viewgroup label="XPS Reports" >
|
||||
<view inputState="PreSynthesized" program="platgen" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="platgen.log" label="Platgen Log File" />
|
||||
<view inputState="PreSynthesized" program="simgen" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="simgen.log" label="Simgen Log File" />
|
||||
<view inputState="PreSynthesized" program="bitinit" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="bitinit.log" label="BitInit Log File" />
|
||||
<view inputState="PreSynthesized" program="system" contextTags="EDK_ON" hidden="false" type="Secondary_Report" file="test.log" label="System Log File" />
|
||||
</viewgroup>
|
||||
<viewgroup label="Errors and Warnings" >
|
||||
<view program="pn" WrapMessages="true" contextTags="EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered, New" file="implementation/_xmsgs/pn_parser.xmsgs" label="Parser Messages" />
|
||||
<view program="xst" WrapMessages="true" contextTags="XST_ONLY,EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered" file="synthesis/_xmsgs/xst.xmsgs" label="Synthesis Messages" />
|
||||
<view inputState="Synthesized" program="ngdbuild" WrapMessages="true" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/ngdbuild.xmsgs" label="Translation Messages" />
|
||||
<view inputState="Translated" program="map" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/map.xmsgs" label="Map Messages" />
|
||||
<view inputState="Mapped" program="par" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/par.xmsgs" label="Place and Route Messages" />
|
||||
<view inputState="Routed" program="trce" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/trce.xmsgs" label="Timing Messages" />
|
||||
<view inputState="Routed" program="xpwr" WrapMessages="true" contextTags="EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/xpwr.xmsgs" label="Power Messages" />
|
||||
<view inputState="Routed" program="bitgen" WrapMessages="true" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/bitgen.xmsgs" label="Bitgen Messages" />
|
||||
<view inputState="Translated" program="cpldfit" WrapMessages="true" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/cpldfit.xmsgs" label="Fitter Messages" />
|
||||
<view inputState="Current" program="implementation" WrapMessages="true" fileList="_xmsgs/xst.xmsgs,_xmsgs/ngdbuild.xmsgs,_xmsgs/map.xmsgs,_xmsgs/par.xmsgs,_xmsgs/trce.xmsgs,_xmsgs/xpwr.xmsgs,_xmsgs/bitgen.xmsgs" contextTags="FPGA_ONLY" type="MessageList" hideColumns="Filtered" file="implementation/_xmsgs/*.xmsgs" label="All Implementation Messages" />
|
||||
<view inputState="Current" program="fitting" WrapMessages="true" fileList="_xmsgs/xst.xmsgs,_xmsgs/ngdbuild.xmsgs,_xmsgs/cpldfit.xmsgs,_xmsgs/xpwr.xmsgs" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="CPLD_MessageList" hideColumns="Filtered" file="implementation/_xmsgs/*.xmsgs" label="All Implementation Messages (CPLD)" />
|
||||
</viewgroup>
|
||||
<viewgroup label="Detailed Reports" >
|
||||
<view program="xst" contextTags="XST_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation/test.syr" label="Synthesis Report" >
|
||||
<toc-item title="Top of Report" target="Copyright " searchDir="Forward" />
|
||||
<toc-item title="Synthesis Options Summary" target=" Synthesis Options Summary " />
|
||||
<toc-item title="HDL Compilation" target=" HDL Compilation " />
|
||||
<toc-item title="Design Hierarchy Analysis" target=" Design Hierarchy Analysis " />
|
||||
<toc-item title="HDL Analysis" target=" HDL Analysis " />
|
||||
<toc-item title="HDL Parsing" target=" HDL Parsing " />
|
||||
<toc-item title="HDL Elaboration" target=" HDL Elaboration " />
|
||||
<toc-item title="HDL Synthesis" target=" HDL Synthesis " />
|
||||
<toc-item title="HDL Synthesis Report" target="HDL Synthesis Report" searchCnt="2" searchDir="Backward" subItemLevel="1" />
|
||||
<toc-item title="Advanced HDL Synthesis" target=" Advanced HDL Synthesis " searchDir="Backward" />
|
||||
<toc-item title="Advanced HDL Synthesis Report" target="Advanced HDL Synthesis Report" subItemLevel="1" />
|
||||
<toc-item title="Low Level Synthesis" target=" Low Level Synthesis " />
|
||||
<toc-item title="Partition Report" target=" Partition Report " />
|
||||
<toc-item title="Final Report" target=" Final Report " />
|
||||
<toc-item title="Design Summary" target=" Design Summary " />
|
||||
<toc-item title="Primitive and Black Box Usage" target="Primitive and Black Box Usage:" subItemLevel="1" />
|
||||
<toc-item title="Device Utilization Summary" target="Device utilization summary:" subItemLevel="1" />
|
||||
<toc-item title="Partition Resource Summary" target="Partition Resource Summary:" subItemLevel="1" />
|
||||
<toc-item title="Timing Report" target="Timing Report" subItemLevel="1" />
|
||||
<toc-item title="Clock Information" target="Clock Information" subItemLevel="2" />
|
||||
<toc-item title="Asynchronous Control Signals Information" target="Asynchronous Control Signals Information" subItemLevel="2" />
|
||||
<toc-item title="Timing Summary" target="Timing Summary" subItemLevel="2" />
|
||||
<toc-item title="Timing Details" target="Timing Details" subItemLevel="2" />
|
||||
<toc-item title="Cross Clock Domains Report" target="Cross Clock Domains Report:" subItemLevel="2" />
|
||||
</view>
|
||||
<view program="synplify" contextTags="SYNPLIFY_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation/test.srr" label="Synplify Report" />
|
||||
<view program="precision" contextTags="PRECISION_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation/test.prec_log" label="Precision Report" />
|
||||
<view inputState="Synthesized" program="ngdbuild" type="Report" file="implementation/test.bld" label="Translation Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Command Line" target="Command Line:" />
|
||||
<toc-item title="Partition Status" target="Partition Implementation Status" />
|
||||
<toc-item title="Final Summary" target="NGDBUILD Design Results Summary:" />
|
||||
</view>
|
||||
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" type="Report" file="implementation/test_map.mrp" label="Map Report" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
<toc-item title="Section 1: Errors" target="Section 1 -" searchDir="Backward" />
|
||||
<toc-item title="Section 2: Warnings" target="Section 2 -" searchDir="Backward" />
|
||||
<toc-item title="Section 3: Infos" target="Section 3 -" searchDir="Backward" />
|
||||
<toc-item title="Section 4: Removed Logic Summary" target="Section 4 -" searchDir="Backward" />
|
||||
<toc-item title="Section 5: Removed Logic" target="Section 5 -" searchDir="Backward" />
|
||||
<toc-item title="Section 6: IOB Properties" target="Section 6 -" searchDir="Backward" />
|
||||
<toc-item title="Section 7: RPMs" target="Section 7 -" searchDir="Backward" />
|
||||
<toc-item title="Section 8: Guide Report" target="Section 8 -" searchDir="Backward" />
|
||||
<toc-item title="Section 9: Area Group and Partition Summary" target="Section 9 -" searchDir="Backward" />
|
||||
<toc-item title="Section 10: Timing Report" target="Section 10 -" searchDir="Backward" />
|
||||
<toc-item title="Section 11: Configuration String Details" target="Section 11 -" searchDir="Backward" />
|
||||
<toc-item title="Section 12: Control Set Information" target="Section 12 -" searchDir="Backward" />
|
||||
<toc-item title="Section 13: Utilization by Hierarchy" target="Section 13 -" searchDir="Backward" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" type="Report" file="implementation/test.par" label="Place and Route Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Device Utilization" target="Device Utilization Summary:" />
|
||||
<toc-item title="Router Information" target="Starting Router" />
|
||||
<toc-item title="Partition Status" target="Partition Implementation Status" />
|
||||
<toc-item title="Clock Report" target="Generating Clock Report" />
|
||||
<toc-item title="Timing Results" target="Timing Score:" />
|
||||
<toc-item title="Final Summary" target="Peak Memory Usage:" />
|
||||
</view>
|
||||
<view inputState="Routed" program="trce" contextTags="FPGA_ONLY" type="Report" file="implementation/test.twr" label="Post-PAR Static Timing Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Timing Report Description" target="Device,package,speed:" />
|
||||
<toc-item title="Informational Messages" target="INFO:" />
|
||||
<toc-item title="Warning Messages" target="WARNING:" />
|
||||
<toc-item title="Timing Constraints" target="Timing constraint:" />
|
||||
<toc-item title="Derived Constraint Report" target="Derived Constraint Report" />
|
||||
<toc-item title="Data Sheet Report" target="Data Sheet report:" />
|
||||
<toc-item title="Timing Summary" target="Timing summary:" />
|
||||
<toc-item title="Trace Settings" target="Trace Settings:" />
|
||||
</view>
|
||||
<view inputState="Translated" program="cpldfit" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation/test.rpt" label="CPLD Fitter Report (Text)" >
|
||||
<toc-item title="Top of Report" target="cpldfit:" searchDir="Forward" />
|
||||
<toc-item title="Resources Summary" target="** Mapped Resource Summary **" />
|
||||
<toc-item title="Pin Resources" target="** Pin Resources **" />
|
||||
<toc-item title="Global Resources" target="** Global Control Resources **" />
|
||||
</view>
|
||||
<view inputState="Fitted" program="taengine" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Report" file="implementation/test.tim" label="CPLD Timing Report (Text)" >
|
||||
<toc-item title="Top of Report" target="Performance Summary Report" searchDir="Forward" />
|
||||
<toc-item title="Performance Summary" target="Performance Summary:" />
|
||||
</view>
|
||||
<view inputState="Routed" program="xpwr" contextTags="EDK_OFF" hidden="true" type="Report" file="implementation/test.pwr" label="Power Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Power summary" target="Power summary" />
|
||||
<toc-item title="Thermal summary" target="Thermal summary" />
|
||||
</view>
|
||||
<view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" type="Report" file="implementation/test.bgn" label="Bitgen Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Bitgen Options" target="Summary of Bitgen Options:" />
|
||||
<toc-item title="Final Summary" target="DRC detected" />
|
||||
</view>
|
||||
</viewgroup>
|
||||
<viewgroup label="Secondary Reports" >
|
||||
<view inputState="PreSynthesized" program="isim" hidden="if_missing" type="Secondary_Report" file="implementation/isim.log" label="ISIM Simulator Log" />
|
||||
<view inputState="Synthesized" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/netgen/synthesis/test_synthesis.nlf" label="Post-Synthesis Simulation Model Report" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Translated" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/netgen/translate/test_translate.nlf" label="Post-Translate Simulation Model Report" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Translated" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/test_tran_fecn.nlf" label="Post-Translate Formality Netlist Report" />
|
||||
<view inputState="Translated" program="map" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="implementation/test_map.map" label="Map Log File" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
<toc-item title="Design Information" target="Design Information" />
|
||||
<toc-item title="Design Summary" target="Design Summary" />
|
||||
</view>
|
||||
<view inputState="Routed" program="smartxplorer" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/smartxplorer_results/smartxplorer.txt" label="SmartXplorer Report" />
|
||||
<view inputState="Mapped" program="trce" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/test_preroute.twr" label="Post-Map Static Timing Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
<toc-item title="Timing Report Description" target="Device,package,speed:" />
|
||||
<toc-item title="Informational Messages" target="INFO:" />
|
||||
<toc-item title="Warning Messages" target="WARNING:" />
|
||||
<toc-item title="Timing Constraints" target="Timing constraint:" />
|
||||
<toc-item title="Derived Constraint Report" target="Derived Constraint Report" />
|
||||
<toc-item title="Data Sheet Report" target="Data Sheet report:" />
|
||||
<toc-item title="Timing Summary" target="Timing summary:" />
|
||||
<toc-item title="Trace Settings" target="Trace Settings:" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/netgen/map/test_map.nlf" label="Post-Map Simulation Model Report" />
|
||||
<view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/test_map.psr" label="Physical Synthesis Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="true" type="Pad_Report" file="implementation/test_pad.txt" label="Pad Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="true" type="Secondary_Report" file="implementation/test.unroutes" label="Unroutes Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="map" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/test_preroute.tsi" label="Post-Map Constraints Interaction Report" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Mapped" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/test.grf" label="Guide Results Report" />
|
||||
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/test.dly" label="Asynchronous Delay Report" />
|
||||
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/test.clk_rgn" label="Clock Region Report" />
|
||||
<view inputState="Routed" program="par" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/test.tsi" label="Post-Place and Route Constraints Interaction Report" >
|
||||
<toc-item title="Top of Report" target="Copyright (c)" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/test_par_fecn.nlf" label="Post-Place and Route Formality Netlist Report" />
|
||||
<view inputState="Routed" program="netgen" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/netgen/par/test_timesim.nlf" label="Post-Place and Route Simulation Model Report" />
|
||||
<view inputState="Routed" program="netgen" hidden="if_missing" type="Secondary_Report" file="implementation/test_sta.nlf" label="Primetime Netlist Report" >
|
||||
<toc-item title="Top of Report" target="Release" searchDir="Forward" />
|
||||
</view>
|
||||
<view inputState="Routed" program="ibiswriter" hidden="if_missing" type="Secondary_Report" file="implementation/test.ibs" label="IBIS Model" >
|
||||
<toc-item title="Top of Report" target="IBIS Models for" searchDir="Forward" />
|
||||
<toc-item title="Component" target="Component " />
|
||||
</view>
|
||||
<view inputState="Routed" program="pin2ucf" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/test.lck" label="Back-annotate Pin Report" >
|
||||
<toc-item title="Top of Report" target="pin2ucf Report File" searchDir="Forward" />
|
||||
<toc-item title="Constraint Conflicts Information" target="Constraint Conflicts Information" />
|
||||
</view>
|
||||
<view inputState="Routed" program="pin2ucf" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/test.lpc" label="Locked Pin Constraints" >
|
||||
<toc-item title="Top of Report" target="top.lpc" searchDir="Forward" />
|
||||
<toc-item title="Newly Added Constraints" target="The following constraints were newly added" />
|
||||
</view>
|
||||
<view inputState="Translated" program="netgen" contextTags="CPLD_ONLY,EDK_OFF" hidden="true" type="Secondary_Report" file="implementation/netgen/fit/test_timesim.nlf" label="Post-Fit Simulation Model Report" />
|
||||
<view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" hidden="if_missing" type="HTML" file="implementation/usage_statistics_webtalk.html" label="WebTalk Report" />
|
||||
<view inputState="Routed" program="bitgen" contextTags="FPGA_ONLY" hidden="if_missing" type="Secondary_Report" file="implementation/webtalk.log" label="WebTalk Log File" />
|
||||
</viewgroup>
|
||||
</body>
|
||||
</report-views>
|
|
@ -1,3 +0,0 @@
|
|||
MessageCaptureEnabled: TRUE
|
||||
MessageFilteringEnabled: FALSE
|
||||
IncrementalMessagingEnabled: TRUE
|
|
@ -1,2 +0,0 @@
|
|||
-p xc6slx9tqg144-2 -lang verilog$(PROJECT_SEARCHPATHOPT) $(GLOBAL_SEARCHPATHOPT) -toplevel no -ti test_i -msg __xps/ise/xmsgprops.lst
|
||||
|
|
@ -1 +0,0 @@
|
|||
-p spartan6 -lang verilog$(PROJECT_SEARCHPATHOPT) $(GLOBAL_SEARCHPATHOPT) -msg __xps/ise/xmsgprops.lst -s isim
|
|
@ -1,10 +0,0 @@
|
|||
|
||||
<EDKSYSTEM EDKVERSION="14.7" EDWVERSION="1.2" TIMESTAMP="Mon Sep 14 18:26:04 2020">
|
||||
|
||||
<SYSTEMINFO ARCH="spartan6" DEVICE="xc6slx9" PACKAGE="tqg144" PART="xc6slx9tqg144-2" SOURCE="/home/tim/Projects/fpga/micro_test/test/test.xmp" SPEEDGRADE="-2"/>
|
||||
|
||||
<EXTERNALPORTS/>
|
||||
|
||||
<MODULES/>
|
||||
|
||||
</EDKSYSTEM>
|
|
@ -1 +0,0 @@
|
|||
-device xc6slx9tqg144-2 data/test.ucf 7 0
|
|
@ -1 +0,0 @@
|
|||
-device xc6slx9tqg144-2 data/test.ucf 0
|
|
@ -1,3 +0,0 @@
|
|||
-g TdoPin:PULLNONE
|
||||
-g StartUpClk:JTAGCLK
|
||||
#add other options here.
|
|
@ -1,84 +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
|
||||
-w; # Overwrite output files.
|
||||
-pr b; # Pack internal FF/latches into IOBs
|
||||
#-fp <design>.mfp; # Floorplan file
|
||||
-ol high;
|
||||
-timing;
|
||||
-detail;
|
||||
<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
|
||||
|
||||
|
|
@ -1,84 +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
|
||||
-w; # Overwrite output files.
|
||||
-pr b; # Pack internal FF/latches into IOBs
|
||||
#-fp <design>.mfp; # Floorplan file
|
||||
-ol high;
|
||||
-timing;
|
||||
-detail;
|
||||
<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
|
||||
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
|
||||
<FILTERS>
|
||||
|
||||
<IDENTIFICATION VERSION="1.2" XTLVERSION="1.2"/>
|
||||
|
||||
<SET CLASS="PROJECT" VIEW_ID="BUSINTERFACE">
|
||||
<HEADERS HSCROLL="0" VSCROLL="0">
|
||||
<VARIABLE COL_INDEX="0" COL_WIDTH="222" IS_VISIBLE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<SET CLASS="FILTER_GROUP" ID="By Connection" IS_EXPANDED="TRUE">
|
||||
<VARIABLE NAME="By Connection" VALUE="By Connection" VIEWDISP="Bus Interface Filters" VIEWTYPE="STATIC"/>
|
||||
<SET CLASS="FILTER" ID="Connected" ROW_INDEX="0">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Connected" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Unconnected" ROW_INDEX="1">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Unconnected" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
</SET>
|
||||
<SET CLASS="FILTER_GROUP" ID="By Bus Standard" IS_EXPANDED="TRUE">
|
||||
<VARIABLE COL_INDEX="0" NAME="By Bus Standard" VALUE="By Bus Standard" VIEWDISP="Bus Interface Filters" VIEWTYPE="STATIC"/>
|
||||
<SET CLASS="FILTER" ID="AXI" IS_VISIBLE="FALSE" ROW_INDEX="0">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="AXI" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="AXIS" IS_VISIBLE="FALSE" ROW_INDEX="1">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="AXIS" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="OPB" IS_VISIBLE="FALSE" ROW_INDEX="2">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="OPB" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="LMB" IS_VISIBLE="FALSE" ROW_INDEX="3">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="LMB" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="PLBV34" IS_VISIBLE="FALSE" ROW_INDEX="4">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="PLBV34" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="PLBV46" IS_VISIBLE="FALSE" ROW_INDEX="5">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="PLBV46" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="OCM" IS_VISIBLE="FALSE" ROW_INDEX="6">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="OCM" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="FSL" IS_VISIBLE="FALSE" ROW_INDEX="7">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="FSL" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="DCR" IS_VISIBLE="FALSE" ROW_INDEX="8">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="DCR" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="FCB" IS_VISIBLE="FALSE" ROW_INDEX="9">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="FCB" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="XIL" IS_VISIBLE="FALSE" ROW_INDEX="10">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Xilinx Point To Point" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="USER" IS_VISIBLE="FALSE" ROW_INDEX="11">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="User Defined" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="XCL" IS_VISIBLE="FALSE" ROW_INDEX="12">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="XCL" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
</SET>
|
||||
<SET CLASS="FILTER_GROUP" ID="By Interface Type" IS_EXPANDED="TRUE">
|
||||
<VARIABLE NAME="By Interface Type" VALUE="By Interface Type" VIEWDISP="Bus Interface Filters" VIEWTYPE="STATIC"/>
|
||||
<SET CLASS="FILTER" ID="Slaves" ROW_INDEX="0">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Slaves" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Masters" ROW_INDEX="1">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Masters" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Master Slaves" ROW_INDEX="2">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Master Slaves" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Monitors" ROW_INDEX="3">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Monitors" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Targets" ROW_INDEX="4">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Targets" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Initiators" ROW_INDEX="5">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Initiators" VALUE="TRUE" VIEWDISP="Bus Interface Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
</SET>
|
||||
</SET>
|
||||
|
||||
<SET CLASS="PROJECT" VIEW_ID="PORT">
|
||||
<HEADERS>
|
||||
<VARIABLE COL_WIDTH="50" IS_VISIBLE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<SET CLASS="FILTER_GROUP" ID="By Interface" IS_EXPANDED="TRUE">
|
||||
<VARIABLE NAME="By Interface" VALUE="By Interface" VIEWDISP="Port Filters" VIEWTYPE="STATIC"/>
|
||||
<SET CLASS="FILTER" ID="BUS" ROW_INDEX="0">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="BUS" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="IO" ROW_INDEX="1">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="IO" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
</SET>
|
||||
<SET CLASS="FILTER_GROUP" ID="By Connection" IS_EXPANDED="TRUE">
|
||||
<VARIABLE NAME="By Connection" VALUE="By Connection" VIEWDISP="Port Filters" VIEWTYPE="STATIC"/>
|
||||
<SET CLASS="FILTER" ID="Defaults" ROW_INDEX="0">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Defaults" VALUE="FALSE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Connected" ROW_INDEX="1">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Connected" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Unconnected" ROW_INDEX="2">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Unconnected" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
</SET>
|
||||
<SET CLASS="FILTER_GROUP" ID="By Class" IS_EXPANDED="TRUE">
|
||||
<VARIABLE COL_INDEX="0" NAME="By Class" VALUE="By Class" VIEWDISP="Port Filters" VIEWTYPE="STATIC"/>
|
||||
<SET CLASS="FILTER" ID="Clocks Only" ROW_INDEX="0">
|
||||
<VARIABLE NAME="Clocks Only" VALUE="Clocks Only" VIEWDISP="Port Filters" VIEWTYPE="BUTTON"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Clocks" ROW_INDEX="1">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Clocks" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Resets Only" ROW_INDEX="2">
|
||||
<VARIABLE NAME="Resets Only" VALUE="Resets Only" VIEWDISP="Port Filters" VIEWTYPE="BUTTON"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Resets" ROW_INDEX="3">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Resets" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Interrupts Only" ROW_INDEX="4">
|
||||
<VARIABLE NAME="Interrupts Only" VALUE="Interrupts Only" VIEWDISP="Port Filters" VIEWTYPE="BUTTON"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Interrupts" ROW_INDEX="5">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Interrupts" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Others" ROW_INDEX="6">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Others" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
</SET>
|
||||
<SET CLASS="FILTER_GROUP" ID="By Direction" IS_EXPANDED="TRUE">
|
||||
<VARIABLE NAME="By Direction" VALUE="By Direction" VIEWDISP="Port Filters" VIEWTYPE="STATIC"/>
|
||||
<SET CLASS="FILTER" ID="Inputs" ROW_INDEX="0">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Inputs" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="Outputs" ROW_INDEX="1">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="Outputs" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
<SET CLASS="FILTER" ID="InOuts" ROW_INDEX="2">
|
||||
<VARIABLE IS_LABELED="TRUE" NAME="InOuts" VALUE="TRUE" VIEWDISP="Port Filters" VIEWTYPE="CHECKBOX"/>
|
||||
</SET>
|
||||
</SET>
|
||||
</SET>
|
||||
|
||||
</FILTERS>
|
|
@ -1,175 +0,0 @@
|
|||
|
||||
<SETTINGS>
|
||||
|
||||
<IDENTIFICATION VERSION="1.2" XTLVERSION="1.2"/>
|
||||
|
||||
<SET CLASS="PROJECT" DISPLAYMODE="TREE" VIEW_ID="BUSINTERFACE">
|
||||
<HEADERS HSCROLL="0" VSCROLL="0">
|
||||
<VARIABLE COL_INDEX="0" IS_VISIBLE="TRUE" VIEWDISP="Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="1" IS_VISIBLE="TRUE" VIEWDISP="Bus Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="2" IS_VISIBLE="FALSE" VIEWDISP="Bus Standard" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="3" IS_VISIBLE="TRUE" VIEWDISP="IP Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="4" IS_VISIBLE="TRUE" VIEWDISP="IP Version" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="5" IS_VISIBLE="FALSE" VIEWDISP="IP Classification" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="6" IS_VISIBLE="FALSE" VIEWDISP="Type" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<SPLITTERS COLLAPSIBLE="1" HANDLEWIDTH="4" MARKER="255" ORIENTATION="1" RESIZE="1" SIZES="180,450,200" VERSION="0"/>
|
||||
<STATUS>
|
||||
<SELECTIONS/>
|
||||
</STATUS>
|
||||
<SEQUENCES IS_DEF_SEQUENCES="TRUE"/>
|
||||
</SET>
|
||||
|
||||
<SET CLASS="PROJECT" DISPLAYMODE="FOCUS_TREE" VIEW_ID="BUSINTERFACE">
|
||||
<HEADERS>
|
||||
<VARIABLE COL_INDEX="0" IS_VISIBLE="TRUE" VIEWDISP="Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="1" IS_VISIBLE="TRUE" VIEWDISP="Bus Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="2" IS_VISIBLE="FALSE" VIEWDISP="Bus Standard" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="3" IS_VISIBLE="TRUE" VIEWDISP="IP Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="4" IS_VISIBLE="TRUE" VIEWDISP="IP Version" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="5" IS_VISIBLE="FALSE" VIEWDISP="IP Classification" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="6" IS_VISIBLE="FALSE" VIEWDISP="Type" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<SPLITTERS COLLAPSIBLE="1" HANDLEWIDTH="4" MARKER="255" ORIENTATION="1" RESIZE="1" SIZES="180,450,180" VERSION="0"/>
|
||||
</SET>
|
||||
|
||||
<SET CLASS="PROJECT" DISPLAYMODE="FLAT" VIEW_ID="BUSINTERFACE">
|
||||
<HEADERS>
|
||||
<VARIABLE COL_INDEX="0" IS_VISIBLE="TRUE" VIEWDISP="Instance" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="1" IS_VISIBLE="TRUE" VIEWDISP="Bus Interface" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="2" IS_VISIBLE="TRUE" VIEWDISP="Bus Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="3" IS_VISIBLE="FALSE" VIEWDISP="Bus Standard" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="4" IS_VISIBLE="TRUE" VIEWDISP="IP Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="5" IS_VISIBLE="TRUE" VIEWDISP="IP Version" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="6" IS_VISIBLE="FALSE" VIEWDISP="IP Classification" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="7" IS_VISIBLE="FALSE" VIEWDISP="Type" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<SPLITTERS COLLAPSIBLE="1" HANDLEWIDTH="4" MARKER="255" ORIENTATION="1" RESIZE="1" SIZES="180,450,180" VERSION="0"/>
|
||||
</SET>
|
||||
|
||||
<SET CLASS="PROJECT" DISPLAYMODE="FOCUS_FLAT" VIEW_ID="BUSINTERFACE">
|
||||
<HEADERS>
|
||||
<VARIABLE COL_INDEX="0" IS_VISIBLE="TRUE" VIEWDISP="Instance" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="1" IS_VISIBLE="TRUE" VIEWDISP="Bus Interface" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="2" IS_VISIBLE="TRUE" VIEWDISP="Bus Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="3" IS_VISIBLE="FALSE" VIEWDISP="Bus Standard" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="4" IS_VISIBLE="TRUE" VIEWDISP="IP Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="5" IS_VISIBLE="TRUE" VIEWDISP="IP Version" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="6" IS_VISIBLE="FALSE" VIEWDISP="IP Classification" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="7" IS_VISIBLE="FALSE" VIEWDISP="Type" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<SPLITTERS COLLAPSIBLE="1" HANDLEWIDTH="4" MARKER="255" ORIENTATION="1" RESIZE="1" SIZES="180,450,180" VERSION="0"/>
|
||||
</SET>
|
||||
|
||||
<SET CLASS="PROJECT" DISPLAYMODE="TREE" VIEW_ID="PORT">
|
||||
<HEADERS>
|
||||
<VARIABLE COL_INDEX="0" IS_VISIBLE="TRUE" VIEWDISP="Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="1" IS_VISIBLE="TRUE" VIEWDISP="Connected Port" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="2" IS_VISIBLE="FALSE" VIEWDISP="Net" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="3" IS_VISIBLE="TRUE" VIEWDISP="Direction" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="4" IS_VISIBLE="TRUE" VIEWDISP="Range" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="5" IS_VISIBLE="TRUE" VIEWDISP="Class" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="6" IS_VISIBLE="TRUE" VIEWDISP="Frequency(Hz)" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="7" IS_VISIBLE="TRUE" VIEWDISP="Reset Polarity" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="8" IS_VISIBLE="TRUE" VIEWDISP="Sensitivity" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="9" IS_VISIBLE="TRUE" VIEWDISP="IP Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="10" IS_VISIBLE="FALSE" VIEWDISP="IP Version" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="11" IS_VISIBLE="TRUE" VIEWDISP="IP Classification" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<SPLITTERS COLLAPSIBLE="1" HANDLEWIDTH="4" MARKER="255" ORIENTATION="1" RESIZE="1" SIZES="0,630,180" VERSION="0"/>
|
||||
</SET>
|
||||
|
||||
<SET CLASS="PROJECT" DISPLAYMODE="FOCUS_TREE" VIEW_ID="PORT">
|
||||
<HEADERS>
|
||||
<VARIABLE COL_INDEX="0" IS_VISIBLE="TRUE" VIEWDISP="Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="1" IS_VISIBLE="TRUE" VIEWDISP="Connected Port" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="2" IS_VISIBLE="FALSE" VIEWDISP="Net" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="3" IS_VISIBLE="TRUE" VIEWDISP="Direction" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="4" IS_VISIBLE="TRUE" VIEWDISP="Range" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="5" IS_VISIBLE="TRUE" VIEWDISP="Class" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="6" IS_VISIBLE="TRUE" VIEWDISP="Frequency(Hz)" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="7" IS_VISIBLE="TRUE" VIEWDISP="Reset Polarity" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="8" IS_VISIBLE="TRUE" VIEWDISP="Sensitivity" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="9" IS_VISIBLE="TRUE" VIEWDISP="IP Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="10" IS_VISIBLE="FALSE" VIEWDISP="IP Version" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="11" IS_VISIBLE="TRUE" VIEWDISP="IP Classification" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<SPLITTERS COLLAPSIBLE="1" HANDLEWIDTH="4" MARKER="255" ORIENTATION="1" RESIZE="1" SIZES="0,630,180" VERSION="0"/>
|
||||
</SET>
|
||||
|
||||
<SET CLASS="PROJECT" DISPLAYMODE="FLAT" VIEW_ID="PORT">
|
||||
<HEADERS>
|
||||
<VARIABLE COL_INDEX="0" IS_VISIBLE="TRUE" VIEWDISP="Instance" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="1" IS_VISIBLE="TRUE" VIEWDISP="Port Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="2" IS_VISIBLE="TRUE" VIEWDISP="Net" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="3" IS_VISIBLE="TRUE" VIEWDISP="Direction" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="4" IS_VISIBLE="TRUE" VIEWDISP="Range" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="5" IS_VISIBLE="TRUE" VIEWDISP="Class" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="6" IS_VISIBLE="TRUE" VIEWDISP="Frequency(Hz)" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="7" IS_VISIBLE="TRUE" VIEWDISP="Reset Polarity" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="8" IS_VISIBLE="TRUE" VIEWDISP="Sensitivity" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="9" IS_VISIBLE="TRUE" VIEWDISP="IP Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="10" IS_VISIBLE="FALSE" VIEWDISP="IP Version" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="11" IS_VISIBLE="TRUE" VIEWDISP="IP Classification" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<SPLITTERS COLLAPSIBLE="1" HANDLEWIDTH="4" MARKER="255" ORIENTATION="1" RESIZE="1" SIZES="0,630,180" VERSION="0"/>
|
||||
</SET>
|
||||
|
||||
<SET CLASS="PROJECT" DISPLAYMODE="FOCUS_FLAT" VIEW_ID="PORT">
|
||||
<HEADERS>
|
||||
<VARIABLE COL_INDEX="0" IS_VISIBLE="TRUE" VIEWDISP="Instance" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="1" IS_VISIBLE="TRUE" VIEWDISP="Port Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="2" IS_VISIBLE="TRUE" VIEWDISP="Net" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="3" IS_VISIBLE="TRUE" VIEWDISP="Direction" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="4" IS_VISIBLE="TRUE" VIEWDISP="Range" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="5" IS_VISIBLE="TRUE" VIEWDISP="Class" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="6" IS_VISIBLE="TRUE" VIEWDISP="Frequency(Hz)" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="7" IS_VISIBLE="TRUE" VIEWDISP="Reset Polarity" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="8" IS_VISIBLE="TRUE" VIEWDISP="Sensitivity" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="9" IS_VISIBLE="TRUE" VIEWDISP="IP Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="10" IS_VISIBLE="FALSE" VIEWDISP="IP Version" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="11" IS_VISIBLE="TRUE" VIEWDISP="IP Classification" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<SPLITTERS COLLAPSIBLE="1" HANDLEWIDTH="4" MARKER="255" ORIENTATION="1" RESIZE="1" SIZES="0,630,180" VERSION="0"/>
|
||||
</SET>
|
||||
|
||||
<SET CLASS="PROJECT" DISPLAYMODE="TREE" VIEW_ID="ADDRESS">
|
||||
<HEADERS HSCROLL="0" VSCROLL="0">
|
||||
<VARIABLE COL_INDEX="0" COL_WIDTH="200" IS_VISIBLE="TRUE" VIEWDISP="Instance" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="1" IS_VISIBLE="TRUE" VIEWDISP="Base Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="2" IS_VISIBLE="TRUE" VIEWDISP="Base Address" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="3" IS_VISIBLE="TRUE" VIEWDISP="High Address" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="4" IS_VISIBLE="TRUE" VIEWDISP="Size" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="5" COL_WIDTH="105" IS_VISIBLE="TRUE" VIEWDISP="Bus Interface(s)" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="6" IS_VISIBLE="TRUE" VIEWDISP="Bus Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="7" IS_VISIBLE="FALSE" VIEWDISP="ICache" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="8" IS_VISIBLE="FALSE" VIEWDISP="DCache" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="9" IS_VISIBLE="FALSE" VIEWDISP="IP Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="10" IS_VISIBLE="FALSE" VIEWDISP="IP Version" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="11" IS_VISIBLE="FALSE" VIEWDISP="Address Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="12" IS_VISIBLE="TRUE" VIEWDISP="Lock" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
<STATUS IS_EXPANDED="TRUE">
|
||||
<SELECTIONS/>
|
||||
</STATUS>
|
||||
</SET>
|
||||
|
||||
<SET CLASS="PROJECT" DISPLAYMODE="FLAT" VIEW_ID="ADDRESS">
|
||||
<HEADERS>
|
||||
<VARIABLE COL_INDEX="0" IS_VISIBLE="TRUE" VIEWDISP="Instance" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="1" IS_VISIBLE="TRUE" VIEWDISP="Base Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="2" IS_VISIBLE="TRUE" VIEWDISP="Base Address" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="3" IS_VISIBLE="TRUE" VIEWDISP="High Address" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="4" IS_VISIBLE="TRUE" VIEWDISP="Size" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="5" IS_VISIBLE="TRUE" VIEWDISP="Bus Interface(s)" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="6" IS_VISIBLE="TRUE" VIEWDISP="Bus Name" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="7" IS_VISIBLE="FALSE" VIEWDISP="ICache" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="8" IS_VISIBLE="FALSE" VIEWDISP="DCache" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="9" IS_VISIBLE="FALSE" VIEWDISP="IP Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="10" IS_VISIBLE="FALSE" VIEWDISP="IP Version" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="11" IS_VISIBLE="FALSE" VIEWDISP="Address Type" VIEWTYPE="HEADER"/>
|
||||
<VARIABLE COL_INDEX="12" IS_VISIBLE="TRUE" VIEWDISP="Lock" VIEWTYPE="HEADER"/>
|
||||
</HEADERS>
|
||||
</SET>
|
||||
|
||||
</SETTINGS>
|
|
@ -1,47 +0,0 @@
|
|||
cd /home/tim/Projects/fpga/micro_test/test
|
||||
if { [xload new test.xmp] != 0 } {
|
||||
exit -1
|
||||
}
|
||||
xset arch spartan6
|
||||
xset dev xc6slx9
|
||||
xset package tqg144
|
||||
xset speedgrade -2
|
||||
xset simulator isim
|
||||
if { [xset hier sub] != 0 } {
|
||||
exit -1
|
||||
}
|
||||
set bMisMatch false
|
||||
set xpsArch [xget arch]
|
||||
if { ! [ string equal -nocase $xpsArch "spartan6" ] } {
|
||||
set bMisMatch true
|
||||
}
|
||||
set xpsDev [xget dev]
|
||||
if { ! [ string equal -nocase $xpsDev "xc6slx9" ] } {
|
||||
set bMisMatch true
|
||||
}
|
||||
set xpsPkg [xget package]
|
||||
if { ! [ string equal -nocase $xpsPkg "tqg144" ] } {
|
||||
set bMisMatch true
|
||||
}
|
||||
set xpsSpd [xget speedgrade]
|
||||
if { ! [ string equal -nocase $xpsSpd "-2" ] } {
|
||||
set bMisMatch true
|
||||
}
|
||||
if { $bMisMatch == true } {
|
||||
puts "Settings Mismatch:"
|
||||
puts "Current Project:"
|
||||
puts " Family: spartan6"
|
||||
puts " Device: xc6slx9"
|
||||
puts " Package: tqg144"
|
||||
puts " Speed: -2"
|
||||
puts "XPS File: "
|
||||
puts " Family: $xpsArch"
|
||||
puts " Device: $xpsDev"
|
||||
puts " Package: $xpsPkg"
|
||||
puts " Speed: $xpsSpd"
|
||||
exit 11
|
||||
}
|
||||
xset hdl verilog
|
||||
xset intstyle ise
|
||||
save proj
|
||||
exit
|
207
test/test.make
207
test/test.make
|
@ -1,207 +0,0 @@
|
|||
#################################################################
|
||||
# Makefile generated by Xilinx Platform Studio
|
||||
# Project:/home/tim/Projects/fpga/micro_test/test/test.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 :
|
||||
# /home/tim/Projects/fpga/micro_test/test/test.mhs
|
||||
|
||||
include test_incl.make
|
||||
|
||||
#################################################################
|
||||
# PHONY TARGETS
|
||||
#################################################################
|
||||
.PHONY: dummy
|
||||
.PHONY: netlistclean
|
||||
.PHONY: bitsclean
|
||||
.PHONY: simclean
|
||||
.PHONY: exporttosdk
|
||||
|
||||
#################################################################
|
||||
# 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 " exporttosdk: Export files to SDK"
|
||||
@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 " "
|
||||
@echo " netlistclean: Deletes netlist"
|
||||
@echo " bitsclean: Deletes bit, ncd, bmm files"
|
||||
@echo " hwclean : Deletes implementation dir"
|
||||
@echo " simclean : Deletes simulation dir"
|
||||
@echo " clean : Deletes all generated files/directories"
|
||||
@echo " "
|
||||
|
||||
bits: $(SYSTEM_BIT)
|
||||
|
||||
ace: $(SYSTEM_ACE)
|
||||
|
||||
exporttosdk: $(SYSTEM_HW_HANDOFF_DEP)
|
||||
|
||||
netlist: $(POSTSYN_NETLIST)
|
||||
|
||||
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)
|
||||
|
||||
simmodel: $(DEFAULT_SIM_SCRIPT)
|
||||
|
||||
behavioral_model: $(BEHAVIORAL_SIM_SCRIPT)
|
||||
|
||||
structural_model: $(STRUCTURAL_SIM_SCRIPT)
|
||||
|
||||
clean: hwclean simclean
|
||||
rm -f _impact.cmd
|
||||
|
||||
hwclean: netlistclean bitsclean
|
||||
rm -rf implementation synthesis xst hdl
|
||||
rm -rf xst.srp $(SYSTEM).srp
|
||||
rm -f __xps/ise/_xmsgs/bitinit.xmsgs
|
||||
rm -rf __xps/ps7_instance.mhs
|
||||
|
||||
netlistclean:
|
||||
rm -f $(POSTSYN_NETLIST)
|
||||
rm -f $(WRAPPER_NGC_FILES)
|
||||
rm -f platgen.log
|
||||
rm -f __xps/ise/_xmsgs/platgen.xmsgs
|
||||
rm -f $(BMM_FILE)
|
||||
rm -rf implementation/cache
|
||||
|
||||
bitsclean:
|
||||
rm -f $(SYSTEM_BIT)
|
||||
rm -f implementation/$(SYSTEM).ncd
|
||||
rm -f implementation/$(SYSTEM)_bd.bmm
|
||||
rm -f implementation/$(SYSTEM)_map.ncd
|
||||
rm -f implementation/download.bit
|
||||
rm -f __xps/$(SYSTEM)_bits
|
||||
|
||||
simclean:
|
||||
rm -rf simulation/behavioral
|
||||
rm -f simgen.log
|
||||
rm -f __xps/ise/_xmsgs/simgen.xmsgs
|
||||
|
||||
#################################################################
|
||||
# BOOTLOOP ELF FILES
|
||||
#################################################################
|
||||
|
||||
|
||||
#################################################################
|
||||
# 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
|
||||
@cp -f etc/fast_runtime.opt implementation/xflow.opt
|
||||
xflow -wd implementation -p $(DEVICE) -implement xflow.opt $(SYSTEM).ngc
|
||||
touch __xps/$(SYSTEM)_routed
|
||||
|
||||
$(SYSTEM_BIT): __xps/$(SYSTEM)_routed $(BITGEN_UT_FILE)
|
||||
xilperl $(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) ; cd ..
|
||||
|
||||
$(DOWNLOAD_BIT): $(SYSTEM_BIT) $(BRAMINIT_ELF_IMP_FILES) __xps/bitinit.opt
|
||||
@echo "*********************************************"
|
||||
@echo "Initializing BRAM contents of the bitstream"
|
||||
@echo "*********************************************"
|
||||
bitinit -p $(DEVICE) $(MHSFILE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_IMP_FILE_ARGS) \
|
||||
-bt $(SYSTEM_BIT) -o $(DOWNLOAD_BIT)
|
||||
@rm -f $(SYSTEM)_bd.bmm
|
||||
|
||||
$(SYSTEM_ACE):
|
||||
@echo "In order to generate ace file, you must have:-"
|
||||
@echo "- exactly one processor."
|
||||
@echo "- opb_mdm, if using microblaze."
|
||||
|
||||
#################################################################
|
||||
# EXPORT_TO_SDK FLOW
|
||||
#################################################################
|
||||
|
||||
$(SYSTEM_HW_HANDOFF): $(MHSFILE) __xps/platgen.opt
|
||||
@mkdir -p $(SDK_EXPORT_DIR)
|
||||
psf2Edward -inp $(SYSTEM).xmp -exit_on_error -dont_add_loginfo -make_inst_lower -edwver 1.2 -xml $(SDK_EXPORT_DIR)/$(SYSTEM).xml $(GLOBAL_SEARCHPATHOPT)
|
||||
xdsgen -inp $(SYSTEM).xmp -report $(SDK_EXPORT_DIR)/$(SYSTEM).html $(GLOBAL_SEARCHPATHOPT) -make_docs_local
|
||||
|
||||
$(SYSTEM_HW_HANDOFF_BIT): $(SYSTEM_BIT)
|
||||
@rm -rf $(SYSTEM_HW_HANDOFF_BIT)
|
||||
@cp -f $(SYSTEM_BIT) $(SDK_EXPORT_DIR)
|
||||
|
||||
|
||||
#################################################################
|
||||
# SIMULATION FLOW
|
||||
#################################################################
|
||||
|
||||
|
||||
################## BEHAVIORAL SIMULATION ##################
|
||||
|
||||
$(BEHAVIORAL_SIM_SCRIPT): $(MHSFILE) __xps/simgen.opt \
|
||||
$(BRAMINIT_ELF_SIM_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_SIM_FILES)
|
||||
@echo "*********************************************"
|
||||
@echo "Creating structural simulation models..."
|
||||
@echo "*********************************************"
|
||||
simgen $(SIMGEN_OPTIONS) -sd implementation -m structural $(MHSFILE)
|
||||
|
||||
|
||||
################## TIMING SIMULATION ##################
|
||||
|
||||
implementation/$(SYSTEM).ncd: __xps/$(SYSTEM)_routed
|
||||
|
||||
$(TIMING_SIM_SCRIPT): implementation/$(SYSTEM).ncd __xps/simgen.opt \
|
||||
$(BRAMINIT_ELF_SIM_FILES)
|
||||
@echo "*********************************************"
|
||||
@echo "Creating timing simulation models..."
|
||||
@echo "*********************************************"
|
||||
simgen $(SIMGEN_OPTIONS) -sd implementation -m timing $(MHSFILE)
|
||||
|
||||
dummy:
|
||||
@echo ""
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
|
||||
PARAMETER VERSION = 2.1.0
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
cd /home/tim/Projects/fpga/micro_test/test
|
||||
if { [ catch { xload xmp test.xmp } result ] } {
|
||||
exit 10
|
||||
}
|
||||
xset intstyle default
|
||||
save proj
|
||||
exit 0
|
|
@ -1,26 +0,0 @@
|
|||
#Please do not modify this file by hand
|
||||
XmpVersion: 14.7
|
||||
VerMgmt:
|
||||
IntStyle: default
|
||||
Flow: ise
|
||||
MHS File: test.mhs
|
||||
Architecture: spartan6
|
||||
Device: xc6slx9
|
||||
Package: tqg144
|
||||
SpeedGrade: -2
|
||||
UserCmd1:
|
||||
UserCmd1Type: 0
|
||||
UserCmd2:
|
||||
UserCmd2Type: 0
|
||||
GenSimTB: 0
|
||||
SdkExportBmmBit: 1
|
||||
SdkExportDir: SDK/SDK_Export
|
||||
InsertNoPads: 1
|
||||
WarnForEAArch: 1
|
||||
HdlLang: verilog
|
||||
SimModel: BEHAVIORAL
|
||||
ExternalMemSim: 0
|
||||
UcfFile: data/test.ucf
|
||||
EnableParTimingError: 1
|
||||
ShowLicenseDialog: 1
|
||||
BInfo:
|
|
@ -1,88 +0,0 @@
|
|||
#################################################################
|
||||
# Makefile generated by Xilinx Platform Studio
|
||||
# Project:/home/tim/Projects/fpga/micro_test/test/test.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 = /opt/Xilinx/14.7/ISE_DS/EDK
|
||||
|
||||
SYSTEM = test
|
||||
|
||||
MHSFILE = test.mhs
|
||||
|
||||
FPGA_ARCH = spartan6
|
||||
|
||||
DEVICE = xc6slx9tqg144-2
|
||||
|
||||
INTSTYLE = default
|
||||
|
||||
XPS_HDL_LANG = verilog
|
||||
GLOBAL_SEARCHPATHOPT =
|
||||
PROJECT_SEARCHPATHOPT =
|
||||
|
||||
SEARCHPATHOPT = $(PROJECT_SEARCHPATHOPT) $(GLOBAL_SEARCHPATHOPT)
|
||||
|
||||
SUBMODULE_OPT = -toplevel no -ti test_i
|
||||
|
||||
PLATGEN_OPTIONS = -p $(DEVICE) -lang $(XPS_HDL_LANG) -intstyle $(INTSTYLE) $(SEARCHPATHOPT) $(SUBMODULE_OPT) -msg __xps/ise/xmsgprops.lst
|
||||
|
||||
OBSERVE_PAR_OPTIONS = -error yes
|
||||
|
||||
MICROBLAZE_BOOTLOOP = $(XILINX_EDK_DIR)/sw/lib/microblaze/mb_bootloop.elf
|
||||
MICROBLAZE_BOOTLOOP_LE = $(XILINX_EDK_DIR)/sw/lib/microblaze/mb_bootloop_le.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
|
||||
|
||||
BRAMINIT_ELF_IMP_FILES =
|
||||
BRAMINIT_ELF_IMP_FILE_ARGS =
|
||||
|
||||
BRAMINIT_ELF_SIM_FILES =
|
||||
BRAMINIT_ELF_SIM_FILE_ARGS =
|
||||
|
||||
SIM_CMD = xterm -e ./isim_test
|
||||
|
||||
BEHAVIORAL_SIM_SCRIPT = simulation/behavioral/$(SYSTEM)_setup.tcl
|
||||
|
||||
STRUCTURAL_SIM_SCRIPT = simulation/structural/$(SYSTEM)_setup.tcl
|
||||
|
||||
TIMING_SIM_SCRIPT = simulation/timing/$(SYSTEM)_setup.tcl
|
||||
|
||||
DEFAULT_SIM_SCRIPT = $(BEHAVIORAL_SIM_SCRIPT)
|
||||
|
||||
SIMGEN_OPTIONS = -p $(DEVICE) -lang $(XPS_HDL_LANG) -intstyle $(INTSTYLE) $(SEARCHPATHOPT) $(BRAMINIT_ELF_SIM_FILE_ARGS) -msg __xps/ise/xmsgprops.lst -s isim
|
||||
|
||||
|
||||
CORE_STATE_DEVELOPMENT_FILES =
|
||||
|
||||
WRAPPER_NGC_FILES =
|
||||
|
||||
POSTSYN_NETLIST = implementation/$(SYSTEM).ngc
|
||||
|
||||
SYSTEM_BIT = implementation/$(SYSTEM).bit
|
||||
|
||||
DOWNLOAD_BIT = implementation/download.bit
|
||||
|
||||
SYSTEM_ACE = implementation/$(SYSTEM).ace
|
||||
|
||||
UCF_FILE = data/test.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) $(XFLOW_DEPENDENCY)
|
||||
|
||||
SDK_EXPORT_DIR = SDK/SDK_Export/hw
|
||||
SYSTEM_HW_HANDOFF = $(SDK_EXPORT_DIR)/$(SYSTEM).xml
|
||||
SYSTEM_HW_HANDOFF_BIT = $(SDK_EXPORT_DIR)/$(SYSTEM).bit
|
||||
SYSTEM_HW_HANDOFF_DEP = $(SYSTEM_HW_HANDOFF) $(SYSTEM_HW_HANDOFF_BIT)
|
Reference in New Issue
Block a user