Creating Objects
This chapter contains these topics:
Entering and Deleting Points
When you create objects in the Virtuoso® Layout Editor, you enter and delete points to create the shape you want.
Entering Points
Deleting Points
![]()
press Backspace.
Entering Points with the Keypad
You can use the keypad to move the cursor and to enter points. This can be helpful if, for example, you want to enter a point just a few units away from the last point.
Typing Points in the CIW
You can enter points by typing coordinates into the Command Interpreter Window (CIW.)
When you are prompted for a point, type a coordinate pair into the CIW, use a colon to separate the coordinates, as shown, and press
Return.You can continue typing coordinates each time you are prompted for a point.
If you are creating a polygon or path, type in the same coordinates twice to indicate the last point.
How Creation Commands Work with ROD Objects
The following tables summarize the level of support for how creation commands work on relative object design (ROD) objects in the current release.
Using commands that are not fully supported for ROD objects could cause the objects to lose the ROD information associated with them, changing the objects into ordinary shapes.
Note: ROD functionality is not implemented for mosaics.
Create and name new rectangles as ROD objects using the Create Rectangle form.
Polygon... P
Create and name new polygons as ROD objects using the Create Polygon form.
Path... p
Create and name paths as ROD objects using the Create Path form.
Create and name new multipart paths as ROD objects using the Create Multipart Path form. This form lets you choose a template from your technology file, load templates from an ASCII file, and save form values as a template in your technology file (if you have write permission) or in an ASCII file.
Label... l
You cannot create a label as a ROD object. However, you can make an existing label a ROD object by assigning it a name with the
rodNameShapefunction.Instance... i
An instance is automatically a ROD object because it has a unique name. The ROD object name is the same as the instance name.
Pin... ^p
Create and name new pins as ROD objects using the Create Pin Shape form.
You cannot create a pin from a label as a ROD object. However, you can make an existing pin a ROD object by assigning it a name with the
rodNameShapefunction.Contact... o
A symbolic contact is automatically a ROD object because it is an instance and has a unique name. The ROD object name is the same as the instance name.
Device...
A symbolic device is automatically a ROD object because it is an instance and has a unique name. The ROD object name is the same as the instance name.
Conics
Circle
Circles are supported as ROD objects. However, there is no user interface for naming a circle; use the
rodNameShapefunction.Ellipses are supported as ROD objects. However, there is no user interface for naming an ellipse; use the
rodNameShapefunction. An ellipse ROD object has only bounding box handles.Donuts are supported as ROD objects. However, there is no user interface for naming a donut; use the
rodNameShapefunction. A donut ROD object has only bounding box handles.You cannot create a shape using a layer generation operation as a ROD object. However, you can make a generated shape a ROD object by assigning it a name with the
rodNameShapefunction.
Creating Rectangles
The Create Rectangle command lets you create rectangular shapes. When you create a rectangle, you have the option of designating it as a relative object design (ROD) object. The ROD object contains information about the rectangle, including its name and database ID.
Creating a ROD object using the Create Rectangle command lets you
Specify connectivity to associate this rectangle with other shapes on the same net by typing the net name in the Net Name field
Give the rectangle a ROD name by either using the default database name or typing another name in the ROD Name field
Only one ROD object can be created and assigned to a net at a time. You cannot enter a series of names in the Net Name and ROD Name fields and expect the names to peel off at the spaces separating the words.
You can use the environment variable
rodAutoNameto set the Create Rectangle form to automaticallyOnce the rectangles are created, you can edit them by typing ROD function commands in the CIW. These commands let you
Access ROD objects by name through all levels of hierarchy
Access ROD objects' handle values through all levels of hierarchy
Align ROD objects to each other or to specific coordinates
Assign names to unnamed rectangles, polygons, lines, and paths
Create complex parameterized cells more easily
See the Virtuoso Relative Object Design User Guide for information about ROD objects.
About the Create Rectangle Form
Net Name assigns the rectangle to a specific net.
As ROD Object creates the rectangle as a ROD object.
ROD Name assigns a name to the new rectangle in the current layout cellview if As ROD Object is on. The name must be unique in the cellview. If you do not edit this field, the system assigns a unique name consisting of the prefix
rect, followed by a number. For example, the first ROD rectangle would be namedrect0, the second,rect1, and so on.
Creating a Rectangle
In the Layer Selection Window, click on the layer you want.
In the Net Name field, type the net name you want the rectangle to be associated with.
If you want to create a ROD object rectangle, turn on As ROD Object.
Creating Polygons
The Create Polygon command lets you create polygonal shapes. When you create a polygon, you have the option of designating it as a ROD object. The ROD object contains information about the polygon, including its name and database ID.
Creating a ROD object using the Create Polygon command lets you
Specify connectivity to associate this polygon with other shapes on the same net by typing the net name in the Net Name field
Give the polygon a ROD name by either using the default database name or typing another name in the ROD Name field
Only one ROD object can be created and assigned to a net at a time. You cannot enter a series of names in the Net Name and ROD Name fields and expect the names to peel off at the spaces separating the words.
You can use the environment variable
rodAutoNameto set the Create Polygon form to automaticallyOnce the polygons are created, you can edit them by typing ROD function commands in the CIW. These commands let you
Access ROD objects by name through all levels of hierarchy
Access ROD objects' handle values through all levels of hierarchy
Align ROD objects to each other or to specific coordinates
Assign names to unnamed rectangles, polygons, lines, and paths
Create complex parameterized cells more easily
See the Virtuoso Relative Object Design User Guide for information about ROD objects.
About the Create Polygon Form
Snap Mode limits how the cursor snaps when you create a polygon.
anyAngle creates lines at any angle.
diagonal creates lines parallel to the X or Y axis or at a 45-degree angle to the axes.
orthogonal creates lines parallel to the X or Y axis.
L90XFirst creates orthogonal two-segment lines and creates the first line in the X direction.
L90YFirst creates orthogonal two-segment lines and creates the first line in the Y direction.
Create Arc lets you create an arc in the polygon.
Net Name assigns the polygon to a specific net.
As ROD Object creates the polygon as a ROD object.
ROD Name assigns a name to a new polygon in the current layout cellview if As ROD Object is on. The name must be unique in the cellview. If you do not edit this field, the system assigns a unique name consisting of the prefix
polygon, followed by a number. For example, the first ROD polygon would be namedpolygon0, the second,polygon1, and so on.
Creating a Polygon
In the LSW, click on the layer you want.
In the Net Name field, type the net name you want the polygon to be associated with.
If you want to create a ROD object polygon, turn on As ROD Object.
Creating Polygons Using Different Snap Modes
To create polygons using the snap mode to control the angle of the edges,
Open the Create Polygon form.
Creating an Arc in a Polygon
To create an arc in a polygon,
Open the Create Polygon form.
Click to indicate the startpoint, the endpoint, and a radius point on the arc.
Note: You can also use the Modify Corner command to curve the corner of a polygon.
Creating Paths
The Create Path command lets you create paths. A path is the course over which electrical currents flow in circuits. This is also known as routing.
About the Create Path Form
Width specifies the path width in user units.
Fixed Width, when on, uses the width you specify in the Width field for all segments of the path. When off, the path width remains set at the last setting until you click the Defaults button. The Defaults setting uses the minWidth defined in the technology file for the current layer.
Offset offsets the line you use to create the path from the final path. To control which edge of the path is offset, set the Justification cyclic field.
Justification controls which edge of the path you create: left, center, or right. If you set a path offset, Justification controls which edge of the path is offset from the line you create.
End Type controls how the path ends are created.
flush: the path ends and path points end at the same points.
offset: the path ends extend from the path points by one half the path width.
octagon: the path ends extend from the path points by one half the path width, creating an octagonal shape.
variable: the path ends extend from the path points by whatever value you enter in the Begin Extension and End Extension fields.
Begin Extension and End Extension, when End Type is set to variable, let you enter a beginning and an ending extension in user units.
Change To Layer lets you automatically place a contact and change layers while creating a path. While creating the path, you can select the new layer by selecting the layer from the cyclic menu. If the Create Path form is not open, you can change layers by clicking
Controlright in your design to cycle through the layers in the menu.Contact Justification is the field where you click on one of the Contact Justification radio buttons to control which edge or corner of the contact connects to the path end. Your technology file must include definitions of all contacts.
Snap Mode controls how path segments snap to the grid.
Acute Angle (available only when Snap Mode is set to anyAngle) When set to on, you can create acute angle paths. When set to off, you can create paths only from 90 degree to 180 degree angles.
Net Name assigns the path to a specific net.
As ROD Object creates the path as a ROD object.
ROD Name assigns a name to the new path in the current layout cellview if As ROD Object is on. The name must be unique in the cellview. If you do not edit this field, the system assigns a unique name consisting of the prefix
path, followed by a number. For example, the first ROD path would be namedpath0, the second,path1, and so on.Rotate turns the contact 90 degrees counterclockwise. You can also click
Shiftright to rotate the contact.Sideways mirrors the contact along the X axis.
Upside Down mirrors the contact along the Y axis.
Creating a Path
In the LSW, click on the layer you want to use.
Changing Path Shape
To change the path shape as you create a path,
Open the Create Path form.
Changing Path Width
To change the width while creating a path,
Open the Create Path form.
In the Width field, type in the new width.
The width setting is calculated in user units, which are usually microns. The default path width is the minWidth for the entry layer as defined in the technology file.
Creating Offset Paths
You can create a path that is offset from the points you enter.
Open the Create Path form.
In the Justification cyclic field, select the edge of the path you want to offset.
Changing Path Ends
The path End Type settings change the shape and spacing of path ends.
Open the Create Path form.
Setting Path Justification
The path justification settings control whether you enter points along the centerline or the edge of a path.
Open the Create Path form.
Displaying Path Centerlines or Borders
You can control how paths appear in the cellview.
To display path centerlines or borders,
The Display Options form appears.
Path Stitching
You can create a path that switches from one layer to another, automatically placing an appropriate contact at the point where the layer changes. This function is often called path stitching.
You can automatically place default contacts, or if multiple contacts are defined in the technology file, you can choose from a list of contacts.
Using Default Vias During Path Stitching
Open the Create Path form.
In the Change To Layer cyclic field, choose the layer you want. If the Create Path form is not open, you can change layers by pressing
Controland the right mouse button in your design to cycle through the layers listed in the cyclic field.
If no layers appear in the Change To Layer cyclic field, no contacts are defined in the technology file for the current layer and you cannot stitch the path. For more information about defining contacts, see "Defining Contacts".
If you want to change the contact alignment, click on the Contact Justification button in the form that represents where you want the contact to align.
Selecting From Multiple Contacts During Path Stitching
Open the Create Path form.
In the Change To Layer cyclic field, choose the layer you want.
Rotating Contacts During Path Stitching
You can rotate the contacts you place while you are path stitching.
Open the Create Path form.
In the Change To Layer cyclic field, choose the layer you want.
Click Rotate or press
Shiftand click right to rotate the contact.
User-Defined Contacts
You can create your own contacts and have them appear in the Change To Layer cyclic field. To do this, you must edit either the
syEnhContactorsyContactdevice class when defining and declaring your contacts. You can use the syntax format in thesyEnhContact.tfsample file to define your custom contacts. The class and formal parameters must be the same name as that used for creating asymContactDevicedevice class. You can add parameters, but do not change the names of the existing ones.Contacts created in the user-defined device class
syEnhContactappear in the Device Class and Device Type fields in the Create Device form and contacts created in the user-defined device classsyContactappear in the Contact Type field in the Create Contact form.For information about how to edit the technology file and add customized contacts, read the "Devices" chapter in the Technology File and Display Resource File User Guide.
Defining Contacts
To define contacts, do the following:
Use the Cadence® predefined system contacts described in the sample file
Create your own contacts described in the sample file
Creating Labels
The Create Label command lets you enter text in the cellview.
About the Create Label Form
Label sets the text you want to appear.
Height sets the height of the label in user units (usually microns).
Font sets the text style of the label.
Justification sets the location of the label origin. The origin appears as a small square on the label when you place or select it.
Attach lets you attach the label to an object in the cellview.
Rotate turns the label 90 degrees counterclockwise.
Sideways mirrors the label along the X axis. Drafting must be off for this button to work.
Upside Down mirrors the label along the Y axis. Drafting must be off for this button to work.
Creating and Attaching a Label
You can identify objects or portions of your design by adding labels. You typically attach labels to objects on a net, so the LVS (Layout Versus Schematic) program can verify the nets in your layout against those in your schematic.
The Create Label form appears.
Rotating Labels
To rotate or mirror a label as you place it,
Set Drafting off in the Create Label form.
You can click on the rotate and mirror buttons, or click right, as many times as you want. Each time you click a button or click right, the label is further rotated or mirrored.
Choosing a Font
To choose your label font, select one of the fonts in the Create Label form. The font styles are shown below.
Using the Overbar Option
The overbar display option determines how text strings containing underscore characters are displayed in a layout window.
When overbar is off (default), the software displays underscore characters ( _ ) as part of the text string. When overbar is on, the software interprets underscore characters in the text string name as toggle switches that control where overbars begin and end. Overbars appear above the text string, as shown in the examples.
Placing Instances and Arrays
An instance is a database object that represents a master cellview. You can have several instances of the same cellview in a design. The Create Instance command lets you place an instance of a cell into the current cellview.
About the Create Instance Form
Library, Cell, and View set the library, cell, and view names of the master cell you want to place as an instance in this cellview.
Browse lets you select the library, cell, and view names by clicking on them in the browser.
Names sets the name assigned to this instance. You can type any name unique to the cellview here or let the layout editor automatically assign instance names that begin with the letter I, followed by a number. You can enter multiple names (separated by a space) to place several instances of the same cell.
Magnification enlarges or reduces the size of the cell instance.
Rotate turns the instance 90 degrees counterclockwise.
Sideways mirrors the instance along the X axis.
Upside Down mirrors the instance along the Y axis.
If the master cell is a parameterized cell, fields for one or more parameters appear at the bottom of the form after you type the cell name and press
Tab. You can change the layout of the cell instance by changing values for the parameters.
Placing a Cell Instance
To place a cell inside the current cellview,
The Create Instance form appears.
Naming Instances
The layout editor automatically assigns names to instances, starting with
I1(Instance 1) and continuing withI2,I3, and so forth. If the instances are mosaics, the default names areM1,M2, and so forth.
Overriding Instance Names
To override the automatic naming of instances,
Open the Create Instance form.
You can use the Display Options form to display instance names in the cellview.
Rotating and Mirroring Instances
To rotate instances as you place them,
![]()
Click right.
![]()
Press Shiftand click right.To use the Create Instance form to rotate or mirror instances,
![]()
Click Rotate, Sideways, or Upside Down.
Setting Magnification of Instances
To enlarge or reduce an instance as you place it,
![]()
In the Create Instance form, type a value in the Magnification field. The value is the factor by which the instance is enlarged or reduced. For example, 2 doubles the size of the instance, while 0.5 shrinks it to half its original size.
Placing an Array of Instances
You can use the Create Instance command to place many instances in an array (sometimes called a mosaic). The array is considered a single object in the database. It is assigned a single instance name, which is, by default,
M1,M2, and so forth.
Open the Create Instance form.
In the Rows and Columns fields, type the number of rows and columns you want in the array.
To change the spacing between the rows or columns, type values for Delta X or Delta Y.
Creating Pins
The Create Pin command lets you create pins manually or place symbolic pins to connect this cellview to another cell in your design hierarchy.
Shape pins, created by the Create Shape Pin form. A shape pin is a shape you create to represent a pin.
Symbolic pins, created by the Create Symbolic Pin form. A symbolic pin is an instance of a predefined parameterized cell that represents a pin.
You can place a pin automatically or create a pin manually.
The Create Shape Pin form or the Create Symbolic Pin form opens. If the form that opens is not the one you want, click on shape pin or sym pin.
In the Terminal Names field, type the terminal name (the name of the net to which this pin connects).
Click on an I/O Type button to indicate the direction of the signal into or out of the pin.
If you are creating a shape pin,
Set the Mode to rectangle, dot, polygon or circle.
If you are creating a rectangle pin, click on the Access Direction buttons to specify the direction in which the routing tools can connect routing to the pin.
Set the Snap Mode cyclic field.
Create the pin the same way you create a rectangle or polygon.
If you are placing a symbolic pin manually,
About the Create Shape Pin Form
To open the Create Shape Pin form,
![]()
Do one of the following: If the Create Symbolic Pin form appears, click on Mode - shape pin.
Create Shape Pin Form
Terminal Names assigns a name to this pin. Terminal names are used to identify the net to which this pin connects. You can create multiple pins by typing the terminal name for each pin and separating the names with spaces. If Keep First Name is off, one name is removed every time a pin is placed.
Keep First Name, when on, does not remove the first name in the Terminal Names field.
X Pitch sets the horizontal distance, in user units, between the center points of the pins. This field is editable when the terminal name represents a bus. For example,
data <0:7>.Y Pitch sets the vertical distance, in user units, between the center points of the pins. This field is editable when the terminal name represents a bus.
Mode specifies the shape of a manually created pin, turns on the automatic pin placement mode, or opens the Create Symbolic Pin form.
rectangle lets you create a rectangular pin.
dot lets you create a dot pin. You drag a rectangle to define the extent of the dot. Click twice on the same point for a zero-area dot pin.
polygon lets you create a polygon pin.
circle lets you create a circular pin.
auto pin automatically places a rectangular pin at the ends of a path.
sym pin closes this form and opens the Create Symbolic Pin form, which lets you create symbolic pins.
Display Pin Name attaches a label, showing the terminal name, to the pin.
Display Pin Name Option opens the Pin Name Display form, which lets you set the font, height, justification, and orientation of the pin name.
I/O Type assigns a property used by routers to identify the direction of the signal into or out of this cellview. The signal can be input, output, inputOutput (bidirectional), switch (carries data either in or out, but not simultaneously), or jumper (passes data through this cellview).
Snap Mode limits how the cursor snaps when you create a polygon pin.
anyAngle creates lines at any angle.
diagonal creates lines parallel to the X or Y axis or at a 45-degree angle to the axes.
orthogonal creates lines parallel to the X or Y axis.
L90XFirst creates orthogonal two-segment lines and creates the first line in the X direction.
L90YFirst creates orthogonal two-segment lines and creates the first line in the Y direction.
Access Direction assigns a property used to identify the part of the pin to which routers can connect routing.
As ROD Object creates the pin as a ROD object.
ROD Name lets you assign a name to the new shape pin in the current layout cellview if As ROD Object is on. The name must be unique in the cellview. If you do not edit this field, the system assigns a unique name consisting of the prefix
rect,dot, orpolygon, depending on the type of shape pin you are creating. The prefix is followed by a number. For example, the first ROD rectangle pin would be namedrect0, the second,rect1, and so on.
About the Create Symbolic Pin Form
To open the Create Symbolic Pin form,
![]()
Do one of the following: If the Create Shape Pin form appears, click on Mode - sym pin.
Terminal Names assigns a name to this pin. Used by the layout editor, Layout Versus Schematic (LVS) program, and routers to identify the net to which this pin connects. You can create multiple pins by typing the terminal name for each pin and separating the names with spaces. If Keep First Name is not on, one name is removed every time a pin is placed.
Keep First Name does not remove the first name in the Terminal Names field.
X Pitch sets the horizontal distance, in user units, between the center points of the pins. This field is editable when the terminal name represents a bus. For example,
data <0:7>.Y Pitch sets the vertical distance, in user units, between the center points of the pins. This field is editable when the terminal name represents a bus.
Mode specifies whether you want manual or automatic pin placement mode or lets you open the Create Shape Pin form.
Display Pin Name attaches a label to the pin, showing the terminal name.
Display Pin Name Option opens the Pin Name Display form, which lets you set the font, height, justification, and orientation of the pin name.
I/O Type assigns a property used by routers to identify the direction of the signal into or out of this cellview. The signal can be input, output, inputOutput (bidirectional), switch (carries data either in or out, but not simultaneously), or jumper (passes data through this cellview).
Pin Type sets the type for the pin.
Pin Width sets the width of the pin.
Pin Length sets the length of the pin.
Access Direction assigns a property used to identify the part of the pin to which routers can connect routing.
Creating Pins as ROD Objects
When you create a shape pin, you have the option of designating it as a relative object design (ROD) object. The ROD object contains information about the pin, including its name and database ID.
To create a ROD object, turn on As ROD Object in the Create Shape Pin form. The ROD Name field becomes editable, and you can either use the default database name or type another name. ROD names can have spaces in them. For example,
rect1ais a valid ROD name.Only one ROD object can be created at a time. Even though you can type several pin names in the Terminal Names field, only one name can be typed in the ROD Name field. This means that after each pin is created, you must type in the next name.
Once the pins are created, you can edit them by typing ROD function commands in the CIW. These commands let you
Access ROD objects by name through all levels of hierarchy
Access ROD objects' handle values through all levels of hierarchy
Align ROD objects to each other or to specific coordinates
Assign names to unnamed rectangles, polygons, lines, and paths
Create complex parameterized cells more easily
See the Virtuoso Relative Object Design User Guide for information about ROD objects.
Using the rodAutoName Environment Variable
You can use the environment variable
rodAutoNameto set system default values in the Create Pin, Create Rectangle, and Create Polygon forms to
Turn on As ROD Object so all shapes are created as ROD objects
Make the ROD Name field editable, allowing you to either use the default name or type another name
The following example sets the Create Rectangle, Create Pin, and Create Polygon forms to create shapes as ROD objects. In the Command Interpreter Window (CIW), type
envSetVal("layout""rodAutoName"'string"rectangle pin polygon")To turn off As ROD Object in one or all of the forms listed in the
rodAutoNamevariable, do one of the following:
Turn off As ROD Object in any of the forms
Retype the
envSetValcommand, excluding the type of object you no longer want to create as ROD objectsFor example, if you turn off As ROD Object in the Create Polygon form, the following is true for
rodAutoName:envGetVal("layout""rodAutoName")" rectangle pin"You can also set the
rodAutoNamevariable in your.cdsenvfile, so the layout editor defaults to the options you want at startup. The syntax to use in your.cdsenvfile islayout rodAutoName string "rectangle pin polygon"
Placing a Pin on a Path Automatically
The layout editor can create a pin at the end of a path automatically. This feature works only on path ends parallel to the X or Y axis.
In the Create Shape Pin form or the Create Symbolic Pin form, set Mode to auto pin.
Creating Multiple Pins
Each pin you create needs a terminal name (the name of the net to which the pin connects). You can create several pins quickly by typing several terminal names.
In the Create Shape Pin form or the Create Symbolic Pin form, type the terminal name for each pin you want to create, leaving a space between each name.
If you want to create a label of the terminal name, set Display Pin Name on.
In the layout window, click to create or place the first pin.
You can apply net expression properties to pins.
Placing Pin Arrays
A pin array is one line of pins with a single origin. You might create such an array if you have many nets bundled together into a bus. The pins in the array are placed for every bit of the bus and are spaced according to the XPitch and YPitch coordinates.
In either the Create Shape Pin form or the Create Symbolic Pin form, type the following in the Terminal Name field:
For bus naming information, see the naming conventions section in Virtuoso Schematic Composer User Guide.
Move the cursor into the cellview window and place the first pin where you want to start the array. The rest of the pins are automatically placed at the designated X and Y locations for every bit of the bus. They are measured from the center point of the previously placed pin.
You can apply net expression properties to pins in a pin array.
Examples of Pin Arrays with Different X and Y Pitch
Displaying Pin Names
In the Create Shape Pin form or the Create Symbolic Pin form, set Display Pin Name on.
Click on Display Pin Name Option and use the Pin Name Display form if you want to change the font characteristics.
Note: If Pin Names in the Display Options form is not set on, none of the pin labels in the cellview are visible. To display all pin names at any time, set Pin Names on in the Display Options form.
Connecting Hierarchy with Pins
To indicate where and how the layout in a cell connects to another cell within a design hierarchy, you create a pin to do the following:
Show where an instance of a cellview can connect to routing or to other instances
Show which net a pin is on
Control the direction in which the Cadence routing tools can connect routing to the cellview instance
Pin Name Characteristics
About the Pin Name Display Form
The Pin Name Display form appears after you click Display Pin Name Options in the Create Shape Pin form or the Create Symbolic Pin form. The Display Pin Name Options command lets you set how pin names appear. The Layout Versus Schematic (LVS) program uses this name to identify objects on a net when comparing nets in a schematic against a layout.
Height sets the height of the name in user units (usually microns).
Font sets the text style of the name.
Drafting prevents the label from being rotated more than 90 degrees.
Overbar determines how text strings containing underscore characters are displayed. See "Using the Overbar Option".
Layer sets the layer for the pin name.
Pin Layer puts the pin name on the same layer as the pin being created.
Justification sets the location of the name origin. The origin appears as a small square on the name when you place or select it.
Rotate turns the name 90 degrees counterclockwise.
Sideways mirrors the name along the X axis.
Note: Drafting must be off for this button to work.
Upside Down mirrors the name along the Y axis.
Note: Drafting must be off for this button to work.
Changing Pin Name Characteristics
To specify pin name characteristics,
In the Create Shape Pin form or the Create Symbolic Pin form, set Display Pin Name on.
Fill in the Pin Name Display form.
Setting the Pin Name Layer
In the Create Shape Pin form or the Create Symbolic Pin form, set Display Pin Name on.
In the Pin Name Display form, do one of the following:
Creating Pins from Labels
The Create Pins From Labels command lets you create pins from text labels in your layout cellview. This command creates pins with terminal names matching labels on a specified text layer with pin dimensions that you specify, centered on the origin of your text label.
Pin names will differ from text labels if the text label contains a colon (:). When this occurs, the colon and trailing text are not part of the pin name. For example, given the text label VDD:P,28, the resulting pin name is simply VDD.
If a pin already exists for a text label you have selected, a new label will not be created for that text label. The pin and label are not attached to each other. If you move the pin, the label will not follow. To attach the label to the pin, use the Edit - Other - Attach/Detach command.
About the Create Pins From Labels Form
Creation Options control the scope of pin generation and which labels the system uses to create pins.
Labels Found shows the layers of the selected text labels. One layer appears for each layer of text labels selected. This field is not editable.
Pin Layer displays the available layers for pins to be created on. Choose the pin layer from the list of layers.
Width sets the width of the pins.
Length sets the length of the pins.
Ignore does not create pins for that layer.
Creating Pins From Labels
In the Pin Layer cyclic field, choose the entry layers you want your pins created on. If you selected labels on more than one layer, choose the appropriate pin layer for each label layer from the list of layers.
Type the width and length of your pin in the Width and Length fields.
Creating Contacts
The Create Contact command lets you connect objects on two different layers within this cellview.
About the Create Contact Form
Auto Contact automatically places a contact on the intersection of two paths.
Contact Type selects the contact from the technology file and controls the layers on which the contact is entered.
Justification sets the origin of a contact array.
Width and Length set the width and length of the contact or via cut, in user units (typically microns).
Rows and Columns set the number of rows or the number of columns of contact cuts in a contact array. The default values for Rows and Columns are set in the technology file.
Delta X sets the horizontal distance, in user units, between the center points of the contacts when Rows is set to greater than 1.
Delta Y sets the vertical distance, in user units, between the center points of the contacts when Columns is set to greater than 1.
Rotate turns the contact 90 degrees counterclockwise. You can also click right to rotate the contact.
Sideways mirrors the contact along the X axis.
Upside Down mirrors the contact along the Y axis. You can also press
Shiftand click right to mirror the contact.
About the Create Contact Form for cdsVia:
Auto Contact automatically places a contact on the intersection of two paths.
Contact Type selects the contact from the technology file and controls the layers on which the contact is entered.
Justification sets the origin of a contact array.
Width and Length set the width and length of the contact or via cut, in user units (typically microns).
Rows and Columns set the number of rows or the number of columns of contact cuts in a contact array. The default values for Rows and Columns are set in the technology file.
Cut Spacing X sets the distance between the horizontal edge to edge cuts in a contact.
Cut Spacing Y sets the distance between the vertical edge to edge cuts in a contact.
Layer 1 Enclosure sets the vertical distance from the cut edge to the enclosure edge for the contact on the layer designated layer 1 (bottom routing layer).
Layer 2 Enclosure sets the vertical distance from the cut edge to the enclosure edge for the contact on the layer designated layer 2 (top routing layer of a two layer via).
Layer 1 Direction sets the via layer direction for the contact on the layer designated layer 1 (bottom routing layer).
Layer 2 Direction sets the via layer direction for the contact on the layer designated layer 2 (top routing layer of a two layer via).
stacked Vias specifies whether vias are stackable or not.
Rotate turns the contact 90 degrees counterclockwise. You can also click right to rotate the contact.
Sideways mirrors the contact along the X axis.
Upside Down mirrors the contact along the Y axis. You can also press
Shiftand click right to mirror the contact.
Placing a Contact
Contacts are special cells identified in your technology file that connect two layers inside a cellview.
The Create Contact form appears.
In the Contact Type cyclic field, choose the contact you want.
You can create your own contacts and have them appear in the Contact Type cyclic field by adding them to the technology file. You must use either the
syEnhContactorsyContactdevice class when defining and declaring your custom contacts. The class and formal parameters must be the same name as that used for creating asymContactDevicedevice class. Parameters can be added, but the names of existing parameters must not be changed. Use the following syntax to define your custom contact:
your_install_dir/tools/dfII/samples/techfile/syEnhContact.tf
Contacts created in either
syEnhContactorsyContactdevice classes also appear in the Device Class and Device Type fields in the Create Device form and in the Change To Layer field of the Create Path form.For information about how to edit the technology file and add your customized contacts, read about defining devices in the Technology File and Display Resource File User Guide.
Placing an Array of Contacts
An array of contacts is a group of contacts with a single origin. You might create such an array to connect two wide paths or to create part of a large transistor.
To place an array of contacts,
Type the number of rows and columns in the Create Contact form.
Type in new values for Delta X and Delta Y if you want to change the spacing between the center of each contact cut.
Automatically Placing a Contact on Two Paths
You can automatically place a contact at the intersection of two paths. Each path segment must be horizontal or vertical. The segments may be same direction or orthogonal. When you place contacts with Auto Contact on, the contact origin snaps to the center of the overlap of the paths no matter what the Snap Spacing settings are in the Display Options form.
In the Create Contact form, set Auto Contact on.
If the contact you place is defined in your technology file for the two intersecting path layers, an appropriate contact is placed on the intersection. If the contact is not defined for the two intersecting path layers, the system gives a warning beep, which indicates the contact was not placed, and you must do either of the following:
Edit the technology file to include the definition for the contact connecting the two layers. The contacts can be either system defined or user defined.
Change the path layers to match a contact defined in your technology file.
Note: You can also use the Create Path command to place contacts between path segments on different layers by path stitching.
Creating Devices
The Create Device command lets you place a symbolic device. A symbolic device is an instance of a parameterized cell that has been defined in the technology file.
About the Create Device Form
Device Class sets the overall device group. The classes that appear in this field are defined in the technology file.
Device Type sets the specific device type. The types that appear in this field are defined for the selected device class in the technology file. These are usually the contact or pin names.
Names sets the instance name assigned to this device. You can enter any name here or let the layout editor automatically assign instance names that begin with the letter
I, followed by a number. You can enter multiple names (separated by a space) to place several devices of the same cell.Rows and Columns set the number of rows and columns in an array of devices.
Delta X and Delta Y set the spacing between rows and columns in an array of devices.
Magnif(ication) enlarges or reduces the size of the device.
Rotate turns the device 90 degrees counterclockwise.
Sideways mirrors the device along the X axis.
Upside Down mirrors the device along the Y axis.
Parameters If the master cell is a parameterized cell, displays fields for one or more parameters at the bottom of the form after you select the device class. You can change the layout of the device by changing values for the parameters.
Placing a Device
To place a device inside the current cellview,
The Create Device form appears.
In the Device Class cyclic field, choose the device you want.
Naming Device Instances
The layout editor automatically assigns names to device instances, starting with
I1(Instance 1) and continuing withI2,I3, and so forth.
Overriding Device Names
To override the automatic naming of devices,
Open the Create Device form.
You can use the Display Options form to display instance names in the cellview.
Rotating or Mirroring Devices
![]()
Click right.
![]()
Press Shiftand click right.To use the Create Device form to rotate or mirror instances,
![]()
Click Rotate, Sideways, or Upside Down.
Setting Magnification of Devices
To enlarge or reduce a device as you place it,
Open the Create Device form.
The value is the factor by which the device is enlarged or reduced. For example, 2 doubles the size of the device, while 0.5 shrinks it to half its original size.
Placing an Array of Devices
You can use the Create Device command to place many devices in an array (sometimes called a mosaic). The array is considered a single object in the database. It is assigned a single device name.
Open the Create Device form.
In the Rows and Columns fields, type the number of rows and columns you want in the array.
Type values for Delta X or Delta Y to change the spacing between the rows or columns.
Creating Conics
You use the Create Conics command to create different types of round objects.
Creating Circles
Click on the entry layer you want in the LSW.
Creating Donuts
Click on the entry layer you want in the LSW.
Creating Ellipses
You create an ellipse by creating a rectangle that surrounds the ellipse.
In the LSW, click on the entry layer you want.
Converting Conics to Polygons
Circles, donuts, and ellipses are stored in the database as true conics with centerpoints and radii. You might need to convert conics to polygons before streaming out your database for chip production.
To convert a conic to a polygon,
Note: You can change the number of polygon segments used to create the converted conics by setting the Conic Sides field in the Layout Editor Options form. The default number of segments is 20.
Setting Conic Sides
You can set the number of segments used when recreating conics when you convert them to polygons. The minimum number of conic sides is 3, and the maximum number of conic sides is 2,047.
To set the number of conic sides,
Choose Options - Layout Editor [
Shift-e].
The Layout Editor Options form appears.
Changing Objects on a Layer
The Layer Generation command lets you perform Boolean edits on layers, including resizing and merging objects on a layer. Layer Generation edits copies of the objects; the original objects are unchanged.
About the Layer Generation Form
To open the Layer Generation form,
![]()
Choose Create - Layer Generation. Input Layers (the first and third fields) sets the layer or layers you want to modify with Layer Generation.
Boolean Operators (second field) combines the selected objects on the input layers.
Output Layer (fourth field) sets the layer on which the new shapes will appear.
Making Changes to Objects on Layers
To enlarge copies of selected objects,
Select the objects you want to resize.
Fill out the Layer Generation form as shown below.
How Sizing Converts Objects to Polygons
When you resize an object such as a path by using Size, the object is converted to a polygon. When you use Layer Generation, the original path remains and the new object on the new layer is converted to a rectangle or a polygon.
For example, if you enlarge a path with Size, the resulting object is a polygon.
Making Boolean Edits by Layer
You can perform Boolean logical operations on objects on one or two layers. You edit copies of the objects, so the originals are unchanged.
Select the objects you want to edit.
Choose Create - Layer Generation.
The Layer Generation form appears.
Choose the layers you want to edit and the Boolean operator you want to use.
About the Tap Form
TapTypes the types of information you can tap.
You can have the layer tap command behave in one of two ways by setting the environment variable
layerTapCycleto eithertornil.
When set to nil, the default, the system selects the layer of the object you tap on whose edge is closest to or coincident with the cursor.
When t, you can cycle through the layers of overlapping objects by tapping repeatedly without moving the cursor until the layer you want is displayed.
Net captures net names from rectangles, polygons, and paths. You can capture the net names to automatically insert the net names in the Propagate Nets form when applying connectivity to a via,
Attributes captures attributes from paths and microwave objects.
Path attributes you capture the beginning and ending extension in user units, the path end type, and the path width
Trls, bends and tapers attributes you capture are the bend factor (maximum width before they are chamfered), taper style (linear or exponential), number of points to taper in user units, the bend style (bend chamfer or radial), the width of a chamfered bend in a transmission line as a multiple of its standard width in user units, the number of segments in a radial bend in a transmission line as a function of the number of segments in a 180-degree radial bend, the radius of a radial bend in a transmission line as a multiple of the transmission-line width in user units, the width of the first end of a transmission line bend in user units, the width of the second end of a transmission line bend, and the width of the second end of a transmission line bend in user units.
Using the Tap Command
The Tap command supports the capturing of information; layer, net name, and object attributes. Rectangles, polygons, and paths can be tapped. Vias and routes are not accessible to the Tap command.
For support, see http://www.cadence.com/support
or try Cadence's SourceLink service.
Copyright © 2003, Cadence Design Systems, Inc.
All rights reserved.
Legal notices and trademark attributions