View Library Table of Contents Previous Next Open PDF to print book Email Comments Help Using Documentation Shut Down Cadence Documentation Server


DEF 5.8 C/C++ Programming Interface (Open Licensing Program)


5 

DEF Writer Callback Routines

You can use the Cadence® Design Exchange Format (DEF) writer with callback routines, or you can call one writer function at a time.

When you use callback routines, the writer creates a DEF file in the sequence shown in the following table. The writer also checks which sections are required for the file. If you do not provide a callback for a required section, the writer uses a default routine. If no default routine is available for a required section, the writer generates an error message.

Section

Required

Default Available

Version

yes

yes

Bus Bit Characters

yes

yes

Divider

yes

yes

Design

yes

no

Technology

no

no

Units

no

no

History

no

no

Property Definition

no

no

Die Area

no

no

Rows

no

no

Tracks

no

no

Gcell Grid

no

no

Vias

no

no

Regions

no

no

Components

yes

no

Pins

no

no

Pin Properties

no

no

Special Nets

no

no

Nets

yes

no

Scan chains

no

no

Groups

no

no

Extensions

no

no

Design End

yes

no

Callback Function Format

All callback functions use the following format.

int UserCallbackFunctions(
defwCallbackType_e callBackType,
defiUserData data)

Callback Type

The callBackType argument is a list of objects that contains a unique number assignment for each callback from the parser. This list allows you to use the same callback routine for different types of DEF data.

User Data

The data argument is a four-byte data item that you set. The DEF writer contains only user data. The user data is most often set to a pointer to the design data so that it can be passed to the routines.

Callback Types and Setting Routines

The following table lists the DEF writer callback-setting routines and the associated callback types.

DEF Information

 

Setting Routine

Callback Types

Blockages

void defwSetBlockageCbk
(defwVoidCbkFnType)

defwBlockageCbkType

Bus Bit Characters

void defwSetBusBitCbk
(
defwVoidCbkFnType)

defwBusBitCbkType

Components

void defwSetComponentCbk
(defwVoidCbkFnType)

defwComponentCbkType

Design

void defwSetDesignCbk
(defwVoidCbkFnType)

defwDesignCbkType

Design End

void defwSetDesignEndCbk
(defwVoidCbkFnType)

defwDesignEndCbkType

Die Area

void defwSetDieAreaCbk
(defwVoidCbkFnType)

defwDieAreaCbkType

Divider

void defwSetDividerCbk
(defwVoidCbkFnType)

defwDividerCbkType

Extensions

void defwSetExtCbk
(defwVoidCbkFnType)

defwExtCbkType

Gcell Grid

void defwSetGcellGridCbk
(defwVoidCbkFnType)

defwGcellGridCbkType

Groups

void defwSetGroupCbk
(defwVoidFnType)

defwGroupCbkType

History

void defwSetHistoryCbk
(defwVoidCbkFnType)

defwHistoryCbkType

Nets

void defwSetNetCbk
(defwVoidCbkFnType)

defwNetCbkType

Pins

void defwSetPinCbk
(defwVoidCbkFnType)

defwPinCbkType

Pin Properties

void defwSetPinPropCbk
(defwVoidCbkFnType)

defwPinPropCbkType

Property Definitions

void defwSetPropDefCbk
(defwVoidCbkFnType)

defwPropDefCbkType

Regions

void defwSetRegionCbk
(defwVoidCbkFnType)

defwRegionCbkType

Rows

void defwSetRowCbk
(defwVoidCbkFnType)

defwRowCbkType

Special Nets

void defwSetSNetCbk
(defwVoidCbkFnType)

defwSNetCbkType

Scan Chains

void defwSetScanchainCbk
(defwVoidCbkFnType)

defwScanchainCbkType

Technology

void defwSetTechnologyCbk
(defwVoidCbkFnType)

defwTechCbkType

Tracks

void defwSetTrackCbk
(defwVoidCbkFnType)

defwTrackCbkType

Units

void defwSetUnitsCbk
(defwVoidCbkFnType)

defwUnitsCbkType

Version

void defwSetVersionCbk
(defwVoidCbkFnType)

defwVersionCbkType

Vias

void defwSetViaCbk
(defwVoidCbkFnType)

defwViaCbkType

 


Return to top of page

View Library Table of Contents Previous Next Open PDF to print book Email Comments Help Using Documentation Shut Down Cadence Documentation Server

For support, see Cadence Online Support service.

Copyright © 2016, Cadence Design Systems, Inc.
All rights reserved.