You are on page 1of 3


The Component Description Format (CDF) describes the parameters and the attributes of
parameters of individual components and libraries of components. The CDF lets you create
and describe your own components. A CDF description assigns parameters and parameter
attributes to libraries and cells for many purposes:
Assigning parameter names and values
Allocating units and default values
Checking that values lie within specified ranges
Dynamically changing how parameters are displayed depending on predefined conditions
Executing a SKILL callback function whenever certain information is changed
The CDF gives you:
a single location for storing all component information so that applications can share and
reuse parts of the component description.
independence from applications and cellviews.
a graphical user interface (the Edit CDF form) for entering and editing component
strict checking so that tools do not need to check component data before using it.
basic units and scale factors that are common in electrical design.
a modular format, so that you can edit and update parts of a description.
a command to copy the CDF description of one component into another component.

Levels of CDF Data:

You can attach a CDF description to either a component or a library of components. When
you attach a description to a library, all components in the library inherit the description.
When you attach a description to a component, you actually attach the description to the cell.
Librarians usually create and maintain the CDF descriptions for components. Library users
see the effects of the descriptions as they use components from the library. However, you
might want to override parts of the default description. For example, you might want to
specify your own default values for CDF parameters. So that you can override the


scription, Cadence defines the following description levels:

The base-level CDF is the description that is permanently attached to a cell or library. When
the system reads in a cell or library, any base-level CDF attached to it is also read. The
creator of a base-level CDF must have write permission on the object to which the
description is being attached.
The user-level CDF is a user-specific overlay description on top of the base-level CDF for a
cell or a library (although the base-level does not have to exist). The system never saves a
user-level CDF, so you must save it to a file and reload this level on startup. You do not need
write permission to attach user-level CDF information to an object.
The effective-level CDF is an overlay of a user-level CDF description on top of a
corresponding base-level CDF description.
"Overlay" means "effectively replaces.A user cell value of 10,000 ohms for the resistor
parameter r takes the place of any base- or library-level value for r.

libId = ddGetObj("base")
cellId = ddGetObj(libId "res")
cdfDataId = cdfCreateBaseCellCDF(cellId)
cdfParamId = cdfCreateParam(cdfDataId

list("ideal" "thin film")