diff --git a/projects/adrv9009/common/adrv9009_bd.tcl b/projects/adrv9009/common/adrv9009_bd.tcl index 7dddd1ba..309778b6 100644 --- a/projects/adrv9009/common/adrv9009_bd.tcl +++ b/projects/adrv9009/common/adrv9009_bd.tcl @@ -2,7 +2,7 @@ set LINK_LAYER_BYTES_PER_BEAT 4 # TX parameters -set TX_NUM_OF_LANES 1 ; # L +set TX_NUM_OF_LANES 4 ; # L set TX_NUM_OF_CONVERTERS 4 ; # M set TX_SAMPLES_PER_FRAME 1 ; # S set TX_SAMPLE_WIDTH 16 ; # N/NP @@ -31,8 +31,8 @@ set RX_TPL_BYTES_PER_BEAT [expr max($RX_BYTES_PER_FRAME, $LINK_LAYER_BYTES_PER_B set RX_SAMPLES_PER_CHANNEL [expr ($RX_NUM_OF_LANES * 8 * $RX_TPL_BYTES_PER_BEAT) / ($RX_NUM_OF_CONVERTERS * $RX_SAMPLE_WIDTH)] # RX Observation parameters -set RX_OS_NUM_OF_LANES 2 ; # L -set RX_OS_NUM_OF_CONVERTERS 2 ; # M +set RX_OS_NUM_OF_LANES 1 ; # L +set RX_OS_NUM_OF_CONVERTERS 4 ; # M set RX_OS_SAMPLES_PER_FRAME 1 ; # S set RX_OS_SAMPLE_WIDTH 16 ; # N/NP @@ -256,6 +256,12 @@ for {set i 0} {$i < $RX_OS_NUM_OF_LANES} {incr i} { ad_connect axi_adrv9009_rx_os_clkgen/clk_0 axi_adrv9009_rx_os_jesd/device_clk ad_connect axi_adrv9009_rx_os_clkgen/clk_0 axi_adrv9009_rx_os_jesd_rstgen/slowest_sync_clk +# Connect unused CPLL clocks and resets +for {set i [expr $RX_NUM_OF_LANES+$RX_OS_NUM_OF_LANES]} {$i < $TX_NUM_OF_LANES} {incr i} { + ad_connect util_adrv9009_xcvr/cpll_ref_clk_$i GND_1/dout + ad_connect util_adrv9009_xcvr/up_cpll_rst_$i GND_1/dout +} + # dma clock & reset ad_ip_instance proc_sys_reset sys_dma_rstgen diff --git a/projects/adrv9009/zcu102/system_constr.xdc b/projects/adrv9009/zcu102/system_constr.xdc index 03c18920..0ebe9249 100644 --- a/projects/adrv9009/zcu102/system_constr.xdc +++ b/projects/adrv9009/zcu102/system_constr.xdc @@ -9,18 +9,18 @@ set_property -dict {PACKAGE_PIN D33} [get_ports rx_data_p[0]] set_property -dict {PACKAGE_PIN D34} [get_ports rx_data_n[0]] ; ## A03 FMC_HPC1_DP1_M2C_N set_property -dict {PACKAGE_PIN C31} [get_ports rx_data_p[1]] ; ## A06 FMC_HPC1_DP2_M2C_P set_property -dict {PACKAGE_PIN C32} [get_ports rx_data_n[1]] ; ## A07 FMC_HPC1_DP2_M2C_N -set_property -dict {PACKAGE_PIN E31} [get_ports rx_data_p[2]] ; ## C06 FMC_HPC1_DP0_M2C_P -set_property -dict {PACKAGE_PIN E32} [get_ports rx_data_n[2]] ; ## C07 FMC_HPC1_DP0_M2C_N +#set_property -dict {PACKAGE_PIN E31} [get_ports rx_data_p[2]] ; ## C06 FMC_HPC1_DP0_M2C_P +#set_property -dict {PACKAGE_PIN E32} [get_ports rx_data_n[2]] ; ## C07 FMC_HPC1_DP0_M2C_N #set_property -dict {PACKAGE_PIN B33} [get_ports rx_data_p[3]] ; ## A10 FMC_HPC1_DP3_M2C_P #set_property -dict {PACKAGE_PIN B34} [get_ports rx_data_n[3]] ; ## A11 FMC_HPC1_DP3_M2C_N set_property -dict {PACKAGE_PIN D29} [get_ports tx_data_p[0]] ; ## A22 FMC_HPC1_DP1_C2M_P (tx_data_p[0]) set_property -dict {PACKAGE_PIN D30} [get_ports tx_data_n[0]] ; ## A23 FMC_HPC1_DP1_C2M_N (tx_data_n[0]) -#set_property -dict {PACKAGE_PIN B29} [get_ports tx_data_p[1]] ; ## A26 FMC_HPC1_DP2_C2M_P (tx_data_p[3]) -#set_property -dict {PACKAGE_PIN B30} [get_ports tx_data_n[1]] ; ## A27 FMC_HPC1_DP2_C2M_N (tx_data_n[3]) -#set_property -dict {PACKAGE_PIN F29} [get_ports tx_data_p[2]] ; ## C02 FMC_HPC1_DP0_C2M_P (tx_data_p[2]) -#set_property -dict {PACKAGE_PIN F30} [get_ports tx_data_n[2]] ; ## C03 FMC_HPC1_DP0_C2M_N (tx_data_n[2]) -#set_property -dict {PACKAGE_PIN A31} [get_ports tx_data_p[3]] ; ## A30 FMC_HPC1_DP3_C2M_P (tx_data_p[1]) -#set_property -dict {PACKAGE_PIN A32} [get_ports tx_data_n[3]] ; ## A31 FMC_HPC1_DP3_C2M_N (tx_data_n[1]) +set_property -dict {PACKAGE_PIN B29} [get_ports tx_data_p[1]] ; ## A26 FMC_HPC1_DP2_C2M_P (tx_data_p[3]) +set_property -dict {PACKAGE_PIN B30} [get_ports tx_data_n[1]] ; ## A27 FMC_HPC1_DP2_C2M_N (tx_data_n[3]) +set_property -dict {PACKAGE_PIN F29} [get_ports tx_data_p[2]] ; ## C02 FMC_HPC1_DP0_C2M_P (tx_data_p[2]) +set_property -dict {PACKAGE_PIN F30} [get_ports tx_data_n[2]] ; ## C03 FMC_HPC1_DP0_C2M_N (tx_data_n[2]) +set_property -dict {PACKAGE_PIN A31} [get_ports tx_data_p[3]] ; ## A30 FMC_HPC1_DP3_C2M_P (tx_data_p[1]) +set_property -dict {PACKAGE_PIN A32} [get_ports tx_data_n[3]] ; ## A31 FMC_HPC1_DP3_C2M_N (tx_data_n[1]) set_property -dict {PACKAGE_PIN AH1 IOSTANDARD LVDS} [get_ports rx_sync_p] ; ## G09 FMC_HPC1_LA03_P set_property -dict {PACKAGE_PIN AJ1 IOSTANDARD LVDS} [get_ports rx_sync_n] ; ## G10 FMC_HPC1_LA03_N set_property -dict {PACKAGE_PIN AE10 IOSTANDARD LVDS} [get_ports rx_os_sync_p] ; ## G27 FMC_HPC1_LA25_P (Sniffer) diff --git a/projects/adrv9009/zcu102/system_top.v b/projects/adrv9009/zcu102/system_top.v index 6a2a0d89..e8e0333d 100644 --- a/projects/adrv9009/zcu102/system_top.v +++ b/projects/adrv9009/zcu102/system_top.v @@ -47,10 +47,10 @@ module system_top ( input ref_clk0_n, input ref_clk1_p, input ref_clk1_n, - input [ 2:0] rx_data_p, - input [ 2:0] rx_data_n, - output [ 0:0] tx_data_p, - output [ 0:0] tx_data_n, + input [ 1:0] rx_data_p, + input [ 1:0] rx_data_n, + output [ 3:0] tx_data_p, + output [ 3:0] tx_data_n, output rx_sync_p, output rx_sync_n, output rx_os_sync_p, @@ -215,8 +215,8 @@ module system_top ( .rx_data_0_p (rx_data_p[0]), .rx_data_1_n (rx_data_n[1]), .rx_data_1_p (rx_data_p[1]), - .rx_data_2_n (rx_data_n[2]), - .rx_data_2_p (rx_data_p[2]), +// .rx_data_2_n (rx_data_n[2]), +// .rx_data_2_p (rx_data_p[2]), // .rx_data_3_n (rx_data_n[3]), // .rx_data_3_p (rx_data_p[3]), .rx_ref_clk_0 (ref_clk1), @@ -235,12 +235,12 @@ module system_top ( .spi1_mosi (), .tx_data_0_n (tx_data_n[0]), .tx_data_0_p (tx_data_p[0]), -// .tx_data_1_n (tx_data_n[1]), -// .tx_data_1_p (tx_data_p[1]), -// .tx_data_2_n (tx_data_n[2]), -// .tx_data_2_p (tx_data_p[2]), -// .tx_data_3_n (tx_data_n[3]), -// .tx_data_3_p (tx_data_p[3]), + .tx_data_1_n (tx_data_n[1]), + .tx_data_1_p (tx_data_p[1]), + .tx_data_2_n (tx_data_n[2]), + .tx_data_2_p (tx_data_p[2]), + .tx_data_3_n (tx_data_n[3]), + .tx_data_3_p (tx_data_p[3]), .tx_ref_clk_0 (ref_clk1), .tx_sync_0 (tx_sync), .tx_sysref_0 (sysref));