mirror of https://github.com/KLayout/klayout.git
Updated tests.
This commit is contained in:
parent
373a3db1ec
commit
e25d4784ea
|
|
@ -792,7 +792,7 @@ TEST(2_Probing)
|
|||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (5.3, 0.0))), "RINGO:VSS");
|
||||
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (2.6, 1.0))), "RINGO:$I18");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I3");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I5");
|
||||
|
||||
// doesn't do anything here, but we test that this does not destroy anything:
|
||||
l2n.netlist ()->combine_devices ();
|
||||
|
|
@ -835,7 +835,7 @@ TEST(2_Probing)
|
|||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (5.3, 0.0))), "(null)");
|
||||
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (2.6, 1.0))), "RINGO:$I18");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I3");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I5");
|
||||
}
|
||||
|
||||
TEST(3_GlobalNetConnections)
|
||||
|
|
@ -1073,7 +1073,7 @@ TEST(3_GlobalNetConnections)
|
|||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (5.3, 0.0))), "RINGO:VSS");
|
||||
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (2.6, 1.0))), "RINGO:$I22");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I4");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I6");
|
||||
|
||||
// doesn't do anything here, but we test that this does not destroy anything:
|
||||
l2n.netlist ()->combine_devices ();
|
||||
|
|
@ -1116,7 +1116,7 @@ TEST(3_GlobalNetConnections)
|
|||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (5.3, 0.0))), "(null)");
|
||||
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (2.6, 1.0))), "RINGO:$I22");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I4");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I6");
|
||||
}
|
||||
|
||||
TEST(4_GlobalNetDeviceExtraction)
|
||||
|
|
@ -1360,7 +1360,7 @@ TEST(4_GlobalNetDeviceExtraction)
|
|||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (5.3, 0.0))), "RINGO:VSS");
|
||||
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (2.6, 1.0))), "RINGO:$I22");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I4");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I6");
|
||||
|
||||
// doesn't do anything here, but we test that this does not destroy anything:
|
||||
l2n.netlist ()->combine_devices ();
|
||||
|
|
@ -1403,7 +1403,7 @@ TEST(4_GlobalNetDeviceExtraction)
|
|||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (5.3, 0.0))), "(null)");
|
||||
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (2.6, 1.0))), "RINGO:$I22");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I4");
|
||||
EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "INV2PAIR:$I6");
|
||||
}
|
||||
|
||||
TEST(5_DeviceExtractionWithDeviceCombination)
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -270,6 +270,12 @@ circuit(INV2PAIR
|
|||
rect(diff_cont (-220 180) (220 220))
|
||||
)
|
||||
net(4
|
||||
rect(diff_cont (2390 3690) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
net(5
|
||||
rect(diff_cont (4230 3290) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
|
|
@ -283,7 +289,7 @@ circuit(INV2PAIR
|
|||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
)
|
||||
net(5
|
||||
net(6
|
||||
rect(diff_cont (4230 490) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 -220) (220 220))
|
||||
|
|
@ -297,12 +303,6 @@ circuit(INV2PAIR
|
|||
rect(metal1 (-3000 -760) (360 760))
|
||||
rect(metal1 (-360 -760) (360 760))
|
||||
)
|
||||
net(6
|
||||
rect(diff_cont (2390 3690) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -2620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
net(7)
|
||||
net(8
|
||||
rect(diff_cont (5030 3690) (220 220))
|
||||
|
|
@ -315,8 +315,8 @@ circuit(INV2PAIR
|
|||
# Outgoing pins and their connections to nets
|
||||
pin(1 name(BULK))
|
||||
pin(2)
|
||||
pin(4)
|
||||
pin(5)
|
||||
pin(6)
|
||||
pin(7)
|
||||
pin(8)
|
||||
pin(9)
|
||||
|
|
@ -326,18 +326,18 @@ circuit(INV2PAIR
|
|||
pin(0 9)
|
||||
pin(1 7)
|
||||
pin(2 3)
|
||||
pin(3 6)
|
||||
pin(4 5)
|
||||
pin(5 4)
|
||||
pin(3 4)
|
||||
pin(4 6)
|
||||
pin(5 5)
|
||||
pin(6 1)
|
||||
)
|
||||
circuit(2 INV2 location(4340 800)
|
||||
pin(0 9)
|
||||
pin(1 6)
|
||||
pin(1 4)
|
||||
pin(2 2)
|
||||
pin(3 8)
|
||||
pin(4 5)
|
||||
pin(5 4)
|
||||
pin(4 6)
|
||||
pin(5 5)
|
||||
pin(6 1)
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -238,6 +238,12 @@ X(INV2PAIR
|
|||
R(diff_cont (-220 180) (220 220))
|
||||
)
|
||||
N(4
|
||||
R(diff_cont (2390 3690) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
N(5
|
||||
R(diff_cont (4230 3290) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
|
|
@ -251,7 +257,7 @@ X(INV2PAIR
|
|||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
)
|
||||
N(5
|
||||
N(6
|
||||
R(diff_cont (4230 490) (220 220))
|
||||
R(diff_cont (-220 180) (220 220))
|
||||
R(diff_cont (-220 -220) (220 220))
|
||||
|
|
@ -265,12 +271,6 @@ X(INV2PAIR
|
|||
R(metal1 (-3000 -760) (360 760))
|
||||
R(metal1 (-360 -760) (360 760))
|
||||
)
|
||||
N(6
|
||||
R(diff_cont (2390 3690) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
R(diff_cont (-220 -2620) (220 220))
|
||||
R(diff_cont (-220 -620) (220 220))
|
||||
)
|
||||
N(7)
|
||||
N(8
|
||||
R(diff_cont (5030 3690) (220 220))
|
||||
|
|
@ -281,8 +281,8 @@ X(INV2PAIR
|
|||
N(9)
|
||||
P(1 I(BULK))
|
||||
P(2)
|
||||
P(4)
|
||||
P(5)
|
||||
P(6)
|
||||
P(7)
|
||||
P(8)
|
||||
P(9)
|
||||
|
|
@ -290,18 +290,18 @@ X(INV2PAIR
|
|||
P(0 9)
|
||||
P(1 7)
|
||||
P(2 3)
|
||||
P(3 6)
|
||||
P(4 5)
|
||||
P(5 4)
|
||||
P(3 4)
|
||||
P(4 6)
|
||||
P(5 5)
|
||||
P(6 1)
|
||||
)
|
||||
X(2 INV2 Y(4340 800)
|
||||
P(0 9)
|
||||
P(1 6)
|
||||
P(1 4)
|
||||
P(2 2)
|
||||
P(3 8)
|
||||
P(4 5)
|
||||
P(5 4)
|
||||
P(4 6)
|
||||
P(5 5)
|
||||
P(6 1)
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -268,6 +268,24 @@ layout(
|
|||
# Nets with their geometries
|
||||
net(1 name(BULK))
|
||||
net(2
|
||||
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(3
|
||||
rect(diff_cont (4230 3290) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
|
|
@ -289,7 +307,7 @@ layout(
|
|||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
)
|
||||
net(3
|
||||
net(4
|
||||
rect(diff_cont (4230 890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
|
|
@ -311,24 +329,6 @@ layout(
|
|||
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))
|
||||
|
|
@ -363,17 +363,17 @@ layout(
|
|||
circuit(1 INV2 location(1700 800)
|
||||
pin(0 7)
|
||||
pin(1 5)
|
||||
pin(2 4)
|
||||
pin(3 3)
|
||||
pin(4 2)
|
||||
pin(2 2)
|
||||
pin(3 4)
|
||||
pin(4 3)
|
||||
pin(5 1)
|
||||
)
|
||||
circuit(2 INV2 location(4340 800)
|
||||
pin(0 7)
|
||||
pin(1 4)
|
||||
pin(1 2)
|
||||
pin(2 6)
|
||||
pin(3 3)
|
||||
pin(4 2)
|
||||
pin(3 4)
|
||||
pin(4 3)
|
||||
pin(5 1)
|
||||
)
|
||||
|
||||
|
|
@ -808,45 +808,45 @@ layout(
|
|||
# Subcircuits and their connections
|
||||
circuit(1 INV2PAIR location(19420 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 1)
|
||||
pin(1 1)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 10)
|
||||
pin(5 2)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(2 INV2PAIR location(-1700 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 8)
|
||||
pin(1 8)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 1)
|
||||
pin(5 9)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(3 INV2PAIR location(3580 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 7)
|
||||
pin(1 7)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 9)
|
||||
pin(5 12)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(4 INV2PAIR location(8860 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 6)
|
||||
pin(1 6)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 12)
|
||||
pin(5 11)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(5 INV2PAIR location(14140 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 5)
|
||||
pin(1 5)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 11)
|
||||
pin(5 10)
|
||||
pin(6 3)
|
||||
|
|
@ -1044,16 +1044,16 @@ xref(
|
|||
)
|
||||
circuit(INV2PAIR INV2PAIR match
|
||||
xref(
|
||||
net(2 2 match)
|
||||
net(3 3 match)
|
||||
net(4 4 match)
|
||||
net(3 2 match)
|
||||
net(4 3 match)
|
||||
net(2 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(2 1 match)
|
||||
pin(3 2 match)
|
||||
pin(1 3 match)
|
||||
pin(4 4 match)
|
||||
pin(5 5 match)
|
||||
pin(6 6 match)
|
||||
|
|
|
|||
|
|
@ -268,6 +268,24 @@ layout(
|
|||
# Nets with their geometries
|
||||
net(1 name(BULK))
|
||||
net(2
|
||||
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(3
|
||||
rect(diff_cont (4230 3290) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
|
|
@ -289,7 +307,7 @@ layout(
|
|||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
)
|
||||
net(3
|
||||
net(4
|
||||
rect(diff_cont (4230 890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
|
|
@ -311,24 +329,6 @@ layout(
|
|||
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))
|
||||
|
|
@ -363,17 +363,17 @@ layout(
|
|||
circuit(1 INV2 location(1700 800)
|
||||
pin(0 7)
|
||||
pin(1 5)
|
||||
pin(2 4)
|
||||
pin(3 3)
|
||||
pin(4 2)
|
||||
pin(2 2)
|
||||
pin(3 4)
|
||||
pin(4 3)
|
||||
pin(5 1)
|
||||
)
|
||||
circuit(2 INV2 location(4340 800)
|
||||
pin(0 7)
|
||||
pin(1 4)
|
||||
pin(1 2)
|
||||
pin(2 6)
|
||||
pin(3 3)
|
||||
pin(4 2)
|
||||
pin(3 4)
|
||||
pin(4 3)
|
||||
pin(5 1)
|
||||
)
|
||||
|
||||
|
|
@ -808,45 +808,45 @@ layout(
|
|||
# Subcircuits and their connections
|
||||
circuit(1 INV2PAIR location(19420 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 1)
|
||||
pin(1 1)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 10)
|
||||
pin(5 2)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(2 INV2PAIR location(-1700 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 8)
|
||||
pin(1 8)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 1)
|
||||
pin(5 9)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(3 INV2PAIR location(3580 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 7)
|
||||
pin(1 7)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 9)
|
||||
pin(5 12)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(4 INV2PAIR location(8860 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 6)
|
||||
pin(1 6)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 12)
|
||||
pin(5 11)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(5 INV2PAIR location(14140 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 5)
|
||||
pin(1 5)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 11)
|
||||
pin(5 10)
|
||||
pin(6 3)
|
||||
|
|
@ -1044,16 +1044,16 @@ xref(
|
|||
)
|
||||
circuit(INV2PAIR INV2PAIR match
|
||||
xref(
|
||||
net(2 2 match)
|
||||
net(3 3 match)
|
||||
net(4 4 match)
|
||||
net(3 2 match)
|
||||
net(4 3 match)
|
||||
net(2 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(2 1 match)
|
||||
pin(3 2 match)
|
||||
pin(1 3 match)
|
||||
pin(4 4 match)
|
||||
pin(5 5 match)
|
||||
pin(6 6 match)
|
||||
|
|
|
|||
|
|
@ -268,6 +268,24 @@ layout(
|
|||
# Nets with their geometries
|
||||
net(1 name(BULK))
|
||||
net(2
|
||||
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(3
|
||||
rect(diff_cont (4230 3290) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
|
|
@ -289,7 +307,7 @@ layout(
|
|||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
)
|
||||
net(3
|
||||
net(4
|
||||
rect(diff_cont (4230 890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
|
|
@ -311,24 +329,6 @@ layout(
|
|||
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))
|
||||
|
|
@ -363,17 +363,17 @@ layout(
|
|||
circuit(1 INV2 location(1700 800)
|
||||
pin(0 7)
|
||||
pin(1 5)
|
||||
pin(2 4)
|
||||
pin(3 3)
|
||||
pin(4 2)
|
||||
pin(2 2)
|
||||
pin(3 4)
|
||||
pin(4 3)
|
||||
pin(5 1)
|
||||
)
|
||||
circuit(2 INV2 location(4340 800)
|
||||
pin(0 7)
|
||||
pin(1 4)
|
||||
pin(1 2)
|
||||
pin(2 6)
|
||||
pin(3 3)
|
||||
pin(4 2)
|
||||
pin(3 4)
|
||||
pin(4 3)
|
||||
pin(5 1)
|
||||
)
|
||||
|
||||
|
|
@ -808,45 +808,45 @@ layout(
|
|||
# Subcircuits and their connections
|
||||
circuit(1 INV2PAIR location(19420 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 1)
|
||||
pin(1 1)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 10)
|
||||
pin(5 2)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(2 INV2PAIR location(-1700 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 8)
|
||||
pin(1 8)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 1)
|
||||
pin(5 9)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(3 INV2PAIR location(3580 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 7)
|
||||
pin(1 7)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 9)
|
||||
pin(5 12)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(4 INV2PAIR location(8860 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 6)
|
||||
pin(1 6)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 12)
|
||||
pin(5 11)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(5 INV2PAIR location(14140 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 5)
|
||||
pin(1 5)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 11)
|
||||
pin(5 10)
|
||||
pin(6 3)
|
||||
|
|
@ -1070,17 +1070,17 @@ xref(
|
|||
)
|
||||
circuit(INV2PAIR INV2PAIR nomatch
|
||||
xref(
|
||||
net(2 2 mismatch)
|
||||
net(3 3 mismatch)
|
||||
net(3 2 mismatch)
|
||||
net(4 3 mismatch)
|
||||
net(5 4 match)
|
||||
net(4 5 mismatch)
|
||||
net(2 5 mismatch)
|
||||
net(6 6 match)
|
||||
net(7 7 mismatch)
|
||||
net(1 1 mismatch)
|
||||
pin(1 1 match)
|
||||
pin(2 2 match)
|
||||
pin(2 1 match)
|
||||
pin(3 2 match)
|
||||
pin(4 3 match)
|
||||
pin(3 4 match)
|
||||
pin(1 4 match)
|
||||
pin(5 5 match)
|
||||
pin(6 6 match)
|
||||
pin(0 0 match)
|
||||
|
|
|
|||
|
|
@ -268,6 +268,24 @@ layout(
|
|||
# Nets with their geometries
|
||||
net(1 name(BULK))
|
||||
net(2
|
||||
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(3
|
||||
rect(diff_cont (4230 3290) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
rect(diff_cont (-220 180) (220 220))
|
||||
|
|
@ -289,7 +307,7 @@ layout(
|
|||
rect(metal1 (-3000 -1560) (360 1560))
|
||||
rect(metal1 (-360 -1560) (360 1560))
|
||||
)
|
||||
net(3
|
||||
net(4
|
||||
rect(diff_cont (4230 890) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
rect(diff_cont (-220 -620) (220 220))
|
||||
|
|
@ -311,24 +329,6 @@ layout(
|
|||
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))
|
||||
|
|
@ -363,17 +363,17 @@ layout(
|
|||
circuit(1 INV2 location(1700 800)
|
||||
pin(0 7)
|
||||
pin(1 5)
|
||||
pin(2 4)
|
||||
pin(3 3)
|
||||
pin(4 2)
|
||||
pin(2 2)
|
||||
pin(3 4)
|
||||
pin(4 3)
|
||||
pin(5 1)
|
||||
)
|
||||
circuit(2 INV2 location(4340 800)
|
||||
pin(0 7)
|
||||
pin(1 4)
|
||||
pin(1 2)
|
||||
pin(2 6)
|
||||
pin(3 3)
|
||||
pin(4 2)
|
||||
pin(3 4)
|
||||
pin(4 3)
|
||||
pin(5 1)
|
||||
)
|
||||
|
||||
|
|
@ -808,45 +808,45 @@ layout(
|
|||
# Subcircuits and their connections
|
||||
circuit(1 INV2PAIR location(19420 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 1)
|
||||
pin(1 1)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 10)
|
||||
pin(5 2)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(2 INV2PAIR location(-1700 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 8)
|
||||
pin(1 8)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 1)
|
||||
pin(5 9)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(3 INV2PAIR location(3580 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 7)
|
||||
pin(1 7)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 9)
|
||||
pin(5 12)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(4 INV2PAIR location(8860 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 6)
|
||||
pin(1 6)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 12)
|
||||
pin(5 11)
|
||||
pin(6 3)
|
||||
)
|
||||
circuit(5 INV2PAIR location(14140 -800)
|
||||
pin(0 4)
|
||||
pin(1 3)
|
||||
pin(2 4)
|
||||
pin(3 5)
|
||||
pin(1 5)
|
||||
pin(2 3)
|
||||
pin(3 4)
|
||||
pin(4 11)
|
||||
pin(5 10)
|
||||
pin(6 3)
|
||||
|
|
@ -1070,17 +1070,17 @@ xref(
|
|||
)
|
||||
circuit(INV2PAIR INV2PAIR nomatch
|
||||
xref(
|
||||
net(2 2 mismatch)
|
||||
net(3 3 mismatch)
|
||||
net(3 2 mismatch)
|
||||
net(4 3 mismatch)
|
||||
net(5 4 match)
|
||||
net(4 5 mismatch)
|
||||
net(2 5 mismatch)
|
||||
net(6 6 match)
|
||||
net(7 7 mismatch)
|
||||
net(1 1 mismatch)
|
||||
pin(1 1 match)
|
||||
pin(2 2 match)
|
||||
pin(2 1 match)
|
||||
pin(3 2 match)
|
||||
pin(4 3 match)
|
||||
pin(3 4 match)
|
||||
pin(1 4 match)
|
||||
pin(5 5 match)
|
||||
pin(6 6 match)
|
||||
pin(0 0 match)
|
||||
|
|
|
|||
|
|
@ -43,8 +43,8 @@ X$2 3 5 2 6 INVX1
|
|||
* net 2 VDD
|
||||
* net 3 IN
|
||||
* net 4 VSS
|
||||
* device instance $1 r0 *1 0.85,2.135 NMOS
|
||||
M$1 4 3 1 4 NMOS L=0.25U W=0.95U AS=0.40375P AD=0.40375P PS=2.75U PD=2.75U
|
||||
* device instance $2 r0 *1 0.85,5.8 PMOS
|
||||
M$2 2 3 1 2 PMOS L=0.25U W=1.5U AS=0.6375P AD=0.6375P PS=3.85U PD=3.85U
|
||||
* device instance $1 r0 *1 0.85,5.8 PMOS
|
||||
M$1 2 3 1 2 PMOS L=0.25U W=1.5U AS=0.6375P AD=0.6375P PS=3.85U PD=3.85U
|
||||
* device instance $2 r0 *1 0.85,2.135 NMOS
|
||||
M$2 4 3 1 4 NMOS L=0.25U W=0.95U AS=0.40375P AD=0.40375P PS=2.75U PD=2.75U
|
||||
.ENDS INVX1
|
||||
|
|
|
|||
|
|
@ -135,20 +135,7 @@ layout(
|
|||
pin(4 name(VSS))
|
||||
|
||||
# Devices and their connections
|
||||
device(1 D$NMOS
|
||||
location(850 2135)
|
||||
param(L 0.25)
|
||||
param(W 0.95)
|
||||
param(AS 0.40375)
|
||||
param(AD 0.40375)
|
||||
param(PS 2.75)
|
||||
param(PD 2.75)
|
||||
terminal(S 4)
|
||||
terminal(G 3)
|
||||
terminal(D 1)
|
||||
terminal(B 4)
|
||||
)
|
||||
device(2 D$PMOS
|
||||
device(1 D$PMOS
|
||||
location(850 5800)
|
||||
param(L 0.25)
|
||||
param(W 1.5)
|
||||
|
|
@ -161,6 +148,19 @@ layout(
|
|||
terminal(D 1)
|
||||
terminal(B 2)
|
||||
)
|
||||
device(2 D$NMOS
|
||||
location(850 2135)
|
||||
param(L 0.25)
|
||||
param(W 0.95)
|
||||
param(AS 0.40375)
|
||||
param(AD 0.40375)
|
||||
param(PS 2.75)
|
||||
param(PD 2.75)
|
||||
terminal(S 4)
|
||||
terminal(G 3)
|
||||
terminal(D 1)
|
||||
terminal(B 4)
|
||||
)
|
||||
|
||||
)
|
||||
circuit(DINV
|
||||
|
|
@ -430,8 +430,8 @@ xref(
|
|||
pin(0 1 match)
|
||||
pin(1 2 match)
|
||||
pin(3 3 match)
|
||||
device(1 1 match)
|
||||
device(2 2 match)
|
||||
device(2 1 match)
|
||||
device(1 2 match)
|
||||
)
|
||||
)
|
||||
circuit(TOP TOP match
|
||||
|
|
|
|||
|
|
@ -244,17 +244,17 @@ J(
|
|||
X(INV3
|
||||
R((0 0) (6300 4600))
|
||||
N(1)
|
||||
N(2)
|
||||
N(3)
|
||||
N(4)
|
||||
N(5)
|
||||
N(6)
|
||||
N(7
|
||||
N(2
|
||||
R(l6 (990 490) (220 220))
|
||||
R(l6 (-220 180) (220 220))
|
||||
R(l6 (-220 2180) (220 220))
|
||||
R(l6 (-220 180) (220 220))
|
||||
)
|
||||
N(3)
|
||||
N(4)
|
||||
N(5)
|
||||
N(6)
|
||||
N(7)
|
||||
N(8)
|
||||
N(9
|
||||
R(l6 (2590 490) (220 220))
|
||||
|
|
@ -302,35 +302,35 @@ J(
|
|||
P(10)
|
||||
P(11)
|
||||
P(12)
|
||||
X(1 INV Y(4800 800)
|
||||
X(1 INV Y(1500 800)
|
||||
P(0 12)
|
||||
P(1 11)
|
||||
P(2 3)
|
||||
P(3 10)
|
||||
P(4 8)
|
||||
P(5 6)
|
||||
P(2 5)
|
||||
P(3 2)
|
||||
P(4 9)
|
||||
P(5 9)
|
||||
P(6 1)
|
||||
P(7 1)
|
||||
)
|
||||
X(2 INV M O(180) Y(2300 800)
|
||||
P(0 12)
|
||||
P(1 11)
|
||||
P(2 1)
|
||||
P(3 9)
|
||||
P(4 2)
|
||||
P(5 2)
|
||||
P(6 5)
|
||||
P(7 5)
|
||||
)
|
||||
X(2 INV Y(1500 800)
|
||||
X(3 INV Y(4800 800)
|
||||
P(0 12)
|
||||
P(1 11)
|
||||
P(2 4)
|
||||
P(3 7)
|
||||
P(4 9)
|
||||
P(5 9)
|
||||
P(6 2)
|
||||
P(7 2)
|
||||
)
|
||||
X(3 INV M O(180) Y(2300 800)
|
||||
P(0 12)
|
||||
P(1 11)
|
||||
P(2 2)
|
||||
P(3 9)
|
||||
P(4 7)
|
||||
P(3 10)
|
||||
P(4 8)
|
||||
P(5 7)
|
||||
P(6 4)
|
||||
P(7 4)
|
||||
P(6 3)
|
||||
P(7 6)
|
||||
)
|
||||
)
|
||||
X(INVCHAIN
|
||||
|
|
@ -440,13 +440,13 @@ J(
|
|||
R(l8 (2940 -760) (360 760))
|
||||
)
|
||||
X(1 INV3 Y(-1500 -800)
|
||||
P(0 9)
|
||||
P(1 7)
|
||||
P(2 8)
|
||||
P(3 6)
|
||||
P(4 9)
|
||||
P(5 5)
|
||||
P(6 1)
|
||||
P(0 7)
|
||||
P(1 1)
|
||||
P(2 9)
|
||||
P(3 8)
|
||||
P(4 6)
|
||||
P(5 9)
|
||||
P(6 5)
|
||||
P(7 5)
|
||||
P(8 3)
|
||||
P(9 2)
|
||||
|
|
|
|||
|
|
@ -57,8 +57,8 @@ M$4 15 1 4 16 NMOS L=0.25U W=0.95U AS=0.21375P AD=0.40375P PS=1.4U PD=2.75U
|
|||
* net 3 VSS
|
||||
* net 5 IN
|
||||
* net 6 SUBSTRATE
|
||||
* device instance $1 r0 *1 0.85,2.135 NMOS
|
||||
M$1 3 5 2 6 NMOS L=0.25U W=0.95U AS=0.40375P AD=0.40375P PS=2.75U PD=2.75U
|
||||
* device instance $2 r0 *1 0.85,5.8 PMOS
|
||||
M$2 1 5 2 4 PMOS L=0.25U W=1.5U AS=0.6375P AD=0.6375P PS=3.85U PD=3.85U
|
||||
* device instance $1 r0 *1 0.85,5.8 PMOS
|
||||
M$1 1 5 2 4 PMOS L=0.25U W=1.5U AS=0.6375P AD=0.6375P PS=3.85U PD=3.85U
|
||||
* device instance $2 r0 *1 0.85,2.135 NMOS
|
||||
M$2 3 5 2 6 NMOS L=0.25U W=0.95U AS=0.40375P AD=0.40375P PS=2.75U PD=2.75U
|
||||
.ENDS INVX1
|
||||
|
|
|
|||
|
|
@ -190,20 +190,7 @@ layout(
|
|||
pin(6 name(SUBSTRATE))
|
||||
|
||||
# Devices and their connections
|
||||
device(1 D$NMOS$2
|
||||
location(850 2135)
|
||||
param(L 0.25)
|
||||
param(W 0.95)
|
||||
param(AS 0.40375)
|
||||
param(AD 0.40375)
|
||||
param(PS 2.75)
|
||||
param(PD 2.75)
|
||||
terminal(S 3)
|
||||
terminal(G 5)
|
||||
terminal(D 2)
|
||||
terminal(B 6)
|
||||
)
|
||||
device(2 D$PMOS$2
|
||||
device(1 D$PMOS$2
|
||||
location(850 5800)
|
||||
param(L 0.25)
|
||||
param(W 1.5)
|
||||
|
|
@ -216,6 +203,19 @@ layout(
|
|||
terminal(D 2)
|
||||
terminal(B 4)
|
||||
)
|
||||
device(2 D$NMOS$2
|
||||
location(850 2135)
|
||||
param(L 0.25)
|
||||
param(W 0.95)
|
||||
param(AS 0.40375)
|
||||
param(AD 0.40375)
|
||||
param(PS 2.75)
|
||||
param(PD 2.75)
|
||||
terminal(S 3)
|
||||
terminal(G 5)
|
||||
terminal(D 2)
|
||||
terminal(B 6)
|
||||
)
|
||||
|
||||
)
|
||||
circuit(RINGO
|
||||
|
|
@ -825,8 +825,8 @@ xref(
|
|||
pin(5 5 match)
|
||||
pin(0 0 match)
|
||||
pin(2 2 match)
|
||||
device(1 2 match)
|
||||
device(2 1 match)
|
||||
device(2 2 match)
|
||||
device(1 1 match)
|
||||
)
|
||||
)
|
||||
circuit(RINGO RINGO match
|
||||
|
|
|
|||
|
|
@ -26,16 +26,16 @@ X$5 6 4 9 6 3 9 INVX1
|
|||
X$6 6 5 9 6 4 9 INVX1
|
||||
* cell instance $7 r0 *1 22.2,0
|
||||
X$7 5 6 7 9 6 9 INVX2
|
||||
* cell instance $17 r0 *1 7.8,0
|
||||
X$17 6 12 9 6 10 9 INVX1
|
||||
* cell instance $18 r0 *1 9.6,0
|
||||
X$18 6 13 9 6 12 9 INVX1
|
||||
* cell instance $19 r0 *1 11.4,0
|
||||
X$19 6 14 9 6 13 9 INVX1
|
||||
* cell instance $20 r0 *1 13.2,0
|
||||
X$20 6 15 9 6 14 9 INVX1
|
||||
* cell instance $21 r0 *1 15,0
|
||||
X$21 6 11 9 6 15 9 INVX1
|
||||
* cell instance $13 r0 *1 7.8,0
|
||||
X$13 6 12 9 6 10 9 INVX1
|
||||
* cell instance $14 r0 *1 9.6,0
|
||||
X$14 6 13 9 6 12 9 INVX1
|
||||
* cell instance $15 r0 *1 11.4,0
|
||||
X$15 6 14 9 6 13 9 INVX1
|
||||
* cell instance $16 r0 *1 13.2,0
|
||||
X$16 6 15 9 6 14 9 INVX1
|
||||
* cell instance $17 r0 *1 15,0
|
||||
X$17 6 11 9 6 15 9 INVX1
|
||||
.ENDS RINGO
|
||||
|
||||
* cell INVX2
|
||||
|
|
|
|||
|
|
@ -711,7 +711,7 @@ layout(
|
|||
pin(4 6)
|
||||
pin(5 9)
|
||||
)
|
||||
circuit(17 INVX1 location(7800 0)
|
||||
circuit(13 INVX1 location(7800 0)
|
||||
pin(0 6)
|
||||
pin(1 12)
|
||||
pin(2 9)
|
||||
|
|
@ -719,7 +719,7 @@ layout(
|
|||
pin(4 10)
|
||||
pin(5 9)
|
||||
)
|
||||
circuit(18 INVX1 location(9600 0)
|
||||
circuit(14 INVX1 location(9600 0)
|
||||
pin(0 6)
|
||||
pin(1 13)
|
||||
pin(2 9)
|
||||
|
|
@ -727,7 +727,7 @@ layout(
|
|||
pin(4 12)
|
||||
pin(5 9)
|
||||
)
|
||||
circuit(19 INVX1 location(11400 0)
|
||||
circuit(15 INVX1 location(11400 0)
|
||||
pin(0 6)
|
||||
pin(1 14)
|
||||
pin(2 9)
|
||||
|
|
@ -735,7 +735,7 @@ layout(
|
|||
pin(4 13)
|
||||
pin(5 9)
|
||||
)
|
||||
circuit(20 INVX1 location(13200 0)
|
||||
circuit(16 INVX1 location(13200 0)
|
||||
pin(0 6)
|
||||
pin(1 15)
|
||||
pin(2 9)
|
||||
|
|
@ -743,7 +743,7 @@ layout(
|
|||
pin(4 14)
|
||||
pin(5 9)
|
||||
)
|
||||
circuit(21 INVX1 location(15000 0)
|
||||
circuit(17 INVX1 location(15000 0)
|
||||
pin(0 6)
|
||||
pin(1 11)
|
||||
pin(2 9)
|
||||
|
|
@ -1147,11 +1147,11 @@ xref(
|
|||
pin(4 0 match)
|
||||
circuit(2 2 match)
|
||||
circuit(3 3 match)
|
||||
circuit(17 4 match)
|
||||
circuit(18 5 match)
|
||||
circuit(19 6 match)
|
||||
circuit(20 7 match)
|
||||
circuit(21 8 match)
|
||||
circuit(13 4 match)
|
||||
circuit(14 5 match)
|
||||
circuit(15 6 match)
|
||||
circuit(16 7 match)
|
||||
circuit(17 8 match)
|
||||
circuit(4 9 match)
|
||||
circuit(5 10 match)
|
||||
circuit(6 11 match)
|
||||
|
|
|
|||
|
|
@ -191,8 +191,8 @@ circuit INV2 (IN=IN,$2=$2,OUT=OUT,$4=$4,$5=$5);
|
|||
end;
|
||||
circuit RINGO ();
|
||||
subcircuit INV2 $1 (IN=$I8,$2=FB,OUT=OSC,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $2 (IN=FB,$2=$I38,OUT=$I19,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $3 (IN=$I19,$2=$I39,OUT=$I1,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $2 (IN=FB,$2=$I38,OUT=$I37,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $3 (IN=$I37,$2=$I39,OUT=$I1,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $4 (IN=$I1,$2=$I40,OUT=$I2,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $5 (IN=$I2,$2=$I41,OUT=$I3,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $6 (IN=$I3,$2=$I42,OUT=$I4,$4=VSS,$5=VDD);
|
||||
|
|
@ -272,8 +272,8 @@ end;
|
|||
|
||||
self.assertEqual(str(l2n.netlist()), """circuit RINGO ();
|
||||
subcircuit INV2 $1 (IN=$I8,$2=FB,OUT=OSC,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $2 (IN=FB,$2=$I38,OUT=$I19,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $3 (IN=$I19,$2=$I39,OUT=$I1,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $2 (IN=FB,$2=$I38,OUT=$I37,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $3 (IN=$I37,$2=$I39,OUT=$I1,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $4 (IN=$I1,$2=$I40,OUT=$I2,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $5 (IN=$I2,$2=$I41,OUT=$I3,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $6 (IN=$I3,$2=$I42,OUT=$I4,$4=VSS,$5=VDD);
|
||||
|
|
@ -387,14 +387,14 @@ end;
|
|||
|
||||
self.assertEqual(str(l2n.netlist()), """circuit RINGO ();
|
||||
subcircuit INV2PAIR $1 (BULK=VSS,$2=FB,$3=VDD,$4=VSS,$5=$I7,$6=OSC,$7=VDD);
|
||||
subcircuit INV2PAIR $2 (BULK=VSS,$2=$I22,$3=VDD,$4=VSS,$5=FB,$6=$I13,$7=VDD);
|
||||
subcircuit INV2PAIR $3 (BULK=VSS,$2=$I23,$3=VDD,$4=VSS,$5=$I13,$6=$I5,$7=VDD);
|
||||
subcircuit INV2PAIR $2 (BULK=VSS,$2=$I22,$3=VDD,$4=VSS,$5=FB,$6=$I21,$7=VDD);
|
||||
subcircuit INV2PAIR $3 (BULK=VSS,$2=$I23,$3=VDD,$4=VSS,$5=$I21,$6=$I5,$7=VDD);
|
||||
subcircuit INV2PAIR $4 (BULK=VSS,$2=$I24,$3=VDD,$4=VSS,$5=$I5,$6=$I6,$7=VDD);
|
||||
subcircuit INV2PAIR $5 (BULK=VSS,$2=$I25,$3=VDD,$4=VSS,$5=$I6,$6=$I7,$7=VDD);
|
||||
end;
|
||||
circuit INV2PAIR (BULK=BULK,$2=$I8,$3=$I6,$4=$I5,$5=$I3,$6=$I2,$7=$I1);
|
||||
subcircuit INV2 $1 ($1=$I1,IN=$I3,$3=$I7,OUT=$I4,VSS=$I5,VDD=$I6,BULK=BULK);
|
||||
subcircuit INV2 $2 ($1=$I1,IN=$I4,$3=$I8,OUT=$I2,VSS=$I5,VDD=$I6,BULK=BULK);
|
||||
circuit INV2PAIR (BULK=BULK,$2=$I8,$3=$I5,$4=$I4,$5=$I3,$6=$I2,$7=$I1);
|
||||
subcircuit INV2 $1 ($1=$I1,IN=$I3,$3=$I7,OUT=$I6,VSS=$I4,VDD=$I5,BULK=BULK);
|
||||
subcircuit INV2 $2 ($1=$I1,IN=$I6,$3=$I8,OUT=$I2,VSS=$I4,VDD=$I5,BULK=BULK);
|
||||
end;
|
||||
circuit INV2 ($1=$1,IN=IN,$3=$3,OUT=OUT,VSS=VSS,VDD=VDD,BULK=BULK);
|
||||
device PMOS $1 (S=$3,G=IN,D=VDD,B=$1) (L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5);
|
||||
|
|
@ -416,14 +416,14 @@ end;
|
|||
|
||||
self.assertEqual(str(l2n.netlist()), """circuit RINGO (FB=FB,OSC=OSC,VDD=VDD,VSS=VSS);
|
||||
subcircuit INV2PAIR $1 (BULK=VSS,$2=FB,$3=VDD,$4=VSS,$5=$I7,$6=OSC,$7=VDD);
|
||||
subcircuit INV2PAIR $2 (BULK=VSS,$2=$I22,$3=VDD,$4=VSS,$5=FB,$6=$I13,$7=VDD);
|
||||
subcircuit INV2PAIR $3 (BULK=VSS,$2=$I23,$3=VDD,$4=VSS,$5=$I13,$6=$I5,$7=VDD);
|
||||
subcircuit INV2PAIR $2 (BULK=VSS,$2=$I22,$3=VDD,$4=VSS,$5=FB,$6=$I21,$7=VDD);
|
||||
subcircuit INV2PAIR $3 (BULK=VSS,$2=$I23,$3=VDD,$4=VSS,$5=$I21,$6=$I5,$7=VDD);
|
||||
subcircuit INV2PAIR $4 (BULK=VSS,$2=$I24,$3=VDD,$4=VSS,$5=$I5,$6=$I6,$7=VDD);
|
||||
subcircuit INV2PAIR $5 (BULK=VSS,$2=$I25,$3=VDD,$4=VSS,$5=$I6,$6=$I7,$7=VDD);
|
||||
end;
|
||||
circuit INV2PAIR (BULK=BULK,$2=$I8,$3=$I6,$4=$I5,$5=$I3,$6=$I2,$7=$I1);
|
||||
subcircuit INV2 $1 ($1=$I1,IN=$I3,$3=$I7,OUT=$I4,VSS=$I5,VDD=$I6,BULK=BULK);
|
||||
subcircuit INV2 $2 ($1=$I1,IN=$I4,$3=$I8,OUT=$I2,VSS=$I5,VDD=$I6,BULK=BULK);
|
||||
circuit INV2PAIR (BULK=BULK,$2=$I8,$3=$I5,$4=$I4,$5=$I3,$6=$I2,$7=$I1);
|
||||
subcircuit INV2 $1 ($1=$I1,IN=$I3,$3=$I7,OUT=$I6,VSS=$I4,VDD=$I5,BULK=BULK);
|
||||
subcircuit INV2 $2 ($1=$I1,IN=$I6,$3=$I8,OUT=$I2,VSS=$I4,VDD=$I5,BULK=BULK);
|
||||
end;
|
||||
circuit INV2 ($1=$1,IN=IN,$3=$3,OUT=OUT,VSS=VSS,VDD=VDD,BULK=BULK);
|
||||
device PMOS $1 (S=$3,G=IN,D=VDD,B=$1) (L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5);
|
||||
|
|
|
|||
|
|
@ -227,8 +227,8 @@ circuit INV2 (IN=IN,$2=$2,OUT=OUT,$4=$4,$5=$5);
|
|||
end;
|
||||
circuit RINGO ();
|
||||
subcircuit INV2 $1 (IN=$I8,$2=FB,OUT=OSC,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $2 (IN=FB,$2=$I38,OUT=$I19,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $3 (IN=$I19,$2=$I39,OUT=$I1,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $2 (IN=FB,$2=$I38,OUT=$I37,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $3 (IN=$I37,$2=$I39,OUT=$I1,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $4 (IN=$I1,$2=$I40,OUT=$I2,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $5 (IN=$I2,$2=$I41,OUT=$I3,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $6 (IN=$I3,$2=$I42,OUT=$I4,$4=VSS,$5=VDD);
|
||||
|
|
@ -309,8 +309,8 @@ END
|
|||
assert_equal(l2n.netlist.to_s, <<END)
|
||||
circuit RINGO ();
|
||||
subcircuit INV2 $1 (IN=$I8,$2=FB,OUT=OSC,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $2 (IN=FB,$2=$I38,OUT=$I19,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $3 (IN=$I19,$2=$I39,OUT=$I1,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $2 (IN=FB,$2=$I38,OUT=$I37,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $3 (IN=$I37,$2=$I39,OUT=$I1,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $4 (IN=$I1,$2=$I40,OUT=$I2,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $5 (IN=$I2,$2=$I41,OUT=$I3,$4=VSS,$5=VDD);
|
||||
subcircuit INV2 $6 (IN=$I3,$2=$I42,OUT=$I4,$4=VSS,$5=VDD);
|
||||
|
|
@ -425,14 +425,14 @@ END
|
|||
assert_equal(l2n.netlist.to_s, <<END)
|
||||
circuit RINGO ();
|
||||
subcircuit INV2PAIR $1 (BULK=VSS,$2=FB,$3=VDD,$4=VSS,$5=$I7,$6=OSC,$7=VDD);
|
||||
subcircuit INV2PAIR $2 (BULK=VSS,$2=$I22,$3=VDD,$4=VSS,$5=FB,$6=$I13,$7=VDD);
|
||||
subcircuit INV2PAIR $3 (BULK=VSS,$2=$I23,$3=VDD,$4=VSS,$5=$I13,$6=$I5,$7=VDD);
|
||||
subcircuit INV2PAIR $2 (BULK=VSS,$2=$I22,$3=VDD,$4=VSS,$5=FB,$6=$I21,$7=VDD);
|
||||
subcircuit INV2PAIR $3 (BULK=VSS,$2=$I23,$3=VDD,$4=VSS,$5=$I21,$6=$I5,$7=VDD);
|
||||
subcircuit INV2PAIR $4 (BULK=VSS,$2=$I24,$3=VDD,$4=VSS,$5=$I5,$6=$I6,$7=VDD);
|
||||
subcircuit INV2PAIR $5 (BULK=VSS,$2=$I25,$3=VDD,$4=VSS,$5=$I6,$6=$I7,$7=VDD);
|
||||
end;
|
||||
circuit INV2PAIR (BULK=BULK,$2=$I8,$3=$I6,$4=$I5,$5=$I3,$6=$I2,$7=$I1);
|
||||
subcircuit INV2 $1 ($1=$I1,IN=$I3,$3=$I7,OUT=$I4,VSS=$I5,VDD=$I6,BULK=BULK);
|
||||
subcircuit INV2 $2 ($1=$I1,IN=$I4,$3=$I8,OUT=$I2,VSS=$I5,VDD=$I6,BULK=BULK);
|
||||
circuit INV2PAIR (BULK=BULK,$2=$I8,$3=$I5,$4=$I4,$5=$I3,$6=$I2,$7=$I1);
|
||||
subcircuit INV2 $1 ($1=$I1,IN=$I3,$3=$I7,OUT=$I6,VSS=$I4,VDD=$I5,BULK=BULK);
|
||||
subcircuit INV2 $2 ($1=$I1,IN=$I6,$3=$I8,OUT=$I2,VSS=$I4,VDD=$I5,BULK=BULK);
|
||||
end;
|
||||
circuit INV2 ($1=$1,IN=IN,$3=$3,OUT=OUT,VSS=VSS,VDD=VDD,BULK=BULK);
|
||||
device PMOS $1 (S=$3,G=IN,D=VDD,B=$1) (L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5);
|
||||
|
|
@ -455,14 +455,14 @@ END
|
|||
assert_equal(l2n.netlist.to_s, <<END)
|
||||
circuit RINGO (FB=FB,OSC=OSC,VDD=VDD,VSS=VSS);
|
||||
subcircuit INV2PAIR $1 (BULK=VSS,$2=FB,$3=VDD,$4=VSS,$5=$I7,$6=OSC,$7=VDD);
|
||||
subcircuit INV2PAIR $2 (BULK=VSS,$2=$I22,$3=VDD,$4=VSS,$5=FB,$6=$I13,$7=VDD);
|
||||
subcircuit INV2PAIR $3 (BULK=VSS,$2=$I23,$3=VDD,$4=VSS,$5=$I13,$6=$I5,$7=VDD);
|
||||
subcircuit INV2PAIR $2 (BULK=VSS,$2=$I22,$3=VDD,$4=VSS,$5=FB,$6=$I21,$7=VDD);
|
||||
subcircuit INV2PAIR $3 (BULK=VSS,$2=$I23,$3=VDD,$4=VSS,$5=$I21,$6=$I5,$7=VDD);
|
||||
subcircuit INV2PAIR $4 (BULK=VSS,$2=$I24,$3=VDD,$4=VSS,$5=$I5,$6=$I6,$7=VDD);
|
||||
subcircuit INV2PAIR $5 (BULK=VSS,$2=$I25,$3=VDD,$4=VSS,$5=$I6,$6=$I7,$7=VDD);
|
||||
end;
|
||||
circuit INV2PAIR (BULK=BULK,$2=$I8,$3=$I6,$4=$I5,$5=$I3,$6=$I2,$7=$I1);
|
||||
subcircuit INV2 $1 ($1=$I1,IN=$I3,$3=$I7,OUT=$I4,VSS=$I5,VDD=$I6,BULK=BULK);
|
||||
subcircuit INV2 $2 ($1=$I1,IN=$I4,$3=$I8,OUT=$I2,VSS=$I5,VDD=$I6,BULK=BULK);
|
||||
circuit INV2PAIR (BULK=BULK,$2=$I8,$3=$I5,$4=$I4,$5=$I3,$6=$I2,$7=$I1);
|
||||
subcircuit INV2 $1 ($1=$I1,IN=$I3,$3=$I7,OUT=$I6,VSS=$I4,VDD=$I5,BULK=BULK);
|
||||
subcircuit INV2 $2 ($1=$I1,IN=$I6,$3=$I8,OUT=$I2,VSS=$I4,VDD=$I5,BULK=BULK);
|
||||
end;
|
||||
circuit INV2 ($1=$1,IN=IN,$3=$3,OUT=OUT,VSS=VSS,VDD=VDD,BULK=BULK);
|
||||
device PMOS $1 (S=$3,G=IN,D=VDD,B=$1) (L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5);
|
||||
|
|
|
|||
Loading…
Reference in New Issue