]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/MicroBlaze_Kintex7_EthernetLite/Hardware/base_microblaze_design_bd.tcl
Update some more standard demos for use on 64-bit architectures.
[freertos] / FreeRTOS / Demo / MicroBlaze_Kintex7_EthernetLite / Hardware / base_microblaze_design_bd.tcl
1 \r
2 ################################################################\r
3 # This is a generated script based on design: base_microblaze_design\r
4 #\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
9 \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
15 \r
16 if { [string first $scripts_vivado_version $current_vivado_version] == -1 } {\r
17    puts ""\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
19 \r
20    return 1\r
21 }\r
22 \r
23 ################################################################\r
24 # START\r
25 ################################################################\r
26 \r
27 # To test this script, run the following commands from Vivado Tcl console:\r
28 # source base_microblaze_design_script.tcl\r
29 \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
34 \r
35 \r
36 # CHANGE DESIGN NAME HERE\r
37 set design_name base_microblaze_design\r
38 \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
42 \r
43 # CHECKING IF PROJECT EXISTS\r
44 if { [get_projects -quiet] eq "" } {\r
45    puts "ERROR: Please open or create a project!"\r
46    return 1\r
47 }\r
48 \r
49 \r
50 # Creating design if needed\r
51 set errMsg ""\r
52 set nRet 0\r
53 \r
54 set cur_design [current_bd_design -quiet]\r
55 set list_cells [get_bd_cells -quiet]\r
56 \r
57 if { ${design_name} eq "" } {\r
58    # USE CASES:\r
59    #    1) Design_name not set\r
60 \r
61    set errMsg "ERROR: Please set the variable <design_name> to a non-empty value."\r
62    set nRet 1\r
63 \r
64 } elseif { ${cur_design} ne "" && ${list_cells} eq "" } {\r
65    # USE CASES:\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
69 \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
73    }\r
74    puts "INFO: Constructing design in IPI design <$cur_design>..."\r
75 \r
76 } elseif { ${cur_design} ne "" && $list_cells ne "" && $cur_design eq $design_name } {\r
77    # USE CASES:\r
78    #    5) Current design opened AND has components AND same names.\r
79 \r
80    set errMsg "ERROR: Design <$design_name> already exists in your project, please set the variable <design_name> to another value."\r
81    set nRet 1\r
82 } elseif { [get_files -quiet ${design_name}.bd] ne "" } {\r
83    # USE CASES: \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
86 \r
87    set errMsg "ERROR: Design <$design_name> already exists in your project, please set the variable <design_name> to another value."\r
88    set nRet 2\r
89 \r
90 } else {\r
91    # USE CASES:\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
94 \r
95    puts "INFO: Currently there is no design <$design_name> in project, so creating one..."\r
96 \r
97    create_bd_design $design_name\r
98 \r
99    puts "INFO: Making design <$design_name> as current_bd_design."\r
100    current_bd_design $design_name\r
101 \r
102 }\r
103 \r
104 puts "INFO: Currently the variable <design_name> is equal to \"$design_name\"."\r
105 \r
106 if { $nRet != 0 } {\r
107    puts $errMsg\r
108    return $nRet\r
109 }\r
110 \r
111 ##################################################################\r
112 # DESIGN PROCs\r
113 ##################################################################\r
114 \r
115 \r
116 # Hierarchical cell: microblaze_0_local_memory\r
117 proc create_hier_cell_microblaze_0_local_memory { parentCell nameHier } {\r
118 \r
119   if { $parentCell eq "" || $nameHier eq "" } {\r
120      puts "ERROR: create_hier_cell_microblaze_0_local_memory() - Empty argument(s)!"\r
121      return\r
122   }\r
123 \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
128      return\r
129   }\r
130 \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
135      return\r
136   }\r
137 \r
138   # Save current instance; Restore later\r
139   set oldCurInst [current_bd_instance .]\r
140 \r
141   # Set parent object as current\r
142   current_bd_instance $parentObj\r
143 \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
147 \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
151 \r
152   # Create pins\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
155 \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
159 \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
162 \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
166 \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
169 \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
173 \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
181 \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
185   \r
186   # Restore current instance\r
187   current_bd_instance $oldCurInst\r
188 }\r
189 \r
190 \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
194 \r
195   if { $parentCell eq "" } {\r
196      set parentCell [get_bd_cells /]\r
197   }\r
198 \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
203      return\r
204   }\r
205 \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
210      return\r
211   }\r
212 \r
213   # Save current instance; Restore later\r
214   set oldCurInst [current_bd_instance .]\r
215 \r
216   # Set parent object as current\r
217   current_bd_instance $parentObj\r
218 \r
219 \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
227 \r
228   # Create ports\r
229   set reset [ create_bd_port -dir I -type rst reset ]\r
230   set_property -dict [ list CONFIG.POLARITY {ACTIVE_HIGH}  ] $reset\r
231 \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
235 \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
239 \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
242 \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
246 \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
249 \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
253 \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
256 \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
278 \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
282 \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
285 \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
289 \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
293 \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
297 \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
318 \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
333 \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
344   \r
345 \r
346   # Restore current instance\r
347   current_bd_instance $oldCurInst\r
348 \r
349   save_bd_design\r
350 }\r
351 # End of create_root_design()\r
352 \r
353 \r
354 ##################################################################\r
355 # MAIN FLOW\r
356 ##################################################################\r
357 \r
358 create_root_design ""\r
359 \r
360 \r