lecture17

10
S. Reda EN160 SP’08 esign and Implementation of VLSI System (EN1600) Lecture 17: Design Considerations

Upload: dharmesh-goyal

Post on 26-Jun-2015

133 views

Category:

Business


1 download

DESCRIPTION

for more tutorials visit www.technofizi.in

TRANSCRIPT

Page 1: Lecture17

S. Reda EN160 SP’08

Design and Implementation of VLSI Systems(EN1600)

Lecture 17: Design Considerations

Page 2: Lecture17

S. Reda EN160 SP’08

Measuring the input capacitance (for lab)

Make sure to extract the parasitic capacitance

First, create your standard cell and extract it to SPICE

Page 3: Lecture17

S. Reda EN160 SP’08

Creating a subcircuit of your cell

Create a subcircuit out of the extracted files

.global vdd gnd

.subckt inv a y Cpar1 vdd 0 14.40942fCpar2 gnd 0 8.9712fCpar3 y 0 12.0537fM1 y a vdd vdd PMOS L=600n W=3uM2 y a gnd gnd NMOS L=600n W=1.5u.ends

Page 4: Lecture17

S. Reda EN160 SP’08

Basic idea

a y f

• Delay from a to y depend on the load capacitance of I1 → input capacitance of I2

• If CAP has the same capacitance as I2 then delay from a to c will be equal to delay from a to y

• Objective: try to “guess” CAP to equalize the delay

I1 I2

I3

CAP

c

delay of I1

Page 5: Lecture17

S. Reda EN160 SP’08

SmartSPICE has a builtin optimizer to save your guessing timeXI1 a y invXI2 y f invXI3 a c invCcin c gnd CAP

Vin a gnd PULSE 0 3.3 100ps 0ps 0ps 2000ps 4200ps

.measure TRAN tdr TRIG v(a) VAL='0.5*3.3' FALL=1 TARG v(y) VAL='0.5*3.3' RISE=1.measure TRAN tdf TRIG v(a) VAL='0.5*3.3' RISE=1 TARG v(y) VAL='0.5*3.3' FALL=1.measure TRAN tdavg PARAM='(tdr+tdf)/2'

.measure TRAN tdrc TRIG v(a) VAL='0.5*3.3' FALL=1 TARG v(c) VAL='0.5*3.3' RISE=1.measure TRAN tdfc TRIG v(a) VAL='0.5*3.3' RISE=1 TARG v(c) VAL='0.5*3.3' FALL=1.measure TRAN tdavgc PARAM='(tdrc+tdfc)/2' goal=tdavg

.model opt1 opt method=bisection

.param CAP=optc(0fF, 0fF, 100fF)

.tran 20ps 3000ps sweep optimize=optc results = tdavgc model=opt1

.end

Optimizer report that the input capacitance = 6.25 fF (which you can easily validate!)

Page 6: Lecture17

S. Reda EN160 SP’08

Design margins

Sources of variations:

Manufacturing (process variations): L, Vth, tox, interconnect dielectric height, .., etc

Temperature

Supply voltage (IR drop)

threshold voltage 0.97V threshold voltage 0.57V

[source: Asenov’99]

1st CPU 2nd CPU

cache thermal profile during runtime

[source: Devgan’05]

Page 7: Lecture17

S. Reda EN160 SP’08

Variations can be modeled statistically

Page 8: Lecture17

S. Reda EN160 SP’08

Process corners

• Process corners describe extreme case variations– If a design works in all corners, it will probably work for any

variation.

• Describe corner with four letters (T, F, S)– nMOS speed– pMOS speed– Voltage– Temperature

Page 9: Lecture17

S. Reda EN160 SP’08

Design corners check

Purpose nMOS pMOS VDD Temp

Cycle time S S S S

Power F F F F

Subthrehold

leakage

F F F S

Page 10: Lecture17

S. Reda EN160 SP’08

Simulating corner cases in SPICE

.lib '05corners.lib' typ

.temp 27

.option scale=250n

.option postvdd vdd gnd 3.3Vin a gnd PULSE 0 3.3 100ps 0ps 0ps 2000ps 4200psM1 y a gnd gnd NMOS W=4 L=2 AS=20 PS=18 AD=20 PD=18M2 y a vdd vdd PMOS W=8 L=2 AS=40 PS=26 AD=40 PD=26.tran 1ps 500ps.alter .lib '05corners.lib' fastfast.alter .lib '05corners.lib' slowslow.end