Re: WLM -> net Length & net Area LUTs -> why needed?
birdy123, thank you for your response!
Since Fanout has dependence on the length of the net
Don't the cells have the maximum fanout definition in their cell libraries (*.lib file)?
I always thought that WLM is used in the following way:
Let's say we have the following WLM:
Code:
wire_load("WLM1")***** {************************************
...
fanout_length(1,* 0.002)*********
fanout_length(2,* 0.006);
...
fanout_capacitance( 1, 0.002 );
fanout_capacitance( 2, 0.004 );
...
fanout_resistance( 1, 0.01 );
fanout_resistance( 2, 0.015 );
...*******
fanout_area(*1, 0.11 );
fanout_area( 2, 0.20 );
}
Let's say we have a NAND gate with two nets connected to its output pin. So, in order to calculate a propagation delay over the nets, the tool refers to the WLM and calculate it in the following way:
1) from 'fanout_length(2, 0.006)' it estimates a length of each such net as 0.006(nm?)
2) from 'fanout_length(2, 0.006)' and 'fanout_resistance( 2, 0.015 )' it estimates resistance of each such net as 0.006*0.015
3) from 'fanout_length(2, 0.006)' and 'fanout_capacitance( 2, 0.004 )' it estimates capacitance of each such net as 0.006*0.004
4) propagation delay over the net is R*C = (0.006*0.015)*(0.006*0.004)
But, you wrote that the fanout depends on the net area and net length that is actually a load seen by the cell... So, as for the cell's lib definitions, are they limited by a maximum load or maximum fanout or both of them?
What is not understood, how does the tool calculate the
slop (
transition time) over the nets.
BTW, do the vendors prepare
different WLMs for different delay types (
min/typ/max)?
Thank you!
- - - Updated - - -
2 different net of same type
What types do exist?
- - - Updated - - -
Does fanout depend on the net length only without taking into account the net width?