@@ -50,6 +50,7 @@ xilinx.com:ip:processing_system7:5.5\
50
50
xilinx.com:ip:axi_intc:4.1\
51
51
xilinx.com:ip:xlslice:1.0\
52
52
xilinx.com:ip:clk_wiz:5.4\
53
+ xilinx.com:ip:system_ila:1.1\
53
54
arm.com:CortexM:CORTEXM1_AXI:1.1\
54
55
xilinx.com:ip:xlconstant:1.1\
55
56
xilinx.com:ip:axi_bram_ctrl:4.0\
@@ -118,6 +119,7 @@ proc create_hier_cell_cortexm1_1 { parentCell nameHier } {
118
119
current_bd_instance $hier_obj
119
120
120
121
# Create interface pins
122
+ create_bd_intf_pin -mode Monitor -vlnv xilinx.com:interface:aximm_rtl:1.0 M00_AXI
121
123
create_bd_intf_pin -mode Master -vlnv xilinx.com:interface:aximm_rtl:1.0 M_AXI
122
124
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 S_AXI_MEM
123
125
@@ -148,7 +150,7 @@ proc create_hier_cell_cortexm1_1 { parentCell nameHier } {
148
150
# Create instance: itcmSelConst, and set properties
149
151
set itcmSelConst [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconstant:1.1 itcmSelConst ]
150
152
set_property -dict [ list \
151
- CONFIG.CONST_VAL {3 } \
153
+ CONFIG.CONST_VAL {0 } \
152
154
CONFIG.CONST_WIDTH {2} \
153
155
] $itcmSelConst
154
156
@@ -205,14 +207,18 @@ proc create_hier_cell_cortexm1_1 { parentCell nameHier } {
205
207
connect_bd_intf_net -intf_net CORTEXM1_AXI_0_CM1_AXI3 [get_bd_intf_pins cortexm1/CM1_AXI3] [get_bd_intf_pins spAxiInterconnect/S00_AXI]
206
208
connect_bd_intf_net -intf_net Conn2 [get_bd_intf_pins S_AXI_MEM] [get_bd_intf_pins psBramController/S_AXI]
207
209
connect_bd_intf_net -intf_net axi_interconnect_0_M00_AXI [get_bd_intf_pins spAxiInterconnect/M00_AXI] [get_bd_intf_pins spBramController/S_AXI]
210
+ connect_bd_intf_net -intf_net [get_bd_intf_nets axi_interconnect_0_M00_AXI] [get_bd_intf_pins M00_AXI] [get_bd_intf_pins spAxiInterconnect/M00_AXI]
211
+ set_property -dict [ list \
212
+ HDL_ATTRIBUTE.DEBUG {true} \
213
+ ] [get_bd_intf_nets axi_interconnect_0_M00_AXI]
208
214
connect_bd_intf_net -intf_net axi_interconnect_0_M01_AXI [get_bd_intf_pins M_AXI] [get_bd_intf_pins spAxiInterconnect/M01_AXI]
209
215
connect_bd_intf_net -intf_net psBramController_BRAM_PORTA [get_bd_intf_pins psBramController/BRAM_PORTA] [get_bd_intf_pins spBram/BRAM_PORTB]
210
216
connect_bd_intf_net -intf_net riscvBramController_BRAM_PORTA [get_bd_intf_pins spBram/BRAM_PORTA] [get_bd_intf_pins spBramController/BRAM_PORTA]
211
217
212
218
# Create port connections
213
219
connect_bd_net -net aux_reset_in_1 [get_bd_pins riscv_resetn] [get_bd_pins spReset/aux_reset_in]
214
220
connect_bd_net -net ext_reset_in_1 [get_bd_pins por_resetn] [get_bd_pins spReset/ext_reset_in]
215
- connect_bd_net -net riscvReset_peripheral_aresetn [get_bd_pins m_axi_aresetn] [get_bd_pins cortexm1/SYSRESETn] [get_bd_pins spAxiInterconnect/M00_ARESETN] [get_bd_pins spAxiInterconnect/M01_ARESETN] [get_bd_pins spAxiInterconnect/S00_ARESETN] [get_bd_pins spBramController/s_axi_aresetn] [get_bd_pins spReset/peripheral_aresetn]
221
+ connect_bd_net -net riscvReset_peripheral_aresetn [get_bd_pins m_axi_aresetn] [get_bd_pins cortexm1/DBGRESETn] [get_bd_pins cortexm1/ SYSRESETn] [get_bd_pins spAxiInterconnect/M00_ARESETN] [get_bd_pins spAxiInterconnect/M01_ARESETN] [get_bd_pins spAxiInterconnect/S00_ARESETN] [get_bd_pins spBramController/s_axi_aresetn] [get_bd_pins spReset/peripheral_aresetn]
216
222
connect_bd_net -net s_axi_aclk_1 [get_bd_pins s_axi_aclk] [get_bd_pins psBramController/s_axi_aclk]
217
223
connect_bd_net -net s_axi_aresetn_1 [get_bd_pins s_axi_aresetn] [get_bd_pins psBramController/s_axi_aresetn]
218
224
connect_bd_net -net spReset_interconnect_aresetn [get_bd_pins spAxiInterconnect/ARESETN] [get_bd_pins spReset/interconnect_aresetn]
@@ -1204,7 +1210,51 @@ proc create_root_design { parentCell } {
1204
1210
CONFIG.USE_PHASE_ALIGNMENT {false} \
1205
1211
] $subprocessorClk
1206
1212
1213
+ # Create instance: system_ila_0, and set properties
1214
+ set system_ila_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:system_ila:1.1 system_ila_0 ]
1215
+ set_property -dict [ list \
1216
+ CONFIG.C_MON_TYPE {INTERFACE} \
1217
+ CONFIG.C_NUM_MONITOR_SLOTS {1} \
1218
+ CONFIG.C_SLOT_0_APC_EN {0} \
1219
+ CONFIG.C_SLOT_0_AXI_AR_SEL_DATA {1} \
1220
+ CONFIG.C_SLOT_0_AXI_AR_SEL_TRIG {1} \
1221
+ CONFIG.C_SLOT_0_AXI_AW_SEL_DATA {1} \
1222
+ CONFIG.C_SLOT_0_AXI_AW_SEL_TRIG {1} \
1223
+ CONFIG.C_SLOT_0_AXI_B_SEL_DATA {1} \
1224
+ CONFIG.C_SLOT_0_AXI_B_SEL_TRIG {1} \
1225
+ CONFIG.C_SLOT_0_AXI_R_SEL_DATA {1} \
1226
+ CONFIG.C_SLOT_0_AXI_R_SEL_TRIG {1} \
1227
+ CONFIG.C_SLOT_0_AXI_W_SEL_DATA {1} \
1228
+ CONFIG.C_SLOT_0_AXI_W_SEL_TRIG {1} \
1229
+ CONFIG.C_SLOT_0_INTF_TYPE {xilinx.com:interface:aximm_rtl:1.0} \
1230
+ ] $system_ila_0
1231
+
1232
+ # Create instance: system_ila_1, and set properties
1233
+ set system_ila_1 [ create_bd_cell -type ip -vlnv xilinx.com:ip:system_ila:1.1 system_ila_1 ]
1234
+ set_property -dict [ list \
1235
+ CONFIG.C_MON_TYPE {NATIVE} \
1236
+ CONFIG.C_NUM_OF_PROBES {1} \
1237
+ CONFIG.C_PROBE0_TYPE {0} \
1238
+ ] $system_ila_1
1239
+
1240
+ # Create instance: system_ila_2, and set properties
1241
+ set system_ila_2 [ create_bd_cell -type ip -vlnv xilinx.com:ip:system_ila:1.1 system_ila_2 ]
1242
+ set_property -dict [ list \
1243
+ CONFIG.C_MON_TYPE {NATIVE} \
1244
+ CONFIG.C_NUM_OF_PROBES {1} \
1245
+ CONFIG.C_PROBE0_TYPE {0} \
1246
+ ] $system_ila_2
1247
+
1248
+ # Create instance: system_ila_3, and set properties
1249
+ set system_ila_3 [ create_bd_cell -type ip -vlnv xilinx.com:ip:system_ila:1.1 system_ila_3 ]
1250
+ set_property -dict [ list \
1251
+ CONFIG.C_MON_TYPE {NATIVE} \
1252
+ CONFIG.C_NUM_OF_PROBES {1} \
1253
+ CONFIG.C_PROBE0_TYPE {0} \
1254
+ ] $system_ila_3
1255
+
1207
1256
# Create interface connections
1257
+ connect_bd_intf_net -intf_net Conn [get_bd_intf_pins cortexm1/M00_AXI] [get_bd_intf_pins system_ila_0/SLOT_0_AXI]
1208
1258
connect_bd_intf_net -intf_net S_AXI_PSX [get_bd_intf_pins processing_system7_0/M_AXI_GP0] [get_bd_intf_pins psAxiInterconnect/S00_AXI]
1209
1259
connect_bd_intf_net -intf_net axi_interconnect_0_M00_AXI [get_bd_intf_pins irqAxiInterconnect/M00_AXI] [get_bd_intf_pins psInterruptController/s_axi]
1210
1260
connect_bd_intf_net -intf_net processing_system7_0_DDR [get_bd_intf_ports DDR] [get_bd_intf_pins processing_system7_0/DDR]
@@ -1215,17 +1265,26 @@ proc create_root_design { parentCell } {
1215
1265
connect_bd_intf_net -intf_net tutorialProcessor_CM1_AXI3 [get_bd_intf_pins cortexm1/M_AXI] [get_bd_intf_pins irqAxiInterconnect/S01_AXI]
1216
1266
1217
1267
# Create port connections
1218
- connect_bd_net -net FCLK_CLK0 [get_bd_pins cortexm1/s_axi_aclk] [get_bd_pins irqAxiInterconnect/ACLK] [get_bd_pins irqAxiInterconnect/M00_ACLK] [get_bd_pins irqAxiInterconnect/S00_ACLK] [get_bd_pins porReset/slowest_sync_clk] [get_bd_pins processing_system7_0/FCLK_CLK0] [get_bd_pins processing_system7_0/M_AXI_GP0_ACLK] [get_bd_pins processing_system7_0/M_AXI_GP1_ACLK] [get_bd_pins psAxiInterconnect/ACLK] [get_bd_pins psAxiInterconnect/M00_ACLK] [get_bd_pins psAxiInterconnect/M01_ACLK] [get_bd_pins psAxiInterconnect/S00_ACLK] [get_bd_pins psInterruptController/s_axi_aclk] [get_bd_pins subprocessorClk/clk_in1] [get_bd_pins subprocessorClk/s_axi_aclk]
1268
+ connect_bd_net -net FCLK_CLK0 [get_bd_pins cortexm1/s_axi_aclk] [get_bd_pins irqAxiInterconnect/ACLK] [get_bd_pins irqAxiInterconnect/M00_ACLK] [get_bd_pins irqAxiInterconnect/S00_ACLK] [get_bd_pins porReset/slowest_sync_clk] [get_bd_pins processing_system7_0/FCLK_CLK0] [get_bd_pins processing_system7_0/M_AXI_GP0_ACLK] [get_bd_pins processing_system7_0/M_AXI_GP1_ACLK] [get_bd_pins psAxiInterconnect/ACLK] [get_bd_pins psAxiInterconnect/M00_ACLK] [get_bd_pins psAxiInterconnect/M01_ACLK] [get_bd_pins psAxiInterconnect/S00_ACLK] [get_bd_pins psInterruptController/s_axi_aclk] [get_bd_pins subprocessorClk/clk_in1] [get_bd_pins subprocessorClk/s_axi_aclk] [get_bd_pins system_ila_1/clk] [get_bd_pins system_ila_2/clk] [get_bd_pins system_ila_3/clk]
1219
1269
connect_bd_net -net FCLK_CLK1 [get_bd_pins processing_system7_0/FCLK_CLK1] [get_bd_pins processing_system7_0/S_AXI_HP2_ACLK]
1220
- connect_bd_net -net S00_ARESETN_1 [get_bd_pins cortexm1/s_axi_aresetn] [get_bd_pins irqAxiInterconnect/M00_ARESETN] [get_bd_pins irqAxiInterconnect/S00_ARESETN] [get_bd_pins porReset/peripheral_aresetn] [get_bd_pins psAxiInterconnect/M00_ARESETN] [get_bd_pins psAxiInterconnect/M01_ARESETN] [get_bd_pins psAxiInterconnect/S00_ARESETN] [get_bd_pins psInterruptController/s_axi_aresetn] [get_bd_pins subprocessorClk/s_axi_aresetn]
1221
- connect_bd_net -net S01_ARESETN_1 [get_bd_pins cortexm1/m_axi_aresetn] [get_bd_pins irqAxiInterconnect/S01_ARESETN]
1270
+ connect_bd_net -net S00_ARESETN_1 [get_bd_pins cortexm1/s_axi_aresetn] [get_bd_pins irqAxiInterconnect/M00_ARESETN] [get_bd_pins irqAxiInterconnect/S00_ARESETN] [get_bd_pins porReset/peripheral_aresetn] [get_bd_pins psAxiInterconnect/M00_ARESETN] [get_bd_pins psAxiInterconnect/M01_ARESETN] [get_bd_pins psAxiInterconnect/S00_ARESETN] [get_bd_pins psInterruptController/s_axi_aresetn] [get_bd_pins subprocessorClk/s_axi_aresetn] [get_bd_pins system_ila_1/probe0]
1271
+ set_property -dict [ list \
1272
+ HDL_ATTRIBUTE.DEBUG {true} \
1273
+ ] [get_bd_nets S00_ARESETN_1]
1274
+ connect_bd_net -net S01_ARESETN_1 [get_bd_pins cortexm1/m_axi_aresetn] [get_bd_pins irqAxiInterconnect/S01_ARESETN] [get_bd_pins system_ila_0/resetn]
1222
1275
connect_bd_net -net irq [get_bd_pins cortexm1/irq] [get_bd_pins irqConcat/In0]
1223
1276
connect_bd_net -net porReset_interconnect_aresetn [get_bd_pins irqAxiInterconnect/ARESETN] [get_bd_pins porReset/interconnect_aresetn] [get_bd_pins psAxiInterconnect/ARESETN]
1224
- connect_bd_net -net por_resetn [get_bd_pins cortexm1/por_resetn] [get_bd_pins porReset/ext_reset_in] [get_bd_pins processing_system7_0/FCLK_RESET0_N]
1277
+ connect_bd_net -net por_resetn [get_bd_pins cortexm1/por_resetn] [get_bd_pins porReset/ext_reset_in] [get_bd_pins processing_system7_0/FCLK_RESET0_N] [get_bd_pins system_ila_2/probe0]
1278
+ set_property -dict [ list \
1279
+ HDL_ATTRIBUTE.DEBUG {true} \
1280
+ ] [get_bd_nets por_resetn]
1225
1281
connect_bd_net -net processing_system7_0_GPIO_O [get_bd_pins processing_system7_0/GPIO_O] [get_bd_pins resetSlice/Din]
1226
1282
connect_bd_net -net psirq [get_bd_pins processing_system7_0/IRQ_F2P] [get_bd_pins psInterruptController/irq]
1227
- connect_bd_net -net riscv_resetn [get_bd_pins cortexm1/riscv_resetn] [get_bd_pins resetSlice/Dout]
1228
- connect_bd_net -net subprocessorClk [get_bd_pins cortexm1/riscv_clk] [get_bd_pins processing_system7_0/S_AXI_HP0_ACLK] [get_bd_pins subprocessorClk/clk_out1]
1283
+ connect_bd_net -net riscv_resetn [get_bd_pins cortexm1/riscv_resetn] [get_bd_pins resetSlice/Dout] [get_bd_pins system_ila_3/probe0]
1284
+ set_property -dict [ list \
1285
+ HDL_ATTRIBUTE.DEBUG {true} \
1286
+ ] [get_bd_nets riscv_resetn]
1287
+ connect_bd_net -net subprocessorClk [get_bd_pins cortexm1/riscv_clk] [get_bd_pins processing_system7_0/S_AXI_HP0_ACLK] [get_bd_pins subprocessorClk/clk_out1] [get_bd_pins system_ila_0/clk]
1229
1288
connect_bd_net -net tutorialProcessor_clock [get_bd_pins cortexm1/m_axi_aclk] [get_bd_pins irqAxiInterconnect/S01_ACLK]
1230
1289
connect_bd_net -net xlconcat_0_dout [get_bd_pins irqConcat/dout] [get_bd_pins psInterruptController/intr]
1231
1290
0 commit comments