LVS: allow missing device classes in reference schematic

Reasoning: some devices may simply not be used in the
reference schematic.
This commit is contained in:
Matthias Koefferlein 2019-08-19 22:26:50 +02:00
parent fa4da4ba0b
commit 207e44837c
4 changed files with 534 additions and 505 deletions

View File

@ -285,9 +285,13 @@ module LVS
( nl_a, nl_b ) = _ensure_two_netlists
dc_a = a && (nl_a.device_class_by_name(a) || raise("Not a valid device class in extracted netlist: #{a}"))
dc_b = b && (nl_b.device_class_by_name(b) || raise("Not a valid device class in reference netlist: #{b}"))
dc_b = b && nl_b.device_class_by_name(b)
@comparer.same_device_classes(dc_a, dc_b)
# NOTE: a device class is allowed to be missing in the reference netlist because the
# device may simply not be used there.
if dc_b
@comparer.same_device_classes(dc_a, dc_b)
end
end

View File

@ -21,6 +21,7 @@ contact = input(8, 0)
metal1 = input(9, 0)
via1 = input(10, 0)
metal2 = input(11, 0)
thickox = input(12, 0)
# Bulk layer for terminal provisioning
@ -30,24 +31,42 @@ bulk = polygon_layer
active_in_nwell = active & nwell
pactive = active_in_nwell & pplus
pgate = pactive & poly
psd = pactive - pgate
pactive_hv = pactive & thickox
pgate_hv = pactive_hv & poly
psd_hv = pactive_hv - pgate_hv
pactive_lv = pactive - thickox
pgate_lv = pactive_lv & poly
psd_lv = pactive_lv - pgate_lv
psd = pactive - poly
ntie = active_in_nwell & nplus
active_outside_nwell = active - nwell
nactive = active_outside_nwell & nplus
ngate = nactive & poly
nsd = nactive - ngate
nactive_hv = nactive & thickox
ngate_hv = nactive_hv & poly
nsd_hv = nactive_hv - ngate_hv
nactive_lv = nactive - thickox
ngate_lv = nactive_lv & poly
nsd_lv = nactive_lv - ngate_lv
nsd = nactive - poly
ptie = active_outside_nwell & pplus
# Device extraction
# PMOS transistor device extraction
extract_devices(mos4("PM"), { "SD" => psd, "G" => pgate, "W" => nwell,
"tS" => psd, "tD" => psd, "tG" => poly, "tW" => nwell })
extract_devices(mos4("PM"), { "SD" => psd_lv, "G" => pgate_lv, "W" => nwell,
"tS" => psd, "tD" => psd, "tG" => poly, "tW" => nwell })
# NMOS transistor device extraction
extract_devices(mos4("NM"), { "SD" => nsd, "G" => ngate, "W" => bulk,
extract_devices(mos4("NM"), { "SD" => nsd_lv, "G" => ngate_lv, "W" => bulk,
"tS" => nsd, "tD" => nsd, "tG" => poly, "tW" => bulk })
# PMOS transistor device extraction (HV)
extract_devices(mos4("PMHV"), { "SD" => psd_hv, "G" => pgate_hv, "W" => nwell,
"tS" => psd, "tD" => psd, "tG" => poly, "tW" => nwell })
# NMOS transistor device extraction (HV)
extract_devices(mos4("NMHV"), { "SD" => nsd_hv, "G" => ngate_hv, "W" => bulk,
"tS" => nsd, "tD" => nsd, "tG" => poly, "tW" => bulk })
# Define connectivity for netlist extraction
@ -73,6 +92,8 @@ netlist.simplify
same_device_classes("PM", "PMOS")
same_device_classes("NM", "NMOS")
same_device_classes("PMHV", "PMOSHV")
same_device_classes("NMHV", "NMOSHV")
compare

View File

@ -10,49 +10,51 @@ layout(
# Mask layers
layer(l3 '1/0')
layer(l4 '5/0')
layer(l8 '8/0')
layer(l11 '9/0')
layer(l12 '10/0')
layer(l13 '11/0')
layer(l7)
layer(l2)
layer(l5 '5/0')
layer(l14 '8/0')
layer(l17 '9/0')
layer(l18 '10/0')
layer(l19 '11/0')
layer(l8)
layer(l4)
layer(l15)
layer(l9)
layer(l6)
layer(l10)
layer(l16)
# Mask layer connectivity
connect(l3 l3 l9)
connect(l4 l4 l8)
connect(l8 l4 l8 l11 l2 l9 l6 l10)
connect(l11 l8 l11 l12)
connect(l12 l11 l12 l13)
connect(l13 l12 l13)
connect(l7 l7)
connect(l2 l8 l2)
connect(l9 l3 l8 l9)
connect(l6 l8 l6)
connect(l10 l8 l10)
connect(l3 l3 l15)
connect(l5 l5 l14)
connect(l14 l5 l14 l17 l4 l15 l9 l16)
connect(l17 l14 l17 l18)
connect(l18 l17 l18 l19)
connect(l19 l18 l19)
connect(l8 l8)
connect(l4 l14 l4)
connect(l15 l3 l14 l15)
connect(l9 l14 l9)
connect(l16 l14 l16)
# Global nets and connectivity
global(l7 SUBSTRATE)
global(l10 SUBSTRATE)
global(l8 SUBSTRATE)
global(l16 SUBSTRATE)
# Device class section
class(PM MOS4)
class(NM MOS4)
class(PMHV MOS4)
class(NMHV MOS4)
# Device abstracts section
# Device abstracts list the pin shapes of the devices.
device(D$PM PM
terminal(S
rect(l2 (-550 -750) (425 1500))
rect(l4 (-550 -750) (425 1500))
)
terminal(G
rect(l4 (-125 -750) (250 1500))
rect(l5 (-125 -750) (250 1500))
)
terminal(D
rect(l2 (125 -750) (450 1500))
rect(l4 (125 -750) (450 1500))
)
terminal(B
rect(l3 (-125 -750) (250 1500))
@ -60,13 +62,13 @@ layout(
)
device(D$PM$1 PM
terminal(S
rect(l2 (-575 -750) (450 1500))
rect(l4 (-575 -750) (450 1500))
)
terminal(G
rect(l4 (-125 -750) (250 1500))
rect(l5 (-125 -750) (250 1500))
)
terminal(D
rect(l2 (125 -750) (425 1500))
rect(l4 (125 -750) (425 1500))
)
terminal(B
rect(l3 (-125 -750) (250 1500))
@ -74,13 +76,13 @@ layout(
)
device(D$PM$2 PM
terminal(S
rect(l2 (-550 -750) (425 1500))
rect(l4 (-550 -750) (425 1500))
)
terminal(G
rect(l4 (-125 -750) (250 1500))
rect(l5 (-125 -750) (250 1500))
)
terminal(D
rect(l2 (125 -750) (425 1500))
rect(l4 (125 -750) (425 1500))
)
terminal(B
rect(l3 (-125 -750) (250 1500))
@ -88,44 +90,44 @@ layout(
)
device(D$NM NM
terminal(S
rect(l6 (-550 -475) (425 950))
rect(l9 (-550 -475) (425 950))
)
terminal(G
rect(l4 (-125 -475) (250 950))
rect(l5 (-125 -475) (250 950))
)
terminal(D
rect(l6 (125 -475) (450 950))
rect(l9 (125 -475) (450 950))
)
terminal(B
rect(l7 (-125 -475) (250 950))
rect(l8 (-125 -475) (250 950))
)
)
device(D$NM$1 NM
terminal(S
rect(l6 (-575 -475) (450 950))
rect(l9 (-575 -475) (450 950))
)
terminal(G
rect(l4 (-125 -475) (250 950))
rect(l5 (-125 -475) (250 950))
)
terminal(D
rect(l6 (125 -475) (425 950))
rect(l9 (125 -475) (425 950))
)
terminal(B
rect(l7 (-125 -475) (250 950))
rect(l8 (-125 -475) (250 950))
)
)
device(D$NM$2 NM
terminal(S
rect(l6 (-550 -475) (425 950))
rect(l9 (-550 -475) (425 950))
)
terminal(G
rect(l4 (-125 -475) (250 950))
rect(l5 (-125 -475) (250 950))
)
terminal(D
rect(l6 (125 -475) (425 950))
rect(l9 (125 -475) (425 950))
)
terminal(B
rect(l7 (-125 -475) (250 950))
rect(l8 (-125 -475) (250 950))
)
)
@ -138,70 +140,70 @@ layout(
# Nets with their geometries
net(1 name(VDD)
rect(l8 (1110 5160) (180 180))
rect(l8 (-180 920) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l11 (-240 -790) (300 1700))
rect(l11 (-1350 0) (2400 800))
rect(l11 (-1151 -401) (2 2))
rect(l2 (-276 -2151) (425 1500))
rect(l2 (-400 -1500) (425 1500))
rect(l14 (1110 5160) (180 180))
rect(l14 (-180 920) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l17 (-240 -790) (300 1700))
rect(l17 (-1350 0) (2400 800))
rect(l17 (-1151 -401) (2 2))
rect(l4 (-276 -2151) (425 1500))
rect(l4 (-400 -1500) (425 1500))
)
net(2 name(OUT)
rect(l8 (1810 1770) (180 180))
rect(l8 (-180 370) (180 180))
rect(l8 (-1580 3760) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l8 (1220 920) (180 180))
rect(l8 (-180 -1280) (180 180))
rect(l8 (-180 370) (180 180))
polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090))
rect(l11 (-110 1390) (300 1400))
polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300))
rect(l11 (-141 -501) (2 2))
rect(l11 (-1751 1099) (300 1400))
rect(l11 (1100 -1700) (300 300))
rect(l11 (-300 0) (300 1400))
rect(l2 (-1750 -1450) (425 1500))
rect(l2 (950 -1500) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (1810 1770) (180 180))
rect(l14 (-180 370) (180 180))
rect(l14 (-1580 3760) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l14 (1220 920) (180 180))
rect(l14 (-180 -1280) (180 180))
rect(l14 (-180 370) (180 180))
polygon(l17 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090))
rect(l17 (-110 1390) (300 1400))
polygon(l17 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300))
rect(l17 (-141 -501) (2 2))
rect(l17 (-1751 1099) (300 1400))
rect(l17 (1100 -1700) (300 300))
rect(l17 (-300 0) (300 1400))
rect(l4 (-1750 -1450) (425 1500))
rect(l4 (950 -1500) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(3 name(VSS)
rect(l8 (410 1770) (180 180))
rect(l8 (-180 370) (180 180))
rect(l11 (-240 -1300) (300 1360))
rect(l11 (-650 -2160) (2400 800))
rect(l11 (-1151 -401) (2 2))
rect(l6 (-951 859) (425 950))
rect(l14 (410 1770) (180 180))
rect(l14 (-180 370) (180 180))
rect(l17 (-240 -1300) (300 1360))
rect(l17 (-650 -2160) (2400 800))
rect(l17 (-1151 -401) (2 2))
rect(l9 (-951 859) (425 950))
)
net(4
rect(l3 (-100 4500) (2600 3500))
)
net(5 name(B)
rect(l4 (1425 2860) (250 1940))
rect(l4 (-345 -950) (300 300))
rect(l4 (-205 650) (250 2000))
rect(l4 (-250 -2000) (250 2000))
rect(l4 (-250 -5390) (250 1450))
rect(l8 (-285 1050) (180 180))
rect(l11 (-71 -91) (2 2))
rect(l11 (-171 -151) (300 300))
rect(l5 (1425 2860) (250 1940))
rect(l5 (-345 -950) (300 300))
rect(l5 (-205 650) (250 2000))
rect(l5 (-250 -2000) (250 2000))
rect(l5 (-250 -5390) (250 1450))
rect(l14 (-285 1050) (180 180))
rect(l17 (-71 -91) (2 2))
rect(l17 (-171 -151) (300 300))
)
net(6 name(A)
rect(l4 (725 2860) (250 1940))
rect(l4 (-325 -1850) (300 300))
rect(l4 (-225 1550) (250 2000))
rect(l4 (-250 -2000) (250 2000))
rect(l4 (-250 -5390) (250 1450))
rect(l8 (-265 150) (180 180))
rect(l11 (-91 -91) (2 2))
rect(l11 (-151 -151) (300 300))
rect(l5 (725 2860) (250 1940))
rect(l5 (-325 -1850) (300 300))
rect(l5 (-225 1550) (250 2000))
rect(l5 (-250 -2000) (250 2000))
rect(l5 (-250 -5390) (250 1450))
rect(l14 (-265 150) (180 180))
rect(l17 (-91 -91) (2 2))
rect(l17 (-151 -151) (300 300))
)
net(7 name(SUBSTRATE))
net(8
rect(l6 (975 1660) (425 950))
rect(l6 (-400 -950) (425 950))
rect(l9 (975 1660) (425 950))
rect(l9 (-400 -950) (425 950))
)
# Outgoing pins and their connections to nets
@ -275,46 +277,46 @@ layout(
# Nets with their geometries
net(1 name(VDD)
rect(l8 (410 6260) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l11 (-240 -240) (300 1400))
rect(l11 (-650 300) (1800 800))
rect(l11 (-1450 -1100) (300 300))
rect(l11 (299 399) (2 2))
rect(l2 (-651 -2151) (425 1500))
rect(l14 (410 6260) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l17 (-240 -240) (300 1400))
rect(l17 (-650 300) (1800 800))
rect(l17 (-1450 -1100) (300 300))
rect(l17 (299 399) (2 2))
rect(l4 (-651 -2151) (425 1500))
)
net(2 name(OUT)
rect(l8 (1110 5160) (180 180))
rect(l8 (-180 920) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l8 (-180 -4120) (180 180))
rect(l8 (-180 370) (180 180))
rect(l11 (-240 -790) (300 4790))
rect(l11 (-151 -2501) (2 2))
rect(l2 (-226 1049) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (1110 5160) (180 180))
rect(l14 (-180 920) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l14 (-180 -4120) (180 180))
rect(l14 (-180 370) (180 180))
rect(l17 (-240 -790) (300 4790))
rect(l17 (-151 -2501) (2 2))
rect(l4 (-226 1049) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(3 name(VSS)
rect(l8 (410 1770) (180 180))
rect(l8 (-180 370) (180 180))
rect(l11 (-240 -1300) (300 1360))
rect(l11 (-650 -2160) (1800 800))
rect(l11 (-851 -401) (2 2))
rect(l6 (-651 859) (425 950))
rect(l14 (410 1770) (180 180))
rect(l14 (-180 370) (180 180))
rect(l17 (-240 -1300) (300 1360))
rect(l17 (-650 -2160) (1800 800))
rect(l17 (-851 -401) (2 2))
rect(l9 (-651 859) (425 950))
)
net(4
rect(l3 (-100 4500) (2000 3500))
)
net(5 name(IN)
rect(l4 (725 2860) (250 1940))
rect(l4 (-525 -1850) (300 300))
rect(l4 (-25 1550) (250 2000))
rect(l4 (-250 -2000) (250 2000))
rect(l4 (-250 -5390) (250 1450))
rect(l8 (-465 150) (180 180))
rect(l11 (-91 -91) (2 2))
rect(l11 (-151 -151) (300 300))
rect(l5 (725 2860) (250 1940))
rect(l5 (-525 -1850) (300 300))
rect(l5 (-25 1550) (250 2000))
rect(l5 (-250 -2000) (250 2000))
rect(l5 (-250 -5390) (250 1450))
rect(l14 (-465 150) (180 180))
rect(l17 (-91 -91) (2 2))
rect(l17 (-151 -151) (300 300))
)
net(6 name(SUBSTRATE))
@ -362,162 +364,162 @@ layout(
# Nets with their geometries
net(1
rect(l8 (4710 3010) (180 180))
rect(l11 (-850 -240) (610 300))
rect(l2 (-2550 1800) (425 1500))
rect(l2 (950 -1500) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (4710 3010) (180 180))
rect(l17 (-850 -240) (610 300))
rect(l4 (-2550 1800) (425 1500))
rect(l4 (950 -1500) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(2
rect(l8 (6510 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (6510 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(3
rect(l8 (8310 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (8310 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(4
rect(l8 (10110 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (10110 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(5
rect(l8 (11910 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (11910 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(6
rect(l8 (13710 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (13710 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(7
rect(l8 (15510 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (15510 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(8
rect(l8 (17310 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (17310 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(9
rect(l8 (19110 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (19110 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(10
rect(l8 (20910 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (20910 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(11 name(FB)
rect(l8 (22710 3010) (180 180))
rect(l8 (-19700 720) (180 180))
rect(l11 (18380 -1140) (900 300))
rect(l11 (-19530 590) (320 320))
rect(l11 (17820 -320) (320 320))
rect(l12 (-18400 -260) (200 200))
rect(l12 (17940 -200) (200 200))
rect(l13 (-18040 -300) (17740 400))
rect(l13 (-17921 -201) (2 2))
rect(l13 (-221 -201) (400 400))
rect(l13 (17740 -400) (400 400))
rect(l2 (-245 850) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (22710 3010) (180 180))
rect(l14 (-19700 720) (180 180))
rect(l17 (18380 -1140) (900 300))
rect(l17 (-19530 590) (320 320))
rect(l17 (17820 -320) (320 320))
rect(l18 (-18400 -260) (200 200))
rect(l18 (17940 -200) (200 200))
rect(l19 (-18040 -300) (17740 400))
rect(l19 (-17921 -201) (2 2))
rect(l19 (-221 -201) (400 400))
rect(l19 (17740 -400) (400 400))
rect(l4 (-245 850) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(12 name(VDD)
rect(l3 (500 4500) (1400 3500))
rect(l3 (-1900 -3500) (600 3500))
rect(l3 (23300 -3500) (1400 3500))
rect(l3 (-100 -3500) (600 3500))
rect(l8 (-24690 -1240) (180 180))
rect(l8 (-180 370) (180 180))
rect(l8 (-180 -1280) (180 180))
rect(l8 (23220 370) (180 180))
rect(l8 (-180 370) (180 180))
rect(l8 (-180 -1280) (180 180))
rect(l11 (-21741 859) (2 2))
rect(l11 (-2351 -451) (1200 800))
rect(l11 (-750 -1450) (300 1400))
rect(l11 (-101 -351) (2 2))
rect(l11 (-1251 -401) (600 800))
rect(l11 (23400 -800) (1200 800))
rect(l11 (-750 -1450) (300 1400))
rect(l11 (-101 -351) (2 2))
rect(l11 (549 -401) (600 800))
rect(l2 (-23025 -2550) (425 1500))
rect(l2 (-400 -1500) (425 1500))
rect(l2 (1275 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l9 (-21975 -450) (500 1500))
rect(l9 (22900 -1500) (500 1500))
rect(l14 (-24690 -1240) (180 180))
rect(l14 (-180 370) (180 180))
rect(l14 (-180 -1280) (180 180))
rect(l14 (23220 370) (180 180))
rect(l14 (-180 370) (180 180))
rect(l14 (-180 -1280) (180 180))
rect(l17 (-21741 859) (2 2))
rect(l17 (-2351 -451) (1200 800))
rect(l17 (-750 -1450) (300 1400))
rect(l17 (-101 -351) (2 2))
rect(l17 (-1251 -401) (600 800))
rect(l17 (23400 -800) (1200 800))
rect(l17 (-750 -1450) (300 1400))
rect(l17 (-101 -351) (2 2))
rect(l17 (549 -401) (600 800))
rect(l4 (-23025 -2550) (425 1500))
rect(l4 (-400 -1500) (425 1500))
rect(l4 (1275 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l15 (-21975 -450) (500 1500))
rect(l15 (22900 -1500) (500 1500))
)
net(13 name(OUT)
rect(l11 (23440 3840) (320 320))
rect(l12 (-260 -260) (200 200))
rect(l13 (-101 -101) (2 2))
rect(l13 (-201 -201) (400 400))
rect(l2 (-625 850) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l17 (23440 3840) (320 320))
rect(l18 (-260 -260) (200 200))
rect(l19 (-101 -101) (2 2))
rect(l19 (-201 -201) (400 400))
rect(l4 (-625 850) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(14 name(ENABLE)
rect(l8 (2510 3010) (180 180))
rect(l11 (-250 -250) (320 320))
rect(l12 (-260 -260) (200 200))
rect(l13 (-101 -101) (2 2))
rect(l13 (-201 -201) (400 400))
rect(l14 (2510 3010) (180 180))
rect(l17 (-250 -250) (320 320))
rect(l18 (-260 -260) (200 200))
rect(l19 (-101 -101) (2 2))
rect(l19 (-201 -201) (400 400))
)
net(15 name(VSS)
rect(l8 (1110 1610) (180 180))
rect(l8 (-180 -1280) (180 180))
rect(l8 (-180 370) (180 180))
rect(l8 (23220 370) (180 180))
rect(l8 (-180 -1280) (180 180))
rect(l8 (-180 370) (180 180))
rect(l11 (-21741 -391) (2 2))
rect(l11 (-1901 -401) (300 1400))
rect(l11 (-750 -1450) (1200 800))
rect(l11 (-551 -401) (2 2))
rect(l11 (-1251 -401) (600 800))
rect(l11 (23850 -750) (300 1400))
rect(l11 (-750 -1450) (1200 800))
rect(l11 (-551 -401) (2 2))
rect(l11 (549 -401) (600 800))
rect(l6 (-23700 460) (425 950))
rect(l6 (1975 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l10 (-21975 -2210) (500 1500))
rect(l10 (22900 -1500) (500 1500))
rect(l14 (1110 1610) (180 180))
rect(l14 (-180 -1280) (180 180))
rect(l14 (-180 370) (180 180))
rect(l14 (23220 370) (180 180))
rect(l14 (-180 -1280) (180 180))
rect(l14 (-180 370) (180 180))
rect(l17 (-21741 -391) (2 2))
rect(l17 (-1901 -401) (300 1400))
rect(l17 (-750 -1450) (1200 800))
rect(l17 (-551 -401) (2 2))
rect(l17 (-1251 -401) (600 800))
rect(l17 (23850 -750) (300 1400))
rect(l17 (-750 -1450) (1200 800))
rect(l17 (-551 -401) (2 2))
rect(l17 (549 -401) (600 800))
rect(l9 (-23700 460) (425 950))
rect(l9 (1975 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l16 (-21975 -2210) (500 1500))
rect(l16 (22900 -1500) (500 1500))
)
# Outgoing pins and their connections to nets

View File

@ -10,49 +10,51 @@ layout(
# Mask layers
layer(l3 '1/0')
layer(l4 '5/0')
layer(l8 '8/0')
layer(l11 '9/0')
layer(l12 '10/0')
layer(l13 '11/0')
layer(l7)
layer(l2)
layer(l5 '5/0')
layer(l14 '8/0')
layer(l17 '9/0')
layer(l18 '10/0')
layer(l19 '11/0')
layer(l8)
layer(l4)
layer(l15)
layer(l9)
layer(l6)
layer(l10)
layer(l16)
# Mask layer connectivity
connect(l3 l3 l9)
connect(l4 l4 l8)
connect(l8 l4 l8 l11 l2 l9 l6 l10)
connect(l11 l8 l11 l12)
connect(l12 l11 l12 l13)
connect(l13 l12 l13)
connect(l7 l7)
connect(l2 l8 l2)
connect(l9 l3 l8 l9)
connect(l6 l8 l6)
connect(l10 l8 l10)
connect(l3 l3 l15)
connect(l5 l5 l14)
connect(l14 l5 l14 l17 l4 l15 l9 l16)
connect(l17 l14 l17 l18)
connect(l18 l17 l18 l19)
connect(l19 l18 l19)
connect(l8 l8)
connect(l4 l14 l4)
connect(l15 l3 l14 l15)
connect(l9 l14 l9)
connect(l16 l14 l16)
# Global nets and connectivity
global(l7 SUBSTRATE)
global(l10 SUBSTRATE)
global(l8 SUBSTRATE)
global(l16 SUBSTRATE)
# Device class section
class(PM MOS4)
class(NM MOS4)
class(PMHV MOS4)
class(NMHV MOS4)
# Device abstracts section
# Device abstracts list the pin shapes of the devices.
device(D$PM PM
terminal(S
rect(l2 (-550 -750) (425 1500))
rect(l4 (-550 -750) (425 1500))
)
terminal(G
rect(l4 (-125 -750) (250 1500))
rect(l5 (-125 -750) (250 1500))
)
terminal(D
rect(l2 (125 -750) (450 1500))
rect(l4 (125 -750) (450 1500))
)
terminal(B
rect(l3 (-125 -750) (250 1500))
@ -60,13 +62,13 @@ layout(
)
device(D$PM$1 PM
terminal(S
rect(l2 (-575 -750) (450 1500))
rect(l4 (-575 -750) (450 1500))
)
terminal(G
rect(l4 (-125 -750) (250 1500))
rect(l5 (-125 -750) (250 1500))
)
terminal(D
rect(l2 (125 -750) (425 1500))
rect(l4 (125 -750) (425 1500))
)
terminal(B
rect(l3 (-125 -750) (250 1500))
@ -74,13 +76,13 @@ layout(
)
device(D$PM$2 PM
terminal(S
rect(l2 (-550 -750) (425 1500))
rect(l4 (-550 -750) (425 1500))
)
terminal(G
rect(l4 (-125 -750) (250 1500))
rect(l5 (-125 -750) (250 1500))
)
terminal(D
rect(l2 (125 -750) (425 1500))
rect(l4 (125 -750) (425 1500))
)
terminal(B
rect(l3 (-125 -750) (250 1500))
@ -88,44 +90,44 @@ layout(
)
device(D$NM NM
terminal(S
rect(l6 (-550 -475) (425 950))
rect(l9 (-550 -475) (425 950))
)
terminal(G
rect(l4 (-125 -475) (250 950))
rect(l5 (-125 -475) (250 950))
)
terminal(D
rect(l6 (125 -475) (450 950))
rect(l9 (125 -475) (450 950))
)
terminal(B
rect(l7 (-125 -475) (250 950))
rect(l8 (-125 -475) (250 950))
)
)
device(D$NM$1 NM
terminal(S
rect(l6 (-575 -475) (450 950))
rect(l9 (-575 -475) (450 950))
)
terminal(G
rect(l4 (-125 -475) (250 950))
rect(l5 (-125 -475) (250 950))
)
terminal(D
rect(l6 (125 -475) (425 950))
rect(l9 (125 -475) (425 950))
)
terminal(B
rect(l7 (-125 -475) (250 950))
rect(l8 (-125 -475) (250 950))
)
)
device(D$NM$2 NM
terminal(S
rect(l6 (-550 -475) (425 950))
rect(l9 (-550 -475) (425 950))
)
terminal(G
rect(l4 (-125 -475) (250 950))
rect(l5 (-125 -475) (250 950))
)
terminal(D
rect(l6 (125 -475) (425 950))
rect(l9 (125 -475) (425 950))
)
terminal(B
rect(l7 (-125 -475) (250 950))
rect(l8 (-125 -475) (250 950))
)
)
@ -138,70 +140,70 @@ layout(
# Nets with their geometries
net(1 name(VDD)
rect(l8 (1110 5160) (180 180))
rect(l8 (-180 920) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l11 (-240 -790) (300 1700))
rect(l11 (-1350 0) (2400 800))
rect(l11 (-1151 -401) (2 2))
rect(l2 (-276 -2151) (425 1500))
rect(l2 (-400 -1500) (425 1500))
rect(l14 (1110 5160) (180 180))
rect(l14 (-180 920) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l17 (-240 -790) (300 1700))
rect(l17 (-1350 0) (2400 800))
rect(l17 (-1151 -401) (2 2))
rect(l4 (-276 -2151) (425 1500))
rect(l4 (-400 -1500) (425 1500))
)
net(2 name(OUT)
rect(l8 (1810 1770) (180 180))
rect(l8 (-180 370) (180 180))
rect(l8 (-1580 3760) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l8 (1220 920) (180 180))
rect(l8 (-180 -1280) (180 180))
rect(l8 (-180 370) (180 180))
polygon(l11 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090))
rect(l11 (-110 1390) (300 1400))
polygon(l11 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300))
rect(l11 (-141 -501) (2 2))
rect(l11 (-1751 1099) (300 1400))
rect(l11 (1100 -1700) (300 300))
rect(l11 (-300 0) (300 1400))
rect(l2 (-375 -1450) (425 1500))
rect(l2 (-1800 -1500) (425 1500))
rect(l6 (950 -4890) (425 950))
rect(l14 (1810 1770) (180 180))
rect(l14 (-180 370) (180 180))
rect(l14 (-1580 3760) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l14 (1220 920) (180 180))
rect(l14 (-180 -1280) (180 180))
rect(l14 (-180 370) (180 180))
polygon(l17 (-240 -4180) (0 1390) (490 0) (0 -300) (-190 0) (0 -1090))
rect(l17 (-110 1390) (300 1400))
polygon(l17 (-1890 0) (0 600) (300 0) (0 -300) (1590 0) (0 -300))
rect(l17 (-141 -501) (2 2))
rect(l17 (-1751 1099) (300 1400))
rect(l17 (1100 -1700) (300 300))
rect(l17 (-300 0) (300 1400))
rect(l4 (-375 -1450) (425 1500))
rect(l4 (-1800 -1500) (425 1500))
rect(l9 (950 -4890) (425 950))
)
net(3 name(VSS)
rect(l8 (410 1770) (180 180))
rect(l8 (-180 370) (180 180))
rect(l11 (-240 -1300) (300 1360))
rect(l11 (-650 -2160) (2400 800))
rect(l11 (-1151 -401) (2 2))
rect(l6 (-951 859) (425 950))
rect(l14 (410 1770) (180 180))
rect(l14 (-180 370) (180 180))
rect(l17 (-240 -1300) (300 1360))
rect(l17 (-650 -2160) (2400 800))
rect(l17 (-1151 -401) (2 2))
rect(l9 (-951 859) (425 950))
)
net(4
rect(l3 (-100 4500) (2600 3500))
)
net(5 name(B)
rect(l4 (1425 2860) (250 1940))
rect(l4 (-345 -950) (300 300))
rect(l4 (-205 650) (250 2000))
rect(l4 (-250 -2000) (250 2000))
rect(l4 (-250 -5390) (250 1450))
rect(l8 (-285 1050) (180 180))
rect(l11 (-71 -91) (2 2))
rect(l11 (-171 -151) (300 300))
rect(l5 (1425 2860) (250 1940))
rect(l5 (-345 -950) (300 300))
rect(l5 (-205 650) (250 2000))
rect(l5 (-250 -2000) (250 2000))
rect(l5 (-250 -5390) (250 1450))
rect(l14 (-285 1050) (180 180))
rect(l17 (-71 -91) (2 2))
rect(l17 (-171 -151) (300 300))
)
net(6 name(A)
rect(l4 (725 2860) (250 1940))
rect(l4 (-325 -1850) (300 300))
rect(l4 (-225 1550) (250 2000))
rect(l4 (-250 -2000) (250 2000))
rect(l4 (-250 -5390) (250 1450))
rect(l8 (-265 150) (180 180))
rect(l11 (-91 -91) (2 2))
rect(l11 (-151 -151) (300 300))
rect(l5 (725 2860) (250 1940))
rect(l5 (-325 -1850) (300 300))
rect(l5 (-225 1550) (250 2000))
rect(l5 (-250 -2000) (250 2000))
rect(l5 (-250 -5390) (250 1450))
rect(l14 (-265 150) (180 180))
rect(l17 (-91 -91) (2 2))
rect(l17 (-151 -151) (300 300))
)
net(7 name(SUBSTRATE))
net(8
rect(l6 (975 1660) (425 950))
rect(l6 (-400 -950) (425 950))
rect(l9 (975 1660) (425 950))
rect(l9 (-400 -950) (425 950))
)
# Outgoing pins and their connections to nets
@ -275,46 +277,46 @@ layout(
# Nets with their geometries
net(1 name(VDD)
rect(l8 (410 6260) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l11 (-240 -240) (300 1400))
rect(l11 (-650 300) (1800 800))
rect(l11 (-1450 -1100) (300 300))
rect(l11 (299 399) (2 2))
rect(l2 (-651 -2151) (425 1500))
rect(l14 (410 6260) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l17 (-240 -240) (300 1400))
rect(l17 (-650 300) (1800 800))
rect(l17 (-1450 -1100) (300 300))
rect(l17 (299 399) (2 2))
rect(l4 (-651 -2151) (425 1500))
)
net(2 name(OUT)
rect(l8 (1110 5160) (180 180))
rect(l8 (-180 920) (180 180))
rect(l8 (-180 -730) (180 180))
rect(l8 (-180 -4120) (180 180))
rect(l8 (-180 370) (180 180))
rect(l11 (-240 -790) (300 4790))
rect(l11 (-151 -2501) (2 2))
rect(l2 (-226 1049) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (1110 5160) (180 180))
rect(l14 (-180 920) (180 180))
rect(l14 (-180 -730) (180 180))
rect(l14 (-180 -4120) (180 180))
rect(l14 (-180 370) (180 180))
rect(l17 (-240 -790) (300 4790))
rect(l17 (-151 -2501) (2 2))
rect(l4 (-226 1049) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(3 name(VSS)
rect(l8 (410 1770) (180 180))
rect(l8 (-180 370) (180 180))
rect(l11 (-240 -1300) (300 1360))
rect(l11 (-650 -2160) (1800 800))
rect(l11 (-851 -401) (2 2))
rect(l6 (-651 859) (425 950))
rect(l14 (410 1770) (180 180))
rect(l14 (-180 370) (180 180))
rect(l17 (-240 -1300) (300 1360))
rect(l17 (-650 -2160) (1800 800))
rect(l17 (-851 -401) (2 2))
rect(l9 (-651 859) (425 950))
)
net(4
rect(l3 (-100 4500) (2000 3500))
)
net(5 name(IN)
rect(l4 (725 2860) (250 1940))
rect(l4 (-525 -1850) (300 300))
rect(l4 (-25 1550) (250 2000))
rect(l4 (-250 -2000) (250 2000))
rect(l4 (-250 -5390) (250 1450))
rect(l8 (-465 150) (180 180))
rect(l11 (-91 -91) (2 2))
rect(l11 (-151 -151) (300 300))
rect(l5 (725 2860) (250 1940))
rect(l5 (-525 -1850) (300 300))
rect(l5 (-25 1550) (250 2000))
rect(l5 (-250 -2000) (250 2000))
rect(l5 (-250 -5390) (250 1450))
rect(l14 (-465 150) (180 180))
rect(l17 (-91 -91) (2 2))
rect(l17 (-151 -151) (300 300))
)
net(6 name(SUBSTRATE))
@ -362,162 +364,162 @@ layout(
# Nets with their geometries
net(1
rect(l8 (4710 3010) (180 180))
rect(l11 (-850 -240) (610 300))
rect(l2 (-1175 1800) (425 1500))
rect(l2 (-1800 -1500) (425 1500))
rect(l6 (950 -4890) (425 950))
rect(l14 (4710 3010) (180 180))
rect(l17 (-850 -240) (610 300))
rect(l4 (-1175 1800) (425 1500))
rect(l4 (-1800 -1500) (425 1500))
rect(l9 (950 -4890) (425 950))
)
net(2
rect(l8 (6510 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (6510 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(3
rect(l8 (8310 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (8310 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(4
rect(l8 (10110 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (10110 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(5
rect(l8 (11910 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (11910 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(6
rect(l8 (13710 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (13710 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(7
rect(l8 (15510 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (15510 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(8
rect(l8 (17310 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (17310 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(9
rect(l8 (19110 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (19110 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(10
rect(l8 (20910 3010) (180 180))
rect(l11 (-1140 -240) (900 300))
rect(l2 (-1275 1800) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (20910 3010) (180 180))
rect(l17 (-1140 -240) (900 300))
rect(l4 (-1275 1800) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(11 name(FB)
rect(l8 (22710 3010) (180 180))
rect(l8 (-19700 720) (180 180))
rect(l11 (18380 -1140) (900 300))
rect(l11 (-19530 590) (320 320))
rect(l11 (17820 -320) (320 320))
rect(l12 (-18400 -260) (200 200))
rect(l12 (17940 -200) (200 200))
rect(l13 (-18040 -300) (17740 400))
rect(l13 (-17921 -201) (2 2))
rect(l13 (-221 -201) (400 400))
rect(l13 (17740 -400) (400 400))
rect(l2 (-245 850) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l14 (22710 3010) (180 180))
rect(l14 (-19700 720) (180 180))
rect(l17 (18380 -1140) (900 300))
rect(l17 (-19530 590) (320 320))
rect(l17 (17820 -320) (320 320))
rect(l18 (-18400 -260) (200 200))
rect(l18 (17940 -200) (200 200))
rect(l19 (-18040 -300) (17740 400))
rect(l19 (-17921 -201) (2 2))
rect(l19 (-221 -201) (400 400))
rect(l19 (17740 -400) (400 400))
rect(l4 (-245 850) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(12 name(VDD)
rect(l3 (500 4500) (1400 3500))
rect(l3 (-1900 -3500) (600 3500))
rect(l3 (23300 -3500) (1400 3500))
rect(l3 (-100 -3500) (600 3500))
rect(l8 (-24690 -1240) (180 180))
rect(l8 (-180 370) (180 180))
rect(l8 (-180 -1280) (180 180))
rect(l8 (23220 370) (180 180))
rect(l8 (-180 370) (180 180))
rect(l8 (-180 -1280) (180 180))
rect(l11 (-21741 859) (2 2))
rect(l11 (-2351 -451) (1200 800))
rect(l11 (-750 -1450) (300 1400))
rect(l11 (-101 -351) (2 2))
rect(l11 (-1251 -401) (600 800))
rect(l11 (23400 -800) (1200 800))
rect(l11 (-750 -1450) (300 1400))
rect(l11 (-101 -351) (2 2))
rect(l11 (549 -401) (600 800))
rect(l2 (-23025 -2550) (425 1500))
rect(l2 (-400 -1500) (425 1500))
rect(l2 (1275 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l2 (1375 -1500) (425 1500))
rect(l9 (-21975 -450) (500 1500))
rect(l9 (22900 -1500) (500 1500))
rect(l14 (-24690 -1240) (180 180))
rect(l14 (-180 370) (180 180))
rect(l14 (-180 -1280) (180 180))
rect(l14 (23220 370) (180 180))
rect(l14 (-180 370) (180 180))
rect(l14 (-180 -1280) (180 180))
rect(l17 (-21741 859) (2 2))
rect(l17 (-2351 -451) (1200 800))
rect(l17 (-750 -1450) (300 1400))
rect(l17 (-101 -351) (2 2))
rect(l17 (-1251 -401) (600 800))
rect(l17 (23400 -800) (1200 800))
rect(l17 (-750 -1450) (300 1400))
rect(l17 (-101 -351) (2 2))
rect(l17 (549 -401) (600 800))
rect(l4 (-23025 -2550) (425 1500))
rect(l4 (-400 -1500) (425 1500))
rect(l4 (1275 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l4 (1375 -1500) (425 1500))
rect(l15 (-21975 -450) (500 1500))
rect(l15 (22900 -1500) (500 1500))
)
net(13 name(OUT)
rect(l11 (23440 3840) (320 320))
rect(l12 (-260 -260) (200 200))
rect(l13 (-101 -101) (2 2))
rect(l13 (-201 -201) (400 400))
rect(l2 (-625 850) (425 1500))
rect(l6 (-425 -4890) (425 950))
rect(l17 (23440 3840) (320 320))
rect(l18 (-260 -260) (200 200))
rect(l19 (-101 -101) (2 2))
rect(l19 (-201 -201) (400 400))
rect(l4 (-625 850) (425 1500))
rect(l9 (-425 -4890) (425 950))
)
net(14 name(ENABLE)
rect(l8 (2510 3010) (180 180))
rect(l11 (-250 -250) (320 320))
rect(l12 (-260 -260) (200 200))
rect(l13 (-101 -101) (2 2))
rect(l13 (-201 -201) (400 400))
rect(l14 (2510 3010) (180 180))
rect(l17 (-250 -250) (320 320))
rect(l18 (-260 -260) (200 200))
rect(l19 (-101 -101) (2 2))
rect(l19 (-201 -201) (400 400))
)
net(15 name(VSS)
rect(l8 (1110 1610) (180 180))
rect(l8 (-180 -1280) (180 180))
rect(l8 (-180 370) (180 180))
rect(l8 (23220 370) (180 180))
rect(l8 (-180 -1280) (180 180))
rect(l8 (-180 370) (180 180))
rect(l11 (-21741 -391) (2 2))
rect(l11 (-1901 -401) (300 1400))
rect(l11 (-750 -1450) (1200 800))
rect(l11 (-551 -401) (2 2))
rect(l11 (-1251 -401) (600 800))
rect(l11 (23850 -750) (300 1400))
rect(l11 (-750 -1450) (1200 800))
rect(l11 (-551 -401) (2 2))
rect(l11 (549 -401) (600 800))
rect(l6 (-23700 460) (425 950))
rect(l6 (1975 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l6 (1375 -950) (425 950))
rect(l10 (-21975 -2210) (500 1500))
rect(l10 (22900 -1500) (500 1500))
rect(l14 (1110 1610) (180 180))
rect(l14 (-180 -1280) (180 180))
rect(l14 (-180 370) (180 180))
rect(l14 (23220 370) (180 180))
rect(l14 (-180 -1280) (180 180))
rect(l14 (-180 370) (180 180))
rect(l17 (-21741 -391) (2 2))
rect(l17 (-1901 -401) (300 1400))
rect(l17 (-750 -1450) (1200 800))
rect(l17 (-551 -401) (2 2))
rect(l17 (-1251 -401) (600 800))
rect(l17 (23850 -750) (300 1400))
rect(l17 (-750 -1450) (1200 800))
rect(l17 (-551 -401) (2 2))
rect(l17 (549 -401) (600 800))
rect(l9 (-23700 460) (425 950))
rect(l9 (1975 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l9 (1375 -950) (425 950))
rect(l16 (-21975 -2210) (500 1500))
rect(l16 (22900 -1500) (500 1500))
)
# Outgoing pins and their connections to nets