VLSI/FPGA Design and Test CAD Tool Flow in Mentor Graphics
VLSI/FPGA Design and Test CAD Tool Flow in Mentor Graphics
VLSI/FPGA Design and Test CAD Tool Flow in Mentor Graphics
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>VLSI</strong>/<strong>FPGA</strong><br />
<strong>Design</strong> <strong>and</strong> <strong>Test</strong> <strong>CAD</strong> <strong>Tool</strong><br />
<strong>Flow</strong> <strong>in</strong> <strong>Mentor</strong> <strong>Graphics</strong><br />
Victor P. Nelson
or….<br />
“Nightmare on<br />
<strong>CAD</strong> <strong>Tool</strong> Street”
<strong>Mentor</strong> <strong>Graphics</strong> <strong>CAD</strong> <strong>Tool</strong> Suites<br />
�� IC/SoC IC/ SoC design flow<br />
�� DFT design flow<br />
�� <strong>FPGA</strong> design flow<br />
�� PCB design flow<br />
�� HDL digital model<strong>in</strong>g & simulation<br />
�� Analog/mixed-signal Analog/mixed signal model<strong>in</strong>g & simulation<br />
�� ASIC/<strong>FPGA</strong> synthesis<br />
�� Vendor-provided Vendor provided (Xil<strong>in</strong>x,Altera,etc<br />
( Xil<strong>in</strong>x,Altera,etc.) .) back end tools
Auburn “user-setup” “user setup” Options<br />
(select “eda “ eda” ” – Electronic <strong>Design</strong> Automation)<br />
�� IC<strong>Flow</strong>2004.3 (2001, (2001, 2005.1) 2005.1)<br />
– IC<strong>Flow</strong> tools (<strong>Design</strong> (<strong>Design</strong> Architect--IC, Architect IC, IC IC Station, Station, Calibre)) Calibre<br />
– Simulation tools ((Modelsim Modelsim, , ADVance ADVance MS, MS, Eldo)) Eldo<br />
– Synthesis (Leonardo) (Leonardo)<br />
– DFT tools (DFT (DFT Advisor, Advisor, Flextest, Flextest,<br />
Fastscan)) Fastscan<br />
– Limited access to Quicksim II (some (some technologies)<br />
technologies)<br />
�� EN2002u3 (EN2001) (EN2001)<br />
– <strong>Design</strong> Architect, Quicksim II,Quicksim Pro (Front (Front End) End)<br />
– ModelSim & Leonardo (Simulation/Synthesis)<br />
– Xil<strong>in</strong>x/Altera tools (Back (Back End) End)<br />
<strong>FPGA</strong> (<strong>FPGA</strong> (<strong>FPGA</strong> Advantage, Advantage, Modelsim, Modelsim,<br />
Leonardo)<br />
Leonardo)<br />
�� <strong>FPGA</strong>
<strong>Mentor</strong> <strong>Graphics</strong><br />
Front-End <strong>Tool</strong>s<br />
(Technology-Independent)<br />
Xil<strong>in</strong>x/Altera/Other<br />
Back-End <strong>Tool</strong>s<br />
(Technology-Specific)<br />
<strong>FPGA</strong> <strong>Design</strong> <strong>Flow</strong><br />
Behavioral<br />
<strong>Design</strong><br />
Synthesis<br />
Gate-Level<br />
Schematic<br />
Map, Place<br />
& Route<br />
EDIF Netlist<br />
<strong>FPGA</strong> Configuration File<br />
Verify<br />
Function<br />
Verify<br />
Function<br />
Verify<br />
Tim<strong>in</strong>g
DFT/BIST<br />
& ATPG<br />
DRC & LVS<br />
Verification<br />
IC/ASIC <strong>Design</strong> <strong>Flow</strong><br />
Behavioral<br />
<strong>Design</strong><br />
Gate-Level<br />
Netlist<br />
Transistor-Level<br />
Netlist<br />
Physical<br />
Layout<br />
Mask Data<br />
Verify<br />
Function<br />
Verify<br />
Function<br />
Verify Function<br />
& Tim<strong>in</strong>g<br />
Verify<br />
Tim<strong>in</strong>g
<strong>Mentor</strong> <strong>Graphics</strong><br />
ASIC <strong>Design</strong> Kit 3.0<br />
�� Technology files (all) & st<strong>and</strong>ard cell libraries (exc. tsmc018)<br />
– ami12, ami05 (AMI 1.2um, 0.5um)<br />
– tsmc035, tsmc025, tsmc018 (TSMC 0.35um, 0.25um, 0.18um)<br />
�� Support for IC <strong>Flow</strong> & DFT tools:<br />
– Synthesis ((LeonardoSpectrum<br />
LeonardoSpectrum))<br />
– Schematic capture (<strong>Design</strong> (<strong>Design</strong> Architect--IC)<br />
Architect IC)<br />
– <strong>Design</strong> for test & ATPG (DFT (DFT Advisor, Advisor, Flextest/Fastscan))<br />
Flextest/Fastscan<br />
– Simulation<br />
�� Modelsim/ADVance MS: MS:<br />
VHDL/Verilog/Mixed-Signal VHDL/Verilog/Mixed Signal models<br />
�� Eldo/Accusim Eldo/Accusim analog (SPICE) models<br />
�� Mach Mach TA TA post-layout post layout tim<strong>in</strong>g<br />
�� Quicksim Quicksim II, II, Quicksim Quicksim Pro Pro (except tsmc025,tsmc018)<br />
– IC layout & verification (st<strong>and</strong>ard cell & custom)<br />
�� IC IC Station Station<br />
�� Calibre, Calibre,<br />
SST SST Velocity<br />
Velocity
Behavioral <strong>Design</strong> & Verification<br />
VHDL<br />
Verilog<br />
SystemC<br />
(mostly technology-<strong>in</strong>dependent)<br />
technology <strong>in</strong>dependent)<br />
ModelSim<br />
(digital)<br />
Leonardo<br />
Spectrum<br />
(digital)<br />
Create Behavioral/RTL<br />
HDL Model(s)<br />
Simulate to Verify<br />
Functionality<br />
Synthesize Gate-Level<br />
Circuit<br />
Technology-Specific Netlist<br />
to Back-End <strong>Tool</strong>s<br />
VHDL-AMS<br />
Verilog-A<br />
ADVance MS<br />
(analog/mixed signal)<br />
Technology Libraries
Digital HDL Simulation<br />
Work<strong>in</strong>g<br />
Library<br />
Simulation<br />
Setup<br />
VHDL,Verilog<br />
Models<br />
<strong>Design</strong>_1<br />
<strong>Design</strong>_2<br />
Result<br />
Waveforms<br />
ModelSim<br />
VITAL<br />
IEEE 1164<br />
Result<br />
List<strong>in</strong>g<br />
Resource<br />
Libraries<br />
Input<br />
Stimuli
Mixed-Signal Mixed Signal HDL Simulation<br />
Analog<br />
(SPICE)<br />
Work<strong>in</strong>g<br />
Library<br />
Simulation<br />
Setup<br />
Eldo,<br />
Eldo RF<br />
VHDL,Verilog,<br />
VHDL-AMS, Verilog-A,<br />
SPICE Models<br />
Mach TA<br />
<strong>Design</strong>_1<br />
<strong>Design</strong>_2<br />
VITAL<br />
ADVance MS<br />
EZwave<br />
or Xelga<br />
View Results<br />
IEEE 1164<br />
Resource<br />
Libraries<br />
Input<br />
Stimuli<br />
ModelSim<br />
Digital<br />
(VHDL,Verilog)
ADVance MS Simulation System<br />
�� ADVance MS “kernel” supports:<br />
– VHDL & Verilog: digital (via ModelSim) ModelSim<br />
– VHDL-AMS VHDL AMS & Verilog-A: Verilog A: analog/mixed signal<br />
– Eldo/SPICE: Eldo/SPICE:<br />
analog (via Eldo) Eldo<br />
– Eldo RF/SPICE: analog RF (via Eldo RF)<br />
– Mach TA/SPICE: high-speed high speed analog/tim<strong>in</strong>g<br />
�� Invoke st<strong>and</strong>-alone st<strong>and</strong> alone or from <strong>Design</strong> Architect-IC<br />
Architect IC<br />
�� <strong>Mentor</strong> <strong>Graphics</strong> “Legacy” Simulators (PCB design)<br />
– Quicksim II, Quicksim Pro (digital)<br />
– ASIC: adk_quicksim<br />
adk_quicksim<br />
– <strong>FPGA</strong>/PLD: Xil<strong>in</strong>x: pld_quicksim, pld_quicksim,<br />
Altera: max2_quicksim<br />
– Accusim (analog): adk_accusim<br />
adk_accusim
Technology<br />
Synthesis<br />
Libraries<br />
<strong>FPGA</strong><br />
ASIC<br />
Automated Synthesis<br />
HDL Behavioral/RTL Models<br />
Leonardo Spectrum<br />
(Level 3)<br />
Technology-<br />
Specific<br />
Netlist<br />
VHDL, Verilog, SDF,<br />
EDIF, XNF<br />
<strong>Design</strong><br />
Constra<strong>in</strong>ts<br />
Level 1 – <strong>FPGA</strong><br />
Level 2 – <strong>FPGA</strong> + Tim<strong>in</strong>g
Leonardo – ASIC Synthesis <strong>Flow</strong>
Synthesis Example<br />
�� Load technology library:<br />
tsmc035 (ASIC), or Xil<strong>in</strong>x Spartan2 (<strong>FPGA</strong>)<br />
�� Load design file: seqckt.vhd<br />
�� Specify constra<strong>in</strong>ts: clock freq, delays, etc.<br />
�� Optimization: effort, performance vs. area<br />
�� Write synthesized netlist output(s): output(s):<br />
– seqckt_0.vhd : VHDL netlist for ModelSim & DFT<br />
– seqckt.v : Verilog netlist for import <strong>in</strong>to DA-IC DA IC<br />
– seqckt.sdf : For ModelSim to study tim<strong>in</strong>g<br />
– seqckt.edf : EDIF netlist for 3 rd party tools<br />
– seqckt.xnf : Xil<strong>in</strong>x netlist for Xil<strong>in</strong>x ISE
<strong>Mentor</strong> <strong>Graphics</strong> DFT <strong>Design</strong> <strong>Flow</strong><br />
Memory<br />
& Logic<br />
BIST Boundary<br />
Scan<br />
Internal<br />
Scan <strong>Design</strong><br />
ATPG
VHDL/Verilog<br />
Netlist With<br />
Scan Elements<br />
ASIC DFT <strong>Flow</strong><br />
DFT Advisor<br />
Synthesized VHDL/Verilog Netlist<br />
Fastscan/<br />
Flextest<br />
Insert Internal<br />
Scan Circuitry<br />
Generate/Verify<br />
<strong>Test</strong> Vectors<br />
<strong>Test</strong> Pattern File<br />
ATPG Library<br />
adk.atpg
Xil<strong>in</strong>x “ISE”<br />
Altera “Max Plus 2”<br />
Physical <strong>Design</strong> - <strong>FPGA</strong><br />
User-Specified<br />
Constra<strong>in</strong>ts<br />
Component-Level Netlist<br />
Generate<br />
Programm<strong>in</strong>g<br />
Data<br />
Configuration File<br />
Map to <strong>FPGA</strong><br />
LUTs, FFs, IOBs<br />
Place & Route<br />
Generate<br />
Tim<strong>in</strong>g Model<br />
Simulation Model<br />
<strong>FPGA</strong>/PLD<br />
Technology<br />
Files
Physical <strong>Design</strong> – ASIC (Std. Cell)<br />
Std. Cell<br />
Layouts<br />
Process Data<br />
<strong>Design</strong> Rules<br />
<strong>Design</strong> Rule<br />
Check<br />
Component-Level Netlist<br />
Generate<br />
Mask Data<br />
IC Mask Data<br />
Floorplan<br />
Chip/Block<br />
Place & Route<br />
Std. Cells<br />
Backannotate<br />
Schematic<br />
<strong>Mentor</strong> <strong>Graphics</strong><br />
“IC Station”<br />
Layout vs.<br />
Schematic<br />
Check<br />
Mach TA/Eldo Simulation Model
<strong>Design</strong> Architect-IC Architect IC <strong>Design</strong> <strong>Flow</strong>
Preparation for Layout<br />
�� Convert Verilog netlist to <strong>Mentor</strong> <strong>Graphics</strong><br />
“EDDM” netlist format<br />
– Invoke <strong>Design</strong> Architect-IC<br />
Architect IC ((adk_daic adk_daic))<br />
– “Import Verilog” feature to create schematic<br />
�� mapp<strong>in</strong>g file $ADK/technology/adk_map.vmp<br />
$ADK/technology/ adk_map.vmp<br />
– Open the generated schematic<br />
– Prepare “design viewpo<strong>in</strong>ts” for layout<br />
�� May also create schematic diagrams for “h<strong>and</strong>-<br />
designed” circuits – gate <strong>and</strong>/or transistor level<br />
– Components from ADK library