design_1.tcl 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516
  1. ################################################################
  2. # This is a generated script based on design: design_1
  3. #
  4. # Though there are limitations about the generated script,
  5. # the main purpose of this utility is to make learning
  6. # IP Integrator Tcl commands easier.
  7. ################################################################
  8. namespace eval _tcl {
  9. proc get_script_folder {} {
  10. set script_path [file normalize [info script]]
  11. set script_folder [file dirname $script_path]
  12. return $script_folder
  13. }
  14. }
  15. variable script_folder
  16. set script_folder [_tcl::get_script_folder]
  17. ################################################################
  18. # Check if script is running in correct Vivado version.
  19. ################################################################
  20. set scripts_vivado_version 2018.3
  21. set current_vivado_version [version -short]
  22. if { [string first $scripts_vivado_version $current_vivado_version] == -1 } {
  23. puts ""
  24. catch {common::send_msg_id "BD_TCL-109" "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."}
  25. return 1
  26. }
  27. ################################################################
  28. # START
  29. ################################################################
  30. # To test this script, run the following commands from Vivado Tcl console:
  31. # source design_1_script.tcl
  32. # The design that will be created by this Tcl script contains the following
  33. # module references:
  34. # packaging
  35. # Please add the sources of those modules before sourcing this Tcl script.
  36. # If there is no project opened, this script will create a
  37. # project, but make sure you do not have an existing project
  38. # <./myproj/project_1.xpr> in the current working folder.
  39. set list_projs [get_projects -quiet]
  40. if { $list_projs eq "" } {
  41. create_project project_1 myproj -part xc7a100tcsg324-1
  42. }
  43. # CHANGE DESIGN NAME HERE
  44. variable design_name
  45. set design_name design_1
  46. # If you do not already have an existing IP Integrator design open,
  47. # you can create a design using the following command:
  48. # create_bd_design $design_name
  49. # Creating design if needed
  50. set errMsg ""
  51. set nRet 0
  52. set cur_design [current_bd_design -quiet]
  53. set list_cells [get_bd_cells -quiet]
  54. if { ${design_name} eq "" } {
  55. # USE CASES:
  56. # 1) Design_name not set
  57. set errMsg "Please set the variable <design_name> to a non-empty value."
  58. set nRet 1
  59. } elseif { ${cur_design} ne "" && ${list_cells} eq "" } {
  60. # USE CASES:
  61. # 2): Current design opened AND is empty AND names same.
  62. # 3): Current design opened AND is empty AND names diff; design_name NOT in project.
  63. # 4): Current design opened AND is empty AND names diff; design_name exists in project.
  64. if { $cur_design ne $design_name } {
  65. common::send_msg_id "BD_TCL-001" "INFO" "Changing value of <design_name> from <$design_name> to <$cur_design> since current design is empty."
  66. set design_name [get_property NAME $cur_design]
  67. }
  68. common::send_msg_id "BD_TCL-002" "INFO" "Constructing design in IPI design <$cur_design>..."
  69. } elseif { ${cur_design} ne "" && $list_cells ne "" && $cur_design eq $design_name } {
  70. # USE CASES:
  71. # 5) Current design opened AND has components AND same names.
  72. set errMsg "Design <$design_name> already exists in your project, please set the variable <design_name> to another value."
  73. set nRet 1
  74. } elseif { [get_files -quiet ${design_name}.bd] ne "" } {
  75. # USE CASES:
  76. # 6) Current opened design, has components, but diff names, design_name exists in project.
  77. # 7) No opened design, design_name exists in project.
  78. set errMsg "Design <$design_name> already exists in your project, please set the variable <design_name> to another value."
  79. set nRet 2
  80. } else {
  81. # USE CASES:
  82. # 8) No opened design, design_name not in project.
  83. # 9) Current opened design, has components, but diff names, design_name not in project.
  84. common::send_msg_id "BD_TCL-003" "INFO" "Currently there is no design <$design_name> in project, so creating one..."
  85. create_bd_design $design_name
  86. common::send_msg_id "BD_TCL-004" "INFO" "Making design <$design_name> as current_bd_design."
  87. current_bd_design $design_name
  88. }
  89. common::send_msg_id "BD_TCL-005" "INFO" "Currently the variable <design_name> is equal to \"$design_name\"."
  90. if { $nRet != 0 } {
  91. catch {common::send_msg_id "BD_TCL-114" "ERROR" $errMsg}
  92. return $nRet
  93. }
  94. set bCheckIPsPassed 1
  95. ##################################################################
  96. # CHECK IPs
  97. ##################################################################
  98. set bCheckIPs 1
  99. if { $bCheckIPs == 1 } {
  100. set list_check_ips "\
  101. xilinx.com:ip:c_counter_binary:12.0\
  102. xilinx.com:user:ethernet_transceiver2:1.0\
  103. xilinx.com:ip:fifo_generator:13.2\
  104. xilinx.com:ip:c_addsub:12.0\
  105. xilinx.com:user:segment:1.0\
  106. xilinx.com:ip:xlconcat:2.1\
  107. xilinx.com:ip:xlconstant:1.1\
  108. xilinx.com:ip:xlslice:1.0\
  109. "
  110. set list_ips_missing ""
  111. common::send_msg_id "BD_TCL-006" "INFO" "Checking if the following IPs exist in the project's IP catalog: $list_check_ips ."
  112. foreach ip_vlnv $list_check_ips {
  113. set ip_obj [get_ipdefs -all $ip_vlnv]
  114. if { $ip_obj eq "" } {
  115. lappend list_ips_missing $ip_vlnv
  116. }
  117. }
  118. if { $list_ips_missing ne "" } {
  119. catch {common::send_msg_id "BD_TCL-115" "ERROR" "The following IPs are not found in the IP Catalog:\n $list_ips_missing\n\nResolution: Please add the repository containing the IP(s) to the project." }
  120. set bCheckIPsPassed 0
  121. }
  122. }
  123. ##################################################################
  124. # CHECK Modules
  125. ##################################################################
  126. set bCheckModules 1
  127. if { $bCheckModules == 1 } {
  128. set list_check_mods "\
  129. packaging\
  130. "
  131. set list_mods_missing ""
  132. common::send_msg_id "BD_TCL-006" "INFO" "Checking if the following modules exist in the project's sources: $list_check_mods ."
  133. foreach mod_vlnv $list_check_mods {
  134. if { [can_resolve_reference $mod_vlnv] == 0 } {
  135. lappend list_mods_missing $mod_vlnv
  136. }
  137. }
  138. if { $list_mods_missing ne "" } {
  139. catch {common::send_msg_id "BD_TCL-115" "ERROR" "The following module(s) are not found in the project: $list_mods_missing" }
  140. common::send_msg_id "BD_TCL-008" "INFO" "Please add source files for the missing module(s) above."
  141. set bCheckIPsPassed 0
  142. }
  143. }
  144. if { $bCheckIPsPassed != 1 } {
  145. common::send_msg_id "BD_TCL-1003" "WARNING" "Will not continue with creation of design due to the error(s) above."
  146. return 3
  147. }
  148. ##################################################################
  149. # DESIGN PROCs
  150. ##################################################################
  151. # Procedure to create entire design; Provide argument to make
  152. # procedure reusable. If parentCell is "", will use root.
  153. proc create_root_design { parentCell } {
  154. variable script_folder
  155. variable design_name
  156. if { $parentCell eq "" } {
  157. set parentCell [get_bd_cells /]
  158. }
  159. # Get object for parentCell
  160. set parentObj [get_bd_cells $parentCell]
  161. if { $parentObj == "" } {
  162. catch {common::send_msg_id "BD_TCL-100" "ERROR" "Unable to find parent cell <$parentCell>!"}
  163. return
  164. }
  165. # Make sure parentObj is hier blk
  166. set parentType [get_property TYPE $parentObj]
  167. if { $parentType ne "hier" } {
  168. catch {common::send_msg_id "BD_TCL-101" "ERROR" "Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."}
  169. return
  170. }
  171. # Save current instance; Restore later
  172. set oldCurInst [current_bd_instance .]
  173. # Set parent object as current
  174. current_bd_instance $parentObj
  175. # Create interface ports
  176. # Create ports
  177. set anodes_0 [ create_bd_port -dir O -from 0 -to 7 anodes_0 ]
  178. set cathodes_0 [ create_bd_port -dir O -from 0 -to 7 cathodes_0 ]
  179. set clk_100MHz [ create_bd_port -dir I -type clk clk_100MHz ]
  180. set_property -dict [ list \
  181. CONFIG.FREQ_HZ {100000000} \
  182. ] $clk_100MHz
  183. set eth_crsdv_0 [ create_bd_port -dir IO eth_crsdv_0 ]
  184. set eth_mdc_0 [ create_bd_port -dir O eth_mdc_0 ]
  185. set eth_mdio_0 [ create_bd_port -dir IO eth_mdio_0 ]
  186. set eth_refclk_0 [ create_bd_port -dir O eth_refclk_0 ]
  187. set eth_rstn_0 [ create_bd_port -dir IO -type rst eth_rstn_0 ]
  188. set eth_rxd_0 [ create_bd_port -dir IO -from 1 -to 0 eth_rxd_0 ]
  189. set eth_rxerr_0 [ create_bd_port -dir IO eth_rxerr_0 ]
  190. set eth_txd_0 [ create_bd_port -dir IO -from 1 -to 0 eth_txd_0 ]
  191. set eth_txen_0 [ create_bd_port -dir IO eth_txen_0 ]
  192. set led16_b_0 [ create_bd_port -dir O led16_b_0 ]
  193. set led16_g_0 [ create_bd_port -dir O led16_g_0 ]
  194. set led16_r_0 [ create_bd_port -dir O led16_r_0 ]
  195. set led17_b_0 [ create_bd_port -dir O led17_b_0 ]
  196. set led17_g_0 [ create_bd_port -dir O led17_g_0 ]
  197. set led17_r_0 [ create_bd_port -dir O led17_r_0 ]
  198. set led_0 [ create_bd_port -dir O -from 15 -to 0 led_0 ]
  199. set reset_rtl_0 [ create_bd_port -dir I -type rst reset_rtl_0 ]
  200. set_property -dict [ list \
  201. CONFIG.POLARITY {ACTIVE_LOW} \
  202. ] $reset_rtl_0
  203. set sw_0 [ create_bd_port -dir I -from 4 -to 0 sw_0 ]
  204. # Create instance: c_counter_binary_0, and set properties
  205. set c_counter_binary_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:c_counter_binary:12.0 c_counter_binary_0 ]
  206. set_property -dict [ list \
  207. CONFIG.CE {true} \
  208. CONFIG.Fb_Latency {2} \
  209. CONFIG.Fb_Latency_Configuration {Automatic} \
  210. CONFIG.Final_Count_Value {270F} \
  211. CONFIG.Latency_Configuration {Automatic} \
  212. CONFIG.Restrict_Count {true} \
  213. CONFIG.SCLR {true} \
  214. CONFIG.SSET {false} \
  215. ] $c_counter_binary_0
  216. # Create instance: c_counter_binary_1, and set properties
  217. set c_counter_binary_1 [ create_bd_cell -type ip -vlnv xilinx.com:ip:c_counter_binary:12.0 c_counter_binary_1 ]
  218. set_property -dict [ list \
  219. CONFIG.CE {true} \
  220. CONFIG.Fb_Latency {2} \
  221. CONFIG.Fb_Latency_Configuration {Automatic} \
  222. CONFIG.Final_Count_Value {270F} \
  223. CONFIG.Latency_Configuration {Automatic} \
  224. CONFIG.Restrict_Count {true} \
  225. CONFIG.SCLR {true} \
  226. CONFIG.SSET {false} \
  227. ] $c_counter_binary_1
  228. # Create instance: ethernet_transceiver2_0, and set properties
  229. set ethernet_transceiver2_0 [ create_bd_cell -type ip -vlnv xilinx.com:user:ethernet_transceiver2:1.0 ethernet_transceiver2_0 ]
  230. # Create instance: fifo_input, and set properties
  231. set fifo_input [ create_bd_cell -type ip -vlnv xilinx.com:ip:fifo_generator:13.2 fifo_input ]
  232. set_property -dict [ list \
  233. CONFIG.Almost_Empty_Flag {false} \
  234. CONFIG.Data_Count {false} \
  235. CONFIG.Data_Count_Width {6} \
  236. CONFIG.Empty_Threshold_Assert_Value {2} \
  237. CONFIG.Empty_Threshold_Assert_Value_rach {1022} \
  238. CONFIG.Empty_Threshold_Assert_Value_wach {1022} \
  239. CONFIG.Empty_Threshold_Assert_Value_wrch {1022} \
  240. CONFIG.Empty_Threshold_Negate_Value {3} \
  241. CONFIG.Enable_Safety_Circuit {false} \
  242. CONFIG.FIFO_Implementation_rach {Common_Clock_Distributed_RAM} \
  243. CONFIG.FIFO_Implementation_wach {Common_Clock_Distributed_RAM} \
  244. CONFIG.FIFO_Implementation_wrch {Common_Clock_Distributed_RAM} \
  245. CONFIG.Fifo_Implementation {Common_Clock_Distributed_RAM} \
  246. CONFIG.Full_Flags_Reset_Value {0} \
  247. CONFIG.Full_Threshold_Assert_Value {62} \
  248. CONFIG.Full_Threshold_Assert_Value_rach {1023} \
  249. CONFIG.Full_Threshold_Assert_Value_wach {1023} \
  250. CONFIG.Full_Threshold_Assert_Value_wrch {1023} \
  251. CONFIG.Full_Threshold_Negate_Value {61} \
  252. CONFIG.INTERFACE_TYPE {Native} \
  253. CONFIG.Input_Data_Width {32} \
  254. CONFIG.Input_Depth {64} \
  255. CONFIG.Output_Data_Width {32} \
  256. CONFIG.Output_Depth {64} \
  257. CONFIG.Overflow_Flag {true} \
  258. CONFIG.Performance_Options {Standard_FIFO} \
  259. CONFIG.Programmable_Empty_Type {No_Programmable_Empty_Threshold} \
  260. CONFIG.Programmable_Full_Type {No_Programmable_Full_Threshold} \
  261. CONFIG.Read_Data_Count {false} \
  262. CONFIG.Read_Data_Count_Width {6} \
  263. CONFIG.Reset_Pin {true} \
  264. CONFIG.Reset_Type {Synchronous_Reset} \
  265. CONFIG.Underflow_Flag {false} \
  266. CONFIG.Use_Dout_Reset {true} \
  267. CONFIG.Use_Embedded_Registers {false} \
  268. CONFIG.Use_Extra_Logic {false} \
  269. CONFIG.Valid_Flag {false} \
  270. CONFIG.Write_Data_Count {false} \
  271. CONFIG.Write_Data_Count_Width {6} \
  272. ] $fifo_input
  273. # Create instance: fifo_output, and set properties
  274. set fifo_output [ create_bd_cell -type ip -vlnv xilinx.com:ip:fifo_generator:13.2 fifo_output ]
  275. set_property -dict [ list \
  276. CONFIG.Almost_Empty_Flag {false} \
  277. CONFIG.Almost_Full_Flag {false} \
  278. CONFIG.Data_Count {false} \
  279. CONFIG.Data_Count_Width {9} \
  280. CONFIG.Empty_Threshold_Assert_Value {2} \
  281. CONFIG.Empty_Threshold_Assert_Value_rach {1022} \
  282. CONFIG.Empty_Threshold_Assert_Value_wach {1022} \
  283. CONFIG.Empty_Threshold_Assert_Value_wrch {1022} \
  284. CONFIG.Empty_Threshold_Negate_Value {3} \
  285. CONFIG.Enable_Safety_Circuit {false} \
  286. CONFIG.FIFO_Implementation_rach {Common_Clock_Distributed_RAM} \
  287. CONFIG.FIFO_Implementation_wach {Common_Clock_Distributed_RAM} \
  288. CONFIG.FIFO_Implementation_wrch {Common_Clock_Distributed_RAM} \
  289. CONFIG.Fifo_Implementation {Independent_Clocks_Distributed_RAM} \
  290. CONFIG.Full_Flags_Reset_Value {1} \
  291. CONFIG.Full_Threshold_Assert_Value {509} \
  292. CONFIG.Full_Threshold_Assert_Value_rach {1023} \
  293. CONFIG.Full_Threshold_Assert_Value_wach {1023} \
  294. CONFIG.Full_Threshold_Assert_Value_wrch {1023} \
  295. CONFIG.Full_Threshold_Negate_Value {508} \
  296. CONFIG.INTERFACE_TYPE {Native} \
  297. CONFIG.Input_Data_Width {32} \
  298. CONFIG.Input_Depth {512} \
  299. CONFIG.Output_Data_Width {32} \
  300. CONFIG.Output_Depth {512} \
  301. CONFIG.Overflow_Flag {true} \
  302. CONFIG.Performance_Options {Standard_FIFO} \
  303. CONFIG.Programmable_Empty_Type {No_Programmable_Empty_Threshold} \
  304. CONFIG.Programmable_Full_Type {No_Programmable_Full_Threshold} \
  305. CONFIG.Read_Data_Count {true} \
  306. CONFIG.Read_Data_Count_Width {9} \
  307. CONFIG.Reset_Pin {true} \
  308. CONFIG.Reset_Type {Asynchronous_Reset} \
  309. CONFIG.Underflow_Flag {false} \
  310. CONFIG.Use_Dout_Reset {true} \
  311. CONFIG.Use_Embedded_Registers {false} \
  312. CONFIG.Use_Extra_Logic {false} \
  313. CONFIG.Valid_Flag {false} \
  314. CONFIG.Write_Data_Count {false} \
  315. CONFIG.Write_Data_Count_Width {9} \
  316. ] $fifo_output
  317. # Create instance: negate_0, and set properties
  318. set negate_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:c_addsub:12.0 negate_0 ]
  319. set_property -dict [ list \
  320. CONFIG.A_Type {Unsigned} \
  321. CONFIG.A_Width {1} \
  322. CONFIG.Add_Mode {Add} \
  323. CONFIG.B_Constant {true} \
  324. CONFIG.B_Type {Unsigned} \
  325. CONFIG.B_Value {1} \
  326. CONFIG.B_Width {1} \
  327. CONFIG.CE {false} \
  328. CONFIG.Latency {1} \
  329. CONFIG.Latency_Configuration {Automatic} \
  330. CONFIG.Out_Width {1} \
  331. ] $negate_0
  332. # Create instance: packaging_0, and set properties
  333. set block_name packaging
  334. set block_cell_name packaging_0
  335. if { [catch {set packaging_0 [create_bd_cell -type module -reference $block_name $block_cell_name] } errmsg] } {
  336. catch {common::send_msg_id "BD_TCL-105" "ERROR" "Unable to add referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."}
  337. return 1
  338. } elseif { $packaging_0 eq "" } {
  339. catch {common::send_msg_id "BD_TCL-106" "ERROR" "Unable to referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."}
  340. return 1
  341. }
  342. # Create instance: segment_0, and set properties
  343. set segment_0 [ create_bd_cell -type ip -vlnv xilinx.com:user:segment:1.0 segment_0 ]
  344. # Create instance: xlconcat_4, and set properties
  345. set xlconcat_4 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconcat:2.1 xlconcat_4 ]
  346. set_property -dict [ list \
  347. CONFIG.IN0_WIDTH {4} \
  348. CONFIG.IN1_WIDTH {4} \
  349. CONFIG.IN2_WIDTH {8} \
  350. CONFIG.IN3_WIDTH {2} \
  351. CONFIG.IN4_WIDTH {5} \
  352. CONFIG.NUM_PORTS {3} \
  353. ] $xlconcat_4
  354. # Create instance: xlconcat_5, and set properties
  355. set xlconcat_5 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconcat:2.1 xlconcat_5 ]
  356. set_property -dict [ list \
  357. CONFIG.IN0_WIDTH {9} \
  358. CONFIG.IN1_WIDTH {7} \
  359. CONFIG.IN2_WIDTH {8} \
  360. CONFIG.IN3_WIDTH {2} \
  361. CONFIG.IN4_WIDTH {5} \
  362. CONFIG.NUM_PORTS {2} \
  363. ] $xlconcat_5
  364. # Create instance: xlconstant_0, and set properties
  365. set xlconstant_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconstant:1.1 xlconstant_0 ]
  366. set_property -dict [ list \
  367. CONFIG.CONST_VAL {0} \
  368. CONFIG.CONST_WIDTH {16} \
  369. ] $xlconstant_0
  370. # Create instance: xlconstant_1, and set properties
  371. set xlconstant_1 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlconstant:1.1 xlconstant_1 ]
  372. set_property -dict [ list \
  373. CONFIG.CONST_VAL {0} \
  374. CONFIG.CONST_WIDTH {7} \
  375. ] $xlconstant_1
  376. # Create instance: xlslice_0, and set properties
  377. set xlslice_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:xlslice:1.0 xlslice_0 ]
  378. set_property -dict [ list \
  379. CONFIG.DIN_FROM {7} \
  380. CONFIG.DIN_TO {0} \
  381. CONFIG.DIN_WIDTH {16} \
  382. CONFIG.DOUT_WIDTH {8} \
  383. ] $xlslice_0
  384. # Create interface connections
  385. connect_bd_intf_net -intf_net ethernet_transceiver2_0_fifo_read [get_bd_intf_pins ethernet_transceiver2_0/fifo_read] [get_bd_intf_pins fifo_output/FIFO_READ]
  386. connect_bd_intf_net -intf_net ethernet_transceiver2_0_fifo_write [get_bd_intf_pins ethernet_transceiver2_0/fifo_write] [get_bd_intf_pins fifo_input/FIFO_WRITE]
  387. # Create port connections
  388. connect_bd_net -net Net [get_bd_ports eth_rxd_0] [get_bd_pins ethernet_transceiver2_0/eth_rxd]
  389. connect_bd_net -net Net1 [get_bd_ports eth_txd_0] [get_bd_pins ethernet_transceiver2_0/eth_txd]
  390. connect_bd_net -net Net2 [get_bd_ports eth_crsdv_0] [get_bd_pins ethernet_transceiver2_0/eth_crsdv]
  391. connect_bd_net -net Net3 [get_bd_ports eth_txen_0] [get_bd_pins ethernet_transceiver2_0/eth_txen]
  392. connect_bd_net -net Net4 [get_bd_ports eth_rxerr_0] [get_bd_pins ethernet_transceiver2_0/eth_rxerr]
  393. connect_bd_net -net Net5 [get_bd_ports eth_mdio_0] [get_bd_pins ethernet_transceiver2_0/eth_mdio]
  394. connect_bd_net -net Net6 [get_bd_ports eth_rstn_0] [get_bd_pins ethernet_transceiver2_0/eth_rstn]
  395. connect_bd_net -net c_counter_binary_0_Q [get_bd_pins c_counter_binary_0/Q] [get_bd_pins segment_0/num2]
  396. connect_bd_net -net c_counter_binary_1_Q [get_bd_pins c_counter_binary_1/Q] [get_bd_pins segment_0/num1]
  397. connect_bd_net -net clk_wiz_clk_out1 [get_bd_ports clk_100MHz] [get_bd_pins c_counter_binary_0/CLK] [get_bd_pins c_counter_binary_1/CLK] [get_bd_pins ethernet_transceiver2_0/clk100mhz] [get_bd_pins fifo_input/clk] [get_bd_pins fifo_output/wr_clk] [get_bd_pins negate_0/CLK] [get_bd_pins packaging_0/clk] [get_bd_pins segment_0/clk]
  398. connect_bd_net -net ethernet_transceiver2_0_eth_mdc [get_bd_ports eth_mdc_0] [get_bd_pins ethernet_transceiver2_0/eth_mdc]
  399. connect_bd_net -net ethernet_transceiver2_0_eth_refclk [get_bd_ports eth_refclk_0] [get_bd_pins ethernet_transceiver2_0/eth_refclk] [get_bd_pins fifo_output/rd_clk]
  400. connect_bd_net -net ethernet_transceiver2_0_led16_b [get_bd_ports led16_b_0] [get_bd_pins ethernet_transceiver2_0/led16_b]
  401. connect_bd_net -net ethernet_transceiver2_0_led16_g [get_bd_ports led16_g_0] [get_bd_pins ethernet_transceiver2_0/led16_g]
  402. connect_bd_net -net ethernet_transceiver2_0_led16_r [get_bd_ports led16_r_0] [get_bd_pins ethernet_transceiver2_0/led16_r]
  403. connect_bd_net -net ethernet_transceiver2_0_led17_b [get_bd_ports led17_b_0] [get_bd_pins ethernet_transceiver2_0/led17_b]
  404. connect_bd_net -net ethernet_transceiver2_0_led17_g [get_bd_ports led17_g_0] [get_bd_pins ethernet_transceiver2_0/led17_g]
  405. connect_bd_net -net ethernet_transceiver2_0_led17_r [get_bd_ports led17_r_0] [get_bd_pins ethernet_transceiver2_0/led17_r]
  406. connect_bd_net -net fifo_input_dout [get_bd_pins fifo_input/dout] [get_bd_pins packaging_0/inputStream]
  407. connect_bd_net -net fifo_input_empty [get_bd_pins fifo_input/empty] [get_bd_pins packaging_0/inputEmpty]
  408. connect_bd_net -net fifo_input_overflow [get_bd_pins c_counter_binary_1/CE] [get_bd_pins fifo_input/overflow]
  409. connect_bd_net -net fifo_output_full [get_bd_pins fifo_output/full] [get_bd_pins packaging_0/outputFull]
  410. connect_bd_net -net fifo_output_overflow [get_bd_pins c_counter_binary_0/CE] [get_bd_pins fifo_output/overflow]
  411. connect_bd_net -net fifo_output_rd_data_count [get_bd_pins fifo_output/rd_data_count] [get_bd_pins xlconcat_5/In0]
  412. connect_bd_net -net packaging_0_errorCode [get_bd_pins packaging_0/errorCode] [get_bd_pins xlconcat_4/In0]
  413. connect_bd_net -net packaging_0_inpRdEn [get_bd_pins fifo_input/rd_en] [get_bd_pins packaging_0/inpRdEn]
  414. connect_bd_net -net packaging_0_outData [get_bd_pins fifo_output/din] [get_bd_pins packaging_0/outData]
  415. connect_bd_net -net packaging_0_outWrEn [get_bd_pins fifo_output/wr_en] [get_bd_pins packaging_0/outWrEn]
  416. connect_bd_net -net packaging_0_stateOut [get_bd_pins packaging_0/stateOut] [get_bd_pins xlconcat_4/In1]
  417. connect_bd_net -net rst_clk_wiz_100M_peripheral_aresetn [get_bd_ports reset_rtl_0] [get_bd_pins ethernet_transceiver2_0/btn_reset] [get_bd_pins negate_0/A] [get_bd_pins packaging_0/rst]
  418. connect_bd_net -net segment_0_anodes [get_bd_ports anodes_0] [get_bd_pins segment_0/anodes]
  419. connect_bd_net -net segment_0_cathodes [get_bd_ports cathodes_0] [get_bd_pins segment_0/cathodes]
  420. connect_bd_net -net sw_0_1 [get_bd_ports sw_0] [get_bd_pins ethernet_transceiver2_0/ip]
  421. connect_bd_net -net xlconcat_4_dout [get_bd_ports led_0] [get_bd_pins xlconcat_4/dout]
  422. connect_bd_net -net xlconcat_5_dout [get_bd_pins ethernet_transceiver2_0/fifo_read_length] [get_bd_pins xlconcat_5/dout] [get_bd_pins xlslice_0/Din]
  423. connect_bd_net -net xlconstant_0_dout [get_bd_pins ethernet_transceiver2_0/udp_packet_checksum] [get_bd_pins xlconstant_0/dout]
  424. connect_bd_net -net xlconstant_1_dout [get_bd_pins xlconcat_5/In1] [get_bd_pins xlconstant_1/dout]
  425. connect_bd_net -net xlslice_0_Dout [get_bd_pins xlconcat_4/In2] [get_bd_pins xlslice_0/Dout]
  426. connect_bd_net -net xlslice_1_Dout [get_bd_pins c_counter_binary_0/SCLR] [get_bd_pins c_counter_binary_1/SCLR] [get_bd_pins fifo_input/srst] [get_bd_pins fifo_output/rst] [get_bd_pins negate_0/S]
  427. # Create address segments
  428. # Restore current instance
  429. current_bd_instance $oldCurInst
  430. save_bd_design
  431. }
  432. # End of create_root_design()
  433. ##################################################################
  434. # MAIN FLOW
  435. ##################################################################
  436. create_root_design ""
  437. common::send_msg_id "BD_TCL-1000" "WARNING" "This Tcl script was generated from a block design that has not been validated. It is possible that design <$design_name> may result in errors during validation."