OpenRAM/technology/scn4m_subm/tf/mosis.tf

871 lines
42 KiB
HCL

; Generated on Sep 28 16:05:23 1998
; with @(#)$CDS: icfb.exe version 4.4.1 06/17/98 23:40 (cds10067) $
;
; Matt Clapp fixed: October 10, 2002
; added via devices, deleted useless app-specific crap,
; added lxExtractRules so undo in layout editor doesn't
; complain.
;********************************
; LAYER DEFINITION
;********************************
layerDefinitions(
techLayers(
;( LayerName Layer# Abbreviation )
;( --------- ------ ------------ )
;User-Defined Layers:
( P2Con 3 P2Con )
( Poly2 7 Poly2 )
( Pbase 10 Pbase )
( Resistor 16 Resisto )
( Capacitor 17 Capacit )
( Diode 18 Diode )
( SiBlock 29 SiBlock )
( HR 34 HR )
( Pwell 41 Pwell )
( Nwell 42 Nwell )
( Active 43 Active )
( Pselect 44 Pselect )
( Nselect 45 Nselect )
( Poly1 46 Poly1 )
( P1Con 47 P1Con )
( ActX 48 ActX )
( Metal1 49 Metal1 )
( Via 50 Via )
( Metal2 51 Metal2 )
( Glass 52 Glass )
( CapWell 59 CapWell )
( XP 60 XP )
( Via2 61 Via2 )
( Metal3 62 Metal3 )
( Via3 30 Via3 )
( Metal4 31 Metal4 )
( A1 80 A1 )
( A2 81 A2 )
( comment 117 comment )
;System-Reserved Layers:
( Unrouted 200 Unroute )
( Row 201 Row )
( Group 202 Group )
( Cannotoccupy 203 Cannoto )
( Canplace 204 Canplac )
( hardFence 205 hardFen )
( softFence 206 softFen )
( y0 207 y0 )
( y1 208 y1 )
( y2 209 y2 )
( y3 210 y3 )
( y4 211 y4 )
( y5 212 y5 )
( y6 213 y6 )
( y7 214 y7 )
( y8 215 y8 )
( y9 216 y9 )
( designFlow 217 designF )
( stretch 218 stretch )
( edgeLayer 219 edgeLay )
( changedLayer 220 changed )
( unset 221 unset )
( unknown 222 unknown )
( spike 223 spike )
( hiz 224 hiz )
( resist 225 resist )
( drive 226 drive )
( supply 227 supply )
( wire 228 wire )
( pin 229 pin )
( text 230 text )
( device 231 device )
( border 232 border )
( snap 233 snap )
( align 234 align )
( prBoundary 235 prBound )
( instance 236 instanc )
( annotate 237 annotat )
( marker 238 marker )
( select 239 select )
( grid 251 grid )
( axis 252 axis )
( hilite 253 hilite )
( background 254 backgro )
) ;techLayers
techPurposes(
;( PurposeName Purpose# Abbreviation )
;( ----------- -------- ------------ )
;User-Defined Purposes:
;System-Reserved Purposes:
( warning 234 wng )
( tool1 235 tl1 )
( tool0 236 tl0 )
( label 237 lbl )
( flight 238 flt )
( error 239 err )
( annotate 240 ant )
( drawing1 241 dr1 )
( drawing2 242 dr2 )
( drawing3 243 dr3 )
( drawing4 244 dr4 )
( drawing5 245 dr5 )
( drawing6 246 dr6 )
( drawing7 247 dr7 )
( drawing8 248 dr8 )
( drawing9 249 dr9 )
( boundary 250 bnd )
( pin 251 pin )
( drawing 252 drw )
( net 253 net )
( cell 254 cel )
( all 255 all )
) ;techPurposes
techLayerPurposePriorities(
;layers are ordered from lowest to highest priority
; (higher priority is drawn on top of lower priority)
;( LayerName Purpose )
;( --------- ------- )
( background drawing )
( grid drawing )
( grid drawing1 )
( Nwell drawing )
( Pwell drawing )
( CapWell drawing )
( Pselect drawing )
( Nselect drawing )
( Active drawing )
( ActX drawing )
( SiBlock drawing )
( HR drawing )
( Poly1 drawing )
( P1Con drawing )
( Poly2 drawing )
( P2Con drawing )
( Metal1 drawing )
( Via drawing )
( Metal2 drawing )
( Via2 drawing )
( Metal3 drawing )
( Via3 drawing )
( Metal4 drawing )
( annotate drawing )
( annotate drawing1 )
( annotate drawing2 )
( annotate drawing3 )
( annotate drawing4 )
( annotate drawing5 )
( annotate drawing6 )
( annotate drawing7 )
( annotate drawing8 )
( annotate drawing9 )
( Poly1 pin )
( Metal1 pin )
( Metal2 pin )
( Metal3 pin )
( Metal4 pin )
( Glass drawing )
( XP drawing )
( prBoundary drawing )
( prBoundary boundary )
( instance drawing )
( prBoundary label )
( instance label )
( Row drawing )
( Nwell net )
( align drawing )
( Pwell net )
( CapWell net )
( hardFence drawing )
( Active net )
( softFence drawing )
( Row label )
( Group drawing )
( Group label )
( Cannotoccupy drawing )
( Cannotoccupy boundary )
( Canplace drawing )
( ActX net )
( A2 drawing )
( A1 drawing )
( comment drawing )
( border drawing )
( Pselect net )
( Nselect net )
( SiBlock net )
( HR net )
( wire drawing )
( Poly1 net )
( wire label )
( P1Con net )
( wire flight )
( Metal1 net )
( device annotate )
( Metal2 net )
( device label )
( Via net )
( Metal3 net )
( Via2 net )
( Metal4 net )
( Via3 net )
( pin label )
( text drawing )
( pin drawing )
( text drawing1 )
( pin annotate )
( device drawing )
( axis drawing )
( edgeLayer drawing )
( edgeLayer pin )
( snap drawing )
( stretch drawing )
( y0 drawing )
( y1 drawing )
( y2 drawing )
( y3 drawing )
( y4 drawing )
( y5 drawing )
( y6 drawing )
( y7 drawing )
( y8 drawing )
( y9 drawing )
( hilite drawing )
( hilite drawing1 )
( hilite drawing2 )
( hilite drawing3 )
( hilite drawing4 )
( hilite drawing5 )
( hilite drawing6 )
( hilite drawing7 )
( hilite drawing8 )
( hilite drawing9 )
( select drawing )
( drive drawing )
( hiz drawing )
( resist drawing )
( spike drawing )
( supply drawing )
( unknown drawing )
( unset drawing )
( designFlow drawing )
( designFlow drawing1 )
( designFlow drawing2 )
( designFlow drawing3 )
( designFlow drawing4 )
( designFlow drawing5 )
( designFlow drawing6 )
( designFlow drawing7 )
( designFlow drawing8 )
( designFlow drawing9 )
( changedLayer tool0 )
( changedLayer tool1 )
( marker warning )
( marker error )
( device drawing1 )
( Pbase drawing )
( Pbase net )
( Resistor net )
( Resistor drawing )
( Capacitor net )
( Capacitor drawing )
( Diode net )
( Diode drawing )
( Poly2 net )
( P2Con net )
( device drawing2 )
( Unrouted drawing )
( text drawing2 )
( Unrouted drawing1 )
( Unrouted drawing2 )
( Unrouted drawing3 )
( Unrouted drawing4 )
( Unrouted drawing5 )
( Unrouted drawing6 )
( Unrouted drawing7 )
( Unrouted drawing8 )
( Unrouted drawing9 )
) ;techLayerPurposePriorities
techDisplays(
;( LayerName Purpose Packet Vis Sel Con2ChgLy DrgEnbl Valid )
;( --------- ------- ------ --- --- --------- ------- ----- )
( background drawing background t nil nil nil nil )
( grid drawing grid t nil nil nil nil )
( grid drawing1 grid1 t nil nil nil nil )
( Nwell drawing Nwell t t t t t )
( Pwell drawing Pwell t t t t nil )
( Active drawing Active t t t t t )
( ActX drawing ActX t t t t t )
( Pselect drawing Pselect t t t t t )
( Nselect drawing Nselect t t t t t )
( SiBlock drawing SiBlock t t t t t )
( HR drawing HR t t t t t )
( CapWell drawing CapWell t t t t t )
( Poly1 drawing Poly1 t t t t t )
( P1Con drawing P1Con t t t t t )
( Metal1 drawing Metal1 t t t t t )
( Via drawing Via t t t t t )
( Metal2 drawing Metal2 t t t t t )
( annotate drawing annotate t t nil t nil )
( annotate drawing1 annotate1 t t nil t nil )
( annotate drawing2 annotate2 t t nil t nil )
( annotate drawing3 annotate3 t t nil t nil )
( annotate drawing4 annotate4 t t nil t nil )
( annotate drawing5 annotate5 t t nil t nil )
( annotate drawing6 annotate6 t t nil t nil )
( annotate drawing7 annotate7 t t nil t nil )
( annotate drawing8 annotate8 t t nil t nil )
( annotate drawing9 annotate9 t t nil t nil )
( Via2 drawing Via2 t t t t t )
( Metal3 drawing Metal3 t t t t t )
( Via3 drawing Via3 t t t t t )
( Metal4 drawing Metal4 t t t t t )
( Glass drawing Glass t t t nil t )
( XP drawing XP t t t nil t )
( Metal1 pin Metal1Pin t t t nil t )
( Metal2 pin Metal2Pin t t t nil t )
( Metal3 pin Metal3Pin t t t nil t )
( Metal4 pin Metal4Pin t t t nil t )
( Poly1 pin Poly1Pin t t t nil t )
( prBoundary drawing prBoundary t t nil t nil )
( prBoundary boundary prBoundaryBnd t t nil t nil )
( instance drawing instance t t nil t t )
( prBoundary label prBoundaryLbl t t t t nil )
( instance label instanceLbl t t t t nil )
( Row drawing Row t t t t nil )
( Nwell net NwellNet t t t nil nil )
( align drawing align t t nil t nil )
( Pwell net PwellNet t t t nil nil )
( CapWell net CapWellNet t t t nil nil )
( SiBlock net SiBlockNet t t t nil nil )
( HR net HRnet t t t nil nil )
( hardFence drawing hardFence t t t t nil )
( Active net ActiveNet t t t nil nil )
( softFence drawing softFence t t t t nil )
( Row label RowLbl t t t t nil )
( Group drawing Group t t t t nil )
( Group label GroupLbl t t t t nil )
( Cannotoccupy drawing Cannotoccupy t t t t nil )
( Cannotoccupy boundary CannotoccupyBnd t t t t nil )
( Canplace drawing Canplace t t t t nil )
( ActX net ActXNet t t t nil nil )
( A2 drawing A2 t t t t nil )
( A1 drawing A1 t t t t nil )
( comment drawing comment t t t t nil )
( border drawing border t t t t nil )
( Pselect net PselectNet t t t nil nil )
( Nselect net NselectNet t t t nil nil )
( wire drawing wire t t t t nil )
( Poly1 net Poly1Net t t t nil nil )
( wire label wireLbl t t t t nil )
( P1Con net P1ConNet t t t nil nil )
( wire flight wireFlt t t t t nil )
( Metal1 net Metal1Net t t t nil nil )
( device annotate deviceAnt t t t t nil )
( Metal2 net Metal2Net t t t nil nil )
( Metal3 net Metal3Net t t t nil nil )
( Metal4 net Metal4Net t t t nil nil )
( device label deviceLbl t t t t nil )
( Via net ViaNet t t t nil nil )
( Via2 net Via2Net t t t nil nil )
( pin label pinLbl t t t t nil )
( text drawing text t t t t t )
( pin drawing pin t t t t nil )
( text drawing1 text1 t t t t nil )
( pin annotate pinAnt t t t t nil )
( device drawing device t t t t nil )
( axis drawing axis t t t t nil )
( edgeLayer drawing edgeLayer t t nil t nil )
( edgeLayer pin edgeLayerPin t t nil t nil )
( snap drawing snap t t nil t nil )
( stretch drawing stretch t t nil t nil )
( y0 drawing y0 t t nil t nil )
( y1 drawing y1 t t nil t nil )
( y2 drawing y2 t t nil t nil )
( y3 drawing y3 t t nil t nil )
( y4 drawing y4 t t nil t nil )
( y5 drawing y5 t t nil t nil )
( y6 drawing y6 t t nil t nil )
( y7 drawing y7 t t nil t nil )
( y8 drawing y8 t t nil t nil )
( y9 drawing y9 t t nil t nil )
( hilite drawing hilite t t nil t nil )
( hilite drawing1 hilite1 t t t t nil )
( hilite drawing2 hilite2 t t nil t nil )
( hilite drawing3 hilite3 t t t t nil )
( hilite drawing4 hilite4 t t t t nil )
( hilite drawing5 hilite5 t t t t nil )
( hilite drawing6 hilite6 t t t t nil )
( hilite drawing7 hilite7 t t t t nil )
( hilite drawing8 hilite8 t t t t nil )
( hilite drawing9 hilite9 t t t t nil )
( select drawing select t t nil t nil )
( drive drawing drive t t t t nil )
( hiz drawing hiz t t t t nil )
( resist drawing resist t t t t nil )
( spike drawing spike t t t t nil )
( supply drawing supply t t t t nil )
( unknown drawing unknown t t t t nil )
( unset drawing unset t t t t nil )
( designFlow drawing designFlow t t t nil nil )
( designFlow drawing1 designFlow1 t t t nil nil )
( designFlow drawing2 designFlow2 t t t nil nil )
( designFlow drawing3 designFlow3 t t t nil nil )
( designFlow drawing4 designFlow4 t t t nil nil )
( designFlow drawing5 designFlow5 t t t nil nil )
( designFlow drawing6 designFlow6 t t t nil nil )
( designFlow drawing7 designFlow7 t t t nil nil )
( designFlow drawing8 designFlow8 t t t nil nil )
( designFlow drawing9 designFlow9 t t t nil nil )
( changedLayer tool0 changedLayerTl0 nil nil nil nil nil )
( changedLayer tool1 changedLayerTl1 nil nil t nil nil )
( marker warning markerWarn t t t t nil )
( marker error markerErr t t t t nil )
( device drawing1 device1 t t t t nil )
( Poly2 net Poly2Net t t t nil nil )
( Poly2 drawing Poly2 t t t t t )
( P2Con net P2ConNet t t t nil nil )
( P2Con drawing P2Con t t t t t )
( Pbase net PbaseNet t t t nil nil )
( Pbase drawing Pbase t t t t t )
( Resistor net ResistorNet t t t nil nil )
( Resistor drawing Resistor t t t t t )
( Capacitor net CapacitorNet t t t nil nil )
( Capacitor drawing Capacitor t t t t t )
( Diode net DiodeNet t t t nil nil )
( Diode drawing Diode t t t t t )
( device drawing2 device2 t t t t nil )
( Unrouted drawing Unrouted t t t t nil )
( text drawing2 text2 t t t t nil )
( Unrouted drawing1 Unrouted1 t t t t nil )
( Unrouted drawing2 Unrouted2 t t t t nil )
( Unrouted drawing3 Unrouted3 t t t t nil )
( Unrouted drawing4 Unrouted4 t t t t nil )
( Unrouted drawing5 Unrouted5 t t t t nil )
( Unrouted drawing6 Unrouted6 t t t t nil )
( Unrouted drawing7 Unrouted7 t t t t nil )
( Unrouted drawing8 Unrouted8 t t t t nil )
( Unrouted drawing9 Unrouted9 t t t t nil )
) ;techDisplays
; I don't think the following is necessary (or used!)
techLayerProperties(
;( PropName Layer1 [ Layer2 ] PropValue )
( contactLimit P2Con 10000 )
( eqPinLimit P2Con 10000 )
( horizontalJogLength P2Con 2147483648.000000 )
( routingGrid P2Con 1.000000 )
( verticalJogLength P2Con 2147483648.000000 )
( routingGrid Poly2 1.000000 )
( contactLimit Active 10000 )
( eqPinLimit Active 10000 )
( horizontalJogLength Active 2147483648.000000 )
( routingGrid Active 1.000000 )
( verticalJogLength Active 2147483648.000000 )
( routingGrid Poly1 1.000000 )
( contactLimit P1Con 10000 )
( eqPinLimit P1Con 10000 )
( horizontalJogLength P1Con 2147483648.000000 )
( routingGrid P1Con 1.000000 )
( verticalJogLength P1Con 2147483648.000000 )
( contactLimit ActX 10000 )
( eqPinLimit ActX 10000 )
( horizontalJogLength ActX 2147483648.000000 )
( routingGrid ActX 1.000000 )
( verticalJogLength ActX 2147483648.000000 )
( routingGrid Metal1 1.000000 )
( contactLimit Via 10000 )
( eqPinLimit Via 10000 )
( horizontalJogLength Via 2147483648.000000 )
( routingGrid Via 1.000000 )
( verticalJogLength Via 2147483648.000000 )
( routingGrid Metal2 1.000000 )
)
) ;layerDefinitions
;********************************
; DEVICE RULES
;********************************
devices(
tcCreateCDSDeviceClass()
symContactDevice(
;( deviceName viaLayer viaPurpose
( VIA Via drawing
; layer1 purpose1 [implant1]
Metal1 drawing
; layer2 purpose2 [implant2]
Metal2 drawing
; width length [( row column xPitch yPitch xBias yBias )]
; 2 2 ( 1 1 _NA_ _NA_ _NA_ _NA_ )
2 2
; encLayer1 encLayer2 legalRegion )
1 1 _NA_)
) ;symContactDevice
symContactDevice(
;( deviceName viaLayer viaPurpose
( VIA2 Via2 drawing
; layer1 purpose1 [implant1]
Metal2 drawing
; layer2 purpose2 [implant2]
Metal3 drawing
; width length [( row column xPitch yPitch xBias yBias )]
; 2 2 ( 1 1 _NA_ _NA_ _NA_ _NA_ )
2 2
; encLayer1 encLayer2 legalRegion )
1 2 _NA_)
) ;symContactDevice
) ;devices
;********************************
; LAYER RULES
;********************************
layerRules(
streamLayers(
;( layer streamNumber dataType translate )
;( ----- ------------ -------- --------- )
( ("background" "drawing") 0 0 nil )
( ("grid" "drawing") 0 0 nil )
( ("grid" "drawing1") 0 0 nil )
( ("Nwell" "drawing") 42 0 t )
( ("Pwell" "drawing") 41 0 t )
( ("Active" "drawing") 43 0 t )
( ("ActX" "drawing") 48 0 t )
( ("Pselect" "drawing") 44 0 t )
( ("Nselect" "drawing") 45 0 t )
( ("Poly1" "drawing") 46 0 t )
( ("P1Con" "drawing") 47 0 t )
( ("Metal1" "drawing") 49 0 t )
( ("Metal2" "drawing") 51 0 t )
( ("Metal3" "drawing") 62 0 t )
( ("Metal4" "drawing") 31 0 t )
( ("annotate" "drawing") 0 0 nil )
( ("annotate" "drawing1") 0 0 nil )
( ("annotate" "drawing2") 0 0 nil )
( ("annotate" "drawing3") 0 0 nil )
( ("annotate" "drawing4") 0 0 nil )
( ("annotate" "drawing5") 0 0 nil )
( ("annotate" "drawing6") 0 0 nil )
( ("annotate" "drawing7") 0 0 nil )
( ("annotate" "drawing8") 0 0 nil )
( ("annotate" "drawing9") 0 0 nil )
( ("Glass" "drawing") 52 0 t )
( ("XP" "drawing") 60 0 t )
( ("Metal2" "pin") 0 0 nil )
( ("Poly1" "pin") 0 0 nil )
( ("prBoundary" "drawing") 0 0 nil )
( ("Metal1" "pin") 0 0 nil )
( ("prBoundary" "boundary") 0 0 nil )
( ("instance" "drawing") 246 0 nil )
( ("instance" "label") 0 0 nil )
( ("Nwell" "net") 0 0 nil )
( ("align" "drawing") 0 0 nil )
( ("Pwell" "net") 0 0 nil )
( ("hardFence" "drawing") 0 0 nil )
( ("Active" "net") 0 0 nil )
( ("softFence" "drawing") 0 0 nil )
( ("ActX" "net") 0 0 nil )
( ("A2" "drawing") 5 0 nil )
( ("A1" "drawing") 2 0 nil )
( ("comment" "drawing") 0 0 nil )
( ("border" "drawing") 0 0 nil )
( ("Pselect" "net") 0 0 nil )
( ("Nselect" "net") 0 0 nil )
( ("wire" "drawing") 0 0 nil )
( ("Poly1" "net") 0 0 nil )
( ("P1Con" "net") 0 0 nil )
( ("Metal1" "net") 0 0 nil )
( ("Metal2" "net") 0 0 nil )
( ("Metal3" "net") 0 0 nil )
( ("Metal4" "net") 0 0 nil )
( ("device" "label") 0 0 nil )
( ("pin" "label") 0 0 nil )
( ("text" "drawing") 63 0 t )
( ("pin" "drawing") 0 0 nil )
( ("device" "drawing") 0 0 nil )
( ("axis" "drawing") 0 0 nil )
( ("edgeLayer" "drawing") 0 0 nil )
( ("edgeLayer" "pin") 0 0 nil )
( ("snap" "drawing") 0 0 nil )
( ("stretch" "drawing") 0 0 nil )
( ("y0" "drawing") 0 0 nil )
( ("y1" "drawing") 0 0 nil )
( ("y2" "drawing") 0 0 nil )
( ("y3" "drawing") 0 0 nil )
( ("y4" "drawing") 0 0 nil )
( ("y5" "drawing") 0 0 nil )
( ("y6" "drawing") 0 0 nil )
( ("y7" "drawing") 0 0 nil )
( ("y8" "drawing") 0 0 nil )
( ("y9" "drawing") 0 0 nil )
( ("hilite" "drawing") 0 0 nil )
( ("hilite" "drawing2") 0 0 nil )
( ("select" "drawing") 0 0 nil )
( ("drive" "drawing") 0 0 nil )
( ("hiz" "drawing") 0 0 nil )
( ("resist" "drawing") 0 0 nil )
( ("spike" "drawing") 0 0 nil )
( ("supply" "drawing") 0 0 nil )
( ("unknown" "drawing") 0 0 nil )
( ("unset" "drawing") 0 0 nil )
( ("changedLayer" "tool0") 0 0 nil )
( ("Resistor" "net") 0 0 nil )
( ("Resistor" "drawing") 0 0 nil )
( ("Capacitor" "net") 0 0 nil )
( ("Capacitor" "drawing") 0 0 nil )
( ("Diode" "net") 0 0 nil )
( ("Diode" "drawing") 0 0 nil )
( ("Poly2" "net") 0 0 nil )
( ("Poly2" "drawing") 0 0 nil )
( ("P2Con" "net") 0 0 nil )
( ("P2Con" "drawing") 0 0 nil )
( ("Pbase" "drawing") 0 0 nil )
( ("Pbase" "net") 0 0 nil )
( P2Con 0 0 nil )
( Poly2 0 0 nil )
( Pwell 0 0 nil )
( Nwell 0 0 nil )
( Active 0 0 nil )
( Pselect 0 0 nil )
( Nselect 0 0 nil )
( Poly1 0 0 nil )
( P1Con 0 0 nil )
( ActX 0 0 nil )
( Metal1 0 0 nil )
( Via 0 0 nil )
( Metal2 0 0 nil )
( Glass 0 0 nil )
( XP 0 0 nil )
( ("Via" "drawing") 50 0 t )
( ("Via" "net") 0 0 nil )
( ("Via2" "drawing") 61 0 t )
( ("Via2" "net") 0 0 nil )
( ("Via3" "drawing") 30 0 t )
( ("Via3" "net") 0 0 nil )
( ("CapWell" "drawing") 0 0 nil )
( ("CapWell" "net") 0 0 nil )
( ("SiBlock" "drawing") 0 0 nil )
( ("SiBlock" "net") 0 0 nil )
( ("HR" "drawing") 0 0 nil )
( ("HR" "net") 0 0 nil )
) ;streamLayers
viaLayers(
;( layer1 viaLayer layer2 )
;( ------ -------- ------ )
( Metal3 Via3 Metal4 )
( Metal2 Via2 Metal3 )
( Metal1 Via Metal2 )
( Active ActX Poly1 )
( Poly1 P1Con Metal1 )
( Poly2 P2Con Metal1 )
) ;viaLayers
) ;layerRules
;********************************
; PHYSICAL RULES
;********************************
physicalRules(
orderedSpacingRules(
;( rule layer1 layer2 value )
;( ---- ------ ------ ----- )
( minEnclosure "prBoundary" "Metal1" 0.0 )
( minEnclosure "Metal2" "Via" 1.0 )
( minEnclosure "Metal1" "Via" 1.0 )
( minEnclosure "Metal1" "P1Con" 1.0 )
( minEnclosure "Metal1" "ActX" 1.0 )
( minEnclosure "Nselect" "Active" 2.0 )
( minEnclosure "Pselect" "Active" 2.0 )
( minEnclosure "Active" "ActX" 1.0 )
( minEnclosure "Pwell" "Active" 5.0 )
( minEnclosure "Nwell" "Active" 5.0 )
) ;orderedSpacingRules
spacingRules(
;( rule layer1 layer2 value )
;( ---- ------ ------ ----- )
( minSpacing "P2Con" 2.0 )
( minSpacing "Poly2" 3.0 )
( minSpacing "Pwell" 9.0 )
( minSpacing "Nwell" 9.0 )
( minSpacing "Active" 3.0 )
( minSpacing "Pselect" 2.0 )
( minSpacing "Nselect" 2.0 )
( minSpacing "Poly1" 2.0 )
( minSpacing "P1Con" 2.0 )
( minSpacing "ActX" 2.0 )
( minSpacing "Metal1" 3.0 )
( minSpacing "Via" 3.0 )
( minSpacing "Via2" 3.0 )
( minSpacing "Metal2" 3.0 )
( minSpacing "Metal3" 4.0 )
( minSpacing "Glass" 75.0 )
( minSpacing "XP" 100.0 )
( minSpacing "Metal2" 4.0 )
( minSpacing "P1Con" "Via" 2.0 )
( minSpacing "ActX" "Via" 2.0 )
( minSpacing "ActX" "P2Con" 2.0 )
( minSpacing "Poly2" "P2Con" 4.0 )
( minSpacing "Poly1" "P1Con" 4.0 )
( minSpacing "ActX" "P1Con" 2.0 )
( minSpacing "Active" "P1Con" 2.0 )
( minSpacing "Active" "Poly2" 2.0 )
( minSpacing "Poly1" "Poly2" 2.0 )
( minSpacing "Active" "Poly1" 2.0 )
( minSpacing "ActX" "Poly1" 2.0 )
( minSpacing "Pselect" "Nselect" 0.0 )
( minSpacing "Nwell" "Pwell" 9.0 )
( minWidth "P2Con" 2.0 )
( minWidth "Poly2" 3.0 )
( minWidth "Pwell" 10.0 )
( minWidth "Nwell" 10.0 )
( minWidth "Active" 3.0 )
( minWidth "Pselect" 2.0 )
( minWidth "Nselect" 2.0 )
( minWidth "Poly1" 2.0 )
( minWidth "P1Con" 2.0 )
( minWidth "ActX" 2.0 )
( minWidth "Metal1" 4.0 )
( minWidth "Via" 2.0 )
( minWidth "Metal2" 4.0 )
( minWidth "Glass" 75.0 )
( minWidth "XP" 100.0 )
( minWidth "Metal3" 6.0 )
) ;spacingRules
mfgGridResolution(
( 1.000000 )
) ;mfgGridResolution
) ;physicalRules
;********************************
; ELECTRICAL RULES
;********************************
electricalRules(
characterizationRules(
;( rule layer1 layer2 value )
;( ---- ------ ------ ----- )
( areaCap "P2Con" 0.0 )
( areaCap "Poly2" 0.0 )
( areaCap "Active" 0.0 )
( areaCap "Poly1" 6e-05 )
( areaCap "P1Con" 0.0 )
( areaCap "ActX" 0.0 )
( areaCap "Metal1" 2.6e-05 )
( areaCap "Via" 0.0 )
( areaCap "Metal2" 1.6e-05 )
( edgeCapacitance "P2Con" 0.0 )
( edgeCapacitance "Poly2" 0.0 )
( edgeCapacitance "Active" 0.0 )
( edgeCapacitance "Poly1" 0.0 )
( edgeCapacitance "P1Con" 0.0 )
( edgeCapacitance "ActX" 0.0 )
( edgeCapacitance "Metal1" 0.0 )
( edgeCapacitance "Via" 0.0 )
( edgeCapacitance "Metal2" 0.0 )
( sheetRes "P2Con" 0.0 )
( sheetRes "Poly2" 0.0 )
( sheetRes "Active" 0.0 )
( sheetRes "Poly1" 23.0 )
( sheetRes "P1Con" 0.0 )
( sheetRes "ActX" 0.0 )
( sheetRes "Metal1" 0.04 )
( sheetRes "Via" 0.0 )
( sheetRes "Metal2" 0.07 )
( currentDensity "P2Con" 1.0 )
( currentDensity "Poly2" 1.0 )
( currentDensity "Active" 1.0 )
( currentDensity "Poly1" 1.0 )
( currentDensity "P1Con" 1.0 )
( currentDensity "ActX" 1.0 )
( currentDensity "Metal1" 1.0 )
( currentDensity "Via" 1.0 )
( currentDensity "Metal2" 1.0 )
( currentDensity "Via2" 1.0 )
( currentDensity "Metal3" 1.0 )
( currentDensity "Via3" 1.0 )
( currentDensity "Metal4" 1.0 )
) ;characterizationRules
) ;electricalRules
;********************************
; LAYOUT EDITOR RULES
;********************************
; specifies the ordering of the layers in the LSW
leRules(
leLswLayers(
;( layer purpose )
; ----- ------- )
( Nwell drawing )
( Pselect drawing )
( Nselect drawing )
( Active drawing )
( ActX drawing )
( Poly1 drawing )
( P1Con drawing )
( Metal1 drawing )
( Via drawing )
( Metal2 drawing )
( Via2 drawing )
( Metal3 drawing )
( Via3 drawing )
( Metal4 drawing )
( Poly1 pin )
( Metal1 pin )
( Metal2 pin )
( Metal3 pin )
( Metal4 pin )
( Poly2 drawing )
( P2Con drawing )
( instance drawing )
( text drawing )
( CapWell drawing )
( SiBlock drawing )
( HR drawing )
( Pbase drawing )
( Resistor drawing )
( Capacitor drawing )
( Diode drawing )
( Glass drawing )
( XP drawing )
) ;leLswLayers
) ;leRules
;********************************
; VIRTUOSO XL RULES
;********************************
; specifies the ordering of the layers in the LSW
lxRules(
lxExtractLayers(
(Metal1 Metal2 Metal3 Metal4)
) ;lxExtractLayers
) ;lxRules