Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
layout editor.pdf
Скачиваний:
180
Добавлен:
05.06.2015
Размер:
3.04 Mб
Скачать

Virtuoso XL Layout Editor User Guide

Generating Your Layout with Virtuoso XL Layout Editor

Shapes

A shape is a polygon or rectangle on a particular layer.

(shape (layer layer_name) (rectangle options))

(shape (layer layer_name) (polygon sequence_of_points))

A shape that is a floating rectangle or a floating polygon is called a floating shape.

Layers can also be defined externally, within the scope of the option using a shape for its own definition. A layer defined as part of the shape definition overwrites all external layer definitions.

Boundaries Section

The boundaries section defines the shape of the boundary. The syntax is

boundary_section(

[(boundary options)]

)

Boundaries Options

 

The options are

 

shape

The shape outlining the boundary. By default, the shape is a

 

rectangle with the aspect ratio defined byinitAspectRatio in

 

the .cdsenv file. By default, or if the shape is floating, the lower

 

left corner is placed at (0 0).

layer layer_name

The boundary layer name. The default is prBoundary.

utilization N

The area utilization factor. This factor is used to compute the

 

boundary size for rectangular boundaries that do not fully define

 

the size in the shape options. The value is ignored for polygonal

 

boundaries and for rectangular boundaries whose shape options

 

fully specify the dimensions. The default is the value of

 

initUtilization in the .cdsenv file.

Below is an example boundary definition:

boundary_section(

(boundary

(shape (layer prBoundary) (rectangle aspect_ratio 1.1))

December 2002

158

Product Version 5.0

Virtuoso XL Layout Editor User Guide

Generating Your Layout with Virtuoso XL Layout Editor

(utilization 0.25)

)

)

Below is a second boundary example:

boundary_section(

(boundary

(layer ("prBoundary" "boundary"))

(utilization 0.250000)

(shape (rectangle aspect_ratio 1.000000 lowerLeft (0.0 0.0)))

)

)

I/O Pins Section

The I/O pins section defines the shape and layer of the I/O pins for the new layout. The syntax is

I/O_section(

[global_pin_options]...

[(pin {pin_name | ( pin_name1 pin_name2 ... )} pin_options)]...

[changes to global pin options]

[more pins]...

)

Every pin entry has one or more pin names, corresponding to net names for which pins are defined. Pins have one or more options. Global options appear outside of apin entry and are overridden by corresponding pin-specific options. Changes to global options apply to subsequent pins (unless the pins each set a value for the corresponding option).

The global options in effect at the end of the I/O pins section apply to all pins not defined in the template.

Pin Options

The pin options and global pin options are identical, except that you cannot use expressions that evaluate to pin-specific values (such as pin width values based onminWidth) in the global options. The following options are available:

(multiplicity N) Number of pins for the given net(s). If N is greater than 1, all pins are identical. The default is 1.

December 2002

159

Product Version 5.0

Virtuoso XL Layout Editor User Guide

Generating Your Layout with Virtuoso XL Layout Editor

(layer layer_name)

Layer for these pins. Every geometric pin must have a layer

 

specification. This option can be used only with geometric pin

 

types.

(symbolic pin_name)

Symbolic pin name. This option can be used only with

 

symbolic pin types.

(shape shape)

The pin shape, a floating rectangle. The default shape is a

 

floating rectangle with size equal to the minimum width for the

 

pin layer. Size can be expressed using device rules, including

 

the implicit ones, because the layer specification is always

 

provided with pins. With symbolic pins, it is an error to specify

 

anything but the width.

(type pin_type)

The pin type. Valid values are geometric or symbolic. The

 

default is geometric.

(position pos_spec)

The pin position. By default, the pin is placed in the same

 

relative position as in the schematic. Valid values for

 

pos_spec are (left), (right), (top), (bottom),

 

(edge num), (x x_value), (y y_value), (order

 

num).

 

You can specify the position as left, right, top, or bottom

 

for a rectangular region, or as an edge number for any shape

 

of region. The edge number num is the lower index of the

 

edge’s two end points relative to the point ordering when the

 

polygon was defined (in the case of rectangles, edge 0 is the

 

left, edge 1 the top, edge 2 the right, and edge 3 the bottom).

 

Position can, instead of or in addition to an edge position, be

 

(x x_value) and/or (y y_value). If overspecified (for

 

example, left as well as y), the absolute coordinate takes

 

precedence. The order specification indicates the ordering

 

along the appropriate edge (0 being left or bottom).

Pin Definition Examples

Below are some pin definition examples:

(pin (net1) (layer metal1)

(shape (rectangle (minWidth)))

)

(pin "Vdd"

(layer metal1)

December 2002

160

Product Version 5.0

Virtuoso XL Layout Editor User Guide

Generating Your Layout with Virtuoso XL Layout Editor

(shape (rectangle width 3 height 3))

)

(pin "Gnd"

(layer metal2)

(shape (rectangle aspect_ratio 1.0 width 25))

)

I/O Section Examples

In this example, MET1 is the default layer for pins A, B, and C. MET2 is the default layer for D and E. All other pins, whether or not they are named in the template, will have MET2 (the most recent choice) as the default layer when you open the Layout Generation Options form.

(I/O_section (layer MET1) (pin A ...) (pin B ...) (pin C ...) (layer MET2) (pin D ...) (pin E ...)

)

In the next example, pins A, B, and C are on layer MET1. Their size is the minimum width of that layer. Pins Vdd and Gnd are on layer MET2. Their size is 10x10.

All the remaining pins in the cell (one for every net with an I/O terminal) are on POLY. Their size is the minimum width of POLY.

(I/O_section

(layer MET1) (minWidth)

(pin (A B C) )

(layer MET2)

(pin “Vdd” width 10 height 10 ) (pin “Gnd” width 10 height 10 ) (layer POLY)

)

Partitioning Section Examples

partitioning_section( sectionContents )

December 2002

161

Product Version 5.0

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]