Digital block implementation methodology for a 130nm process

30
Digital block implementation methodology for a 130nm process Microelecronics User Group meeting TWEPP 2009 – Paris Sandro Bonacini CERN PH/ESE [email protected]

description

Digital block implementation methodology for a 130nm process. Microelecronics User Group meeting TWEPP 2009 – Paris Sandro Bonacini CERN PH/ESE [email protected]. Motivation. Implementation of digital blocks for small (~200 kgate) logic cores for digital or mixed signal ASICs - PowerPoint PPT Presentation

Transcript of Digital block implementation methodology for a 130nm process

Page 1: Digital block implementation methodology for a 130nm process

Digital block implementation methodology for a 130nm processMicroelecronics User Group meeting

TWEPP 2009 – Paris

Sandro BonaciniCERN PH/ESE

[email protected]

Page 2: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Motivation

Implementation of digital blocks for small (~200 kgate) logic cores for digital or mixed signal ASICs

Using the IBM 130 nm standard cell library Separate substrate/ground and n-well/VDD biasing for mixed

signal designs

Defined methodology compatible with mixed signal design flows Open Access based

Page 3: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Design flow components Tools

Virtuoso 6.1.3 (OA based) SOC Encounter 7.1 Conformal 7.2 EXT 7.1.2 (QRC) Assura 3.2 Calibre 2008.3

Design Kits IBM CMOS8RF DM design kit V1.6

3 thin, 2 thick, 3 RF metals. IBM CMOS8RF LM design kit V1.6

6 thin, 2 thick metals.

Page 4: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Digital design flowRTL synthesis

Floorplanning& power routing

Placement

Congestion analysis

Logical Equivalence

Checking

Timing optimization

SignoffRC extraction

Timing analysis

DRC

DFM

LVS

Logical Equivalence

CheckingClock tree synthesis

Routing

Timing optimization

Timing optimization

Tape-out

Automated task

User task

Page 5: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

RTL compilerscript [.tcl]

Abstract layoutDefinition [.lef]

Capacitancetables [.CapTbl]

Max timingLiberty libraries

[.lib]

Synthesis

RTL synthesis

RTL description[.v] / [.vhd]

Timingconstraints

[.sdc]

Mapped netlist[.v]

Conformal script[.lec]

Synthesis,mapping andtiming reports

Timing constraints: Clock definitions Input delays,

fanout, transition, etc.

Output load, etc.

Page 6: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

RTL Compiler [rc]

Page 7: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Digital design flowRTL synthesis

Floorplanning& power routing

Placement

Congestion analysis

Logical Equivalence

Checking

Timing optimization

SignoffRC extraction

Timing analysis

DRC

DFM

LVS

Logical Equivalence

CheckingClock tree synthesis

Routing

Timing optimization

Timing optimization

Tape-out

Automated task

User task

Logical Equivalence

Checking

Page 8: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Logic Equivalence Checking

Tool: Conformal

Logical Equivalence

Checking

Max timingLiberty libraries

[.lib]

Mapped netlist[.v]

Conformal script[.lec]

RTL description[.v] / [.vhd]

LECreport

Page 9: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Synthesized netlist

User RTL code

Page 10: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Digital design flowRTL synthesis

Floorplanning& power routing

Placement

Congestion analysis

Logical Equivalence

Checking

Timing optimization

SignoffRC extraction

Timing analysis

DRC

DFM

LVS

Logical Equivalence

CheckingClock tree synthesis

Routing

Timing optimization

Timing optimization

Tape-out

Automated task

User task

Floorplanning& power routing

Page 11: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Tool: Encounter

Design import and floorplanning

Mapped netlist[.v]

RTL description[.v] / [.vhd]

Open AccessStandard cells

library [.oa]

QX tech file[.tch]

Capacitancetables [.CapTbl]

Min/Max timingLiberty libraries

[.lib]

Open AccessFloorplanned

Design[.oa]

ReportsFloorplanning

& power routing

Page 12: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Design import

Page 13: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Floorplanning & power routing

Define Chip/core size target area utilization I/O placement module placement in

case of TMR or other special constraints

Power planning/routing Core/block rings and

stripes

Page 14: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Digital design flowRTL synthesis

Floorplanning& power routing

Placement

Congestion analysis

Logical Equivalence

Checking

Timing optimization

SignoffRC extraction

Timing analysis

DRC

DFM

LVS

Logical Equivalence

CheckingClock tree synthesis

Routing

Timing optimization

Timing optimization

Tape-out

Automated task

User task

Placement

Page 15: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Placement

Encounter command file

Placement

Scan-chain reorder

Open AccessFloorplannedDesign [.oa]

Connect cells power/ground

Add tap cells

Open AccessPlaced

Design [.oa]

Reports

Page 16: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Power/ground connections

Placement

Tap cellsStandard cells

Page 17: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Digital design flowRTL synthesis

Floorplanning& power routing

Placement

Congestion analysis

Logical Equivalence

Checking

Timing optimization

SignoffRC extraction

Timing analysis

DRC

DFM

LVS

Logical Equivalence

CheckingClock tree synthesis

Routing

Timing optimization

Timing optimization

Tape-out

Automated task

User task

Congestion analysis

Page 18: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Congestion analysis

Use Encounter Trialroute to estimate congested areas

Manually add placement partial blockage

Change position of I/Os or blocks

…or increase number of routing metals

Open AccessPlaced

Design [.oa]

Congestion analysis

Placement optimization

Open AccessPlaced

Design [.oa]

Page 19: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Digital design flowRTL synthesis

Floorplanning& power routing

Placement

Congestion analysis

Logical Equivalence

Checking

Timing optimization

SignoffRC extraction

Timing analysis

DRC

DFM

LVS

Logical Equivalence

CheckingClock tree synthesis

Routing

Timing optimization

Timing optimization

Tape-out

Automated task

User task

Timing optimization

Clock tree synthesis

Routing

Timing optimization

Timing optimization

Page 20: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Automatic P&R steps

Timing optimization

Open AccessPlaced

Design [.oa]

Clock tree synthesis

Routing

Open AccessRouted

Design [.oa]

Timing optimization

Timing optimization

Reports

Page 21: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Clock tree synthesis & signal routing

Page 22: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Digital design flowRTL synthesis

Floorplanning& power routing

Placement

Congestion analysis

Logical Equivalence

Checking

Timing optimization

SignoffRC extraction

Timing analysis

DRC

DFM

LVS

Logical Equivalence

CheckingClock tree synthesis

Routing

Timing optimization

Timing optimization

Tape-out

Automated task

User task

SignoffRC extraction

Timing analysis

DFM

Page 23: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Design for manufacturing

SignoffRC extraction

Cells & metal fill

Open AccessRouted

Design [.oa]

Antenna fix

Via optimization

Timing analysis

Open AccessFinal

Design [.oa]

Signoff timingreport

Delay file[.sdf]

Final netlist[.v]

Signal integrity analysis

Page 24: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Antenna fix

Re-routes long nets

Inserts tie-down diodes

Page 25: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Via optimization

Page 26: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Cells & metal fill

Page 27: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Timing closure

If signoff timing analysis reports violations increase buffer sizes add extra buffers reroute signals check constraints exploit useful skew annotate native post-route RC

extraction tool re-run optimization

Page 28: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Digital design flowRTL synthesis

Floorplanning& power routing

Placement

Congestion analysis

Logical Equivalence

Checking

Timing optimization

SignoffRC extraction

Timing analysis

DRC

DFM

LVS

Logical Equivalence

CheckingClock tree synthesis

Routing

Timing optimization

Timing optimization

Tape-out

Automated task

User task

DRC

LVS

Logical Equivalence

Checking

Page 29: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Virtuoso

OA design is present in Virtuoso Easily

included in a mixed-signal chip

Page 30: Digital block implementation methodology for a 130nm process

Sandro Bonacini - PH/ESE - [email protected]

Thank you…

Design flow …is soon to be available

Implementation of digital blocks Using the IBM 130 nm standard cell library Defined methodology compatible with mixed signal design

flows

Open Access based