Loading documents preview...
12/16/2020
Fixing Hold Time Violations by Inserting Delay at the Data Path Endpoint
Recent Searches: automate hold fix
(/s/)
Cases (/s/case-list)
Dec 11, 2019
•
STARs (/s/star-list)
feed share
Articles (/s/knowledge)
what if analysis
Help (/s/help-info)
Knowledge
Title Fixing Hold Time Violations by Inserting Delay at the Data Path Endpoint
Description
Fixing Hold Time Violations by Inserting Delay at the Data Path Endpoint Question: I would like to insert delay at the endpoint of a data path to fix a hold time violation. How can I do this? Answer: Typically the place and route tool inserts delay to fix hold time violations. In some cases, the location in the path where the delay is inserted is very important. Figure 1 shows a sample design that is used to show the various locations where delay can be inserted.
You can fix hold time violations by inserting delay at the following locations: https://solvnetplus.synopsys.com/s/article/Fixing-Hold-Time-Violations-by-Inserting-Delay-at-the-Data-Path-Endpoint-1576008913532
1/3
12/16/2020
Fixing Hold Time Violations by Inserting Delay at the Data Path Endpoint
The next flip-flop launch point (nets N1, N2, and N3 in Figure 1) Nets that overlap many paths (net N10 in Figure 1) The end of each path (nets N4 and N5 in Figure 1) Although IC Compiler fixes the hold time violations, it doesn't always fix them by inserting delay at the end of the path, which is the method preferred by many users. To ensure that hold time violations are fixed by inserting delay at the end of the paths, you can use a script similar to the following script:
set_fix_hold [all_clocks] set_prefer -min "lib1/delay1 lib1/delay2" set_fix_hold_options -preferred_buffer # set the hold fixing strategy by using -prioritize_min, -prioritize_tns, or -default set_fix_hold_options -strategy_opt set_dont_touch [get_nets -hier *] set var_target_hold_slack 0.0 update_timing foreach_in_collection min_path [get_timing_paths -delay_type min -slack_lesser_than $var_targ remove_attribute [get_nets -of_object [get_attribute $min_path endpoint]] dont_touch } psynopt -only_hold_time report_timing -delay min -attribute -nets remove_attribute [get_nets -hier *] dont_touch
Workaround
Product L1 IC Compiler (/s/detail/01t1U000003IY0uQAG)
Additional Product(s)
Article Number 000005913
Last Published Date 12/11/2019, 10:39 PM
Article Record Type How To
URL Name Fixing-Hold-Time-Violations-by-Inserting-Delay-at-the-Data-Path-Endpoint-1576008913532
Was this article helpful?
0
https://solvnetplus.synopsys.com/s/article/Fixing-Hold-Time-Violations-by-Inserting-Delay-at-the-Data-Path-Endpoint-1576008913532
0
2/3
12/16/2020
Fixing Hold Time Violations by Inserting Delay at the Data Path Endpoint
Recommended Articles Design Compiler Fixes Hold Violations Only After set_ x_hold Is Applied Script to Fix Hold Violations on No Margin Setup Paths Script for Manually Inserting Buffers for Fixing Hold Violations of Registers x_eco_timing -hold Stops Fixing Violations After One Iteration Preventing the Fixing of Hold Violations on All Paths
Related Files (0)
Article Co... (0) (/s/relatedlist/ka01U000001dk6gQAA/Article_Comments__r)
New
Saved Articles (0) (/s/relatedlist/ka01U000001dk6gQAA/Saved_Articles__r)
New
https://solvnetplus.synopsys.com/s/article/Fixing-Hold-Time-Violations-by-Inserting-Delay-at-the-Data-Path-Endpoint-1576008913532
3/3