mirror of
https://github.com/KLayout/klayout.git
synced 2026-08-22 14:07:15 +02:00
WIP: LVSDB reader/writer: bugfixes, refactoring, tests.
This commit is contained in:
Vendored
-3
@@ -1,7 +1,4 @@
|
||||
#%l2n-klayout
|
||||
|
||||
# General section
|
||||
|
||||
top(RINGO)
|
||||
unit(0.001)
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,7 +1,4 @@
|
||||
#%l2n-klayout
|
||||
|
||||
# General section
|
||||
|
||||
top(RINGO)
|
||||
unit(0.001)
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,7 +1,4 @@
|
||||
#%l2n-klayout
|
||||
|
||||
# General section
|
||||
|
||||
top(RINGO)
|
||||
unit(0.001)
|
||||
|
||||
|
||||
Vendored
+991
@@ -0,0 +1,991 @@
|
||||
#%lvsdb-klayout
|
||||
|
||||
# Layout
|
||||
layout(
|
||||
top(RINGO)
|
||||
unit(0.001)
|
||||
|
||||
# Layer section
|
||||
# This section lists the mask layers (drawing or derived) and their connections.
|
||||
|
||||
# Mask layers
|
||||
layer(bulk '1/0')
|
||||
layer(nwell '1/0')
|
||||
layer(poly '3/0')
|
||||
layer(poly_lbl '3/1')
|
||||
layer(diff_cont '4/0')
|
||||
layer(poly_cont '5/0')
|
||||
layer(metal1 '6/0')
|
||||
layer(metal1_lbl '6/1')
|
||||
layer(via1 '7/0')
|
||||
layer(metal2 '8/0')
|
||||
layer(metal2_lbl '8/1')
|
||||
layer(ntie)
|
||||
layer(psd)
|
||||
layer(ptie)
|
||||
layer(nsd)
|
||||
|
||||
# Mask layer connectivity
|
||||
connect(nwell nwell ntie)
|
||||
connect(poly poly poly_lbl poly_cont)
|
||||
connect(poly_lbl poly)
|
||||
connect(diff_cont diff_cont metal1 ntie psd ptie nsd)
|
||||
connect(poly_cont poly poly_cont metal1)
|
||||
connect(metal1 diff_cont poly_cont metal1 metal1_lbl via1)
|
||||
connect(metal1_lbl metal1)
|
||||
connect(via1 metal1 via1 metal2)
|
||||
connect(metal2 via1 metal2 metal2_lbl)
|
||||
connect(metal2_lbl metal2)
|
||||
connect(ntie nwell diff_cont ntie)
|
||||
connect(psd diff_cont psd)
|
||||
connect(ptie diff_cont ptie)
|
||||
connect(nsd diff_cont nsd)
|
||||
|
||||
# Global nets and connectivity
|
||||
global(bulk BULK)
|
||||
global(ptie BULK)
|
||||
|
||||
# Device class section
|
||||
class(PMOS MOS4)
|
||||
class(NMOS MOS4)
|
||||
|
||||
# Device abstracts section
|
||||
# Device abstracts list the pin shapes of the devices.
|
||||
device(D$PMOS PMOS
|
||||
terminal(S
|
||||
rect(psd (-650 -875) (525 1750))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly (-125 -875) (250 1750))
|
||||
)
|
||||
terminal(D
|
||||
rect(psd (125 -875) (550 1750))
|
||||
)
|
||||
terminal(B
|
||||
rect(nwell (-125 -875) (250 1750))
|
||||
)
|
||||
)
|
||||
device(D$PMOS$1 PMOS
|
||||
terminal(S
|
||||
rect(psd (-675 -875) (550 1750))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly (-125 -875) (250 1750))
|
||||
)
|
||||
terminal(D
|
||||
rect(psd (125 -875) (525 1750))
|
||||
)
|
||||
terminal(B
|
||||
rect(nwell (-125 -875) (250 1750))
|
||||
)
|
||||
)
|
||||
device(D$NMOS NMOS
|
||||
terminal(S
|
||||
rect(nsd (-650 -875) (525 1750))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly (-125 -875) (250 1750))
|
||||
)
|
||||
terminal(D
|
||||
rect(nsd (125 -875) (550 1750))
|
||||
)
|
||||
terminal(B
|
||||
rect(bulk (-125 -875) (250 1750))
|
||||
)
|
||||
)
|
||||
device(D$NMOS$1 NMOS
|
||||
terminal(S
|
||||
rect(nsd (-675 -875) (550 1750))
|
||||
)
|
||||
terminal(G
|
||||
rect(poly (-125 -875) (250 1750))
|
||||
)
|
||||
terminal(D
|
||||
rect(nsd (125 -875) (525 1750))
|
||||
)
|
||||
terminal(B
|
||||
rect(bulk (-125 -875) (250 1750))
|
||||
)
|
||||
)
|
||||
|
||||
# Circuit section
|
||||
# Circuits are the hierarchical building blocks of the netlist.
|
||||
circuit(INV2
|
||||
|
||||
# Nets with their geometries
|
||||
net(1
|
||||
rect(nwell (-1400 1800) (2800 3580))
|
||||
rect(diff_cont (-1510 -650) (220 220))
|
||||
rect(ntie (-510 -450) (800 680))
|
||||
)
|
||||
net(2 name(IN)
|
||||
rect(poly (-525 -250) (250 2500))
|
||||
rect(poly (-1425 -630) (2100 360))
|
||||
rect(poly (-125 -2230) (250 2500))
|
||||
rect(poly (-1050 -3850) (250 2400))
|
||||
rect(poly (550 1200) (250 2400))
|
||||
rect(poly (-250 -6000) (250 2400))
|
||||
rect(poly (-1050 1200) (250 2400))
|
||||
rect(poly_lbl (-526 -2601) (2 2))
|
||||
rect(poly_cont (-831 -111) (220 220))
|
||||
)
|
||||
net(3 name(OUT)
|
||||
rect(diff_cont (-910 90) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (1380 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3820) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-1820 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(metal1 (1310 -3710) (360 2220))
|
||||
rect(metal1 (-1900 -800) (2220 360))
|
||||
rect(metal1 (-2280 -2400) (360 2840))
|
||||
rect(metal1 (-360 -3600) (360 1560))
|
||||
rect(metal1 (1240 2040) (360 1560))
|
||||
rect(metal1 (-360 -5160) (360 1560))
|
||||
rect(metal1 (-1960 2040) (360 1560))
|
||||
rect(metal1_lbl (1419 -2181) (2 2))
|
||||
rect(psd (-276 524) (525 1750))
|
||||
rect(psd (-2100 -1750) (525 1750))
|
||||
rect(nsd (1050 -5350) (525 1750))
|
||||
rect(nsd (-2100 -1750) (525 1750))
|
||||
)
|
||||
net(4 name(VSS)
|
||||
rect(diff_cont (-110 90) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (-290 -290) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(via1 (-305 -705) (250 250))
|
||||
rect(via1 (-250 150) (250 250))
|
||||
rect(via1 (-250 -1450) (250 250))
|
||||
rect(via1 (-250 150) (250 250))
|
||||
rect(metal2 (-1525 -775) (2800 1700))
|
||||
rect(metal2_lbl (-161 -541) (2 2))
|
||||
rect(nsd (-1516 -1186) (550 1750))
|
||||
)
|
||||
net(5 name(VDD)
|
||||
rect(diff_cont (-110 2490) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(metal1 (-290 -1490) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(via1 (-305 -1505) (250 250))
|
||||
rect(via1 (-250 150) (250 250))
|
||||
rect(via1 (-250 150) (250 250))
|
||||
rect(via1 (-250 150) (250 250))
|
||||
rect(metal2 (-1525 -1575) (2800 1700))
|
||||
rect(metal2_lbl (-151 -1251) (2 2))
|
||||
rect(psd (-1526 -476) (550 1750))
|
||||
)
|
||||
net(6 name(BULK)
|
||||
rect(diff_cont (-110 -2160) (220 220))
|
||||
rect(ptie (-510 -450) (800 680))
|
||||
)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
pin($0 1)
|
||||
pin(IN 2)
|
||||
pin(OUT 3)
|
||||
pin(VSS 4)
|
||||
pin(VDD 5)
|
||||
pin(BULK 6)
|
||||
|
||||
# Devices and their connections
|
||||
device($1 D$PMOS
|
||||
device(D$PMOS$1 800 0)
|
||||
connect(0 S S)
|
||||
connect(0 S D)
|
||||
connect(0 G G)
|
||||
connect(0 G G)
|
||||
connect(0 D D)
|
||||
connect(0 D S)
|
||||
connect(0 B B)
|
||||
connect(0 B B)
|
||||
location(-400 3200)
|
||||
param(L 0.25)
|
||||
param(W 3.5)
|
||||
param(AS 1.4)
|
||||
param(AD 1.4)
|
||||
param(PS 6.85)
|
||||
param(PD 6.85)
|
||||
terminal(S 3)
|
||||
terminal(G 2)
|
||||
terminal(D 5)
|
||||
terminal(B 1)
|
||||
)
|
||||
device($3 D$NMOS
|
||||
device(D$NMOS$1 800 0)
|
||||
connect(0 S S)
|
||||
connect(0 S D)
|
||||
connect(0 G G)
|
||||
connect(0 G G)
|
||||
connect(0 D D)
|
||||
connect(0 D S)
|
||||
connect(0 B B)
|
||||
connect(0 B B)
|
||||
location(-400 -400)
|
||||
param(L 0.25)
|
||||
param(W 3.5)
|
||||
param(AS 1.4)
|
||||
param(AD 1.4)
|
||||
param(PS 6.85)
|
||||
param(PD 6.85)
|
||||
terminal(S 3)
|
||||
terminal(G 2)
|
||||
terminal(D 4)
|
||||
terminal(B 6)
|
||||
)
|
||||
|
||||
)
|
||||
circuit(INV2PAIR
|
||||
|
||||
# Nets with their geometries
|
||||
net(1 name(BULK))
|
||||
net(2
|
||||
rect(diff_cont (4230 3290) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-2860 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(metal1 (2350 -1490) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
)
|
||||
net(3
|
||||
rect(diff_cont (4230 890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (2350 -290) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
)
|
||||
net(4
|
||||
rect(diff_cont (790 890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (1380 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3820) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-1820 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
)
|
||||
net(5)
|
||||
net(6
|
||||
rect(diff_cont (3430 890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (1380 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3820) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-1820 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
)
|
||||
net(7)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
pin(BULK 1)
|
||||
pin($1 2)
|
||||
pin($2 3)
|
||||
pin($3 4)
|
||||
pin($4 5)
|
||||
pin($5 6)
|
||||
pin($6 7)
|
||||
|
||||
# Subcircuits and their connections
|
||||
circuit($1 INV2 location(1700 800)
|
||||
pin($0 7)
|
||||
pin(IN 5)
|
||||
pin(OUT 4)
|
||||
pin(VSS 3)
|
||||
pin(VDD 2)
|
||||
pin(BULK 1)
|
||||
)
|
||||
circuit($2 INV2 location(4340 800)
|
||||
pin($0 7)
|
||||
pin(IN 4)
|
||||
pin(OUT 6)
|
||||
pin(VSS 3)
|
||||
pin(VDD 2)
|
||||
pin(BULK 1)
|
||||
)
|
||||
|
||||
)
|
||||
circuit(RINGO
|
||||
|
||||
# Nets with their geometries
|
||||
net(1 name(FB)
|
||||
rect(diff_cont (20210 90) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (1380 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3820) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-1820 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(metal1 (-22130 -2290) (360 360))
|
||||
rect(via1 (-305 -305) (250 250))
|
||||
rect(via1 (23190 -250) (250 250))
|
||||
rect(metal2 (-23765 -325) (23840 400))
|
||||
rect(metal2_lbl (-22121 -201) (2 2))
|
||||
)
|
||||
net(2 name(OSC)
|
||||
rect(diff_cont (22850 90) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (1380 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3820) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-1820 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(via1 (1365 -2235) (250 250))
|
||||
rect(metal2 (-325 -325) (400 400))
|
||||
rect(metal2_lbl (-201 -201) (2 2))
|
||||
)
|
||||
net(3 name(VDD)
|
||||
rect(diff_cont (7810 2490) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-2860 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-2860 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-2860 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (12980 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-2860 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (7700 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-2860 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (7700 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-2860 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -1420) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(metal1 (-21410 -10) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (-16200 -2600) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (12840 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (7560 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (7560 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal2_lbl (-21301 -1181) (2 2))
|
||||
)
|
||||
net(4 name('BULK,VSS')
|
||||
rect(diff_cont (7810 90) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (12980 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (7700 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (7700 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-2860 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 980) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(metal1 (-21410 -1330) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (2280 -1120) (360 1120))
|
||||
rect(metal1 (-16200 -80) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (12840 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (7560 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (7560 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
rect(metal2_lbl (-21301 -381) (2 2))
|
||||
)
|
||||
net(5
|
||||
rect(diff_cont (1730 90) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (1380 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3820) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-1820 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
)
|
||||
net(6
|
||||
rect(diff_cont (17570 90) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (1380 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3820) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-1820 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
)
|
||||
net(7
|
||||
rect(diff_cont (12290 90) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (1380 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3820) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-1820 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
)
|
||||
net(8
|
||||
rect(diff_cont (7010 90) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (1380 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -3820) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-1820 3380) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
)
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
pin(FB 1)
|
||||
pin(OSC 2)
|
||||
pin(VDD 3)
|
||||
pin('BULK,VSS' 4)
|
||||
|
||||
# Subcircuits and their connections
|
||||
circuit($1 INV2PAIR location(19420 -800)
|
||||
pin(BULK 4)
|
||||
pin($1 3)
|
||||
pin($2 4)
|
||||
pin($3 1)
|
||||
pin($4 6)
|
||||
pin($5 2)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($2 INV2PAIR location(-1700 -800)
|
||||
pin(BULK 4)
|
||||
pin($1 3)
|
||||
pin($2 4)
|
||||
pin($4 1)
|
||||
pin($5 5)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($3 INV2PAIR location(3580 -800)
|
||||
pin(BULK 4)
|
||||
pin($1 3)
|
||||
pin($2 4)
|
||||
pin($4 5)
|
||||
pin($5 8)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($4 INV2PAIR location(8860 -800)
|
||||
pin(BULK 4)
|
||||
pin($1 3)
|
||||
pin($2 4)
|
||||
pin($4 8)
|
||||
pin($5 7)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($5 INV2PAIR location(14140 -800)
|
||||
pin(BULK 4)
|
||||
pin($1 3)
|
||||
pin($2 4)
|
||||
pin($4 7)
|
||||
pin($5 6)
|
||||
pin($6 3)
|
||||
)
|
||||
|
||||
)
|
||||
)
|
||||
|
||||
# Reference netlist
|
||||
reference(
|
||||
|
||||
# Device class section
|
||||
class(PMOS MOS4)
|
||||
class(NMOS MOS4)
|
||||
|
||||
# Circuit section
|
||||
# Circuits are the hierarchical building blocks of the netlist.
|
||||
circuit(INV2
|
||||
|
||||
# Nets
|
||||
net(1 name('1'))
|
||||
net(2 name('2'))
|
||||
net(3 name('3'))
|
||||
net(4 name('4'))
|
||||
net(5 name('5'))
|
||||
net(6 name('6'))
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
pin($0 1)
|
||||
pin($1 2)
|
||||
pin($2 3)
|
||||
pin($3 4)
|
||||
pin($4 5)
|
||||
pin($5 6)
|
||||
|
||||
# Devices and their connections
|
||||
device($1 PMOS
|
||||
param(L 0.25)
|
||||
param(W 3.5)
|
||||
param(AS 1.4)
|
||||
param(AD 1.4)
|
||||
param(PS 6.85)
|
||||
param(PD 6.85)
|
||||
terminal(S 3)
|
||||
terminal(G 2)
|
||||
terminal(D 5)
|
||||
terminal(B 1)
|
||||
)
|
||||
device($3 NMOS
|
||||
param(L 0.25)
|
||||
param(W 3.5)
|
||||
param(AS 1.4)
|
||||
param(AD 1.4)
|
||||
param(PS 6.85)
|
||||
param(PD 6.85)
|
||||
terminal(S 3)
|
||||
terminal(G 2)
|
||||
terminal(D 4)
|
||||
terminal(B 6)
|
||||
)
|
||||
|
||||
)
|
||||
circuit(INV2PAIR
|
||||
|
||||
# Nets
|
||||
net(1 name('1'))
|
||||
net(2 name('2'))
|
||||
net(3 name('3'))
|
||||
net(4 name('4'))
|
||||
net(5 name('5'))
|
||||
net(6 name('6'))
|
||||
net(7 name('7'))
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
pin($0 1)
|
||||
pin($1 2)
|
||||
pin($2 3)
|
||||
pin($3 4)
|
||||
pin($4 5)
|
||||
pin($5 6)
|
||||
pin($6 7)
|
||||
|
||||
# Subcircuits and their connections
|
||||
circuit($1 INV2
|
||||
pin($0 7)
|
||||
pin($1 5)
|
||||
pin($2 4)
|
||||
pin($3 3)
|
||||
pin($4 2)
|
||||
pin($5 1)
|
||||
)
|
||||
circuit($2 INV2
|
||||
pin($0 7)
|
||||
pin($1 4)
|
||||
pin($2 6)
|
||||
pin($3 3)
|
||||
pin($4 2)
|
||||
pin($5 1)
|
||||
)
|
||||
|
||||
)
|
||||
circuit(RINGO
|
||||
|
||||
# Nets
|
||||
net(1 name('1'))
|
||||
net(2 name('2'))
|
||||
net(3 name('3'))
|
||||
net(4 name('4'))
|
||||
net(5 name('6'))
|
||||
net(6 name('5'))
|
||||
net(7 name('8'))
|
||||
net(8 name('7'))
|
||||
|
||||
# Outgoing pins and their connections to nets
|
||||
pin($0 1)
|
||||
pin($1 2)
|
||||
pin($2 3)
|
||||
pin($3 4)
|
||||
|
||||
# Subcircuits and their connections
|
||||
circuit($1 INV2PAIR
|
||||
pin($0 4)
|
||||
pin($1 3)
|
||||
pin($2 4)
|
||||
pin($3 1)
|
||||
pin($4 5)
|
||||
pin($5 2)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($2 INV2PAIR
|
||||
pin($0 4)
|
||||
pin($1 3)
|
||||
pin($2 4)
|
||||
pin($4 1)
|
||||
pin($5 6)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($3 INV2PAIR
|
||||
pin($0 4)
|
||||
pin($1 3)
|
||||
pin($2 4)
|
||||
pin($4 6)
|
||||
pin($5 7)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($4 INV2PAIR
|
||||
pin($0 4)
|
||||
pin($1 3)
|
||||
pin($2 4)
|
||||
pin($4 7)
|
||||
pin($5 8)
|
||||
pin($6 3)
|
||||
)
|
||||
circuit($5 INV2PAIR
|
||||
pin($0 4)
|
||||
pin($1 3)
|
||||
pin($2 4)
|
||||
pin($4 8)
|
||||
pin($5 5)
|
||||
pin($6 3)
|
||||
)
|
||||
|
||||
)
|
||||
)
|
||||
|
||||
# Cross reference
|
||||
xref(
|
||||
circuit(INV2 INV2 match
|
||||
xref(
|
||||
net(1 1 match)
|
||||
net(6 6 match)
|
||||
net(2 2 match)
|
||||
net(3 3 match)
|
||||
net(5 5 match)
|
||||
net(4 4 match)
|
||||
pin($0 $0 match)
|
||||
pin(BULK $5 match)
|
||||
pin(IN $1 match)
|
||||
pin(OUT $2 match)
|
||||
pin(VDD $4 match)
|
||||
pin(VSS $3 match)
|
||||
device($1 $1 match)
|
||||
device($3 $3 match)
|
||||
)
|
||||
)
|
||||
circuit(INV2PAIR INV2PAIR match
|
||||
xref(
|
||||
net(2 2 match)
|
||||
net(3 3 match)
|
||||
net(4 4 match)
|
||||
net(5 5 match)
|
||||
net(6 6 match)
|
||||
net(7 7 match)
|
||||
net(1 1 match)
|
||||
pin($1 $1 match)
|
||||
pin($2 $2 match)
|
||||
pin($3 $3 match)
|
||||
pin($4 $4 match)
|
||||
pin($5 $5 match)
|
||||
pin($6 $6 match)
|
||||
pin(BULK $0 match)
|
||||
circuit($1 $1 match)
|
||||
circuit($2 $2 match)
|
||||
)
|
||||
)
|
||||
circuit(RINGO RINGO match
|
||||
xref(
|
||||
net(5 6 match)
|
||||
net(6 5 match)
|
||||
net(7 8 match)
|
||||
net(8 7 match)
|
||||
net(4 4 match)
|
||||
net(1 1 match)
|
||||
net(2 2 match)
|
||||
net(3 3 match)
|
||||
pin('BULK,VSS' $3 match)
|
||||
pin(FB $0 match)
|
||||
pin(OSC $1 match)
|
||||
pin(VDD $2 match)
|
||||
circuit($1 $1 match)
|
||||
circuit($2 $2 match)
|
||||
circuit($3 $3 match)
|
||||
circuit($4 $4 match)
|
||||
circuit($5 $5 match)
|
||||
)
|
||||
)
|
||||
)
|
||||
Vendored
BIN
Binary file not shown.
Vendored
+58
@@ -0,0 +1,58 @@
|
||||
* Test netlist
|
||||
|
||||
* cell RINGO
|
||||
* pin FB
|
||||
* pin OSC
|
||||
* pin VDD
|
||||
* pin BULK,VSS
|
||||
.SUBCKT RINGO 1 2 3 4
|
||||
* net 1 FB
|
||||
* net 2 OSC
|
||||
* net 3 VDD
|
||||
* net 4 BULK,VSS
|
||||
* cell instance $1 r0 *1 19.42,-0.8
|
||||
X$1 4 3 4 1 6 2 3 INV2PAIR
|
||||
* cell instance $2 r0 *1 -1.7,-0.8
|
||||
X$2 4 3 4 100 1 5 3 INV2PAIR
|
||||
* cell instance $3 r0 *1 3.58,-0.8
|
||||
X$3 4 3 4 101 5 8 3 INV2PAIR
|
||||
* cell instance $4 r0 *1 8.86,-0.8
|
||||
X$4 4 3 4 102 8 7 3 INV2PAIR
|
||||
* cell instance $5 r0 *1 14.14,-0.8
|
||||
X$5 4 3 4 103 7 6 3 INV2PAIR
|
||||
.ENDS RINGO
|
||||
|
||||
* cell INV2PAIR
|
||||
* pin BULK
|
||||
* pin
|
||||
* pin
|
||||
* pin
|
||||
* pin
|
||||
* pin
|
||||
* pin
|
||||
.SUBCKT INV2PAIR 1 2 3 4 5 6 7
|
||||
* net 1 BULK
|
||||
* cell instance $1 r0 *1 1.7,0.8
|
||||
X$1 7 5 4 3 2 1 INV2
|
||||
* cell instance $2 r0 *1 4.34,0.8
|
||||
X$2 7 4 6 3 2 1 INV2
|
||||
.ENDS INV2PAIR
|
||||
|
||||
* cell INV2
|
||||
* pin
|
||||
* pin IN
|
||||
* pin OUT
|
||||
* pin VSS
|
||||
* pin VDD
|
||||
* pin BULK
|
||||
.SUBCKT INV2 1 2 3 4 5 6
|
||||
* net 2 IN
|
||||
* net 3 OUT
|
||||
* net 4 VSS
|
||||
* net 5 VDD
|
||||
* net 6 BULK
|
||||
* device instance $1 -0.4,3.2 PMOS
|
||||
M$1 3 2 5 1 PMOS L=0.25U W=3.5U AS=1.4P AD=1.4P PS=6.85U PD=6.85U
|
||||
* device instance $3 -0.4,-0.4 NMOS
|
||||
M$3 3 2 4 6 NMOS L=0.25U W=3.5U AS=1.4P AD=1.4P PS=6.85U PD=6.85U
|
||||
.ENDS INV2
|
||||
Vendored
+1
-1
@@ -1,7 +1,7 @@
|
||||
* VDIV netlist before simplification
|
||||
|
||||
* cell TOP
|
||||
.SUBCKT TOP
|
||||
.SUBCKT TOP 1 2 4 7
|
||||
* net 1 OUT
|
||||
* net 2 GND
|
||||
* net 4 IN
|
||||
|
||||
Vendored
+58
@@ -0,0 +1,58 @@
|
||||
* Test netlist
|
||||
|
||||
* cell RINGO
|
||||
* pin FB
|
||||
* pin OSC
|
||||
* pin VDD
|
||||
* pin BULK,VSS
|
||||
.SUBCKT RINGO 1 2 3 4
|
||||
* net 1 FB
|
||||
* net 2 OSC
|
||||
* net 3 VDD
|
||||
* net 4 BULK,VSS
|
||||
* cell instance $1 r0 *1 19.42,-0.8
|
||||
X$1 4 3 4 1 6 2 3 INV2PAIR
|
||||
* cell instance $2 r0 *1 -1.7,-0.8
|
||||
X$2 4 3 4 100 1 5 3 INV2PAIR
|
||||
* cell instance $3 r0 *1 3.58,-0.8
|
||||
X$3 4 3 4 101 5 8 3 INV2PAIR
|
||||
* cell instance $4 r0 *1 8.86,-0.8
|
||||
X$4 4 3 4 102 8 7 3 INV2PAIR
|
||||
* cell instance $5 r0 *1 14.14,-0.8
|
||||
X$5 4 3 4 103 7 6 3 INV2PAIR
|
||||
.ENDS RINGO
|
||||
|
||||
* cell INV2PAIR
|
||||
* pin BULK
|
||||
* pin
|
||||
* pin
|
||||
* pin
|
||||
* pin
|
||||
* pin
|
||||
* pin
|
||||
.SUBCKT INV2PAIR 1 2 3 4 5 6 7
|
||||
* net 1 BULK
|
||||
* cell instance $1 r0 *1 1.7,0.8
|
||||
X$1 7 5 4 3 2 1 INV2
|
||||
* cell instance $2 r0 *1 4.34,0.8
|
||||
X$2 7 4 6 3 2 1 INV2
|
||||
.ENDS INV2PAIR
|
||||
|
||||
* cell INV2
|
||||
* pin
|
||||
* pin IN
|
||||
* pin OUT
|
||||
* pin VSS
|
||||
* pin VDD
|
||||
* pin BULK
|
||||
.SUBCKT INV2 1 2 3 4 5 6
|
||||
* net 2 IN
|
||||
* net 3 OUT
|
||||
* net 4 VSS
|
||||
* net 5 VDD
|
||||
* net 6 BULK
|
||||
* device instance $1 -0.4,3.2 PMOS
|
||||
M$1 3 2 5 1 PMOS L=0.25U W=3.5U AS=1.4P AD=1.4P PS=6.85U PD=6.85U
|
||||
* device instance $3 -0.4,-0.4 NMOS
|
||||
M$3 3 2 4 6 NMOS L=0.25U W=3.5U AS=1.4P AD=1.4P PS=6.85U PD=6.85U
|
||||
.ENDS INV2
|
||||
Vendored
+34
@@ -0,0 +1,34 @@
|
||||
* written by unit test
|
||||
|
||||
* cell C2
|
||||
* pin p1
|
||||
* pin p2
|
||||
* pin p3
|
||||
.SUBCKT C2 1 2 4
|
||||
* net 1 nc_10
|
||||
* net 2 n2
|
||||
* net 3 n3
|
||||
* net 4 n4
|
||||
* net 5 n5
|
||||
* cell instance SC1 r0 *1 0,0
|
||||
XSC1 1 3 6 3 C1
|
||||
* cell instance SC2 r0 *1 0,0
|
||||
XSC2 3 7 4 3 C1
|
||||
.ENDS C2
|
||||
|
||||
* cell C1
|
||||
* pin p1
|
||||
* pin p2
|
||||
* pin p3
|
||||
* pin p4
|
||||
.SUBCKT C1 1 2 4 5
|
||||
* net 1 n1
|
||||
* net 2 n2
|
||||
* net 3 n3
|
||||
* net 4 n4
|
||||
* net 5 n5
|
||||
* device instance $1 0,0 M4CLS
|
||||
M$1 1 4 3 5 M4CLS L=0.25U W=0.18U AS=1.2P AD=0.75P PS=2.2U PD=1.75U
|
||||
* device instance $2 0,0 M4CLS
|
||||
M$2 3 4 2 5 M4CLS L=1.4U W=0.25U AS=1.3P AD=0.85P PS=2.3U PD=1.85U
|
||||
.ENDS C1
|
||||
Vendored
+24
@@ -0,0 +1,24 @@
|
||||
* written by unit test
|
||||
|
||||
* cell C2
|
||||
* pin p1
|
||||
* pin p2
|
||||
* pin p3
|
||||
.SUBCKT C2 nc_10 n2 n4
|
||||
* cell instance SC1 r0 *1 0,0
|
||||
XSC1 nc_10 n3 nc_11 n3 C1
|
||||
* cell instance SC2 r0 *1 0,0
|
||||
XSC2 n3 nc_12 n4 n3 C1
|
||||
.ENDS C2
|
||||
|
||||
* cell C1
|
||||
* pin p1
|
||||
* pin p2
|
||||
* pin p3
|
||||
* pin p4
|
||||
.SUBCKT C1 n1 n2 n4 n5
|
||||
* device instance $1 0,0 M4CLS
|
||||
M$1 n1 n4 n3 n5 M4CLS L=0.25U W=0.18U AS=1.2P AD=0.75P PS=2.2U PD=1.75U
|
||||
* device instance $2 0,0 M4CLS
|
||||
M$2 n3 n4 n2 n5 M4CLS L=1.4U W=0.25U AS=1.3P AD=0.85P PS=2.3U PD=1.85U
|
||||
.ENDS C1
|
||||
Reference in New Issue
Block a user