68 lines
2.7 KiB
Tcl
68 lines
2.7 KiB
Tcl
# ip
|
|
|
|
source ../scripts/adi_env.tcl
|
|
source $ad_hdl_dir/library/scripts/adi_ip.tcl
|
|
|
|
proc adi_if_ports {dir width name {type none}} {
|
|
|
|
ipx::add_bus_abstraction_port $name [ipx::current_busabs]
|
|
set_property master_presence required [ipx::get_bus_abstraction_ports $name -of_objects [ipx::current_busabs]]
|
|
set_property slave_presence required [ipx::get_bus_abstraction_ports $name -of_objects [ipx::current_busabs]]
|
|
set_property master_width $width [ipx::get_bus_abstraction_ports $name -of_objects [ipx::current_busabs]]
|
|
set_property slave_width $width [ipx::get_bus_abstraction_ports $name -of_objects [ipx::current_busabs]]
|
|
|
|
set m_dir "in"
|
|
set s_dir "out"
|
|
if {$dir eq "output"} {
|
|
set m_dir "out"
|
|
set s_dir "in"
|
|
}
|
|
|
|
set_property master_direction $m_dir [ipx::get_bus_abstraction_ports $name -of_objects [ipx::current_busabs]]
|
|
set_property slave_direction $s_dir [ipx::get_bus_abstraction_ports $name -of_objects [ipx::current_busabs]]
|
|
|
|
if {$type ne "none"} {
|
|
set_property is_${type} true [ipx::get_bus_abstraction_ports $name -of_objects [ipx::current_busabs]]
|
|
}
|
|
}
|
|
|
|
|
|
ipx::create_abstraction_definition ADI user if_gt_rx_rtl 1.0
|
|
ipx::create_bus_definition ADI user if_gt_rx 1.0
|
|
|
|
set_property xml_file_name if_gt_rx_rtl.xml [ipx::current_busabs]
|
|
set_property xml_file_name if_gt_rx.xml [ipx::current_busdef]
|
|
set_property bus_type_vlnv ADI:user:if_gt_rx:1.0 [ipx::current_busabs]
|
|
|
|
ipx::save_abstraction_definition [ipx::current_busabs]
|
|
ipx::save_bus_definition [ipx::current_busdef]
|
|
|
|
adi_if_ports output 1 rx_p
|
|
adi_if_ports output 1 rx_n
|
|
adi_if_ports input 1 rx_rst reset
|
|
adi_if_ports output 1 rx_rst_m reset
|
|
adi_if_ports input 1 rx_gt_rst reset
|
|
adi_if_ports output 1 rx_gt_rst_m reset
|
|
adi_if_ports input 1 rx_pll_locked
|
|
adi_if_ports output 1 rx_pll_locked_m
|
|
adi_if_ports input 1 rx_user_ready
|
|
adi_if_ports output 1 rx_user_ready_m
|
|
adi_if_ports input 1 rx_rst_done
|
|
adi_if_ports output 1 rx_rst_done_m
|
|
adi_if_ports input 1 rx_out_clk clock
|
|
adi_if_ports output 1 rx_clk clock
|
|
adi_if_ports output 1 rx_sysref
|
|
adi_if_ports input 1 rx_sync
|
|
adi_if_ports input 1 rx_sof
|
|
adi_if_ports input 32 rx_data
|
|
adi_if_ports input 1 rx_ip_rst reset
|
|
adi_if_ports output 4 rx_ip_sof
|
|
adi_if_ports output 32 rx_ip_data
|
|
adi_if_ports input 1 rx_ip_sysref
|
|
adi_if_ports output 1 rx_ip_sync
|
|
adi_if_ports input 1 rx_ip_rst_done
|
|
|
|
ipx::save_bus_definition [ipx::current_busdef]
|
|
ipx::save_abstraction_definition [ipx::current_busabs]
|
|
|