axi_jesd_gt-- gt interfaces

main
Rejeesh Kutty 2015-08-14 15:34:49 -04:00
parent 890f743f1a
commit c22d1c044b
1 changed files with 127 additions and 35 deletions

View File

@ -32,35 +32,144 @@ set_property value axi_aresetn [ipx::get_bus_parameters ASSOCIATED_RESET \
-of_objects [ipx::get_bus_interfaces axi_signal_clock \
-of_objects [ipx::current_core]]]
adi_if_infer_bus ADI:user:if_gt_qpll slave gt_qpll_0 [list \
"qpll_rst qpll0_rst "\
"qpll_ref_clk qpll0_ref_clk_in "]
adi_if_infer_bus ADI:user:if_gt_qpll slave gt_qpll_1 [list \
"qpll_rst qpll1_rst "\
"qpll_ref_clk qpll1_ref_clk_in "]
for {set n 0} {$n < 8} {incr n} {
adi_if_infer_bus ADI:user:if_gt_pll slave gt_pll_${n} [list \
"pll_rst pll_rst_${n} "\
"cpll_rst_m cpll_rst_m_${n} "\
"cpll_ref_clk_in cpll_ref_clk_in_${n} "]
adi_if_infer_bus ADI:user:if_gt_rx slave gt_rx_${n} [list \
"rx_p rx_${n}_p "\
"rx_n rx_${n}_n "\
"rx_rst rx_rst_${n} "\
"rx_rst_m rx_rst_m_${n} "\
"rx_gt_rst rx_gt_rst_${n} "\
"rx_gt_rst_m rx_gt_rst_m_${n} "\
"rx_pll_locked rx_pll_locked_${n} "\
"rx_pll_locked_m rx_pll_locked_m_${n} "\
"rx_user_ready rx_user_ready_${n} "\
"rx_user_ready_m rx_user_ready_m_${n} "\
"rx_rst_done rx_rst_done_${n} "\
"rx_rst_done_m rx_rst_done_m_${n} "\
"rx_out_clk rx_out_clk_${n} "\
"rx_clk rx_clk_${n} "\
"rx_sysref rx_sysref_${n} "\
"rx_sync rx_sync_${n} "\
"rx_sof rx_sof_${n} "\
"rx_data rx_data_${n} "\
"rx_ip_rst rx_ip_rst_${n} "\
"rx_ip_sof rx_ip_sof_${n} "\
"rx_ip_data rx_ip_data_${n} "\
"rx_ip_sysref rx_ip_sysref_${n} "\
"rx_ip_sync rx_ip_sync_${n} "\
"rx_ip_rst_done rx_ip_rst_done_${n} "]
adi_if_infer_bus xilinx.com:display_jesd204:jesd204_rx_bus master gt_rx_ip_${n} [list \
"rxcharisk rx_gt_charisk_${n} "\
"rxdisperr rx_gt_disperr_${n} "\
"rxnotintable rx_gt_notintable_${n} "\
"rxdata rx_gt_data_${n} "]
adi_if_infer_bus ADI:user:if_gt_rx_ksig master gt_rx_ksig_${n} [list \
"rx_gt_ilas_f rx_gt_ilas_f_${n} "\
"rx_gt_ilas_q rx_gt_ilas_q_${n} "\
"rx_gt_ilas_a rx_gt_ilas_a_${n} "\
"rx_gt_ilas_r rx_gt_ilas_r_${n} "\
"rx_gt_cgs_k rx_gt_cgs_k_${n} "]
adi_if_infer_bus ADI:user:if_gt_tx slave gt_tx_${n} [list \
"tx_p tx_${n}_p "\
"tx_n tx_${n}_n "\
"tx_rst tx_rst_${n} "\
"tx_rst_m tx_rst_m_${n} "\
"tx_gt_rst tx_gt_rst_${n} "\
"tx_gt_rst_m tx_gt_rst_m_${n} "\
"tx_pll_locked tx_pll_locked_${n} "\
"tx_pll_locked_m tx_pll_locked_m_${n} "\
"tx_user_ready tx_user_ready_${n} "\
"tx_user_ready_m tx_user_ready_m_${n} "\
"tx_rst_done tx_rst_done_${n} "\
"tx_rst_done_m tx_rst_done_m_${n} "\
"tx_out_clk tx_out_clk_${n} "\
"tx_clk tx_clk_${n} "\
"tx_sysref tx_sysref_${n} "\
"tx_sync tx_sync_${n} "\
"tx_data tx_data_${n} "\
"tx_ip_rst tx_ip_rst_${n} "\
"tx_ip_data tx_ip_data_${n} "\
"tx_ip_sysref tx_ip_sysref_${n} "\
"tx_ip_sync tx_ip_sync_${n} "\
"tx_ip_rst_done tx_ip_rst_done_${n} "]
adi_if_infer_bus xilinx.com:display_jesd204:jesd204_tx_bus slave gt_tx_ip_${n} [list \
"txcharisk tx_gt_charisk_${n} "\
"txdata tx_gt_data_${n} "]
}
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.QPLL0_ENABLE')) == 1} \
[ipx::get_ports qpll0_* -of_objects [ipx::current_core]]
[ipx::get_bus_interfaces gt_qpll_0 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.QPLL1_ENABLE')) == 1} \
[ipx::get_ports qpll1_* -of_objects [ipx::current_core]]
[ipx::get_bus_interfaces gt_qpll_1 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.NUM_OF_LANES')) > 0} \
[ipx::get_ports pll_*_0* -of_objects [ipx::current_core]] \
[ipx::get_ports cpll_*_0* -of_objects [ipx::current_core]]
[ipx::get_bus_interfaces gt_pll_0 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.NUM_OF_LANES')) > 1} \
[ipx::get_ports pll_*_1* -of_objects [ipx::current_core]] \
[ipx::get_ports cpll_*_1* -of_objects [ipx::current_core]]
[ipx::get_bus_interfaces gt_pll_1 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.NUM_OF_LANES')) > 2} \
[ipx::get_ports pll_*_2* -of_objects [ipx::current_core]] \
[ipx::get_ports cpll_*_2* -of_objects [ipx::current_core]]
[ipx::get_bus_interfaces gt_pll_2 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.NUM_OF_LANES')) > 3} \
[ipx::get_ports pll_*_3* -of_objects [ipx::current_core]] \
[ipx::get_ports cpll_*_3* -of_objects [ipx::current_core]]
[ipx::get_bus_interfaces gt_pll_3 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.NUM_OF_LANES')) > 4} \
[ipx::get_ports pll_*_4* -of_objects [ipx::current_core]] \
[ipx::get_ports cpll_*_4* -of_objects [ipx::current_core]]
[ipx::get_bus_interfaces gt_pll_4 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.NUM_OF_LANES')) > 5} \
[ipx::get_ports pll_*_5* -of_objects [ipx::current_core]] \
[ipx::get_ports cpll_*_5* -of_objects [ipx::current_core]]
[ipx::get_bus_interfaces gt_pll_5 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.NUM_OF_LANES')) > 6} \
[ipx::get_ports pll_*_6* -of_objects [ipx::current_core]] \
[ipx::get_ports cpll_*_6* -of_objects [ipx::current_core]]
[ipx::get_bus_interfaces gt_pll_6 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.NUM_OF_LANES')) > 7} \
[ipx::get_ports pll_*_7* -of_objects [ipx::current_core]] \
[ipx::get_ports cpll_*_7* -of_objects [ipx::current_core]]
[ipx::get_bus_interfaces gt_pll_7 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 0} \
[ipx::get_bus_interfaces gt_rx_*0 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 1} \
[ipx::get_bus_interfaces gt_rx_*1 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 2} \
[ipx::get_bus_interfaces gt_rx_*2 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 3} \
[ipx::get_bus_interfaces gt_rx_*3 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 4} \
[ipx::get_bus_interfaces gt_rx_*4 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 5} \
[ipx::get_bus_interfaces gt_rx_*5 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 6} \
[ipx::get_bus_interfaces gt_rx_*6 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 7} \
[ipx::get_bus_interfaces gt_rx_*7 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 0} \
[ipx::get_bus_interfaces gt_tx_*0 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 1} \
[ipx::get_bus_interfaces gt_tx_*1 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 2} \
[ipx::get_bus_interfaces gt_tx_*2 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 3} \
[ipx::get_bus_interfaces gt_tx_*3 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 4} \
[ipx::get_bus_interfaces gt_tx_*4 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 5} \
[ipx::get_bus_interfaces gt_tx_*5 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 6} \
[ipx::get_bus_interfaces gt_tx_*6 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 7} \
[ipx::get_bus_interfaces gt_tx_*7 -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 0} \
[ipx::get_ports *rx_*0* -of_objects [ipx::current_core]]
@ -79,23 +188,6 @@ set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 7} \
[ipx::get_ports *rx_*7* -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 0} \
[ipx::get_ports *tx_*0* -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 1} \
[ipx::get_ports *tx_*1* -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 2} \
[ipx::get_ports *tx_*2* -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 3} \
[ipx::get_ports *tx_*3* -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 4} \
[ipx::get_ports *tx_*4* -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 5} \
[ipx::get_ports *tx_*5* -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 6} \
[ipx::get_ports *tx_*6* -of_objects [ipx::current_core]]
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 7} \
[ipx::get_ports *tx_*7* -of_objects [ipx::current_core]]
set_property driver_value 0 [ipx::get_ports -filter "direction==in" -of_objects [ipx::current_core]]
ipx::save_core [ipx::current_core]