ee194-ee290c - university of california, berkeleyee290c/sp17/lectures/lecture16.pdf · ee194-ee290c...

74
EE194-EE290C 28 nm SoC for IoT Ref: Communica:on Systems by A. Bruce Carlson, Paul B. Crilly and Janet C. Rutledge CMOS VLSI Design by Neil H. Weste and David Money Harris Timing Library Format Reference, Cadence Design System hSps://www.csee.umbc.edu/~cpatel2/links/641/slides/lect05_LIB.pdf Synopsys Design Compiler User Guide

Upload: others

Post on 29-Mar-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

EE194-EE290C28nmSoCforIoT

Ref:Communica:onSystemsbyA.BruceCarlson,PaulB.CrillyandJanetC.RutledgeCMOSVLSIDesignbyNeilH.WesteandDavidMoneyHarrisTimingLibraryFormatReference,CadenceDesignSystemhSps://www.csee.umbc.edu/~cpatel2/links/641/slides/lect05_LIB.pdfSynopsysDesignCompilerUserGuide

Page 2: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Synchroniza:onBitSynchroniza:onCarrierFrequencyandPhaseFrameSynchroniza:on

Page 3: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Synchroniza:onPNsequencegenerator.

m1 m2 m3 m4 m51 1 1 1 1

+

Output sequence

111010...

Page 4: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Synchroniza:onAutocorrela:onofaPNsequence.

τNTc

Tc

Rs(τ)1

-Tc(N-1)Tc (N+1)Tc

1/N

Page 5: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Synchroniza:onFrameSynchroniza:on

Preamble

Start ofmessage

Message bitst

Page 6: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Synchroniza:onFrameSynchroniza:on/PreambleDetec:on

aK aK-1 aK-2 aK-N...c1 c2 cn...

Σ VK

vk = cii=1

N

∑ ak−i

Page 7: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

MatlabExample

openExample('comm/MSKSignalRecoveryExample')MSKSignalRecoveryExample

Page 8: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

TransmissionGateMuxq  Nonrestoring mux uses two transmission gates

-  Only 4 transistors

S

S

D0

D1YS

Page 9: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DLatchq When CLK = 1, latch is transparent

-  D flows through to Q like a buffer q When CLK = 0, the latch is opaque

-  Q holds its old value independent of D q  a.k.a. transparent latch or level-sensitive latch

CLK

D Q

Latch D

CLK

Q

Page 10: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DLatchDesignq Multiplexer chooses D or old Q

1

0

D

CLK

QCLK

CLKCLK

CLK

DQ Q

Q

Page 11: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DLatchOpera:on

CLK = 1

D Q

Q

CLK = 0

D Q

Q

D

CLK

Q

Page 12: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DFlip-flopFlop

CLK

D Q

D

CLK

Q

q When CLK rises, D is copied to Q q  At all other times, Q holds its value q  a.k.a. positive edge-triggered flip-flop, master-slave flip-flop

Page 13: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DFlip-flopDesignq  Built from master and slave D latches

QMCLK

CLKCLK

CLK

Q

CLK

CLK

CLK

CLK

D

Latch

Latch

D QQM

CLK

CLK

Page 14: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DFlip-flopOpera:on

CLK = 1

D

CLK = 0

Q

D

QM

QMQ

D

CLK

Q

Page 15: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

RaceCondi:on

CLK1

D Q1

Flop

Flop

CLK2

Q2

CLK1

CLK2

Q1

Q2

q  Back-to-back flops can malfunction from clock skew -  Second flip-flop fires late -  Sees first flip-flop change and captures its result -  Called hold-time failure or race condition

Page 16: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

SetupandHoldTime

Time

Volta

ge

Clock Setup Time

Hold Time

Page 17: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Non-overlappingClocksq  Non-overlapping clocks can prevent races

-  As long as non-overlap exceeds clock skew q We will use them in this class for safe design

-  Industry manages skew more carefully instead

φ1

φ1φ1

φ1

φ2

φ2φ2

φ2

φ2

φ1

QMQD

Page 18: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

ScanInCell

D Q D Q

phi

phib

scan_i0o1

load

phi_out

phib_out

scan_i0o1_out

load_out

scan_in

chip_in_int

scan_i0o1

phi phib

01 scan_out

scan_out_int

D Qload chip_in

scan_out_int chip_in_int

Page 19: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

ScanOutCell

D Q D Q

phi

phib

scan_i0o1

load

phi_out

phib_out

scan_i0o1_out

load_out

scan_in

chip_out

scan_i0o1

phi phib

01 scan_out

Page 20: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

ScanIn-OutCell

D Q D Q

phi

phib

scan_i0o1

load

phi_out

phib_out

scan_i0o1_out

load_out

scan_in

chip_out

scan_i0o1

phi phib

01 scan_out

scan_out_int

D Qload chip_in

scan_out_int chip_in_int

Page 21: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

GateLayoutq  Layout can be very time consuming

-  Design gates to fit together nicely -  Build a library of standard cells

q  Standard cell design methodology -  VDD and GND should abut (standard height) -  Adjacent gates should satisfy design rules -  nMOS at bottom and pMOS at top -  All gates include well and substrate contacts

Page 22: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

StandardCellsq  Uniform cell height q  Uniform well height q M1 VDD and GND rails q M2 Access to I/Os q Well / substrate taps q  Exploits regularity

Page 23: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

CopingWithComplexityq  How to design System-on-Chip?

-  Many millions (even billions!) of transistors -  Tens to hundreds of engineers

q  Structured Design q  Design Partitioning

Page 24: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

StructuredDesignq  Hierarchy: Divide and Conquer

-  Recursively system into modules q  Regularity

-  Reuse modules wherever possible -  Ex: Standard cell library

q Modularity: well-formed interfaces -  Allows modules to be treated as black boxes

q  Locality -  Physical and temporal

Page 25: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DesignPar::oningq  Architecture: User’s perspective, what does it do?

-  Instruction set, registers -  MIPS, x86, Alpha, PIC, ARM, …

q Microarchitecture -  Single cycle, multi-cycle, pipelined, superscalar?

q  Logic: how are functional blocks constructed -  Ripple carry, carry look-ahead, carry select adders

q  Circuit: how are transistors used -  Complementary CMOS, pass transistors, domino

q  Physical: chip layout -  Datapaths, memories, random logic

Page 26: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

HDLq  Hardware Description Languages

-  Widely used in logic design -  Verilog and VHDL

q  Describe hardware using code -  Document logic functions -  Simulate logic before building -  Synthesize code into gates and layout

•  Requires a library of standard cells

Page 27: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

VerilogExamplemodule fulladder(input a, b, c, output s, cout); sum s1(a, b, c, s); carry c1(a, b, c, cout); endmodule module carry(input a, b, c, output cout) assign cout = (a&b) | (a&c) | (b&c); endmodule

a b

c

s

cout carrysum

s

a b c

cout

fulladder

Page 28: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

CircuitDesignq  How should logic be implemented?

-  NANDs and NORs vs. ANDs and ORs? -  Fan-in and fan-out? -  How wide should transistors be?

q  These choices affect speed, area, power q  Logic synthesis makes these choices for you

-  Good enough for many applications -  Hand-crafted circuits are still better

Page 29: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Example:CarryLogic

ab

ac

bc

cout

x

y

z

g1

g2

g3

g4

a b

c

c

a b

b

a

a

b

coutcn

n1 n2

n3

n4

n5 n6

p6p5

p4

p3

p2p1

i1

i3

i2

i4

q  assign cout = (a&b) | (a&c) | (b&c);

Transistors? Gate Delays?

Page 30: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

GateLevelNetlist

ab

ac

bc

cout

x

y

z

g1

g2

g3

g4

module carry(input a, b, c, output cout) wire x, y, z; and g1(x, a, b); and g2(y, a, c); and g3(z, b, c); or g4(cout, x, y, z);endmodule

Page 31: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

TransistorLevelNetlist

a b

c

c

a b

b

a

a

b

coutcn

n1 n2

n3

n4

n5 n6

p6p5

p4

p3

p2p1

i1

i3

i2

i4

module carry(input a, b, c, output cout) wire i1, i2, i3, i4, cn; tranif1 n1(i1, 0, a); tranif1 n2(i1, 0, b); tranif1 n3(cn, i1, c); tranif1 n4(i2, 0, b); tranif1 n5(cn, i2, a); tranif0 p1(i3, 1, a); tranif0 p2(i3, 1, b); tranif0 p3(cn, i3, c); tranif0 p4(i4, 1, b); tranif0 p5(cn, i4, a); tranif1 n6(cout, 0, cn); tranif0 p6(cout, 1, cn);endmodule

Page 32: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

SPICENetlist.SUBCKT CARRY A B C COUT VDD GND MN1 I1 A GND GND NMOS W=1U L=0.18U AD=0.3P AS=0.5P MN2 I1 B GND GND NMOS W=1U L=0.18U AD=0.3P AS=0.5P MN3 CN C I1 GND NMOS W=1U L=0.18U AD=0.5P AS=0.5P MN4 I2 B GND GND NMOS W=1U L=0.18U AD=0.15P AS=0.5P MN5 CN A I2 GND NMOS W=1U L=0.18U AD=0.5P AS=0.15P MP1 I3 A VDD VDD PMOS W=2U L=0.18U AD=0.6P AS=1 P MP2 I3 B VDD VDD PMOS W=2U L=0.18U AD=0.6P AS=1P MP3 CN C I3 VDD PMOS W=2U L=0.18U AD=1P AS=1P MP4 I4 B VDD VDD PMOS W=2U L=0.18U AD=0.3P AS=1P MP5 CN A I4 VDD PMOS W=2U L=0.18U AD=1P AS=0.3P MN6 COUT CN GND GND NMOS W=2U L=0.18U AD=1P AS=1P MP6 COUT CN VDD VDD PMOS W=4U L=0.18U AD=2P AS=2P CI1 I1 GND 2FF CI3 I3 GND 3FF CA A GND 4FF CB B GND 4FF CC C GND 2FF CCN CN GND 4FF CCOUT COUT GND 2FF .ENDS

Page 33: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

PhysicalDesignq  Floorplan q  Standard cells

-  Place & route q  Datapaths

-  Slice planning q  Area estimation

Page 34: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

MIPSFloorplan

Page 35: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

MIPSLayout

Page 36: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

SynthesizedControllerq  Synthesize HDL into gate-level netlist q  Place & Route using standard cell library

Page 37: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DesignVerifica:onq  Fabrication is slow & expensive q  Debugging chips is very hard

-  Limited visibility into operation q  Prove design is right before building!

-  Logic simulation -  Ckt. simulation / formal verification -  Layout vs. schematic comparison -  Design & electrical rule checks

q  Verification is > 50% of effort on most chips!

Specification

ArchitectureDesign

LogicDesign

CircuitDesign

PhysicalDesign

=

=

=

=

Function

Function

Function

FunctionTimingPower

Page 38: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

VLSIFlowq  Design Compiler (DC) Synopsys tool

DesignCompilerop:mizesdesignstoprovidethesmallestandfastestlogicalrepresenta:onofagivenfunc:on.ItcomprisestoolsthatsynthesizeyourHDLdescrip:onsintoop:mized,technology-dependent,gate-leveldesigns.

Page 39: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DC

Convertsadesigndescrip:onwriSeninaHDL,intoanop:mizedgate-levelnetlistmappedtoaspecificlogiclibrary.Whenthesynthesizeddesignmeetsfunc:onality,:ming,power,andotherdesigngoals,youcanpassthedesigntoICCompilerforphysicalimplementa:on.

Page 40: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

LibertyTimingFile(LIB)The.libfileisanASCIIrepresenta:onofthe:mingandpowerparametersassociatedwithanycellinapar:cularsemiconductortechnology.The:mingandpowerparametersareobtainedbysimula:ngthecellsunderavarietyofcondi:onsandthedataisrepresentedinthe.libformat.The.libfilecontains:mingmodelsanddatatocalculate:

•  �I/Odelaypaths•  �Timingcheckvalues•  �Interconnectdelays

I/Opathdelaysand:mingcheckvaluesarecomputedonaper-instancebasis.Pathdelaysinacircuitdependupontheelectricalbehaviorofinterconnectsbetweencells.Thisparasi:cinforma:oncanbebasedonthelayoutofthedesign,butmustbees:matedwhennolayoutinforma:onisavailable.Alsoitisnotpossibletopredicttheprocess,voltageandtemperaturevaria:onsanddera:ngfactorscanbeincludedtocompensateforthesevaria:ons.

Page 41: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

LibertyTimingFile(LIB)Cell-baseddelaycalcula:onismodeledbycharacterizingcelldelayandoutputtransi:on:me(outputslew)asafunc:onofinputtransi:on:me(inputslew)andthecapaci:veloadontheoutputofthecell.Timingchecksarealsofunc:onsofinputslewandoutputcapaci:veload.Eachcellhasaspecificnumberofinput-to-outputpaths•  Pathdelayscanbedescribedforeachinputsignaltransi:onthataffectsanoutputsignal•  Thepathdelaycanalsodependonsignalsatotherinputs(statedependencies)•  Inmanysequen:alcells,thepathdelayfromaninputpintoanoutputpincandependonthepathdelayfromanotheroutputpintothisoutputpin

A

B

C

Z

Page 42: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

LibertyTimingFile(LIB)Cell-baseddelaycalcula:onismodeledbycharacterizingcelldelayandoutputtransi:on:me(outputslew)asafunc:onofinputtransi:on:me(inputslew)andthecapaci:veloadontheoutputofthecell.Timingchecksarealsofunc:onsofinputslewandoutputcapaci:veload.Eachcellhasaspecificnumberofinput-to-outputpaths•  Pathdelayscanbedescribedforeachinputsignaltransi:onthataffectsanoutputsignal•  Thepathdelaycanalsodependonsignalsatotherinputs(statedependencies)•  Inmanysequen:alcells,thepathdelayfromaninputpintoanoutputpincandependonthepathdelayfromanotheroutputpintothisoutputpin

A

B

C

Z

Page 43: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

LibertyTimingFile(LIB)

Input Slew

Delay,Power, Timing Checks

OutputCapacitance

Lookup-table(non-lineardelay)model.

Page 44: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

LibertyTimingFile(LIB)

Input Slew

Delay,Power, Timing Checks

OutputCapacitance

Lookup-table(non-lineardelay)model.

Page 45: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Parameter Varia:onq  Transistors have uncertainty in parameters

Process: Leff, Vt, tox of nMOS and pMOS Vary around typical (T) values

q  Fast (F) Leff: short Vt: low tox: thin

q  Slow (S): opposite q  Not all parameters are independent

for nMOS and pMOS

nMOS

pMOS

fastslow

slow

fast

TT

FF

SSFS

SF

Page 46: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

EnvironmentalVaria:onq  VDD and T also vary in time and space q  Fast:

VDD: high T: low

Corner Voltage Temperature F 1.98 0 C T 1.8 70 C S 1.62 125 C

Page 47: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

ProcessCornersq  Process corners describe worst case variations

-  If a design works in all corners, it will probably work for any variation. q  Describe corner with four letters (T, F, S)

-  nMOS speed -  pMOS speed -  Voltage -  Temperature

Page 48: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

ImportantCorners

Purpose nMOS pMOS VDD Temp

Cycle time S S S S

Power F F F F

Subthreshold leakage

F F F S

q  Some critical simulation corners include

Page 49: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DesignObjects

Page 50: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

TopLevelPar::oning

Page 51: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DesignEnvironment

Beforeadesigncanbeop:mized,youmustdefinetheenvironmentinwhichthedesignisexpectedtooperate.Youdefinetheenvironmentbyspecifyingopera:ngcondi:ons,systeminterfacecharacteris:cs,andwireloadmodels.Opera:ngcondi:onsincludetemperature,voltage,andprocessvaria:ons.Systeminterfacecharacteris:csincludeinputdrivers,inputandoutputloads,andfanoutloads.Theenvironmentmodeldirectlyaffectsdesignsynthesisresults.

Page 52: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DriveCharacteris:cs

Todeterminethedelayandtransi:on:mecharacteris:csofincomingsignals,DesignCompilerneedsinforma:onabouttheexternaldrivestrengthandtheloadingateachinputport.Drivestrengthisthereciprocaloftheoutputdriveresistance,andthetransi:ondelayataninputportistheproductofthedriveresistanceandthecapacitanceloadoftheinputport.DesignCompilerusesdrivestrengthinforma:ontobuffernetsappropriatelyinthecaseofaweakdriver.Bydefault,DesignCompilerassumeszerodriveresistanceoninputports,meaninginfinitedrivestrength.

Page 53: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DriveCharacteris:cs

Bydefault,DesignCompilerassumeszerocapaci:veloadoninputandoutputports.

Page 54: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

WireLoadModels

Wireloadmodelses:matetheeffectofwirelengthandfanoutontheresistance,capacitance,andareaofnets.DesignCompilerusesthesephysicalvaluestocalculatewiredelaysandcircuitspeeds.Semiconductorvendorsdevelopwireloadmodels,basedonsta:s:calinforma:onspecifictothevendors’process.Themodelsincludecoefficientsforarea,capacitance,andresistanceperunitlength,andafanout-to-lengthtablefores:ma:ngnetlengths(thenumberoffanoutsdeterminesanominallength).

Page 55: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DesignRuleConstraints

Page 56: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

DesignRuleConstraints

Page 57: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Fabrica:on&Packagingq  Tapeout final layout q  Fabrication

-  6, 8, 12” wafers -  Optimized for throughput, -  not latency (10 weeks!) -  Cut into individual dice

q  Packaging -  Bond gold wires from die I/O pads to

package

Page 58: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Tes:ngq  Test that chip operates

-  Design errors -  Manufacturing errors

q  A single dust particle or wafer defect kills a die -  Yields from 90% to < 10% -  Depends on die size, maturity of process -  Test each part before shipping to customer

Page 59: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

MIPSR3000Processorq  32-bit 2nd generation commercial processor (1988) q  Led by John Hennessy (Stanford, MIPS Founder) q  32-64 KB Caches q  1.2 µm process q  111K Transistors q  Up to 12-40 MHz q  66 mm2 die q  145 I/O Pins q  VDD = 5 V q  4 Watts q  SGI Workstations

http://gecko54000.free.fr/?documentations=1988_MIPS_R3000

Page 60: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

TransistorasSwitches

gs

d

g = 0

s

d

g = 1

s

d

gs

d

s

d

s

d

nMOS

pMOS

OFF ON

ON OFF

q We can view MOS transistors as electrically controlled switches q  Voltage at gate controls path from source to drain

Page 61: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

CMOSInverter

VDD

A Y

GND

A Y

0 1

1 0

A Y

Page 62: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

CMOSNANDGate

A B Y

0 0 1

0 1 1

1 0 1

1 1 0 A

B

Y

Page 63: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

CMOSNORGate

A B Y

0 0 1

0 1 0

1 0 0

1 1 0

A

BY

Page 64: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

ComplementaryCMOSq  Complementary CMOS logic gates

-  nMOS pull-down network -  pMOS pull-up network -  a.k.a. static CMOS pMOS

pull-upnetwork

outputinputs

nMOSpull-downnetworkPull-up OFF Pull-up ON

Pull-down OFF Z (float) 1

Pull-down ON 0 X (crowbar)

Page 65: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

SeriesandParallelq  nMOS: 1 = ON q  pMOS: 0 = ON q  Series: both must be ON q  Parallel: either can be ON (a)

a

b

a

b

g1

g2

0

0

a

b

0

1

a

b

1

0

a

b

1

1

OFF OFF OFF ON

(b)

a

b

a

b

g1

g2

0

0

a

b

0

1

a

b

1

0

a

b

1

1

ON OFF OFF OFF

(c)

a

b

a

b

g1 g2 0 0

OFF ON ON ON

(d) ON ON ON OFF

a

b

0

a

b

1

a

b

11 0 1

a

b

0 0

a

b

0

a

b

1

a

b

11 0 1

a

b

g1 g2

Page 66: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Conduc:onComplementq  Complementary CMOS gates always produce 0 or 1 q  Ex: NAND gate

-  Series nMOS: Y=0 when both inputs are 1 -  Thus Y=1 when either input is 0 -  Requires parallel pMOS

q  Rule of Conduction Complements -  Pull-up network is complement of pull-down -  Parallel -> series, series -> parallel

A

B

Y

Page 67: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

SignalStrengthq  Strength of signal

-  How close it approximates ideal voltage source q  VDD and GND rails are strongest 1 and 0 q  nMOS pass strong 0

-  But degraded or weak 1 q  pMOS pass strong 1

-  But degraded or weak 0 q  Thus nMOS are best for pull-down network

Page 68: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

PassTransistorsq  Transistors can be used as switches

g = 0s d

g = 1s d

0 strong 0Input Output

1 degraded 1

g = 0s d

g = 1s d

0 degraded 0Input Output

strong 1

g = 1

g = 1

g = 0

g = 01

g

s d

g

s d

Page 69: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

TransmissionGatesq  Pass transistors produce degraded outputs q  Transmission gates pass both 0 and 1 well

g = 0, gb = 1a b

g = 1, gb = 0a b

0 strong 0

Input Output

1 strong 1

g

gb

a b

a bg

gb

a bg

gb

a bg

gb

g = 1, gb = 0

g = 1, gb = 0

Page 70: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Tristatesq  Tristate buffer produces Z when not enabled

EN A Y 0 0 Z 0 1 Z 1 0 0 1 1 1

A Y

EN

A Y

EN

EN

Page 71: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Non-restoringTristateq  Transmission gate acts as tristate buffer

-  Only two transistors -  But non-restoring

•  Noise on A is passed on to Y

A Y

EN

EN

Page 72: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

TristateInverterq  Tristate inverter produces restored output

-  Violates conduction complement rule -  Because we want a Z output

A

YEN

A

Y

EN = 0Y = 'Z'

Y

EN = 1Y = A

A

EN

Page 73: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Mul:plexersq  2:1 multiplexer chooses between two inputs

S D1 D0 Y

0 X 0 0

0 X 1 1

1 0 X 0

1 1 X 1

0

1

S

D0

D1Y

Page 74: EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C 28 nm SoC for IoT Ref: Communicaon Systems by A. Bruce Carlson, Paul B. Crilly

Gate-LevelMuxDesignq  How many transistors are needed? 20

1 0 (too many transistors)Y SD SD= +