( 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



 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)