Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

dsd13-gos / dsd-14=pdk / Lect09_10

.pdf
Скачиваний:
115
Добавлен:
05.06.2015
Размер:
278.81 Кб
Скачать

The Edit Component Display Options

Form

The cdsParam( ) labels (usually placed on the layer annotate drawing) display information about parameter values or backannotated parameter values. Three labels are usually generated during automatic symbol generation, but you can define additional labels. The only requirement for the parameter labels is that they are sequential, starting with 1 if they are numbers. In the Edit Component Display Options form, you use the Parameter Labels settings to control the cdsParam labels.

Note: cdsParam( ) can also take parameter names. Therefore, as cdsParam(n), you can use cdsParam(s_paramName), for example, cdsParam(’pm), where pm is a parameter name. You must declare the parameter names in the paramLabelSet field of the Edit Component CDF form. The cdsParam points to those parameters in an orderly manner. If you change the order of those parameters, the displayed values will be changed.

51

CADENCE CONFIDENTIAL

The Edit Component Display Options

Form

52

CADENCE CONFIDENTIAL

Adding Labels

Symbol labels display assorted textual information. You can add one of three types of labels to your symbol:

Normal labels, which have fixed text

[@partName]

NLP labels, which have expressions that the editor evaluates to determine the value

[@instanceName]

IL labels, which have expressions that are evaluated by the SKILL language to determine the value

ilInst~>master~>libName

53

CADENCE CONFIDENTIAL

Other CDF Information

You use the last section of the Edit Component CDF form to specify the sizes of input fields and the initialization and closing procedures to be executed when a new component is instantiated.

54

CADENCE CONFIDENTIAL

Other CDF Information

The first four fields let you control the size of parameters on an instantiation form (such as the Add Component or Edit Properties forms). These fields do not affect the display in the Edit Component CDF form.

The last two fields let you apply procedures to the CDF. These procedures are performed when you instantiate the component or when you change the component’s parameters.

formInitProc lets you specify an optional procedure (a Cadence® SKILL language routine that you provide) that executes automatically when the component is placed on an instantiation form.

doneProc lets you specify an optional procedure (a SKILL routine that you provide) that executes after you change any parameter on the instantiation form.

55

CADENCE CONFIDENTIAL

Other CDF Information

For example, you might enter an initialization procedure to reset all NFET parameters to their defaults each time the component is displayed on a form. (This is only an example. It is not practical to reset parameters to their default values every time you return to the Edit Properties form.)

Enter the procedure name, setDefaults, in the formInitProc field. This procedure takes only one argument, cdfDataId, which is used to point to the parameters and values of the associated component.

56

CADENCE CONFIDENTIAL

Other CDF Information

• procedure(setDefaults(cdfDataId)

;used as formInitProc to set all nfet values to the ;default values as form is entered cdfDataId->w->value = cdfDataId->w->defValue cdfDataId->width->value = cdfDataId->width->defValue cdfDataId->l->value = cdfDataId->l->defValue

cdfDataId->length->value=cdfDataId->length->defValue )

An initialization procedure runs every time the form is updated. The procedure runs when you change a value on the component (a callback), and when you point to a new component.

57

CADENCE CONFIDENTIAL

Other CDF Information

A doneProc procedure might recalculate the simulation parameters every time the instance changes.

procedure(calcSimParams(cellId) cdfgData = cdfGetInstCDF(cellId)

tmp=cdfParseFloatString(cdfgData->w->value) cdfgData->ad->value=sprintf(s "%g" (tmp * 7.0 * 1e-6)) cdfgData->as->value=sprintf(s "%g" (tmp * 7.0 * 1e-6)) cdfgData->pd->value=sprintf(s "%g" ((tmp + 7e-6) * 2)) cdfgData->ps->value=sprintf(s "%g" ((tmp + 7e-6) * 2)) )

58

CADENCE CONFIDENTIAL

Dumping CDF Description

You can save a CDF description to a file and edit it using the following functions.

cdfDump

cdfDump(t_libName t_fileName

[?cellName t_cellName]

[?level s_level]

[?edit b_edit] )

=> t / nil

Dumps the CDF description for t_libName and t_cellName into t_fileName. If t_cellName is not specified, then only the library CDF description is dumped. s_level is either ‘base or ‘user, with ‘base as the default value. If b_edit is t, a text editor window is automatically opened on t_fileName. The default is no editor.

59

CADENCE CONFIDENTIAL

Dumping CDF Description

You can save a CDF description to a file and edit it using the following functions.

cdfDumpAll

cdfDumpAll(t_libName t_fileName

[?level s_level]

[?edit b_edit] )

=> t / nil

Dumps the CDF description for t_libName and all its cells into t_fileName. s_level is either ‘base or ‘user, with ‘base as the default value. If b_edit is t, a text editor window is automatically opened on t_fileName. The default is no editor.

60

CADENCE CONFIDENTIAL

Соседние файлы в папке dsd-14=pdk