next up previous contents index
Next: Resource File Up: Technology File Previous: Hardcopy Driver Parameters   Contents   Index

Example Technology File

Below is the default scalable-CMOS technology file, which illustrates the use of many of keywords and constructs described in this Appendix.

Comment Xic technology file for MOSIS scalable CMOS
Comment Whiteley Research Inc., dated 9/23/98 (device blocks added)
Comment Whiteley Research Inc., dated 10/6/98 (device blocks modified)
Comment Whiteley Research Inc., dated 3/15/99 (updated for 2.3.0)
Comment Whiteley Research Inc., dated 3/28/99 (updated for 2.3.1)
Comment Whiteley Research Inc., dated 4/12/99 (updated for 2.3.3, mosis 7.2)
Comment Whiteley Research Inc., dated 5/9/99 (added scripts)
Comment Whiteley Research Inc., dated 8/6/99 (oct tweeks)
Comment Whiteley Research Inc., dated 2/13/00 (vias in CCG, layer order, \
  script tweeks)
Comment Whiteley Research Inc., dated 9/28/00 (Path definitions commented out)
Comment Whiteley Research Inc., dated 2/1/01 (Enhancements to scripts)
Comment Whiteley Research Inc., dated 2/14/01 (deleted plot5 print block)
Comment Whiteley Research Inc., dated 3/4/01 (Added Thickness, etc to layers, \
  these are guesses for testing extraction)
Comment Whiteley Research Inc., dated 7/7/01 (Added precision to Measure lines)
Comment Whiteley Research Inc., dated 8/6/01 (Interactive DRC limits changed)
Comment Whiteley Research Inc., dated 9/16/01 (driver blocks updated)
Comment Whiteley Research Inc., dated 3/10/02 "Merge M" -> "Merge"
Comment Whiteley Research Ibc., dated 4/12/02 Updated FN key defaults
Comment Whiteley Research Ibc., dated 11/18/02 INIT --> PARM
Comment Whiteley Research Ibc., dated 2/6/03 Set HardCopyDefResol

Technology scmos

!Set FlattenPrefix $$
Set lambda = .4
Define L(x) eval($(lambda)*x)
Define A(x) eval($(lambda)*$(lambda)*x*x)
#Define Electrode
#Define Analog
Define TripleMetal
#Define QuadMetal
#Define CapWell
#Define MEMS
Define SUBM
#Define HighVoltage
#Define TightMetal
#Define PolyCap
Define OldContacts

# The search paths can be defined here
#Path ( . ) 
#LibPath ( . /usr/local/lib/xictools/xic/startup ) 
#HelpPath ( /usr/local/lib/xictools/xic/help ) 
#ScriptPath ( /usr/local/lib/xictools/xic/scripts ) 

Script xstr
str = PrintString(L(2))
glen = AskReal("Gate length? ", str)
p1[2]
p2[2]
ShowPrompt("Click to anchor transistor")
if !Point(p1)
    Exit()
end
ShowPrompt("Click to finish")
ShowGhost(7)
if !Point(p2)
    Exit()
end
ShowGhost(0)
ovl = L(3)
ext = L(2)
cl = GetCurLayer();
if (abs(p1[0] - p2[0]) > abs(p1[1] - p2[1]))
    x1 = p1[0]
    x2 = p2[0]
    if (x1 > x2)
        x3 = x1 + ext
        x4 = x2 - ext
    else
        x3 = x1 - ext
        x4 = x2 + ext
    end
    y1 = p1[1]
    if (p2[1] > p1[1])
        y2 = y1 + glen
        y3 = y1 - ovl
        y4 = y1 + glen + ovl
    else
        y2 = y1 - glen
        y3 = y1 + ovl
        y4 = y1 - glen - ovl
    end
    SetCurLayer("CPG")
    Box(x3, y1, x4, y2)
    SetCurLayer("CAA")
    Box(x1, y3, x2, y4)
else
    y1 = p1[1]
    y2 = p2[1]
    if (y1 > y2)
        y3 = y1 + ext
        y4 = y2 - ext
    else
        y3 = y1 - ext
        y4 = y2 + ext
    end
    x1 = p1[0]
    if (p2[0] > p1[0])
        x2 = x1 + glen
        x3 = x1 - ovl
        x4 = x1 + glen + ovl
    else
        x2 = x1 - glen
        x3 = x1 + ovl
        x4 = x1 - glen - ovl
    end
    SetCurLayer("CPG")
    Box(x1, y3, x2, y4)
    SetCurLayer("CAA")
    Box(x3, y1, x4, y2)
end
#state = DRCstate(FALSE)
Commit()
#DRCstate(state)
SetCurLayer(cl)
EndScript

Script via_mfs
ShowPrompt("Click to place (lower left)")
PushGhostBox(-L(1), -L(1), L(3), L(3))
PushGhostBox(0, 0, L(2), L(2))
UseTransform(1, 0, 0)
cl = GetCurLayer();
while (1)
    ShowGhost(8)
    a[2]
    if !Point(a)
        ShowPrompt("")
        SetCurLayer(cl)
        Exit()
    end
    ShowGhost(0);
    UseTransform(1, a[0], a[1])
    SetCurLayer("CMF")
    Box(-L(1), -L(1), L(3), L(3))
    SetCurLayer("CVA")
    Box(0, 0, L(2), L(2))
    SetCurLayer("CMS")
    Box(-L(1), -L(1), L(3), L(3))
    SetCurLayer(cl)
    Commit()
end
EndScript

Script via_mfa
ShowPrompt("Click to place (lower left)")
PushGhostBox(-L(1.5), -L(1.5), L(3.5), L(3.5))
PushGhostBox(0, 0, L(2), L(2))
PushGhostBox(-L(1), -L(1), L(3), L(3))
UseTransform(1, 0, 0)
cl = GetCurLayer();
while (1)
    ShowGhost(8)
    a[2]
    if !Point(a)
        ShowPrompt("")
        SetCurLayer(cl)
        Exit()
    end
    ShowGhost(0);
    UseTransform(1, a[0], a[1])
    cl = GetCurLayer();
    SetCurLayer("CAA")
    Box(-L(1.5), -L(1.5), L(3.5), L(3.5))
    SetCurLayer("CCA")
    Box(0, 0, L(2), L(2))
    SetCurLayer("CMF")
    Box(-L(1), -L(1), L(3), L(3))
    SetCurLayer(cl)
    Commit()
end
EndScript

Script via_mfp
ShowPrompt("Click to place (lower left)")
PushGhostBox(-L(1.5), -L(1.5), L(3.5), L(3.5))
PushGhostBox(0, 0, L(2), L(2))
PushGhostBox(-L(1), -L(1), L(3), L(3))
UseTransform(1, 0, 0)
cl = GetCurLayer();
while (1)
    ShowGhost(8)
    a[2]
    if !Point(a)
        ShowPrompt("")
        SetCurLayer(cl)
        Exit()
    end
    ShowGhost(0);
    UseTransform(1, a[0], a[1])
    cl = GetCurLayer();
    SetCurLayer("CPG")
    Box(-L(1.5), -L(1.5), L(3.5), L(3.5))
    SetCurLayer("CCP")
    Box(0, 0, L(2), L(2))
    SetCurLayer("CMF")
    Box(-L(1), -L(1), L(3), L(3))
    SetCurLayer(cl)
    Commit()
end
EndScript

ElecLayer SCED
StreamOut 1 0
RGB 225 225 225
AltRGB 225 225 225
Filled y
AltFilled y

ElecLayer NAME
StreamOut 4 0
RGB 255 230 175
AltRGB 255 230 175
Filled n
AltFilled n

ElecLayer MODL
StreamOut 5 0
RGB 175 225 175
AltRGB 175 225 175
Filled n
AltFilled n

ElecLayer VALU
StreamOut 6 0
RGB 255 225 225
AltRGB 255 225 225
Filled n
AltFilled n

ElecLayer PARM
StreamOut 7 0
RGB 200 175 225
AltRGB 200 175 225
Filled n
AltFilled n

ElecLayer NODE
StreamOut 8 0
RGB 255 255 225
AltRGB 255 255 225
Filled n
AltFilled n

ElecLayer ETC1
StreamOut 2 0
RGB 125 225 225
AltRGB 125 225 225
Filled n
AltFilled n

ElecLayer ETC2
StreamOut 3 0
RGB 225 225 125
AltRGB 225 225 125
Filled n
AltFilled n

ElecLayer TERM
StreamOut 9 0
RGB 225 225 225
AltRGB 225 225 225
Filled n
Invisible
AltFilled n
AltInvisible

IfDef TightMetal
DrcTest tmMinSpace min thr lyr
EdgeMin %thr%
Test Outside %min% %lyr%
Test Inside %thr% !%lyr%
Evaluate fail = DRCuserTest(0) & !DRCuserTest(1)
End
Endif

IfDef HighVoltage
LayerName CVP
StreamIn 21, 0-255
StreamOut 21 0

LayerName CVN
StreamIn 22, 0-255
StreamOut 22 0
Endif

IfDef MEMS
LayerName COP
StreamIn 23, 0-255
StreamOut 23 0

LayerName CPS
StreamIn 24, 0-255
StreamOut 24 0
Endif

IfDef NOTUSED
LayerName XP
StreamIn 26, 0-255
StreamOut 26 0

LayerName CFI
StreamIn 27, 0-255
StreamOut 27 0
Endif

IfDef PolyCap
LayerName CPC
StreamIn 28, 0-255
StreamOut 28 0
MinWidth L(8) #23.1 CPC minimum width L(8)
MinSpace L(4) #23.2 CPC minimum space L(4)
MinSpaceTo CAA L(8) #23.3 CPC minimum space to CAA L(8)
MinSpaceFrom CPG L(3) #23.4 CPC minimum extension from CPG L(3)
MinNoOverlap CCG L(2) #23.5 CPC overlap around contact L(2)
MinNoOverlap Region CPG L(2) #23.6 CPG overlap around cap contact L(2)
MinSpaceTo Region CCG CPG L(2) #23.7 CPC contact to CPG L(2)
MinSpaceTo CMF L(4) #23.8 minimum space to CMF L(4)
MinSpaceTo CMS L(2) #23.9 minimum space to CMS L(2)
Endif

IfDef SilicideBlock
LayerName CSB
StreamIn 29, 0-255
StreamOut 29 0
MinWidth L(4) #20.1 CSB minimum width L(4)
MinSpace L(4) #20.2 CSB minimum space L(4)
NoOverlap CCG #20.3 No contacts on CSB
MinSpaceTo CCG L(2) #20.3 CBS minimum space to contact L(2)
MinSpaceTo CAA L(2) #20.4 CBS minimum space to CAA L(2)
MinSpaceTo CPG L(2) #20.5 CBS minimum space to CPG L(2)
MinWidth Region CPG L(5) #20.7 minimum CPG width over CSB L(5)
MinSpace Region CPG L(7) #20.8 minimum CPG space over CSB L(7)
MinNoOverlap CPG L(2) #20.9 CSB minimum extension from CPG L(2)
Endif

LayerName CWP
StreamIn 41, 0-255
StreamOut 41 0
RGB 46 132 22
AltRGB 46 132 22
Filled 00 7e 7e 66 66 7e 7e 00
AltFilled n
IfDef SUBM
MinWidth L(12) #1.1 CWP minimum width L(12) (subm option)
MinSpace L(18) #1.2 CWP minimum space L(18) (subm option)
Else
MinWidth L(10) #1.1 CWP minimum width L(10)
MinSpace L(9) #1.2 CWP minimum space L(9)
Endif

LayerName CWN
StreamIn 42, 0-255
StreamOut 42 0
RGB 137 124 120
AltRGB 137 124 120
Filled 00 7e 7e 66 66 7e 7e 00 outline
AltFilled n
IfDef SUBM
MinWidth L(12) #1.1 CWN minimum width L(12) (subm option)
MinSpace L(18) #1.2 CWN minimum space L(18) (subm option)
Else
MinWidth L(10) #1.1 CWN minimum width L(10)
MinSpace L(9) #1.2 CWN minimum space L(9)
Endif

LayerName CSP
StreamIn 44, 0-255
StreamOut 44 0
RGB 255 170 174
AltRGB 255 170 174
Filled 40 20 10 08 04 02 01 80 outline
AltFilled n
MinWidth L(2) #4.4 CSP minimum width L(2)
MinSpace L(2) #4.4 CSP minimum space L(2)
MinSpaceTo CPG L(3) #4.1 CSP minimum space to CPG L(3)
MinNoOverlap CAA L(2) #4.2 CSP minimum extension from CAA L(2)
IfDef OldContacts
MinNoOverlap CCA L(1) #4.3 CSP minimum extension from CCA L(1)
Else
MinNoOverlap CCG L(1) #4.3 CSP minimum extension from CCG L(1)
Endif

LayerName CSN
StreamIn 45, 0-255
StreamOut 45 0
RGB 61 211 186
AltRGB 61 211 186
Filled 40 20 10 08 04 02 01 80 outline
AltFilled n
MinWidth L(2) #4.4 CSN minimum width L(2)
MinSpace L(2) #4.4 CSN minimum space L(2)
MinSpaceTo CPG L(3) #4.1 CSN minimum space to CPG L(3)
MinNoOverlap CAA L(2) #4.2 CSN minimum extension from CAA L(2)
IfDef OldContacts
MinNoOverlap CCA L(1) #4.3 CSN minimum extension from CCA L(1)
Else
MinNoOverlap CCG L(1) #4.3 CSN minimum extension from CCG L(1)
Endif

LayerName CAA
StreamIn 43, 0-255
StreamOut 43 0
RGB 254 255 1
AltRGB 254 255 1
Filled 01 82 44 28 10 28 44 82 outline
AltFilled n
Conductor Exclude CPG
WireWidth L(3)
MinWidth L(3) #2.1 CAA minimum width L(3)
MinSpace L(3) #2.2 CAA minimum space L(3)
IfDef SUBM
MinSpaceFrom Region CSN CWP L(6) #2.3 S/D to CWP well edge L(6) (subm option)
MinSpaceFrom Region CSP CWN L(6) #2.3 S/D to CWN well edge L(6) (subm option)
Else
MinSpaceFrom Region CSN CWP L(5) #2.3 S/D to CWP well edge L(5)
MinSpaceFrom Region CSP CWN L(5) #2.3 S/D to CWN well edge L(5)
Endif
MinSpaceFrom Region CSP CWP L(3) #2.4 contact to CWP well edge L(3)
MinSpaceFrom Region CSN CWN L(3) #2.4 contact to CWN well edge L(3)
MinNoOverlap CPG L(3) #3.4 CAA minimum extension from CPG L(3)

LayerName CPG
StreamIn 46, 0-255
StreamOut 46 0
RGB 255 85 82
AltRGB 255 85 82
Filled 18 3c 7e e7 e7 7e 3c 18 outline
AltFilled n
Routing
Thickness 0.1
WireWidth L(2)
MinWidth L(2) #3.1 CPG minimum width L(2)
IfDef SUBM
MinSpace L(3) #3.2 CPG minimum space L(3) (subm option)
Else
MinSpace L(2) #3.2 CPG minimum space L(2)
Endif
MinNoOverlap CAA L(2) #3.3 CPG minimum extension from CAA L(2)
MinSpaceTo CAA L(1) #3.5 CPG minimum space to CAA L(1)

LayerName CMF
StreamIn 49, 0-255
StreamOut 49 0
RGB 0 174 253
AltRGB 0 174 253
Filled aa 55 aa 55 aa 55 aa 55 outline
AltFilled n
Routing
Thickness 0.4
WireWidth L(3)
MinWidth L(3) #7.1 CMF minimum width L(3)
MinSpace L(3) #7.2.a CMF minimum space L(3)
IfDef TightMetal
tmMinSpace L(2) L(3) CMF #7.2.b CMF minimum space L(2) (Tight Metal)
Endif
IfDef OldContacts
MinNoOverlap CCA|CCP L(1) #7.3 CMF minimum extension from CCA or CCP L(1)
Else
MinNoOverlap CCG L(1) #7.3 CMF minimum extension from contact L(1)
Endif

IfDef OldContacts
LayerName CCP
StreamIn 47, 0-255
StreamOut 47 0
RGB 233 151 218
AltRGB 233 151 218
Filled y
AltFilled n
Via CPG CMF 
Thickness 0.2
EpsRel 3.8
MinWidth L(2)  #5.1 CCP exact size L(2) X L(2)
MaxArea A(2)   #5.1 CCP exact size L(2) X L(2)
MinSpaceFrom CPG L(1.5) #5.2 CCP minimum from CPG edge L(1.5)
IfDef SUBM
MinSpace L(3) #5.3 CCP minimum space L(3) (subm option)
Else
MinSpace L(2) #5.3 CCP minimum space L(2)
Endif
MinSpaceTo CAA L(2) #5.4 CCP minimum space to CAA L(2)

LayerName CCA
StreamIn 48, 0-255
StreamOut 48 0
RGB 253 253 65
AltRGB 253 253 65
Filled y
AltFilled y
Via CAA CMF 
MinWidth L(2)  #6.1 CCA exact size L(2) X L(2)
MaxArea A(2)   #6.1 CCA exact size L(2) X L(2)
MinSpaceFrom CAA L(1.5) #6.2 CCA minimum from CAA edge L(1.5)
IfDef SUBM
MinSpace L(3) #6.3 CCA minimum space L(3) (subm option)
Else
MinSpace L(2) #6.3 CCA minimum space L(2)
Endif
MinSpaceTo CPG L(2) #6.4 CCA minimum space to CPG L(2)

Else

LayerName CCG
StreamIn 25, 0-255
StreamOut 25 0
RGB 253 253 65
AltRGB 253 253 65
Filled y
AltFilled y
Via CPG CMF
Via CAA CMF
MinWidth L(2)  #5.1, 6.1 Contact exact size L(2) X L(2)
MaxArea A(2)   #5.1, 6.1 Contact exact size L(2) X L(2)
MinSpaceFrom CPG L(1.5) #5.2 Contact minimum from CPG edge L(1.5)
MinSpaceFrom CAA L(1.5) #6.2 Contact minimum from CAA edge L(1.5)
IfDef SUBM
MinSpace L(3) #5.3, 6.3 Contact minimum space L(3) (subm option)
Else
MinSpace L(2) #5.3, 6.3 Contact minimum space L(2)
Endif
MinSpaceTo CAA L(2) #5.4 Contact minimum space to CAA L(2)
MinSpaceTo CPG L(2) #6.4 Contact minimum space to CPG L(2)
Endif

LayerName CMS
StreamIn 51, 0-255
StreamOut 51 0
RGB 205 0 205
AltRGB 205 0 205
Filled 2a 15 8a 45 a2 51 a8 54 outline
AltFilled n
Routing
Thickness 0.6
WireWidth L(3)
MinWidth L(3) #9.1 CMS minimum width L(3)
MinSpace L(4) #9.2.a CMS minimum space L(4)
IfDef TightMetal
tmMinSpace L(3) L(4) CMS #9.2.b CMS minimum space L(3) (Tight Metal)
Endif
MinNoOverlap CVA L(1) #9.3 CMS minimum extension from CVA L(1)

LayerName CVA
StreamIn 50, 0-255
StreamOut 50 0
RGB 240 218 181
AltRGB 240 218 181
Filled y
AltFilled n
Via CMF CMS 
Thickness 0.6
EpsRel 3.8
MinWidth L(2) #8.1 CVA exact size L(2) X L(2)
MaxArea A(2)  #8.1 CVA exact size L(2) X L(2)
MinSpace L(3) #8.2 CVA minimum space L(3)
MinSpaceFrom CMF L(1) #8.3 CVA minimum from edge of CMF L(1)
IfDef OldContacts
MinSpaceTo CCA|CCP L(2) #8.4 CVA minimum space to CCA or CCP L(2)
Else
MinSpaceTo CCG L(2) #8.4 CVA minimum space to contact L(2)
Endif
MinSpaceTo CAA|CPG L(2) #8.5 CVA minimum space to CAA or CPG L(2)

LayerName COG
StreamIn 52, 0-255
StreamOut 52 0
RGB 255 250 107
AltRGB 255 250 107
Filled n
AltFilled n
Thickness 1.0
EpsRel 3.2
MinWidth 75 #10.1, 10.2 COG minimum pad width
MinSpaceFrom CMF|CMS 6.0 #10.3 metal extension minimum from COG

IfDef Electrode
LayerName CEL
StreamIn 56, 0-255
StreamOut 56 0
MinWidth L(3) #11.1 CEL minimum width L(3)
MinSpace l(3) #11.2 CEL minimum space L(3)
MinSpaceFrom CPG L(2) #11.3 CEL minimum from CPG edge L(2)
MinSpaceTo CAA L(2) #11.4 CEL minimum space to CAA L(2)
IfDef OldContacts
MinSpaceTo CCP L(3) #11.5 CEL Minimum space to CCP L(3)
Else
MinSpaceTo CCG L(3) #11.5 CEL Minimum space to CCG L(3)
Endif
Endif

IfDef Analog
LayerName CEL
StreamIn 56, 0-255
StreamOut 56 0
MinWidth L(3) #11.1 CEL minimum width L(3)
MinSpace l(3) #11.2 CEL minimum space L(3)
MinSpaceFrom CPG L(2) #11.3 CEL minimum from CPG edge L(2)
MinSpaceTo CAA L(2) #11.4 CEL minimum space to CAA L(2)
IfDef OldContacts
MinSpaceTo CCP L(3) #11.5 CEL Minimum space to CCP L(3)
Else
MinSpaceTo CCG L(3) #11.5 CEL Minimum space to CCG L(3)
Endif

LayerName CCD
StreamIn 57, 0-255
StreamOut 57 0

LayerName CBA
StreamIn 58, 0-255
StreamOut 58 0
MinWidth L(3) #18.1 CBA minimum width L(3)
#MinSpaceFrom CAA L(0.5) #18.2 CBA minimum from CAA edge L(0.5)
Endif

IfDef CapWell
LayerName CWC
StreamIn 58, 0-255
StreamOut 58 0
IfDef SUBM
MinWidth L(12) #17.1 CWC minimum width L(12) (subm option)
MinSpace L(18) #17.2 CWC minimum space L(18) (subm option)
MinSpaceTo CAA L(6) #17.3 CWC minimum space to CAA L(6) (subm option)
MinSpaceFrom CAA L(6) #17.4 CWC minimum from CAA edge L(6) (subm option)
Else
MinWidth L(10) #17.1 CWC minimum width L(10)
MinSpace L(9) #17.2 CWC minimum space L(9)
MinSpaceTo CAA L(5) #17.3 CWC minimum space to CAA L(5)
MinSpaceFrom CAA L(5) #17.4 CWC minimum from CAA edge L(5)
Endif
Endif

IfDef TripleMetal
LayerName CVS
StreamIn 59, 0-255
StreamOut 59 0
RGB 185 156 159
AltRGB 185 156 159
Filled y
AltFilled n
Via CMT CMS 
MinWidth L(2) #14.1 CVS exact size L(2) X L(2)
MaxArea A(2)  #14.1 CVS exact size L(2) X L(2)
MinSpace L(3) #14.2 CVS minimum space L(3)
MinSpaceFrom CMS L(1) #14.3 CVS minimum to CMS edge L(1)
MinSpaceTo CVA L(2) #14.4 CVS minimum space to CVA L(2)

LayerName CMT
StreamIn 61, 0-255
StreamOut 61 0
RGB 231 247 236
AltRGB 172 167 148
Filled 88 44 02 11 88 40 22 11 outline
AltFilled n
Conductor
IfDef SUBM
MinWidth L(5) #15.1 CMT minimum width L(5) (subm option)
MinSpace L(3) #15.2 CMT minimum space L(3) (subm option)
Else
MinWidth L(6) #15.1 CMT minimum width L(6)
MinSpace L(4) #15.2 CMT minimum space L(4)
Endif
MinNoOverlap CVS L(2) #15.3 minimum extension from CVS L(2)
Endif

IfDef QuadM
LayerName CVS
StreamIn 59, 0-255
StreamOut 59 0
Via CMT CMS 
MinWidth L(2) #14.1 CVS exact size L(2) X L(2)
MaxArea A(2)  #14.1 CVS exact size L(2) X L(2)
MinSpace L(3) #14.2 CVS minimum space L(3)
MinSpaceFrom CMS L(1) #14.3 CVS minimum to CMS edge L(1)
MinSpaceTo CVA L(2) #14.4 CVS minimum space to CVA L(2)

LayerName CMT
StreamIn 61, 0-255
StreamOut 61 0
Conductor
MinWidth L(3) #15.1 CMT minimum width L(3)
MinSpace L(4) #15.2.a CMT minimum space L(4)
tmMinSpace L(3) L(4) CMT #15.2.b CMS minimum space L(3)
MinNoOverlap CVS L(1) #15.3 minimum extension from CVS L(1)

LayerName CVT
StreamIn 30, 0-255
StreamOut 30 0
Via CMQ CMT 
MinWidth L(2) #21.1 CVT exact size L(2) X L(2)
MaxArea A(2)  #21.1 CVT exact size L(2) X L(2)
MinSpace L(4) #21.2 CVT minimum space L(4)
MinSpaceFrom CMT L(1) #21.3 CVT minimum to CMT edge L(1)

LayerName CMQ
StreamIn 31, 0-255
StreamOut 31 0
Conductor
MinWidth L(6) #22.1 CMQ minimum width L(6)
MinSpace L(6) #22.2 CMQ minimum space L(6)
MinNoOverlap CVT L(4) #22.3 CMQ minimum extension from CVT L(4)
Endif

LayerName NDRC
StreamIn 21, 0-255
StreamOut 21 0
RGB 175 175 175
AltRGB 175 175 175
Filled n
AltFilled n

Device
Name nmos
Prefix Mn_
Body (CAA&CPG)&CSN
Contact s CAA CAA&(!CPG)
Contact d CAA CAA&(!CPG)
Contact g CPG CAA&CPG
Permute d s
Bloat 0.1
Merge
Measure Length CBWidth*1e-6 4
Measure Width CBNWidth*1e-6 4
Measure AS CArea.0.CAA * 1e-12 4
Measure AD CArea.1.CAA * 1e-12 4
Measure PS CPerim.0.CAA * 1e-6 4
Measure PD CPerim.1.CAA * 1e-6 4
LVS Length l
LVS Width w
LVS AS as
LVS AD ad
LVS PS ps
LVS PD pd
Model nmos
Initc l=%me%Length w=%me%Width ad=%me%AD pd=%me%PD as=%me%AS ps=%me%PS
Spice %n% %c%d %c%g %c%s NSUB %model% %initc%
Cmput NMOS device %n%, Length: %me%Length  Width: %me%Width  AS: %me%AS \
PS: %me%PS  AD: %me%AD  PD: %me%PD
End

Device
Name pmos
Prefix Mp_
Body (CAA&CPG)&CSP
Contact s CAA CAA&(!CPG)
Contact d CAA CAA&(!CPG)
Contact g CPG CAA&CPG
Permute d s
Bloat 0.1
Merge
Measure Length CBWidth * 1e-6 4
Measure Width CBNWidth * 1e-6 4
Measure AS CArea.0.CAA * 1e-12 4
Measure AD CArea.1.CAA * 1e-12 4
Measure PS CPerim.0.CAA * 1e-6 4
Measure PD CPerim.1.CAA * 1e-6 4
LVS Length l
LVS Width w
LVS AS as
LVS AD ad
LVS PS ps
LVS PD pd
Model pmos
Initc l=%me%Length w=%me%Width ad=%me%AD pd=%me%PD as=%me%AS ps=%me%PS
Spice %n% %c%d %c%g %c%s PSUB %model% %initc%
Cmput PMOS device %n%, Length: %me%Length  Width: %me%Width  AS: %me%AS \
PS: %me%PS  AD: %me%AD  PD: %me%PD
End

DRC y
DrcMaxErrors 0
DrcInterMaxObjs 1000
DrcInterMaxTime 5000
DrcInterSkipInst n
MergeOnRead n
InToLower n
OutToUpper n
GridSpacing 1
ShowGrid y
GridOnBottom y
PhysGridStyle 204
ElecGridStyle 0
PhysSnapping 2
ElecSnapping 1
Constrain45 n
Expand 0
DisplayAllText y
ShowPhysProps n
LabelAllInstances 1
ShowInstanceMark n
ShowContext y
ShowTinyBB y
RoundFlashSides 40
BeepVolume 0
BoxLineStyle 3640
Background 0 0 0
Highlighting white
InstanceBox turquoise
InstanceName pink
InstanceSize salmon
PhysCoarseGrid 0 215 215
ElecCoarseGrid 255 208 136
PhysFineGrid 0 0 207
ElecFineGrid 0 245 249
AltPhysCoarseGrid 0 215 215
AltElecCoarseGrid 255 208 136
AltPhysFineGrid 0 0 207
AltElecFineGrid 0 245 249
AltShowGrid n
AltGridStyle 204
AltDriver postscript_bitmap
AltBackground 0 0 0
F1key box
F2key wire
F3key polyg
F4key label
F5key open
F6key cells
F7key prpty
F8key desel

HardCopyDevice postscript_line_draw
HardCopyResol 72 75 100 150 200 300 400
HardCopyDefResol 3
HardCopyPixWidth 0
HardCopyDefWidth 7.8
HardCopyDefHeight 10.3
HardCopyDefXoff 0.25
HardCopyDefyoff 0.25
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 23.5
HardCopyMaxHeight 23.5
HardCopyMaxXoff 22
HardCopyMaxyoff 22

HardCopyDevice postscript_line_draw_color
HardCopyResol 72 75 100 150 200 300 400
HardCopyDefResol 3
HardCopyPixWidth 0
HardCopyDefWidth 7.8
HardCopyDefHeight 10.3
HardCopyDefXoff 0.25
HardCopyDefyoff 0.25
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 23.5
HardCopyMaxHeight 23.5
HardCopyMaxXoff 22
HardCopyMaxyoff 22

HardCopyDevice postscript_bitmap
HardCopyResol 72 75 100 150 200 300 400
HardCopyDefResol 3
HardCopyPixWidth 0
HardCopyDefWidth 7.9
HardCopyDefHeight 10.3
HardCopyDefXoff 0.25
HardCopyDefyoff 0.25
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 23.5
HardCopyMaxHeight 23.5
HardCopyMaxXoff 22
HardCopyMaxyoff 22

HardCopyDevice postscript_bitmap_encoded
HardCopyResol 72 75 100 150 200 300 400
HardCopyDefResol 3
HardCopyPixWidth 0
HardCopyDefWidth 7.9
HardCopyDefHeight 10.3
HardCopyDefXoff 0.25
HardCopyDefyoff 0.25
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 23.5
HardCopyMaxHeight 23.5
HardCopyMaxXoff 22
HardCopyMaxyoff 22

HardCopyDevice postscript_bitmap_color
HardCopyResol 72 75 100 150 200 300 400
HardCopyDefResol 3
HardCopyPixWidth 0
HardCopyDefWidth 7.9
HardCopyDefHeight 10.3
HardCopyDefXoff 0.25
HardCopyDefyoff 0.25
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 23.5
HardCopyMaxHeight 23.5
HardCopyMaxXoff 22
HardCopyMaxyoff 22

HardCopyDevice postscript_bitmap_color_encoded
HardCopyResol 72 75 100 150 200 300 400
HardCopyDefResol 3
HardCopyPixWidth 0
HardCopyDefWidth 7.9
HardCopyDefHeight 10.3
HardCopyDefXoff 0.25
HardCopyDefyoff 0.25
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 23.5
HardCopyMaxHeight 23.5
HardCopyMaxXoff 22
HardCopyMaxyoff 22

HardCopyDevice hpgl_line_draw_color
HardCopyPixWidth 0
HardCopyDefWidth 7.8
HardCopyDefHeight 10.3
HardCopyDefXoff 0.25
HardCopyDefyoff 0.25
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 23.5
HardCopyMaxHeight 23.5
HardCopyMaxXoff 22
HardCopyMaxyoff 22

HardCopyDevice hp_laser_pcl
HardCopyResol 75 100 150 300
HardCopyDefResol 2
HardCopyPixWidth 0
HardCopyDefWidth 7.8
HardCopyDefHeight 10.3
HardCopyDefXoff 0.25
HardCopyDefyoff 0.25
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 16.5
HardCopyMaxHeight 16.5
HardCopyMaxXoff 15
HardCopyMaxyoff 15

HardCopyDevice xfig_line_draw_color
HardCopyPixWidth 0
HardCopyDefWidth 4
HardCopyDefHeight 4
HardCopyDefXoff 0
HardCopyDefyoff 0
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 23.5
HardCopyMaxHeight 23.5
HardCopyMaxXoff 22
HardCopyMaxyoff 22

HardCopyDevice versatec_monochrome
HardCopyPixWidth 7040
HardCopyDefWidth 35
HardCopyDefHeight 0
HardCopyDefXoff 0
HardCopyDefyoff 0
HardCopyMinWidth 2
HardCopyMinHeight 2
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 35
HardCopyMaxHeight 240
HardCopyMaxXoff 30
HardCopyMaxyoff 0

HardCopyDevice versatec_color
HardCopyPixWidth 6848
HardCopyDefWidth 34
HardCopyDefHeight 0
HardCopyDefXoff 0
HardCopyDefyoff 0
HardCopyMinWidth 2
HardCopyMinHeight 2
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 34
HardCopyMaxHeight 240
HardCopyMaxXoff 30
HardCopyMaxyoff 0

HardCopyDevice wpm
HardCopyPixWidth 0
HardCopyDefWidth 4
HardCopyDefHeight 4
HardCopyDefXoff 0.25
HardCopyDefyoff 0.25
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 8
HardCopyMaxHeight 10.5
HardCopyMaxXoff 10
HardCopyMaxyoff 10

HardCopyDevice wp
HardCopyPixWidth 0
HardCopyDefWidth 4
HardCopyDefHeight 4
HardCopyDefXoff 0
HardCopyDefyoff 0
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 8
HardCopyMaxHeight 10.5
HardCopyMaxXoff 10
HardCopyMaxyoff 10

HardCopyDevice imlib
NoAlt
HardCopyPixWidth 0
HardCopyDefWidth 4
HardCopyDefHeight 4
HardCopyDefXoff 0
HardCopyDefyoff 0
HardCopyMinWidth 1
HardCopyMinHeight 1
HardCopyMinXoff 0
HardCopyMinyoff 0
HardCopyMaxWidth 16.5
HardCopyMaxHeight 16.5
HardCopyMaxXoff 15
HardCopyMaxyoff 15



Stephen R. Whiteley 2006-10-23