2 ################################################################
\r
3 # This is a generated script based on design: base_microblaze_design
\r
5 # Though there are limitations about the generated script,
\r
6 # the main purpose of this utility is to make learning
\r
7 # IP Integrator Tcl commands easier.
\r
8 ################################################################
\r
10 ################################################################
\r
11 # Check if script is running in correct Vivado version.
\r
12 ################################################################
\r
13 set scripts_vivado_version 2014.4
\r
14 set current_vivado_version [version -short]
\r
16 if { [string first $scripts_vivado_version $current_vivado_version] == -1 } {
\r
18 puts "ERROR: This script was generated using Vivado <$scripts_vivado_version> and is being run in <$current_vivado_version> of Vivado. Please run the script in Vivado <$scripts_vivado_version> then open the design in Vivado <$current_vivado_version>. Upgrade the design by running \"Tools => Report => Report IP Status...\", then run write_bd_tcl to create an updated script."
\r
23 ################################################################
\r
25 ################################################################
\r
27 # To test this script, run the following commands from Vivado Tcl console:
\r
28 # source base_microblaze_design_script.tcl
\r
30 # If you do not already have a project created,
\r
31 # you can create a project using the following command:
\r
32 # create_project project_1 myproj -part xc7k325tffg900-2
\r
33 # set_property BOARD_PART xilinx.com:kc705:part0:1.1 [current_project]
\r
36 # CHANGE DESIGN NAME HERE
\r
37 set design_name base_microblaze_design
\r
39 # If you do not already have an existing IP Integrator design open,
\r
40 # you can create a design using the following command:
\r
41 # create_bd_design $design_name
\r
43 # CHECKING IF PROJECT EXISTS
\r
44 if { [get_projects -quiet] eq "" } {
\r
45 puts "ERROR: Please open or create a project!"
\r
50 # Creating design if needed
\r
54 set cur_design [current_bd_design -quiet]
\r
55 set list_cells [get_bd_cells -quiet]
\r
57 if { ${design_name} eq "" } {
\r
59 # 1) Design_name not set
\r
61 set errMsg "ERROR: Please set the variable <design_name> to a non-empty value."
\r
64 } elseif { ${cur_design} ne "" && ${list_cells} eq "" } {
\r
66 # 2): Current design opened AND is empty AND names same.
\r
67 # 3): Current design opened AND is empty AND names diff; design_name NOT in project.
\r
68 # 4): Current design opened AND is empty AND names diff; design_name exists in project.
\r
70 if { $cur_design ne $design_name } {
\r
71 puts "INFO: Changing value of <design_name> from <$design_name> to <$cur_design> since current design is empty."
\r
72 set design_name [get_property NAME $cur_design]
\r
74 puts "INFO: Constructing design in IPI design <$cur_design>..."
\r
76 } elseif { ${cur_design} ne "" && $list_cells ne "" && $cur_design eq $design_name } {
\r
78 # 5) Current design opened AND has components AND same names.
\r
80 set errMsg "ERROR: Design <$design_name> already exists in your project, please set the variable <design_name> to another value."
\r
82 } elseif { [get_files -quiet ${design_name}.bd] ne "" } {
\r
84 # 6) Current opened design, has components, but diff names, design_name exists in project.
\r
85 # 7) No opened design, design_name exists in project.
\r
87 set errMsg "ERROR: Design <$design_name> already exists in your project, please set the variable <design_name> to another value."
\r
92 # 8) No opened design, design_name not in project.
\r
93 # 9) Current opened design, has components, but diff names, design_name not in project.
\r
95 puts "INFO: Currently there is no design <$design_name> in project, so creating one..."
\r
97 create_bd_design $design_name
\r
99 puts "INFO: Making design <$design_name> as current_bd_design."
\r
100 current_bd_design $design_name
\r
104 puts "INFO: Currently the variable <design_name> is equal to \"$design_name\"."
\r
106 if { $nRet != 0 } {
\r
111 ##################################################################
\r
113 ##################################################################
\r
116 # Hierarchical cell: microblaze_0_local_memory
\r
117 proc create_hier_cell_microblaze_0_local_memory { parentCell nameHier } {
\r
119 if { $parentCell eq "" || $nameHier eq "" } {
\r
120 puts "ERROR: create_hier_cell_microblaze_0_local_memory() - Empty argument(s)!"
\r
124 # Get object for parentCell
\r
125 set parentObj [get_bd_cells $parentCell]
\r
126 if { $parentObj == "" } {
\r
127 puts "ERROR: Unable to find parent cell <$parentCell>!"
\r
131 # Make sure parentObj is hier blk
\r
132 set parentType [get_property TYPE $parentObj]
\r
133 if { $parentType ne "hier" } {
\r
134 puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."
\r
138 # Save current instance; Restore later
\r
139 set oldCurInst [current_bd_instance .]
\r
141 # Set parent object as current
\r
142 current_bd_instance $parentObj
\r
144 # Create cell and set as current instance
\r
145 set hier_obj [create_bd_cell -type hier $nameHier]
\r
146 current_bd_instance $hier_obj
\r
148 # Create interface pins
\r
149 create_bd_intf_pin -mode MirroredMaster -vlnv xilinx.com:interface:lmb_rtl:1.0 DLMB
\r
150 create_bd_intf_pin -mode MirroredMaster -vlnv xilinx.com:interface:lmb_rtl:1.0 ILMB
\r
153 create_bd_pin -dir I -type clk LMB_Clk
\r
154 create_bd_pin -dir I -from 0 -to 0 -type rst LMB_Rst
\r
156 # Create instance: dlmb_bram_if_cntlr, and set properties
\r
157 set dlmb_bram_if_cntlr [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_bram_if_cntlr:4.0 dlmb_bram_if_cntlr ]
\r
158 set_property -dict [ list CONFIG.C_ECC {0} ] $dlmb_bram_if_cntlr
\r
160 # Create instance: dlmb_v10, and set properties
\r
161 set dlmb_v10 [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_v10:3.0 dlmb_v10 ]
\r
163 # Create instance: ilmb_bram_if_cntlr, and set properties
\r
164 set ilmb_bram_if_cntlr [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_bram_if_cntlr:4.0 ilmb_bram_if_cntlr ]
\r
165 set_property -dict [ list CONFIG.C_ECC {0} ] $ilmb_bram_if_cntlr
\r
167 # Create instance: ilmb_v10, and set properties
\r
168 set ilmb_v10 [ create_bd_cell -type ip -vlnv xilinx.com:ip:lmb_v10:3.0 ilmb_v10 ]
\r
170 # Create instance: lmb_bram, and set properties
\r
171 set lmb_bram [ create_bd_cell -type ip -vlnv xilinx.com:ip:blk_mem_gen:8.2 lmb_bram ]
\r
172 set_property -dict [ list CONFIG.Memory_Type {True_Dual_Port_RAM} CONFIG.use_bram_block {BRAM_Controller} ] $lmb_bram
\r
174 # Create interface connections
\r
175 connect_bd_intf_net -intf_net microblaze_0_dlmb [get_bd_intf_pins DLMB] [get_bd_intf_pins dlmb_v10/LMB_M]
\r
176 connect_bd_intf_net -intf_net microblaze_0_dlmb_bus [get_bd_intf_pins dlmb_bram_if_cntlr/SLMB] [get_bd_intf_pins dlmb_v10/LMB_Sl_0]
\r
177 connect_bd_intf_net -intf_net microblaze_0_dlmb_cntlr [get_bd_intf_pins dlmb_bram_if_cntlr/BRAM_PORT] [get_bd_intf_pins lmb_bram/BRAM_PORTA]
\r
178 connect_bd_intf_net -intf_net microblaze_0_ilmb [get_bd_intf_pins ILMB] [get_bd_intf_pins ilmb_v10/LMB_M]
\r
179 connect_bd_intf_net -intf_net microblaze_0_ilmb_bus [get_bd_intf_pins ilmb_bram_if_cntlr/SLMB] [get_bd_intf_pins ilmb_v10/LMB_Sl_0]
\r
180 connect_bd_intf_net -intf_net microblaze_0_ilmb_cntlr [get_bd_intf_pins ilmb_bram_if_cntlr/BRAM_PORT] [get_bd_intf_pins lmb_bram/BRAM_PORTB]
\r
182 # Create port connections
\r
183 connect_bd_net -net microblaze_0_Clk [get_bd_pins LMB_Clk] [get_bd_pins dlmb_bram_if_cntlr/LMB_Clk] [get_bd_pins dlmb_v10/LMB_Clk] [get_bd_pins ilmb_bram_if_cntlr/LMB_Clk] [get_bd_pins ilmb_v10/LMB_Clk]
\r
184 connect_bd_net -net microblaze_0_LMB_Rst [get_bd_pins LMB_Rst] [get_bd_pins dlmb_bram_if_cntlr/LMB_Rst] [get_bd_pins dlmb_v10/SYS_Rst] [get_bd_pins ilmb_bram_if_cntlr/LMB_Rst] [get_bd_pins ilmb_v10/SYS_Rst]
\r
186 # Restore current instance
\r
187 current_bd_instance $oldCurInst
\r
191 # Procedure to create entire design; Provide argument to make
\r
192 # procedure reusable. If parentCell is "", will use root.
\r
193 proc create_root_design { parentCell } {
\r
195 if { $parentCell eq "" } {
\r
196 set parentCell [get_bd_cells /]
\r
199 # Get object for parentCell
\r
200 set parentObj [get_bd_cells $parentCell]
\r
201 if { $parentObj == "" } {
\r
202 puts "ERROR: Unable to find parent cell <$parentCell>!"
\r
206 # Make sure parentObj is hier blk
\r
207 set parentType [get_property TYPE $parentObj]
\r
208 if { $parentType ne "hier" } {
\r
209 puts "ERROR: Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."
\r
213 # Save current instance; Restore later
\r
214 set oldCurInst [current_bd_instance .]
\r
216 # Set parent object as current
\r
217 current_bd_instance $parentObj
\r
220 # Create interface ports
\r
221 set ddr3_sdram [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:ddrx_rtl:1.0 ddr3_sdram ]
\r
222 set led_8bits [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 led_8bits ]
\r
223 set mdio_mdc [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:mdio_rtl:1.0 mdio_mdc ]
\r
224 set mii [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:mii_rtl:1.0 mii ]
\r
225 set rs232_uart [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:uart_rtl:1.0 rs232_uart ]
\r
226 set sys_diff_clock [ create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_clock_rtl:1.0 sys_diff_clock ]
\r
229 set reset [ create_bd_port -dir I -type rst reset ]
\r
230 set_property -dict [ list CONFIG.POLARITY {ACTIVE_HIGH} ] $reset
\r
232 # Create instance: axi_ethernetlite_0, and set properties
\r
233 set axi_ethernetlite_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_ethernetlite:3.0 axi_ethernetlite_0 ]
\r
234 set_property -dict [ list CONFIG.MDIO_BOARD_INTERFACE {mdio_mdc} CONFIG.MII_BOARD_INTERFACE {mii} CONFIG.USE_BOARD_FLOW {true} ] $axi_ethernetlite_0
\r
236 # Create instance: axi_gpio_0, and set properties
\r
237 set axi_gpio_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_0 ]
\r
238 set_property -dict [ list CONFIG.GPIO_BOARD_INTERFACE {led_8bits} CONFIG.USE_BOARD_FLOW {true} ] $axi_gpio_0
\r
240 # Create instance: axi_intc_0, and set properties
\r
241 set axi_intc_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_intc:4.1 axi_intc_0 ]
\r
243 # Create instance: axi_mem_intercon, and set properties
\r
244 set axi_mem_intercon [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 axi_mem_intercon ]
\r
245 set_property -dict [ list CONFIG.NUM_MI {1} CONFIG.NUM_SI {2} ] $axi_mem_intercon
\r
247 # Create instance: axi_timer_0, and set properties
\r
248 set axi_timer_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_timer:2.0 axi_timer_0 ]
\r
250 # Create instance: axi_uartlite_0, and set properties
\r
251 set axi_uartlite_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_uartlite:2.0 axi_uartlite_0 ]
\r
252 set_property -dict [ list CONFIG.C_BAUDRATE {115200} CONFIG.UARTLITE_BOARD_INTERFACE {rs232_uart} CONFIG.USE_BOARD_FLOW {true} ] $axi_uartlite_0
\r
254 # Create instance: mdm_1, and set properties
\r
255 set mdm_1 [ create_bd_cell -type ip -vlnv xilinx.com:ip:mdm:3.2 mdm_1 ]
\r
257 # Create instance: microblaze_0, and set properties
\r
258 set microblaze_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:microblaze:9.4 microblaze_0 ]
\r
259 set_property -dict [ list CONFIG.C_CACHE_BYTE_SIZE {32768} \
\r
260 CONFIG.C_DCACHE_BYTE_SIZE {32768} CONFIG.C_DCACHE_LINE_LEN {8} \
\r
261 CONFIG.C_DCACHE_USE_WRITEBACK {1} CONFIG.C_DCACHE_VICTIMS {8} \
\r
262 CONFIG.C_DEBUG_ENABLED {1} CONFIG.C_DIV_ZERO_EXCEPTION {1} \
\r
263 CONFIG.C_D_AXI {1} CONFIG.C_D_LMB {1} \
\r
264 CONFIG.C_FPU_EXCEPTION {1} CONFIG.C_ICACHE_LINE_LEN {8} \
\r
265 CONFIG.C_ICACHE_STREAMS {1} CONFIG.C_ICACHE_VICTIMS {8} \
\r
266 CONFIG.C_ILL_OPCODE_EXCEPTION {1} CONFIG.C_I_LMB {1} \
\r
267 CONFIG.C_M_AXI_D_BUS_EXCEPTION {1} CONFIG.C_M_AXI_I_BUS_EXCEPTION {1} \
\r
268 CONFIG.C_NUMBER_OF_PC_BRK {8} CONFIG.C_NUMBER_OF_RD_ADDR_BRK {2} \
\r
269 CONFIG.C_NUMBER_OF_WR_ADDR_BRK {2} CONFIG.C_OPCODE_0x0_ILLEGAL {1} \
\r
270 CONFIG.C_TRACE {1} CONFIG.C_UNALIGNED_EXCEPTIONS {1} \
\r
271 CONFIG.C_USE_BARREL {1} CONFIG.C_USE_BRANCH_TARGET_CACHE {1} \
\r
272 CONFIG.C_USE_DCACHE {1} CONFIG.C_USE_DIV {1} \
\r
273 CONFIG.C_USE_FPU {2} CONFIG.C_USE_HW_MUL {2} \
\r
274 CONFIG.C_USE_ICACHE {1} CONFIG.C_USE_MSR_INSTR {1} \
\r
275 CONFIG.C_USE_PCMP_INSTR {1} CONFIG.C_USE_REORDER_INSTR {1} \
\r
276 CONFIG.C_USE_STACK_PROTECTION {1} CONFIG.G_TEMPLATE_LIST {2} \
\r
277 CONFIG.G_USE_EXCEPTIONS {1} ] $microblaze_0
\r
279 # Create instance: microblaze_0_axi_periph, and set properties
\r
280 set microblaze_0_axi_periph [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 microblaze_0_axi_periph ]
\r
281 set_property -dict [ list CONFIG.NUM_MI {5} CONFIG.NUM_SI {1} ] $microblaze_0_axi_periph
\r
283 # Create instance: microblaze_0_local_memory
\r
284 create_hier_cell_microblaze_0_local_memory [current_bd_instance .] microblaze_0_local_memory
\r
286 # Create instance: mig_7series_0, and set properties
\r
287 set mig_7series_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:mig_7series:2.3 mig_7series_0 ]
\r
288 set_property -dict [ list CONFIG.BOARD_MIG_PARAM {ddr3_sdram} CONFIG.RESET_BOARD_INTERFACE {reset} ] $mig_7series_0
\r
290 # Create instance: rst_clk_wiz_1_100M, and set properties
\r
291 set rst_clk_wiz_1_100M [ create_bd_cell -type ip -vlnv xilinx.com:ip:proc_sys_reset:5.0 rst_clk_wiz_1_100M ]
\r
292 set_property -dict [ list CONFIG.RESET_BOARD_INTERFACE {Custom} CONFIG.USE_BOARD_FLOW {true} ] $rst_clk_wiz_1_100M
\r
294 # Create instance: xlconcat_0, and set properties
\r
295 set xlconcat_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconcat:2.1 xlconcat_0 ]
\r
296 set_property -dict [ list CONFIG.NUM_PORTS {3} ] $xlconcat_0
\r
298 # Create interface connections
\r
299 connect_bd_intf_net -intf_net SYS_CLK_1 [get_bd_intf_ports sys_diff_clock] [get_bd_intf_pins mig_7series_0/SYS_CLK]
\r
300 connect_bd_intf_net -intf_net axi_ethernetlite_0_MDIO [get_bd_intf_ports mdio_mdc] [get_bd_intf_pins axi_ethernetlite_0/MDIO]
\r
301 connect_bd_intf_net -intf_net axi_ethernetlite_0_MII [get_bd_intf_ports mii] [get_bd_intf_pins axi_ethernetlite_0/MII]
\r
302 connect_bd_intf_net -intf_net axi_gpio_0_GPIO [get_bd_intf_ports led_8bits] [get_bd_intf_pins axi_gpio_0/GPIO]
\r
303 connect_bd_intf_net -intf_net axi_intc_0_interrupt [get_bd_intf_pins axi_intc_0/interrupt] [get_bd_intf_pins microblaze_0/INTERRUPT]
\r
304 connect_bd_intf_net -intf_net axi_mem_intercon_M00_AXI [get_bd_intf_pins axi_mem_intercon/M00_AXI] [get_bd_intf_pins mig_7series_0/S_AXI]
\r
305 connect_bd_intf_net -intf_net axi_uartlite_0_UART [get_bd_intf_ports rs232_uart] [get_bd_intf_pins axi_uartlite_0/UART]
\r
306 connect_bd_intf_net -intf_net microblaze_0_M_AXI_DC [get_bd_intf_pins axi_mem_intercon/S00_AXI] [get_bd_intf_pins microblaze_0/M_AXI_DC]
\r
307 connect_bd_intf_net -intf_net microblaze_0_M_AXI_DP [get_bd_intf_pins microblaze_0/M_AXI_DP] [get_bd_intf_pins microblaze_0_axi_periph/S00_AXI]
\r
308 connect_bd_intf_net -intf_net microblaze_0_M_AXI_IC [get_bd_intf_pins axi_mem_intercon/S01_AXI] [get_bd_intf_pins microblaze_0/M_AXI_IC]
\r
309 connect_bd_intf_net -intf_net microblaze_0_axi_periph_M00_AXI [get_bd_intf_pins axi_uartlite_0/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M00_AXI]
\r
310 connect_bd_intf_net -intf_net microblaze_0_axi_periph_M01_AXI [get_bd_intf_pins axi_gpio_0/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M01_AXI]
\r
311 connect_bd_intf_net -intf_net microblaze_0_axi_periph_M02_AXI [get_bd_intf_pins axi_timer_0/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M02_AXI]
\r
312 connect_bd_intf_net -intf_net microblaze_0_axi_periph_M03_AXI [get_bd_intf_pins axi_intc_0/s_axi] [get_bd_intf_pins microblaze_0_axi_periph/M03_AXI]
\r
313 connect_bd_intf_net -intf_net microblaze_0_axi_periph_M04_AXI [get_bd_intf_pins axi_ethernetlite_0/S_AXI] [get_bd_intf_pins microblaze_0_axi_periph/M04_AXI]
\r
314 connect_bd_intf_net -intf_net microblaze_0_debug [get_bd_intf_pins mdm_1/MBDEBUG_0] [get_bd_intf_pins microblaze_0/DEBUG]
\r
315 connect_bd_intf_net -intf_net microblaze_0_dlmb_1 [get_bd_intf_pins microblaze_0/DLMB] [get_bd_intf_pins microblaze_0_local_memory/DLMB]
\r
316 connect_bd_intf_net -intf_net microblaze_0_ilmb_1 [get_bd_intf_pins microblaze_0/ILMB] [get_bd_intf_pins microblaze_0_local_memory/ILMB]
\r
317 connect_bd_intf_net -intf_net mig_7series_0_DDR3 [get_bd_intf_ports ddr3_sdram] [get_bd_intf_pins mig_7series_0/DDR3]
\r
319 # Create port connections
\r
320 connect_bd_net -net axi_ethernetlite_0_ip2intc_irpt [get_bd_pins axi_ethernetlite_0/ip2intc_irpt] [get_bd_pins xlconcat_0/In2]
\r
321 connect_bd_net -net axi_timer_0_interrupt [get_bd_pins axi_timer_0/interrupt] [get_bd_pins xlconcat_0/In0]
\r
322 connect_bd_net -net axi_uartlite_0_interrupt [get_bd_pins axi_uartlite_0/interrupt] [get_bd_pins xlconcat_0/In1]
\r
323 connect_bd_net -net mdm_1_debug_sys_rst [get_bd_pins mdm_1/Debug_SYS_Rst] [get_bd_pins rst_clk_wiz_1_100M/mb_debug_sys_rst]
\r
324 connect_bd_net -net microblaze_0_Clk [get_bd_pins axi_ethernetlite_0/s_axi_aclk] [get_bd_pins axi_gpio_0/s_axi_aclk] [get_bd_pins axi_intc_0/s_axi_aclk] [get_bd_pins axi_mem_intercon/ACLK] [get_bd_pins axi_mem_intercon/M00_ACLK] [get_bd_pins axi_mem_intercon/S00_ACLK] [get_bd_pins axi_mem_intercon/S01_ACLK] [get_bd_pins axi_timer_0/s_axi_aclk] [get_bd_pins axi_uartlite_0/s_axi_aclk] [get_bd_pins microblaze_0/Clk] [get_bd_pins microblaze_0_axi_periph/ACLK] [get_bd_pins microblaze_0_axi_periph/M00_ACLK] [get_bd_pins microblaze_0_axi_periph/M01_ACLK] [get_bd_pins microblaze_0_axi_periph/M02_ACLK] [get_bd_pins microblaze_0_axi_periph/M03_ACLK] [get_bd_pins microblaze_0_axi_periph/M04_ACLK] [get_bd_pins microblaze_0_axi_periph/S00_ACLK] [get_bd_pins microblaze_0_local_memory/LMB_Clk] [get_bd_pins mig_7series_0/ui_clk] [get_bd_pins rst_clk_wiz_1_100M/slowest_sync_clk]
\r
325 connect_bd_net -net mig_7series_0_mmcm_locked [get_bd_pins mig_7series_0/mmcm_locked] [get_bd_pins rst_clk_wiz_1_100M/dcm_locked]
\r
326 connect_bd_net -net mig_7series_0_ui_clk_sync_rst [get_bd_pins mig_7series_0/ui_clk_sync_rst] [get_bd_pins rst_clk_wiz_1_100M/ext_reset_in]
\r
327 connect_bd_net -net reset_1 [get_bd_ports reset] [get_bd_pins mig_7series_0/sys_rst]
\r
328 connect_bd_net -net rst_clk_wiz_1_100M_bus_struct_reset [get_bd_pins microblaze_0_local_memory/LMB_Rst] [get_bd_pins rst_clk_wiz_1_100M/bus_struct_reset]
\r
329 connect_bd_net -net rst_clk_wiz_1_100M_interconnect_aresetn [get_bd_pins axi_mem_intercon/ARESETN] [get_bd_pins microblaze_0_axi_periph/ARESETN] [get_bd_pins rst_clk_wiz_1_100M/interconnect_aresetn]
\r
330 connect_bd_net -net rst_clk_wiz_1_100M_mb_reset [get_bd_pins microblaze_0/Reset] [get_bd_pins rst_clk_wiz_1_100M/mb_reset]
\r
331 connect_bd_net -net rst_clk_wiz_1_100M_peripheral_aresetn [get_bd_pins axi_ethernetlite_0/s_axi_aresetn] [get_bd_pins axi_gpio_0/s_axi_aresetn] [get_bd_pins axi_intc_0/s_axi_aresetn] [get_bd_pins axi_mem_intercon/M00_ARESETN] [get_bd_pins axi_mem_intercon/S00_ARESETN] [get_bd_pins axi_mem_intercon/S01_ARESETN] [get_bd_pins axi_timer_0/s_axi_aresetn] [get_bd_pins axi_uartlite_0/s_axi_aresetn] [get_bd_pins microblaze_0_axi_periph/M00_ARESETN] [get_bd_pins microblaze_0_axi_periph/M01_ARESETN] [get_bd_pins microblaze_0_axi_periph/M02_ARESETN] [get_bd_pins microblaze_0_axi_periph/M03_ARESETN] [get_bd_pins microblaze_0_axi_periph/M04_ARESETN] [get_bd_pins microblaze_0_axi_periph/S00_ARESETN] [get_bd_pins mig_7series_0/aresetn] [get_bd_pins rst_clk_wiz_1_100M/peripheral_aresetn]
\r
332 connect_bd_net -net xlconcat_0_dout [get_bd_pins axi_intc_0/intr] [get_bd_pins xlconcat_0/dout]
\r
334 # Create address segments
\r
335 create_bd_addr_seg -range 0x10000 -offset 0x40E00000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_ethernetlite_0/S_AXI/Reg] SEG_axi_ethernetlite_0_Reg
\r
336 create_bd_addr_seg -range 0x10000 -offset 0x40000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_gpio_0/S_AXI/Reg] SEG_axi_gpio_0_Reg
\r
337 create_bd_addr_seg -range 0x10000 -offset 0x41200000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_intc_0/s_axi/Reg] SEG_axi_intc_0_Reg
\r
338 create_bd_addr_seg -range 0x10000 -offset 0x41C00000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_timer_0/S_AXI/Reg] SEG_axi_timer_0_Reg
\r
339 create_bd_addr_seg -range 0x10000 -offset 0x40600000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs axi_uartlite_0/S_AXI/Reg] SEG_axi_uartlite_0_Reg
\r
340 create_bd_addr_seg -range 0x40000 -offset 0x0 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs microblaze_0_local_memory/dlmb_bram_if_cntlr/SLMB/Mem] SEG_dlmb_bram_if_cntlr_Mem
\r
341 create_bd_addr_seg -range 0x40000 -offset 0x0 [get_bd_addr_spaces microblaze_0/Instruction] [get_bd_addr_segs microblaze_0_local_memory/ilmb_bram_if_cntlr/SLMB/Mem] SEG_ilmb_bram_if_cntlr_Mem
\r
342 create_bd_addr_seg -range 0x40000000 -offset 0x80000000 [get_bd_addr_spaces microblaze_0/Data] [get_bd_addr_segs mig_7series_0/memmap/memaddr] SEG_mig_7series_0_memaddr
\r
343 create_bd_addr_seg -range 0x40000000 -offset 0x80000000 [get_bd_addr_spaces microblaze_0/Instruction] [get_bd_addr_segs mig_7series_0/memmap/memaddr] SEG_mig_7series_0_memaddr
\r
346 # Restore current instance
\r
347 current_bd_instance $oldCurInst
\r
351 # End of create_root_design()
\r
354 ##################################################################
\r
356 ##################################################################
\r
358 create_root_design ""
\r