Hi,
I wonder what the unit of fanout in technology lib is.!
I think it is not as the same as the traditional concept: the number of driven gates. The reason is as the following,
The value of fanout is used to calculate the delay. Howerver, the real delay value is derived from capacitance and resistance.
So , in my opinion, what DC needs is the value of capacitance but not the number of driven gates.
Could you provide some official or compellent material about this or tell me how I mistake ?
Thank you a lot!
hi rogeret,
1. fanout is the number of driven gates.
2. The value of fanout is used to calculate the delay --> really no. fanout just a concept look like virtual estimation of cap.
actually, report timing will provide you both fanout (integer number) and capacitance, delay, trans,.....
fanout help us can review/estimate quickly how many loads (due to connect to input of other cells). simple example, when you report timing and see 100 or 1000 fanout a net, you will know that have a problem on this net and must be fix (such as insert buff or....). or when you see fanout = 0 --> you know that net did not connect anywhere
1. Does the "fanout" in fanout_length has the same meaning as what we've talked above ---the number of driven gates?
2.To some extent, does the "fanout ” here mean a kind of average fanout ? Because as the length increase the fanout may not converge to an integer value from the point of fanout_length ,given the parameter of slope.
hi rogeret,
you're exampling with a wireload model. WLM will estimate your load from fanout number. as your example, if you have anet with fanout=1 --> you will have net's length = 333.335
1. fanout_length mean : fanout to length (convert)
2. 1 more time, fanout just is number of driven gates, not any average, or.....
What is the standard of violation for "BIG fanout"?
If the there is a fanout of 100, it is an obvious violation. But how can I judge if there is a certain fanout of 20?
hi rogeret,
you're exampling with a wireload model. WLM will estimate your load from fanout number. as your example, if you have anet with fanout=1 --> you will have net's length = 333.335
1. fanout_length mean : fanout to length (convert)
2. 1 more time, fanout just is number of driven gates, not any average, or.....
Yeah, I understand that "fanout just is number of driven gates, not any average". But ,in the above example, if the length=405, does it mean the fanout equals 1.XX-----not an integer? This is what confuses me.
normally - if you have a good design, it's due to your design is pre clock tree synthesis (CTS). and when CTS, it's will be add buffer and fix skew,slew,fanout,..... --> should be gone
It is wrong. You have gate-level netlist. Each gate output has fanout (you may see it by your eyes). It is not average or any estimated value. It is real value in your netlist (fanout=number of connected input pins). Each output pin in the netlist may have ONLY ONE fanout value. Then, you need to estimate the length of the wire, that connect the output pin with input pins. In order to do this estimation, you should look in the WLM table, find the line with the fanout of your wire and see the estimated wire length (or capacitance or resistance).
In other words, the netlist gives your fanout for each output pin, and the WLM gives you the wire length or other parameters based on the fanout.