Concept to Silicon
Victor P. Nelson
VLSI Design & Test Seminar
2/10/2016
Design Goal: Application-Specfic IC (ASIC)
System on Chip (SoC)
4
3
7
6 5
ASIC CAD tools available in ECE
Modeling and Simulation
Questa ADMS = Questa+Modelsim+Eldo+ADiT (Mentor Graphics)
Verilog-XL, NC_Verilog, Spectre (Cadence)
Design Synthesis (digital)
Leonardo Spectrum (Mentor Graphics)
Design Compiler (Synopsys), RTL Compiler (Cadence)
Design for Test and Automatic Test Pattern Generation
Tessent DFT Advisor, Fastscan, SoCScan (Mentor Graphics)
Schematic Capture & Design Integration
Pyxis Design Architect-IC (Mentor Graphics)
Design Framework II (DFII) - Composer (Cadence)
Physical Layout
Pyxis IC Station (Mentor Graphics)
SOC Encounter, Virtuoso (Cadence)
Design Verification
Calibre DRC, LVS, PEX (Mentor Graphics)
Diva, Assura (Cadence)
IC Process Design Kits (PDKs)
Foundry-specific data files and
models for CAD tools
For a specific IC technology
Design components for both
front-end & back-end design
Schematic capture
Simulation
Physical layout
Verification (DRC,LVS)
DFT/test generation
Cell libraries https://www.mentor.com/products/ic_nanometer_design/
foundries/designkits
Device generators (RAM, etc.)
See list of foundries and PDKs available.
Mentor Graphics Design Kits1 in ECE
Generic Design Kit (GDK), ASIC Design Kit (ADK)2
Technology files & standard cell libraries
GDK: 130nm teaching technology (not for a commercial foundry)
ADK/AMI: ami12, ami05 (1.2, 0.5 m)
ADK/TSMC: tsmc035, tsmc025, tsmc018 (350, 250*, 180 nm) *also VT Cadence lib
MOSIS Instructional: ON Semi 0.5um CMOS (C5N), Globalfoundries 130nm CMOS (8RF-DM)
MOSIS Unfunded Research: above plus Globalfoundries 130nm SiGe BiCMOS (8HP)
IC flow (Pyxis) & DFT tool support files:
Simulation models
VHDL/Verilog/Mixed-Signal models (Questa ADMS)
Analog (SPICE) models (Eldo, ADiT)
Standard cell synthesis libraries (LeonardoSpectrum Level 3)
Design for test & ATPG libraries (Tessent DFT Advisor, Fastscan)
Schematic capture symbols (Design Architect-IC)
IC physical design (standard cell & custom)
Standard cell models, symbols, layouts (Pyxis)
Design rule check, layout vs schematic, parameter extraction (Calibre)
Simulation Input
Questa ADMS
Setup Stimuli
Mixed Signal
Eldo, EZwave (VHDL-AMS,
Eldo RF QuestaSim Verilog-AMS)
Analog View Results
ADiT Digital
(SPICE)
(VHDL,Verilog)
Questa ADMS
Four simulation engines integrated for SoC designs
Questa mixed signal simulation (VHDL-AMS, Verilog-AMS)
QuestaSim (Modelsim) VHDL/Verilog/SystemC digital simulation
Eldo/Eldo RF analog (SPICE) simulation
ADiT accelerated transistor-level (Fast-SPICE) simulation
A/D converter
digital
VHDL
analog
VHDL-AMS
digital nets
analog nets
Questa ADMS: mixed Verilog-SPICE
Verilog top
(test bench)
SPICE
subcircuit
Automated Synthesis with
LeonardoSpectrum/Synopsys Design Compiler
VHDL/Verilog
Technology Behavioral/RTL Models
Synthesis
Libraries
Custom Predefined
functions functions
Leonardo ASIC Synthesis Flow
2
3
Read &
check HDL 4 Write netlist,
1 SDF, reports
Synthesis steps
1. Load technology library into database
2. Analyze design
Load HDL models into database, check for synthesizable models
3. Elaborate design
Technology-independent circuit (random & structured logic)
Tessent SoCScan
& DFTAdvisor
Full/partial scan design,
Test point insertion
Memory
& Logic
BIST Boundary
Scan
Internal
Scan Design
ATPG
DFTadvisor/FastScan Design Flow
RTL design
& verification
count4.vhd
Leonardo
count4_0.vhd
count4.v
DFT/ATPG count4_scan.v
Library:
adk.atpg
MSB of count
is Scan Out
Scan Control
Two pins
inserted
SETUP =
declare input bus "PI" = "/A", "/B", "/C", "/D /E; I/O pin names
declare output bus "PO" = "/Y"; (in order of vector bits)
end;
SCAN_TEST =
pattern = 0; Pattern #
force "PI" "00010" 0; Input vector
measure "PO" "0" 1; Expected output for this pattern
pattern = 1;
force "PI" 01000" 0;
measure "PO" 0" 1;
Std. Cell
Layouts Floorplan Mentor Graphics
Chip/Blocks Pyxis Layout
Libraries
IP cores,
custom layouts,
etc.
I/O pads
Managing ASIC designs
IC design projects comprise many parts
Pyxis Design
Manager
Organized structure
Manages hierarchy
Manages 3rd party
data & tools
Supports language
models
Provides revision
control
Pyxis
Project
Navigator
Overflows
show block
connections
Floorplan after modifying blocks and placement
Includes IC cell boundary box
Autoplace pins (signal connections) on blocks/chip
Placement options: metal levels, directions, optimization, etc.
Overflows (yellow lines) indicate connections between pins
Autoroute nets (Aroute tool)
Specify metal layers to use and preferred directions within layers
Autoroute all nets, or perhaps only selected nets
Design rule check (DRC) with Calibre (fix any errors)
Calibre Results Verification (RVE) Window identifies errors
Spacing
error
between
metal 4
lines
Make rows
same length
Basic standard Metal M1
cell layout
Cell output
(connect M1)
Cell input
(connect M1)
VDD-GND pitch
identical in all cells
Some std cells
use M1 exclusively Abut cells to create
within the cell, VDD/GND rails in
and make external each row
connections on M2
(can route M2 wires
over the cell)
1. Select
StdCell
Autoplace
Divide-by-n block
3. Select
Feed
4. Select
Slide row
6 cell left and
rows Fill row
with
feedthru
cells
Add power routing and power rings
VDD/GND wires of rows connect to rings in edge gap around the block
Using Plan & Route palette, desired metal levels selected
Power
rings
Autoplace pins on the block
1. Select the
block
2. Click Plan
3. Click
Autoplace Pins
4. Select metal
levels for pins on
the 4 sides
(match routing
directions)
Autoroute (ARoute) to connect cells/pins
1. Select metal levels and directions for wires
2. Undo/redo
routing
as desired
3. Autoroute
all or only
selected nets
Route any unfinished signals (IRoute tool)
Autoroute can leave overflows Select IRoute (Interactive Routing)
Select an overflow & guide the router
Select
Hotkey p => routing
push M1-M3 vias options
out of the way
(p,p => 2 directions)
Mx-My Via
Go! Mx
LBM click to define a route point
below congested area My
Completed block layout
Verify layout periodically via DRC/LVS
Post-layout parameter extraction via
Calibre Interactive PEX
Fast-SPICE simulator
Analog & mixed-signal
10X to 100X faster than
other SPICE simulators
Integrated with Questa
Examples: $MGC_AMS_HOME/examples/adit/
Digital simulation in ADiT
ADiT supports digital vectors (unlike SPICE simulators)
SETBUS - define a bus containing digital signals
SIGBUS - Stimulate a bus with test vectors
PLOTBUS capture and plot digital bus values
CHECKBUS capture & compare bus value to expected value
ADiT supports test vector files, similar to a pattern file for
an IC tester
Pattern = vector to apply to inputs + expected output pattern
Measure and Extract commands support verification of
timing parameters by extracting waveform characteristics
(delays between signal edges, etc.)
Further information
ELEC 5250/6250 (CAD of Digital ICs) web page
http://www.eng.auburn.edu/~nelsovp/courses/elec5250_6250/
Lecture slides
Links to CAD tool resources and papers
Links to VHDL resources