( ESNUG 288 Item 4 ) ----------------------------------------------- [5/7/98]
Subject: ( ESNUG 286 #11 287 #2 ) Putting Accurate Delays On Inputs
> I was wondering if anyone knows an easy way to automatically set the drive
> at each pin such that I am assured that there is, say, 0.5ns at all inputs.
> The set_drive command will work, but I need to know the capacitance at
> each input port in order to set each pin's drive correctly, e.g. set_drive
> <0.5ns/capacitance> <input_port>. The problem is knowing each input's
> capacitance. ...
From: Jon Kuppinger <Jon.Kuppinger@Symbios.Com>
John,
To add to a long list of good solutions to the setting of input drive in
Synopsys, I implemented a method for our design kit users where they can run
a script to generate a Synopsys library cell which has a set drive strength.
This is accomplished by setting the cell delay(s) to zero and setting the
transition time(s) to the desired input drive strength. An example is as
follows and is simply used as the driving cell. This cell can be added to
the users link library simply by using the update_lib command or a separate
library can be made and used separately. The following cell communicates
a 0.5ns rise and fall time to the port(s) it is connected to.
cell (INPUT.5R.5F) {
area : 0;
pin(I) {
direction : input;
capacitance : 0.00;
fanout_load : 0.00;
}
pin(Z) {
direction : output;
max_fanout : 100.00;
max_capacitance : 100.00;
max_transition : .5;
function : "I";
timing() {
timing_sense : positive_unate;
related_pin : "I";
cell_rise(scalar) {
values("0.00");
}
rise_transition(scalar) {
values(".5");
}
cell_fall(scalar) {
values("0.00");
}
fall_transition(scalar) {
values(".5");
}
}
} /* end of pin */
} /* end of cell */
Since it contains no functionality, a Library Compiler license is not needed
to compile it to db format.
- Jon Kuppinger
Symbios, Inc.
|
|