24
Logical Effort A Method to Optimize Circuit Topology Swarthmore College E77 VLSI Design Adem Kader David Luong Mark Piper December 6, 2005

Logical Effort A Method to Optimize Circuit Topology

  • Upload
    gino

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

Logical Effort A Method to Optimize Circuit Topology. Swarthmore College E77 VLSI Design Adem Kader David Luong Mark Piper December 6, 2005. Current Issues Facing Circuit Designers. Wanting to optimize circuits for faster performance, inexperienced designers often encounter… - PowerPoint PPT Presentation

Citation preview

Page 1: Logical Effort A Method to Optimize Circuit Topology

Logical EffortA Method to Optimize Circuit

TopologySwarthmore College

E77 VLSI Design

Adem KaderDavid LuongMark Piper

December 6, 2005

Page 2: Logical Effort A Method to Optimize Circuit Topology

Current Issues Facing Circuit Designers

• Wanting to optimize circuits for faster performance, inexperienced designers often encounter…

– “Simulate-and-Tweak” loops– Incomplete intuition in design process– Uncertainty in decision-making

Page 3: Logical Effort A Method to Optimize Circuit Topology

Logical Effort as a Solution

• Quick method of circuit analysis– Circuit topology– Transistor sizing– Delay estimation

• Easy way to compare multi-stage designs

• “Back-of-the-envelope” calculation• Provides intuition of circuit timing

characteristics in complex circuitry

Page 4: Logical Effort A Method to Optimize Circuit Topology

How does it work?

• Assumes RC model of a transistord = gh + p

d = propagation delaygh = effort delay

• g = logical effort• h = electrical effort = Cout/Cin

p = parasitic delay

Page 5: Logical Effort A Method to Optimize Circuit Topology

Defining Logical Effort

• Ratio of the input capacitance of the gate to the input capacitance of an inverter that can deliver the same output current

• Measure of a gate to drive a particular fan-out relative to an inverter

Page 6: Logical Effort A Method to Optimize Circuit Topology

Visualizing Logical Effort

Page 7: Logical Effort A Method to Optimize Circuit Topology

Application of Logical EffortEstimating Delay Propagation

d = g h + p

timeofunitsCCCCd inAinAinAinB 5141)/4(11)/(1

timeofunitsCCd inAinB 6242)4/34(3/412)/(3/4

INVERTER

NAND

Page 8: Logical Effort A Method to Optimize Circuit Topology

Multi-Stage Design and Logical Effort

• Often circuits are more complicated than an inverter or a NAND gate

• Same framework applies with the modification…

)(igG

Page 9: Logical Effort A Method to Optimize Circuit Topology

Logical Effort and Transistor Sizing

• Interested in choosing transistor sizing to minimize stage and overall delay

f (min) = g(i) * h(i) = F1/N

• Delay equation becomes…PFND N /1

min/)()()( fiCigiC outin

• In the end…

Page 10: Logical Effort A Method to Optimize Circuit Topology

Application of Transistor Sizing

timeofunitspGBH 14)128*1*37.2(3)2(3 33

How do we choose stage capacitances given we want to minimize propagation delay?

3/88137.2(min) 33 GBHf

CCfiCigC outlastgatein 4)3/8/(8)3/4((min)/)()((min)

CCfiCigC outtendtolastgain 2)3/8/(4)3/4((min)/)()((min)2

Page 11: Logical Effort A Method to Optimize Circuit Topology

Optimal Number of GatesPath

Effort F

Optimal N

Minimum Delay, D

Stage Effort, f

0-5.83 1 1.0-6.8 0-5.8

5.82-22.3 2 6.8-11.4 2.4-4.7

22.3-82.2 3 11.4-16.0 2.8-4.4

82.2-300 4 16.0-20.7 3.0-4.2

300-1090 5 20.7-25.3 3.1-4.1

1090-3920

6 25.3-29.8 3.2-4.0

FN 4log

Rule of thumb is …

Note that single gate does not always translate to minimized delay

Page 12: Logical Effort A Method to Optimize Circuit Topology

Example: The Implementation Problem

Which do you choose?

Page 13: Logical Effort A Method to Optimize Circuit Topology

Using Logical Effort…

• Option 1:• Path logic effort G = 1 * 6/3 * 1 = 2• Path Branch Effort B = 1• Path electrical effort H = Cout/Cin = 8C/C = 8• Path Stage effort = F = GBH = 2*1*8 = 16• Dmin = N*F1/N+P = 3*(16)1/3 + (1+4*1 + 1)

= 3*3.25 + 6 = 13.5

Page 14: Logical Effort A Method to Optimize Circuit Topology

Using Logical Effort…

• Option 2:• Path logic effort G = 1 * 4/3 * 5/3 = 20/9• Path Branch Effort B = 1• Path electrical effort H = Cout/Cin = 8C/C = 8• Path Stage effort = F = GBH = 20/9*1*8 =

160/9• Dmin = N*F1/N+P = 3*(160/9)1/3 + (1+2*1

+ 2) = 3*3.25 + 5 = 12.8

Page 15: Logical Effort A Method to Optimize Circuit Topology

Using SPICE…

Page 16: Logical Effort A Method to Optimize Circuit Topology

Example: Choosing the Optimal N

The Buffer Problem• Must drive 64 parallel inverters• Choose 1, 3, or 5 series inverter stages to

drive the load?

Page 17: Logical Effort A Method to Optimize Circuit Topology

finding optimal #of stages

N 5 3 1

f 2.3 4 64

D 16.5 15 65

Page 18: Logical Effort A Method to Optimize Circuit Topology

1 inverter

Page 19: Logical Effort A Method to Optimize Circuit Topology

3 inverters

Page 20: Logical Effort A Method to Optimize Circuit Topology

5 inverters

Page 21: Logical Effort A Method to Optimize Circuit Topology

all together

Page 22: Logical Effort A Method to Optimize Circuit Topology

Problems with logical effort

• It’s only an approximation– But a good one

• It does not guarantee optimal solution– but gets quite close

• Chicken and egg problem– chicken

• Built for speed– Does not account for power consumption and physical size

Page 23: Logical Effort A Method to Optimize Circuit Topology

So What Have We Learned?

• Logical Effort…– Provides method to quickly determine

speed of design topologies for comparison

– Displays changes to parameter tweaking

Page 24: Logical Effort A Method to Optimize Circuit Topology

I agree withstupid

It’s so… logical!

now that makes sense!