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

Virtuoso XL Layout Editor User Guide

Editing Your Technology File for Virtuoso XL Layout Editor

Virtuoso XL Rules (lxRules)

In the lxRules class, Virtuoso XL requires information about layer purposes using the following subclasses:

lxExtractLayers (leConducting in versions 4.3.4 and earlier) defines conducting layers.

lxNoOverlapLayers (leOverlap in versions 4.3.4 and earlier) defines layers that cannot overlap.

Note: In previous releases, the lxRules class was called the dleRules class.

All purposes within a layer are electrically equivalent unless they are defined separately in the layerRules class.

You must specify layers used for connectivity with lxExtractLayers.

In this example, all metal1 drawing layers and metal2 net and metal2 pin layers connect components. The list for lxExtractLayers must be one line, with no end-of-line or return characters.

lxRules(

lxExtractLayers(

((metal1 (metal2 pin)(metal2 net))

)

)

You must set lxExtractLayers for a layer before you can set lxNoOverlapLayers and equivalentLayers for that layer.

lxNoOverlapLayers specifies two layers that cannot overlap. In this example, when the poly layer touches the diff layer, Virtuoso XL reports an error.

lxRules(

lxNoOverlapLayers(

(poly diff)

)

)

Note: If you are working with a hierarchical design, you can set properties on instances at the lower levels of the design to avoid false overlap and short markers.

The lxBlockOverlapCheck property, defined on a shape, instance, or instance master, tells the extractor not to check whether a nonoverlap layer of this shape or instance is touching a nonoverlap layer at the current cellview level.

December 2002

32

Product Version 5.0

Virtuoso XL Layout Editor User Guide

Editing Your Technology File for Virtuoso XL Layout Editor

For example, if you define thelxBlockOverlapCheck property on a shape in cellview “A”, you will not see any markers when overlapping the shape with an instance. However, if cellview “A” is placed inside cellview “B”, andnoOverlap layer is drawn over the shape in cellview “A”, then a marker will appear. This happens even though the shape in cellview “A” has the lxBlockOverlapCheck property defined.

The lxBlockExtractCheck property, defined on a shape only, tells the extractor not to check the connectivity between this shape and others it touches.

December 2002

33

Product Version 5.0

Virtuoso XL Layout Editor User Guide

Editing Your Technology File for Virtuoso XL Layout Editor

Compactor Rules

If you plan to use the Virtuoso compactor to compact your Virtuoso XL design, you need to include information about layer purposes in the compactorRules class, using the following subclasses:

compactorLayers defines the layer names and purposes used in the design.

compactorLayers(

; layer

usage

; -----

-----

( diff

"diffusion" )

( poly1

"conduction" )

( metal1

"conduction" )

( metal2

"conduction" )

( metal3

"conduction" )

( via

"via" )

( via2

"via" )

( pwell

"well" )

( pimplant

"implant" )

( hardFence

"hardFence" )

( softFence

"softFence" )

( prBoundary

"cellBoundary" )

)

 

symWires lists symbolic wires and how the compactor processes them when it compacts a design.

symWires(

 

 

 

 

 

 

 

 

 

 

;( name

layer

[(impLayer impSpacing)] [(default min max)] [(legalRegion

regionLayer)] [WLM] )

 

 

 

 

 

 

 

 

 

;( ----

-----

--------- -----------

--- --- -------

----------- -

---------

--- )

 

 

 

 

 

 

 

 

 

("poly1"

("poly1" "drawing") nil

(.6 nil nil)

 

nil

5.0 )

 

 

("pdiff"

("diff" "drawing") (("pimplant" "drawing") .3)

(.6 nil nil)

("outside"

"pwell")

100.0 )

 

 

 

 

 

 

 

 

 

("ndiff"

("diff" "drawing")

nil

(.6 nil nil)

 

("inside" "pwell")

 

100.0 )

("metal1"

("metal1" "drawing")

nil

(.6 nil nil)

nil 0.04 )

 

 

("metal2"

("metal2" "drawing")

nil

(.6 nil nil)

nil

0.02 )

 

 

("metal3"

("metal3" "drawing")

nil

(1.2 nil nil)

nil

0.02 )

 

 

)

 

 

 

 

 

 

 

 

 

 

symRules checks enclosures between objects on different layers and spacing of objects on the same layer. The drc functions specify that rules apply only to particular devices or objects on the same or different nets.

symRules(

; list of rules

drc(("cont" "drawing" "M1_POLY1") ("diff" "drawing" "NTR") (sep < .6))

drc(("cont" "drawing" "M1_POLY1") ("diff" "drawing" "PTR") (sep < .6))

)

December 2002

34

Product Version 5.0

Virtuoso XL Layout Editor User Guide

Editing Your Technology File for Virtuoso XL Layout Editor

) ; end of Compactor Rules

For more information about the compactorRules and symWires subclasses, see the

Technology File and Display Resource File SKILL Reverence Manual.

For more information about using the Virtuoso compactor, see the Virtuoso Compactor Reference Manual.

December 2002

35

Product Version 5.0

Virtuoso XL Layout Editor User Guide

Editing Your Technology File for Virtuoso XL Layout Editor

December 2002

36

Product Version 5.0

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