FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > Verilog

Verilog comp.lang.verilog newsgroup / usenet

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 10-10-2005, 04:26 AM
Rajat Mitra
Guest
 
Posts: n/a
Default How is the input transition time used in calculating input delays ??

For a certain design I have the following constraint -

set_input_delay 100 -max -clock SYSCLK <other options> pin_MDQ_15
set_input_transition 10 -clock SYSCLK [all_inputs]

Then when I do a
report_timing .<options> -transition <other_options>

In the timing report for pin_MDQ_15 as a start point I see the transition
time column
column with the correct transition time but the transition time appears not
to be used
in determing the incremental delay. This is actually the canse for just
about every timing
report I have seen come out of primetime that the transition time on the
net is never factored
into the delay calculation.

Any idea why ???

Rajat Mitra


Reply With Quote
  #2 (permalink)  
Old 10-11-2005, 03:10 AM
Avrum
Guest
 
Posts: n/a
Default Re: How is the input transition time used in calculating input delays ??

The propagation delay of a CMOS cell (a gate/buffer/etc...) is generally a
function of two things, the capacitance on the output of the cell, and the
transition time of the input to the cell. The exact relationship between
these two variables and the delay through the cell is determined by the
design of the cell in question, and is therefore different for each cell in
each library. As a result, it is up to the library vendor to provide this
information to Synopsys (DesignCompiler/PrimeTime) for each cell. This is
done in the technology library (.lib or equivalent) file.

For each cell, Synopsys allows for two tables for timing, one for
calculating the propagation delay through the cell, and one for calculating
the transition delay on the output of the cell. The propagation delay table
consists of NxM values that represent the propagation time for the cell at
different combinations of output load and input transition. Along with each
table is a list of the N capacitance values, and the M input transition
times, that are the independent variables for the table in question...

So, for example, the cell can be characterized at loads of 0.1pF, 1pF, and
10pF (these would then be the load values for the N columns), and at input
transition times of 0.1ns, 0.5ns, 2ns. Then, if the table were

0.1pF 1pF 10pF
-------------------
0.1ns 0.12 0.34 3.25
0.5ns 0.23 0.45 3.67
2ns 2.44 2.66 4.99

the table would be interpreted as follows;

For an input transition of 0.1ns, and an output load of 1pF, the delay
through the cell would be 0.34ns
For an input transition of 2ns, and an output load of 10pF, the delay
through the cell would be 4.99ns

When Synopsys needs to calculate the propagation delay through a cell, it
uses this table to interpolate the actual delay using the load/transition
for the cell. A similar table (with different combinations of loads and
transition times) is used to calculate the output transition time of the
cell (which is used for the input transition of the following cells).

So, by changing the input transition time on a primary input (your
pin_MDQ_15), you are changing one of the variables used in the delay
calculation of the cells connected to that pin/net. In the case of a primary
input, this will change the propagation delay through the input buffer.

If the table for the input buffer, supplied by the ASIC library vendor,
doesn't have any variation with input transition (i.e. the table has the
same value for all input transition times), then changing the input
transition time would not have any effect on the delay.

Of course, this only applies in the cases where you allow DC/PT to do delay
CALCULATION - if you are using annotated delays (you read in an .sdf file),
then the delay through the cell is completely determined by the value in the
..sdf file; the input slope/output load is completely irrelevent to DC/PT
(after annotation). This is something that is often overlooked; if you want
to experiment with different loads/slopes on your primary inputs/outputs
after extraction, you must provide these values to the tool that GENERATES
the .sdf file, and generate different .sdf files.

Avrum


"Rajat Mitra" <[email protected]> wrote in message
news:[email protected]
> For a certain design I have the following constraint -
>
> set_input_delay 100 -max -clock SYSCLK <other options> pin_MDQ_15
> set_input_transition 10 -clock SYSCLK [all_inputs]
>
> Then when I do a
> report_timing .<options> -transition <other_options>
>
> In the timing report for pin_MDQ_15 as a start point I see the transition
> time column
> column with the correct transition time but the transition time appears

not
> to be used
> in determing the incremental delay. This is actually the canse for just
> about every timing
> report I have seen come out of primetime that the transition time on the
> net is never factored
> into the delay calculation.
>
> Any idea why ???
>
> Rajat Mitra
>
>



Reply With Quote
  #3 (permalink)  
Old 10-13-2005, 04:51 AM
Rajat Mitra
Guest
 
Posts: n/a
Default Re: How is the input transition time used in calculating input delays ??

Hello Avrum,
Thanks for the detailed analysis of this problem. Your are absolutely
right,
after I set the transition delay and load cap to one that was included in
the cell's Transition Time
Vs Load Cap table, the corresponding incremental delay correctly got
accounted for
in the path timing report.
I had suspected this; since I came across a similar issue when
I was using the LIB files for doing power calculation couple of years ago.
There I was
specifing a transtion time that was not supported by the energy template and
I was getting
0 power dissipation for that cell eventhough it had a fair amount of toggle
activity.

Again thanks much for your help,

Rajat Mitra
"Avrum" <[email protected]> wrote in message
news:[email protected] .
> The propagation delay of a CMOS cell (a gate/buffer/etc...) is generally a
> function of two things, the capacitance on the output of the cell, and the
> transition time of the input to the cell. The exact relationship between
> these two variables and the delay through the cell is determined by the
> design of the cell in question, and is therefore different for each cell

in
> each library. As a result, it is up to the library vendor to provide this
> information to Synopsys (DesignCompiler/PrimeTime) for each cell. This is
> done in the technology library (.lib or equivalent) file.
>
> For each cell, Synopsys allows for two tables for timing, one for
> calculating the propagation delay through the cell, and one for

calculating
> the transition delay on the output of the cell. The propagation delay

table
> consists of NxM values that represent the propagation time for the cell at
> different combinations of output load and input transition. Along with

each
> table is a list of the N capacitance values, and the M input transition
> times, that are the independent variables for the table in question...
>
> So, for example, the cell can be characterized at loads of 0.1pF, 1pF, and
> 10pF (these would then be the load values for the N columns), and at input
> transition times of 0.1ns, 0.5ns, 2ns. Then, if the table were
>
> 0.1pF 1pF 10pF
> -------------------
> 0.1ns 0.12 0.34 3.25
> 0.5ns 0.23 0.45 3.67
> 2ns 2.44 2.66 4.99
>
> the table would be interpreted as follows;
>
> For an input transition of 0.1ns, and an output load of 1pF, the delay
> through the cell would be 0.34ns
> For an input transition of 2ns, and an output load of 10pF, the delay
> through the cell would be 4.99ns
>
> When Synopsys needs to calculate the propagation delay through a cell, it
> uses this table to interpolate the actual delay using the load/transition
> for the cell. A similar table (with different combinations of loads and
> transition times) is used to calculate the output transition time of the
> cell (which is used for the input transition of the following cells).
>
> So, by changing the input transition time on a primary input (your
> pin_MDQ_15), you are changing one of the variables used in the delay
> calculation of the cells connected to that pin/net. In the case of a

primary
> input, this will change the propagation delay through the input buffer.
>
> If the table for the input buffer, supplied by the ASIC library vendor,
> doesn't have any variation with input transition (i.e. the table has the
> same value for all input transition times), then changing the input
> transition time would not have any effect on the delay.
>
> Of course, this only applies in the cases where you allow DC/PT to do

delay
> CALCULATION - if you are using annotated delays (you read in an .sdf

file),
> then the delay through the cell is completely determined by the value in

the
> .sdf file; the input slope/output load is completely irrelevent to DC/PT
> (after annotation). This is something that is often overlooked; if you

want
> to experiment with different loads/slopes on your primary inputs/outputs
> after extraction, you must provide these values to the tool that GENERATES
> the .sdf file, and generate different .sdf files.
>
> Avrum
>
>
> "Rajat Mitra" <[email protected]> wrote in message
> news:[email protected]
> > For a certain design I have the following constraint -
> >
> > set_input_delay 100 -max -clock SYSCLK <other options> pin_MDQ_15
> > set_input_transition 10 -clock SYSCLK [all_inputs]
> >
> > Then when I do a
> > report_timing .<options> -transition <other_options>
> >
> > In the timing report for pin_MDQ_15 as a start point I see the

transition
> > time column
> > column with the correct transition time but the transition time appears

> not
> > to be used
> > in determing the incremental delay. This is actually the canse for just
> > about every timing
> > report I have seen come out of primetime that the transition time on

the
> > net is never factored
> > into the delay calculation.
> >
> > Any idea why ???
> >
> > Rajat Mitra
> >
> >

>
>



Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Initial statment and input signal correlation [email protected] Verilog 1 09-16-2005 06:59 PM
Doubt in Verilog Vpi Input and output Format priya Verilog 0 08-29-2005 12:22 PM
Array input problem thomasc Verilog 2 03-10-2005 06:16 PM
CRC16 with 4-bit input Jaiphen Verilog 2 02-04-2004 06:09 PM
Input Delay and Hold Time Anand P Paralkar Verilog 4 01-20-2004 03:59 PM


All times are GMT +1. The time now is 01:19 PM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved