02.12.2012 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!