Lecture 6: Design Flow
CSCE 5730 Digital CMOS VLSI Design
Instructor: Saraju P. Mohanty, Ph. D.
NOTE: The figures, text etc included in slides are borrowed from various books websites authors pages and other books, websites, pages, sources for academic purpose only. The instructor does not claim any originality. y g y
CSCE 5730: Digital CMOS VLSI Design
Lecture Outline
Hierarchical Design Logic Design Circuit Design Physical Design
CSCE 5730: Digital CMOS VLSI Design
Hierarchical Design: Design Partitioning
How to design modern System-on-Chip (SOC)?
Many millions (soon billions!) of transistors Tens to hundreds of engineers
Approaches for larger system design:
Structured Design: Uses principles of Hierarchy, Regularity, Modularity, and Locality Design Partitioning: Design is partitioned to five interrelated tasks, such as architecture design, microarchitecture design logic design circuit design design, design, and physical design.
CSCE 5730: Digital CMOS VLSI Design
Design Partitioning : Structured Design
Hierarchy: Divide and Conquer
Recursively system into modules
Regularity
Reuse modules wherever possible Ex: Standard cell library
Modularity: well-formed interfaces
Allows modules to be treated as black boxes
Locality
Physical and temporal
CSCE 5730: Digital CMOS VLSI Design
Hierarchical Design: Flow
mips controller standard cell library alu fulladder or2 and2 mux4 mux2 tri
CSCE 5730: Digital CMOS VLSI Design
alucontrol
datapath bitslice zipper
inv4x flop ramslice
nor2 inv nand2
Design Partitioning : Y-Chart
Architecture: Users perspective, what does it do?
Instruction set registers set, MIPS, x86, Alpha, PIC, ARM,
Microarchitecture:
Single cycle, multicycle, pipelined, superscalar?
Logic: how are functional blocks constructed
Ripple carry, carry look-ahead, carry select adders
Circuit: how are transistors used
Complementary CMOS, pass transistors, domino
Physical: chip layout
Datapaths, memories, random logic
CSCE 5730: Digital CMOS VLSI Design
Design Partitioning : Y-Chart
Explains each domain and transformation among domains. Design process proceeds from higher to lower levels of abstractions i.e. from outer to inner rings.
CSCE 5730: Digital CMOS VLSI Design
Hardware Description Language (HDL)
Hardware Description Languages
Widely used in logic design Verilog Very High Speed Integrated Circuit HDL (VHDL) Very-High-Speed-Integrated-Circuit
Describe hardware using code
Document logic functions Simulate logic before building Synthesize code into gates and layout
Requires a library of standard cells
CSCE 5730: Digital CMOS VLSI Design
HDLs: Verilog Example
module 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) t t t) assign cout = (a&b) | (a&c) | (b&c); endmodule
a b c a cout s fulladder cout s b c carry sum
CSCE 5730: Digital CMOS VLSI Design
Circuit Design
How should logic be implemented?
NANDs and NORs vs ANDs and ORs? vs. Fan-in and fan-out? How wide should transistors be?
These choices affect speed, area, power Logic synthesis makes these choices for you
Good enough for many applications Hand-crafted circuits are still better
CSCE 5730: Digital CMOS VLSI Design
10
Carry Logic Example: Logic Level
assign cout = (a&b) | (a&c) | (b&c);
g1 a b g2 a c g3 b c z
Transistors? Gate Delays?
CSCE 5730: Digital CMOS VLSI Design
x g4 y cout
11
Carry Logic Example: Transistor Level
assign cout = (a&b) | (a&c) | (b&c);
p p1 c c
p p2 p3 i3
b a a b
p p4 i4 p5 n5 i2 n4
cn
p6 cout n6
n3 i1 n1 b n2
Transistors? Gate Delays?
CSCE 5730: Digital CMOS VLSI Design
12
Carry Logic Example: Gate-level Netlist
module carry (input a, b, c, output cout)
g1
wire x, y, z; and g1(x a b); g1(x, a, and g2(y, a, c); and g3(z b, c); g3(z, b or g4(cout, x, y, z); endmodule
a b g g2 a c g3 b c
x g g4 y z cout
CSCE 5730: Digital CMOS VLSI Design
13
Carry Logic Example: Transistor-Level Netlist
module carry ( p (input a, b, c, output cout) , , , p ) wire i1, i2, i3, i4, cn; tranif1 n1(i1, 0, a); tranif1 n2(i1 0 b); n2(i1, 0, tranif1 n3(cn, i1, c); tranif1 n4(i2, 0, b); tranif1 n5(cn i2, a); n5(cn, i2 tranif0 p1(i3, 1, a); tranif0 p2(i3, 1, b); tranif0 p3(cn, i3, c); t if0 3( i3 ) tranif0 p4(i4, 1, b); tranif0 p5(cn, i4, a); tranif1 n6(cout, 0, cn); tranif0 p6(cout, 1, cn); endmodule
1 2 4 a p1 b p2 b p4 i4 c p3 i3 a p5 cn c n3 i1 a n5 i2 a n1 b n2 b n4
p6 cout n6
CSCE 5730: Digital CMOS VLSI Design
14
Carry Logic Example: SPICE Netlist
.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 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 W=2U L=0.18U AD=0.6P AS=1 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 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
CSCE 5730: Digital CMOS VLSI Design
15
Physical Design
Floorplan : First step. Determines if design will fit in are budget budget. Standard cells : Layout is often generated using automatic place and route. Slice planning : Divide to slices. Slice plan makes S ce p a g de s ces S ce p a a es it is easy to calculate wire length, estimate area, a d e a ua e and evaluate wire congestion. e co ges o
CSCE 5730: Digital CMOS VLSI Design
16
Layout Design Rules
Interface between designer and process engineer G id li Guidelines f constructing process masks for t ti k Unit dimension: Minimum line width scalable d i rules: l bd parameter l bl design l lambda t absolute dimensions (micron rules)
CSCE 5730: Digital CMOS VLSI Design
17
Layout Design Rules
Chips are specified with set of masks Minimum dimensions of masks determine transistor size (and hence speed, cost, and power) Feature size f = distance between source and drain
Set by minimum width of polysilicon
Normalize for feature size when describing design rules Express rules in terms of = f/2
e.g. = 60 nm in 120 nm process
CSCE 5730: Digital CMOS VLSI Design 18
Layout Design Rules : Simplified Form
Metal and diffusion have minimum width and spacing of 4. Contacts are 2 x 2 and surrounded by 1 layer. Polysilicon width is 2 2. Polysilicon overlaps diffusion by 2 or 1 depending on situation situation. Polysilicon and contacts have spacing 3. n well surrounds PMOS transistors by 6 and n-well NMOS transistors 6.
NOTE: Do not have to remember, CAD softwares handle it automatically once DRC are set depending on the foundry chosen.
CSCE 5730: Digital CMOS VLSI Design
19
Layout Design Rules : Simplified Form
Conservative rules to get you started
CSCE 5730: Digital CMOS VLSI Design
20
Logic Gate Layout : Inverter
V DD
1 1 2
2 3 4
G ND
CSCE 5730: Digital CMOS VLSI Design
21
CMOS Process Layers
Layer L Well (p,n) Active Area (n+,p+) Select (p+,n+) Polysilicon Metal1 Metal2 Contact To Poly Contact To Diffusion Via Color C l Yellow Green Green Red Blue Magenta Black Black Black Representation R t ti
CSCE 5730: Digital CMOS VLSI Design
22
Layers in 0.25 m CMOS process
CSCE 5730: Digital CMOS VLSI Design
23
Intra-Layer Design Rules
Same Potential 0 or 6 10 3 Active 3 2 Select Contact or Via Hole 2
Metal2 3
CSCE 5730: Digital CMOS VLSI Design
Different Potential 9 Polysilicon 2 Metal1 M l1 2 3
4
Well
24
Transistor Layout y
Tr Transistor
Polysilicon Well (n or p) Active Area (n+ or p+)
5
CSCE 5730: Digital CMOS VLSI Design
25
Vias and Contacts
2 Via 1 1 5 Metal to 1 Active Contact A i C Metal to Poly Contact 3 2 4
2 2
CSCE 5730: Digital CMOS VLSI Design
26
Select Layer y
2 3 2 1 3 3 Select
Substrate
Well
CSCE 5730: Digital CMOS VLSI Design
27
CMOS Inverter Layout
GND In VD D
Out (a) Layout
A p-substrate n+ (b) Cross-Section along A A Cross Section A-A
CSCE 5730: Digital CMOS VLSI Design
A n p+ Field Oxide
28
Layout Editor
CSCE 5730: Digital CMOS VLSI Design
29
Design Rule Checker
p y_ poly not_fet to all_diff minimum spacing = 0.14 um. p g
CSCE 5730: Digital CMOS VLSI Design
30
Sticks Diagram
V DD In
3 Out
Dimensionless layout entities Only topology is important Final layout generated by compaction p og a co pact o program
1
GND
Stick diagram of inverter g
CSCE 5730: Digital CMOS VLSI Design
31
Logic Gate Layout
Layout can be very time consuming
Design gates to fit together nicely Build a library of standard cells
St d d cell d i methodology Standard ll design th d l
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
CSCE 5730: Digital CMOS VLSI Design
32
MIPS: Block Diagram
PCWriteCond PCEn PCSource MemRead MemWrite MemtoReg IRWrite[3:0] Op [5 : 0] PCWrite Outputs ALUOp IorD ALUSrcB Control ALUSrcA RegWrite RegDst 0 M x 2
Instruction [5 : 0] Instruction [31:26] Address Add Memory MemData Write data Instruction [25 : 21] Instruction [20 : 16] Instruction [15 : 0] Instruction register Instruction [7 : 0] Memory data register 0 M Instruction u x [15 : 11] 1 0 M u x 1 Read register 1 Read Read register 2 data 1 Registers Write Read register data 2 Write data A 0 M u x 1 0 1 M u 2 x 3
Shift left 2
Jump address
1 u
PC
0 M u x 1
B 1
Zero ALU ALU result
ALUOut
memwrite memread
ALU control ALUControl
Instruction [5 : 0]
controller
aluop[1:0]
alucontrol
fu unct[5:0]
alucontrol[2:0]
op[5:0]
zero
alusrca
alusrcb[1:0]
pcen
pcsource[1:0]
memtoreg m
re egdst
io ord
egwrite re
ir rwrite[3:0]
ph1 ph2 reset adr[7:0] writedata[7:0] memdata[7:0]
datapath
CSCE 5730: Digital CMOS VLSI Design
33
MIPS: Floorplan
10 I/O pads
mips (4.6 M2) control t l 1500 x 400 (0.6 M2)
wiring channel: 30 tracks = 240 3500 0 1690 0 zipper 2700 x 250 datapath 2700 x 1050 (2.8 M2)
alucontrol 200 x 100 (20 k2) 10 I/O pads
10 I/O pads
5000 0
bitslice 2700 x 100 2700
3500
10 I/O pads
5000 000
CSCE 5730: Digital CMOS VLSI Design
34
MIPS : Layout
CSCE 5730: Digital CMOS VLSI Design
35
Area Estimation
Need area estimates to make floorplan
Compare t another bl k you already d i C to th block l d designed d Or estimate from transistor counts Budget room f l B d for large wiring tracks ii k Your mileage may vary!
CSCE 5730: Digital CMOS VLSI Design
36
Design Verification
Fabrication is slow & expensive
MOSIS 0 6m: $1000 3 months 0.6m: $1000, State of art: $1M, 1 month
Specification = Architecture Design = Logic g Design = Circuit Design = Physical Design Function Timing Power Function Function Function
Debugging chips is very hard
Limited visibility into operation
Prove the design before building!
Logic simulation Ckt. simulation / formal verification Layout vs. schematic comparison Design & electrical rule checks g
Verification is > 50% of effort on most chips!
CSCE 5730: Digital CMOS VLSI Design
37