Product Documentation
Sample Parameterized Cells Installation and Reference
Product Version IC23.1, June 2023

2


Sample Parameterized Cells Reference

This chapter discusses the following:

Modifying Pcell Parameter Values

Once you have installed the sample Pcells, you can place instances of them in your layout and modify their parameters to suit your specifications. When you place an instance using the Create Instance form (choose Create – Instance), the system prompts you to enter values for a variety of parameters or to accept the defaults. You can modify an instance using the Edit Properties form (choose Edit – Properties) as well.

Each section in this chapter consists of a brief discussion of a sample Pcell and a description of its parameters as they appear in the Create Instance and Edit Properties forms. Each parameter entry contains information about the purpose and default value of the parameter. When appropriate, some entries also provide information about valid parameter values and examples of such values.

Default Values

During the installation, you assigned values to design rules and then saved them to the techParams subclass of the controls class of the technology file. The default values for many of the parameters of the sample Pcells are derived from these same values.

For instance, the gate length of the spcbentnmos device defaults to the minimum width of the poly layer (minWidth poly), which you specified during the installation. The values that you can specify for many of the parameters are bounded by these same technology file values.

spcbentnmos, spcbentpmos

The spcbentnmos device is an NMOS transistor with a bent-gate option, and the spcbentpmos device is the PMOS equivalent. The parameter Coordinate list allows you to modify the path of the gate by specifying the coordinates of the center of the gate.

This section discusses the spcbentnmos/spcbentpmos device parameters that appear in the Create Instance (choose Create – Instance) and Edit Properties (choose Edit – Properties) forms of the Virtuoso® layout editor. The default values for many of the parameters come from your technology file.

The spcbentpmos Device, Placed with Source and Drain Contacts, and Coordinate List Set to (0.0:0.0 10.0:0.0 10.0:3.0 20.0:3.0)

Parameters

Gate Width

Controls the width of the gate. When Coordinate list has values specified, Gate Width is derived from those values.

Valid Values: a number in meters, in engineering notation, greater than or equal to the value of minMosWidth

Example: 4e-6

Default: the value of minMosWidth

Gate Length

Controls the length of the gate.
Valid Values: a number in meters, in engineering notation, greater than or equal to the value of minWidth poly
Example: 6e-7
Default: the value of minWidth poly

Multiplication Factor

The Virtuoso layout accelerator (Virtuoso XL) supports the use of the multiplication factor (m-factor) as a parameter to define a one-to-many parallel relationship between a device in a schematic and multiple instances of the device in the layout. This parameter is intended for use at the schematic level; if you change the m-factor of a layout view, the system multiplies the width of the device by the specified factor.
Valid Values: a positive floating-point number
Default: 1

Coordinate list

Defines the X and Y coordinates of the gate path.
Valid Values: a list of X:Y coordinates
Example: (0.0:0.0 10.0:0.0 10.0:3.0 20.0:3.0)
Default: none (the gate is straight)

Source Contacts?

Adds source contacts. The Source Contact Position and Source Contact Coverage parameters appear when Source Contacts? is on.
Default: off

Drain Contacts?

Adds drain contacts. The Drain Contact Position and Drain Contact Coverage parameters appear when Drain Contacts? is on.
Default: off

Source Contact Position

Positions the contacts vertically within the source. When the contacts are not spread out evenly along the width of the source, you can shift the contacts toward the top, center, or bottom of the source, relative to the unrotated device.
Valid Values: Center, Top, or Bottom
Default: Center

Drain Contact Position

Positions the contacts vertically within the drain. When the contacts are not spread out evenly along the width of the drain, you can shift the contacts toward the top, center, or bottom of the drain, relative to the unrotated device.
Valid Values: Center, Top, or Bottom
Default: Center

Source Contact Coverage

Controls the percentage of the width of the source that the contacts cover. This lets you route other metal lines across the device without connecting them to it electrically.
Valid Values: 10 to 100
Default: 100

Drain Contact Coverage

Controls the percentage of the width of the drain that the contacts cover. This lets you route other metal lines across the device without connecting them to it electrically.
Valid Values: 10 to 100
Default: 100

Bulk Node Connection(s)

Connects the bulk-substrate to source or drain.
Valid Values: S for source, D for drain, or blank for neither
Default: S

spccap

The spccap device is an array capacitor. You can change the aspect ratio of the array by adjusting the number of rows and columns. You can round up the unit capacitance value or add an extra capacitor to the array to achieve the precise required capacitance value.

This section discusses the spccap device parameters that appear in the Create Instance (choose Create – Instance) and Edit Properties (choose Edit – Properties) forms of the Virtuoso layout editor. The default values for many of the parameters come from your technology file.

The spccap Device, Placed in a Four-Column Array Layout

Parameters

Capacitance

Controls the required capacitance.

Valid Values: a number in farads, in engineering notation, greater than or equal to the value of minCap and less than or equal to the value of maxCap

Example: 1e-4
Default: the value of minCap

Actual Capacitance

    Specifies the total capacitance of all the unit capacitors in the Pcell. This is a noneditable field.

Array Type Layout?

Builds the Pcell of multiple-unit capacitor tiles.
Default: on

Connect Capacitor Tiles

Connects the unit capacitors within the Pcell.
Default: off

Define Array By

Controls the internal layout of multiple-unit capacitors within the Pcell.
Valid Values: Square, Rows, or Columns
Default: Square

Number of Rows

Controls the number of rows of unit capacitors within the Pcell.
Valid Values: a positive integer
Default: 1

Number of Columns

Controls the number of columns of unit capacitors within the Pcell.
Valid Values: a positive integer
Default: 1

Unit Size Capacitance    

Controls the required capacitance for the unit capacitors within the Pcell.
Valid Values: a number in farads, in engineering notation
Default: the value of unitC

Cap Round Up?

Rounds the capacitance value to the next higher unit of capacitance. Cap Round Up? and Add Extra cannot both be on at the same time.
Default: on

Add Extra

Adds an extra capacitor to achieve the required capacitance. Add Extra and Cap Round Up? cannot both be on at the same time.
Default: off

Multiplication Factor(m)

Virtuoso XL supports the use of the multiplication factor (m-factor) as a parameter to define a one-to-many parallel relationship between a device in a schematic and multiple instances of the device in the layout. This parameter is intended for use at the schematic level.

spcinv

The spcinv device is an inverter built using the spcnmos and the spcpmos devices. You can modify the gate width and length of both transistors, define the supply width, and set the height of the whole cell. Note the stretch handles that let you graphically scale the device.

This section discusses the spcinv device parameters that appear in the Create Instance (choose Create – Instance) and Edit Properties (choose Edit – Properties) forms of the Virtuoso layout editor. The default values for many of the parameters come from your technology file.

The spcinv Device, Placed with 90° of Rotation

Parameters

nMos Gate Width

Controls the width of the gate of the NMOS transistor in the inverter.

Valid Values: a number in meters, in engineering notation
Example: 3e-6
Default: the value of minMosWidth ndiff

nMos Gate Length

Controls the length of the gate of the NMOS transistor in the inverter.
Valid Values: a number in meters, in engineering notation
Example: 1e-7
Default: the value of minWidth poly

nMos fingers

Controls the number of fingers in the NMOS transistor.
Valid Values: a positive integer
Default: 1

pMos Gate Width

Controls the width of the gate of the PMOS transistor in the inverter.
Valid Values: a number in meters, in engineering notation
Example: 4e-6
Default: the value of minMosWidth pdiff

pMos Gate Length

Controls the length of the gate of the PMOS transistor in the inverter.
Valid Values: a number in meters, in engineering notation
Example: 1e-7
Default: the value of minWidth poly

pMos fingers

Controls the number of fingers in the PMOS transistor.
Valid Values: a positive integer
Default: 1

Supply Width

Controls the width of the power and ground lines.
Valid Values: a number in meters, in engineering notation
Example: 2.4e-6
Default: the value of minWidth metal1 * 3

Cell Height

Controls the distance from the bottom of the ground supply to the top of the power supply.
Valid Values: a number in meters, in engineering notation
Example: 2.2e-5
Default: the value of minWidth metal1 * 30

Add substrate contacts?

Adds substrate contacts.
Default: on

Cell Horiz. Pitch

Controls the length of device. The system modifies the length of the supply lines to be a multiple of the cell horizontal pitch value.
Valid Values: a number in meters, in engineering notation
Example: 5e-8
Default: the value of mfgGridResolution

spcnmos, spcpmos

The spcnmos device is an n-diffusion straight-gate MOS transistor, and the spcpmos device is the p-diffusion equivalent. You can modify the gate width and length of the transistor, apply fingered or threshold gate splitting, add contacts to either side of the gate, and specify the position of the source and drain contacts.

This section discusses the spcnmos/spcpmos device parameters that appear in the Create Instance (choose Create – Instance) and Edit Properties (choose Edit – Properties) forms of the Virtuoso layout editor. The default values for many of the parameters come from your technology file.

The spcnmos Device, Placed with Left, Right, and Substrate Contacts and a Four-Fingered Split Gate

Parameters

Gate Width

Controls the width of the gate.
Valid Values: a number in meters, in engineering notation, greater than or equal to the value of minMosWidth
Example: 4e-6
Default: the value of minMosWidth

Gate Length

Controls the length of the gate.
Valid Values: a number in meters, in engineering notation, greater than or equal to the value of minWidth poly
Example: 1e-6
Default: the value of minWidth poly

Multiplication Factor(m)

Virtuoso XL supports the use of the multiplication factor (m-factor) as a parameter to define a one-to-many parallel relationship between a device in a schematic and multiple instances of the device in the layout. This parameter is intended for use at the schematic level; if you change the m-factor of a layout view, the system multiplies the width of the device by the specified factor.
Valid Values: a positive floating-point number
Default: 1

Gate Splitting

Splits the gate. The Type of Splitting, Number of Fingers (or Threshold Value if Type of Splitting is set to Threshold), and Internally connect poly? parameters appear when Gate Splitting is on.
Default: off

Type of Splitting

Controls how the gate is split.
Valid Values: Fingered or Threshold
Default: Fingered

Number of Fingers

    Controls the number of fingers in the transistor.
Valid Values: a positive integer
Default: 1

Threshold Value

Specifies the maximum width for each gate when Gate Splitting is on.
Valid Values: a number in meters, in engineering notation, greater than or equal to the value of minMosWidth * 10
Example: 30
Default: the value of minMosWidth * 10

Left Contacts

Adds contacts to the left of each gate relative to the unrotated device. The left contact is always the source contact. If you set Number of Fingers to an even number, the source contacts and drain contacts alternate, starting with a source contact to the left of the left-most gate (relative to the unrotated device).
Default: on

Right Contacts

Adds contacts to the right of each gate relative to the unrotated device. If you set Number of Fingers to an odd number, the right contact is a drain. If you set Number of Fingers to an even number, the source contacts and drain contacts alternate, starting with a source contact to the left of the left-most gate (relative to the unrotated device).
Default: on

Add substrate contact?

Adds substrate contacts. The Substrate Contact Position parameter appears when Add substrate contact? is on. If Bulk Node Connection is set to S, the substrate contact is positioned to the left of the gate, relative to the unrotated device. If Bulk Node Connection is set to D, the substrate contact is positioned to the right of the gate, relative to the unrotated device.
Default: off

Substrate Contact Position    

Positions the substrate contact relative to the unrotated device.
Valid Values: Top or Bottom
Default: Top

Add substrate well?

Adds a substrate well.
Default: off

Bulk Node Connection

Connects the bulk substrate to the source or drain.
Valid Values: S for source, D for drain, or blank for neither
Default: S

Internally connect poly?    

Connects the poly gates to each other within the Pcell.
Default: off

Connect poly

Positions the poly gate connection relative to the unrotated device.
Valid Values: Top or Bottom
Default: Top

Connect S/D to metal?

    Connects the source or the drain to metal.
Valid Values: None, Source, Drain, or Source&Drain
Default: None

spcnpn

The spcnpn device is an NPN bipolar transistor that, given the wide variety of bipolar transistor designs, has been kept fairly simple. There are five choices of collector, emitter, and base configurations and a parameter for the emitter width. Note the stretch handles that let you graphically scale the device.

This section discusses the spcnpn device parameters that appear in the Create Instance (choose Create – Instance) and Edit Properties (choose Edit – Properties) forms of the Virtuoso layout editor. The default values for many of the parameters come from your technology file.

The spcnpn Device, Placed in the CBE Configuration

Parameters

NPN Type

Chooses the collector-base-emitter configuration.

Valid Values: CBE, CEB, CEBC, CBEC, or CEBEC

Default: CBE

Emitter Width

Controls the width of the emitter.
Valid Values: a number in meters, in engineering notation
Example: 2.6e-6
Default: the value of 2 * (2 * minEnclosure emit cont + minWidth cont)

Multiplication Factor

Virtuoso XL supports the use of the multiplication factor (m-factor) as a parameter to define a one-to-many parallel relationship between a device in a schematic and multiple instances of the device in the layout. This parameter is intended for use at the schematic level.

spcpnp

The spcpnp device is a stretchable PNP bipolar transistor that, given the wide variety of bipolar transistor designs, has been kept fairly simple. The Pcell contains the emitter and the base. The collector is a zero-level multipart path built with the ROD function rodCreatePath.

This section discusses the spcpnp device parameters that appear in the Create Instance (choose Create – Instance) and Edit Properties (choose Edit – Properties) forms of the Virtuoso layout editor. The default values for many of the parameters come from your technology file.

The spcpnp Device

Parameters

P+ Emitter Width

Controls the width of the gate.

Valid Values: a number in meters, in engineering notation
Example: 6e-6
Default: the value of 2 * (2 * minEnclosure base cont + minWidth cont)

Multiple emitters

    Controls the number of emitters in the Pcell.
Valid Values: a positive integer
Default: 1

Emitter access direction    

Selects the access direction of the emitter.
Valid Values: Top, Left, Right, Bottom, or None.
Default: Top

Multiplication Factor

Virtuoso XL supports the use of the multiplication factor (m-factor) as a parameter to define a one-to-many parallel relationship between a device in a schematic and multiple instances of the device in the layout. This parameter is intended for use at the schematic level.

spcpres

Sometimes resistors in a schematic represent estimates of the resistance that certain signals might have after the layout designer draws the design. Including these resistors helps improve the simulation results. During layout, the designer does not draw the resistor because it represents the resistance of the shapes needed to connect the other components.

Virtuoso XL expects the layout to match the schematic device for device and net for net. The spcpres device was designed to let you place a resistor in the schematic and connect separate nets to each side of the device, without causing Virtuoso XL to expect to see a corresponding resistor in the layout.

The spcpres device uses the sheet resistance (sheetRes) from the technology file for the metal layer and adjusts the device size accordingly. Given the low resistance of the metal layer, you need to enter relatively large values to see a visible change in the layout view. The pins are never placed more than twice the minimum grid spacing apart. The separation between the pins prevents the Virtuoso XL connectivity extractor from reporting a short where the two nets touch. Note the stretch handles that let you graphically scale the device.

The spcpres Device

Parameters

Resistor type

Selects the type of resistor material.

Valid Values: poly, ndiff, pdiff, or metal1
Default: metal1

Input value

Specifies the input that defines the resistor.
Valid Values: Length or Resistance
Default: Resistance

Resistance

Controls the total resistance of the device.
Valid Values: a number in ohms, in engineering notation
Example: 8e+3
Default: the value of 8 * minRes

Length

Controls the length of the resistor path.
Valid Values: a number in meters, in engineering notation
Default: varies based on the values of minRes and the values of sheetRes and minWidth of the specified resistor type.

Width

Controls the width of the resistor path.
Valid Values: a number in meters, in engineering notation
Default: the value of minWidth for the resistive layer

Multiplication Factor

Virtuoso XL supports the use of the multiplication factor (m-factor) as a parameter to define a one-to-many parallel relationship between a device in a schematic and multiple instances of the device in the layout. This parameter is intended for use at the schematic level.
Default: 1

spcres

The spcres device is a resistor built to let you define the type of resistor material (poly, n-diffusion, or p-diffusion), resistance, length, and width. You can draw the resistor in a serpentine or strap formation for layout optimization.

This section discusses the spcres device parameters that appear in the Create Instance (choose Create – Instance) and Edit Properties (choose Edit – Properties) forms of the Virtuoso layout editor. The default values for many of the parameters come from your technology file.

The spcres Device, Placed in a Five-Segment Serpentine Shape

Parameters

Resistor type

Selects the type of resistor material.

Valid Values: poly, ndiff, or pdiff
Default: poly

Resistance

Controls the total resistance of the device.
Valid Values: a number in ohms, in engineering notation
Example: 8e+3
Default: the value of 8 * minRes

Length

Controls the length of the resistor path.
Valid Values: a number in meters, in engineering notation
Default: varies based on the values of minRes and the values of sheetRes and minWidth of the specified resistor type.

Input value

Specifies the input that defines the resistor.
Valid Values: Length or Resistance
Default: Resistance

Width

Controls the width of the resistor path.
Valid Values: a number in meters, in engineering notation
Default: the value of minWidth poly

Draw resistor as

Selects the shape of the resistor. Choose Straps to draw the resistor with the number of resistor paths specified in Number of segments between the contacts. Choose Serpentine to draw the resistor path in an accordion shape with the specified number of segments.
Examples: If you choose Straps and set Number of segments to 5, the total resistor value is split evenly among five individual resistors, which are connected in series. If you choose Serpentine and set Number of segments to 5, the system draws a single, five-segment, accordion-shaped resistor.
Valid Values: Straps or Serpentine
Default: Straps

Number of segments

Controls the number of straps or serpentine segments. When you set Draw resistor as to Straps, Number of segments controls how many resistor paths the system draws between the serially connected contacts. When you set Draw resistor as to Serpentine, Number of segments controls how many segments are in the accordion shape of the resistor path.
Valid Values: an integer, with a minimum value of 1 for straps and 2 for serpentine
Default: 1

Serpentine width

    Controls the width of the serpentine resistor path.
Valid Values: a number in meters, in engineering notation
Default: varies based on the values of minWidth cont, minEnclosure metal1 cont, and the minSpacing and minWidth values of the specified resistor type.

Multiplication Factor

Virtuoso XL supports the use of the multiplication factor (m-factor) as a parameter to define a one-to-many parallel relationship between a device in a schematic and multiple instances of the device in the layout. This parameter is intended for use at the schematic level.

spcsimple_nmos, spcsimple_pmos

The spcsimple_nmos and spcsimple_pmos devices are simpler implementations of transistors than the spcnmos and spcpmos devices.

These simpler devices do not support wells and substrate contacts, and the contact choices are more limited. The contact coverage and the choice to have contacts are merged into a single contact coverage parameter, which is set in a cyclic field.

The splitting variable in the spcnmos and spcpmos devices that later prompts you for the number of fingers was replaced with a single parameter in the spcsimple_nmos and spcsimple_pmos devices. Any value larger than 1 in the Number of Fingers field splits the device. There is no choice of types of splitting. Note the stretch handles that let you graphically scale the device.

These devices support relative object design (ROD) commands, Virtuoso XL permutable pins and device abutment, and pin connection modeling (strong, weak, and must-join) for the Virtuoso custom router. These devices are not compatible with the Virtuoso compactor or the Virtuoso layout synthesizer.

The spcsimple_nmos Device

Parameters

Gate Width

Controls the width of the gate.

Valid Values: a number in meters, in engineering notation, greater than or equal to the value of minMosWidth
Example: 4e-6
Default: the value of minMosWidth

Gate Length

Controls the length of the gate.
Valid Values: a number in meters, in engineering notation, greater than or equal to the value of minWidth poly
Example: 1e-6
Default: the value of minWidth poly

Multiplication Factor(m)

Virtuoso XL supports the use of the multiplication factor (m-factor) as a parameter to define a one-to-many parallel relationship between a device in a schematic and multiple instances of the device in the layout. This parameter is intended for use at the schematic level; however, if you change the m-factor of a layout view, the system multiplies the width of the device by the specified factor.
Valid Values: a positive floating-point number
Default: 1

Number of Fingers

Controls the number of fingers in the transistor.
Valid Values: a positive integer
Default: 1

Threshold Value

Specifies the maximum width for each gate when Number of Fingers is greater than 1.
Valid Values: a number in meters, in engineering notation, greater than the value of minMosWidth * 10
Example: 30
Default: 0.0

Left Contact Position

Positions the contacts vertically. When the contacts are not spread out evenly along the width of the drain, you can shift the contacts toward the top, center, or bottom of the drain, relative to the unrotated device.
Valid Values: Center, Top, or Bottom
Default: Center

Left Contact Coverage

Controls the percentage of the width of the left side of the device that the contacts cover. This lets you route other metal lines across the device without connecting them to it electrically.
Valid Values: 0, 25, 50, 75, or 100
Default: 100

Right Contact Position

Positions the contacts vertically. When the contacts are not spread out evenly along the width of the drain, you can shift the contacts toward the top, center, or bottom of the drain, relative to the unrotated device.
Valid Values: Center, Top, or Bottom
Default: Center

Right Contact Coverage

Controls the percentage of the width of the device that the right side contacts cover. This lets you route other metal lines across the device without connecting them to it electrically.
Valid Values: 0, 25, 50, 75, or 100
Default: 100

Center Contact Position

Positions the center contact, if there is more than one finger.
Valid Values: Center, Top, or Bottom
Default: Center

Center Contact Coverage

Controls the right side contacts coverage, if there is more than one finger. This lets you route other metal lines across the device without connecting them to it electrically.
Valid Values: 0, 25, 50, 75, or 100
Default: 100


Return to top
 ⠀
X