Top Banner
VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools Victor P. Nelson
49

VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Apr 23, 2018

Download

Documents

tranthu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

VLSI/FPGA Design and Test Flow

with Mentor Graphics CAD Tools

Victor P. Nelson

Page 2: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

ASIC Design Flow

BehavioralModel

VHDL/Verilog

Gate-LevelNetlist

DFT/BIST& ATPG

VerifyFunction

VerifyFunction

SynthesisFront-EndDesign

Transistor-LevelNetlist

PhysicalLayout

Map/Place/Route

Verify Function& Timing

Verify Timing

DRC & LVSVerification

IC Mask Data/FPGA Configuration File

Standard Cell IC & FPGA/CPLD

Test vectors Full-custom IC

Back-EndDesign

Page 3: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Physical Design – FPGA (same front end design)

Map to FPGA LUTs, FFs, IOBs

Component-Level Netlist

Xilinx “ISE”Altera “Max Plus 2”

Place & Route

Configuration File

Generate Programming

Data

FPGA/PLD Technology

FilesUser-SpecifiedConstraints

Simulation Model

Generate Timing Model

Page 4: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

ASIC CAD tools available in ECE� Modeling and Simulation

� Modelsim, ADVance MS/Questa, Eldo, Mach TA/ADiT� Verilog-XL, NC_Verilog, Spectre

� Design Synthesis (digital)� Leonardo Spectrum, Precision RTL� Design Compiler (Synopsys), RTL Compiler (Cadence)

� Design for Test and Automatic Test Pattern Generation� Design for Test and Automatic Test Pattern Generation� DFT Advisor, Fastscan, Flextest

� Schematic Capture & Design Integration� Design Architect-IC� Design Framework II (DFII) – Composer

� Physical Layout� IC Station� SOC Encounter, Virtuoso

� Design Verification� Calibre� Diva, Assura

Red – Mentor GraphicsBlue – Cadence/Synopsys

Page 5: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Mentor Graphics Analog/Mixed-Signal IC

Design FlowTechnology-specific netlist from front-end tools

Page 6: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Mentor Graphics CAD Tools (select from “eda” list in user-setup on the Sun network)

� ICFlow** – For custom & standard cell IC designs� IC flow tools (Design Architect-IC, IC Station, Calibre)� Digital/analog/mixed simulation (Modelsim,ADVance MS,Eldo,MachTA)� HDL Synthesis (Leonardo)� ASIC Design Kit (ADK) - Support files for various technologies

� DFT� ATPG/DFT/BIST tools (DFT Advisor, Flextest, Fastscan)� ATPG/DFT/BIST tools (DFT Advisor, Flextest, Fastscan)

� Modelsim** (HDL Simulation)� FPGA (FPGA Advantage, Modelsim, Leonardo)

� *Xilinx/ISE (Xilinx FPGA/CPLD - back end design)

� *QuartusII (Altera FPGA/CPLD - back end design)

� *Ims/6.2 (IMS chip tester)

** Installed on both Solaris and Linux servers* Vendor-Provided (Not Mentor Graphics) Tools

Page 7: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Mentor Graphics ASIC Design Kit (ADK)

� Technology files & standard cell libraries� AMI: ami12, ami05 (1.2, 0.5 μm)� TSMC: tsmc035, tsmc025, tsmc018 (0.35, 0.25, 0.18 μm)

� IC flow & DFT tool support files:� Simulation

� VHDL/Verilog/Mixed-Signal models (Modelsim/ADVance MS)� VHDL/Verilog/Mixed-Signal models (Modelsim/ADVance MS)� Analog (SPICE) models (Eldo/Accusim)� Post-layout timing (Mach TA)

� Synthesis to standard cells (LeonardoSpectrum)� Design for test & ATPG (DFT Advisor, Flextest/Fastscan)� Schematic capture (Design Architect-IC)� IC physical design (standard cell & custom)

� Floorplan, place & route (IC Station)� Design rule check, layout vs schematic, parameter extraction (Calibre)

Page 8: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Xilinx/Altera FPGA/CPLD Design

� Technology files & libraries for front-end design with Mentor Graphics tools� Schematic symbols for Design Architect

� Simulation models for Quicksim II, Quicksim Pro

� Synthesis library for Leonardo� Synthesis library for Leonardo

� Vendor tools for back-end design (map, place, route, configure, timing)

� Xilinx Integrated Software Environment (ISE)� Xilinx XST can synthesize the design from VHDL or Verilog (instead of Leonardo)

� Altera Quartus II & Max+Plus2

Page 9: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Front-end design & verification

Create Behavioral/RTL HDL Model(s)

Simulate to VerifyFunctionality

Modelsim(digital)

VHDL-AMSVerilog-A

ADVance MS (analog/mixed signal)

VHDLVerilog

SystemC

Functionality

SynthesizeCircuit

Synopsys -Design CompilerLeonardo Spectrum,Xilinx ISE (digital)

(digital) (analog/mixed signal)

Technology Libraries

Technology-Specific Netlistto Back-End Tools

Simulate to VerifyFunction/Timing

VITALLibrary

Design Constraints

Page 10: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

ADVance MSDigital, Analog, Mixed-Signal Simulation

WorkingLibrary

Design_1Design_2

VITAL

IEEE 1164 ResourceLibraries

VHDL,Verilog,VHDL-AMS, Verilog-A,

SPICE Netlists SPICEmodels

ADVance MSSimulationSetup

EZwaveor Xelga

InputStimuli

Eldo,Eldo RF ModelSim

View ResultsMach TAMach PA

Analog(SPICE) Digital

(VHDL,Verilog)

Mixed Signal(VHDL-AMS,Verilog-A)

Page 11: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

ADVance MS : mixed-signal simulation

A/D converter

digital

analogVHDL-AMS

Page 12: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

ADVance MS: mixed Verilog-SPICE

Verilog top(test bench)

SPICEsubcircuit

Page 13: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Automated Synthesis with

Leonardo Spectrum

VHDL/Verilog Behavioral/RTL ModelsTechnology

Synthesis Libraries

Leonardo Spectrum(Level 3)

FPGA

ASIC

Technology-SpecificNetlist

DesignConstraints

VHDL, Verilog, SDF,EDIF, XNF

Level 1 – FPGALevel 2 – FPGA + TimingLevel 3 – ASIC + FPGA(we have Level 3 ASIC only)

ADKAMI 0.5, 1.2TSMC 0.35, 0.25

Page 14: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Automated Synthesis with

Synopsys Design Compiler

VHDL/Verilog Behavioral/RTL ModelsTechnology

Synthesis Libraries

Design Compiler (shell) Design Vision (GUI)

ASIC

DW

Technology-SpecificNetlist

DesignConstraints

Verilog, SDF, DDC database,SDC constraints, REP report

Synopsys DesignWareComponentLibrary

Page 15: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Leonardo – ASIC Synthesis Flow

Synthesizegeneric gates

Map to technologycells & optimize

Read &check HDL

generic gates& modules

cells & optimize

Write netlist,SDF, reports

Page 16: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Synthesis example

1. Load technology library: tsmc035 (ASIC), or Xilinx Spartan2 (FPGA)

2. Load design file: modulo7.vhd3. Specify constraints: clock freq, delays, etc.4. Optimization: effort, performance vs. area4. Optimization: effort, performance vs. area5. Write synthesized netlist output(s):

modulo7_0.vhd : VHDL netlist for ModelSim & DFTmodulo7.v : Verilog netlist for import into DA-ICmodulo7.sdf : For ModelSim to study timing modulo7.edf : EDIF netlist for 3rd party toolsmodulo7.xnf : Xilinx netlist for Xilinx ISE

Page 17: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Behavioral model to be synthesized-- modulo-7 counter with asynchronous reset and synchronous load/countlibrary ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all;entity modulo7 isport( count,load,reset,clk: in std_logic;

I: in unsigned(2 downto 0); -- “unsigned” form of std_logic_vectorQ: out unsigned(2 downto 0)); -- defined in IEEE “numeric_std” package

end modulo7;architecture Behave of modulo7 is

signal Q_s: unsigned(2 downto 0);begin

process (reset,clk) beginif (reset='0') then Q_s <= "000";elsif (clk'event and (clk='1')) then

if (count = '1') and (Q_s = "110") then Q_s <= "000";elsif (count='1') then Q_s <= Q_s + 1;elsif (load='1') then Q_s <= I;end if;

end if;end process;Q<=Q_s;

end;

Page 18: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Synthesized netlist (1)-- Definition of modulo7-- Thu Sep 21 10:48:09 2006-- LeonardoSpectrum Level 3, 2005a.82--library IEEE;use IEEE.STD_LOGIC_1164.all;

entity modulo7 isentity modulo7 isport (count : IN std_logic ;load : IN std_logic ;reset : IN std_logic ;clk : IN std_logic ;I : IN std_logic_vector (2 DOWNTO 0) ;Q : OUT std_logic_vector (2 DOWNTO 0)) ;

end modulo7 ;

Page 19: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Synthesized netlist (2)

architecture Behave of modulo7 issignal Q_2_EXMPLR, Q_1_EXMPLR, Q_0_EXMPLR, NOT_reset, nx4, nx14, nx22, nx48, nx60, nx169, nx179, nx189, nx202, nx204, nx208, nx212, nx214, nx218, nx225, nx228, nx230: std_logic ;

beginQ(2) <= Q_2_EXMPLR ;Q(1) <= Q_1_EXMPLR ;Q(1) <= Q_1_EXMPLR ;Q(0) <= Q_0_EXMPLR ;ix170 : mux21_ni port map ( Y=>nx169, A0=>nx14, A1=>Q_0_EXMPLR, S0=>nx225);ix15 : oai22 port map ( Y=>nx14, A0=>Q_0_EXMPLR, A1=>nx202, B0=>nx230,

B1=>count);ix203 : nand02 port map ( Y=>nx202, A0=>count, A1=>nx204);ix205 : nand04 port map ( Y=>nx204, A0=>count, A1=>Q_2_EXMPLR,

A2=>Q_1_EXMPLR, A3=>nx228);ix180 : oai32 port map ( Y=>nx179, A0=>nx208, A1=>count, A2=>load,

B0=>nx212, B1=>nx225);Q_2_EXMPLR_EXMPLR : dffr port map ( Q=>Q_2_EXMPLR, QB=>nx208, D=>nx179,

CLK=>clk, R=>NOT_reset);

Page 20: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Synthesized netlist (3)

ix211 : inv01 port map ( Y=>NOT_reset, A=>reset);ix213 : aoi22 port map ( Y=>nx212, A0=>I(2), A1=>nx214, B0=>nx22, B1=>nx4 );ix216 : inv01 port map ( Y=>nx214, A=>count);ix219 : nand02 port map ( Y=>nx218, A0=>Q_1_EXMPLR, A1=>Q_0_EXMPLR);Q_1_EXMPLR_EXMPLR : dffr port map ( Q=>Q_1_EXMPLR, QB=>OPEN, D=>nx189,

CLK=>clk, R=>NOT_reset);ix190 : mux21_ni port map ( Y=>nx189, A0=>nx60, A1=>Q_1_EXMPLR, S0=>nx225);ix190 : mux21_ni port map ( Y=>nx189, A0=>nx60, A1=>Q_1_EXMPLR, S0=>nx225);ix61 : ao32 port map ( Y=>nx60, A0=>nx48, A1=>nx218, A2=>nx4, B0=>I(1),

B1=>nx214);ix49 : or02 port map ( Y=>nx48, A0=>Q_0_EXMPLR, A1=>Q_1_EXMPLR);ix226 : nor02_2x port map ( Y=>nx225, A0=>count, A1=>load);Q_0_EXMPLR_EXMPLR : dffr port map ( Q=>Q_0_EXMPLR, QB=>nx228, D=>nx169,

CLK=>clk, R=>NOT_reset);ix231 : inv01 port map ( Y=>nx230, A=>I(0));ix5 : inv01 port map ( Y=>nx4, A=>nx202);ix23 : xor2 port map ( Y=>nx22, A0=>nx208, A1=>nx218);

end Behave ;

Page 21: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Post-synthesis timing analysis� Leonardo can generate SDF (std. delay format) file with technology-specific, VITAL-compliant timing parameters.

(CELLTYPE "dffr")(INSTANCE Q_0_EXMPLR_EXMPLR)(DELAY(ABSOLUTE(ABSOLUTE(PORT D (::0.00) (::0.00))(PORT CLK (::0.00) (::0.00))(PORT R (::0.00) (::0.00))(IOPATH CLK Q (::0.40) (::0.47))(IOPATH R Q (::0.00) (::0.55))(IOPATH CLK QB (::0.45) (::0.36))(IOPATH R QB (::0.53) (::0.00))))

(TIMINGCHECK(SETUP D (posedge CLK) (0.47))(HOLD D (posedge CLK) (-0.06))))

Page 22: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Post-synthesis simulation (1)(Leonardo-generated netlist)

� Verify that synthesized netlist matches behavioral model� Verify timing information predicted by Leonardo

� Create library of simulation primitives for std cells:� Create library of simulation primitives for std cells:>vlib adk>vcom $ADK/technology/adk.vhd>vcom $ADK/technology/adk_comp.vhd

VITAL models of ADK std cells

Package of ADK component declarations

Page 23: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Post-synthesis simulation (2)

� Edit the synthesized VHDL netlist file (modulo7_0.vhd) to include the package of component declarations:

-- Definition of modulo7-- Thu Sep 21 10:48:09 2006-- Thu Sep 21 10:48:09 2006-- LeonardoSpectrum Level 3, 2005a.82--library IEEE;use IEEE.STD_LOGIC_1164.all;library adk; -- add these two linesuse adk.adk_components.all;

entity modulo7 isport (…..

Page 24: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Post-synthesis simulation (3)

� Compile the VHDL netlist:

vcom modulo7_0.vhd

� Simulate the model with timing:� Simulate the model with timing:

vsim modulo7 –sdftyp modulo7.sdf –do modulo7.do

(modul7.do is a “force file”)

� Verify that the synthesized circuit produces the same results as the behavioral circuit

Page 25: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

ASIC Physical Design (Standard Cell)(can also do full custom layout)

FloorplanChip/Block

Component-Level Netlist (EDDM format)

Std. CellLayouts

Mentor Graphics“IC Station”

(adk_ic)Libraries

ICblocks

Place & RouteStd. Cells

IC Mask Data

Design RuleCheck

Mach TA/Eldo Simulation Model

BackannotateSchematic

GenerateMask Data

Layout vs.SchematicCheck

Design Rules

Process Data

Calibre Calibre Calibre

ICblocks

Page 26: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Cell-Based IC

I/O pads

Page 27: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Cell-Based Block

Page 28: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Basic standardCell layout

Source: Weste “CMOS VLSI Design”

Page 29: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Preparation for Layout

1. Use Design Architect-IC to convert Verilog netlist to Mentor Graphics EDDM netlist format

� Invoke Design Architect-IC (adk_daic)� On menu bar, select File > Import Verilog

� Netlist file: count4.v (the Verilog netlist)� Output directory: count4 (for the EDDM netlist)� Mapping file $ADK/technology/adk_map.vmp

2. Open the generated schematic for viewing2. Open the generated schematic for viewing� Click Schematic in DA-IC palette � Select schematic in directory named above (see next slide)� Click Update LVS in the schematic palette to create a netlist to be used later by

“Calibre”

3. Create design viewpoints for ICstation tools� adk_dve count4 –t tsmc035 (V.P’s: layout, lvs, sdl, tsmc035)

Can also create gate/transistor schematics directly in DA-IC using components from the ADK library

Page 30: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

DA-IC generated schematic

Page 31: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Create a std-cell based logic block in

IC Station

� Invoke: adk_ic� In IC Station palette, select: Create Cell

� Cell name: count4� Attach library: $ADK/technology/ic/process/tsmc035� Process: $ADK/technology/ic/process/tsmc035� Process: $ADK/technology/ic/process/tsmc035� Rules file: $ADK/technology/ic/process/tsmc035.rules� Angle mode: 45� Cell type: block� Select With connectivity� EDDM schematic viewpoint: count4/layout� Logic loading options: flat

Page 32: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Create Cell dialog box

Page 33: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Auto-”floorplan” the block

place & route > autofp

Page 34: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Auto-place the std cells

Autoplc > StdCel

Page 35: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Auto-place ports (signal connections on cell boundaries)

Autoplc > Ports

Page 36: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

AutoRoute all nets (hand-route unrouted “overflows”)

Then: Add > Port Text to copy port names from schematic – for Calibre

Page 37: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

16 by 8 divider circuit

Page 38: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Layout design rule check (DRC)

� Technology-specific design rules specify minimum sizes, spacing, etc. of features to ensure reliable fabrication� Design rules file specified at startup

Ex. tsmc035.rules

� From main palette, select ICrules � Click Check and then OK in prompt box(can optionally select a specific area to check)

� Rules checked in numeric order

Page 39: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Layout vs. schematic check

Calibre Interactive LVS

� From ICstation menu: Calibre > Run LVS� In popup, Calibre location: $MGC_HOME/../Calibre

� Rules: $ADK/technology/ic/process/tsmc035.calibre.rules

� Input: count4.src.net (previously created in DA-IC)

� H-cells: $ADK/technology/adk.hcell (hierarchical cells)� H-cells: $ADK/technology/adk.hcell (hierarchical cells)

� Extracted file: count4.lay.net

� Compares extracted transistor-level netlist vs. netlist saved in DA-IC

Page 40: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Post-layout parameter extraction

Calibre Interactive PEX

� Extract Spice netlist, including parasitic RC� Simulate in Eldo or MachTA

� ICstation menu: Calibre>Run PEX� Options similar to Calibre LVS� Extraction options:

� lumped C + coupling cap’s� distributed RC� distributed RC + coupling cap’s

� Output file: count4.pex.netlist

Page 41: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Top level layout design flow**

1. Create a symbol for each core block (adk_daic)2. Create a chip-level schematic from core blocks and pads

(adk_daic)3. Generate design viewpoints (adk_dve)4. Create a layout cell for the chip(adk_ic)4. Create a layout cell for the chip(adk_ic)

� Place core logic blocks from the schematic� Generate a pad frame� Move/alter core blocks to simplify routing� Route pads to core blocks� Design rule check & fix problems

5. Generate mask data

** Refer to on-line tutorials by Yan/Xu and by Dixit/Poladia

Page 42: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Core logic blocks for top-level schematic

� Generate a symbol for each “core” logic block� In DA-IC, open the schematic (eg. modulo7)

� Select: Miscellaneous > Generate Symbol

� Add “phy_comp” property to the symbol� Select the body of the symbol

� From the popup menu: Properties > Add

� Enter property name: phy_comp

� Enter property value: mod7b

(layout cell name for the block created in IC Station)

� Check & save

Example on next slide

Page 43: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Symbol with phy_comp property

Layoutcell is“mod7b”for logicfor logicschematic“modulo7”

Page 44: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Chip-level schematic

� In DA-IC, create a schematic for the chip� Instantiate core blocks

� Menu pallete: Add > Instance

� Select and place generated symbol

� Add pads from ADK Library>Std. Cells>Pads >tsmc035 : In, Out, � Add pads from ADK Library>Std. Cells>Pads >tsmc035 : In, Out, BiDir, VDD, GND

� Wire pads to logic blocks and connectors

� Assign pin numbers, if known� Change pad instance name to PINdd (dd = 2-digit pin #)

� Check & save

� Create design viewpoints with adk_dve

Example on next slide

Page 45: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Assigning PAD pin numbers

Change instance name property on pads to PINxxxx = 2-digit pin number (01 – 40 for Tiny Chip package)

Place pad onchip pin 01

Default instancenames

Page 46: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Top-level schematic for “modulo7” chip

Hierarchicalconnectors

VDD/GNDPads

Core blockconnectorson “Pad” pins

Wire block I/O pinsto pad signal pins

Core block

Instancename =PINxx(chip pin #)

Page 47: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Chip layout

� Start IC Station (adk_ic) & create a new layout cell� enter cell name� logic source is “layout” viewpoint of chip schematic� same library, process file, rules file, and options as standard cell layout

� Open the schematic � Open the schematic � ADK Edit menu: Logic Source > Open� In the schematic, select all core cells (but not pads)� Place the cells: Place > Inst

� Generate the pad frame� Top menu bar: ADK > Generate Padframe > tsmc035

Page 48: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Chip layout (2)

� Move, rotate, flip core logic cells as desired to make routing easier� BUT - DO NOT EDIT OR MOVE PAD CELLS

� Autoroute all connections � Select autoroute all on P&R menuSelect autoroute all on P&R menu� Click “options” on prompt bar, and unselect “Expand Channels” (prevents pads from being moved)

� Add missing VDD/GND wires, if necessary� Autorouter might only route 1 VDD/GND wire, even if multiple VDD/GND pads

� Manually add others: Objects>Add>Path� VDD/GND net width = 50� VDD/GND net vias = 6x6 (copy an existing via)

Page 49: VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Toolsnelson/courses/elec4200/ClassMaterial/NelsonF... · VLSI/FPGA Design and Test Flow with Mentor Graphics CAD Tools ...

Modulo-7 counter in pad frame