( ESNUG 250 Item 1 ) -------------------------------------------- [9/6/96]

Subject: ( ESNUG 248 #8 249 #2) Timing Paths Through A Bi-Directional Bus

> 2) Nuke the bidi buses.  That's what we eventually did.  We were able to 
>    make a floorplan that had contained the bidi busses in a relatively
>    small area, so we restructured it to use muxes instead of tristate
>    busses.  It ended up much cleaner, and as a bonus the time to do
>    update_timing went down by a factor of about 8.


From: Bill Armstrong <army@hlds.com>

John,

Irregardless of whether or not you can get Synopsys to time the design the
way you want, there are other issues to consider depending on how well your
silicon vendor characterizes and models them:

  1) Does your vendor's library model the output (drain) load of the
     3-state driver?  Some vendors do not consider this load in their
     models because it is more difficult to characterize, they may
     think it to be insignificant compared to the gate (poly) load or
     they just overlooked it.  What ever the reason, if it is not
     there and you have several 3-state drivers attached to the same
     net, as is typically the case, simulation accuracy will be
     reduced.

  2) Does your vendor accurately characterize the turn off time of the
     driver, or the time the enable signal propagates through the gate
     and the driver actually lets go of the bus?  Also, how well is
     the skew between enable signals controlled?

  3) Routing of 3-state signals is not handled well in most place and
     route tools.  Typically 3-state cells are small with no feed-thrus
     for other signals to route over them.  Multiplexers are bigger
     and usually have a feedthru or two.  3-state nets with a number
     of drivers are usually place in close proximity to each other
     because they are highly connected creating a spaghetti, or rats
     nest, type of situation and making routing much more difficult
     than if there was a single multiplexer.

Now your vendor may handle all of these situations perfectly and you
may have never encounter these problems.  That's great and by all
means use 3-state drivers.  However, if your planning on targeting
several different vendors with this design, the likely hood of running
into one or more of these situations increases dramatically.  In my
opinion, for what it's worth, designing for manufacturability is much
more important than having a slick way for the synthesis tool to
time the design.

My experience suggests avoiding internal 3-state drivers altogether.

  - Bill Armstrong
    High Level Design Systems



 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)