Lecture 3 - Design Flow

Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

ASIC Computer-Aided Design Flow

ELEC 5250/6250
ASIC Design Flow
ASIC Design Flow
Behavioral
Verify
Model
Function
VHDL/Verilog
Front-End
Synthesis
Design
DFT/BIST Gate-Level Verify
& ATPG Netlist Function

Test vectors Full-custom IC


Transistor-Level Verify Function
Standard Cell IC Netlist & Timing
& FPGA/CPLD
Back-End
Design
Physical
DRC & LVS Verify
Layout
Verification Timing
Map/Place/Route

IC Mask Data/FPGA Configuration File


“Front-End” Design & Verification
VHDL Create Behavioral/RTL VHDL-AMS
Verilog HDL Model(s) Verilog-AMS
SystemC

QuestaSim Simulate to Verify Questa ADMS


(digital) Functionality (analog/mixed signal)

Leonardo Spectrum, Technology


Synopsys - Synthesize Libraries
Design Compiler, Circuit
Xilinx ISE (digital) Design Constraints
QuestaSim Simulate to Verify
VITAL
(digital) Function/Timing
Library
Tessent
DFTAdvisor, Fastscan Design for testability ATPG
ATPG Library
Technology-specific
netlist to back-end tools Simulate to Verify VITAL
Function/Timing Library
ASIC “back end” (physical) design
Assume digital blocks/standard cells
(can also do full custom layout, IP blocks, mixed-signal blocks, etc.)
ASIC Hierarchical Netlist

Std. Cell
Layouts Floorplan Cadence
Chip/Blocks “SOC Encounter”
Libraries
“Innovus”
Process data, Plan Rows, “Virtuoso”
Design rules Place & Route
Std. Cells

Extract Parasitics, Layout vs.


Generate Design Rule
Backannotate Schematic
Mask Data Check (DRC)
Schematic (LVS) Check
Calibre Calibre Calibre
IC Mask Data ADiT Simulation Model
Cadence SOC Encounter – Mod7 Counter Layout
Cadence Virtuoso - Chip layout

From
E. Brunvand
Book
ASIC CAD tools available in ECE
 Modeling and Simulation
 Modelsim, Questa-ADMS, Eldo, ADiT (Mentor Graphics)
 Verilog-XL, NC_Verilog, Spectre (Cadence)
 Active-HDL (Aldec)
 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 and models for a
specific IC technology
 Used by the design tools
 Design components for both front-end
& back-end design
 Design entry/modeling
 Technology/process data
 Layer definitions/parameters (Trans, R,C,…)
 Design rules
 Standard Cell Library
 Synthesis library
 Simulation models (Verilog, transistor)
 Physical designs (LEF models)
 Timing models (fast, typical, slow)
 Verification (DRC,LVS,PEX)
 DFT/test generation
 IP and device generators (RAM, etc.)
Global Foundries BiCMOS8HP 130nm PDK
Global Foundries BiCMOS8HP 130nm PDK

• Physical Design Cells


- FILLx (row fill cells, x=1,2,4,8,…,128)
- FGTIE (floating-gate tie-down)
I/O
- NWSX (substrate and n-well taps)
Global Foundries PDK Directory Structure
IBM_PDK/bicmos8hp/<version>/
Subdirectory Contents
doc/ Technology Design Manual
Model Reference Guide
Layer Mapping File
cdslib/bicmos8hp Cadence BiCMOS8HP Device Library (IC61)
/esd8hp Cadence BiCMOS8HP ESD Library
/Skill Context Files (Skill Utilities)
/examples Example Setup Files
/doc Cadence Library Documentation
Assura/DRC DRC Files
/LVS LVS Files
/doc Assura Release Notes
EM/ Electromagnetic Enablement
/doc E-M File Release Notes and Guide
/EMX EMX Proc Files
/Momentum Momentum Layer and Substrate Files
HSPICE/models HSPICE Device Model Files
/doc HSPICE Release Notes
Spectre/models Spectre (Direct) Device Model Files
/doc Spectre Release Notes
utils/ Kit Utility Programs
NCSU Cadence Design Kit (CDK)
https://www.eda.ncsu.edu/wiki/NCSU_CDK

 For analog/digital CMOS IC design via the MOSIS IC


fabrication service (www.mosis.org)
 Version ncsu-cdk-1.6.0.beta for Cadence Virtuoso 6.1 and later
 Supports all MOSIS processes based on SCMOS rules
 ami_06/16, hp_04/06, tsmc_02/03/04
 GDSII layer maps
 Diva DRC, LVS support (no PEX)
 Composer interfaces to HSPICE/Spectre, Verilog
 Technology-independent libraries for analog & digital parts
 Transistor models, layouts, etc.
 But – does not include standard cell layout library
 MOSIS wirebond pads (AMI 0.6μm, TSMC 0.4 μm, HP 0.6μm)

Installed in /class/ELEC6250/ncsu-cdk-1.6.0.beta
U. of Utah CDK (used in Dr. Brunvand’s book)
/class/ELEC6250/UofUtah/
 UofU_TechLib_ami06 UofU-modified tech library for AMI C5N
0.5 micron CMOS process, in the NCSU CDK framework
(AMI acquired by ON Semiconductor for $915M in 2008)
 UofU_Digital_v1_2 Std. Cell library (37 cells, use M1 & M2)
 UofU_Digital_v1_2.db: compiled library file for Synopsys Design Compiler
 UofU_Digital_v1_2.lef: abstract layout information file for place and route tools
 UofU_Digital_v1_2.lib: library characterization file
 UofU_Digital_v1_2.v:Verilog interface and simulation behavior file
 UofU_Digital_v1_2_behv.v:Verilog models with timing “specify” blocks
 UofU_Pads Pad cells and frames based on the MOSIS-supplied .5μm
pads from Tanner, but UofU-modified to pass DRC and LVS
 UofU_AnalogParts UofU-modified transistor models that add delay
to the switch-level simulation of those devices
UofU_Digital_v1_2 CMOS cell library
 AND3X1: 3-input AND
 AOI21X1, AOI22X1: AND-OR-Invert gates Xn = drive strength
 BUFX2, BUFX4, BUFX8: non-inverting buffers
 DCBNX1, DCBX1, DCNX1, DCX1: D-type flip flops with active-low clear.
B means that the device includes both Q and QB outputs.
N means active-low clock.
 ENINVX1, ENINVX2: enabled (tri-state) inverters
 FILL, FILL2, FILL4, FILL8: filler cells of different widths for filling in std cell rows
 INVX1, INVX16, INVX2, INVX4, INVX8: inverters
 LCNX1, LCX1: level-sensitive (gated) latches with active-low clear.
N means active-low gate
 MUX2NX1, MUX2X2: 2-way muxes. N means an inverting mux
 NAND2X1, NAND2X2, NAND3X1: NAND gates with 2 and 3 inputs
 NOR2X1, NOR2X2, NOR3X1: NOR gates with 2 and 3 inputs
 OAI21X1 OAI22X1: OR-AND-Invert gates
 TIEHI, TIELO: Cells used to tie inputs high or low
 XNOR2X1: 2-input XNOR
 XOR2X1: 2-input XOR
SoC Design Flow (Using IP cores)

IP Vendors:
Hardware Software
IP cores Purchase drivers core design
Purchase
HW cores SW drivers

SoC
Integrated Design specifics Integrated
Hardware Software
HW/SW partitioning

Fabless Vendors:
Functional Prototype on platforms Software SoC design
Simulation e.g. FPGA Simulation

Physical optimization HW/ SW Application development


and fabrication co-verification and test

Foundries:
Volume manufacture Chip fabrication
and ship

Device vendors:
PCB manufacture
and device assembly Final products
FPGA Design Flow
Behavioral Verify
Design Function
Mentor Graphics
Front-End Tools Synthesis
(Technology-Independent)
Gate-Level Verify
Schematic Function

EDIF Netlist

Xilinx/Altera/Other
Map, Place Verify
Back-End Tools
& Route Timing
(Technology-Specific)

FPGA Configuration File


Xilinx/Altera FPGA/CPLD Design Tools
 Simulate designs in Modelsim (or other simulation tools)
 Behavioral/RTL models (VHDL,Verilog)
 Synthesized netlists (VHDL, Verilog)
 Requires “primitives” library for the target technology
 Synthesize netlist from behavioral/RTL model
 Vendor-provided: Xilinx Vivado (previously ISE), Altera Quartus II
 Leonardo (Levels 1,2,3) has FPGA & ASIC libraries (ASIC-only version installed at AU)
 Vendor tools for back-end design
 Map, place, route, configure device, timing analysis, generate timing models
 Xilinx Vivado (previously ISE - Integrated Software Environment)
 Altera Quartus II
 Higher level tools for system design & management
 Xilinx Platform Studio : SoC design, IP management, HW/SW codesign
 Mentor Graphics FPGA Advantage

You might also like