EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C...
Transcript of EE194-EE290C - University of California, Berkeleyee290c/sp17/lectures/Lecture16.pdf · EE194-EE290C...
![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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/33.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/34.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/35.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/36.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/37.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/38.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/39.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/40.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/41.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/42.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/43.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/44.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/45.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/46.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/47.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/48.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/49.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/50.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/51.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/52.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/53.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/54.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/55.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/56.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/57.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/58.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/59.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/60.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/61.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/62.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/63.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/64.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/65.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/66.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/67.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/68.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/69.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/70.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/71.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/72.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/73.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022081514/5e8c70884f433c4ab36ca6f5/html5/thumbnails/74.jpg)
Gate-LevelMuxDesignq How many transistors are needed? 20
1 0 (too many transistors)Y SD SD= +