( ESNUG 304 Item 2 ) --------------------------------------------- [11/12/98]
Subject: ( ESNUG 303 #8 ) What's The Latest On Fixing Hold-Time Violations?
> Fixing hold-time violations is tricky and I wondering how Synopsys users
> approach this problem (since Synopsys doesn't deal with it adequately at
> the moment).
>
> - Victor J. Duvanenko
> Truevision
From: Scott Evans <scott@NPLab.Com>
John,
After struggling with this on earlier versions of the Synopsys tool and
never coming up with a "workable" solution, we basically adopted the
approach of only fixing hold violations after layout is complete. We
found that almost always after layout, the CLK->Q delay combined with
routing delay fixes all hold times. This gives you the added benefit of
not having a large number of delay cells taking up area on your chip.
Your mileage may vary....
But if you must, since 98.02, Synopsys introduced the ability to handle
both min/max timing in one session. This allows the tool to fix hold
times without violating setup times as it did before. To use this
capability, depends a bit on the libraries you are using. One of our
libraries has both best/worst case timing in the same file, so you only
need to specify
set_operating_conditions -max WCCOM -min BCCOM -library foo
If you have seperate best/worst case libraries you need to "combine" the
libraries before issuing the above command
set_min_library slow.db -min fast.db
The following may work as well, but I'm not using it.
set_operating_conditions -max WCCOM -min BCCOM -max_lib fast -min_lib slow
When you get to the point where you apply set_fix_hold, etc., it will
work as you intend with fixing hold violations by adding in appropriate
delay cells, and at the same time watch to make sure it doesn't violate
any setup times.
As always you need to make sure that all hold violations you are fixing
are "real". A lot of times, timing constraints are not setup completely
(set_input_delay -min mostly) and so you end up with a number of false
hold violations which the tool will fix for you at the cost of a large
number of delay cells. So, be sure to generate a timing report and review
it before trying to fix any hold violations.
- Scott Evans
NeoParadigm Labs San Jose, CA
|
|