vlsi ppts1-1

Upload: naveensilveri

Post on 14-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 vlsi ppts1-1

    1/63

    SOC Encounter v4.1

    Speaker: IWei Lai

    AdvisorTzi-Dar ChiuehMar. 14, 2005

  • 7/29/2019 vlsi ppts1-1

    2/63

    2

    Outline

    Introduction of SOCE v4.1

    New Functions inside SOCE v4.1

    Design Flow Conclusion

    Reference

  • 7/29/2019 vlsi ppts1-1

    3/63

    3

    Introduction of SOCE v4.1

  • 7/29/2019 vlsi ppts1-1

    4/63

    4

    Introduction of SOCE v4.1(1/2)

    SOC EncounterTM is a EDA tool develop by

    Cadence

    From Gate level to GDSII

    Support 50+ million gate design at 180nm and

    below

  • 7/29/2019 vlsi ppts1-1

    5/63

    5

    SOCE is a platform and integrates

    First Encounter Ultra

    CeltIC

    NanoRoute

    SignalStorm NDC

    VoltageStorm

    Fire& Ice QXC

    Introduction of SOCE v4.1 (2/2)

  • 7/29/2019 vlsi ppts1-1

    6/63

    6

    New Functions inside SOCE v4.1

  • 7/29/2019 vlsi ppts1-1

    7/63

    7

    Design Flow

    Route

    Stramout

    *CTS synthesis

    *.gds*.DEF

    Timing analysis

    power analysis

    SVP

    Import data

    Floorplan

    powerplan

    placementTiming Optimization

    Library

    User data

  • 7/29/2019 vlsi ppts1-1

    8/63

    8

    Silicon Virtual Prototype

    Providing quick feedback on the design

    performance

    Use Trial Route to build up SVP

    Designer can perform

    timing analysis (SignalStorm NDC)

    power analysis (VoltageStorm)

    immediately after each step

  • 7/29/2019 vlsi ppts1-1

    9/63

    9

    Trial Route

    Quick routing for estimating routing-related

    congestion and capacitance values

    Does not guarantee DRC-clean routing

    Does not perform signal integrity analysis

    Use WRoute or NRoute for final routing

  • 7/29/2019 vlsi ppts1-1

    10/63

    10

    NanoRoute(1/2)

    Nearnano effect

    Wire delay

    IR drop and SI effect

    Suitable for

    .13 technology

    Chip more than 300K instances

  • 7/29/2019 vlsi ppts1-1

    11/63

    11

    NanoRoute(2/2)

    Supports

    Timing issue

    Signal integrity

    Manufacturing Awareness

    multi threading

    Super threading

  • 7/29/2019 vlsi ppts1-1

    12/63

    12

    Timing Optimization

    Optimizing Correct DRVs

    Reduce total negative slack

    Setup & hold time

    Skew optimization *

    Optimizing by using techniques Adding buffers

    Resizing gates

    Restructuring the netlist Remapping logics

    Swapping pins

  • 7/29/2019 vlsi ppts1-1

    13/63

    13

    Design Flow (Encounter V4.1)

  • 7/29/2019 vlsi ppts1-1

    14/63

    14

    Requiring Data

    Library

    Physical Library(*.LEF)

    Timing Library(*.LIB)

    Capacitance Table Celtic Library

    Fire&Ice/VoltageStorm Library

    User Data

    Gate-Level netlist(*.v)

    Timing constraints(*.sdc)

    IO constraint(*.ioc)TCL format

    Operation condition

    Pin type

    Path Delay

    Timing constraint

  • 7/29/2019 vlsi ppts1-1

    15/63

    15

    Environment Setting

    Add

    source /usr/cadence/SOC/CIC/soc.csh

    source /usr/cadence/SOC/CIC/license.csh

    in your .cshrc

    Start SOC Encounter

    unix%encounter

    (dont run in background mode)

  • 7/29/2019 vlsi ppts1-1

    16/63

    16

    Design Flow

    Route

    Stramout

    *CT synthesis

    *.gds

    *.DEF

    Import data

    Floorplan

    powerplan

    placement

    Library

    User data

  • 7/29/2019 vlsi ppts1-1

    17/63

    17

    GUI

    Design->Design Import

  • 7/29/2019 vlsi ppts1-1

    18/63

    18

    Import Design(1/3)

  • 7/29/2019 vlsi ppts1-1

    19/63

    19

    Import Design(2/3)

    Global nets

  • 7/29/2019 vlsi ppts1-1

    20/63

    20

    *Import Design(3/3)

    For more accuracyRC extraction (optional)

    For crosstalk analysis

    (optional)

    Save these steps into *.conf

  • 7/29/2019 vlsi ppts1-1

    21/63

    21

    Save/Restore design

    The temporal design can be save or restore at

    any point during the flow

    *.enc

  • 7/29/2019 vlsi ppts1-1

    22/63

    22

    Our design hard macro

    Flight lines

    Initial Floorplan view

    Floorplan->Global Net Connections

  • 7/29/2019 vlsi ppts1-1

    23/63

    23

    Global Connect

    1a. VDD(VSS)

    2. VDD(VSS)

    3. Add to List

    1b. VDD(VSS)

    1c.Connect 1b1(1b0) toGlobal nets

    4. Repeat 1a,b,c~3 six times

  • 7/29/2019 vlsi ppts1-1

    24/63

    24

    FloorPlan(1/3)

    Row spacing >1Row spacing =0

  • 7/29/2019 vlsi ppts1-1

    25/63

    25

    Floorplan(2/3)

    Place & *Place hard marco

    1. Floorplan->Place Blocks/Modules->Place

    2. *Select Place hard macros inside modules

    3. Use

    1. Floorplan->Edit Floorplan->Flip/Rotate Instances

    2.

    4. Floorplan->Set Block Placement Status

    Set block state pre-state

  • 7/29/2019 vlsi ppts1-1

    26/63

    26

    Floorplan(3/3) move the block

    Floorplan->Edit Block Halo

    initial move&rotate add block halo

  • 7/29/2019 vlsi ppts1-1

    27/63

    27

    Powerplan(1/5)-Add Power Ring

    Floorplan->Power

    planning->Add Rings

    Auto adjust spacing

  • 7/29/2019 vlsi ppts1-1

    28/63

    28

    Powerplan(2/5) -Add Power Ring

    The number of thin rings

    Use Wire group prevent

    slot error

    Route->SRoute, SelectPad pins

    connecting power ring to

    power pad

  • 7/29/2019 vlsi ppts1-1

    29/63

    29

    Powerplan(3/5)-interleave

    Interleaving w/o interleaving

  • 7/29/2019 vlsi ppts1-1

    30/63

    30

    Powerplan(4/5)-add power stripe

    distance between adjacent stripe

    Floorplan ->Power Planning

    -> Add Stripes

    Select Omit stripes inside

    block rings at Advanced

    tab

    Use wire group, too

    Route>SRoute, selectStripes(unconnectd)

  • 7/29/2019 vlsi ppts1-1

    31/63

    31

    Powerplan(5/5)-add power stripe

  • 7/29/2019 vlsi ppts1-1

    32/63

    32

    Placement

    *Specify ScanChain First

    Place->Place select Medium effort or High

    effort,

  • 7/29/2019 vlsi ppts1-1

    33/63

    33

    *CT synthesis(1/3)

    1. Clock->Create Clock Tree Spec

    2. Clock->Specify Clock Tree

  • 7/29/2019 vlsi ppts1-1

    34/63

    34

    *CT synthesis(2/3)

    3. Clock->Synthesize Clock Tree

    4. Clock->Display->Display Clock Tree

    The color means Phase delayMax/min path

    clk pad

  • 7/29/2019 vlsi ppts1-1

    35/63

    35

    *CT synthesis(3/3)

    Clock->Clock Tree Browser...

    open Clock Tree Browser form

    Show the detail clock info. and modify the clock

    tree

  • 7/29/2019 vlsi ppts1-1

    36/63

    36

    Route(1/4)

    - power route & Add Filler

    Route->SRouteselect Standard Cell pins

    Key in addIOFiller cell prefix PFEED

    at command line Fillercellname

    PFEED ex: PFEED50 PFEED5 PFEED01

    The number means the size of filler cell

  • 7/29/2019 vlsi ppts1-1

    37/63

    37

    Route(2/4)- nRoute

    Route->nRoute

    assign characteristics to special nets

  • 7/29/2019 vlsi ppts1-1

    38/63

    38

    Route(3/4)-nRoute

    SuperThreading

    Use .rhosts to get the remote control

    Global route

    detail route

    Final report

  • 7/29/2019 vlsi ppts1-1

    39/63

    39

    Route(4/4)- Add Core Filler

    Place->Filler->Add Filler

    Fillers are placed from large to small

  • 7/29/2019 vlsi ppts1-1

    40/63

    40

    Final view

  • 7/29/2019 vlsi ppts1-1

    41/63

    41

    Streamout

    Design->Save->GDS

    Design->Save->DEF

  • 7/29/2019 vlsi ppts1-1

    42/63

    42

    Design Flow

    Timing analysis

    power analysis

    SVP

    Timing Optimization

  • 7/29/2019 vlsi ppts1-1

    43/63

    43

    SVP

    Build up SVP before t/p analysis

    Place->Place, Select Prototyping

    Route->Trial Route, select Prototyping

    Physical view Amoeba view

  • 7/29/2019 vlsi ppts1-1

    44/63

    44

    Timing Analysis(1/2)

    1. Timing->Extract RC

    2. Timing->Timing Analysis

    3. Timing->Timing Debug-

    >Slack Browser

  • 7/29/2019 vlsi ppts1-1

    45/63

    45

    Timing Analysis(2/2)

    Slack browser

  • 7/29/2019 vlsi ppts1-1

    46/63

    46

    Power Analysis(1/4)

    1. Timing->Extract RC

    2. Power->Edit Pad Location

  • 7/29/2019 vlsi ppts1-1

    47/63

    47

    Power Analysis(2/4)

    3. Power->Edit Net Toggle

    Probability

  • 7/29/2019 vlsi ppts1-1

    48/63

    48

    Power analysis(3/4)

    4. Power->Power Analysis->

    Statistical

    VDD or VSS

  • 7/29/2019 vlsi ppts1-1

    49/63

    49

    Power analysis(4/4)

    Read Pa.report

    Power->Display->Display Rail analysis Result

    IR drop EM

  • 7/29/2019 vlsi ppts1-1

    50/63

    50

    Timing Optimization

    Timing->Optimization

  • 7/29/2019 vlsi ppts1-1

    51/63

    51

    Suggested Design Flow

    Route

    Stramout

    *CTS synthesis

    *.gds*.DEF

    Timing analysis

    power analysis

    SVP

    Import data

    Floorplan

    powerplan

    placementTiming Optimization

    Library

    User data

  • 7/29/2019 vlsi ppts1-1

    52/63

    52

    Conclusion

    SOC Encounter is an integrated platform for

    near-nano and nanometer digital IC design

    SVP can be used to analyze and optimize the

    design immediately after step

    Design flow of SOC Encounter is introduced

  • 7/29/2019 vlsi ppts1-1

    53/63

    53

    Reference

    CIC training program(A106) Cell-Based IC Physical Design andVerification with SOC Encounter, Jan. 2005

    www.cadence.com

    Cadence, EncounterTMUser Guide, Product Version 4.1, June

    2004 Cadence, Whats New in EncounterTM, Product Version 4.1,

    June 2004

    Cadence, EncounterTM Known Problem and Solutions ,

    Product Version 4.1, June 2004

    Cadence, EncounterTM Database Access Command Reference,Product Version 4.1, June 2004

    Trouble shooting(1)

    http://www.cadence.com/http://www.cadence.com/
  • 7/29/2019 vlsi ppts1-1

    54/63

    54

    Trouble shooting(1)

    -How to modified layout

    Change the width

    Hotkey e call the Edit Route Form

  • 7/29/2019 vlsi ppts1-1

    55/63

    55

    NanoRoute(2/3)

    Global routing

    Breaking the design into global cell (gcell)

    Minimizing congestion and the number of gcell that

    have more nets assigned than routing sourcesavailable

    Detail routing

    Dividing the design into switch boxes (SBoxes)

    Search and repair routing

  • 7/29/2019 vlsi ppts1-1

    56/63

    56

    Footprint

    IPO

    RC extraction

    Net toggle prob.

    Trail routenroute

    Prototyping low effort medium effort

  • 7/29/2019 vlsi ppts1-1

    57/63

    57

    Timing Optimization(1/2)

    Three categories

    Pre-CTS Optimization

    Post-CTS Optimization

    Post-Route Optimization

  • 7/29/2019 vlsi ppts1-1

    58/63

    58

    Timing Library

    Operating condition

    Pin type

    Path Delay

    Timing constraint

  • 7/29/2019 vlsi ppts1-1

    59/63

    59

    Timing constraint

    Create clock

    Input delay

    Output delay

    Input drive

    Output loading

  • 7/29/2019 vlsi ppts1-1

    60/63

    60

    I/O constraint

    Pin name

    Pad

    Name

    Position

    Length

    spacing

  • 7/29/2019 vlsi ppts1-1

    61/63

    61

    Import Design(1/4)

    Import verilog file

    Top module name

    Import LEF file

    Import LIB file? Why max->slow->setup time

    Footprint(optional)

    I/O constraint (optional)

  • 7/29/2019 vlsi ppts1-1

    62/63

    62

    Import Design(2/4)

    *.tbl

    timing constraint

    h

  • 7/29/2019 vlsi ppts1-1

    63/63

    *CTS synthesis(2/4)

    step 1

    step 2, push this button thenclick the synchronous pins