timing failed--adrv-9361z7035

Hi, I'm using adrv9361-z7035 with this (https://github.com/analogdevicesinc/hdl/tree/adrv9361z7035_ccfmc_util_axis_fifo_rx_example) HDL version. Vivado 2017.4.1 had a bug that caused vivado to crash abnormally. Xilinx support recommended me to use 2019.1 which i'm using now. Additionally, I have added my own logic and IPs to reference design. But my design fails timing constraints.(timing report is attached). 

WNS=-5.439

TNS=-2.95.954

Also i got some suspicious critical warnings

[Vivado 12-4739] set_false_path:No valid object(s) found for '-to [get_cells -hier -filter {name =~ *tdd_sync_d1_reg && IS_SEQUENTIAL}]'. [/adrv9361z7035_ccfmc_lvds.srcs/sources_1/bd/system/ip/system_axi_ad9361_0/axi_ad9361_constr.xdc":9]

[Common 17-55] 'get_property' expects at least one object. ["/adrv9361z7035_ccfmc_lvds.srcs/sources_1/bd/system/ip/system_axi_i2s_adi_0/axi_i2s_adi_constr.xdc":13]

 Can you help me resolve this problem?

 timing_report.txt

Parents Reply Children
  • +1
    •  Analog Employees 
    on Jul 24, 2019 3:26 PM over 1 year ago in reply to Rocky2018

    Sorry but I can't reproduce the timing failure. 

    I had to do some fixes, see the attached 2019_1.patch.txt

    I did the following:

    git checkout adrv9361z7035_ccfmc_util_axis_fifo_rx_example

    git cherry-pich 4b13274c55bf1f899867ce402a581390ddd28235

    // cherry-pick requires to  resolve conflicts but it's minor

    git apply 2019_1.patch.txt

    cd adrv9361z7035/ccfmc_lvds

    make

    2019_1.patch.txt
    diff --git a/library/axi_ad9361/axi_ad9361_ip.tcl b/library/axi_ad9361/axi_ad9361_ip.tcl
    index 2b90fe5d8..3457cefd3 100644
    --- a/library/axi_ad9361/axi_ad9361_ip.tcl
    +++ b/library/axi_ad9361/axi_ad9361_ip.tcl
    @@ -30,11 +30,11 @@ adi_ip_files axi_ad9361 [list \
       "$ad_hdl_dir/library/common/up_dac_common.v" \
       "$ad_hdl_dir/library/common/up_dac_channel.v" \
       "$ad_hdl_dir/library/common/up_tdd_cntrl.v" \
    -  "$ad_hdl_dir/library/xilinx/common/up_xfer_cntrl_constr.xdc" \
    -  "$ad_hdl_dir/library/common/ad_pps_receiver_constr.ttcl" \
    -  "$ad_hdl_dir/library/xilinx/common/ad_rst_constr.xdc" \
    -  "$ad_hdl_dir/library/xilinx/common/up_xfer_status_constr.xdc" \
    -  "$ad_hdl_dir/library/xilinx/common/up_clock_mon_constr.xdc" \
    +  "../../library/xilinx/common/up_xfer_cntrl_constr.xdc" \
    +  "../../library/common/ad_pps_receiver_constr.ttcl" \
    +  "../../library/xilinx/common/ad_rst_constr.xdc" \
    +  "../../library/xilinx/common/up_xfer_status_constr.xdc" \
    +  "../../library/xilinx/common/up_clock_mon_constr.xdc" \
       "axi_ad9361_constr.xdc" \
       "xilinx/axi_ad9361_lvds_if.v" \
       "xilinx/axi_ad9361_cmos_if.v" \
    @@ -48,7 +48,7 @@ adi_ip_files axi_ad9361 [list \
       "axi_ad9361.v" ]
     
     adi_ip_properties axi_ad9361
    -adi_ip_ttcl axi_ad9361 "$ad_hdl_dir/library/common/ad_pps_receiver_constr.ttcl"
    +adi_ip_ttcl axi_ad9361 "../../library/common/ad_pps_receiver_constr.ttcl"
     
     set_property driver_value 0 [ipx::get_ports *rx_clk_in* -of_objects [ipx::current_core]]
     set_property driver_value 0 [ipx::get_ports *rx_frame_in* -of_objects [ipx::current_core]]
    diff --git a/library/axi_hdmi_tx/axi_hdmi_tx_ip.tcl b/library/axi_hdmi_tx/axi_hdmi_tx_ip.tcl
    index e662f9766..2921c1cb7 100644
    --- a/library/axi_hdmi_tx/axi_hdmi_tx_ip.tcl
    +++ b/library/axi_hdmi_tx/axi_hdmi_tx_ip.tcl
    @@ -18,10 +18,10 @@ adi_ip_files axi_hdmi_tx [list \
       "$ad_hdl_dir/library/common/up_clock_mon.v" \
       "$ad_hdl_dir/library/common/up_hdmi_tx.v" \
       "$ad_hdl_dir/library/xilinx/common/ad_mul.v" \
    -  "$ad_hdl_dir/library/xilinx/common/up_xfer_cntrl_constr.xdc" \
    -  "$ad_hdl_dir/library/xilinx/common/ad_rst_constr.xdc" \
    -  "$ad_hdl_dir/library/xilinx/common/up_xfer_status_constr.xdc" \
    -  "$ad_hdl_dir/library/xilinx/common/up_clock_mon_constr.xdc" \
    +  "../../library/xilinx/common/up_xfer_cntrl_constr.xdc" \
    +  "../../library/xilinx/common/ad_rst_constr.xdc" \
    +  "../../library/xilinx/common/up_xfer_status_constr.xdc" \
    +  "../../library/xilinx/common/up_clock_mon_constr.xdc" \
       "axi_hdmi_tx_constr.xdc" \
       "axi_hdmi_tx_vdma.v" \
       "axi_hdmi_tx_es.v" \
    diff --git a/projects/adrv9361z7035/common/ccfmc_bd.tcl b/projects/adrv9361z7035/common/ccfmc_bd.tcl
    index 6f414acc1..aeff37e59 100644
    --- a/projects/adrv9361z7035/common/ccfmc_bd.tcl
    +++ b/projects/adrv9361z7035/common/ccfmc_bd.tcl
    @@ -188,3 +188,5 @@ ad_cpu_interconnect 0x41200000 axi_gpreg
     
     delete_bd_objs [get_bd_cells ila_adc]
     
    +connect_bd_net [get_bd_pins axi_spdif_tx_core/s_axi_aclk] [get_bd_pins sys_ps7/FCLK_CLK0]
    +connect_bd_net [get_bd_pins axi_i2s_adi/s_axi_aclk] [get_bd_pins sys_ps7/FCLK_CLK0]
    

    Please can you do the same and let me know ?

    Thanks,

    Laszlo