From 63d0523228b5c302432243152feedc93b295a0c5 Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Thu, 13 Sep 2018 12:53:35 -0700 Subject: [PATCH] Added scn4m_subm. Added scn4m_subm files (instead of scn4me_subm). Fixed missing cifoutput/cifinput in magic tech file and gds files. Fixed incorrect M3/via3/M4 design rules. --- compiler/tests/config_20_scn4m_subm.py | 9 + technology/scn3me_subm/tech/tech.py | 2 +- .../gds_lib/cell_6t.gds | Bin 5660 -> 5724 bytes .../gds_lib/dff.gds | Bin 16558 -> 16622 bytes .../gds_lib/replica_cell_6t.gds | Bin 5804 -> 5868 bytes .../gds_lib/sense_amp.gds | Bin 8248 -> 8312 bytes .../gds_lib/tri_gate.gds | Bin 4512 -> 4576 bytes .../gds_lib/write_driver.gds | Bin 11740 -> 11804 bytes technology/scn4m_subm/mag_lib/.magicrc | 5 + .../mag_lib/cell_6t.mag | 0 technology/scn4m_subm/mag_lib/convertall.sh | 14 + .../mag_lib/dff.mag | 0 .../mag_lib/replica_cell_6t.mag | 0 .../mag_lib/sense_amp.mag | 0 .../mag_lib/tri_gate.mag | 0 .../mag_lib/write_driver.mag | 0 .../models/ff/nmos.sp | 0 .../models/ff/pmos.sp | 0 .../models/nom/nmos.sp | 0 .../models/nom/pmos.sp | 0 .../models/ss/nmos.sp | 0 .../models/ss/pmos.sp | 0 .../sp_lib/cell_6t.sp | 0 .../{scn4me_subm => scn4m_subm}/sp_lib/dff.sp | 2 +- .../sp_lib/replica_cell_6t.sp | 0 .../sp_lib/sense_amp.sp | 0 .../sp_lib/tri_gate.sp | 0 .../sp_lib/write_driver.sp | 0 .../sue_lib/cell_6t.sue | 0 .../sue_lib/ms_flop.sue | 0 .../sue_lib/replica_cell_6t.sue | 0 .../sue_lib/sense_amp.sue | 0 .../sue_lib/tri_gate.sue | 0 .../sue_lib/write_driver.sue | 0 .../tech/LICENSE.txt | 0 .../tech/SCN4M_SUBM.20.tech | 3725 +++-------------- .../tech/__init__.py | 0 .../{scn4me_subm => scn4m_subm}/tech/tech.py | 22 +- .../{scn4me_subm => scn4m_subm}/tf/LICENSE | 0 .../{scn4me_subm => scn4m_subm}/tf/README | 0 .../tf/display.drf | 0 .../tf/glade_scn4me_subm.py | 0 .../{scn4me_subm => scn4m_subm}/tf/layers.map | 0 .../{scn4me_subm => scn4m_subm}/tf/mosis.tf | 0 technology/scn4me_subm/mag_lib/.magicrc | 5 - .../setup_scripts/setup_openram_scn4m_subm.py | 41 + 46 files changed, 649 insertions(+), 3176 deletions(-) create mode 100644 compiler/tests/config_20_scn4m_subm.py rename technology/{scn4me_subm => scn4m_subm}/gds_lib/cell_6t.gds (96%) rename technology/{scn4me_subm => scn4m_subm}/gds_lib/dff.gds (98%) rename technology/{scn4me_subm => scn4m_subm}/gds_lib/replica_cell_6t.gds (96%) rename technology/{scn4me_subm => scn4m_subm}/gds_lib/sense_amp.gds (97%) rename technology/{scn4me_subm => scn4m_subm}/gds_lib/tri_gate.gds (94%) rename technology/{scn4me_subm => scn4m_subm}/gds_lib/write_driver.gds (98%) create mode 100644 technology/scn4m_subm/mag_lib/.magicrc rename technology/{scn4me_subm => scn4m_subm}/mag_lib/cell_6t.mag (100%) create mode 100755 technology/scn4m_subm/mag_lib/convertall.sh rename technology/{scn4me_subm => scn4m_subm}/mag_lib/dff.mag (100%) rename technology/{scn4me_subm => scn4m_subm}/mag_lib/replica_cell_6t.mag (100%) rename technology/{scn4me_subm => scn4m_subm}/mag_lib/sense_amp.mag (100%) rename technology/{scn4me_subm => scn4m_subm}/mag_lib/tri_gate.mag (100%) rename technology/{scn4me_subm => scn4m_subm}/mag_lib/write_driver.mag (100%) rename technology/{scn4me_subm => scn4m_subm}/models/ff/nmos.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/models/ff/pmos.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/models/nom/nmos.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/models/nom/pmos.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/models/ss/nmos.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/models/ss/pmos.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/sp_lib/cell_6t.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/sp_lib/dff.sp (96%) rename technology/{scn4me_subm => scn4m_subm}/sp_lib/replica_cell_6t.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/sp_lib/sense_amp.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/sp_lib/tri_gate.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/sp_lib/write_driver.sp (100%) rename technology/{scn4me_subm => scn4m_subm}/sue_lib/cell_6t.sue (100%) rename technology/{scn4me_subm => scn4m_subm}/sue_lib/ms_flop.sue (100%) rename technology/{scn4me_subm => scn4m_subm}/sue_lib/replica_cell_6t.sue (100%) rename technology/{scn4me_subm => scn4m_subm}/sue_lib/sense_amp.sue (100%) rename technology/{scn4me_subm => scn4m_subm}/sue_lib/tri_gate.sue (100%) rename technology/{scn4me_subm => scn4m_subm}/sue_lib/write_driver.sue (100%) rename technology/{scn4me_subm => scn4m_subm}/tech/LICENSE.txt (100%) rename technology/{scn4me_subm => scn4m_subm}/tech/SCN4M_SUBM.20.tech (57%) rename technology/{scn4me_subm => scn4m_subm}/tech/__init__.py (100%) rename technology/{scn4me_subm => scn4m_subm}/tech/tech.py (96%) rename technology/{scn4me_subm => scn4m_subm}/tf/LICENSE (100%) rename technology/{scn4me_subm => scn4m_subm}/tf/README (100%) rename technology/{scn4me_subm => scn4m_subm}/tf/display.drf (100%) rename technology/{scn4me_subm => scn4m_subm}/tf/glade_scn4me_subm.py (100%) rename technology/{scn4me_subm => scn4m_subm}/tf/layers.map (100%) rename technology/{scn4me_subm => scn4m_subm}/tf/mosis.tf (100%) delete mode 100644 technology/scn4me_subm/mag_lib/.magicrc create mode 100644 technology/setup_scripts/setup_openram_scn4m_subm.py diff --git a/compiler/tests/config_20_scn4m_subm.py b/compiler/tests/config_20_scn4m_subm.py new file mode 100644 index 00000000..ca112a97 --- /dev/null +++ b/compiler/tests/config_20_scn4m_subm.py @@ -0,0 +1,9 @@ +word_size = 1 +num_words = 16 +num_banks = 1 + +tech_name = "scn4m_subm" +process_corners = ["TT"] +supply_voltages = [5.0] +temperatures = [25] + diff --git a/technology/scn3me_subm/tech/tech.py b/technology/scn3me_subm/tech/tech.py index 52c602cf..c09e109b 100755 --- a/technology/scn3me_subm/tech/tech.py +++ b/technology/scn3me_subm/tech/tech.py @@ -157,7 +157,7 @@ drc["minarea_metal1"] = 0 # 8.1 Exact size drc["minwidth_via1"] = 2*_lambda_ # 8.2 Minimum via1 spacing -drc["via1_to_via1"] = 2*_lambda_ +drc["via1_to_via1"] = 3*_lambda_ # 9.1 Minimum width drc["minwidth_metal2"] = 3*_lambda_ diff --git a/technology/scn4me_subm/gds_lib/cell_6t.gds b/technology/scn4m_subm/gds_lib/cell_6t.gds similarity index 96% rename from technology/scn4me_subm/gds_lib/cell_6t.gds rename to technology/scn4m_subm/gds_lib/cell_6t.gds index e44a111806248b29d516fd0d0b79a5b2a0d26eba..df64404849cfca64d73c49d74d3ea497d6f33fcf 100644 GIT binary patch delta 100 zcmbQEb4O=_EGrL#27|>!CG!98FEGs9227};4C368VgMo*QEjcwOC*G`N4}%7S#Y81zA25S~gN-dEEscSJg@b{CjhBhRo`H>ziGhJZM}Qef ZLP4kogaM-c6d-IE4dk&1ZcOxb005gT3g7?$ delta 34 mcmaFY$hfYNae^!>CxZrq!bBxw9x#J}gN-dEEp6jMUk3n_2M7uP diff --git a/technology/scn4me_subm/gds_lib/replica_cell_6t.gds b/technology/scn4m_subm/gds_lib/replica_cell_6t.gds similarity index 96% rename from technology/scn4me_subm/gds_lib/replica_cell_6t.gds rename to technology/scn4m_subm/gds_lib/replica_cell_6t.gds index 0a3226dcea5402be81254e1fe89f4b417c7fc9db..6a6b32adb52b8061b43e681556d321176f8dda04 100644 GIT binary patch delta 108 zcmZ3Z`$l(yEGrL#27|>!CHn|4gF%Fittho1Co?%QJ~=ffC*G`tfq{jCfq{*eiNT(M jjgN_efk8)r8Aw8b)C33vL@R%QuwgWi$0E3~(pU@tFuV|k delta 44 wcmaE(yGD0{EGs9227~EDC3^`lgF%Fittho1Co?%QJ~=ffC*G`N<4$8S0QaH{HUIzs diff --git a/technology/scn4me_subm/gds_lib/sense_amp.gds b/technology/scn4m_subm/gds_lib/sense_amp.gds similarity index 97% rename from technology/scn4me_subm/gds_lib/sense_amp.gds rename to technology/scn4m_subm/gds_lib/sense_amp.gds index 7212992021da885b7223e5147e01ee08ce59e94f..cf5fa5872f978d8b62c59084ec4deea7bb926cbd 100644 GIT binary patch delta 83 zcmdnt@WWw(EGrL#27|>!B}*tHLEOxqfsK!efq_9sfEh?afz$*D14P$HK-e%E$YT-Q In0s0t03?SCod5s; delta 28 ecmez2u)|@3EGs92CIjn4B}*tHL44!(gYp1vVF!`` diff --git a/technology/scn4me_subm/gds_lib/tri_gate.gds b/technology/scn4m_subm/gds_lib/tri_gate.gds similarity index 94% rename from technology/scn4me_subm/gds_lib/tri_gate.gds rename to technology/scn4m_subm/gds_lib/tri_gate.gds index 78d40b8bfc85fce5cd2febcf0c330ffcce9fa40c..ad83f4c63d59f757b95862a8a5886dcc92f58eb2 100644 GIT binary patch delta 101 zcmZ3W{6KkvEGrL#27|>!CG$WqgMo*Qt)wV3K0UD{m4StWfq{*eiNT(MjgN_efk8)r d8Aw8b)C33vL|XzCf&h#LGFb!}HfEU#0ssYT3-tg1 delta 37 pcmaE$yg+$^EGs92CWF94C38VAgMo*Qt)wV3K0UD{b>k{CK>(d_2>}2A diff --git a/technology/scn4me_subm/gds_lib/write_driver.gds b/technology/scn4m_subm/gds_lib/write_driver.gds similarity index 98% rename from technology/scn4me_subm/gds_lib/write_driver.gds rename to technology/scn4m_subm/gds_lib/write_driver.gds index 11ad9c15076becdf44b4126ca25b79a30e438952..44dabaf15053ee00c0423e6f735b73240698d467 100644 GIT binary patch delta 104 zcmcZ;Jtt;@EGrL#27|>!CF?*igF%3et-L6+BsD&zD6=fJh=GNJfq{*eiNT(MjgN_e hfk8)r8Aw8b)C33vM9;kdVZ&$!hKcLsHuePQ0s#Cj5+wit delta 41 tcmbOeb0>O&EGs92CWFjGC2LVIgF%3et-L6+BsD&zD6=fJXyc|VT>#pK3#|YE diff --git a/technology/scn4m_subm/mag_lib/.magicrc b/technology/scn4m_subm/mag_lib/.magicrc new file mode 100644 index 00000000..0dfe42ef --- /dev/null +++ b/technology/scn4m_subm/mag_lib/.magicrc @@ -0,0 +1,5 @@ +path sys +$::env(OPENRAM_TECH)/scn4m_subm/tech +tech load SCN4M_SUBM.20 -noprompt +scalegrid 1 4 +set GND gnd +set VDD vdd diff --git a/technology/scn4me_subm/mag_lib/cell_6t.mag b/technology/scn4m_subm/mag_lib/cell_6t.mag similarity index 100% rename from technology/scn4me_subm/mag_lib/cell_6t.mag rename to technology/scn4m_subm/mag_lib/cell_6t.mag diff --git a/technology/scn4m_subm/mag_lib/convertall.sh b/technology/scn4m_subm/mag_lib/convertall.sh new file mode 100755 index 00000000..f5e2482c --- /dev/null +++ b/technology/scn4m_subm/mag_lib/convertall.sh @@ -0,0 +1,14 @@ +magic -dnull -noconsole << EOF +load dff +gds write dff.gds +load cell_6t +gds write cell_6t.gds +load replica_cell_6t +gds write replica_cell_6t.gds +load sense_amp +gds write sense_amp.gds +load tri_gate +gds write tri_gate.gds +load write_driver +gds write write_driver.gds +EOF diff --git a/technology/scn4me_subm/mag_lib/dff.mag b/technology/scn4m_subm/mag_lib/dff.mag similarity index 100% rename from technology/scn4me_subm/mag_lib/dff.mag rename to technology/scn4m_subm/mag_lib/dff.mag diff --git a/technology/scn4me_subm/mag_lib/replica_cell_6t.mag b/technology/scn4m_subm/mag_lib/replica_cell_6t.mag similarity index 100% rename from technology/scn4me_subm/mag_lib/replica_cell_6t.mag rename to technology/scn4m_subm/mag_lib/replica_cell_6t.mag diff --git a/technology/scn4me_subm/mag_lib/sense_amp.mag b/technology/scn4m_subm/mag_lib/sense_amp.mag similarity index 100% rename from technology/scn4me_subm/mag_lib/sense_amp.mag rename to technology/scn4m_subm/mag_lib/sense_amp.mag diff --git a/technology/scn4me_subm/mag_lib/tri_gate.mag b/technology/scn4m_subm/mag_lib/tri_gate.mag similarity index 100% rename from technology/scn4me_subm/mag_lib/tri_gate.mag rename to technology/scn4m_subm/mag_lib/tri_gate.mag diff --git a/technology/scn4me_subm/mag_lib/write_driver.mag b/technology/scn4m_subm/mag_lib/write_driver.mag similarity index 100% rename from technology/scn4me_subm/mag_lib/write_driver.mag rename to technology/scn4m_subm/mag_lib/write_driver.mag diff --git a/technology/scn4me_subm/models/ff/nmos.sp b/technology/scn4m_subm/models/ff/nmos.sp similarity index 100% rename from technology/scn4me_subm/models/ff/nmos.sp rename to technology/scn4m_subm/models/ff/nmos.sp diff --git a/technology/scn4me_subm/models/ff/pmos.sp b/technology/scn4m_subm/models/ff/pmos.sp similarity index 100% rename from technology/scn4me_subm/models/ff/pmos.sp rename to technology/scn4m_subm/models/ff/pmos.sp diff --git a/technology/scn4me_subm/models/nom/nmos.sp b/technology/scn4m_subm/models/nom/nmos.sp similarity index 100% rename from technology/scn4me_subm/models/nom/nmos.sp rename to technology/scn4m_subm/models/nom/nmos.sp diff --git a/technology/scn4me_subm/models/nom/pmos.sp b/technology/scn4m_subm/models/nom/pmos.sp similarity index 100% rename from technology/scn4me_subm/models/nom/pmos.sp rename to technology/scn4m_subm/models/nom/pmos.sp diff --git a/technology/scn4me_subm/models/ss/nmos.sp b/technology/scn4m_subm/models/ss/nmos.sp similarity index 100% rename from technology/scn4me_subm/models/ss/nmos.sp rename to technology/scn4m_subm/models/ss/nmos.sp diff --git a/technology/scn4me_subm/models/ss/pmos.sp b/technology/scn4m_subm/models/ss/pmos.sp similarity index 100% rename from technology/scn4me_subm/models/ss/pmos.sp rename to technology/scn4m_subm/models/ss/pmos.sp diff --git a/technology/scn4me_subm/sp_lib/cell_6t.sp b/technology/scn4m_subm/sp_lib/cell_6t.sp similarity index 100% rename from technology/scn4me_subm/sp_lib/cell_6t.sp rename to technology/scn4m_subm/sp_lib/cell_6t.sp diff --git a/technology/scn4me_subm/sp_lib/dff.sp b/technology/scn4m_subm/sp_lib/dff.sp similarity index 96% rename from technology/scn4me_subm/sp_lib/dff.sp rename to technology/scn4m_subm/sp_lib/dff.sp index d35d5123..3d8db9d8 100644 --- a/technology/scn4me_subm/sp_lib/dff.sp +++ b/technology/scn4m_subm/sp_lib/dff.sp @@ -14,7 +14,7 @@ M1006 a_260_296# a_152_16# vdd vdd p w=4u l=0.4u M1007 a_280_24# a_24_24# a_260_296# vdd p w=4u l=0.4u M1008 a_320_336# clk a_280_24# vdd p w=2u l=0.4u M1009 vdd Q a_320_336# vdd p w=2u l=0.4u -M1010 gnd clk a_24_24# gnd nfet w=4u l=0.4u +M1010 gnd clk a_24_24# gnd n w=4u l=0.4u M1011 Q a_280_24# vdd vdd p w=8u l=0.4u M1012 a_84_24# D gnd gnd n w=2u l=0.4u M1013 a_104_24# a_24_24# a_84_24# gnd n w=2u l=0.4u diff --git a/technology/scn4me_subm/sp_lib/replica_cell_6t.sp b/technology/scn4m_subm/sp_lib/replica_cell_6t.sp similarity index 100% rename from technology/scn4me_subm/sp_lib/replica_cell_6t.sp rename to technology/scn4m_subm/sp_lib/replica_cell_6t.sp diff --git a/technology/scn4me_subm/sp_lib/sense_amp.sp b/technology/scn4m_subm/sp_lib/sense_amp.sp similarity index 100% rename from technology/scn4me_subm/sp_lib/sense_amp.sp rename to technology/scn4m_subm/sp_lib/sense_amp.sp diff --git a/technology/scn4me_subm/sp_lib/tri_gate.sp b/technology/scn4m_subm/sp_lib/tri_gate.sp similarity index 100% rename from technology/scn4me_subm/sp_lib/tri_gate.sp rename to technology/scn4m_subm/sp_lib/tri_gate.sp diff --git a/technology/scn4me_subm/sp_lib/write_driver.sp b/technology/scn4m_subm/sp_lib/write_driver.sp similarity index 100% rename from technology/scn4me_subm/sp_lib/write_driver.sp rename to technology/scn4m_subm/sp_lib/write_driver.sp diff --git a/technology/scn4me_subm/sue_lib/cell_6t.sue b/technology/scn4m_subm/sue_lib/cell_6t.sue similarity index 100% rename from technology/scn4me_subm/sue_lib/cell_6t.sue rename to technology/scn4m_subm/sue_lib/cell_6t.sue diff --git a/technology/scn4me_subm/sue_lib/ms_flop.sue b/technology/scn4m_subm/sue_lib/ms_flop.sue similarity index 100% rename from technology/scn4me_subm/sue_lib/ms_flop.sue rename to technology/scn4m_subm/sue_lib/ms_flop.sue diff --git a/technology/scn4me_subm/sue_lib/replica_cell_6t.sue b/technology/scn4m_subm/sue_lib/replica_cell_6t.sue similarity index 100% rename from technology/scn4me_subm/sue_lib/replica_cell_6t.sue rename to technology/scn4m_subm/sue_lib/replica_cell_6t.sue diff --git a/technology/scn4me_subm/sue_lib/sense_amp.sue b/technology/scn4m_subm/sue_lib/sense_amp.sue similarity index 100% rename from technology/scn4me_subm/sue_lib/sense_amp.sue rename to technology/scn4m_subm/sue_lib/sense_amp.sue diff --git a/technology/scn4me_subm/sue_lib/tri_gate.sue b/technology/scn4m_subm/sue_lib/tri_gate.sue similarity index 100% rename from technology/scn4me_subm/sue_lib/tri_gate.sue rename to technology/scn4m_subm/sue_lib/tri_gate.sue diff --git a/technology/scn4me_subm/sue_lib/write_driver.sue b/technology/scn4m_subm/sue_lib/write_driver.sue similarity index 100% rename from technology/scn4me_subm/sue_lib/write_driver.sue rename to technology/scn4m_subm/sue_lib/write_driver.sue diff --git a/technology/scn4me_subm/tech/LICENSE.txt b/technology/scn4m_subm/tech/LICENSE.txt similarity index 100% rename from technology/scn4me_subm/tech/LICENSE.txt rename to technology/scn4m_subm/tech/LICENSE.txt diff --git a/technology/scn4me_subm/tech/SCN4M_SUBM.20.tech b/technology/scn4m_subm/tech/SCN4M_SUBM.20.tech similarity index 57% rename from technology/scn4me_subm/tech/SCN4M_SUBM.20.tech rename to technology/scn4m_subm/tech/SCN4M_SUBM.20.tech index 7400825c..bb2c2490 100644 --- a/technology/scn4me_subm/tech/SCN4M_SUBM.20.tech +++ b/technology/scn4m_subm/tech/SCN4M_SUBM.20.tech @@ -1,5 +1,5 @@ tech - format 32 + format 29 scmos end @@ -28,127 +28,107 @@ planes end types - well nwell,nw - active nwr - well pwell,pw - implant n_field_implant,nfi - implant p_field_implant,pfi - select nselect,ns - select pselect,ps - active ntransistor,nfet - active ptransistor,pfet - active diffusion,diff - active transistor,fet - active ndiffusion,ndif,green - active pdiffusion,pdif,brown - active ndcontact,ndc - active pdcontact,pdc - active psubstratepdiff,pohmicdiff,pod,ppdiff,ppd,psd - active nsubstratendiff,nohmicdiff,nod,nndiff,nnd,nsd - active psubstratepcontact,pohmiccontact,poc,pwcontact,pwc,psc - active nsubstratencontact,nohmiccontact,noc,nwcontact,nwc,nsc - active nwsd - active nwsc - active polysilicon,red,poly,p - active polycontact,pcontact,polycut,pc - contact genericcontact,gcontact,gc - metal1 metal1,m1,blue - metal1 pseudo_rmetal1,prm1 - metal1 rmetal1,rm1 - metal1 fillm1,fm1 - metal1 m2contact,m2cut,m2c,via1,v1,via - metal1 pm12contact,pm12c - metal1 pdm12contact,pdm12c - metal1 psm12contact,psm12c,pom12c,pwm12c - metal1 ndm12contact,ndm12c - metal1 nsm12contact,nsm12c,nom12c,nwm12c - metal1 nwsm12contact,nwsm12c - metal2 metal2,m2,purple - metal2 pseudo_rmetal2,prm2 - metal2 rmetal2,rm2 - metal2 fillm2,fm2 - via1 gv1 - metal2 m3contact,m3cut,m3c,via2,v2 - metal2 m123contact,m123c - metal3 metal3,m3,cyan - metal3 pseudo_rmetal3,prm3 - metal3 rmetal3,rm3 - metal3 fillm3,fm3 - via2 gv2 - metal3 m234contact,m234c - metal3 m4contact,m4cut,m4c,via3,v3 - metal4 metal4,m4,yellow - metal4 pseudo_rmetal4,prm4 - metal4 rmetal4,rm4 - metal4 fillm4,fm4 - via3 gv3 - metal4 pad - oxide glass - active silicide_block,sb - active poly_resist,pres - active pseudo_rpoly,prp - active rpoly,rp - active pseudo_rndiffusion,prnd - active rndiffusion,rndiff,rnd - active pseudo_rpdiffusion,prpd - active rpdiffusion,rpdiff,rpd - active pseudo_rnwell,prnwell,prnw - active rnwell,rnw - active pseudo_nwr,pnwr - implant filln,fn - fill filla,fa - fill fillb,fb - active fillp,fp - active fillapm,fapm - active activen_resist,anres - active activep_resist,apres - xp xp - xp m1p - xp m2p - xp m3p - xp m4p - comment comment - comment bb + well nwell,nw + active nwr + well pwell,pw + implant n_field_implant,nfi + implant p_field_implant,pfi + select nselect,ns + select pselect,ps + active ntransistor,nfet + active ptransistor,pfet + active diffusion,diff + active transistor,fet + active ndiffusion,ndif,green + active pdiffusion,pdif,brown + active ndcontact,ndc + active pdcontact,pdc + active psubstratepdiff,pohmicdiff,pod,ppdiff,ppd,psd + active nsubstratendiff,nohmicdiff,nod,nndiff,nnd,nsd + active psubstratepcontact,pohmiccontact,poc,pwcontact,pwc,psc + active nsubstratencontact,nohmiccontact,noc,nwcontact,nwc,nsc + active nwsd + active nwsc + active polysilicon,red,poly,p + active polycontact,pcontact,polycut,pc + contact genericcontact,gcontact,gc + metal1 metal1,m1,blue + metal1 pseudo_rmetal1,prm1 + metal1 rmetal1,rm1 + metal1 fillm1,fm1 + metal1 m2contact,m2cut,m2c,via1,v1 + metal2 metal2,m2,purple + metal2 pseudo_rmetal2,prm2 + metal2 rmetal2,rm2 + metal2 fillm2,fm2 + via1 gv1 + metal2 m3contact,m3cut,m3c,via2,v2 + metal3 metal3,m3,cyan + metal3 pseudo_rmetal3,prm3 + metal3 rmetal3,rm3 + metal3 fillm3,fm3 + via2 gv2 + metal3 m4contact,m4cut,m4c,via3,v3 + metal4 metal4,m4,yellow + metal4 pseudo_rmetal4,prm4 + metal4 rmetal4,rm4 + metal4 fillm4,fm4 + via3 gv3 + metal4 pad + oxide glass + active silicide_block,sb + active poly_resist,pres + active pseudo_rpoly,prp + active rpoly,rp + active pseudo_rndiffusion,prnd + active rndiffusion,rndiff,rnd + active pseudo_rpdiffusion,prpd + active rpdiffusion,rpdiff,rpd + active pseudo_rnwell,prnwell,prnw + active rnwell,rnw + active pseudo_nwr,pnwr + implant filln,fn + fill filla,fa + fill fillb,fb + active fillp,fp + active fillapm,fapm + active activen_resist,anres + active activep_resist,apres + xp xp + xp m1p + xp m2p + xp m3p + xp m4p + comment comment + comment bb end contact - pc poly metal1 - ndc ndiff metal1 - pdc pdiff metal1 - nsc nsd metal1 - nwsc nwsd metal1 - psc psd metal1 - m2c metal1 metal2 - m3c metal2 metal3 - m4c metal3 metal4 - # pm12c poly metal1 metal2 - # pdm12c pdiff metal1 metal2 - # psm12c psd metal1 metal2 - # ndm12c ndiff metal1 metal2 - # nsm12c nsd metal1 metal2 - # nwsm12c nwsd metal1 metal2 - # m123c metal1 metal2 metal3 - # m234c metal2 metal3 metal4 - stackable pc m2c pm12c - stackable pdc m2c pdm12c - stackable psc m2c psm12c - stackable ndc m2c ndm12c - stackable nsc m2c nsm12c - stackable nwsc m2c nwsm12c - stackable m2c m3c m123c - stackable m3c m4c m234c + pc poly metal1 + ndc ndiff metal1 + pdc pdiff metal1 + nsc nsd metal1 + nwsc nwsd metal1 + psc psd metal1 + m2c metal1 metal2 + m3c metal2 metal3 + m4c metal3 metal4 + stackable pc m2c pm12contact,pm12c + stackable pdc m2c pdm12contact,pdm12c + stackable psc m2c psm12contact,psm12c,pom12c,pwm12c + stackable ndc m2c ndm12contact,ndm12c + stackable nsc m2c nsm12contact,nsm12c,nom12c,nwm12c + stackable nwsc m2c nwsm12contact,nwsm12c + stackable m2c m3c m123contact,m123c + stackable m3c m4c m234contact,m234c end styles styletype mos nwr 54 pnwr 53 - nwsd 3 - nwsd 54 - nwsc 3 - nwsc 20 - nwsc 32 - nwsc 54 + nwsd 3 54 + nwsc 3 20 32 54 nwell 12 pwell 13 nfi 53 @@ -156,154 +136,65 @@ styles nselect 43 pselect 44 diff 25 - tran 2 - tran 4 + tran 2 4 ndiff 2 pdiff 4 nsd 3 psd 5 - nfet 6 - nfet 7 - pfet 8 - pfet 9 - ndc 2 - ndc 20 - ndc 32 - pdc 4 - pdc 20 - pdc 32 - nsc 3 - nsc 20 - nsc 32 - psc 5 - psc 20 - psc 32 + nfet 6 7 + pfet 8 9 + ndc 2 20 32 + pdc 4 20 32 + nsc 3 20 32 + psc 5 20 32 poly 1 - pcontact 1 - pcontact 20 - pcontact 32 + pcontact 1 20 32 gc 32 metal1 20 - rm1 20 - rm1 48 + rm1 20 48 prm1 48 - m1p 20 - m1p 34 - fm1 20 - fm1 34 - fp 1 - fp 34 + m1p 20 34 + fm1 20 34 + fp 1 34 fa 32 - fb 45 - fb 34 - fn 45 - fn 34 - fapm 1 - fapm 20 - fapm 21 - fapm 34 + fb 45 34 + fn 45 34 + fapm 1 20 21 34 gv1 55 - m2contact 20 - m2contact 21 - m2contact 55 - pm12contact 1 - pm12contact 20 - pm12contact 21 - pm12contact 32 - pm12contact 55 - ndm12c 2 - ndm12c 20 - ndm12c 21 - ndm12c 32 - ndm12c 55 - nsm12c 3 - nsm12c 20 - nsm12c 21 - nsm12c 32 - nsm12c 55 - nwsm12c 3 - nwsm12c 20 - nwsm12c 21 - nwsm12c 32 - nwsm12c 55 - nwsm12c 54 - pdm12c 4 - pdm12c 20 - pdm12c 21 - pdm12c 32 - pdm12c 55 - psm12c 5 - psm12c 20 - psm12c 21 - psm12c 32 - psm12c 55 + m2contact 20 21 55 metal2 21 - rm2 21 - rm2 48 + rm2 21 48 prm2 48 - m2p 21 - m2p 34 - fm2 21 - fm2 34 + m2p 21 34 + fm2 21 34 gv2 56 - m3contact 21 - m3contact 22 - m3contact 56 - m123c 20 - m123c 21 - m123c 22 - m123c 55 - m123c 56 + m3contact 21 22 56 metal3 22 - rm3 22 - rm3 48 + rm3 22 48 prm3 48 - m3p 22 - m3p 34 - fm3 22 - fm3 34 + m3p 22 34 + fm3 22 34 gv3 57 - m4contact 22 - m4contact 23 - m4contact 57 - m234contact 21 - m234contact 22 - m234contact 23 - m234contact 56 - m234contact 57 + m4contact 22 23 57 metal4 23 - rm4 23 - rm4 48 + rm4 23 48 prm4 48 - m4p 23 - m4p 34 - fm4 23 - fm4 34 - pad 22 - pad 23 - pad 34 - pad 38 + m4p 23 34 + fm4 23 34 + pad 22 23 34 38 glass 34 - xp 25 - xp 34 + xp 25 34 sb 10 - pres 47 - pres 48 - rp 47 - rp 48 + pres 47 48 + rp 47 48 prp 48 - anres 2 - anres 48 - rnd 2 - rnd 48 + anres 2 48 + rnd 2 48 prnd 48 - apres 4 - apres 53 - rpd 4 - rpd 53 + apres 4 53 + rpd 4 53 prpd 53 - rnw 12 - rnw 53 + rnw 12 53 prnw 54 comment 45 bb 32 @@ -377,18 +268,18 @@ compose end connect - nwell,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,nsd,nwsd nwell,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,nsd,nwsd - pwell,psc/a,psm12c/a,psd pwell,psc/a,psm12c/a,psd - m1,fm1,fapm,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 m1,fm1,fapm,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 - m2,fm2,fapm,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 m2,fm2,fapm,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 - m3,fm3,fapm,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 m3,fm3,fapm,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 - m4,fm4,fapm,m4c/m4,m234c/m4 m4,fm4,fapm,m4c/m4,m234c/m4 - ndiff,nsd,nwsd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdiff,psd,pdc/a,pdm12c/a,psc/a,psm12c/a ndiff,nsd,nwsd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdiff,psd,pdc/a,pdm12c/a,psc/a,psm12c/a - poly,fp,nfet,pfet,fet,fapm,pc/a,pm12c/a poly,fp,nfet,pfet,fet,fapm,pc/a,pm12c/a - gc poly,fp,ndiff,pdiff,nsd,nwsd,psd,m1,fm1,fapm,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 - gv1 m1,fm1,fapm,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2,fm2,fapm,m3c/m2,m123c/m2,m234c/m2 - gv2 m2,fm2,fapm,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3,fm3,fapm,m4c/m3,m234c/m3 - gv3 m3,fm3,fapm,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4,fm4,fapm + nwell,nsc/a,nwsc/a,nsd,nwsd nwell,nsc/a,nwsc/a,nsd,nwsd + pwell,psc/a,psd pwell,psc/a,psd + m1,fm1,fapm,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 m1,fm1,fapm,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 + m2,fm2,fapm,m2c/m2,m3c/m2,m3c/m2 m2,fm2,fapm,m2c/m2,m3c/m2,m3c/m2 + m3,fm3,fapm,m3c/m3,m4c/m3,m4c/m3 m3,fm3,fapm,m3c/m3,m4c/m3,m4c/m3 + m4,fm4,fapm,m4c/m4 m4,fm4,fapm,m4c/m4 + ndiff,nsd,nwsd,ndc/a,nsc/a,nwsc/a,pdiff,psd,pdc/a,psc/a ndiff,nsd,nwsd,ndc/a,nsc/a,nwsc/a,pdiff,psd,pdc/a,psc/a + poly,fp,nfet,pfet,fet,fapm,pc/a poly,fp,nfet,pfet,fet,fapm,pc/a + gc poly,fp,ndiff,pdiff,nsd,nwsd,psd,m1,fm1,fapm,m2c/m1 + gv1 m1,fm1,fapm,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2,fm2,fapm,m3c/m2 + gv2 m2,fm2,fapm,m2c/m2,m3c/m2,m3,fm3,fapm,m4c/m3 + gv3 m3,fm3,fapm,m3c/m3,m4c/m3,m4,fm4,fapm pad m1,fm1,m2,fm2,m3,fm3,m4,fm4 rm1 prm1 rm2 prm2 @@ -408,10 +299,16 @@ cifoutput style lambda=0.20(p) scalefactor 20 10 + options calma-permissive-labels + + # This is a custom section to add bounding boxes in OpenRAM + layer BB bb + labels bb + calma 63 0 layer CWN nwell,rnw,nwr,nwsd,nwsc - bloat-or pdiff,apres,rpd,pdc/a,pdm12c/a,pfet * 120 - bloat-or nsd,nsc/a,nsm12c/a * 60 + bloat-or pdiff,apres,rpd,pdc/a,pfet * 120 + bloat-or nsd,nsc/a * 60 bloat-or nfi * 80 grow 60 shrink 60 @@ -452,8 +349,8 @@ style lambda=0.20(p) calma 93 0 layer CWP pwell - bloat-or ndiff,anres,rnd,ndc/a,ndm12c/a,nfet * 120 - bloat-or psd,psc/a,psm12c/a * 60 + bloat-or ndiff,anres,rnd,ndc/a,nfet * 120 + bloat-or psd,psc/a * 60 bloat-or pfi * 80 grow 60 shrink 60 @@ -475,17 +372,17 @@ style lambda=0.20(p) #diffusion auto-nselect (will have priority) templayer XDN - bloat-or ndiff,anres,rnd,ndc/a,ndm12c/a * 40 psd,psc/a,psm12c/a 0 + bloat-or ndiff,anres,rnd,ndc/a * 40 psd,psc/a 0 or TNS #diffusion auto-pselect (will have priority) templayer XDP - bloat-or pdiff,apres,rpd,pdc/a,pdm12c/a * 40 nsd,nsc/a,nsm12c/a 0 + bloat-or pdiff,apres,rpd,pdc/a * 40 nsd,nsc/a 0 or TPS #final pselect templayer FSP - bloat-or pdiff,apres,rpd,pfet,psd,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet * 40 ndiff,anres,rnd,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a,nfet 0 + bloat-or pdiff,apres,rpd,pfet,psd,pdc/a,psc/a,pfet * 40 ndiff,anres,rnd,ndc/a,nsd,nsc/a,nfet 0 or XDP #give diff nselect priority and-not XDN @@ -497,7 +394,7 @@ style lambda=0.20(p) #final nselect templayer FSN - bloat-or ndiff,anres,rnd,nfet,nsd,nwsd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,nfet * 40 pdiff,apres,rpd,pdc/a,pdm12c/a,psd,psc/a,psm12c/a,pfet 0 + bloat-or ndiff,anres,rnd,nfet,nsd,nwsd,ndc/a,nsc/a,nwsc/a,nfet * 40 pdiff,apres,rpd,pdc/a,psd,psc/a,pfet 0 and-not nwr or XDN #never conflict with final pselect @@ -515,27 +412,27 @@ style lambda=0.20(p) layer CSP FSP calma 44 0 - layer CAA diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet - labels diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet + layer CAA diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,pfet,pfet,fet + labels diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,pfet,pfet,fet calma 43 0 - layer CCA nwsc/m1,nwsm12c/m1 + layer CCA nwsc/m1 squares 40 40 60 calma 48 0 - layer CCA ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1 + layer CCA ndc/m1,nsc/m1 squares 20 40 60 calma 48 0 - layer CCA pdc/m1,pdm12c/m1,psc/m1,psm12c/m1 + layer CCA pdc/m1,psc/m1 squares 20 40 60 calma 48 0 - layer CPG poly,pres,rp,nfet,pfet,fet,pc/a,pm12c/a - labels poly,pres,rp,nfet,pfet,fet,pc/a,pm12c/a + layer CPG poly,pres,rp,nfet,pfet,fet,pc/a + labels poly,pres,rp,nfet,pfet,fet,pc/a calma 46 0 - layer CCP pc/m1,pm12c/m1 + layer CCP pc/m1 squares 20 40 60 calma 47 0 @@ -543,7 +440,7 @@ style lambda=0.20(p) squares 0 40 60 calma 25 0 - layer CV1 m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 + layer CV1 m2c/m1 squares 20 40 60 calma 50 0 @@ -551,7 +448,7 @@ style lambda=0.20(p) squares 0 40 60 calma 50 0 - layer CV2 m3c/m2,m123c/m2,m234c/m2 + layer CV2 m3c/m2 squares 20 40 60 calma 61 0 @@ -559,7 +456,7 @@ style lambda=0.20(p) squares 0 40 60 calma 61 0 - layer CV3 m4c/m3,m234c/m3 + layer CV3 m4c/m3 squares 20 40 60 calma 30 0 @@ -601,12 +498,12 @@ style lambda=0.20(p) layer CM1 pad calma 49 0 - layer CM1 m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 - labels m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 + layer CM1 m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 + labels m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 calma 49 0 - layer CM2 m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 - labels m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 + layer CM2 m2,rm2,m2c/m2,m3c/m2,m3c/m2 + labels m2,rm2,m2c/m2,m3c/m2,m3c/m2 calma 51 0 layer CMFP m1p @@ -676,16 +573,16 @@ style lambda=0.20(p) labels fm3 calma 62 0 - layer CM3 m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 - labels m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 + layer CM3 m3,rm3,m3c/m3,m4c/m3,m4c/m3 + labels m3,rm3,m3c/m3,m4c/m3,m4c/m3 calma 62 0 layer CMTP m3p labels m3p calma 83 0 - layer CM4 m4,rm4,m4c/m4,m234c/m4 - labels m4,rm4,m4c/m4,m234c/m4 + layer CM4 m4,rm4,m4c/m4 + labels m4,rm4,m4c/m4 calma 31 0 layer CMQP m4p @@ -781,7 +678,7 @@ style fapm-boxes # this output style creates fill boxes automatically (to meet minimum # density requirements for poly and metal layers) 5 microns outside of -# drawn layout IF: 1. you have a flattened version of your chip, +# drawn layout IF: 1. you have a flattened version of your chip # 2. over which you paint the special fill layer 'fa', preferably with # a size that is a multiple of 10 + n * (10 + 4), 3. set 'cif # ostype fapm-boxes' and cif out to a file (this actually creates the @@ -794,11 +691,11 @@ style fapm-boxes scalefactor 20 10 - templayer CRIT fapm,fn,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet,poly,pres,rp,nfet,pfet,fet,pc/a,pm12c/a - or fm1,m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 - or fm2,m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 - or fm3,m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 - or fm4,m4,rm4,m4c/m4,m234c/m4 + templayer CRIT fapm,fn,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,pfet,pfet,fet,poly,pres,rp,nfet,pfet,fet,pc/a + or fm1,m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 + or fm2,m2,rm2,m2c/m2,m3c/m2,m3c/m2 + or fm3,m3,rm3,m3c/m3,m4c/m3,m4c/m3 + or fm4,m4,rm4,m4c/m4 or glass,pad grow 500 and fa @@ -820,11 +717,11 @@ style fapm-stripes # and then *replacing* the left side (1-lambda wide) stripe of each 'fa' box # to be a 1-lambda wide layer 'fb' box -- else you won't get strips! - templayer CRIT fapm,fn,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet,poly,pres,rp,nfet,pfet,fet,pc/a,pm12c/a - or fm1,m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 - or fm2,m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 - or fm3,m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 - or fm4,m4,rm4,m4c/m4,m234c/m4 + templayer CRIT fapm,fn,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,pfet,pfet,fet,poly,pres,rp,nfet,pfet,fet,pc/a + or fm1,m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 + or fm2,m2,rm2,m2c/m2,m3c/m2,m3c/m2 + or fm3,m3,rm3,m3c/m3,m4c/m3,m4c/m3 + or fm4,m4,rm4,m4c/m4 or glass,pad grow 500 and fa @@ -849,8 +746,8 @@ style lambda=0.20(cp) scalefactor 20 10 layer CWN nwell,rnw,nwr,nwsd,nwsc - bloat-or pdiff,apres,rpd,pdc/a,pdm12c/a,pfet * 120 - bloat-or nsd,nsc/a,nsm12c/a * 60 + bloat-or pdiff,apres,rpd,pdc/a,pfet * 120 + bloat-or nsd,nsc/a * 60 bloat-or nfi * 80 grow 60 shrink 60 @@ -891,8 +788,8 @@ style lambda=0.20(cp) calma 93 0 layer CWP pwell - bloat-or ndiff,anres,rnd,ndc/a,ndm12c/a,nfet * 120 - bloat-or psd,psc/a,psm12c/a * 60 + bloat-or ndiff,anres,rnd,ndc/a,nfet * 120 + bloat-or psd,psc/a * 60 bloat-or pfi * 80 grow 60 shrink 60 @@ -914,17 +811,17 @@ style lambda=0.20(cp) #diffusion auto-nselect (will have priority) templayer XDN - bloat-or ndiff,anres,rnd,ndc/a,ndm12c/a * 40 psd,psc/a,psm12c/a 0 + bloat-or ndiff,anres,rnd,ndc/a * 40 psd,psc/a 0 or TNS #diffusion auto-pselect (will have priority) templayer XDP - bloat-or pdiff,apres,rpd,pdc/a,pdm12c/a * 40 nsd,nsc/a,nsm12c/a 0 + bloat-or pdiff,apres,rpd,pdc/a * 40 nsd,nsc/a 0 or TPS #final pselect templayer FSP - bloat-or pdiff,apres,rpd,pfet,psd,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet * 40 ndiff,anres,rnd,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a,nfet 0 + bloat-or pdiff,apres,rpd,pfet,psd,pdc/a,psc/a,pfet * 40 ndiff,anres,rnd,ndc/a,nsd,nsc/a,nfet 0 or XDP #give diff nselect priority and-not XDN @@ -936,7 +833,7 @@ style lambda=0.20(cp) #final nselect templayer FSN - bloat-or ndiff,anres,rnd,nfet,nsd,nwsd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,nfet * 40 pdiff,apres,rpd,pdc/a,pdm12c/a,psd,psc/a,psm12c/a,pfet 0 + bloat-or ndiff,anres,rnd,nfet,nsd,nwsd,ndc/a,nsc/a,nwsc/a,nfet * 40 pdiff,apres,rpd,pdc/a,psd,psc/a,pfet 0 and-not nwr or XDN #never conflict with final pselect @@ -954,27 +851,27 @@ style lambda=0.20(cp) layer CSP FSP calma 44 0 - layer CAA diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet - labels diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet + layer CAA diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,pfet,pfet,fet + labels diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,pfet,pfet,fet calma 43 0 - layer CCC nwsc/m1,nwsm12c/m1 + layer CCC nwsc/m1 squares 40 40 60 calma 25 0 - layer CCC ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1 + layer CCC ndc/m1,nsc/m1 squares 20 40 60 calma 25 0 - layer CCC pdc/m1,pdm12c/m1,psc/m1,psm12c/m1 + layer CCC pdc/m1,psc/m1 squares 20 40 60 calma 25 0 - layer CPG poly,pres,rp,nfet,pfet,fet,pc/a,pm12c/a - labels poly,pres,rp,nfet,pfet,fet,pc/a,pm12c/a + layer CPG poly,pres,rp,nfet,pfet,fet,pc/a + labels poly,pres,rp,nfet,pfet,fet,pc/a calma 46 0 - layer CCC pc/m1,pm12c/m1 + layer CCC pc/m1 squares 20 40 60 calma 25 0 @@ -982,7 +879,7 @@ style lambda=0.20(cp) squares 0 40 60 calma 25 0 - layer CV1 m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 + layer CV1 m2c/m1 squares 20 40 60 calma 50 0 @@ -990,7 +887,7 @@ style lambda=0.20(cp) squares 0 40 60 calma 50 0 - layer CV2 m3c/m2,m123c/m2,m234c/m2 + layer CV2 m3c/m2 squares 20 40 60 calma 61 0 @@ -998,7 +895,7 @@ style lambda=0.20(cp) squares 0 40 60 calma 61 0 - layer CV3 m4c/m3,m234c/m3 + layer CV3 m4c/m3 squares 20 40 60 calma 30 0 @@ -1040,12 +937,12 @@ style lambda=0.20(cp) layer CM1 pad calma 49 0 - layer CM1 m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 - labels m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 + layer CM1 m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 + labels m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 calma 49 0 - layer CM2 m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 - labels m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 + layer CM2 m2,rm2,m2c/m2,m3c/m2,m3c/m2 + labels m2,rm2,m2c/m2,m3c/m2,m3c/m2 calma 51 0 layer CMFP m1p @@ -1115,16 +1012,16 @@ style lambda=0.20(cp) labels fm3 calma 62 0 - layer CM3 m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 - labels m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 + layer CM3 m3,rm3,m3c/m3,m4c/m3,m4c/m3 + labels m3,rm3,m3c/m3,m4c/m3,m4c/m3 calma 62 0 layer CMTP m3p labels m3p calma 83 0 - layer CM4 m4,rm4,m4c/m4,m234c/m4 - labels m4,rm4,m4c/m4,m234c/m4 + layer CM4 m4,rm4,m4c/m4 + labels m4,rm4,m4c/m4 calma 31 0 layer CMQP m4p @@ -1196,8 +1093,8 @@ style lambda=0.20(c) scalefactor 20 10 layer CWN nwell,rnw,nwr,nwsd,nwsc - bloat-or pdiff,apres,rpd,pdc/a,pdm12c/a,pfet * 120 - bloat-or nsd,nsc/a,nsm12c/a * 60 + bloat-or pdiff,apres,rpd,pdc/a,pfet * 120 + bloat-or nsd,nsc/a * 60 bloat-or nfi * 80 grow 60 shrink 60 @@ -1251,17 +1148,17 @@ style lambda=0.20(c) #diffusion auto-nselect (will have priority) templayer XDN - bloat-or ndiff,anres,rnd,ndc/a,ndm12c/a * 40 psd,psc/a,psm12c/a 0 + bloat-or ndiff,anres,rnd,ndc/a * 40 psd,psc/a 0 or TNS #diffusion auto-pselect (will have priority) templayer XDP - bloat-or pdiff,apres,rpd,pdc/a,pdm12c/a * 40 nsd,nsc/a,nsm12c/a 0 + bloat-or pdiff,apres,rpd,pdc/a * 40 nsd,nsc/a 0 or TPS #final pselect templayer FSP - bloat-or pdiff,apres,rpd,pfet,psd,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet * 40 ndiff,anres,rnd,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a,nfet 0 + bloat-or pdiff,apres,rpd,pfet,psd,pdc/a,psc/a,pfet * 40 ndiff,anres,rnd,ndc/a,nsd,nsc/a,nfet 0 or XDP #give diff nselect priority and-not XDN @@ -1273,7 +1170,7 @@ style lambda=0.20(c) #final nselect templayer FSN - bloat-or ndiff,anres,rnd,nfet,nsd,nwsd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,nfet * 40 pdiff,apres,rpd,pdc/a,pdm12c/a,psd,psc/a,psm12c/a,pfet 0 + bloat-or ndiff,anres,rnd,nfet,nsd,nwsd,ndc/a,nsc/a,nwsc/a,nfet * 40 pdiff,apres,rpd,pdc/a,psd,psc/a,pfet 0 and-not nwr or XDN #never conflict with final pselect @@ -1291,27 +1188,27 @@ style lambda=0.20(c) layer CSP FSP calma 44 0 - layer CAA diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet - labels diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet + layer CAA diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,pfet,pfet,fet + labels diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,pfet,pfet,fet calma 43 0 - layer CCC nwsc/m1,nwsm12c/m1 + layer CCC nwsc/m1 squares 40 40 60 calma 25 0 - layer CCC ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1 + layer CCC ndc/m1,nsc/m1 squares 20 40 60 calma 25 0 - layer CCC pdc/m1,pdm12c/m1,psc/m1,psm12c/m1 + layer CCC pdc/m1,psc/m1 squares 20 40 60 calma 25 0 - layer CPG poly,pres,rp,nfet,pfet,fet,pc/a,pm12c/a - labels poly,pres,rp,nfet,pfet,fet,pc/a,pm12c/a + layer CPG poly,pres,rp,nfet,pfet,fet,pc/a + labels poly,pres,rp,nfet,pfet,fet,pc/a calma 46 0 - layer CCC pc/m1,pm12c/m1 + layer CCC pc/m1 squares 20 40 60 calma 25 0 @@ -1319,7 +1216,7 @@ style lambda=0.20(c) squares 0 40 60 calma 25 0 - layer CV1 m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 + layer CV1 m2c/m1 squares 20 40 60 calma 50 0 @@ -1327,7 +1224,7 @@ style lambda=0.20(c) squares 0 40 60 calma 50 0 - layer CV2 m3c/m2,m123c/m2,m234c/m2 + layer CV2 m3c/m2 squares 20 40 60 calma 61 0 @@ -1335,7 +1232,7 @@ style lambda=0.20(c) squares 0 40 60 calma 61 0 - layer CV3 m4c/m3,m234c/m3 + layer CV3 m4c/m3 squares 20 40 60 calma 30 0 @@ -1377,12 +1274,12 @@ style lambda=0.20(c) layer CM1 pad calma 49 0 - layer CM1 m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 - labels m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 + layer CM1 m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 + labels m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 calma 49 0 - layer CM2 m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 - labels m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 + layer CM2 m2,rm2,m2c/m2,m3c/m2,m3c/m2 + labels m2,rm2,m2c/m2,m3c/m2,m3c/m2 calma 51 0 layer CMFP m1p @@ -1452,16 +1349,16 @@ style lambda=0.20(c) labels fm3 calma 62 0 - layer CM3 m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 - labels m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 + layer CM3 m3,rm3,m3c/m3,m4c/m3,m4c/m3 + labels m3,rm3,m3c/m3,m4c/m3,m4c/m3 calma 62 0 layer CMTP m3p labels m3p calma 83 0 - layer CM4 m4,rm4,m4c/m4,m234c/m4 - labels m4,rm4,m4c/m4,m234c/m4 + layer CM4 m4,rm4,m4c/m4 + labels m4,rm4,m4c/m4 calma 31 0 layer CMQP m4p @@ -1533,8 +1430,8 @@ style lambda=0.20() scalefactor 20 10 layer CWN nwell,rnw,nwr,nwsd,nwsc - bloat-or pdiff,apres,rpd,pdc/a,pdm12c/a,pfet * 120 - bloat-or nsd,nsc/a,nsm12c/a * 60 + bloat-or pdiff,apres,rpd,pdc/a,pfet * 120 + bloat-or nsd,nsc/a * 60 bloat-or nfi * 80 grow 60 shrink 60 @@ -1588,17 +1485,17 @@ style lambda=0.20() #diffusion auto-nselect (will have priority) templayer XDN - bloat-or ndiff,anres,rnd,ndc/a,ndm12c/a * 40 psd,psc/a,psm12c/a 0 + bloat-or ndiff,anres,rnd,ndc/a * 40 psd,psc/a 0 or TNS #diffusion auto-pselect (will have priority) templayer XDP - bloat-or pdiff,apres,rpd,pdc/a,pdm12c/a * 40 nsd,nsc/a,nsm12c/a 0 + bloat-or pdiff,apres,rpd,pdc/a * 40 nsd,nsc/a 0 or TPS #final pselect templayer FSP - bloat-or pdiff,apres,rpd,pfet,psd,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet * 40 ndiff,anres,rnd,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a,nfet 0 + bloat-or pdiff,apres,rpd,pfet,psd,pdc/a,psc/a,pfet * 40 ndiff,anres,rnd,ndc/a,nsd,nsc/a,nfet 0 or XDP #give diff nselect priority and-not XDN @@ -1610,7 +1507,7 @@ style lambda=0.20() #final nselect templayer FSN - bloat-or ndiff,anres,rnd,nfet,nsd,nwsd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,nfet * 40 pdiff,apres,rpd,pdc/a,pdm12c/a,psd,psc/a,psm12c/a,pfet 0 + bloat-or ndiff,anres,rnd,nfet,nsd,nwsd,ndc/a,nsc/a,nwsc/a,nfet * 40 pdiff,apres,rpd,pdc/a,psd,psc/a,pfet 0 and-not nwr or XDN #never conflict with final pselect @@ -1628,27 +1525,27 @@ style lambda=0.20() layer CSP FSP calma 44 0 - layer CAA diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet - labels diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet + layer CAA diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,pfet,pfet,fet + labels diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,pfet,pfet,fet calma 43 0 - layer CCA nwsc/m1,nwsm12c/m1 + layer CCA nwsc/m1 squares 40 40 60 calma 48 0 - layer CCA ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1 + layer CCA ndc/m1,nsc/m1 squares 20 40 60 calma 48 0 - layer CCA pdc/m1,pdm12c/m1,psc/m1,psm12c/m1 + layer CCA pdc/m1,psc/m1 squares 20 40 60 calma 48 0 - layer CPG poly,pres,rp,nfet,pfet,fet,pc/a,pm12c/a - labels poly,pres,rp,nfet,pfet,fet,pc/a,pm12c/a + layer CPG poly,pres,rp,nfet,pfet,fet,pc/a + labels poly,pres,rp,nfet,pfet,fet,pc/a calma 46 0 - layer CCP pc/m1,pm12c/m1 + layer CCP pc/m1 squares 20 40 60 calma 47 0 @@ -1656,7 +1553,7 @@ style lambda=0.20() squares 0 40 60 calma 25 0 - layer CV1 m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 + layer CV1 m2c/m1 squares 20 40 60 calma 50 0 @@ -1664,7 +1561,7 @@ style lambda=0.20() squares 0 40 60 calma 50 0 - layer CV2 m3c/m2,m123c/m2,m234c/m2 + layer CV2 m3c/m2 squares 20 40 60 calma 61 0 @@ -1672,7 +1569,7 @@ style lambda=0.20() squares 0 40 60 calma 61 0 - layer CV3 m4c/m3,m234c/m3 + layer CV3 m4c/m3 squares 20 40 60 calma 30 0 @@ -1714,12 +1611,12 @@ style lambda=0.20() layer CM1 pad calma 49 0 - layer CM1 m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 - labels m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 + layer CM1 m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 + labels m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 calma 49 0 - layer CM2 m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 - labels m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 + layer CM2 m2,rm2,m2c/m2,m3c/m2,m3c/m2 + labels m2,rm2,m2c/m2,m3c/m2,m3c/m2 calma 51 0 layer CMFP m1p @@ -1789,16 +1686,16 @@ style lambda=0.20() labels fm3 calma 62 0 - layer CM3 m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 - labels m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3,m234c/m3,m4c/m3,m234c/m3 + layer CM3 m3,rm3,m3c/m3,m4c/m3,m4c/m3 + labels m3,rm3,m3c/m3,m4c/m3,m4c/m3 calma 62 0 layer CMTP m3p labels m3p calma 83 0 - layer CM4 m4,rm4,m4c/m4,m234c/m4 - labels m4,rm4,m4c/m4,m234c/m4 + layer CM4 m4,rm4,m4c/m4 + labels m4,rm4,m4c/m4 calma 31 0 layer CMQP m4p @@ -1872,6 +1769,11 @@ cifinput style lambda=0.20(p) scalefactor 20 + # This is a custom section to add bounding boxes in OpenRAM + layer bb BB + labels BB + calma 63 0 + layer nwell CWN and-not CWNR and-not CTA @@ -2096,10 +1998,9 @@ style lambda=0.20(p) layer ndc CAA and CSN and CCA - and-not CV1 and-not CWNR and-not CTA - + and-not CWN and CM1 grow 20 @@ -2110,10 +2011,9 @@ style lambda=0.20(p) layer ndc CAA and CSN and CCC - and-not CV1 and-not CWNR and-not CTA - + and-not CWN and CM1 grow 20 @@ -2124,10 +2024,9 @@ style lambda=0.20(p) layer nsc CAA and CSN and CCA - and-not CV1 and-not CWNR and-not CTA - + and CWN and CM1 grow 20 @@ -2138,10 +2037,9 @@ style lambda=0.20(p) layer nsc CAA and CSN and CCC - and-not CV1 and-not CWNR and-not CTA - + and CWN and CM1 grow 20 @@ -2151,12 +2049,11 @@ style lambda=0.20(p) layer nwsc CAA and CSN - and-not CV1 and CWNR shrink 100 and-not CTA and CCA - + and CWN and CM1 grow 40 @@ -2166,12 +2063,11 @@ style lambda=0.20(p) layer nwsc CAA and CSN - and-not CV1 and CWNR shrink 105 and-not CTA and CCC - + and CWN and CM1 grow 40 @@ -2182,9 +2078,8 @@ style lambda=0.20(p) layer pdc CAA and CSP and CCA - and-not CV1 and-not CTA - + and-not CPS and CWN and CM1 @@ -2196,9 +2091,8 @@ style lambda=0.20(p) layer pdc CAA and CSP and CCC - and-not CV1 and-not CTA - + and-not CPS and CWN and CM1 @@ -2210,9 +2104,8 @@ style lambda=0.20(p) layer psc CAA and CSP and CCA - and-not CV1 and-not CTA - + and-not CPS and-not CWN and CM1 @@ -2224,173 +2117,9 @@ style lambda=0.20(p) layer psc CAA and CSP and CCC - and-not CV1 and-not CWNR and-not CTA - - and-not CPS - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - layer ndc CAA - and CSN - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer ndc CAA - and CSN - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer nsc CAA - and CSN - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer nsc CAA - and CSN - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer nwsc CAA - and CSN - and CV1 - and CV2 - and-not CV3 - and CWNR - shrink 100 - and-not CTA - and CCA - - and CWN - and CM1 - grow 40 - grow 10 - shrink 10 - calma CCA 48 * - - layer nwsc CAA - and CSN - and CV1 - and CV2 - and-not CV3 - and CWNR - shrink 105 - and-not CTA - and CCC - - and CWN - and CM1 - grow 40 - grow 10 - shrink 10 - calma CCC 25 * - - layer pdc CAA - and CSP - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer pdc CAA - and CSP - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer psc CAA - and CSP - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer psc CAA - and CSP - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - and-not CPS and-not CWN and CM1 @@ -2418,7 +2147,6 @@ style lambda=0.20(p) calma CRG 67 * layer pc CCP - and-not CV1 and CPG and-not CPC and-not CEL @@ -2430,35 +2158,6 @@ style lambda=0.20(p) calma CCP 47 * layer pc CCC - and-not CV1 - and CPG - and-not CPC - and-not CEL - and-not CAA - grow 20 - and CM1 - grow 10 - shrink 10 - calma CCC 25 * - - layer pc CCP - and CV1 - and CV2 - and-not CV3 - and CPG - and-not CPC - and-not CEL - and-not CAA - grow 20 - and CM1 - grow 10 - shrink 10 - calma CCP 47 * - - layer pc CCC - and CV1 - and CV2 - and-not CV3 and CPG and-not CPC and-not CEL @@ -2543,10 +2242,6 @@ style lambda=0.20(p) calma CV3 30 * layer m2c CV1 - and-not CV2 - and-not CCC - and-not CCP - and-not CCA and-not XP grow 20 and CM2 @@ -2555,65 +2250,7 @@ style lambda=0.20(p) shrink 10 calma CV1 50 * - layer m2c CV1 - and CV2 - and CV3 - and-not CCC - and-not CCP - and-not CCA - and-not XP - grow 20 - and CM2 - and CM1 - grow 10 - shrink 10 - calma CV1 50 * - layer pm12c CV1 - and-not CV2 - and CCP - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - - layer pm12c CV1 - and-not CV2 - and CCC - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - - layer pm12c CV1 - and CV2 - and CV3 - and CCP - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - - layer pm12c CV1 - and CV2 - and CV3 - and CCC - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * layer m1 CM1 and-not CRM @@ -2661,325 +2298,25 @@ style lambda=0.20(p) labels CMSP calma CMSP 82 * - layer ndm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and-not CV2 - and CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and-not CV2 - and CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * layer fp 100 calma 100 100 * @@ -3006,8 +2343,6 @@ style lambda=0.20(p) calma 110 110 * layer m3c CV2 - and-not CV3 - and-not CV1 and-not XP grow 20 and CM3 @@ -3016,17 +2351,6 @@ style lambda=0.20(p) shrink 10 calma CV2 61 * - layer m123c CV2 - and-not CV3 - and CV1 - and-not XP - grow 20 - and CM3 - and CM2 - and CM1 - grow 10 - shrink 10 - calma CV2 61 * layer m3 CM3 and-not CRM @@ -3051,17 +2375,6 @@ style lambda=0.20(p) labels CMTP calma CMTP 83 * - layer m234c CV3 - - and CV2 - and-not XP - grow 20 - and CM4 - and CM3 - and CM2 - grow 20 - shrink 20 - calma CV3 30 * layer m4 CM4 and-not CRM @@ -3087,8 +2400,6 @@ style lambda=0.20(p) calma CMQP 84 * layer m4c CV3 - - and-not CV2 and-not XP grow 20 and CM4 @@ -3155,7 +2466,6 @@ style lambda=0.20(p) calma CTA 60 * -#CRE/CRM calma CRW 65 * calma CRG 67 * calma CRD 66 * @@ -3395,10 +2705,9 @@ style lambda=0.20(s) layer ndc CAA and CSN and CCA - and-not CV1 and-not CWNR and-not CTA - + and-not CWN and CM1 grow 20 @@ -3409,10 +2718,9 @@ style lambda=0.20(s) layer ndc CAA and CSN and CCC - and-not CV1 and-not CWNR and-not CTA - + and-not CWN and CM1 grow 20 @@ -3423,10 +2731,9 @@ style lambda=0.20(s) layer nsc CAA and CSN and CCA - and-not CV1 and-not CWNR and-not CTA - + and CWN and CM1 grow 20 @@ -3437,10 +2744,9 @@ style lambda=0.20(s) layer nsc CAA and CSN and CCC - and-not CV1 and-not CWNR and-not CTA - + and CWN and CM1 grow 20 @@ -3450,12 +2756,11 @@ style lambda=0.20(s) layer nwsc CAA and CSN - and-not CV1 and CWNR shrink 100 and-not CTA and CCA - + and CWN and CM1 grow 40 @@ -3465,12 +2770,11 @@ style lambda=0.20(s) layer nwsc CAA and CSN - and-not CV1 and CWNR shrink 105 and-not CTA and CCC - + and CWN and CM1 grow 40 @@ -3481,9 +2785,8 @@ style lambda=0.20(s) layer pdc CAA and CSP and CCA - and-not CV1 and-not CTA - + and-not CPS and CWN and CM1 @@ -3495,9 +2798,8 @@ style lambda=0.20(s) layer pdc CAA and CSP and CCC - and-not CV1 and-not CTA - + and-not CPS and CWN and CM1 @@ -3509,9 +2811,8 @@ style lambda=0.20(s) layer psc CAA and CSP and CCA - and-not CV1 and-not CTA - + and-not CPS and-not CWN and CM1 @@ -3523,173 +2824,9 @@ style lambda=0.20(s) layer psc CAA and CSP and CCC - and-not CV1 and-not CWNR and-not CTA - - and-not CPS - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - layer ndc CAA - and CSN - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer ndc CAA - and CSN - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer nsc CAA - and CSN - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer nsc CAA - and CSN - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer nwsc CAA - and CSN - and CV1 - and CV2 - and-not CV3 - and CWNR - shrink 100 - and-not CTA - and CCA - - and CWN - and CM1 - grow 40 - grow 10 - shrink 10 - calma CCA 48 * - - layer nwsc CAA - and CSN - and CV1 - and CV2 - and-not CV3 - and CWNR - shrink 105 - and-not CTA - and CCC - - and CWN - and CM1 - grow 40 - grow 10 - shrink 10 - calma CCC 25 * - - layer pdc CAA - and CSP - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer pdc CAA - and CSP - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer psc CAA - and CSP - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer psc CAA - and CSP - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - and-not CPS and-not CWN and CM1 @@ -3717,7 +2854,6 @@ style lambda=0.20(s) calma CRG 67 * layer pc CCP - and-not CV1 and CPG and-not CPC and-not CEL @@ -3729,35 +2865,6 @@ style lambda=0.20(s) calma CCP 47 * layer pc CCC - and-not CV1 - and CPG - and-not CPC - and-not CEL - and-not CAA - grow 20 - and CM1 - grow 10 - shrink 10 - calma CCC 25 * - - layer pc CCP - and CV1 - and CV2 - and-not CV3 - and CPG - and-not CPC - and-not CEL - and-not CAA - grow 20 - and CM1 - grow 10 - shrink 10 - calma CCP 47 * - - layer pc CCC - and CV1 - and CV2 - and-not CV3 and CPG and-not CPC and-not CEL @@ -3842,10 +2949,6 @@ style lambda=0.20(s) calma CV3 30 * layer m2c CV1 - and-not CV2 - and-not CCC - and-not CCP - and-not CCA and-not XP grow 20 and CM2 @@ -3854,65 +2957,8 @@ style lambda=0.20(s) shrink 10 calma CV1 50 * - layer m2c CV1 - and CV2 - and CV3 - and-not CCC - and-not CCP - and-not CCA - and-not XP - grow 20 - and CM2 - and CM1 - grow 10 - shrink 10 - calma CV1 50 * - layer pm12c CV1 - and-not CV2 - and CCP - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - layer pm12c CV1 - and-not CV2 - and CCC - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - - layer pm12c CV1 - and CV2 - and CV3 - and CCP - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - - layer pm12c CV1 - and CV2 - and CV3 - and CCC - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * layer m1 CM1 and-not CRM @@ -3960,325 +3006,25 @@ style lambda=0.20(s) labels CMSP calma CMSP 82 * - layer ndm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and-not CV2 - and CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and-not CV2 - and CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * layer fp 100 calma 100 100 * @@ -4305,8 +3051,6 @@ style lambda=0.20(s) calma 110 110 * layer m3c CV2 - and-not CV3 - and-not CV1 and-not XP grow 20 and CM3 @@ -4315,17 +3059,6 @@ style lambda=0.20(s) shrink 10 calma CV2 61 * - layer m123c CV2 - and-not CV3 - and CV1 - and-not XP - grow 20 - and CM3 - and CM2 - and CM1 - grow 10 - shrink 10 - calma CV2 61 * layer m3 CM3 and-not CRM @@ -4350,17 +3083,6 @@ style lambda=0.20(s) labels CMTP calma CMTP 83 * - layer m234c CV3 - - and CV2 - and-not XP - grow 20 - and CM4 - and CM3 - and CM2 - grow 20 - shrink 20 - calma CV3 30 * layer m4 CM4 and-not CRM @@ -4386,8 +3108,6 @@ style lambda=0.20(s) calma CMQP 84 * layer m4c CV3 - - and-not CV2 and-not XP grow 20 and CM4 @@ -4454,7 +3174,6 @@ style lambda=0.20(s) calma CTA 60 * -#CRE/CRM calma CRW 65 * calma CRG 67 * calma CRD 66 * @@ -4695,10 +3414,9 @@ style lambda=0.20(ps) layer ndc CAA and CSN and CCA - and-not CV1 and-not CWNR and-not CTA - + and-not CWN and CM1 grow 20 @@ -4709,10 +3427,9 @@ style lambda=0.20(ps) layer ndc CAA and CSN and CCC - and-not CV1 and-not CWNR and-not CTA - + and-not CWN and CM1 grow 20 @@ -4723,10 +3440,9 @@ style lambda=0.20(ps) layer nsc CAA and CSN and CCA - and-not CV1 and-not CWNR and-not CTA - + and CWN and CM1 grow 20 @@ -4737,10 +3453,9 @@ style lambda=0.20(ps) layer nsc CAA and CSN and CCC - and-not CV1 and-not CWNR and-not CTA - + and CWN and CM1 grow 20 @@ -4750,12 +3465,11 @@ style lambda=0.20(ps) layer nwsc CAA and CSN - and-not CV1 and CWNR shrink 100 and-not CTA and CCA - + and CWN and CM1 grow 40 @@ -4765,12 +3479,11 @@ style lambda=0.20(ps) layer nwsc CAA and CSN - and-not CV1 and CWNR shrink 105 and-not CTA and CCC - + and CWN and CM1 grow 40 @@ -4781,9 +3494,8 @@ style lambda=0.20(ps) layer pdc CAA and CSP and CCA - and-not CV1 and-not CTA - + and-not CPS and CWN and CM1 @@ -4795,9 +3507,8 @@ style lambda=0.20(ps) layer pdc CAA and CSP and CCC - and-not CV1 and-not CTA - + and-not CPS and CWN and CM1 @@ -4809,9 +3520,8 @@ style lambda=0.20(ps) layer psc CAA and CSP and CCA - and-not CV1 and-not CTA - + and-not CPS and-not CWN and CM1 @@ -4823,173 +3533,9 @@ style lambda=0.20(ps) layer psc CAA and CSP and CCC - and-not CV1 and-not CWNR and-not CTA - - and-not CPS - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - layer ndc CAA - and CSN - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer ndc CAA - and CSN - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer nsc CAA - and CSN - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer nsc CAA - and CSN - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer nwsc CAA - and CSN - and CV1 - and CV2 - and-not CV3 - and CWNR - shrink 100 - and-not CTA - and CCA - - and CWN - and CM1 - grow 40 - grow 10 - shrink 10 - calma CCA 48 * - - layer nwsc CAA - and CSN - and CV1 - and CV2 - and-not CV3 - and CWNR - shrink 105 - and-not CTA - and CCC - - and CWN - and CM1 - grow 40 - grow 10 - shrink 10 - calma CCC 25 * - - layer pdc CAA - and CSP - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer pdc CAA - and CSP - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer psc CAA - and CSP - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer psc CAA - and CSP - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - and-not CPS and-not CWN and CM1 @@ -5017,7 +3563,6 @@ style lambda=0.20(ps) calma CRG 67 * layer pc CCP - and-not CV1 and CPG and-not CPC and-not CEL @@ -5029,35 +3574,6 @@ style lambda=0.20(ps) calma CCP 47 * layer pc CCC - and-not CV1 - and CPG - and-not CPC - and-not CEL - and-not CAA - grow 20 - and CM1 - grow 10 - shrink 10 - calma CCC 25 * - - layer pc CCP - and CV1 - and CV2 - and-not CV3 - and CPG - and-not CPC - and-not CEL - and-not CAA - grow 20 - and CM1 - grow 10 - shrink 10 - calma CCP 47 * - - layer pc CCC - and CV1 - and CV2 - and-not CV3 and CPG and-not CPC and-not CEL @@ -5142,10 +3658,6 @@ style lambda=0.20(ps) calma CV3 30 * layer m2c CV1 - and-not CV2 - and-not CCC - and-not CCP - and-not CCA and-not XP grow 20 and CM2 @@ -5154,65 +3666,8 @@ style lambda=0.20(ps) shrink 10 calma CV1 50 * - layer m2c CV1 - and CV2 - and CV3 - and-not CCC - and-not CCP - and-not CCA - and-not XP - grow 20 - and CM2 - and CM1 - grow 10 - shrink 10 - calma CV1 50 * - layer pm12c CV1 - and-not CV2 - and CCP - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - layer pm12c CV1 - and-not CV2 - and CCC - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - - layer pm12c CV1 - and CV2 - and CV3 - and CCP - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - - layer pm12c CV1 - and CV2 - and CV3 - and CCC - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * layer m1 CM1 and-not CRM @@ -5260,325 +3715,25 @@ style lambda=0.20(ps) labels CMSP calma CMSP 82 * - layer ndm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and-not CV2 - and CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and-not CV2 - and CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * layer fp 100 calma 100 100 * @@ -5605,89 +3760,6 @@ style lambda=0.20(ps) calma 110 110 * layer m3c CV2 - and-not CV3 - and-not CV1 - and-not XP - grow 20 - and CM3 - and CM2 - grow 10 - shrink 10 - calma CV2 61 * - - layer m123c CV2 - and-not CV3 - and CV1 - and-not XP - grow 20 - and CM3 - and CM2 - and CM1 - grow 10 - shrink 10 - calma CV2 61 * - - layer m3 CM3 - and-not CRM - and-not CRT - and-not XP - labels CM3 - calma CM3 62 * - - layer rm3 CRM - and CM3 - calma CRM 70 * - - layer rm3 CRT - and CM3 - calma CRT 73 * - - layer pseudo_rmetal3 CRT - and-not rm3 - calma CRT 73 * - - layer m3p CMTP - labels CMTP - calma CMTP 83 * - - layer m234c CV3 - - and CV2 - and-not XP - grow 20 - and CM4 - and CM3 - and CM2 - grow 20 - shrink 20 - calma CV3 30 * - - layer m4 CM4 - and-not CRM - and-not CRQ - and-not XP - labels CM4 - calma CM4 31 * - - layer rm4 CRM - and CM4 - calma CRM 70 * - - layer rm4 CRQ - and CM4 - calma CRQ 74 * - - layer pseudo_rmetal4 CRQ - and-not rm4 - calma CRQ 74 * - - layer m4p CMQP - labels CMQP - calma CMQP 84 * - - layer m4c CV3 - - and-not CV2 and-not XP grow 20 and CM4 @@ -5754,7 +3826,6 @@ style lambda=0.20(ps) calma CTA 60 * -#CRE/CRM calma CRW 65 * calma CRG 67 * calma CRD 66 * @@ -5992,10 +4063,9 @@ style lambda=0.20() layer ndc CAA and CSN and CCA - and-not CV1 and-not CWNR and-not CTA - + and-not CWN and CM1 grow 20 @@ -6006,10 +4076,9 @@ style lambda=0.20() layer ndc CAA and CSN and CCC - and-not CV1 and-not CWNR and-not CTA - + and-not CWN and CM1 grow 20 @@ -6020,10 +4089,9 @@ style lambda=0.20() layer nsc CAA and CSN and CCA - and-not CV1 and-not CWNR and-not CTA - + and CWN and CM1 grow 20 @@ -6034,10 +4102,9 @@ style lambda=0.20() layer nsc CAA and CSN and CCC - and-not CV1 and-not CWNR and-not CTA - + and CWN and CM1 grow 20 @@ -6047,12 +4114,11 @@ style lambda=0.20() layer nwsc CAA and CSN - and-not CV1 and CWNR shrink 100 and-not CTA and CCA - + and CWN and CM1 grow 40 @@ -6062,12 +4128,11 @@ style lambda=0.20() layer nwsc CAA and CSN - and-not CV1 and CWNR shrink 105 and-not CTA and CCC - + and CWN and CM1 grow 40 @@ -6078,9 +4143,8 @@ style lambda=0.20() layer pdc CAA and CSP and CCA - and-not CV1 and-not CTA - + and-not CPS and CWN and CM1 @@ -6092,9 +4156,8 @@ style lambda=0.20() layer pdc CAA and CSP and CCC - and-not CV1 and-not CTA - + and-not CPS and CWN and CM1 @@ -6106,9 +4169,8 @@ style lambda=0.20() layer psc CAA and CSP and CCA - and-not CV1 and-not CTA - + and-not CPS and-not CWN and CM1 @@ -6120,173 +4182,9 @@ style lambda=0.20() layer psc CAA and CSP and CCC - and-not CV1 and-not CWNR and-not CTA - - and-not CPS - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - layer ndc CAA - and CSN - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer ndc CAA - and CSN - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer nsc CAA - and CSN - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer nsc CAA - and CSN - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer nwsc CAA - and CSN - and CV1 - and CV2 - and-not CV3 - and CWNR - shrink 100 - and-not CTA - and CCA - - and CWN - and CM1 - grow 40 - grow 10 - shrink 10 - calma CCA 48 * - - layer nwsc CAA - and CSN - and CV1 - and CV2 - and-not CV3 - and CWNR - shrink 105 - and-not CTA - and CCC - - and CWN - and CM1 - grow 40 - grow 10 - shrink 10 - calma CCC 25 * - - layer pdc CAA - and CSP - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer pdc CAA - and CSP - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCC 25 * - - layer psc CAA - and CSP - and CCA - and CV1 - and CV2 - and-not CV3 - and-not CTA - - and-not CPS - and-not CWN - and CM1 - grow 20 - grow 10 - shrink 10 - calma CCA 48 * - - layer psc CAA - and CSP - and CCC - and CV1 - and CV2 - and-not CV3 - and-not CWNR - and-not CTA - and-not CPS and-not CWN and CM1 @@ -6314,7 +4212,6 @@ style lambda=0.20() calma CRG 67 * layer pc CCP - and-not CV1 and CPG and-not CPC and-not CEL @@ -6326,35 +4223,6 @@ style lambda=0.20() calma CCP 47 * layer pc CCC - and-not CV1 - and CPG - and-not CPC - and-not CEL - and-not CAA - grow 20 - and CM1 - grow 10 - shrink 10 - calma CCC 25 * - - layer pc CCP - and CV1 - and CV2 - and-not CV3 - and CPG - and-not CPC - and-not CEL - and-not CAA - grow 20 - and CM1 - grow 10 - shrink 10 - calma CCP 47 * - - layer pc CCC - and CV1 - and CV2 - and-not CV3 and CPG and-not CPC and-not CEL @@ -6439,10 +4307,6 @@ style lambda=0.20() calma CV3 30 * layer m2c CV1 - and-not CV2 - and-not CCC - and-not CCP - and-not CCA and-not XP grow 20 and CM2 @@ -6451,65 +4315,8 @@ style lambda=0.20() shrink 10 calma CV1 50 * - layer m2c CV1 - and CV2 - and CV3 - and-not CCC - and-not CCP - and-not CCA - and-not XP - grow 20 - and CM2 - and CM1 - grow 10 - shrink 10 - calma CV1 50 * - layer pm12c CV1 - and-not CV2 - and CCP - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - layer pm12c CV1 - and-not CV2 - and CCC - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - - layer pm12c CV1 - and CV2 - and CV3 - and CCP - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * - - layer pm12c CV1 - and CV2 - and CV3 - and CCC - grow 20 - and CM2 - and CM1 - and CPG - grow 10 - shrink 10 - calma CV1 50 * layer m1 CM1 and-not CRM @@ -6557,325 +4364,25 @@ style lambda=0.20() labels CMSP calma CMSP 82 * - layer ndm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and-not CV2 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and-not CV2 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and-not CV2 - and CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and-not CV2 - and CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer ndm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer pdm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and-not CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer psm12c CAA - and CSP - and CV1 - and CV2 - and CV3 - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and-not CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and CWNR - and-not CTA - and CCA - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * - layer nwsm12c CAA - and CSN - and CV1 - and CV2 - and CV3 - and CWNR - and-not CTA - and CCC - grow 20 - and CM1 - and CM2 - - and CWN - grow 10 - shrink 10 - calma CV1 50 * layer fp 100 calma 100 100 * @@ -6902,8 +4409,6 @@ style lambda=0.20() calma 110 110 * layer m3c CV2 - and-not CV3 - and-not CV1 and-not XP grow 20 and CM3 @@ -6912,17 +4417,6 @@ style lambda=0.20() shrink 10 calma CV2 61 * - layer m123c CV2 - and-not CV3 - and CV1 - and-not XP - grow 20 - and CM3 - and CM2 - and CM1 - grow 10 - shrink 10 - calma CV2 61 * layer m3 CM3 and-not CRM @@ -6947,17 +4441,6 @@ style lambda=0.20() labels CMTP calma CMTP 83 * - layer m234c CV3 - - and CV2 - and-not XP - grow 20 - and CM4 - and CM3 - and CM2 - grow 20 - shrink 20 - calma CV3 30 * layer m4 CM4 and-not CRM @@ -6983,8 +4466,6 @@ style lambda=0.20() calma CMQP 84 * layer m4c CV3 - - and-not CV2 and-not XP grow 20 and CM4 @@ -7051,7 +4532,6 @@ style lambda=0.20() calma CTA 60 * -#CRE/CRM calma CRW 65 * calma CRG 67 * calma CRD 66 * @@ -7525,7 +5005,6 @@ style lambda=0.20(c) calma CTA 60 * -#CRE/CRM calma CRW 65 * calma CRG 67 * calma CRD 66 * @@ -8001,7 +5480,6 @@ style lambda=0.20(cs) calma CTA 60 * -#CRE/CRM calma CRW 65 * calma CRG 67 * calma CRD 66 * @@ -8478,7 +5956,6 @@ style lambda=0.20(cps) calma CTA 60 * -#CRE/CRM calma CRW 65 * calma CRG 67 * calma CRD 66 * @@ -8953,7 +6430,6 @@ style lambda=0.20(cp) calma CTA 60 * -#CRE/CRM calma CRW 65 * calma CRG 67 * calma CRD 66 * @@ -9029,22 +6505,22 @@ drc width pwell 12 \ "P-well width < 12 (Mosis #1.1)" - width diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a 3 \ + width diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a 3 \ "Diffusion width < 3 (Mosis #2.1)" - edge4way nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a pdiff,apres,rpd,pdc/a,pdm12c/a 3 ~(nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a)/active pdiff,apres,rpd,pdc/a,pdm12c/a 3 \ + edge4way nsd,nwsd,nsc/a,nwsc/a pdiff,apres,rpd,pdc/a 3 ~(nsd,nwsd,nsc/a,nwsc/a)/active pdiff,apres,rpd,pdc/a 3 \ "P-Diffusion width in N-Ohmic < 3 (Mosis #2.1)" active - edge4way psd,psc/a,psm12c/a ndiff,anres,rnd,ndc/a,ndm12c/a 3 ~(psd,psc/a,psm12c/a)/active ndiff,anres,rnd,ndc/a,ndm12c/a 3 \ + edge4way psd,psc/a ndiff,anres,rnd,ndc/a 3 ~(psd,psc/a)/active ndiff,anres,rnd,ndc/a 3 \ "N-Diffusion width in P-Ohmic < 3 (Mosis #2.1)" active - edge4way pdiff,apres,rpd,pdc/a,pdm12c/a nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 3 ~(pdiff,apres,rpd,pdc/a,pdm12c/a)/active nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 3 \ + edge4way pdiff,apres,rpd,pdc/a nsd,nwsd,nsc/a,nwsc/a 3 ~(pdiff,apres,rpd,pdc/a)/active nsd,nwsd,nsc/a,nwsc/a 3 \ "N-Ohmic width in P-Diffusion < 3 (Mosis #2.1)" active - edge4way ndiff,anres,rnd,ndc/a,ndm12c/a psd,psc/a,psm12c/a 3 ~(ndiff,anres,rnd,ndc/a,ndm12c/a)/active psd,psc/a,psm12c/a 3 \ + edge4way ndiff,anres,rnd,ndc/a psd,psc/a 3 ~(ndiff,anres,rnd,ndc/a)/active psd,psc/a 3 \ "P-Ohmic width in N-Diffusion < 3 (Mosis #2.1)" active - width poly,fp,pres,rp,pc/a,pm12c/a,nfet,pfet,fet 2 \ + width poly,fp,pres,rp,pc/a,nfet,pfet,fet 2 \ "Poly width < 2 (Mosis #3.1)" width nselect 3 \ @@ -9053,17 +6529,15 @@ drc width pselect 3 \ "P-Select width < 3 (Mosis #4.4)" - width ndiff,anres,rnd,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a 3 \ + width ndiff,anres,rnd,ndc/a,nsd,nsc/a 3 \ "N-Diffusion,N-Ohmic width < 3 (Mosis #4.4)" - width pdiff,apres,rpd,pdc/a,pdm12c/a,psd,psc/a,psm12c/a 3 \ + width pdiff,apres,rpd,pdc/a,psd,psc/a 3 \ "P-Diffusion,P-Ohmic width < 3 (Mosis #4.4)" width pc/m1 4 \ "Poly contact width < 4 (Mosis #5.1)" - width pm12c/m1 4 \ - "Poly contact width < 4 (Mosis #5.1)" width gc 2 \ "GC contact width < 2 (Mosis #6.1)" @@ -9071,8 +6545,6 @@ drc width ndc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" - width ndm12c/m1 4 \ - "Diffusion contact width < 4 (Mosis #6.1)" width nsc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" @@ -9080,11 +6552,7 @@ drc width nwsc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" - width nsm12c/m1 4 \ - "Diffusion contact width < 4 (Mosis #6.1)" - width nwsm12c/m1 4 \ - "Diffusion contact width < 4 (Mosis #6.1)" width nwsc 6 \ "nwr (for Fig1b resistor) active Contact width < 6 (Mosis #Fig1b)" @@ -9092,16 +6560,12 @@ drc width pdc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" - width pdm12c/m1 4 \ - "Diffusion contact width < 4 (Mosis #6.1)" width psc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" - width psm12c/m1 4 \ - "Diffusion contact width < 4 (Mosis #6.1)" - width m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 3 \ + width m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 3 \ "Metal1 width < 3 (Mosis #7.1)" width gv1 2 \ @@ -9110,28 +6574,14 @@ drc width m2c/m1 4 \ "Metal2 contact width < 4 (Mosis #8.1)" - width pdm12c/m1 4 \ - "Metal2 contact width < 4 (Mosis #8.1)" - width ndm12c/m1 4 \ - "Metal2 contact width < 4 (Mosis #8.1)" - width psm12c/m1 4 \ - "Metal2 contact width < 4 (Mosis #8.1)" - width nsm12c/m1 4 \ - "Metal2 contact width < 4 (Mosis #8.1)" - width pm12c/m1 4 \ - "Metal2 contact width < 4 (Mosis #8.1)" - width m123c/m1 4 \ - "Metal2 contact width < 4 (Mosis #8.1)" - width nwsm12c/m1 4 \ - "Metal2 contact width < 4 (Mosis #8.1)" - width m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 3 \ + width m2,fm2,rm2,m2c/m2,m3c/m2 3 \ "Metal2 width < 3 (Mosis #9.1)" width gv2 2 \ @@ -9140,13 +6590,9 @@ drc width m3c/m2 4 \ "Metal3 contact width < 4 (Mosis #14.1)" - width m123c/m2 4 \ - "Metal3 contact width < 4 (Mosis #14.1)" - width m234c/m2 4 \ - "Metal3 contact width < 4 (Mosis #14.1)" - width m3,fm3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3 3 \ + width m3,fm3,rm3,m3c/m3,m4c/m3 3 \ "Metal3 width < 3 (Mosis #15.1)" width sb,pres,anres,apres 4 \ @@ -9164,10 +6610,8 @@ drc width m4c/m3 4 \ "Metal4 contact width < 4 (Mosis #21.3)" - width m234c/m3 4 \ - "Metal4 contact width < 4 (Mosis #21.3)" - width m4,fm4,rm4,m4c/m4,m234c/m4,pad 3 \ + width m4,fm4,rm4,m4c/m4,pad 3 \ "Metal4 width < 3 (Mosis #22.1)" width nfi,pfi 4 \ @@ -9191,73 +6635,73 @@ drc edge4way ~(pwell)/well pwell 1 ~(nwr)/active 0 0 \ "P-well cannot touch nwr (for Fig1b resistor L/W extraction) (Mosis #1.4)" active - spacing diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a 3 touching_ok \ + spacing diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a 3 touching_ok \ "Diffusion spacing < 3 (Mosis #2.2)" - spacing nwell ndiff,anres,rnd,nfet,ndc/a,ndm12c/a 6 touching_illegal \ + spacing nwell ndiff,anres,rnd,nfet,ndc/a 6 touching_illegal \ "N-well spacing to N-Diffusion < 6 (Mosis #2.3)" - spacing pwell pdiff,apres,rpd,pfet,pdc/a,pdm12c/a 6 touching_illegal \ + spacing pwell pdiff,apres,rpd,pfet,pdc/a 6 touching_illegal \ "P-well spacing to P-Diffusion < 6 (Mosis #2.3)" - spacing ndiff,anres,rnd,nfet,ndc/a,ndm12c/a pdiff,apres,rpd,pfet,pdc/a,pdm12c/a 12 touching_illegal \ + spacing ndiff,anres,rnd,nfet,ndc/a pdiff,apres,rpd,pfet,pdc/a 12 touching_illegal \ "N-Diffusion spacing to P-Diffusion < 12 (Mosis #2.3+2.3)" - edge4way ~(nwell)/well nwell 6 ~(pdiff,apres,rpd,pfet,pdc/a,pdm12c/a)/active nwell 6 \ + edge4way ~(nwell)/well nwell 6 ~(pdiff,apres,rpd,pfet,pdc/a)/active nwell 6 \ "N-well overlap of P-Diffusion < 6 (Mosis #2.4)" active - edge4way ~(pwell)/well pwell 6 ~(ndiff,anres,rnd,nfet,ndc/a,ndm12c/a)/active pwell 6 \ + edge4way ~(pwell)/well pwell 6 ~(ndiff,anres,rnd,nfet,ndc/a)/active pwell 6 \ "P-well overlap of N-Diffusion < 6 (Mosis #2.4)" active - edge4way ~(nwell)/well nwell 3 ~(nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a)/active nwell 3 \ + edge4way ~(nwell)/well nwell 3 ~(nsd,nwsd,nsc/a,nwsc/a)/active nwell 3 \ "N-well overlap of N-Ohmic < 3 (Mosis #2.4)" active - edge4way ~(pwell)/well pwell 3 ~(psd,psc/a,psm12c/a)/active pwell 3 \ + edge4way ~(pwell)/well pwell 3 ~(psd,psc/a)/active pwell 3 \ "P-well overlap of P-Ohmic < 3 (Mosis #2.4)" active - spacing ndiff,anres,rnd,ndc/a,ndm12c/a nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 9 touching_illegal \ + spacing ndiff,anres,rnd,ndc/a nsd,nwsd,nsc/a,nwsc/a 9 touching_illegal \ "N-Diffusion spacing to N-Ohmic < 9 (Mosis #2.3+2.4)" - spacing pdiff,apres,rpd,pdc/a,pdm12c/a psd,psc/a,psm12c/a 9 touching_illegal \ + spacing pdiff,apres,rpd,pdc/a psd,psc/a 9 touching_illegal \ "P-Diffusion spacing to P-Ohmic < 9 (Mosis #2.3+2.4)" - spacing nwell psd,psc/a,psm12c/a 3 touching_illegal \ + spacing nwell psd,psc/a 3 touching_illegal \ "N-well spacing to P-Ohmic < 3 (Mosis #2.4)" - spacing pwell nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 3 touching_illegal \ + spacing pwell nsd,nwsd,nsc/a,nwsc/a 3 touching_illegal \ "P-well spacing to N-Ohmic < 3 (Mosis #2.4)" - spacing psd,psc/a,psm12c/a rnw,prnw 3 touching_illegal \ + spacing psd,psc/a rnw,prnw 3 touching_illegal \ "P-Ohmic spacing to rnw,prnw < 3 (Mosis #2.4)" - spacing psd,psc/a,psm12c/a nwr,pnwr 3 touching_illegal \ + spacing psd,psc/a nwr,pnwr 3 touching_illegal \ "P-Ohmic spacing to nwr,pnwr (for Fig1b Resistor) < 3 (Mosis #2.4)" - spacing nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a psd,psc/a,psm12c/a 6 touching_illegal \ + spacing nsd,nwsd,nsc/a,nwsc/a psd,psc/a 6 touching_illegal \ "N-Ohmic spacing to P-Ohmic < 6 (Mosis #2.4+2.4)" - spacing ndiff,anres,rnd,nfet,ndc/a,ndm12c/a,nfet psd,psc/a,psm12c/a 4 touching_ok \ + spacing ndiff,anres,rnd,nfet,ndc/a,nfet psd,psc/a 4 touching_ok \ "N-Diffusion spacing to P-Ohmic < 4 (Mosis #2.5)" - spacing pdiff,apres,rpd,pfet,pdc/a,pdm12c/a,pfet nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 4 touching_ok \ + spacing pdiff,apres,rpd,pfet,pdc/a,pfet nsd,nwsd,nsc/a,nwsc/a 4 touching_ok \ "P-Diffusion spacing to N-Ohmic < 4 (Mosis #2.5)" - spacing poly,pres,rp,pc/a,pm12c/a,nfet,pfet,fet poly,pres,rp,pc/a,pm12c/a,nfet,pfet,fet 3 touching_ok \ + spacing poly,pres,rp,pc/a,nfet,pfet,fet poly,pres,rp,pc/a,nfet,pfet,fet 3 touching_ok \ "Poly spacing < 3 (Mosis #3.2)" - spacing poly,pres,rp,pc/a,pm12c/a,nfet,pfet,fet fp,fapm 3 touching_illegal \ + spacing poly,pres,rp,pc/a,nfet,pfet,fet fp,fapm 3 touching_illegal \ "Poly spacing to fill layer (fp) < 3 (Mosis #3.2)" spacing fp fp 4 touching_ok \ "Poly fill layer (fp) spacing < 4 (Mosis #0)" - edge4way nfet,pfet,fet space/active,poly,fp,pres,rp,pc/a,pm12c/a 2 poly,fp,pres,rp,pc/a,pm12c/a 0 0 \ + edge4way nfet,pfet,fet space/active,poly,fp,pres,rp,pc/a 2 poly,fp,pres,rp,pc/a 0 0 \ "Poly overhang of Transistor < 2 (Mosis #3.3)" active - edge4way nfet,pfet,fet space/active,ndiff,anres,rnd,ndc/a,ndm12c/a,pdiff,apres,rpd,pdc/a,pdm12c/a 3 ndiff,anres,rnd,ndc/a,ndm12c/a,pdiff,apres,rpd,pdc/a,pdm12c/a,nfet,pfet,fet 0 0 \ + edge4way nfet,pfet,fet space/active,ndiff,anres,rnd,ndc/a,pdiff,apres,rpd,pdc/a 3 ndiff,anres,rnd,ndc/a,pdiff,apres,rpd,pdc/a,nfet,pfet,fet 0 0 \ "N-Diffusion,P-Diffusion overhang of Transistor < 3 (Mosis #3.4)" active - edge4way poly,fp,rp,pc/a,pm12c/a ~(poly,fp,pres,rp,pc/a,pm12c/a,nfet,pfet,fet,prp)/active 1 space space 1 \ + edge4way poly,fp,rp,pc/a ~(poly,fp,pres,rp,pc/a,nfet,pfet,fet,prp)/active 1 space space 1 \ "Poly spacing to Diffusion < 1 (Mosis #3.5)" edge4way nfet ~(nfet)/active 2 ~(pselect)/select ~(nfet)/active 2 \ @@ -9266,40 +6710,40 @@ drc edge4way pfet ~(pfet)/active 2 ~(nselect)/select ~(pfet)/active 2 \ "P-Transistor space to N-Select < 2 (Mosis #4.1)" select - edge4way nfet ~(nfet)/active 3 ~(psd,psc/a,psm12c/a)/active ~(nfet)/active 2 \ + edge4way nfet ~(nfet)/active 3 ~(psd,psc/a)/active ~(nfet)/active 2 \ "N-Transistor space to P-Ohmic < 3 (Mosis #4.1)" active - edge4way pfet ~(pfet)/active 3 ~(nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a)/active ~(pfet)/active 2 \ + edge4way pfet ~(pfet)/active 3 ~(nsd,nwsd,nsc/a,nwsc/a)/active ~(pfet)/active 2 \ "P-Transistor space to N-Ohmic < 3 (Mosis #4.1)" active -#PEZ edge4way psd,psc/a,psm12c/a space ~(nfet)/active space \ +#PEZ edge4way psd,psc/a space ~(nfet)/active space \ #PEZ "P-Ohmic space to N-Transistor < (Mosis #4.1)" active -#PEZ edge4way nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a space ~(pfet)/active space \ +#PEZ edge4way nsd,nwsd,nsc/a,nwsc/a space ~(pfet)/active space \ #PEZ "N-Ohmic space to P-Transistor < (Mosis #4.1)" active - edge4way ~(nselect,pselect)/select nselect,pselect 2 ~(diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a)/active nselect,pselect 2 \ + edge4way ~(nselect,pselect)/select nselect,pselect 2 ~(diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a)/active nselect,pselect 2 \ "N-Select,P-Select overlap of Diffusion < 2 (Mosis #4.2_)" active - edge4way space nselect,pselect 2 ~(ndiff,anres,rnd,nfet,ndc/a,ndm12c/a)/active nselect 2 \ + edge4way space nselect,pselect 2 ~(ndiff,anres,rnd,nfet,ndc/a)/active nselect 2 \ "N-Select space to N-Diffusion < 2 (Mosis #4.2a)" active - edge4way nselect,pselect space 2 ~(ndiff,anres,rnd,nfet,ndc/a,ndm12c/a)/active nselect 2 \ + edge4way nselect,pselect space 2 ~(ndiff,anres,rnd,nfet,ndc/a)/active nselect 2 \ "N-Select space to N-Diffusion < 2 (Mosis #4.2b)" active - edge4way nselect,pselect space 2 ~(ndiff,anres,rnd,nfet,ndc/a,ndm12c/a)/active space,nselect,pselect 2 \ + edge4way nselect,pselect space 2 ~(ndiff,anres,rnd,nfet,ndc/a)/active space,nselect,pselect 2 \ "N-Select space to N-Diffusion < 2 (Mosis #4.2c)" active - edge4way space nselect,pselect 2 ~(pdiff,apres,rpd,pfet,pdc/a,pdm12c/a)/active pselect 2 \ + edge4way space nselect,pselect 2 ~(pdiff,apres,rpd,pfet,pdc/a)/active pselect 2 \ "P-Select space to P-Diffusion < 2 (Mosis #4.2aa)" active - edge4way nselect,pselect space 2 ~(pdiff,apres,rpd,pfet,pdc/a,pdm12c/a)/active pselect 2 \ + edge4way nselect,pselect space 2 ~(pdiff,apres,rpd,pfet,pdc/a)/active pselect 2 \ "P-Select space to P-Diffusion < 2 (Mosis #4.2bb)" active - edge4way nselect,pselect space 2 ~(pdiff,apres,rpd,pfet,pdc/a,pdm12c/a)/active space,nselect,pselect 2 \ + edge4way nselect,pselect space 2 ~(pdiff,apres,rpd,pfet,pdc/a)/active space,nselect,pselect 2 \ "P-Select space to P-Diffusion < 2 (Mosis #4.2cc)" active - area nsd,nwsd,psd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,psc/a,psm12c/a 16 3 \ + area nsd,nwsd,psd,nsc/a,nwsc/a,psc/a 16 3 \ "Ohmic-Diffusion area < 16 (Mosis #+++)" edge4way diff space 2 nselect space 2 \ @@ -9308,16 +6752,16 @@ drc edge4way diff space 2 pselect space 2 \ "P-Select must overlap Diffusion by 2 (Mosis #4.2)" select - edge4way ndiff,anres,rnd,nfet,ndc/a,ndm12c/a space 2 ~(pselect)/select space 2 \ + edge4way ndiff,anres,rnd,nfet,ndc/a space 2 ~(pselect)/select space 2 \ "P-Select space to N-Diffusion < 2 (Mosis #4.2e)" select - edge4way pdiff,apres,rpd,pfet,pdc/a,pdm12c/a space 2 ~(nselect)/select space 2 \ + edge4way pdiff,apres,rpd,pfet,pdc/a space 2 ~(nselect)/select space 2 \ "N-Select space to P-Diffusion < 2 (Mosis #4.2e)" select - edge4way ~(pdiff,apres,rpd,pfet,pdc/a,pdm12c/a,psd,psc/a,psm12c/a)/active pdiff,apres,rpd,pfet,pdc/a,pdm12c/a,psd,psc/a,psm12c/a 1 ~(nselect)/select 0 0 \ + edge4way ~(pdiff,apres,rpd,pfet,pdc/a,psd,psc/a)/active pdiff,apres,rpd,pfet,pdc/a,psd,psc/a 1 ~(nselect)/select 0 0 \ "N-Select cannot touch P-Diffusion,P-Ohmic (Mosis #4.2f)" select - edge4way ~(ndiff,anres,rnd,nfet,ndc/a,ndm12c/a,nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a)/active ndiff,anres,rnd,nfet,ndc/a,ndm12c/a,nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 1 ~(pselect)/select 0 0 \ + edge4way ~(ndiff,anres,rnd,nfet,ndc/a,nsd,nwsd,nsc/a,nwsc/a)/active ndiff,anres,rnd,nfet,ndc/a,nsd,nwsd,nsc/a,nwsc/a 1 ~(pselect)/select 0 0 \ "P-Select cannot touch N-Diffusion,N-Ohmic (Mosis #4.2f)" select spacing nselect nselect 3 touching_ok \ @@ -9326,13 +6770,13 @@ drc spacing pselect pselect 3 touching_ok \ "P-Select spacing < 3 (Mosis #4.4)" - edge4way ndiff,anres,rnd,ndc/a,ndm12c/a psd,psc/a,psm12c/a 2 ~(ndiff,anres,rnd,ndc/a,ndm12c/a)/active 0 0 \ + edge4way ndiff,anres,rnd,ndc/a psd,psc/a 2 ~(ndiff,anres,rnd,ndc/a)/active 0 0 \ "P-Ohmic(that touches N-Diffusion) width < 2 (Mosis #4.4)" - edge4way pdiff,apres,rpd,pdc/a,pdm12c/a nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 2 ~(pdiff,apres,rpd,pdc/a,pdm12c/a)/active 0 0 \ + edge4way pdiff,apres,rpd,pdc/a nsd,nwsd,nsc/a,nwsc/a 2 ~(pdiff,apres,rpd,pdc/a)/active 0 0 \ "N-Ohmic(that touches P-Diffusion) width < 2 (Mosis #4.4)" - edge4way gc ~(gc)/contact 1 poly,fp,pres,rp,pc/a,pm12c/a,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a ~(gc)/contact 1 \ + edge4way gc ~(gc)/contact 1 poly,fp,pres,rp,pc/a,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a ~(gc)/contact 1 \ "Poly,Diffusion overlap of GC contact < 1 (Mosis #5.2)" active edge4way ~(nwsd)/active nwsd 2 ~(gc)/contact nwsd 2 \ @@ -9341,115 +6785,101 @@ drc spacing nwr gc 5 touching_illegal \ "nwr (for Fig1b resistor) spacing to GC contact < 5 (Mosis #Fig1b)" - spacing nwr ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 3 touching_illegal \ + spacing nwr ndc/a,nsc/a,nwsc/a 3 touching_illegal \ "nwr (for Fig1b resistor) spacing to Diffusion contact < 3 (Mosis #Fig1b)" - edge4way gc space 1 poly,fp,pres,rp,pc/a,pm12c/a,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a space 1 \ + edge4way gc space 1 poly,fp,pres,rp,pc/a,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a space 1 \ "one of: Poly,Diffusion must overlap GC contact by 1 (Mosis #5.2a,6.2a)" active - edge4way ~(poly,fp,pres,rp,pc/a,pm12c/a,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a)/active poly,fp,pres,rp,pc/a,pm12c/a,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a 1 ~(gc)/contact 0 0 \ + edge4way ~(poly,fp,pres,rp,pc/a,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a)/active poly,fp,pres,rp,pc/a,diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a 1 ~(gc)/contact 0 0 \ "Edge to one of: Poly,Diffusion cannot touch GC contact (Mosis #5.2a,6.2a)" contact spacing gc gc 3 touching_ok \ "Generic contact spacing < 3 (Mosis #5.3)" - edge4way ~(gc)/contact gc 1 ~(ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1)/metal1 0 0 \ + edge4way ~(gc)/contact gc 1 ~(ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1)/metal1 0 0 \ "GC contact cannot touch Metal1 contacts (Mosis #0)" metal1 - spacing gv1 m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2 2 touching_illegal \ + spacing gv1 m2c/m2 2 touching_illegal \ "GV1 via spacing to Metal2 contacts < 2 (Mosis #14.2)" -#PSC spacing poly,fp,pres,rp,pc/a,pm12c/a pc/a,pm12c/a 4 touching_ok \ +#PSC spacing poly,fp,pres,rp,pc/a pc/a 4 touching_ok \ #PSC "Poly spacing to Poly contact < 4 (Mosis #5.5.b)" - edge4way gc ~(gc)/contact 1 diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,poly,fp,pres,rp,pc/a,pm12c/a ~(gc)/contact 1 \ + edge4way gc ~(gc)/contact 1 diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,poly,fp,pres,rp,pc/a ~(gc)/contact 1 \ "Diffusion,Poly overlap of GC contact < 1 (Mosis #6.2)" active - spacing gc pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 2 touching_illegal \ + spacing gc pc/a,ndc/a,pdc/a,psc/a,nsc/a,nwsc/a 2 touching_illegal \ "Generic contact spacing to Poly contact,Diffusion contact < 2 (Mosis #5.3)" - spacing nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1 pdc/m1,pdm12c/m1 1 touching_illegal \ + spacing nsc/m1,nwsc/m1 pdc/m1 1 touching_illegal \ "nsc spacing to pdc < 1 (Mosis #6.3)" - spacing psc/m1,psm12c/m1 ndc/m1,ndm12c/m1 1 touching_illegal \ + spacing psc/m1 ndc/m1 1 touching_illegal \ "psc spacing to ndc < 1 (Mosis #6.3)" - spacing pdm12c/m1 pdc/m1,m2c/m1,nsm12c/m1 1 touching_illegal \ - "pdm12c spacing to pdc or m2c or nsm12c < 1 (Mosis #6.3)" - spacing psm12c/m1 psc/m1,m2c/m1 1 touching_illegal \ - "psm12c spacing to psc or m2c < 1 (Mosis #6.3)" - spacing ndm12c/m1 ndc/m1,m2c/m1,nsm12c/m1 1 touching_illegal \ - "ndm12c spacing to ndc or m2c or nsm12c < 1 (Mosis #6.3)" - spacing nsm12c/m1 nsc/m1,m2c/m1 1 touching_illegal \ - "nsm12c spacing to nsc or m2c < 1 (Mosis #6.3)" - spacing pm12c/m1 pc/m1,m2c/m1 1 touching_illegal \ - "pm12c spacing to pc or m2c < 1 (Mosis #6.3)" - spacing m123c/m2 pdm12c/m2,psm12c/m2,ndm12c/m2,nsm12c/m2,pm12c/m2,m2c/m2,m3c/m2 1 touching_illegal \ - "m123c spacing to *m12c or m2c or m3c < 1 (Mosis #6.3)" - spacing m234c/m3 m3c/m3,m4c/m3,m123c/m3 1 touching_illegal \ - "m234c spacing to m3c or m4c or m123c < 1 (Mosis #6.3)" - spacing nfet,pfet ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 1 touching_illegal \ + spacing nfet,pfet ndc/a,pdc/a,psc/a,nsc/a,nwsc/a 1 touching_illegal \ "N-Transistor,P-Transistor spacing to Diffusion contact < 1 (Mosis #6.4)" spacing nfet,pfet gc 2 touching_illegal \ "N-Transistor,P-Transistor spacing to Generic contact < 2 (Mosis #6.4)" - spacing diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a pc/a,pm12c/a 1 touching_illegal \ + spacing diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a pc/a 1 touching_illegal \ "Diffusion spacing to Poly contact < 1 (Mosis #6.5.b)" - spacing diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nfet,pfet ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 4 touching_ok \ + spacing diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a,nfet,pfet ndc/a,pdc/a,psc/a,nsc/a,nwsc/a 4 touching_ok \ "Diffusion spacing to Diffusion contact < 4 (Mosis #6.5.b)" - spacing pc/a,pm12c/a ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 2 touching_illegal \ - "pc/a,pm12c/a spacing to ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a < 2 (Mosis #6.7)" + spacing pc/a ndc/a,pdc/a,psc/a,nsc/a,nwsc/a 2 touching_illegal \ + "pc/a,pm12c/a spacing to ndc/a,pdc/a,psc/a,nsc/a,nwsc/a < 2 (Mosis #6.7)" - spacing m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 3 touching_ok \ + spacing m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 3 touching_ok \ "Metal1 spacing < 3 (Mosis #7.2)" - spacing m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 fm1,fapm 3 touching_illegal \ + spacing m1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 fm1,fapm 3 touching_illegal \ "Metal1 spacing to fill layer (fm1) < 3 (Mosis #7.2)" spacing fm1 fm1 4 touching_ok \ "Metal1 fill layer (fm1) spacing < 4 (Mosis #0)" - edge4way gc space 1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 space 1 \ + edge4way gc space 1 m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 space 1 \ "Metal1 must overlap GC contact by 1 (Mosis #7.3,7.4)" metal1 - edge4way ~(m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1)/metal1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 1 ~(gc)/contact 0 0 \ + edge4way ~(m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1)/metal1 m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 1 ~(gc)/contact 0 0 \ "Metal1(edge) cannot touch GC contact (Mosis #7.3+7.4)" contact spacing gv1 gv1 3 touching_ok \ "GV1 via spacing < 3 (Mosis #8.2)" - edge4way gv1 ~(gv1)/via1 1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 ~(gv1)/via1 1 \ + edge4way gv1 ~(gv1)/via1 1 m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 ~(gv1)/via1 1 \ "Metal1 overlap of GV1 via < 1 (Mosis #8.3)" metal1 - edge4way gv1 space 1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 space 1 \ + edge4way gv1 space 1 m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 space 1 \ "Metal1 must overlap GV1 via by 1 (Mosis #8.3)" metal1 - edge4way ~(m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1)/metal1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 1 ~(gv1)/via1 0 0 \ + edge4way ~(m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1)/metal1 m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 1 ~(gv1)/via1 0 0 \ "Metal1(edge) cannot touch GV1 via (Mosis #8.3)" via1 - spacing m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 3 touching_ok \ + spacing m2,rm2,m2c/m2,m3c/m2 m2,rm2,m2c/m2,m3c/m2 3 touching_ok \ "Metal2 spacing < 3 (Mosis #9.2)" - spacing m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 fm2,fapm 3 touching_illegal \ + spacing m2,rm2,m2c/m2,m3c/m2 fm2,fapm 3 touching_illegal \ "Metal2 spacing to fill layer (fm2) < 3 (Mosis #9.2)" spacing fm2 fm2 4 touching_ok \ "Metal2 fill layer (fm2) spacing < 4 (Mosis #0)" - edge4way gv1 space 1 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 space 1 \ + edge4way gv1 space 1 m2,fm2,rm2,m2c/m2,m3c/m2 space 1 \ "Metal2 must overlap GV1 via by 1 (Mosis #9.3)" metal2 - edge4way ~(m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2)/metal2 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 1 ~(gv1)/via1 0 0 \ + edge4way ~(m2,fm2,rm2,m2c/m2,m3c/m2)/metal2 m2,fm2,rm2,m2c/m2,m3c/m2 1 ~(gv1)/via1 0 0 \ "Metal2(edge) cannot touch GV1 via (Mosis #9.3)" via1 width glass 10 \ @@ -9461,46 +6891,46 @@ drc spacing gv2 gv2 3 touching_ok \ "GV2 via spacing < 3 (Mosis #14.2)" - spacing gv2 m3c/m2,m123c/m2,m234c/m2 2 touching_illegal \ + spacing gv2 m3c/m2 2 touching_illegal \ "GV2 via spacing to Metal3 contact < 2 (Mosis #14.2)" - edge4way gv2 space 1 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 space 1 \ + edge4way gv2 space 1 m2,fm2,rm2,m2c/m2,m3c/m2 space 1 \ "Metal2 must overlap GV2 via by 1 (Mosis #14.3)" metal2 - edge4way ~(m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2)/metal2 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 1 ~(gv2)/via2 0 0 \ + edge4way ~(m2,fm2,rm2,m2c/m2,m3c/m2)/metal2 m2,fm2,rm2,m2c/m2,m3c/m2 1 ~(gv2)/via2 0 0 \ "Metal2(edge) cannot touch GV2 via (Mosis #14.3)" via2 - spacing m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3 m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3 3 touching_ok \ + spacing m3,rm3,m3c/m3,m4c/m3 m3,rm3,m3c/m3,m4c/m3 3 touching_ok \ "Metal3 spacing < 3 (Mosis #15.2)" - spacing m3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3 fm3,fapm 3 touching_illegal \ + spacing m3,rm3,m3c/m3,m4c/m3 fm3,fapm 3 touching_illegal \ "Metal3 spacing to fill layer (fm3) < 3 (Mosis #15.2)" spacing fm3 fm3 4 touching_ok \ "Metal3 fill layer (fm3) spacing < 4 (Mosis #0)" - edge4way gv2 space 1 m3,fm3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3 space 1 \ + edge4way gv2 space 1 m3,fm3,rm3,m3c/m3,m4c/m3 space 1 \ "Metal3 must overlap GV2 via by 1 (Mosis #15.3)" metal3 - edge4way ~(m3,fm3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3)/metal3 m3,fm3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3 1 ~(gv2)/via2 0 0 \ + edge4way ~(m3,fm3,rm3,m3c/m3,m4c/m3)/metal3 m3,fm3,rm3,m3c/m3,m4c/m3 1 ~(gv2)/via2 0 0 \ "Metal3(edge) cannot touch GV2 via (Mosis #15.3)" via2 spacing sb,pres,anres,apres sb,pres,anres,apres 4 touching_ok \ "Silicide-Block spacing < 4 (Mosis #20.2)" - spacing sb,pres,anres,apres,pres,anres,apres pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 1 touching_illegal \ + spacing sb,pres,anres,apres,pres,anres,apres pc/a,ndc/a,pdc/a,psc/a,nsc/a,nwsc/a 1 touching_illegal \ "Silicide-Block spacing to Diffusion contact,Poly contact < 1 (Mosis #20.3)" spacing sb,pres,anres,apres,pres,anres,apres gc 2 touching_illegal \ "Silicide-Block spacing to GC contact < 2 (Mosis #20.3)" - edge4way sb,pres,anres,apres space 2 ~(diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a)/active 0 2 \ + edge4way sb,pres,anres,apres space 2 ~(diff,ndiff,anres,rnd,nfet,nsd,nwsd,pdiff,apres,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a)/active 0 2 \ "Silicide-Block space to Diffusion < 2 (Mosis #20.4)" active - spacing sb,pres,anres,apres,pres poly,fp,pres,rp,pc/a,pm12c/a 2 touching_ok \ + spacing sb,pres,anres,apres,pres poly,fp,pres,rp,pc/a 2 touching_ok \ "Silicide-Block spacing to other Poly < 2 (Mosis #20.5)" - edge4way sb,pres,anres,apres space 2 ~(poly,fp,pres,rp,pc/a,pm12c/a)/contact sb,pres,anres,apres 2 \ + edge4way sb,pres,anres,apres space 2 ~(poly,fp,pres,rp,pc/a)/contact sb,pres,anres,apres 2 \ "Silicide-Block space to Poly < 2 (Mosis #20.5x)" contact spacing sb,pres,anres,apres,pres nfet,pfet,fet 2 touching_ok \ @@ -9515,34 +6945,34 @@ drc edge4way pres,anres,apres space/active,sb 2 sb sb 2 \ "Silicide-Block overlap of Silicide-Block polyR/activeR < 2 (Mosis #20.15)" - edge4way sb,pres,anres,apres diff,ndiff,rnd,nfet,nsd,nwsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a 3 diff,ndiff,rnd,nfet,nsd,nwsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a 0 0 \ + edge4way sb,pres,anres,apres diff,ndiff,rnd,nfet,nsd,nwsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a 3 diff,ndiff,rnd,nfet,nsd,nwsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,nwsc/a,pdc/a,psc/a 0 0 \ "Diffusion overhang of Silicide-Block < 3 (Mosis #20.17) spacing gv3 gv3 3 touching_ok \ "GV3 via spacing < 3 (Mosis #21.2)" - spacing gv3 m4c/m3,m234c/m3 2 touching_illegal \ + spacing gv3 m4c/m3 2 touching_illegal \ "GV3 via spacing to Metal4 contact < 2 (Mosis #21.2)" - edge4way gv3 space 1 m3,fm3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3 space 1 \ + edge4way gv3 space 1 m3,fm3,rm3,m3c/m3,m4c/m3 space 1 \ "Metal3 must overlap GV3 via by 1 (Mosis #21.3)" metal3 - edge4way ~(m3,fm3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3)/metal3 m3,fm3,rm3,m3c/m3,m123c/m3,m234c/m3,m4c/m3 1 ~(gv3)/via3 0 0 \ + edge4way ~(m3,fm3,rm3,m3c/m3,m4c/m3)/metal3 m3,fm3,rm3,m3c/m3,m4c/m3 1 ~(gv3)/via3 0 0 \ "Metal3(edge) cannot touch GV3 via (Mosis #21.3)" via3 - spacing m4,rm4,m4c/m4,m234c/m4,pad m4,rm4,m4c/m4,m234c/m4,pad 3 touching_ok \ + spacing m4,rm4,m4c/m4,pad m4,rm4,m4c/m4,pad 3 touching_ok \ "Metal4 spacing < 3 (Mosis #22.2)" - spacing m4,rm4,m4c/m4,m234c/m4,pad fm4,fapm 3 touching_illegal \ + spacing m4,rm4,m4c/m4,pad fm4,fapm 3 touching_illegal \ "Metal4 spacing to fill layer (fm4) < 3 (Mosis #22.2)" spacing fm4 fm4 4 touching_ok \ "Metal4 fill layer (fm4) spacing < 4 (Mosis #0)" - edge4way gv3 space 1 m4,fm4,rm4,m4c/m4,m234c/m4,pad space 1 \ + edge4way gv3 space 1 m4,fm4,rm4,m4c/m4,pad space 1 \ "Metal4 must overlap GV3 via by 1 (Mosis #22.3)" metal4 - edge4way ~(m4,fm4,rm4,m4c/m4,m234c/m4,pad)/metal4 m4,fm4,rm4,m4c/m4,m234c/m4,pad 1 ~(gv3)/via3 0 0 \ + edge4way ~(m4,fm4,rm4,m4c/m4,pad)/metal4 m4,fm4,rm4,m4c/m4,pad 1 ~(gv3)/via3 0 0 \ "Metal4(edge) cannot touch GV3 via (Mosis #22.3)" via3 spacing nfi nfi 4 touching_ok \ @@ -9554,10 +6984,10 @@ drc spacing nfi pfi 4 touching_illegal \ "N_field-implant spacing to P_field-implant < 4 (Mosis #35.2)" - spacing nwell,pdiff,apres,rpd,pfet,pdc/a,pdm12c/a pfi 4 touching_illegal \ + spacing nwell,pdiff,apres,rpd,pfet,pdc/a pfi 4 touching_illegal \ "N-well,P-Diffusion spacing to P_field-implant < 4 (Mosis #2.1)" - spacing pwell,ndiff,anres,rnd,nfet,ndc/a,ndm12c/a nfi 4 touching_illegal \ + spacing pwell,ndiff,anres,rnd,nfet,ndc/a nfi 4 touching_illegal \ "P-well,N-Diffusion spacing to N_field-implant < 4 (Mosis #2.1)" edge4way ~(nwell)/well nwell 4 ~(nfi)/implant nwell 4 \ @@ -9641,13 +7071,13 @@ drc edge4way rm4 space/metal4 1 prm4 0 0 \ "prm4 overhang of rmetal4 (for resistor L/W extraction) < 1 (Mosis #0)" metal4 - edge4way ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a ~(ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a)/active 1 ~(ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a)/active (~(ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a),ndc/a,ndm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a)/active 1 \ + edge4way ndc/a,nsc/a,nwsc/a ~(ndc/a,nsc/a,nwsc/a)/active 1 ~(ndc/a,nsc/a,nwsc/a)/active (~(ndc/a,nsc/a,nwsc/a),ndc/a,nsc/a,nwsc/a)/active 1 \ "Contact not rectangular (Magic rule)" - edge4way pdc/a,pdm12c/a,psc/a,psm12c/a ~(pdc/a,pdm12c/a,psc/a,psm12c/a)/active 1 ~(pdc/a,pdm12c/a,psc/a,psm12c/a)/active (~(pdc/a,pdm12c/a,psc/a,psm12c/a),pdc/a,pdm12c/a,psc/a,psm12c/a)/active 1 \ + edge4way pdc/a,psc/a ~(pdc/a,psc/a)/active 1 ~(pdc/a,psc/a)/active (~(pdc/a,psc/a),pdc/a,psc/a)/active 1 \ "Contact not rectangular (Magic rule)" - edge4way pc/a,pm12c/a ~(pc/a,pm12c/a)/active 1 ~(pc/a,pm12c/a)/active (~(pc/a,pm12c/a),pc/a,pm12c/a)/active 1 \ + edge4way pc/a ~(pc/a)/active 1 ~(pc/a)/active (~(pc/a),pc/a)/active 1 \ "Contact not rectangular (Magic rule)" edge4way gc ~(gc)/contact 1 ~(gc)/contact (~(gc),gc)/contact 1 \ @@ -9656,33 +7086,33 @@ drc edge4way gv1 ~(gv1)/via1 1 ~(gv1)/via1 (~(gv1),gv1)/via1 1 \ "Contact not rectangular (Magic rule)" - edge4way m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 ~(m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1)/metal1 1 ~(m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1)/metal1 (~(m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1),m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1)/metal1 1 \ + edge4way m2c/m1 ~(m2c/m1)/metal1 1 ~(m2c/m1)/metal1 (~(m2c/m1),m2c/m1)/metal1 1 \ "Contact not rectangular (Magic rule)" edge4way gv2 ~(gv2)/via2 1 ~(gv2)/via2 (~(gv2),gv2)/via2 1 \ "Contact not rectangular (Magic rule)" - edge4way m3c/m2,m123c/m2,m234c/m2 ~(m3c/m2,m123c/m2,m234c/m2)/metal2 1 ~(m3c/m2,m123c/m2,m234c/m2)/metal2 (~(m3c/m2,m123c/m2,m234c/m2),m3c/m2,m123c/m2,m234c/m2)/metal2 1 \ + edge4way m3c/m2 ~(m3c/m2)/metal2 1 ~(m3c/m2)/metal2 (~(m3c/m2),m3c/m2)/metal2 1 \ "Contact not rectangular (Magic rule)" edge4way gv3 ~(gv3)/via3 1 ~(gv3)/via3 (~(gv3),gv3)/via3 1 \ "Contact not rectangular (Magic rule)" - edge4way m4c/m3,m234c/m3 ~(m4c/m3,m234c/m3)/metal3 1 ~(m4c/m3,m234c/m3)/metal3 (~(m4c/m3,m234c/m3),m4c/m3,m234c/m3)/metal3 1 \ + edge4way m4c/m3 ~(m4c/m3)/metal3 1 ~(m4c/m3)/metal3 (~(m4c/m3),m4c/m3)/metal3 1 \ "Contact not rectangular (Magic rule)" - exact_overlap gc,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,gc,pc/a,pm12c/a,gc + exact_overlap gc,ndc/a,pdc/a,psc/a,nsc/a,nwsc/a,gc,pc/a,gc edge4way pad ~(pad)/m4 1 ~(pad)/m4 (~(pad),pad)/m4 1 \ "Contact not rectangular (Magic rule)" - exact_overlap ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1 + exact_overlap ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1 - exact_overlap m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2 + exact_overlap m2c/m2 - exact_overlap m3c/m3,m123c/m3,m234c/m3 + exact_overlap m3c/m3 - exact_overlap m4c/m4,m234c/m4 + exact_overlap m4c/m4 exact_overlap gv1 @@ -9748,19 +7178,17 @@ lef ignore PC ignore CA - routing m1 M1 m1 met1 - routing m2 M2 m2 met2 - routing m3 M3 m3 met3 - routing m4 M4 m4 met4 + routing m1 metal1 M1 m1 met1 + routing m2 metal2 M2 m2 met2 + routing m3 metal3 M3 m3 met3 + routing m4 metal4 M4 m4 met4 - contact m2c via1 V1 v1 + contact m2c via1 via V1 v1 contact m3c via2 V2 v2 contact m4c via3 V3 v3 end -#--------------------------------------------------- - extract style TSMC0.35um(tsmc35)from:t11c cscale 1 @@ -9784,17 +7212,17 @@ extract planeorder via3 14 planeorder fill 15 - resist (ndiff,anres,rnd,ndc,ndm12c,nsd,nwsd,nsc,nwsc,nsm12c,nwsm12c)/active 3700 - resist (pdiff,apres,rpd,pdc,pdm12c,psd,psc,psm12c)/active 2800 + resist (ndiff,anres,rnd,ndc,nsd,nwsd,nsc,nwsc)/active 3700 + resist (pdiff,apres,rpd,pdc,psd,psc)/active 2800 resist (nwell)/well 1018000 resist (rnw,nwr)/active 1018000 resist (pwell)/well 1 - resist (poly,fp,rp,pc,pm12c,pc,pm12c,nfet,pfet,fet)/active 6000 + resist (poly,fp,rp,pc,pc,nfet,pfet,fet)/active 6000 resist (pres)/active 6000 - resist (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c)/metal1 80 - resist (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c,m3c,m123c,m234c)/metal2 70 - resist (m3,fm3,rm3,m3c,m123c,m234c,m4c,m4c,m234c)/metal3 80 - resist (m4,fm4,rm4,m4c,m234c,pad)/metal4 40 + resist (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c,m2c)/metal1 80 + resist (m2,fm2,rm2,m2c,m3c,m3c)/metal2 70 + resist (m3,fm3,rm3,m3c,m4c,m4c)/metal3 80 + resist (m4,fm4,rm4,m4c,pad)/metal4 40 contact ndc 4 4100 contact pdc 4 3400 @@ -9811,10 +7239,10 @@ extract areacap (rnw,nwr)/active 2.360 #ndiff -# MODEL HANDLES THIS: areacap (ndiff,ndc,ndm12c)/active 43.160 -# MODEL HANDLES THIS: overlap (ndiff,ndc,ndm12c)/active ~space/w 43.160 -# MODEL HANDLES THIS: perimc (ndiff,ndc,ndm12c)/active ~(ndiff,ndc,ndm12c,nfet,pfet,fet)/active 64.200 -# MODEL HANDLES THIS: sideoverlap (ndiff,ndc,ndm12c)/active ~(ndiff,ndc,ndm12c,nfet,pfet,fet)/active ~space/w 64.200 +# MODEL HANDLES THIS: areacap (ndiff,ndc)/active 43.160 +# MODEL HANDLES THIS: overlap (ndiff,ndc)/active ~space/w 43.160 +# MODEL HANDLES THIS: perimc (ndiff,ndc)/active ~(ndiff,ndc,nfet,pfet,fet)/active 64.200 +# MODEL HANDLES THIS: sideoverlap (ndiff,ndc)/active ~(ndiff,ndc,nfet,pfet,fet)/active ~space/w 64.200 areacap (rnd,anres)/active 43.160 overlap (rnd,anres)/active ~space/w 43.160 @@ -9822,10 +7250,10 @@ extract sideoverlap (rnd,anres)/active ~(rnd,anres)/active ~space/w 64.200 #pdiff -# MODEL HANDLES THIS: areacap (pdiff,pdc,pdm12c)/active 55.880 -# MODEL HANDLES THIS: overlap (pdiff,pdc,pdm12c)/active ~space/w 55.880 -# MODEL HANDLES THIS: perimc (pdiff,pdc,pdm12c)/active ~(pdiff,pdc,pdm12c,nfet,pfet,fet)/active 81.800 -# MODEL HANDLES THIS: sideoverlap (pdiff,pdc,pdm12c)/active ~(pdiff,pdc,pdm12c,nfet,pfet,fet)/active ~space/w 81.800 +# MODEL HANDLES THIS: areacap (pdiff,pdc)/active 55.880 +# MODEL HANDLES THIS: overlap (pdiff,pdc)/active ~space/w 55.880 +# MODEL HANDLES THIS: perimc (pdiff,pdc)/active ~(pdiff,pdc,nfet,pfet,fet)/active 81.800 +# MODEL HANDLES THIS: sideoverlap (pdiff,pdc)/active ~(pdiff,pdc,nfet,pfet,fet)/active ~space/w 81.800 areacap (rpd,apres)/active 55.880 overlap (rpd,apres)/active ~space/w 55.880 @@ -9835,150 +7263,150 @@ extract #rnw #poly -# MODEL HANDLES THIS: overlap (nfet)/active (ndiff,anres,rnd,ndc,ndm12c)/active 181.800 -# MODEL HANDLES THIS: sideoverlap (nfet)/active ~(nfet)/active (ndiff,anres,rnd,ndc,ndm12c)/active 55.400 -# MODEL HANDLES THIS: overlap (pfet)/active (pdiff,apres,rpd,pdc,pdm12c)/active 181.160 -# MODEL HANDLES THIS: sideoverlap (pfet)/active ~(pfet)/active (pdiff,apres,rpd,pdc,pdm12c)/active 52.200 +# MODEL HANDLES THIS: overlap (nfet)/active (ndiff,anres,rnd,ndc)/active 181.800 +# MODEL HANDLES THIS: sideoverlap (nfet)/active ~(nfet)/active (ndiff,anres,rnd,ndc)/active 55.400 +# MODEL HANDLES THIS: overlap (pfet)/active (pdiff,apres,rpd,pdc)/active 181.160 +# MODEL HANDLES THIS: sideoverlap (pfet)/active ~(pfet)/active (pdiff,apres,rpd,pdc)/active 52.200 - sidewall (poly,fp,pres,rp,pc,pm12c)/active ~(poly,fp,pres,rp,pc,pm12c)/active ~(poly,fp,pres,rp,pc,pm12c)/active (poly,fp,pres,rp,pc,pm12c)/active 11.331 - areacap (poly,fp,pres,rp,pc,pm12c)/active 4.074 - overlap (poly,fp,pres,rp,pc,pm12c)/active ~space/w 4.074 - perimc (poly,fp,pres,rp,pc,pm12c)/active ~(poly,fp,pres,rp,pc,pm12c)/active 4.622 - sideoverlap (poly,fp,pres,rp,pc,pm12c)/active ~(poly,fp,pres,rp,pc,pm12c)/active ~space/w 4.622 + sidewall (poly,fp,pres,rp,pc)/active ~(poly,fp,pres,rp,pc)/active ~(poly,fp,pres,rp,pc)/active (poly,fp,pres,rp,pc)/active 11.331 + areacap (poly,fp,pres,rp,pc)/active 4.074 + overlap (poly,fp,pres,rp,pc)/active ~space/w 4.074 + perimc (poly,fp,pres,rp,pc)/active ~(poly,fp,pres,rp,pc)/active 4.622 + sideoverlap (poly,fp,pres,rp,pc)/active ~(poly,fp,pres,rp,pc)/active ~space/w 4.622 #poly2 #rnw #metal1 - sidewall (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 20.619 - areacap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 1.666 + sidewall (m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 (m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 20.619 + areacap (m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 1.666 #metal1-sub blocked by ~space/a - overlap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~space/w 1.666 ~space/a - perimc (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 2.226 - sideoverlap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~space/w 2.226 ~space/a + overlap (m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 ~space/w 1.666 ~space/a + perimc (m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 2.226 + sideoverlap (m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 ~space/w 2.226 ~space/a #rnw - overlap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 rnw,nwr/active 1.666 - sideoverlap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 rnw,nwr/active 2.226 + overlap (m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 rnw,nwr/active 1.666 + sideoverlap (m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,pdc,pc,m2c)/metal1 rnw,nwr/active 2.226 #metal1-diff blocked by - overlap (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (ndiff,anres,rnd,ndc,ndm12c)/active 1.640 - sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (ndiff,anres,rnd,ndc,ndm12c)/active 2.226 - overlap (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (pdiff,apres,rpd,pdc,pdm12c)/active 1.640 - sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (pdiff,apres,rpd,pdc,pdm12c)/active 2.226 + overlap (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 (ndiff,anres,rnd,ndc)/active 1.640 + sideoverlap (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 (ndiff,anres,rnd,ndc)/active 2.226 + overlap (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 (pdiff,apres,rpd,pdc)/active 1.640 + sideoverlap (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 (pdiff,apres,rpd,pdc)/active 2.226 #metal1-poly blocked by - overlap (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active 1.687 - sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active 2.250 - sideoverlap (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active ~(poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 2.250 + overlap (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 (poly,fp,pres,rp,pc,nfet,pfet,fet)/active 1.687 + sideoverlap (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 (poly,fp,pres,rp,pc,nfet,pfet,fet)/active 2.250 + sideoverlap (poly,fp,pres,rp,pc,nfet,pfet,fet)/active ~(poly,fp,pres,rp,pc,nfet,pfet,fet)/active (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 2.250 #metal2 - sidewall (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 23.532 - areacap (m2,fm2,rm2,m3c,m123c,m234c)/metal2 0.581 + sidewall (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (m2,fm2,rm2,m2c,m3c)/metal2 23.532 + areacap (m2,fm2,rm2,m3c)/metal2 0.581 #metal2-sub blocked by - overlap (m2,fm2,rm2,m3c,m123c,m234c)/metal2 ~space/w 0.581 ~space/a,~space/m1 - perimc (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 0.836 - sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~space/w 0.836 ~space/a,~space/m1 - overlap (m2,fm2,rm2,m3c,m123c,m234c)/metal2 rnw,nwr/active 0.581 ~space/m1 - sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 rnw,nwr/active 0.836 ~space/m1 + overlap (m2,fm2,rm2,m3c)/metal2 ~space/w 0.581 ~space/a,~space/m1 + perimc (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 0.836 + sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 ~space/w 0.836 ~space/a,~space/m1 + overlap (m2,fm2,rm2,m3c)/metal2 rnw,nwr/active 0.581 ~space/m1 + sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 rnw,nwr/active 0.836 ~space/m1 #metal2-*diff blocked by ~space/m1 - overlap (m2,fm2,rm2,m3c,m123c,m234c)/metal2 (ndiff,anres,rnd,ndc,ndm12c)/active 0.720 ~space/m1 - sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 (ndiff,anres,rnd,ndc,ndm12c)/active 0.836 ~space/m1 - overlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 (pdiff,apres,rpd,pdc,pdm12c)/active 0.720 ~space/m1 - sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 (pdiff,apres,rpd,pdc,pdm12c)/active 0.836 ~space/m1 + overlap (m2,fm2,rm2,m3c)/metal2 (ndiff,anres,rnd,ndc)/active 0.720 ~space/m1 + sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (ndiff,anres,rnd,ndc)/active 0.836 ~space/m1 + overlap (m2,fm2,rm2,m2c,m3c)/metal2 (pdiff,apres,rpd,pdc)/active 0.720 ~space/m1 + sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (pdiff,apres,rpd,pdc)/active 0.836 ~space/m1 #metal2-poly blocked by ~space/m1 - overlap (m2,fm2,rm2,m3c,m123c,m234c)/metal2 (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active 0.583 ~space/m1 - sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active 0.840 ~space/m1 - sideoverlap (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active ~(poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 0.840 ~space/m1 + overlap (m2,fm2,rm2,m3c)/metal2 (poly,fp,pres,rp,pc,nfet,pfet,fet)/active 0.583 ~space/m1 + sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (poly,fp,pres,rp,pc,nfet,pfet,fet)/active 0.840 ~space/m1 + sideoverlap (poly,fp,pres,rp,pc,nfet,pfet,fet)/active ~(poly,fp,pres,rp,pc,nfet,pfet,fet)/active (m2,fm2,rm2,m2c,m3c)/metal2 0.840 ~space/m1 #M2->M1 - overlap (m2,fm2,rm2,m3c,m123c,m234c)/metal2 (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 1.844 - sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 2.432 - sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 2.432 + overlap (m2,fm2,rm2,m3c)/metal2 (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 1.844 + sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 2.432 + sideoverlap (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 (m2,fm2,rm2,m2c,m3c)/metal2 2.432 #metal3 - sidewall (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 24.216 - areacap (m3,fm3,rm3,m4c,m234c)/metal3 0.352 + sidewall (m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 (m3,fm3,rm3,m3c,m4c)/metal3 24.216 + areacap (m3,fm3,rm3,m4c)/metal3 0.352 #metal3-sub blocked by ~space/a,~space/m1,~space/m2 - overlap (m3,fm3,rm3,m4c,m234c)/metal3 ~space/w 0.352 ~space/a,~space/m1,~space/m2 - perimc (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 0.514 - sideoverlap (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~space/w 0.514 ~space/a,~space/m1,~space/m2 + overlap (m3,fm3,rm3,m4c)/metal3 ~space/w 0.352 ~space/a,~space/m1,~space/m2 + perimc (m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 0.514 + sideoverlap (m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 ~space/w 0.514 ~space/a,~space/m1,~space/m2 #rnw - overlap (m3,fm3,rm3,m4c,m234c)/metal3 rnw,nwr/active 0.352 ~space/m1,~space/m2 - sideoverlap (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 rnw,nwr/active 0.514 ~space/m1,~space/m2 + overlap (m3,fm3,rm3,m4c)/metal3 rnw,nwr/active 0.352 ~space/m1,~space/m2 + sideoverlap (m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 rnw,nwr/active 0.514 ~space/m1,~space/m2 #metal3-*diff blocked by ~space/m1,~space/m2 - overlap (m3,fm3,rm3,m4c,m234c)/metal3 (ndiff,anres,rnd,ndc,ndm12c)/active 0.520 ~space/m1,~space/m2 - sideoverlap (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 (ndiff,anres,rnd,ndc,ndm12c)/active 0.514 ~space/m1,~space/m2 - overlap (m3,fm3,rm3,m4c,m234c)/metal3 (pdiff,apres,rpd,pdc,pdm12c)/active 0.520 ~space/m1,~space/m2 - sideoverlap (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 (pdiff,apres,rpd,pdc,pdm12c)/active 0.514 ~space/m1,~space/m2 + overlap (m3,fm3,rm3,m4c)/metal3 (ndiff,anres,rnd,ndc)/active 0.520 ~space/m1,~space/m2 + sideoverlap (m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 (ndiff,anres,rnd,ndc)/active 0.514 ~space/m1,~space/m2 + overlap (m3,fm3,rm3,m4c)/metal3 (pdiff,apres,rpd,pdc)/active 0.520 ~space/m1,~space/m2 + sideoverlap (m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 (pdiff,apres,rpd,pdc)/active 0.514 ~space/m1,~space/m2 #metal3-poly blocked by ~space/m1,~space/m2 - overlap (m3,fm3,rm3,m4c,m234c)/metal3 (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active 0.352 ~space/m1,~space/m2 - sideoverlap (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active 0.516 ~space/m1,~space/m2 - sideoverlap (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active ~(poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 0.516 ~space/m1,~space/m2 + overlap (m3,fm3,rm3,m4c)/metal3 (poly,fp,pres,rp,pc,nfet,pfet,fet)/active 0.352 ~space/m1,~space/m2 + sideoverlap (m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 (poly,fp,pres,rp,pc,nfet,pfet,fet)/active 0.516 ~space/m1,~space/m2 + sideoverlap (poly,fp,pres,rp,pc,nfet,pfet,fet)/active ~(poly,fp,pres,rp,pc,nfet,pfet,fet)/active (m3,fm3,rm3,m3c,m4c)/metal3 0.516 ~space/m1,~space/m2 #M3->M1 #metal3-metal1 blocked by ~space/m2 - overlap (m3,fm3,rm3,m4c,m234c)/metal3 (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 0.601 ~space/m2 - sideoverlap (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 0.864 ~space/m2 - sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 0.864 ~space/m2 + overlap (m3,fm3,rm3,m4c)/metal3 (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 0.601 ~space/m2 + sideoverlap (m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 0.864 ~space/m2 + sideoverlap (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 (m3,fm3,rm3,m3c,m4c)/metal3 0.864 ~space/m2 #M3->M2 - overlap (m3,fm3,rm3,m4c,m234c)/metal3 (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 1.844 - sideoverlap (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 2.430 - sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 2.430 + overlap (m3,fm3,rm3,m4c)/metal3 (m2,fm2,rm2,m2c,m3c)/metal2 1.844 + sideoverlap (m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 (m2,fm2,rm2,m2c,m3c)/metal2 2.430 + sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (m3,fm3,rm3,m3c,m4c)/metal3 2.430 #metal4 - sidewall (m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 (m4,fm4,rm4,m4c,m234c,pad)/metal4 64.860 + sidewall (m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 (m4,fm4,rm4,m4c,pad)/metal4 64.860 areacap (m4,fm4,rm4,pad)/metal4 0.235 #metal4-sub blocked by ~space/a,~space/m1,~space/m2,~space/m3 overlap (m4,fm4,rm4,pad)/metal4 ~space/w 0.235 ~space/a,~space/m1,~space/m2,~space/m3 - perimc (m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 0.802 - sideoverlap (m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 ~space/w 0.802 ~space/a,~space/m1,~space/m2,~space/m3 + perimc (m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 0.802 + sideoverlap (m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 ~space/w 0.802 ~space/a,~space/m1,~space/m2,~space/m3 #rnw overlap (m4,fm4,rm4,pad)/metal4 rnw,nwr/active 0.235 ~space/m1,~space/m2,~space/m3 - sideoverlap (m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 rnw,nwr/active 0.802 ~space/m1,~space/m2,~space/m3 + sideoverlap (m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 rnw,nwr/active 0.802 ~space/m1,~space/m2,~space/m3 #metal4-*diff blocked by ~space/m1,~space/m2,~space/m3 - overlap (m4,fm4,rm4,pad)/metal4 (ndiff,anres,rnd,ndc,ndm12c)/active 0.400 ~space/m1,~space/m2,~space/m3 - sideoverlap (m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 (ndiff,anres,rnd,ndc,ndm12c)/active 0.802 ~space/m1,~space/m2,~space/m3 - overlap (m4,fm4,rm4,pad)/metal4 (pdiff,apres,rpd,pdc,pdm12c)/active 0.400 ~space/m1,~space/m2,~space/m3 - sideoverlap (m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 (pdiff,apres,rpd,pdc,pdm12c)/active 0.802 ~space/m1,~space/m2,~space/m3 + overlap (m4,fm4,rm4,pad)/metal4 (ndiff,anres,rnd,ndc)/active 0.400 ~space/m1,~space/m2,~space/m3 + sideoverlap (m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 (ndiff,anres,rnd,ndc)/active 0.802 ~space/m1,~space/m2,~space/m3 + overlap (m4,fm4,rm4,pad)/metal4 (pdiff,apres,rpd,pdc)/active 0.400 ~space/m1,~space/m2,~space/m3 + sideoverlap (m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 (pdiff,apres,rpd,pdc)/active 0.802 ~space/m1,~space/m2,~space/m3 #metal4-poly blocked by ~space/m1,~space/m2,~space/m3 - overlap (m4,fm4,rm4,pad)/metal4 (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active 0.271 ~space/m1,~space/m2,~space/m3 - sideoverlap (m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active 0.666 ~space/m1,~space/m2,~space/m3 - sideoverlap (poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active ~(poly,fp,pres,rp,pc,pm12c,nfet,pfet,fet)/active (m4,fm4,rm4,m4c,m234c,pad)/metal4 0.666 ~space/m1,~space/m2,~space/m3 + overlap (m4,fm4,rm4,pad)/metal4 (poly,fp,pres,rp,pc,nfet,pfet,fet)/active 0.271 ~space/m1,~space/m2,~space/m3 + sideoverlap (m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 (poly,fp,pres,rp,pc,nfet,pfet,fet)/active 0.666 ~space/m1,~space/m2,~space/m3 + sideoverlap (poly,fp,pres,rp,pc,nfet,pfet,fet)/active ~(poly,fp,pres,rp,pc,nfet,pfet,fet)/active (m4,fm4,rm4,m4c,pad)/metal4 0.666 ~space/m1,~space/m2,~space/m3 #M4->M1 #metal4-metal1 blocked by ~space/m2,~space/m3 - overlap (m4,fm4,rm4,pad)/metal4 (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 0.359 ~space/m2,~space/m3 - sideoverlap (m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 1.038 ~space/m2,~space/m3 - sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nwsc,nsm12c,nwsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (m4,fm4,rm4,m4c,m234c,pad)/metal4 1.038 ~space/m2,~space/m3 + overlap (m4,fm4,rm4,pad)/metal4 (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 0.359 ~space/m2,~space/m3 + sideoverlap (m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 1.038 ~space/m2,~space/m3 + sideoverlap (m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,nwsc,pdc,psc,pc,m2c)/metal1 (m4,fm4,rm4,m4c,pad)/metal4 1.038 ~space/m2,~space/m3 #M4->M2 #metal4-metal2 blocked by ~space/m3 - overlap (m4,fm4,rm4,pad)/metal4 (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 0.601 ~space/m3 - sideoverlap (m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 1.698 ~space/m3 - sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,nwsm12c,m3c,m234c)/metal2 (m4,fm4,rm4,m4c,m234c,pad)/metal4 1.698 ~space/m3 + overlap (m4,fm4,rm4,pad)/metal4 (m2,fm2,rm2,m2c,m3c)/metal2 0.601 ~space/m3 + sideoverlap (m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 (m2,fm2,rm2,m2c,m3c)/metal2 1.698 ~space/m3 + sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (m4,fm4,rm4,m4c,pad)/metal4 1.698 ~space/m3 #M4->M3 - overlap (m4,fm4,rm4,pad)/metal4 (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 1.844 - sideoverlap (m4,fm4,rm4,m4c,m234c,pad)/metal4 ~(m4,fm4,rm4,m4c,m234c,pad)/metal4 (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 4.604 - sideoverlap (m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m123c,m234c,m4c)/metal3 (m4,fm4,rm4,m4c,m234c,pad)/metal4 4.604 + overlap (m4,fm4,rm4,pad)/metal4 (m3,fm3,rm3,m3c,m4c)/metal3 1.844 + sideoverlap (m4,fm4,rm4,m4c,pad)/metal4 ~(m4,fm4,rm4,m4c,pad)/metal4 (m3,fm3,rm3,m3c,m4c)/metal3 4.604 + sideoverlap (m3,fm3,rm3,m3c,m4c)/metal3 ~(m3,fm3,rm3,m3c,m4c)/metal3 (m4,fm4,rm4,m4c,pad)/metal4 4.604 #metal5 @@ -9990,50 +7418,31 @@ extract #fets -# fet pfet pdiff,pdc 2 pfet Vdd! nwell 52 181 -# fet pfet pdiff,pdc 1 pfet Vdd! nwell 52 181 + fet pfet pdiff,pdc 2 pfet Vdd! nwell 52 181 + fet pfet pdiff,pdc 1 pfet Vdd! nwell 52 181 - device mosfet pfet pfet pdiff,pdc nwell $VDD 52 181 - -# fet nfet ndiff,ndc 2 nfet Gnd! pwell 55 182 -# fet nfet ndiff,ndc 1 nfet Gnd! pwell 55 182 - - device mosfet nfet nfet ndiff,ndc pwell $GND 55 182 + fet nfet ndiff,ndc 2 nfet Gnd! pwell 55 182 + fet nfet ndiff,ndc 1 nfet Gnd! pwell 55 182 fetresis pfet linear 12182 fetresis pfet saturation 12182 fetresis nfet linear 3961 fetresis nfet saturation 3961 -# fet rnwell nsd,nsc 2 nwellResistor Gnd! nwell,pwell 0 0 -# fet rpoly poly,pc 2 polyResistor Gnd! nwell,pwell 0 0 -# fet nwr nwsd 2 nwellFig1bResistor Gnd! nwell,pwell 0 0 -# fet rndiff ndiff,ndc 2 ndiffResistor Gnd! nwell,pwell 0 0 -# fet rpdiff pdiff,pdc 2 pdiffResistor Gnd! nwell,pwell 0 0 + fet rnwell nsd,nsc 2 nwellResistor Gnd! nwell,pwell 0 0 + fet rpoly poly,pc 2 polyResistor Gnd! nwell,pwell 0 0 + fet nwr nwsd 2 nwellFig1bResistor Gnd! nwell,pwell 0 0 + fet rndiff ndiff,ndc 2 ndiffResistor Gnd! nwell,pwell 0 0 + fet rpdiff pdiff,pdc 2 pdiffResistor Gnd! nwell,pwell 0 0 - device resistor None rnwell nsd,nsc - device resistor None rpoly poly,pc - device resistor None nwr nwsd - device resistor None rndiff ndiff,ndc - device resistor None rpdiff pdiff,pdc + fet rmetal1 metal1 2 metal1Resistor Gnd! nwell,pwell 0 0 + fet rmetal2 metal2 2 metal2Resistor Gnd! nwell,pwell 0 0 + fet rmetal3 metal3 2 metal3Resistor Gnd! nwell,pwell 0 0 + fet rmetal4 metal4 2 metal4Resistor Gnd! nwell,pwell 0 0 -# fet rmetal1 metal1 2 metal1Resistor Gnd! nwell,pwell 0 0 -# fet rmetal2 metal2 2 metal2Resistor Gnd! nwell,pwell 0 0 -# fet rmetal3 metal3 2 metal3Resistor Gnd! nwell,pwell 0 0 -# fet rmetal4 metal4 2 metal4Resistor Gnd! nwell,pwell 0 0 - - device resistor None rmetal1 *metal1 - device resistor None rmetal2 *metal2 - device resistor None rmetal3 *metal3 - device resistor None rmetal4 *metal4 - -# fet pres poly,pc 2 presResistor Gnd! nwell,pwell 0 0 -# fet anres ndiff,ndc 2 anresResistor Gnd! nwell,pwell 0 0 -# fet apres pdiff,pdc 2 apresResistor Gnd! nwell,pwell 0 0 - - device resistor None pres poly,pc - device resistor None anres ndiff,ndc - device resistor None apres pdiff,pdc + fet pres poly,pc 2 presResistor Gnd! nwell,pwell 0 0 + fet anres ndiff,ndc 2 anresResistor Gnd! nwell,pwell 0 0 + fet apres pdiff,pdc 2 apresResistor Gnd! nwell,pwell 0 0 end @@ -10048,8 +7457,8 @@ wiring end router - layer2 metal2 3 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m123c/m2,m234c/m2,m3c/m2,m123c/m2,m234c/m2 4 poly,fp,pres,rp,ndiff,anres,rnd,nsd,nwsd,pdiff,apres,rpd,psd,m1,fm1,rm1 1 - layer1 metal1 3 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1 3 + layer2 metal2 3 m2,fm2,rm2,m2c/m2,m3c/m2,m3c/m2 4 poly,fp,pres,rp,ndiff,anres,rnd,nsd,nwsd,pdiff,apres,rpd,psd,m1,fm1,rm1 1 + layer1 metal1 3 m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 3 contacts m2contact 4 gridspacing 8 @@ -10064,57 +7473,57 @@ end plot style colorversatec - ndiff,anres,rnd,ndc/a,ndm12c/a yellow \ + ndiff,anres,rnd,ndc/a yellow \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA - ndiff,anres,rnd,ndc/a,ndm12c/a cyan \ + ndiff,anres,rnd,ndc/a cyan \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 - nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a yellow \ + nsd,nwsd,nsc/a,nwsc/a yellow \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 - nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a cyan \ + nsd,nwsd,nsc/a,nwsc/a cyan \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 - pdiff,apres,rpd,pdc/a,pdm12c/a yellow \ + pdiff,apres,rpd,pdc/a yellow \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA - pdiff,apres,rpd,pdc/a,pdm12c/a cyan \ + pdiff,apres,rpd,pdc/a cyan \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 - pdiff,apres,rpd,pdc/a,pdm12c/a magenta \ + pdiff,apres,rpd,pdc/a magenta \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 - psd,psc/a,psm12c/a yellow \ + psd,psc/a yellow \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 - psd,psc/a,psm12c/a cyan \ + psd,psc/a cyan \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 - psd,psc/a,psm12c/a magenta \ + psd,psc/a magenta \ 2A2A 0000 A2A2 0000 \ 2A2A 0000 A2A2 0000 \ 2A2A 0000 A2A2 0000 \ 2A2A 0000 A2A2 0000 - poly,fp,pres,rp,pc/a,pm12c/a magenta \ + poly,fp,pres,rp,pc/a magenta \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ @@ -10149,22 +7558,22 @@ style colorversatec 4949 A0A0 5252 2828 \ 9494 0A0A 2525 8282 \ 4949 A0A0 5252 2828 - m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 cyan \ + m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 cyan \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 - m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 cyan \ + m2,fm2,rm2,m2c/m2,m3c/m2 cyan \ 0000 1111 0000 4444 \ 0000 1111 0000 4444 \ 0000 1111 0000 4444 \ 0000 1111 0000 4444 - m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 magenta \ + m2,fm2,rm2,m2c/m2,m3c/m2 magenta \ 0000 4444 0000 1111 \ 0000 4444 0000 1111 \ 0000 4444 0000 1111 \ 0000 4444 0000 1111 - m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,nwsm12c/m1,gv1 black \ + m2c/m1,gv1 black \ 0000 6666 6666 0000 \ 0000 9999 9999 0000 \ 0000 6666 6666 0000 \ @@ -10199,22 +7608,22 @@ style colorversatec 0080 0000 0020 0000 \ 0008 0000 0002 0000 \ 8000 0000 2000 0000 - m3c/m2,m123c/m2,m234c/m2,gv2 black \ + m3c/m2,gv2 black \ 0100 0000 0000 0000 \ 1010 0000 0000 0000 \ 0001 0000 0000 0000 \ 1010 0000 0000 0000 - m3c/m2,m123c/m2,m234c/m2,gv2 cyan \ + m3c/m2,gv2 cyan \ 0280 0000 0820 0000 \ 2008 0000 8002 0000 \ 8002 0000 2008 0000 \ 0820 0000 0280 0000 - m3c/m2,m123c/m2,m234c/m2,gv2 magenta \ + m3c/m2,gv2 magenta \ 0100 06C0 0440 1830 \ 1010 600C 4004 8003 \ 0001 C006 4004 3018 \ 1010 0C60 0440 0380 - m3c/m2,m123c/m2,m234c/m2,gv2 black \ + m3c/m2,gv2 black \ 0820 0820 0820 0FE0 \ E00F 2008 2008 2008 \ 2008 2008 2008 E00F \ @@ -10239,7 +7648,7 @@ style colorversatec 0000 0000 0000 0000 \ 0000 E0E0 E0E0 E0E0 \ 0000 0000 0000 0000 - pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,gc,gc,gc X + pc/a,ndc/a,pdc/a,psc/a,nsc/a,nwsc/a,gc,gc,gc X style versatec pfet \ @@ -10267,12 +7676,12 @@ style versatec 0000 0000 0000 0000 \ 0808 0404 0202 0101 \ 0000 0000 0000 0000 - poly,fp,pres,rp,pc/a,pm12c/a,nfet,pfet \ + poly,fp,pres,rp,pc/a,nfet,pfet \ 0808 0400 0202 0101 \ 8080 4000 2020 1010 \ 0808 0004 0202 0101 \ 8080 0040 2020 1010 - m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nwsc/m1,nsm12c/m1,nwsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 \ + m1,fm1,rm1,ndc/m1,nsc/m1,nwsc/m1,pdc/m1,psc/m1,pc/m1,m2c/m1 \ 8080 0000 0000 0000 \ 0808 0000 0000 0000 \ 8080 0000 0000 0000 \ @@ -10282,32 +7691,32 @@ style versatec 3636 3e3e 1c1c 0000 \ 0000 0000 1c1c 3e3e \ 3636 3e3e 1c1c 0000 - nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a \ + nsd,nwsd,nsc/a,nwsc/a \ 0808 1414 2222 4141 \ 8080 4040 2020 1010 \ 0808 1414 2222 4141 \ 8080 4040 2020 1010 - m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,nwsm12c/m2,m3c/m2,m234c/m2 \ + m2,fm2,rm2,m2c/m2,m3c/m2 \ 0000 1111 0000 0000 \ 0000 1111 0000 0000 \ 0000 1111 0000 0000 \ 0000 1111 0000 0000 - pdiff,apres,rpd,pdc/a,pdm12c/a,pfet \ + pdiff,apres,rpd,pdc/a,pfet \ 0000 0808 5555 8080 \ 0000 8080 5555 0808 \ 0000 0808 5555 8080 \ 0000 8080 5555 0808 - psd,psc/a,psm12c/a \ + psd,psc/a \ 1414 2222 0000 2222 \ 4141 2222 0000 2222 \ 1414 2222 0000 2222 \ 4141 2222 0000 2222 - ndiff,anres,rnd,ndc/a,ndm12c/a,nfet \ + ndiff,anres,rnd,ndc/a,nfet \ 0808 1010 2020 4040 \ 8080 4141 2222 1414 \ 0808 1010 2020 4040 \ 8080 4141 2222 1414 - pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,gc,gc,gc X + pc/a,ndc/a,pdc/a,psc/a,nsc/a,nwsc/a,gc,gc,gc X style gremlin pfet 9 @@ -10315,15 +7724,15 @@ style gremlin gv1 11 pwell 15 nwell 16 - poly,fp,pres,rp,pc/a,pm12c/a,nfet,pfet 19 - pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,gc,gc,gc 22 + poly,fp,pres,rp,pc/a,nfet,pfet 19 + pc/a,ndc/a,pdc/a,psc/a,nsc/a,nwsc/a,gc,gc,gc 22 pad,glass 23 - nsd,nwsd,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a 24 + nsd,nwsd,nsc/a,nwsc/a 24 gv1 28 - pdiff,apres,rpd,pdc/a,pdm12c/a,pfet 29 - psd,psc/a,psm12c/a 30 - ndiff,anres,rnd,ndc/a,ndm12c/a,nfet 31 - pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nwsc/a,nsm12c/a,nwsm12c/a,gc,gc,gc,gv1 X + pdiff,apres,rpd,pdc/a,pfet 29 + psd,psc/a 30 + ndiff,anres,rnd,ndc/a,nfet 31 + pc/a,ndc/a,pdc/a,psc/a,nsc/a,nwsc/a,gc,gc,gc,gv1 X end diff --git a/technology/scn4me_subm/tech/__init__.py b/technology/scn4m_subm/tech/__init__.py similarity index 100% rename from technology/scn4me_subm/tech/__init__.py rename to technology/scn4m_subm/tech/__init__.py diff --git a/technology/scn4me_subm/tech/tech.py b/technology/scn4m_subm/tech/tech.py similarity index 96% rename from technology/scn4me_subm/tech/tech.py rename to technology/scn4m_subm/tech/tech.py index 85285f84..a31923ca 100755 --- a/technology/scn4me_subm/tech/tech.py +++ b/technology/scn4m_subm/tech/tech.py @@ -159,7 +159,7 @@ drc["minarea_metal1"] = 0 # 8.1 Exact size drc["minwidth_via1"] = 2*_lambda_ # 8.2 Minimum via1 spacing -drc["via1_to_via1"] = 2*_lambda_ +drc["via1_to_via1"] = 3*_lambda_ # 9.1 Minimum width drc["minwidth_metal2"] = 3*_lambda_ @@ -176,7 +176,7 @@ drc["metal2_enclosure_via2"] = _lambda_ # Not a rule drc["minarea_metal2"] = 0 -# 14.2 Exact size +# 14.1 Exact size drc["minwidth_via2"] = 2*_lambda_ # 14.2 Minimum spacing drc["via2_to_via2"] = 3*_lambda_ @@ -188,13 +188,13 @@ drc["metal3_to_metal3"] = 3*_lambda_ # 15.3 Minimum overlap of via 2 drc["metal3_extend_via2"] = _lambda_ # Reserved for asymmetric enclosures -drc["metal3_enclosure_via2"] = 2*_lambda_ +drc["metal3_enclosure_via2"] = _lambda_ # Reserved for asymmetric enclosures drc["metal2_enclosure_via1"] = _lambda_ # 21.3 Minimum overlap by metal3 -drc["metal3_extend_via2"] = _lambda_ +drc["metal3_extend_via3"] = _lambda_ # Reserved for asymmetric enclosures -drc["metal3_enclosure_via2"] = _lambda_ +drc["metal3_enclosure_via3"] = _lambda_ # Not a rule drc["minarea_metal3"] = 0 @@ -204,13 +204,13 @@ drc["minwidth_via3"] = 2*_lambda_ drc["via3_to_via3"] = 3*_lambda_ # 22.1 Minimum width -drc["minwidth_metal3"] = 6*_lambda_ -# 22.2 Minimum spacing to metal3 -drc["metal3_to_metal3"] = 6*_lambda_ -# 22.3 Minimum overlap of via 2 -drc["metal3_extend_via2"] = 2*_lambda_ +drc["minwidth_metal4"] = 6*_lambda_ +# 22.2 Minimum spacing to metal4 +drc["metal4_to_metal4"] = 6*_lambda_ +# 22.3 Minimum overlap of via 3 +drc["metal4_extend_via3"] = 2*_lambda_ # Reserved for asymmetric enclosures -drc["metal3_enclosure_via2"] = 2*_lambda_ +drc["metal4_enclosure_via3"] = 2*_lambda_ # Not a rule drc["minarea_metal3"] = 0 diff --git a/technology/scn4me_subm/tf/LICENSE b/technology/scn4m_subm/tf/LICENSE similarity index 100% rename from technology/scn4me_subm/tf/LICENSE rename to technology/scn4m_subm/tf/LICENSE diff --git a/technology/scn4me_subm/tf/README b/technology/scn4m_subm/tf/README similarity index 100% rename from technology/scn4me_subm/tf/README rename to technology/scn4m_subm/tf/README diff --git a/technology/scn4me_subm/tf/display.drf b/technology/scn4m_subm/tf/display.drf similarity index 100% rename from technology/scn4me_subm/tf/display.drf rename to technology/scn4m_subm/tf/display.drf diff --git a/technology/scn4me_subm/tf/glade_scn4me_subm.py b/technology/scn4m_subm/tf/glade_scn4me_subm.py similarity index 100% rename from technology/scn4me_subm/tf/glade_scn4me_subm.py rename to technology/scn4m_subm/tf/glade_scn4me_subm.py diff --git a/technology/scn4me_subm/tf/layers.map b/technology/scn4m_subm/tf/layers.map similarity index 100% rename from technology/scn4me_subm/tf/layers.map rename to technology/scn4m_subm/tf/layers.map diff --git a/technology/scn4me_subm/tf/mosis.tf b/technology/scn4m_subm/tf/mosis.tf similarity index 100% rename from technology/scn4me_subm/tf/mosis.tf rename to technology/scn4m_subm/tf/mosis.tf diff --git a/technology/scn4me_subm/mag_lib/.magicrc b/technology/scn4me_subm/mag_lib/.magicrc deleted file mode 100644 index 2778c5e7..00000000 --- a/technology/scn4me_subm/mag_lib/.magicrc +++ /dev/null @@ -1,5 +0,0 @@ -path sys +$::env(OPENRAM_TECH)/scn4me_subm/tech -tech load SCN4ME_SUBM.20 -noprompt -scalegrid 1 4 -set GND gnd -set VDD vdd diff --git a/technology/setup_scripts/setup_openram_scn4m_subm.py b/technology/setup_scripts/setup_openram_scn4m_subm.py new file mode 100644 index 00000000..19a4960c --- /dev/null +++ b/technology/setup_scripts/setup_openram_scn4m_subm.py @@ -0,0 +1,41 @@ +#!/usr/bin/python +""" +This type of setup script should be placed in the setup_scripts directory in the trunk +""" + +import sys +import os + +TECHNOLOGY = "scn4m_subm" + + +########################## +# CDK paths + +# os.environ["CDK_DIR"] = CDK_DIR #PDK path +# os.environ["SYSTEM_CDS_LIB_DIR"] = "{0}/cdssetup".format(CDK_DIR) +# os.environ["CDS_SITE"] = CDK_DIR +os.environ["MGC_TMPDIR"] = "/tmp" + +########################### +# OpenRAM Paths + + +try: + DRCLVS_HOME = os.path.abspath(os.environ.get("DRCLVS_HOME")) +except: + OPENRAM_TECH=os.path.abspath(os.environ.get("OPENRAM_TECH")) + DRCLVS_HOME=OPENRAM_TECH+"/scn4m_subm/tech" +os.environ["DRCLVS_HOME"] = DRCLVS_HOME + +# try: +# SPICE_MODEL_DIR = os.path.abspath(os.environ.get("SPICE_MODEL_DIR")) +# except: +OPENRAM_TECH=os.path.abspath(os.environ.get("OPENRAM_TECH")) +os.environ["SPICE_MODEL_DIR"] = "{0}/{1}/models".format(OPENRAM_TECH, TECHNOLOGY) + +########################## +# Paths required for OPENRAM to function + +LOCAL = "{0}/..".format(os.path.dirname(__file__)) +sys.path.append("{0}/{1}/tech".format(LOCAL,TECHNOLOGY))