ECE 3060 VLSI and Advanced Digital Design

advertisement
ECE 3060
VLSI and Advanced Digital Design
Lecture 4
Layout Design & Tools
CMOS Layers
• “Standard” n-Well Process
•
•
•
•
•
•
•
Active (Diffusion)
Polysilicon
Metal 1, Metal 2, Metal3
Poly Cut (connects metal 1 to polysilicon)
Active Cut (connects metal 1 to active)
Via (connects metal 2 to metal 1)
Overglass Cut (facilitates off-chip connections)
• n Well
• n Select (used with active to create n-type diffusion)
• p Select (used with active to create p-type diffusion)
• p-well, twin tub, etc. use slightly different layers
ECE 3060
Lecture 3–7
Well, Active, and Select Layout
n-select
p-select
Active
Active
Layout
field oxide
n+
p+
n-
p- (substrate)
Cross section
ECE 3060
Lecture 3–8
Transistor Layout
n-select
p-select
Active
Active
n-fet
p-fet
Layout
field oxide
thin oxide
n+
p+
n-
p- (substrate)
Cross section
ECE 3060
Lecture 3–9
Wiring and Contact Layout
ECE 3060
Lecture 3–10
Substrate and Well Contacts
• Properties
•
•
•
•
Set Well and Substrate Voltages to Vdd and Gnd
Prevent Forward Biasing and Latch-Up
Must Be at Least One per Well
Should Be Placed Regularly
ECE 3060
Lecture 3–12
Design Rules
• Minimum Separation [A]
• Intralayer (all layers)
• Interlayer (active to poly/well/select)
• From Transistor
• Minimum Width (all layers) [B]
• Minimum Overlap [C]
• Past Transistor (poly, active)
• Around Contact Cut (all contacted layers)
• Around Active (well, select)
• Exact Size (contact cuts) [D]
ECE 3060
Lecture 3–13
Lambda Rules for TSMC .18u
• Lambda = .09u
• Cadence Virtuoso does NOT use units of
lambda; instead, units of microns (10-6
meters) are used
Width/Spacing Rules for TSMC .18u
6
2
1
18
3
2.5
2
3
12
4
3
3
6
6
3
3
metal 1
metal 2
metal 3
metal 4
Contact Design Rules for TSMC .18u
4
1
2
1
2
2
2
Contact 2x2
3
2
1
1
Cell Design Principles
• Cell “Floorplanning”
•
•
•
•
•
Separate nFETs and pFETs
Use One Continuous Well when Possible
Set Pitch Using Power and Ground Lines
Run Busses with Metal 1 and Metal 2 Perpendicular
Route External Signals to Edges of Cell
• DON’T FORGET
• Substrate and Well Contacts
• Select Around All Active
ECE 3060
Lecture 4–2
Layout Example: CMOS Inverter
• Set Pitch (place well and power/ground busses)
ECE 3060
Lecture 4–3
Layout Example: CMOS Inverter
• Add Transistors (active, select, and poly)
ECE 3060
Lecture 4–4
Layout Example: CMOS Inverter
• Make Connections (poly, metal, and cuts)
ECE 3060
Lecture 4–5
Layout Example: CMOS Inverter
• Add Substrate and Well Contacts
ECE 3060
Lecture 4–6
Layout Example: CMOS Inverter
• Add External Wiring and Resize
ECE 3060
Lecture 4–7
Symbolic Layout
• Stick diagrams capture spatial relationships, but
abstract away design rules
Vdd
Out
Gnd
B
A
C
• What gate is this?
• Note: sticks are done slightly differently in text.
ECE 3060
Lecture 4–8
Design Capture Tools
• HDL & Schematic capture
• Hardware Description Languages (such as VHDL & Verilog) capture
a textual hierarchical description of design at abstraction ranging
from gate or even transistor level up to a behavioral description
(more later)
• Schematic editors (such as Cadence Composer) capture a
structural, hierarchical graphical representation of the design
netlist.
• Layout
• Layout editors (such as Cadence
Virtuoso) capture a hierarchical view
of the physical geometric aspect of a
design. The units of hierarchy are
called cells, and have physical extent
(size). In general, good design
requires that only one cell contain
the design info for a particular area
of the chip
ECE 3060
Cell1
Cell2
Cell2
Instance1 Instance2
Lecture 4–9
Rules Checking
• Complex designs invariably suffer design and design
entry errors. There are a number of tools and methodologies to detect and correct.
• Physical Design Rules Checking (DRC) checks for design rule
violations such as minimum spacing etc. DRC checking is
complicated by hierarchy and overlap between cells.
• Electrical Rule Checking checks for violations such as shorts
between Vdd and GND, opens, and so on.
• Layout vs Schematic (LVS) checks for a one to one correspondence
between transistor schematic and the layout.
• Formal verification is used to show that the design
satisfies a formal description of what it should do.
• Simulation is used to show that the design is functional on some well selected set of input vectors.
• Timing analysis is used to predict design performance
ECE 3060
Lecture 4–10
Verification
• Two types:
•
Simulation based verification
• test vectors
•
Formal verification
• mathematical properties
• boolean logic
• Trend: include formal verification in the design
• invariants
ECE 3060
Lecture 4–11
Circuit Extraction
• Circuit extraction extracts a schematic representation
of a layout, including transistors, wires, and possibly
wire and device resistance and capacitance.
• Circuit extraction is used for LVS, and for spice simulation of layouts
ECE 3060
Lecture 4–12
Cell (datapath) Generators
• Custom layout of a chip is very time consuming and is
justifiable only in very high volume design with critical
requirements, or in research.
• A datapath generator is a program designed to parametrically create a data path cell (say an ALU cell)
which can meet size, pitch, and timing constraints.
ECE 3060
Lecture 4–13
Standard Cell Approach
• Use full custom process, but design to higher level
abstraction
•
•
•
•
SSI (NAND, NOR, INV, XOR, Register,...).
MSI (Decoder, Adder, Comparator,...).
Datapath (ALU, Shifter, Register file).
Memory (RAM, ROM, CAM,...).
• Cells are designed at multiples of std pitch
• Cells may be parameterized for power, speed,..
• Design target is netlist of cells which are then placed
and routed using automated tools
ECE 3060
Lecture 4–14
Standard Cell Design
• Cells are designed to abut horizontally.
• Cells are placed and routed automatically
• Wiring channels may have variable # of tracks.
ECE 3060
Lecture 4–15
Download