axi_jesd_gt- ip script changes
parent
e265ca9ea7
commit
8697b0a8d6
|
@ -40,6 +40,7 @@
|
||||||
module axi_jesd_gt #(
|
module axi_jesd_gt #(
|
||||||
|
|
||||||
parameter integer ID = 0,
|
parameter integer ID = 0,
|
||||||
|
parameter integer NUM_OF_LANES = 8,
|
||||||
parameter integer GTH_GTX_N = 0,
|
parameter integer GTH_GTX_N = 0,
|
||||||
parameter integer QPLL0_ENABLE = 1,
|
parameter integer QPLL0_ENABLE = 1,
|
||||||
parameter integer QPLL0_REFCLK_DIV = 1,
|
parameter integer QPLL0_REFCLK_DIV = 1,
|
||||||
|
@ -706,8 +707,6 @@ module axi_jesd_gt #(
|
||||||
|
|
||||||
// post-processing
|
// post-processing
|
||||||
|
|
||||||
localparam integer NUM_OF_LANES = (TX_NUM_OF_LANES > RX_NUM_OF_LANES) ?
|
|
||||||
TX_NUM_OF_LANES : RX_NUM_OF_LANES;
|
|
||||||
localparam [31:0] PMA_RSV[7:0] = {PMA_RSV_7, PMA_RSV_6, PMA_RSV_5, PMA_RSV_4,
|
localparam [31:0] PMA_RSV[7:0] = {PMA_RSV_7, PMA_RSV_6, PMA_RSV_5, PMA_RSV_4,
|
||||||
PMA_RSV_3, PMA_RSV_2, PMA_RSV_1, PMA_RSV_0};
|
PMA_RSV_3, PMA_RSV_2, PMA_RSV_1, PMA_RSV_0};
|
||||||
localparam integer CPLL_FBDIV[7:0] = {CPLL_FBDIV_7, CPLL_FBDIV_6, CPLL_FBDIV_5, CPLL_FBDIV_4,
|
localparam integer CPLL_FBDIV[7:0] = {CPLL_FBDIV_7, CPLL_FBDIV_6, CPLL_FBDIV_5, CPLL_FBDIV_4,
|
||||||
|
|
|
@ -32,35 +32,69 @@ set_property value axi_aresetn [ipx::get_bus_parameters ASSOCIATED_RESET \
|
||||||
-of_objects [ipx::get_bus_interfaces axi_signal_clock \
|
-of_objects [ipx::get_bus_interfaces axi_signal_clock \
|
||||||
-of_objects [ipx::current_core]]]
|
-of_objects [ipx::current_core]]]
|
||||||
|
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 1} \
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.QPLL0_ENABLE')) == 1} \
|
||||||
[ipx::get_ports *rx_*_1* -of_objects [ipx::current_core]]
|
[ipx::get_ports qpll0_* -of_objects [ipx::current_core]]
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 2} \
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.QPLL1_ENABLE')) == 1} \
|
||||||
[ipx::get_ports *rx_*_2* -of_objects [ipx::current_core]]
|
[ipx::get_ports qpll1_* -of_objects [ipx::current_core]]
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 3} \
|
|
||||||
[ipx::get_ports *rx_*_3* -of_objects [ipx::current_core]]
|
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 4} \
|
|
||||||
[ipx::get_ports *rx_*_4* -of_objects [ipx::current_core]]
|
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 5} \
|
|
||||||
[ipx::get_ports *rx_*_5* -of_objects [ipx::current_core]]
|
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 6} \
|
|
||||||
[ipx::get_ports *rx_*_6* -of_objects [ipx::current_core]]
|
|
||||||
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.NUM_OF_LANES')) > 0} \
|
||||||
|
[ipx::get_ports pll_*_0* -of_objects [ipx::current_core]] \
|
||||||
|
[ipx::get_ports cpll_*_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]]
|
||||||
|
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]]
|
||||||
|
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]]
|
||||||
|
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]]
|
||||||
|
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]]
|
||||||
|
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]]
|
||||||
|
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]]
|
||||||
|
|
||||||
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 0} \
|
||||||
|
[ipx::get_ports *rx_*0* -of_objects [ipx::current_core]]
|
||||||
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 1} \
|
||||||
|
[ipx::get_ports *rx_*1* -of_objects [ipx::current_core]]
|
||||||
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 2} \
|
||||||
|
[ipx::get_ports *rx_*2* -of_objects [ipx::current_core]]
|
||||||
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 3} \
|
||||||
|
[ipx::get_ports *rx_*3* -of_objects [ipx::current_core]]
|
||||||
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 4} \
|
||||||
|
[ipx::get_ports *rx_*4* -of_objects [ipx::current_core]]
|
||||||
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 5} \
|
||||||
|
[ipx::get_ports *rx_*5* -of_objects [ipx::current_core]]
|
||||||
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.RX_NUM_OF_LANES')) > 6} \
|
||||||
|
[ipx::get_ports *rx_*6* -of_objects [ipx::current_core]]
|
||||||
|
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} \
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 1} \
|
||||||
[ipx::get_ports *tx_*_1* -of_objects [ipx::current_core]]
|
[ipx::get_ports *tx_*1* -of_objects [ipx::current_core]]
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 2} \
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 2} \
|
||||||
[ipx::get_ports *tx_*_2* -of_objects [ipx::current_core]]
|
[ipx::get_ports *tx_*2* -of_objects [ipx::current_core]]
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 3} \
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 3} \
|
||||||
[ipx::get_ports *tx_*_3* -of_objects [ipx::current_core]]
|
[ipx::get_ports *tx_*3* -of_objects [ipx::current_core]]
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 4} \
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 4} \
|
||||||
[ipx::get_ports *tx_*_4* -of_objects [ipx::current_core]]
|
[ipx::get_ports *tx_*4* -of_objects [ipx::current_core]]
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 5} \
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 5} \
|
||||||
[ipx::get_ports *tx_*_5* -of_objects [ipx::current_core]]
|
[ipx::get_ports *tx_*5* -of_objects [ipx::current_core]]
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 6} \
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 6} \
|
||||||
[ipx::get_ports *tx_*_6* -of_objects [ipx::current_core]]
|
[ipx::get_ports *tx_*6* -of_objects [ipx::current_core]]
|
||||||
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 7} \
|
set_property enablement_dependency {spirit:decode(id('MODELPARAM_VALUE.TX_NUM_OF_LANES')) > 7} \
|
||||||
[ipx::get_ports *tx_*_7* -of_objects [ipx::current_core]]
|
[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]]
|
set_property driver_value 0 [ipx::get_ports -filter "direction==in" -of_objects [ipx::current_core]]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue