OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative...

32
Silicon Integration Initiative Innovation Through Collaboration OpenPDK Symbol, CDF, and Callback Working Group Rich Morse Marketing & EDA Alliances Mgr. SpringSoft June 6, 2011

Transcript of OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative...

Page 1: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

OpenPDK Symbol, CDF, and Callback Working Group

Rich MorseMarketing & EDA Alliances Mgr.

SpringSoft

June 6, 2011

Page 2: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Overview

• The SCC working group is focused on developing specifications for standard symbol set; parameter definition; simulation and verification interface; and parameter checking and relationships (callbacks).

• Includes members from Cadence, IBM, Intel, Mentor, National Semiconductor, Springsoft, ST, and Synopsys.

• In January, the working group divided into 4 sub-groups to focus on spec development.

6/6/2011 2

Page 3: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Leadership

• Chairman - Barry Nelson, Cadence• Symbols – Rich Morse, SpringSoft• Parameters - Li-Chien Ting, Cadence• Simulation – Kristin Liu, National Semiconductor• Callbacks – Ted Paone, Cadence

6/6/2011 3

Page 4: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

SYMBOLS

6/6/2011 4

Page 5: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Symbols Working Group

• Objectives– Create a method and specification whereby symbols

can be portable among EDA tools, design databases and technologies

• Symbol elements will appear and function the same in all tools when the specification is followed (i.e. Symbol graphic, pin locations, origin, symbol boundary)

– Use OA symbols as the reference implementation• Expand the existing symbol library

6/6/2011 5

Page 6: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Taking Inventory

• 63 existing symbols in the Si2 library

– Retain legacy library

• 23 source symbols donated by SpringSoft

• Planned ESD symbol donation from IBM

• Symbol donation from (your name here)

6/6/2011 6

Page 7: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Flow

Initial assumption:

6/6/2011 7

YAML, XML or EDIF

Description

OA Reference Library

Specification

Non‐OA Library

Non‐OA Library

Non‐OA Library

Page 8: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Flow

6/6/2011 8

YAMLDescription

YAML

SVG

HTM

L

Generation Scripts

OA Reference Library

Non‐OA Library

Non‐OA Library

Non‐OA Library

Existing OA Library

+ Contributions

Specification

Page 9: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

YAML

6/6/2011 9

- shape: "rect"layer: "instance"purpose: "drawing"box: [0.000000, -0.187500, 0.250000, 0.187500]

- shape: "rect"layer: "pin"

- shape: "evalText"layer: "annotate"purpose: "drawing8"expression: "cdsTerm(\"S\")"origin: [0.218750, -0.181250]alignment: "lowerRight"orient: "R0"font: "stick"height: 0.050000overbar: falsevisible: truedrafting: true………

YAML:Human readableConcise Easy to defineXML‐based

Page 10: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

SVG Reference Graphics

6/6/2011 10

• Generated automatically from OA Symbols

Page 11: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

HTML

6/6/2011 11

Center of pinsInstance boundary

Symbol origin

• Symbol drawings are well known & don’t need further standardization

• Interoperability and portability depend on 3 basic elements: Pin locations, symbol origin & instance bounding box

Page 12: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

What Remains to Be Done

• Write the specification document

– Accumulate the generated data

– Describe the basic rules

• Solicit more donations to increase the library

• Test symbol generation in a non-OA

environment

6/6/2011 12

Page 13: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

PARAMETERS

6/6/2011 13

Page 14: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Parameter Working Group

• Objectives– Standardize parameter data organization and

inheritance– Standardize parameter description attributes – Standardize parameter UI attributes– Using YAML as a language for parameter description

6/6/2011 14

Page 15: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Component Description Format (CDF)

• Container for parameters, callbacks and simulation interface information

• Can be specified at different design data levels

• Defined precedence order produces “effective CDF”

6/6/2011 15

Page 16: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

CDF Container

• CDF container refers to the full specification of a CDF at the library or cell level

• It contains specification for– Data callback for init and done– UI field sizes– Parameter and callback– Simulation interface– Parameter mapping– User property

6/6/2011 16

Page 17: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Parameter Definition• Key attributes of a parameter

– name– type

• “int”, “float”, “string”, “boolean”, “net-set”, “user”– default– value– choices

• Discrete set of possible values for the given type– parse-as

• Built in parser for “number”, “float”, “int”, “point list”, “layer-purpose-list”

• Custom parser for “user” type parameter– store-default– dont-save– use

6/6/2011 17

Page 18: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Parameter UI Attributes

• Parameter attributes for a UI based environment– prompt– unit

• “resistance”, “capacitance”, “inductance”, “conductance”, “time”, “frequency”, “power”, “power-DB”, “length-metric”, “length-English”, “angle”, “voltage”, “current”, “temperature”, “area-metric”, “area-English”

– ui-type• “int”, “float”, ”string”, “toggle”, “radio”, “cyclic”, “button”

– editable– display

6/6/2011 18

Page 19: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

YAML Example

cdf-parameters:

- name: modelprompt: "Device Model"type: stringdefault: "NMOS"display: falseeditable: false

- name: wprompt: "Channel Width"type: stringdefault: "1.00u"units: lengthmin: "0.35u"max: "10.00u"display: trueeditable: truecallback: "MOS_Validate()“

6/6/2011 19

netlisting:

mynetlister1:prop-map: {w: weff}term-map: {src: s, drn: d, gte: g, blk: b}term-order: [g, d, s, b]

mynetlister2:prefix: "M"term-map: {src: S, drn: D, gte: G, blk: B}term-order: [d, g, s, b]

Page 20: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

SIMULATION

6/6/2011 20

Page 21: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Simulation Information Working Group

• Objectives– Provide flexible and consistent mechanism to transfer

device properties to netlist– Standardize simulation information attributes– Use textual description for simulation information– Simplify user netlist procedure creation and

evaluation– Allow callbacks to manipulate simulation information

6/6/2011 21

Page 22: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Simulation Information Definition

6/6/2011 22

• Simulation information contained in CDF• Represents the device parameters and properties • Set determined by the target EDA simulation

netlister• Defined by the master CDF

• Information can be specified and stored at different design data levels

• Information executed with “effective” CDF• Information attributes to be standardized in the

oPDK standard

Page 23: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Simulation Information Content

6/6/2011 23

OPDK Standard

Simulation Information<netlistProcedure><terminalOrder><namePrefix><terminalMapping><parameterList><propertyMapping><parameterExpressionList><>

Simulation Information<netlistProcedure><terminalOrder><namePrefix><terminalMapping><parameterList><propertyMapping><parameterExpressionList><>

Simulation Information<netlist procedure><terminal order><name prefix><terminal mapping><parameter list><property mapping><parameter expression list><……>

• Standardized simulation information attributes and arguments

Device netlist

Device netlist

Device netlist

Key attributes Translation

Page 24: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Simulation Information Attributes• Support user customized netlist procedures with

standardized arguments• Based on the CDF callbacks

– Allow dynamic parameter list witho Default parameter listo Inclusive parameter listo Exclusive parameter list

– Change component name usingo Default component nameo Model name of different geometry or device structure type

– Able to re-order terminals to indicate device structure byo Default terminal ordero “Short” to remove the instance in the netlisto “Open” to assume a high impedance between the terminalso Customized with “list of paired terminals” for this action

– Standardized syntax of terminal mapping and parameter expression list

6/6/2011 24

Page 25: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

YAML

Simulation Information Syntax

• Textual description for simulation information - YAML

6/6/2011 25

Parameter

Property

View Information

Simulation Information

Simulation Information Input Files

Simulation Information<netlist procedure><terminal order><name prefix><terminal mapping><parameter list><property mapping><parameter expression list><……>

simulator: tool1procedure: noneparam-list:[w l finger m]term-order: [D G S B]prop-map: {w: weff}

simulator: tool2procedure: noneparam-list:[w l finger m]term-order: [D G S B]name-prefix: “X”

simulator: tool3procedure: noneparam-list:[w l finger m]term-order: [D G S B]term-map:

{D:d,G:g,S:s,B:b}

simulator: tool4procedure: lvsProcparam-list:[w l finger m]term-order: [D G S B]callbacl: “mosCB”

Page 26: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

CALLBACKS

6/6/2011 26

Page 27: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Callback Working Group

• Objectives– Create a method and specification so that a single

callback description can be portable among EDA tools, and design databases

– Extend the current callback mechanism to meet the needs of 21st century design requirements

– Support for interactive and non-interactive callback evaluation

– Simplify callback creation by specifying standard automatic callbacks for common data validation

– Standardize user callback creation and evaluation– Provide robust error handling

6/6/2011 27

Page 28: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Callback Evaluation

• Wide range of callback capabilities– Modify values and attributes of parameters– Updates to simulation interface information

• Callbacks evaluated on parameter value change– Not tied to interactive editor form– Order control for non-interactive operation

• User control for callback evaluation– Attributes control automatic and user callbacks

6/6/2011 28

Page 29: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Automatic Validation Callbacks

• Standardized data validation– Minimize need for user create callbacks– Check entered data against constraints– Constraints assigned as parameter attributes– Inclusive or exclusive checks

• min• max• range• grid snapping

– grid offset

6/6/2011 29

Page 30: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

Support for User Callbacks

• Standardized callback arguments• Example API support for CDF access*

– Get/set parameters and values– Access attributes

• Consistent error handling– On a CDF– On individual parameters

6/6/2011 30

*API’s are for exploratory purposes and are not part of the standard

Page 31: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

User Controlled Error Resolution

Reset value

Value entered

Autodata

validation

Usererror

handler?END

Usererror

handler

Error detected?

DataOK?

Userdata

callbackReset value END

Continue

No

No

No

Yes

Yes

Value entered

Autodata

validation

Usererror

handler

DataOK?

Userdata

callback

Reset value

ENDContinue

Errorinvoked

No

Yes

Consistent error handlingAutomatic validation User callbacks

Page 32: OpenPDK Symbol, CDF, and Callback Working Group · 2011-06-28 · Silicon Integration Initiative Innovation Through Collaboration Symbols Working Group • Objectives – Create a

Sili

con

Inte

grat

ion

Initi

ativ

e

Innovation Through Collaboration

THANK YOU!

6/14/2011 32