69 lines
3.0 KiB
Tcl
69 lines
3.0 KiB
Tcl
|
|
source ../../scripts/adi_env.tcl
|
|
source $ad_hdl_dir/projects/scripts/adi_project_xilinx.tcl
|
|
source $ad_hdl_dir/projects/scripts/adi_board.tcl
|
|
|
|
# get_env_param retrieves parameter value from the environment if exists,
|
|
# other case use the default value
|
|
#
|
|
# Use over-writable parameters from the environment.
|
|
#
|
|
# e.g.
|
|
# make JESD_MODE=64B66B RX_RATE=24.75 TX_RATE=12.375 RX_JESD_L=4 TX_JESD_L=4
|
|
# make JESD_MODE=64B66B RX_RATE=16.22016 TX_RATE=16.22016 RX_JESD_M=8 RX_JESD_L=2 TX_JESD_M=16 TX_JESD_L=4
|
|
# make JESD_MODE=64B66B RX_RATE=16.50 TX_RATE=16.50 RX_JESD_M=4 RX_JESD_L=4 RX_JESD_S=1 RX_JESD_NP=16 TX_JESD_M=4 TX_JESD_L=4 TX_JESD_S=1 TX_JESD_NP=16
|
|
# make JESD_MODE=64B66B RX_RATE=24.75 TX_RATE=24.75 RX_JESD_M=4 RX_JESD_L=4 RX_JESD_S=2 RX_JESD_NP=12 TX_JESD_M=4 TX_JESD_L=4 TX_JESD_S=2 TX_JESD_NP=12
|
|
# make JESD_MODE=64B66B RX_RATE=16.50 TX_RATE=16.50 RX_JESD_M=4 RX_JESD_L=4 RX_JESD_S=2 RX_JESD_NP=12 TX_JESD_M=4 TX_JESD_L=4 TX_JESD_S=2 TX_JESD_NP=12
|
|
# make JESD_MODE=8B10B RX_JESD_L=4 RX_JESD_M=8 TX_JESD_L=4 TX_JESD_M=8
|
|
|
|
#
|
|
# Parameter description:
|
|
# JESD_MODE : Used link layer encoder mode
|
|
# 64B66B - 64b66b link layer defined in JESD 204C
|
|
# 8B10B - 8b10b link layer defined in JESD 204B
|
|
#
|
|
# RX_RATE : Lane rate of the Rx link ( MxFE to FPGA )
|
|
# TX_RATE : Lane rate of the Tx link ( FPGA to MxFE )
|
|
# [RX/TX]_JESD_M : Number of converters per link
|
|
# [RX/TX]_JESD_L : Number of lanes per link
|
|
# [RX/TX]_JESD_S : Number of samples per frame
|
|
# [RX/TX]_JESD_NP : Number of bits per sample
|
|
# [RX/TX]_NUM_LINKS : Number of links
|
|
# [RX/TX]_KS_PER_CHANNEL : Number of samples stored in internal buffers in kilosamples per converter (M)
|
|
#
|
|
|
|
adi_project ad9081_fmca_ebz_vcu128 0 [list \
|
|
JESD_MODE [get_env_param JESD_MODE 8B10B ] \
|
|
RX_LANE_RATE [get_env_param RX_RATE 10 ] \
|
|
TX_LANE_RATE [get_env_param TX_RATE 10 ] \
|
|
RX_JESD_M [get_env_param RX_JESD_M 8 ] \
|
|
RX_JESD_L [get_env_param RX_JESD_L 4 ] \
|
|
RX_JESD_S [get_env_param RX_JESD_S 1 ] \
|
|
RX_JESD_NP [get_env_param RX_JESD_NP 16 ] \
|
|
RX_NUM_LINKS [get_env_param RX_NUM_LINKS 1 ] \
|
|
TX_JESD_M [get_env_param TX_JESD_M 8 ] \
|
|
TX_JESD_L [get_env_param TX_JESD_L 4 ] \
|
|
TX_JESD_S [get_env_param TX_JESD_S 1 ] \
|
|
TX_JESD_NP [get_env_param TX_JESD_NP 16 ] \
|
|
TX_NUM_LINKS [get_env_param TX_NUM_LINKS 1 ] \
|
|
RX_KS_PER_CHANNEL [get_env_param RX_KS_PER_CHANNEL 64 ] \
|
|
TX_KS_PER_CHANNEL [get_env_param TX_KS_PER_CHANNEL 64 ] \
|
|
]
|
|
|
|
adi_project_files ad9081_fmca_ebz_vcu128 [list \
|
|
"system_top.v" \
|
|
"system_constr.xdc"\
|
|
"timing_constr.xdc"\
|
|
"../../../library/common/ad_3w_spi.v"\
|
|
"$ad_hdl_dir/library/common/ad_iobuf.v" \
|
|
"$ad_hdl_dir/projects/common/vcu128/vcu128_system_constr.xdc" ]
|
|
|
|
# Avoid critical warning in OOC mode from the clock definitions
|
|
# since at that stage the submodules are not stiched together yet
|
|
if {$ADI_USE_OOC_SYNTHESIS == 1} {
|
|
set_property used_in_synthesis false [get_files timing_constr.xdc]
|
|
}
|
|
|
|
adi_project_run ad9081_fmca_ebz_vcu128
|
|
|