lecture17

Post on 26-Jun-2015

133 Views

Category:

Business

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

for more tutorials visit www.technofizi.in

TRANSCRIPT

S. Reda EN160 SP’08

Design and Implementation of VLSI Systems(EN1600)

Lecture 17: Design Considerations

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

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

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

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!)

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]

S. Reda EN160 SP’08

Variations can be modeled statistically

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

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

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

top related