cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jw_l3harris
Observer
Observer
395 Views
Registered: ‎12-09-2019

CRITICAL WARNING: [Constraints 18-515] Behavior Different Between Ultrascale and Ultrascale Plus

Jump to solution
The following constraints are common to two different designs, one on a xcvu9p_0 device and the other on a xcku025_0 device. Both builds use Vivado 2019.2
 
set_max_delay -datapath_only -from [get_pins -hier {*STARTUP*_inst/DI[*]}] -to [get_cells {inst_scs_top/init_cmd_resp_intf_top_inst/flash_controller_wrapper_inst/flash_top_inst1/i_flash_io/dq_i_reg[*]}] 1.000
set_max_delay -datapath_only -from [get_pins -hier {*STARTUP*_inst/DO[*]}] -to [get_cells {inst_scs_top/init_cmd_resp_intf_top_inst/flash_controller_wrapper_inst/flash_top_inst1/i_flash_io/qspi_dq_o_reg[*]}] 1.000
set_max_delay -datapath_only -from [get_pins -hier {*STARTUP*_inst/DTS[*]}] -to [get_cells {inst_scs_top/init_cmd_resp_intf_top_inst/flash_controller_wrapper_inst/flash_top_inst1/i_flash_io/qspi_dq_dir_reg[*]}] 1.000
 
The build on the xcvu9p_0 device is producing the attached critical warnings, Constraints 18-515 for all 3 constraints, but are not present on the xcku025_0 build.
Constraints 18-515.png
0 Kudos
1 Solution

Accepted Solutions
hongh
Moderator
Moderator
362 Views
Registered: ‎11-04-2010

The start point pin should be clock pin, instead of the output pin of the cells, so the critical warning for VU+ plus device is correct. Using the incorrect start pin in set_max_delay will cause path segment in timing analysis.  

The related critical warning is missing for KU device.

To avoid the risk mentioned in the critical warning, you can replace "-from" option with "-through" option.

set_max_delay -datapath_only -through [get_pins -hier {*STARTUP*_inst/DI[*]}] -to [get_cells {inst_scs_top/init_cmd_resp_intf_top_inst/flash_controller_wrapper_inst/flash_top_inst1/i_flash_io/dq_i_reg[*]}] 1.000

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

4 Replies
hongh
Moderator
Moderator
363 Views
Registered: ‎11-04-2010

The start point pin should be clock pin, instead of the output pin of the cells, so the critical warning for VU+ plus device is correct. Using the incorrect start pin in set_max_delay will cause path segment in timing analysis.  

The related critical warning is missing for KU device.

To avoid the risk mentioned in the critical warning, you can replace "-from" option with "-through" option.

set_max_delay -datapath_only -through [get_pins -hier {*STARTUP*_inst/DI[*]}] -to [get_cells {inst_scs_top/init_cmd_resp_intf_top_inst/flash_controller_wrapper_inst/flash_top_inst1/i_flash_io/dq_i_reg[*]}] 1.000

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

viviany
Xilinx Employee
Xilinx Employee
352 Views
Registered: ‎05-14-2008

The KU design should have reported the same warning.

I wonder if the set_max_delay constraints are working in the KU design.

You can open implemented design and report_timing on the corresponding paths, and if the paths are covered by max delay requirement:

report_timing  -through [get_pins -hier {*STARTUP*_inst/DI[*]}] -to [get_cells {inst_scs_top/init_cmd_resp_intf_top_inst/flash_controller_wrapper_inst/flash_top_inst1/i_flash_io/dq_i_reg[*]}] -name test

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 Kudos
jw_l3harris
Observer
Observer
293 Views
Registered: ‎12-09-2019

I was able to resolve warnings by using -through instead of -from. Note: I also removed -datapath_only since it requires the -from option.

0 Kudos
hongh
Moderator
Moderator
263 Views
Registered: ‎11-04-2010

If  option -datapath_only is removed from ste_max_delay, the hold time requirement will still be analyzed.

You can just add the start cell or the clock pin of the start cell into the -from option:

Ex: 

set_max_delay -datapath_only -from [get_cells -hier -filter {NAME =~ *STARTUP*_inst}] -through [get_pins -hier {*STARTUP*_inst/DI[*]}] -to [get_cells {inst_scs_top/init_cmd_resp_intf_top_inst/flash_controller_wrapper_inst/flash_top_inst1/i_flash_io/dq_i_reg[*]}] 1.000

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------