( ESNUG 157 Item 5 ) ---------------------------------------------- [10/22/93]
From: schooler@boilerbob.corp.mot.com (Tony Schooler)
Subject: max_edge_rate Bug and Solution
Hi John,
I ran into this problem using synopsys v3.0b, and thought I would pass the
solution on to everyone.
To the hotline, I sent:
I have switched from synopsys v3.0a to v3.0b, and I now get these errors
that I have never got before:
Net: stg/setqfin[1]
max_edge_rate 0.00
- Actual Edge Rate 279.01
------------------------------
Slack -279.01 (VIOLATED)
I have looked in all the documentation, but I couldn't find it anywhere.
Can you tell me more info about this, and what command to use to set the
max_edge_rate?
I already have sets for maximum transition (does this have anything to
do with max_edge_rate?). I use the following commands:
set_max_transition 2000 current_design
set_max_transition 1000
find(pin,/synopsys.libs/noncombinatorial_udr2_85_wcs_v3t15
0.db:noncombinatorial_udr2_85_wcs_v3t150/*/D)
I am using a custom library.
- Tony Schooler
Motorola AIEG
And the Hotline replied with:
This is a known problem (see STAR B3#13698). The problem occurs if
there is no default_max_transition specified in a library using the
cmos2 delay model. In this case, the tool incorrectly assumes a
max_transition of 0.0 on output ports which do not have an explicit
max_transition set. The workaround is to set a valid
default_max_transition in the library. Set it to any high value,
e.g. 18. If you do not have access to the library source, you can also
do the following:
set_max_transition 18 all_outputs()
Following is the workaround for the STAR 13698 add the following to the
.lib file:
default_max_transition : 18;
Or, until the vendor updates the library, the user can do this:
set_max_transition 18 all_outputs()
- Synopsys Hotline
[ Editor's Note: Thanks Tony for sending this combination Question-You-Had
and the Answer-Synopsys-Gave-You. I'd like to encourage the ESNUG community
to send more of these types of posts along with the usual single questions and
responses to others questions. Why? Because it means that everyone doesn't
have to duplicate this work if it's published. - John Cooley ]
|
|