# Convert fan-in-2 fan-out-3 NAND gates to FO4

This question is about gate delay in VLSI (microchips). (Yes, it is a CMOS)

Every digital chip consists of 2 kinds of elements, Register Logic (trigger or latch stations) and combination logic (between the registers, does the actual computation). Most chips can be expressed as http://en.wikipedia.org/wiki/Register_transfer_level which describes logic and registers.

The maximal clock frequency of microchip is determined (limited) by the delay of the slowest combination path. This delay depends from kind of elements, used in it.

The most popular metric of this critical delay is FO4 http://en.wikipedia.org/wiki/FO4 or Fan-out of 4:

process independent delay metric used in digital CMOS technologies.

It is counted as chain of length N of NOT gates. Each gate have output power enough to drive 4-fold more powerful inverter (according to wiki). I get this metric as tree of inverters with N levels, where each inverter drives 4 same inverters. Tree looks like http://www.mathworks.com/help/toolbox/wavelet/ug/wptreed2.gif but with NOT gates (transistors) at nodes. (better description is at http://www.realworldtech.com/page.cfm?ArticleID=RWT081502231107 )

So, the any modern processor have a metric FO4, which can be equal to 14, or 20 or 40. If the processor have small FO4, it can have more frequency, than a processor with large FO4 at the same silicon technology.

I have a metric for critical path of some chip, expressed in terms of fan-in-2 and fan-out-3:

18 fan-in-2 fan-out-3 NAND gates

How can I convert this to FO4? (Fan-out of 4)

I want to compare this chip with modern CPUs. FO4 will give me a clear way to check, how fast the chip can be on technology of modern CPU.

Update: There is a book which says:

This fan-out-of-four (FO4) inverter delay, t_4, is a good estimate of the delay of typical logic gate (fan-in=2) driving a typical load (fan-out=2) over relatively short wires.

So, Fan-in=2 and Fan-out=3 is close to 2/2 or to FO4. For the first estimation I will use this 18 fi2/fo3 as equal to 18 FO4.

• Can you provide part numbers? Is this CMOS? Commented Jan 5, 2011 at 4:58
• Your question is very unclear. What does "I have a metric" mean? What does the value 18 represent? How many inputs on the NAND gate?Does the input load on the NAND matter?
– W5VO
Commented Jan 5, 2011 at 5:32
• I agree... please clarify. Commented Jan 5, 2011 at 10:43
• @Close voters - Please don't close this question as 'not a real question' because it's not something you're familiar with - that's for ambiguous/vague questions with no help from the poster. osgx has tried to clarify the question, and I'm sure they'd be willing to provide further information. Commented Jan 6, 2011 at 0:27
• @Brian Carlton, Whether or not this question qualifies, asking homework questions is ok. @osgx, Is it? Commented Jan 6, 2011 at 7:03

According to David Harris's presentation for eve224a course: (slides 6-11 and 47)

Delay d = f+p = g*h+p

Where d is process-independent delay, f is effort delay (stage effect), p is parasitic delay, g is logical effort, h is electrical effort (fanout; h = C_out/C_in)

In the Wikipedia article "Logical Effort" there are some examples too:

Delay in an inverter. By definition, the logical effort g of an inverter is 1

Delay in NAND and NOR gates. The logical effort of a two-input NAND gate is calculated to be g = 4/3

For NOT gate with FO1 (driving the same NOT gate):

g=1; h=1; p=1; so d = 1*1 + 1 = 2

For NOT gate with FO4 (the FO4 metric itself):

g=1; h=4 (Cout is 4 times more than Cin); p=1 so d = 1*4+1 =5 (the same result is at page 20 of books "Logical Effort: Designing Fast CMOS Circuits", draft from 1998)

1 FO4 delay is equal to 5 process-independent units (defined by harris, slide 6)

For NAND gate with two inputs (p=2) which drives the same:

g=4/3; h=1; p=2; d= 4/3 * 1 + 2 = 10/3 = 3,3 (a 1.5 times slower than NOT with FO1, but faster than NOT FO4)

For NAND gate asked by me - 2 inputs which drives 3 same NANDs:

g=4/3; h=3; p=2; d= (some magic inside) 4/3 * 3 + 2 = 6

So

Delay of 1 FO4 gate is equal to 5/6 delay of NAND (2-in, 3 FO).

The last problem is to convert chain delay of 18 NANDs to chain delay of FO4. (slide 41 of harris)

Hmm.. seems I need only to multiply 18 NANDs delay with 6/5... 21,6 FO4.

Thanks!

• I'm sorry no one was able to answer your question, but I'm glad you figured it out! Feel free to select your own answer as the answer to your question if you're confident in it, or leave it open for another day or two to see if other answers or corrections trickle in. Commented Jan 6, 2011 at 17:50
• Thank you for posting your results. I get the same results -- they both have identical stage effort g*h = 4, so 18 FI2FO3 NANDs is very roughly 18 FO4 inverters. The FO4 inverter has total normalized delay d= 5, the FI2FO3 NAND has a total normalized delay d= 6. So a normalized delay of 18 FI2FO3 NANDs equals a normalized delay of about 22 FO4 inverters. (I avoid answering to 3 significant figures when we're using such a rough -- but useful! -- approximation.) Commented Mar 7, 2011 at 17:10

Unfortunately, I would say it's impossible to have a formula.

FO4 delay consists of

1) Charging time of your invertor input capacitance

2) Invertor transition time

3) Charging time of your invertor output capacitance

When going from FO2 to FO4 there are different factors on each of these items, specifically, 1 and 3 going to be about twice slower, but 2 is going to be just a little bit slower (as channel length is more or less the same).

On your place I would try to resimulate FO4 circuit for your tech.process and see simulated delay.

• Опа, и здесь барс. FO4 is a technology independent metric, isn't it? It is not my chip or my tech. process, so I can't resimulate. BUT! There is a standard NAND gate and NOT gate. We can estimate, how speed of NOT with FO4 correlates with NAND with FO3. В конце-то концов, в книжке есть формулы типа 4-25 да и многообещающие картинки на +-1 стр.
– osgx
Commented Jan 6, 2011 at 8:13
• @osgx Hehe :-) FO4 could not be technology independent. With process scaling some delays increase (namely RC ones), some delays decrease (switch time due to shorter channel). So FO4 changes greatly and quite unpredictable. One can think of a formula only if +-50% accuracy is acceptable. Commented Jan 6, 2011 at 15:27
• Even if RC increases or channel decreases, will the chain of FO4 inverters (scaled) do job faster? Yes. But, if we take some CPU and downscale its netlist from 0.130 to 0.040, will FO4 change? No. FO4 is measured in process-independent units. It is not a ps or ns. For finer technology 1 FO4 will be less when converted to ps, but it is not a technology metric, but a metric of design.
– osgx
Commented Jan 6, 2011 at 21:25
• You describe in this answer, that converting FO4 to ps is technology dependent. Yes, it is. But for the fixed technology we can estimate logical effort of different gate chains.
– osgx
Commented Jan 6, 2011 at 21:27