3
Technology File Controls
Technology file controls let you define data that can be used throughout the technology file.
This chapter contains the following topics:
- controls
- processNode
- techVersion
- techParams
- distanceMeasure
- viewTypeUnits
- mfgGridResolution
- refTechLibs
- processFamily
- fabricType
controls
controls()
Description
When specified, controls must be the first section in the technology file. Subsections that specify specific controls must be enclosed in this section.
Additionally, the controls section must be loaded only once, that is, a technology file must contain only one controls section. If multiple technology files are loaded by using the include statement, the controls section must be present only in the main technology file that refers to other technology files.
processNode
controls(
processNode( g_processNodeValue )
)
Description
Associates a process node setting with the technology database. The value is specified in user units, using an integer or a floating-point number. It is converted to database units by using the dbuPerUU from the maskLayout viewType.
The technology file compiler is updated to compile the new syntax. If conflicts are detected, compilation fails. The technology file dumper updates to dump out the new (local) attribute when set on a technology.
Arguments
|
The value is specified in user units, using an integer or a floating-point number. It is illegal to specify the value as |
Example
controls( processNode(0.02)
)
The value 0.02 is associated with the process node.
Related Topics
techVersion
controls(
techVersion( s_version )
)
Description
Specifies the technology file version.
Introduction to techVersion 1.0
Arguments
|
The currently supported technology file syntax version is " |
techVersion().Example
controls( techVersion("1.0")
)
The only allowed value is 1.0. The cdsVias are retained only if techVersion("1.0") is specified. If there is no techVersion section, it symbolizes a legacy IC6.1.4 ASCII technology file.
Related Topics
techParams
controls( techParams( (t_nameg_value) … )
)
Description
Defines parameters that can be used throughout the technology file. Once you have defined a parameter with techParams, you can invoke it wherever needed in your technology file, with the exception of table indexes, by specifying it with techParam( paramName ).
When you use the techParam() function in any section of the technology file, the technology file compiler makes an explicit reference to the controls section, instead of evaluating the expression and storing only the value. As a result, if, at a later date, you want to update the technology file functions that use a control parameter, you need to update the value of the parameter at one place.
When you dump the technology file, the control parameters, rather than the evaluated expressions, appear in the ASCII syntax. You can reverse this behavior with the techSetEvaluate SKILL function.
Arguments
Example
techParams(
; (name value)
(lambda 0.3 )
)
This example assigns a value of 0.3 to the parameter lambda. When you use the expression techParam("lambda") as a value in any technology file specification, the system uses the value stored for the parameter in this section. For example, the following specification sets the minSpacing constraint on Metal1 to 0.3.
spacings(minSpacing "Metal1" techParam("lambda"))
Related Topics
distanceMeasure
controls( distanceMeasure( ( 'euclidian | 'manhattan ) ) …
)
Description
Specifies Euclidian or Manhattan spacing as the default for all constraints in the technology file, without the selection being set explicitly for individual constraints. The default is 'euclidian.
Related Topics
viewTypeUnits
controls( viewTypeUnits( (t_viewTypet_userUnitn_dbuPerUU) … )
)
Description
Specifies the user units and database units per user unit for the specified view type. To apply a dbuPerUU value other than the default of 1000, this subsection must be specified before the mfgGridResolution subsection in the technology file.
Arguments
|
The view type, for example, |
|
|
The user unit to be used for the view type, for example, |
|
Example
viewTypeUnits( ( maskLayout "micron" 2000 ) ( schematic "inch" 160 ) ( schematicSymbol "inch" 160 ) ( netlist "inch" 160 ) ( hierDesign "_def_" 2000 )
) ;viewTypeUnits
hierDesign type dbuperUU is the same as the maskLayout type dbuPerUU in the techDB reference graph. The same policy applies to the userUnit attributes of maskLayout and hierDesign in the techDB reference graph.Related Topics
mfgGridResolution
controls( mfgGridResolution((g_value) )
)
Description
Specifies the manufacturing grid resolution; grid snapping must be a multiple of the specified value. The specified value applies to the entire design, except to specific layers that are assigned their own routing grid resolutions by the mfgResolutions constraint. This subsection must be placed after any viewTypeUnits specification in the technology file.
Arguments
Example
mfgGridResolution( (0.001000)
) ;mfgGridResolution
Sets the manufacturing grid resolution to 0.001000.
Related Topics
refTechLibs
controls(
refTechLibs(t_techLibName …)
)
Description
Specifies references to other technology libraries from the technology library defined by this ASCII technology file. The library list is an ordered list indicating the order of the referenced technology libraries in an incremental technology database graph.
For information about setting up ASCII technology files for incremental technology databases, see Virtuoso Technology Data User Guide.
Arguments
Example
refTechLibs("HVStdCells" "6MP&R" "90Core")
Specifies the technology libraries referenced by the technology library created by this ASCII technology file: HVStdCells, then 6MP&R, then 90Core.
Related Topics
processFamily
controls(
processFamily( t_processFamilyName )
)
Description
Associates a process family name with the technology database. This allows identification of technology databases that belong in the same graph, or, conversely, technology databases with different names that do not belong in the same graph. Technology databases without a process family specified can be used with any other technology database in a graph.
Arguments
|
The name of the process family. |
Example
processFamily("CMOS90")
Specifies that the technology database belongs to the CMOS90 process family, which is used, in this example, for CMOS90 design.
Related Topics
fabricType
controls(
fabricType ( t_fabricType )
)
Description
Specifies the fabric type of a technology database.
Arguments
Example
fabricType("package")
Specifies that the technology database has the fabric type package.
Related Topics
Return to top