common::send_msg_id "BD_TCL-006""INFO""Checking if the following IPs exist in the project's IP catalog: $list_check_ips ."
foreach ip_vlnv $list_check_ips {
set ip_obj [get_ipdefs -all $ip_vlnv]
if { $ip_obj eq ""}{
lappend list_ips_missing $ip_vlnv
}
}
if { $list_ips_missing ne ""}{
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."}
set bCheckIPsPassed 0
}
}
if { $bCheckIPsPassed != 1 }{
common::send_msg_id "BD_TCL-1003""WARNING""Will not continue with creation of design due to the error(s) above."
return 3
}
variable script_folder
if { $parentCell eq ""}{
set parentCell [get_bd_cells /]
}
# Get object for parentCell
set parentObj [get_bd_cells $parentCell]
if { $parentObj == ""}{
catch {common::send_msg_id "BD_TCL-100""ERROR""Unable to find parent cell <$parentCell>!"}
return
}
# Make sure parentObj is hier blk
set parentType [get_property TYPE $parentObj]
if { $parentType ne "hier"}{
catch {common::send_msg_id "BD_TCL-101""ERROR""Parent <$parentObj> has TYPE = <$parentType>. Expected to be <hier>."}
return
}
# Save current instance; Restore later
set oldCurInst [current_bd_instance .]
# Set parent object as current
current_bd_instance $parentObj
# Create interface ports
set DDR [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:ddrx_rtl:1.0 DDR ]
set FIXED_IO [ create_bd_intf_port -mode Master -vlnv xilinx.com:display_processing_system7:fixedio_rtl:1.0 FIXED_IO ]
set btns_4bits [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 btns_4bits ]
set leds_4bits [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 leds_4bits ]
set rgb_led [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 rgb_led ]
set sws_4bits [ create_bd_intf_port -mode Master -vlnv xilinx.com:interface:gpio_rtl:1.0 sws_4bits ]
# Create ports
# Create instance: axi_gpio_0, and set properties
set axi_gpio_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_0 ]
set_property -dict [ list \
CONFIG.GPIO_BOARD_INTERFACE {sws_4bits}\
CONFIG.USE_BOARD_FLOW {true}\
] $axi_gpio_0
# Create instance: axi_gpio_1, and set properties
set axi_gpio_1 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_1 ]
set_property -dict [ list \
CONFIG.GPIO_BOARD_INTERFACE {leds_4bits}\
CONFIG.USE_BOARD_FLOW {true}\
] $axi_gpio_1
# Create instance: axi_gpio_2, and set properties
set axi_gpio_2 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_2 ]
set_property -dict [ list \
CONFIG.GPIO_BOARD_INTERFACE {btns_4bits}\
CONFIG.USE_BOARD_FLOW {true}\
] $axi_gpio_2
# Create instance: axi_gpio_3, and set properties
set axi_gpio_3 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_3 ]
set_property -dict [ list \
CONFIG.GPIO_BOARD_INTERFACE {rgb_led}\
CONFIG.USE_BOARD_FLOW {true}\
] $axi_gpio_3
# Create instance: processing_system7_0, and set properties
set processing_system7_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5 processing_system7_0 ]