From 4a06bc1bb5df184af68889dd602c9d00bf560d55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20K=C3=B6fferlein?= Date: Wed, 16 Mar 2022 23:33:08 +0100 Subject: [PATCH] Another change related to issue-1011 (aligning flat and deep mode text representation for LVS) (#1037) --- src/db/db/dbLayoutToNetlist.cc | 2 +- testdata/algo/l2n_writer_au_2b.txt | 24 +-- testdata/algo/l2n_writer_au_2s.txt | 24 +-- testdata/algo/lvs_test1_au.lvsdb.1 | 24 +-- testdata/algo/lvs_test1_au.lvsdb.2 | 24 +-- testdata/algo/lvs_test1b_au.lvsdb.1 | 24 +-- testdata/algo/lvs_test1b_au.lvsdb.2 | 24 +-- testdata/algo/lvs_test2_au.lvsdb.1 | 24 +-- testdata/algo/lvs_test2_au.lvsdb.2 | 24 +-- testdata/algo/lvs_test2b_au.lvsdb.1 | 24 +-- testdata/algo/lvs_test2b_au.lvsdb.2 | 24 +-- testdata/algo/lvsdb_read_test.lvsdb | 24 +-- testdata/algo/lvsdb_read_test2.lvsdb | 24 +-- testdata/lvs/test_22a.cir | 32 ++-- testdata/lvs/test_22a.lvsdb | 206 +++++++++++----------- testdata/lvs/test_22b.cir | 32 ++-- testdata/lvs/test_22b.lvsdb | 206 +++++++++++----------- testdata/net_tracer/t1_all_nets.oas.gz | Bin 585 -> 340 bytes testdata/net_tracer/t4_all_nets.oas.gz | Bin 591 -> 341 bytes testdata/net_tracer/t4b_all_nets.oas.gz | Bin 560 -> 315 bytes testdata/net_tracer/t5_all_nets.oas.gz | Bin 571 -> 320 bytes testdata/net_tracer/t5b_all_nets.oas.gz | Bin 610 -> 355 bytes testdata/net_tracer/t5c_all_nets.oas.gz | Bin 610 -> 354 bytes testdata/net_tracer/t5d_all_nets.oas.gz.1 | Bin 661 -> 1370 bytes testdata/net_tracer/t5d_all_nets.oas.gz.2 | Bin 658 -> 1370 bytes testdata/net_tracer/t6_all_nets.oas.gz.1 | Bin 889 -> 4518 bytes testdata/net_tracer/t6_all_nets.oas.gz.2 | Bin 881 -> 4518 bytes testdata/net_tracer/t6_all_nets.oas.gz.3 | Bin 882 -> 4518 bytes testdata/net_tracer/t6_all_nets.oas.gz.4 | Bin 881 -> 4518 bytes testdata/net_tracer/t6_all_nets.oas.gz.5 | Bin 881 -> 4518 bytes 30 files changed, 383 insertions(+), 383 deletions(-) diff --git a/src/db/db/dbLayoutToNetlist.cc b/src/db/db/dbLayoutToNetlist.cc index d59e947d2..6b9bf63cc 100644 --- a/src/db/db/dbLayoutToNetlist.cc +++ b/src/db/db/dbLayoutToNetlist.cc @@ -105,7 +105,7 @@ void LayoutToNetlist::keep_dss () void LayoutToNetlist::init () { - dss ().set_text_enlargement (1); + dss ().set_text_enlargement (0); dss ().set_text_property_name (tl::Variant ("LABEL")); } diff --git a/testdata/algo/l2n_writer_au_2b.txt b/testdata/algo/l2n_writer_au_2b.txt index ac5c60d66..d0986d5a1 100644 --- a/testdata/algo/l2n_writer_au_2b.txt +++ b/testdata/algo/l2n_writer_au_2b.txt @@ -123,8 +123,8 @@ circuit(INV2 rect(poly (-1425 -630) (1300 360)) rect(poly (-125 -2780) (250 1600)) rect(poly (-250 1200) (250 1600)) - rect(poly_lbl (-526 -1801) (2 2)) - rect(poly_cont (-831 -111) (220 220)) + rect(poly_lbl (-525 -1800) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 rect(poly (275 -250) (250 2500)) @@ -151,8 +151,8 @@ circuit(INV2 polygon(metal1 (-110 110) (0 360) (140 0) (0 1240) (-320 0) (0 800) (360 0) (0 -440) (320 0) (0 -1960)) rect(metal1 (-680 2400) (360 760)) rect(metal1 (-360 -3560) (360 760)) - rect(metal1_lbl (-181 1419) (2 2)) - rect(psd (-276 524) (525 950)) + rect(metal1_lbl (-180 1420) (0 0)) + rect(psd (-275 525) (525 950)) rect(nsd (-525 -3750) (525 950)) ) net(5 name(VSS) @@ -165,8 +165,8 @@ circuit(INV2 rect(via1 (-305 -705) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 900)) - rect(metal2_lbl (-161 -541) (2 2)) - rect(nsd (-1516 -386) (550 950)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -385) (550 950)) ) net(6 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -178,8 +178,8 @@ circuit(INV2 rect(via1 (-305 -705) (250 250)) rect(via1 (-250 150) (250 250)) rect(metal2 (-1525 -775) (2800 900)) - rect(metal2_lbl (-151 -451) (2 2)) - rect(psd (-1526 -476) (550 950)) + rect(metal2_lbl (-150 -450) (0 0)) + rect(psd (-1525 -475) (550 950)) ) net(7 name(BULK) rect(diff_cont (-110 -1360) (220 220)) @@ -307,12 +307,12 @@ circuit(RINGO rect(via1 (-305 -305) (250 250)) rect(via1 (24230 -250) (250 250)) rect(metal2 (-24805 -325) (24880 400)) - rect(metal2_lbl (-23161 -201) (2 2)) + rect(metal2_lbl (-23160 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3100) (360 1120)) @@ -325,7 +325,7 @@ circuit(RINGO rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -1421) (2 2)) + rect(metal2_lbl (-23940 -1420) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -1420) (360 1120)) @@ -338,7 +338,7 @@ circuit(RINGO rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 299) (2 2)) + rect(metal2_lbl (-23940 300) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/l2n_writer_au_2s.txt b/testdata/algo/l2n_writer_au_2s.txt index fd1c17892..e221c3892 100644 --- a/testdata/algo/l2n_writer_au_2s.txt +++ b/testdata/algo/l2n_writer_au_2s.txt @@ -102,8 +102,8 @@ X(INV2 R(poly (-1425 -630) (1300 360)) R(poly (-125 -2780) (250 1600)) R(poly (-250 1200) (250 1600)) - R(poly_lbl (-526 -1801) (2 2)) - R(poly_cont (-831 -111) (220 220)) + R(poly_lbl (-525 -1800) (0 0)) + R(poly_cont (-830 -110) (220 220)) ) N(3 R(poly (275 -250) (250 2500)) @@ -130,8 +130,8 @@ X(INV2 Q(metal1 (-110 110) (0 360) (140 0) (0 1240) (-320 0) (0 800) (360 0) (0 -440) (320 0) (0 -1960)) R(metal1 (-680 2400) (360 760)) R(metal1 (-360 -3560) (360 760)) - R(metal1_lbl (-181 1419) (2 2)) - R(psd (-276 524) (525 950)) + R(metal1_lbl (-180 1420) (0 0)) + R(psd (-275 525) (525 950)) R(nsd (-525 -3750) (525 950)) ) N(5 I(VSS) @@ -144,8 +144,8 @@ X(INV2 R(via1 (-305 -705) (250 250)) R(via1 (-250 150) (250 250)) R(metal2 (-1525 -775) (2800 900)) - R(metal2_lbl (-161 -541) (2 2)) - R(nsd (-1516 -386) (550 950)) + R(metal2_lbl (-160 -540) (0 0)) + R(nsd (-1515 -385) (550 950)) ) N(6 I(VDD) R(diff_cont (-110 2490) (220 220)) @@ -157,8 +157,8 @@ X(INV2 R(via1 (-305 -705) (250 250)) R(via1 (-250 150) (250 250)) R(metal2 (-1525 -775) (2800 900)) - R(metal2_lbl (-151 -451) (2 2)) - R(psd (-1526 -476) (550 950)) + R(metal2_lbl (-150 -450) (0 0)) + R(psd (-1525 -475) (550 950)) ) N(7 I(BULK) R(diff_cont (-110 -1360) (220 220)) @@ -268,12 +268,12 @@ X(RINGO R(via1 (-305 -305) (250 250)) R(via1 (24230 -250) (250 250)) R(metal2 (-24805 -325) (24880 400)) - R(metal2_lbl (-23161 -201) (2 2)) + R(metal2_lbl (-23160 -200) (0 0)) ) N(2 I(OSC) R(via1 (24435 1675) (250 250)) R(metal2 (-325 -325) (400 400)) - R(metal2_lbl (-201 -201) (2 2)) + R(metal2_lbl (-200 -200) (0 0)) ) N(3 I(VDD) R(metal1 (-180 3100) (360 1120)) @@ -286,7 +286,7 @@ X(RINGO R(metal1 (2280 -1120) (360 1120)) R(metal1 (2280 -1120) (360 1120)) R(metal1 (2280 -1120) (360 1120)) - R(metal2_lbl (-23941 -1421) (2 2)) + R(metal2_lbl (-23940 -1420) (0 0)) ) N(4 I(VSS) R(metal1 (-180 -1420) (360 1120)) @@ -299,7 +299,7 @@ X(RINGO R(metal1 (2280 -1120) (360 1120)) R(metal1 (2280 -1120) (360 1120)) R(metal1 (2280 -1120) (360 1120)) - R(metal2_lbl (-23941 299) (2 2)) + R(metal2_lbl (-23940 300) (0 0)) ) N(5) N(6) diff --git a/testdata/algo/lvs_test1_au.lvsdb.1 b/testdata/algo/lvs_test1_au.lvsdb.1 index a73ab07a0..5a39ce9f2 100644 --- a/testdata/algo/lvs_test1_au.lvsdb.1 +++ b/testdata/algo/lvs_test1_au.lvsdb.1 @@ -129,8 +129,8 @@ layout( 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)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( 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(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( 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)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( 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)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( 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)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test1_au.lvsdb.2 b/testdata/algo/lvs_test1_au.lvsdb.2 index 20133d556..20cf60f64 100644 --- a/testdata/algo/lvs_test1_au.lvsdb.2 +++ b/testdata/algo/lvs_test1_au.lvsdb.2 @@ -129,8 +129,8 @@ layout( 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)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( 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 (-1851 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-1850 525) (525 1750)) rect(psd (1050 -1750) (525 1750)) rect(nsd (-2100 -5350) (525 1750)) rect(nsd (1050 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( 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)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( 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)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( 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)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test1b_au.lvsdb.1 b/testdata/algo/lvs_test1b_au.lvsdb.1 index 3b206b741..677076a96 100644 --- a/testdata/algo/lvs_test1b_au.lvsdb.1 +++ b/testdata/algo/lvs_test1b_au.lvsdb.1 @@ -129,8 +129,8 @@ layout( 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)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( 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(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( 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)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( 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)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( 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)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test1b_au.lvsdb.2 b/testdata/algo/lvs_test1b_au.lvsdb.2 index 455337d3b..a842f1785 100644 --- a/testdata/algo/lvs_test1b_au.lvsdb.2 +++ b/testdata/algo/lvs_test1b_au.lvsdb.2 @@ -129,8 +129,8 @@ layout( 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)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( 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 (-1851 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-1850 525) (525 1750)) rect(psd (1050 -1750) (525 1750)) rect(nsd (-2100 -5350) (525 1750)) rect(nsd (1050 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( 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)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( 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)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( 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)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test2_au.lvsdb.1 b/testdata/algo/lvs_test2_au.lvsdb.1 index cecb9d910..eb088d4cf 100644 --- a/testdata/algo/lvs_test2_au.lvsdb.1 +++ b/testdata/algo/lvs_test2_au.lvsdb.1 @@ -129,8 +129,8 @@ layout( 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)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( 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(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( 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)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( 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)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( 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)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test2_au.lvsdb.2 b/testdata/algo/lvs_test2_au.lvsdb.2 index 0ce0bf4d9..0d7635d17 100644 --- a/testdata/algo/lvs_test2_au.lvsdb.2 +++ b/testdata/algo/lvs_test2_au.lvsdb.2 @@ -129,8 +129,8 @@ layout( 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)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( 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 (-1851 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-1850 525) (525 1750)) rect(psd (1050 -1750) (525 1750)) rect(nsd (-2100 -5350) (525 1750)) rect(nsd (1050 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( 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)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( 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)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( 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)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test2b_au.lvsdb.1 b/testdata/algo/lvs_test2b_au.lvsdb.1 index 47263e0e2..fd107f1b9 100644 --- a/testdata/algo/lvs_test2b_au.lvsdb.1 +++ b/testdata/algo/lvs_test2b_au.lvsdb.1 @@ -129,8 +129,8 @@ layout( 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)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( 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(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( 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)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( 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)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( 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)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvs_test2b_au.lvsdb.2 b/testdata/algo/lvs_test2b_au.lvsdb.2 index cbe6175f5..29b9a4b7c 100644 --- a/testdata/algo/lvs_test2b_au.lvsdb.2 +++ b/testdata/algo/lvs_test2b_au.lvsdb.2 @@ -129,8 +129,8 @@ layout( 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)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( 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 (-1851 524) (525 1750)) + rect(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-1850 525) (525 1750)) rect(psd (1050 -1750) (525 1750)) rect(nsd (-2100 -5350) (525 1750)) rect(nsd (1050 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( 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)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( 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)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -313,12 +313,12 @@ layout( 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)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(via1 (24435 1675) (250 250)) rect(metal2 (-325 -325) (400 400)) - rect(metal2_lbl (-201 -201) (2 2)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(metal1 (-180 3900) (360 1120)) @@ -331,7 +331,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 -2221) (2 2)) + rect(metal2_lbl (-23940 -2220) (0 0)) ) net(4 name(VSS) rect(metal1 (-180 -2220) (360 1120)) @@ -344,7 +344,7 @@ layout( rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) rect(metal1 (2280 -1120) (360 1120)) - rect(metal2_lbl (-23941 1099) (2 2)) + rect(metal2_lbl (-23940 1100) (0 0)) ) net(5) net(6) diff --git a/testdata/algo/lvsdb_read_test.lvsdb b/testdata/algo/lvsdb_read_test.lvsdb index 58faa611b..dd2512b13 100644 --- a/testdata/algo/lvsdb_read_test.lvsdb +++ b/testdata/algo/lvsdb_read_test.lvsdb @@ -129,8 +129,8 @@ layout( 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)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( 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(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( 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)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( 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)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -405,7 +405,7 @@ layout( 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)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(diff_cont (22850 90) (220 220)) @@ -426,7 +426,7 @@ layout( 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)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(diff_cont (7810 2490) (220 220)) @@ -539,7 +539,7 @@ layout( 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)) + rect(metal2_lbl (-21300 -1180) (0 0)) ) net(4 name(VSS) rect(diff_cont (7810 90) (220 220)) @@ -652,7 +652,7 @@ layout( 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)) + rect(metal2_lbl (-21300 -380) (0 0)) ) net(5 rect(diff_cont (1730 90) (220 220)) diff --git a/testdata/algo/lvsdb_read_test2.lvsdb b/testdata/algo/lvsdb_read_test2.lvsdb index e1a8825f8..5192ffaba 100644 --- a/testdata/algo/lvsdb_read_test2.lvsdb +++ b/testdata/algo/lvsdb_read_test2.lvsdb @@ -129,8 +129,8 @@ layout( 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)) + rect(poly_lbl (-525 -2600) (0 0)) + rect(poly_cont (-830 -110) (220 220)) ) net(3 name(OUT) rect(diff_cont (-910 90) (220 220)) @@ -156,8 +156,8 @@ layout( 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(metal1_lbl (1420 -2180) (0 0)) + rect(psd (-275 525) (525 1750)) rect(psd (-2100 -1750) (525 1750)) rect(nsd (1050 -5350) (525 1750)) rect(nsd (-2100 -1750) (525 1750)) @@ -178,8 +178,8 @@ layout( 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)) + rect(metal2_lbl (-160 -540) (0 0)) + rect(nsd (-1515 -1185) (550 1750)) ) net(5 name(VDD) rect(diff_cont (-110 2490) (220 220)) @@ -197,8 +197,8 @@ layout( 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)) + rect(metal2_lbl (-150 -1250) (0 0)) + rect(psd (-1525 -475) (550 1750)) ) net(6 name(BULK) rect(diff_cont (-110 -2160) (220 220)) @@ -405,7 +405,7 @@ layout( 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)) + rect(metal2_lbl (-22120 -200) (0 0)) ) net(2 name(OSC) rect(diff_cont (22850 90) (220 220)) @@ -426,7 +426,7 @@ layout( 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)) + rect(metal2_lbl (-200 -200) (0 0)) ) net(3 name(VDD) rect(diff_cont (7810 2490) (220 220)) @@ -539,7 +539,7 @@ layout( 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)) + rect(metal2_lbl (-21300 -1180) (0 0)) ) net(4 name(VSS) rect(diff_cont (7810 90) (220 220)) @@ -652,7 +652,7 @@ layout( 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)) + rect(metal2_lbl (-21300 -380) (0 0)) ) net(5 rect(diff_cont (1730 90) (220 220)) diff --git a/testdata/lvs/test_22a.cir b/testdata/lvs/test_22a.cir index ab888a3c8..4758e7241 100644 --- a/testdata/lvs/test_22a.cir +++ b/testdata/lvs/test_22a.cir @@ -48,7 +48,7 @@ M$10 4 31 35 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P M$11 34 32 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $12 r0 *1 2.395,3.615 sky130_fd_pr__nfet_01v8__model -M$12 35 37 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$12 35 47 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $13 r0 *1 4.145,1.935 sky130_fd_pr__nfet_01v8__model M$13 15 16 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P @@ -63,16 +63,16 @@ M$15 15 26 5 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P M$16 20 26 6 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $17 r0 *1 3.755,2.99 sky130_fd_pr__nfet_01v8__model -M$17 5 31 37 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$17 5 31 47 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.18165P PS=0.7U PD=1.285U * device instance $18 r0 *1 4.965,2.99 sky130_fd_pr__nfet_01v8__model -M$18 6 31 38 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$18 6 31 37 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.18165P PS=0.7U PD=1.285U * device instance $19 r0 *1 4.145,3.615 sky130_fd_pr__nfet_01v8__model -M$19 37 35 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$19 47 35 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $20 r0 *1 4.575,3.615 sky130_fd_pr__nfet_01v8__model -M$20 38 40 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$20 37 49 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $21 r0 *1 6.325,1.935 sky130_fd_pr__nfet_01v8__model M$21 19 20 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P @@ -87,16 +87,16 @@ M$23 19 26 7 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P M$24 24 26 8 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $25 r0 *1 5.935,2.99 sky130_fd_pr__nfet_01v8__model -M$25 7 31 40 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$25 7 31 49 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.18165P PS=0.7U PD=1.285U * device instance $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model -M$26 8 31 41 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$26 8 31 39 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.18165P PS=0.7U PD=1.285U * device instance $27 r0 *1 6.325,3.615 sky130_fd_pr__nfet_01v8__model -M$27 40 38 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$27 49 37 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $28 r0 *1 6.755,3.615 sky130_fd_pr__nfet_01v8__model -M$28 41 50 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$28 39 50 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $29 r0 *1 8.505,1.935 sky130_fd_pr__nfet_01v8__model M$29 23 24 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P @@ -108,7 +108,7 @@ M$30 23 26 9 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P M$31 9 31 50 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.18165P PS=0.7U PD=1.285U * device instance $32 r0 *1 8.505,3.615 sky130_fd_pr__nfet_01v8__model -M$32 50 41 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$32 50 39 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.1113P PS=1.285U PD=1.37U * device instance $33 r0 *1 0.215,0.605 sky130_fd_pr__pfet_01v8__model M$33 1 11 12 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P @@ -141,21 +141,21 @@ M$41 1 34 32 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P M$42 34 32 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P + AD=0.0588P PS=1.73U PD=0.7U * device instance $43 r0 *1 2.395,4.945 sky130_fd_pr__pfet_01v8__model -M$43 1 37 35 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$43 1 47 35 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.1869P PS=0.7U PD=1.73U * device instance $44 r0 *1 4.145,4.945 sky130_fd_pr__pfet_01v8__model -M$44 37 35 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$44 47 35 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P + AD=0.0588P PS=1.73U PD=0.7U * device instance $45 r0 *1 4.575,4.945 sky130_fd_pr__pfet_01v8__model -M$45 1 40 38 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$45 1 49 37 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.1869P PS=0.7U PD=1.73U * device instance $46 r0 *1 6.325,4.945 sky130_fd_pr__pfet_01v8__model -M$46 40 38 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$46 49 37 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P + AD=0.0588P PS=1.73U PD=0.7U * device instance $47 r0 *1 6.755,4.945 sky130_fd_pr__pfet_01v8__model -M$47 1 50 41 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$47 1 50 39 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.1869P PS=0.7U PD=1.73U * device instance $48 r0 *1 8.505,4.945 sky130_fd_pr__pfet_01v8__model -M$48 50 41 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$48 50 39 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P + AD=0.1113P PS=1.73U PD=1.37U .ENDS SP6TArray_2X4 diff --git a/testdata/lvs/test_22a.lvsdb b/testdata/lvs/test_22a.lvsdb index 9b9dfdd14..1d74871c2 100644 --- a/testdata/lvs/test_22a.lvsdb +++ b/testdata/lvs/test_22a.lvsdb @@ -516,16 +516,16 @@ layout( rect(l2 (1365 2635) (420 280)) polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) - rect(l11 (-140 -2610) (230 2920)) - rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-140 -2610) (230 5550)) rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -2920) (230 2920)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) - rect(l12 (-230 -2920) (230 5550)) - rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-230 -290) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-145 -85) (170 170)) rect(l21 (-170 -170) (170 170)) @@ -541,11 +541,11 @@ layout( rect(l11 (-230 -5550) (230 2920)) rect(l11 (-230 -2920) (230 5550)) rect(l11 (-230 -2920) (230 2920)) - rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) - rect(l12 (-230 -290) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-25 -85) (170 170)) rect(l21 (-170 -170) (170 170)) @@ -556,16 +556,16 @@ layout( rect(l2 (3545 2635) (420 280)) polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) - rect(l11 (-140 -2610) (230 5550)) - rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-140 -2610) (230 2920)) rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -2920) (230 2920)) rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -5550) (230 2920)) - rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-145 -85) (170 170)) rect(l21 (-170 -170) (170 170)) @@ -576,15 +576,15 @@ layout( rect(l2 (4755 2635) (420 280)) polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) - rect(l11 (-260 -2610) (230 5550)) - rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-260 -2610) (230 2920)) rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -2920) (230 2920)) rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -2920) (230 5550)) - rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-25 -85) (170 170)) @@ -596,15 +596,15 @@ layout( rect(l2 (5725 2635) (420 280)) polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) - rect(l11 (-140 -2610) (230 5550)) - rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-140 -2610) (230 2920)) rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -2920) (230 2920)) - rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-145 -85) (170 170)) @@ -636,15 +636,15 @@ layout( rect(l2 (7905 2635) (420 280)) polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) - rect(l11 (-140 -2610) (230 2920)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) rect(l11 (-230 -2920) (230 5550)) rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-145 -85) (170 170)) @@ -690,23 +690,23 @@ layout( rect(l7 (950 -1320) (330 270)) ) net(15 - rect(l2 (3625 395) (445 420)) - polygon(l2 (-525 910) (0 760) (420 0) (0 -340) (105 0) (0 -420)) - polygon(l9 (-405 -1280) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + polygon(l2 (3545 1725) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + rect(l2 (-445 -1330) (445 420)) + polygon(l9 (-405 -370) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) rect(l21 (-335 560) (170 170)) - rect(l21 (-5 -650) (170 170)) - rect(l21 (-170 1070) (170 170)) - rect(l22 (-1365 -980) (950 150)) + rect(l21 (-5 590) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l22 (-1365 260) (950 150)) rect(l22 (-1100 -840) (150 2010)) rect(l22 (950 -1320) (330 270)) ) net(16 - polygon(l2 (2470 1725) (0 420) (105 0) (0 340) (420 0) (0 -760)) - rect(l2 (-525 -1330) (445 420)) - polygon(l9 (-210 -370) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) - rect(l21 (-170 1320) (170 170)) - rect(l21 (-170 -1410) (170 170)) - rect(l21 (-5 670) (170 170)) + rect(l2 (2470 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) rect(l22 (-250 -220) (330 270)) rect(l22 (0 -150) (950 150)) rect(l22 (0 -1320) (150 2010)) @@ -850,22 +850,22 @@ layout( polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) - rect(l13 (-7745 320) (8720 260)) + rect(l13 (-7745 320) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (8720 260)) rect(l13 (-8720 -260) (4360 260)) - rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) rect(l13 (-2180 -260) (2180 260)) rect(l13 (0 -260) (2180 260)) rect(l13 (-2180 -260) (2180 260)) - rect(l13 (0 -260) (4360 260)) - rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) rect(l13 (-2180 -260) (2180 260)) - rect(l13 (0 -260) (2180 260)) rect(l13 (-2180 -260) (2180 260)) - rect(l14 (-8720 -260) (8720 260)) - rect(l14 (-8720 -260) (2180 260)) - rect(l14 (-2180 -260) (4360 260)) + rect(l14 (-8720 -260) (4360 260)) rect(l14 (-4360 -260) (2180 260)) - rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (-2180 -260) (8720 260)) + rect(l14 (-6540 -260) (2180 260)) rect(l14 (-2180 -260) (2180 260)) rect(l14 (0 -130) (0 0)) rect(l14 (0 -130) (2180 260)) @@ -934,17 +934,6 @@ layout( rect(l7 (950 -960) (150 2010)) ) net(37 - polygon(l2 (3545 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) - rect(l2 (-340 1670) (445 420)) - polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) - rect(l21 (-170 80) (170 170)) - rect(l21 (-335 590) (170 170)) - rect(l21 (-5 310) (170 170)) - rect(l22 (-1365 -580) (950 150)) - rect(l22 (-1100 -1320) (150 2010)) - rect(l22 (950 -960) (330 270)) - ) - net(38 polygon(l2 (4755 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) rect(l2 (-525 1670) (445 420)) polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) @@ -955,23 +944,12 @@ layout( rect(l22 (0 -270) (950 150)) rect(l22 (0 -840) (150 2010)) ) - net(39 + net(38 rect(l7 (5300 3965) (950 150)) rect(l7 (-1280 -150) (330 270)) rect(l7 (950 -960) (150 2010)) ) - net(40 - polygon(l2 (5725 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) - rect(l2 (-340 1670) (445 420)) - polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) - rect(l21 (-170 80) (170 170)) - rect(l21 (-335 590) (170 170)) - rect(l21 (-5 310) (170 170)) - rect(l22 (-1365 -580) (950 150)) - rect(l22 (-1100 -1320) (150 2010)) - rect(l22 (950 -960) (330 270)) - ) - net(41 + net(39 polygon(l2 (6935 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) rect(l2 (-525 1670) (445 420)) polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) @@ -982,38 +960,60 @@ layout( rect(l22 (0 -270) (950 150)) rect(l22 (0 -840) (150 2010)) ) - net(42 + net(40 rect(l7 (7480 3965) (950 150)) rect(l7 (-1280 -150) (330 270)) rect(l7 (950 -960) (150 2010)) ) - net(43 + net(41 polygon(l7 (265 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(44 + net(42 polygon(l7 (6805 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(45 + net(43 polygon(l7 (2445 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(46 + net(44 polygon(l7 (4625 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(47 + net(45 rect(l7 (290 4445) (950 150)) rect(l7 (-1100 -1320) (150 2010)) rect(l7 (950 -960) (330 270)) ) - net(48 + net(46 rect(l7 (2470 4445) (950 150)) rect(l7 (-1100 -1320) (150 2010)) rect(l7 (950 -960) (330 270)) ) - net(49 + net(47 + polygon(l2 (3545 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(48 rect(l7 (4650 4445) (950 150)) rect(l7 (-1100 -1320) (150 2010)) rect(l7 (950 -960) (330 270)) ) + net(49 + polygon(l2 (5725 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) net(50 polygon(l2 (7905 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) rect(l2 (-340 1670) (445 420)) @@ -1333,7 +1333,7 @@ layout( param(PS 1.285) param(PD 0.7) terminal(S 35) - terminal(G 37) + terminal(G 47) terminal(D 52) terminal(B 52) ) @@ -1399,7 +1399,7 @@ layout( param(PD 1.285) terminal(S 5) terminal(G 31) - terminal(D 37) + terminal(D 47) terminal(B 52) ) device(18 D$sky130_fd_pr__nfet_01v8__model$2 @@ -1412,7 +1412,7 @@ layout( param(PD 1.285) terminal(S 6) terminal(G 31) - terminal(D 38) + terminal(D 37) terminal(B 52) ) device(19 D$sky130_fd_pr__nfet_01v8__model$8 @@ -1423,7 +1423,7 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 37) + terminal(S 47) terminal(G 35) terminal(D 52) terminal(B 52) @@ -1436,8 +1436,8 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 38) - terminal(G 40) + terminal(S 37) + terminal(G 49) terminal(D 52) terminal(B 52) ) @@ -1503,7 +1503,7 @@ layout( param(PD 1.285) terminal(S 7) terminal(G 31) - terminal(D 40) + terminal(D 49) terminal(B 52) ) device(26 D$sky130_fd_pr__nfet_01v8__model$2 @@ -1516,7 +1516,7 @@ layout( param(PD 1.285) terminal(S 8) terminal(G 31) - terminal(D 41) + terminal(D 39) terminal(B 52) ) device(27 D$sky130_fd_pr__nfet_01v8__model$8 @@ -1527,8 +1527,8 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 40) - terminal(G 38) + terminal(S 49) + terminal(G 37) terminal(D 52) terminal(B 52) ) @@ -1540,7 +1540,7 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 41) + terminal(S 39) terminal(G 50) terminal(D 52) terminal(B 52) @@ -1593,7 +1593,7 @@ layout( param(PS 1.285) param(PD 1.37) terminal(S 50) - terminal(G 41) + terminal(G 39) terminal(D 52) terminal(B 52) ) @@ -1736,7 +1736,7 @@ layout( param(PS 0.7) param(PD 1.73) terminal(S 1) - terminal(G 37) + terminal(G 47) terminal(D 35) terminal(B 1) ) @@ -1748,7 +1748,7 @@ layout( param(AD 0.0588) param(PS 1.73) param(PD 0.7) - terminal(S 37) + terminal(S 47) terminal(G 35) terminal(D 1) terminal(B 1) @@ -1762,8 +1762,8 @@ layout( param(PS 0.7) param(PD 1.73) terminal(S 1) - terminal(G 40) - terminal(D 38) + terminal(G 49) + terminal(D 37) terminal(B 1) ) device(46 D$sky130_fd_pr__pfet_01v8__model$1 @@ -1774,8 +1774,8 @@ layout( param(AD 0.0588) param(PS 1.73) param(PD 0.7) - terminal(S 40) - terminal(G 38) + terminal(S 49) + terminal(G 37) terminal(D 1) terminal(B 1) ) @@ -1789,7 +1789,7 @@ layout( param(PD 1.73) terminal(S 1) terminal(G 50) - terminal(D 41) + terminal(D 39) terminal(B 1) ) device(48 D$sky130_fd_pr__pfet_01v8__model$3 @@ -1801,7 +1801,7 @@ layout( param(PS 1.73) param(PD 1.37) terminal(S 50) - terminal(G 41) + terminal(G 39) terminal(D 1) terminal(B 1) ) @@ -2503,16 +2503,16 @@ xref( net(32 15 match) net(15 18 warning) net(16 17 warning) - net(37 20 match) + net(47 20 match) net(35 19 match) net(19 22 warning) net(20 21 warning) - net(40 24 match) - net(38 23 match) + net(49 24 match) + net(37 23 match) net(23 26 warning) net(24 25 warning) net(50 28 match) - net(41 27 match) + net(39 27 match) net(2 6 match) net(4 8 match) net(6 10 match) diff --git a/testdata/lvs/test_22b.cir b/testdata/lvs/test_22b.cir index ab888a3c8..4758e7241 100644 --- a/testdata/lvs/test_22b.cir +++ b/testdata/lvs/test_22b.cir @@ -48,7 +48,7 @@ M$10 4 31 35 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P M$11 34 32 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $12 r0 *1 2.395,3.615 sky130_fd_pr__nfet_01v8__model -M$12 35 37 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$12 35 47 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $13 r0 *1 4.145,1.935 sky130_fd_pr__nfet_01v8__model M$13 15 16 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P @@ -63,16 +63,16 @@ M$15 15 26 5 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P M$16 20 26 6 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $17 r0 *1 3.755,2.99 sky130_fd_pr__nfet_01v8__model -M$17 5 31 37 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$17 5 31 47 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.18165P PS=0.7U PD=1.285U * device instance $18 r0 *1 4.965,2.99 sky130_fd_pr__nfet_01v8__model -M$18 6 31 38 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$18 6 31 37 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.18165P PS=0.7U PD=1.285U * device instance $19 r0 *1 4.145,3.615 sky130_fd_pr__nfet_01v8__model -M$19 37 35 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$19 47 35 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $20 r0 *1 4.575,3.615 sky130_fd_pr__nfet_01v8__model -M$20 38 40 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$20 37 49 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $21 r0 *1 6.325,1.935 sky130_fd_pr__nfet_01v8__model M$21 19 20 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P @@ -87,16 +87,16 @@ M$23 19 26 7 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P M$24 24 26 8 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $25 r0 *1 5.935,2.99 sky130_fd_pr__nfet_01v8__model -M$25 7 31 40 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$25 7 31 49 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.18165P PS=0.7U PD=1.285U * device instance $26 r0 *1 7.145,2.99 sky130_fd_pr__nfet_01v8__model -M$26 8 31 41 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$26 8 31 39 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.18165P PS=0.7U PD=1.285U * device instance $27 r0 *1 6.325,3.615 sky130_fd_pr__nfet_01v8__model -M$27 40 38 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$27 49 37 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $28 r0 *1 6.755,3.615 sky130_fd_pr__nfet_01v8__model -M$28 41 50 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$28 39 50 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.0588P PS=1.285U PD=0.7U * device instance $29 r0 *1 8.505,1.935 sky130_fd_pr__nfet_01v8__model M$29 23 24 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P @@ -108,7 +108,7 @@ M$30 23 26 9 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P M$31 9 31 50 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.18165P PS=0.7U PD=1.285U * device instance $32 r0 *1 8.505,3.615 sky130_fd_pr__nfet_01v8__model -M$32 50 41 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P +M$32 50 39 52 52 sky130_fd_pr__nfet_01v8__model L=0.15U W=0.42U AS=0.18165P + AD=0.1113P PS=1.285U PD=1.37U * device instance $33 r0 *1 0.215,0.605 sky130_fd_pr__pfet_01v8__model M$33 1 11 12 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P @@ -141,21 +141,21 @@ M$41 1 34 32 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1113P M$42 34 32 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P + AD=0.0588P PS=1.73U PD=0.7U * device instance $43 r0 *1 2.395,4.945 sky130_fd_pr__pfet_01v8__model -M$43 1 37 35 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$43 1 47 35 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.1869P PS=0.7U PD=1.73U * device instance $44 r0 *1 4.145,4.945 sky130_fd_pr__pfet_01v8__model -M$44 37 35 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$44 47 35 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P + AD=0.0588P PS=1.73U PD=0.7U * device instance $45 r0 *1 4.575,4.945 sky130_fd_pr__pfet_01v8__model -M$45 1 40 38 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$45 1 49 37 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.1869P PS=0.7U PD=1.73U * device instance $46 r0 *1 6.325,4.945 sky130_fd_pr__pfet_01v8__model -M$46 40 38 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$46 49 37 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P + AD=0.0588P PS=1.73U PD=0.7U * device instance $47 r0 *1 6.755,4.945 sky130_fd_pr__pfet_01v8__model -M$47 1 50 41 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P +M$47 1 50 39 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.0588P + AD=0.1869P PS=0.7U PD=1.73U * device instance $48 r0 *1 8.505,4.945 sky130_fd_pr__pfet_01v8__model -M$48 50 41 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P +M$48 50 39 1 1 sky130_fd_pr__pfet_01v8__model L=0.15U W=0.42U AS=0.1869P + AD=0.1113P PS=1.73U PD=1.37U .ENDS SP6TArray_2X4 diff --git a/testdata/lvs/test_22b.lvsdb b/testdata/lvs/test_22b.lvsdb index fc40f292e..c3f876fc0 100644 --- a/testdata/lvs/test_22b.lvsdb +++ b/testdata/lvs/test_22b.lvsdb @@ -516,16 +516,16 @@ layout( rect(l2 (1365 2635) (420 280)) polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) - rect(l11 (-140 -2610) (230 2920)) - rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-140 -2610) (230 5550)) rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -2920) (230 2920)) + rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-230 -290) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) - rect(l12 (-230 -2920) (230 5550)) - rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-230 -290) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-145 -85) (170 170)) rect(l21 (-170 -170) (170 170)) @@ -541,11 +541,11 @@ layout( rect(l11 (-230 -5550) (230 2920)) rect(l11 (-230 -2920) (230 5550)) rect(l11 (-230 -2920) (230 2920)) - rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) - rect(l12 (-230 -290) (230 2920)) + rect(l12 (-230 -2920) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-25 -85) (170 170)) rect(l21 (-170 -170) (170 170)) @@ -556,16 +556,16 @@ layout( rect(l2 (3545 2635) (420 280)) polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) - rect(l11 (-140 -2610) (230 5550)) - rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-140 -2610) (230 2920)) rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -2920) (230 2920)) rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -5550) (230 2920)) - rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 2920)) + rect(l12 (-230 -290) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-145 -85) (170 170)) rect(l21 (-170 -170) (170 170)) @@ -576,15 +576,15 @@ layout( rect(l2 (4755 2635) (420 280)) polygon(l9 (-295 -305) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) polygon(l9 (-170 0) (0 80) (-60 0) (0 170) (60 0) (0 80) (170 0) (0 -330)) - rect(l11 (-260 -2610) (230 5550)) - rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-260 -2610) (230 2920)) rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -2920) (230 2920)) rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -2920) (230 5550)) - rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-25 -85) (170 170)) @@ -596,15 +596,15 @@ layout( rect(l2 (5725 2635) (420 280)) polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) - rect(l11 (-140 -2610) (230 5550)) - rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -5550) (230 2920)) + rect(l11 (-140 -2610) (230 2920)) rect(l11 (-230 -2920) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) + rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -2920) (230 2920)) - rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) + rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-145 -85) (170 170)) @@ -636,15 +636,15 @@ layout( rect(l2 (7905 2635) (420 280)) polygon(l9 (-295 -305) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) polygon(l9 (-170 0) (0 330) (170 0) (0 -80) (60 0) (0 -170) (-60 0) (0 -80)) - rect(l11 (-140 -2610) (230 2920)) + rect(l11 (-140 -2610) (230 5550)) + rect(l11 (-230 -5550) (230 2920)) rect(l11 (-230 -2920) (230 5550)) rect(l11 (-230 -5550) (230 5550)) - rect(l11 (-230 -5550) (230 5550)) rect(l11 (-230 -2920) (230 2920)) + rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -5550) (230 2920)) rect(l12 (-230 -2920) (230 5550)) rect(l12 (-230 -5550) (230 5550)) - rect(l12 (-230 -5550) (230 5550)) rect(l12 (-230 -2920) (230 2920)) rect(l12 (-115 -2775) (0 0)) rect(l21 (-145 -85) (170 170)) @@ -690,23 +690,23 @@ layout( rect(l7 (950 -1320) (330 270)) ) net(15 - rect(l2 (3625 395) (445 420)) - polygon(l2 (-525 910) (0 760) (420 0) (0 -340) (105 0) (0 -420)) - polygon(l9 (-405 -1280) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) + polygon(l2 (3545 1725) (0 760) (420 0) (0 -340) (105 0) (0 -420)) + rect(l2 (-445 -1330) (445 420)) + polygon(l9 (-405 -370) (0 560) (-245 0) (0 170) (245 0) (0 840) (170 0) (0 -1570)) rect(l21 (-335 560) (170 170)) - rect(l21 (-5 -650) (170 170)) - rect(l21 (-170 1070) (170 170)) - rect(l22 (-1365 -980) (950 150)) + rect(l21 (-5 590) (170 170)) + rect(l21 (-170 -1410) (170 170)) + rect(l22 (-1365 260) (950 150)) rect(l22 (-1100 -840) (150 2010)) rect(l22 (950 -1320) (330 270)) ) net(16 - polygon(l2 (2470 1725) (0 420) (105 0) (0 340) (420 0) (0 -760)) - rect(l2 (-525 -1330) (445 420)) - polygon(l9 (-210 -370) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) - rect(l21 (-170 1320) (170 170)) - rect(l21 (-170 -1410) (170 170)) - rect(l21 (-5 670) (170 170)) + rect(l2 (2470 395) (445 420)) + polygon(l2 (-445 910) (0 420) (105 0) (0 340) (420 0) (0 -760)) + polygon(l9 (-290 -1280) (0 1570) (170 0) (0 -480) (245 0) (0 -170) (-245 0) (0 -920)) + rect(l21 (-170 80) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l21 (-5 -570) (170 170)) rect(l22 (-250 -220) (330 270)) rect(l22 (0 -150) (950 150)) rect(l22 (0 -1320) (150 2010)) @@ -850,22 +850,22 @@ layout( polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) polygon(l11 (1950 0) (0 290) (-15 0) (0 320) (260 0) (0 -320) (-15 0) (0 -290)) - rect(l13 (-7745 320) (8720 260)) + rect(l13 (-7745 320) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) + rect(l13 (-2180 -260) (8720 260)) rect(l13 (-8720 -260) (4360 260)) - rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (2180 260)) rect(l13 (-2180 -260) (2180 260)) rect(l13 (0 -260) (2180 260)) rect(l13 (-2180 -260) (2180 260)) - rect(l13 (0 -260) (4360 260)) - rect(l13 (-4360 -260) (2180 260)) + rect(l13 (-2180 -260) (4360 260)) rect(l13 (-2180 -260) (2180 260)) - rect(l13 (0 -260) (2180 260)) rect(l13 (-2180 -260) (2180 260)) - rect(l14 (-8720 -260) (8720 260)) - rect(l14 (-8720 -260) (2180 260)) - rect(l14 (-2180 -260) (4360 260)) + rect(l14 (-8720 -260) (4360 260)) rect(l14 (-4360 -260) (2180 260)) - rect(l14 (0 -260) (2180 260)) + rect(l14 (-2180 -260) (2180 260)) + rect(l14 (-2180 -260) (8720 260)) + rect(l14 (-6540 -260) (2180 260)) rect(l14 (-2180 -260) (2180 260)) rect(l14 (0 -130) (0 0)) rect(l14 (0 -130) (2180 260)) @@ -934,17 +934,6 @@ layout( rect(l7 (950 -960) (150 2010)) ) net(37 - polygon(l2 (3545 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) - rect(l2 (-340 1670) (445 420)) - polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) - rect(l21 (-170 80) (170 170)) - rect(l21 (-335 590) (170 170)) - rect(l21 (-5 310) (170 170)) - rect(l22 (-1365 -580) (950 150)) - rect(l22 (-1100 -1320) (150 2010)) - rect(l22 (950 -960) (330 270)) - ) - net(38 polygon(l2 (4755 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) rect(l2 (-525 1670) (445 420)) polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) @@ -955,23 +944,12 @@ layout( rect(l22 (0 -270) (950 150)) rect(l22 (0 -840) (150 2010)) ) - net(39 + net(38 rect(l7 (5300 3965) (950 150)) rect(l7 (-1280 -150) (330 270)) rect(l7 (950 -960) (150 2010)) ) - net(40 - polygon(l2 (5725 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) - rect(l2 (-340 1670) (445 420)) - polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) - rect(l21 (-170 80) (170 170)) - rect(l21 (-335 590) (170 170)) - rect(l21 (-5 310) (170 170)) - rect(l22 (-1365 -580) (950 150)) - rect(l22 (-1100 -1320) (150 2010)) - rect(l22 (950 -960) (330 270)) - ) - net(41 + net(39 polygon(l2 (6935 3065) (0 340) (-105 0) (0 420) (525 0) (0 -760)) rect(l2 (-525 1670) (445 420)) polygon(l9 (-210 -1620) (0 1570) (170 0) (0 -920) (245 0) (0 -170) (-245 0) (0 -480)) @@ -982,38 +960,60 @@ layout( rect(l22 (0 -270) (950 150)) rect(l22 (0 -840) (150 2010)) ) - net(42 + net(40 rect(l7 (7480 3965) (950 150)) rect(l7 (-1280 -150) (330 270)) rect(l7 (950 -960) (150 2010)) ) - net(43 + net(41 polygon(l7 (265 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(44 + net(42 polygon(l7 (6805 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(45 + net(43 polygon(l7 (2445 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(46 + net(44 polygon(l7 (4625 2915) (0 150) (690 0) (0 180) (270 0) (0 -180) (690 0) (0 -150)) ) - net(47 + net(45 rect(l7 (290 4445) (950 150)) rect(l7 (-1100 -1320) (150 2010)) rect(l7 (950 -960) (330 270)) ) - net(48 + net(46 rect(l7 (2470 4445) (950 150)) rect(l7 (-1100 -1320) (150 2010)) rect(l7 (950 -960) (330 270)) ) - net(49 + net(47 + polygon(l2 (3545 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) + net(48 rect(l7 (4650 4445) (950 150)) rect(l7 (-1100 -1320) (150 2010)) rect(l7 (950 -960) (330 270)) ) + net(49 + polygon(l2 (5725 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) + rect(l2 (-340 1670) (445 420)) + polygon(l9 (-405 -1620) (0 840) (-245 0) (0 170) (245 0) (0 560) (170 0) (0 -1570)) + rect(l21 (-335 840) (170 170)) + rect(l21 (-5 -930) (170 170)) + rect(l21 (-170 1070) (170 170)) + rect(l22 (-1365 -580) (950 150)) + rect(l22 (-1100 -1320) (150 2010)) + rect(l22 (950 -960) (330 270)) + ) net(50 polygon(l2 (7905 3065) (0 760) (525 0) (0 -420) (-105 0) (0 -340)) rect(l2 (-340 1670) (445 420)) @@ -1333,7 +1333,7 @@ layout( param(PS 1.285) param(PD 0.7) terminal(S 35) - terminal(G 37) + terminal(G 47) terminal(D 52) terminal(B 52) ) @@ -1399,7 +1399,7 @@ layout( param(PD 1.285) terminal(S 5) terminal(G 31) - terminal(D 37) + terminal(D 47) terminal(B 52) ) device(18 D$sky130_fd_pr__nfet_01v8__model$2 @@ -1412,7 +1412,7 @@ layout( param(PD 1.285) terminal(S 6) terminal(G 31) - terminal(D 38) + terminal(D 37) terminal(B 52) ) device(19 D$sky130_fd_pr__nfet_01v8__model$8 @@ -1423,7 +1423,7 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 37) + terminal(S 47) terminal(G 35) terminal(D 52) terminal(B 52) @@ -1436,8 +1436,8 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 38) - terminal(G 40) + terminal(S 37) + terminal(G 49) terminal(D 52) terminal(B 52) ) @@ -1503,7 +1503,7 @@ layout( param(PD 1.285) terminal(S 7) terminal(G 31) - terminal(D 40) + terminal(D 49) terminal(B 52) ) device(26 D$sky130_fd_pr__nfet_01v8__model$2 @@ -1516,7 +1516,7 @@ layout( param(PD 1.285) terminal(S 8) terminal(G 31) - terminal(D 41) + terminal(D 39) terminal(B 52) ) device(27 D$sky130_fd_pr__nfet_01v8__model$8 @@ -1527,8 +1527,8 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 40) - terminal(G 38) + terminal(S 49) + terminal(G 37) terminal(D 52) terminal(B 52) ) @@ -1540,7 +1540,7 @@ layout( param(AD 0.0588) param(PS 1.285) param(PD 0.7) - terminal(S 41) + terminal(S 39) terminal(G 50) terminal(D 52) terminal(B 52) @@ -1593,7 +1593,7 @@ layout( param(PS 1.285) param(PD 1.37) terminal(S 50) - terminal(G 41) + terminal(G 39) terminal(D 52) terminal(B 52) ) @@ -1736,7 +1736,7 @@ layout( param(PS 0.7) param(PD 1.73) terminal(S 1) - terminal(G 37) + terminal(G 47) terminal(D 35) terminal(B 1) ) @@ -1748,7 +1748,7 @@ layout( param(AD 0.0588) param(PS 1.73) param(PD 0.7) - terminal(S 37) + terminal(S 47) terminal(G 35) terminal(D 1) terminal(B 1) @@ -1762,8 +1762,8 @@ layout( param(PS 0.7) param(PD 1.73) terminal(S 1) - terminal(G 40) - terminal(D 38) + terminal(G 49) + terminal(D 37) terminal(B 1) ) device(46 D$sky130_fd_pr__pfet_01v8__model$1 @@ -1774,8 +1774,8 @@ layout( param(AD 0.0588) param(PS 1.73) param(PD 0.7) - terminal(S 40) - terminal(G 38) + terminal(S 49) + terminal(G 37) terminal(D 1) terminal(B 1) ) @@ -1789,7 +1789,7 @@ layout( param(PD 1.73) terminal(S 1) terminal(G 50) - terminal(D 41) + terminal(D 39) terminal(B 1) ) device(48 D$sky130_fd_pr__pfet_01v8__model$3 @@ -1801,7 +1801,7 @@ layout( param(PS 1.73) param(PD 1.37) terminal(S 50) - terminal(G 41) + terminal(G 39) terminal(D 1) terminal(B 1) ) @@ -2504,14 +2504,14 @@ xref( net(16 18 match) net(15 17 match) net(35 20 match) - net(37 19 match) + net(47 19 match) net(20 22 match) net(19 21 match) - net(38 24 match) - net(40 23 match) + net(37 24 match) + net(49 23 match) net(24 26 match) net(23 25 match) - net(41 28 match) + net(39 28 match) net(50 27 match) net(2 5 match) net(4 7 match) diff --git a/testdata/net_tracer/t1_all_nets.oas.gz b/testdata/net_tracer/t1_all_nets.oas.gz index 728f52d8aa3a0c3e094c2e58eb82c3ab38dcd059..5a710240c3cdc97dbd48cb0473489e61697b3af1 100644 GIT binary patch literal 340 zcmV-a0jvHWiwFo7MKWRl19WY0Uu9u9Gc#f_GA?gna{yBfcJ=kt^>+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZO9v~SX;^7+a=jiLo%P4Bi$iT?5Cw}EB#woKI=S*VSaf*4a zt4K|U?6;x?TbNh2FmW?*{S?s>skp$ut^USh=BqzgL@b`=Z#mAo^(Ko*#kv)YPb3)_ zL@Ex%EYN$ffpz0CW|4|_6B#e?|2PCzTgh~%+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZO9w0kD#KSe-&(YVFmr>N3 zk%5tAPyEVNj8kSa&Y8rt;}r8;SCN_y*>6P)wlJ@3Vd7@s`YEC%Qn79Y;}b~+29b() z6B#e?|2V{a^#_Yc!3F+p^*0tXi %-*TLF>rEDsiUTnV^d4+r-FS>yq>|}Q$vcfR zGniM-WfG~Fq4i06%WUSO2bo1~GBbTMUq2Nn*tDAQfWnLOjDL3kIlHbgP7vQ<`13fk xNX0S9Evp$DlwTeJvO8pZQn#FAYz1j}mGnpYh5poujJynj2N;+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZOHXs?VV#v$`qC-4fwB@NcWXv6%Vl4;B%N zXZc%>vu?e~B2sZ6W`W*=4XhiFF^g2Zo5*;9|HmP)l1io-TA!r1%w|4%kXfXXxoI`y z0fiUm8UOBJ61l+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOHXu7*#gLf?M2C2|#``(? zy7DrKR5LOhh*_ZbU<2#MW6UBI7x=f;-&o9i^#_ZH#k2e^$62@DWD%)&H<9rI|Bpjp z;Yy|%TA!r1%w|4%kXhs=Gt)Qo^;4NdDw<-zU)Gg;2TR|FLCH;|pp+9vZBQK+;V7( diff --git a/testdata/net_tracer/t4b_all_nets.oas.gz b/testdata/net_tracer/t4b_all_nets.oas.gz index de67d58d997d90fb83f773e999ae0de76fb45d6c..8461fd262d77af8a74690cc1537ce6d2eda68c44 100644 GIT binary patch literal 315 zcmV-B0mS|viwFo7MKWRl19WY0UokZ`H#IUbF)nXma{yBfcJ=kt^>+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZO9v~SX;^7+a=jiLo%P4Bi$iT?5Cw}EB#woKI=S*VSaf*4a zt4K|U?6;x?TbNh2FmW?*{S?s>skp$ut^USh=BqzgL@b`=Z#mAo^(Ko*#kv)YPb3)_ zL@Ex%EYN$ffpz0CW|4|_6B#e?|2PCzTglwCn(=_bi}Q?scQA?EVEAFab}Exd#jB)0 z(l7L+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZO9w0kD#KSe-&(YVFmr>N3 zk%5tAPyEVNj8kSa&Y8rt;}r8;SCN_y*>6P)wlJ@3Vd7@s`YEC%Qn79Y;}b~+29b() z6B#e?|2V{a^#_Yc!3F+p^*0tXi %-*TLF>rEDsiUTnV^d4+r-FS>y+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZO9v~SX;^7+a=jiLo&7@+?{DPgCfd|ImWfZAqVz^WCPUFlB z=9P1qL@H)zeUjcXoB8NLW|2zfrqzrG6keQX{JVomXvhitsvoJl3P|YHYmS5!Yop;>l)((@ePJQk28x}zF=qMx?^#-a-r1QIZP*v z7rbG7)5thy64TiWjCWLaoMPT9Cu+gS_U0+$i$#nFvnN_Ta5<^BU<>og7A9T>!2^s; S4I>#aFaQ8Z0&KH80ssIzUzHI6 literal 571 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZO9w0kD#KSe-&(YVFn@Po( z`2{;O0}qVB%P3OK#BitNoyM6N%q!+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZOHXs?VV#v$`qC-4fSe zJfQI6JmcRTOd=J#t}#v!-(dLjII~E_G082f85@*e9s#mDWP4J#oMUXA$|Q1w;fMKJ zAYJh)>5uda{izcfMJivgPqTQZab^bd%DGIuj3U*H3>Wyf)!$gmeDw#5h{dz~Eyr26 z-eeJ}I1sZy@4*JvjmLmSzMIH+f&a%LkP==7!2?W!2N;+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOHXu7*#gLf?M2C2|#``(? zx^gqA7&E_MXJ+7mF?g9otr-~@S@y)QT*WwLHshR0Ogm07&vg~4>5%dl{XJ#<3oXf<^C{oSH za3E%Z-h&OS8;=21Uf|zWe`7K8)gLS(7SHmx9B18nlSQQB-9*L<{67wXgn1bR4=@QH MU}S0-$$)_Y0OAqviU0rr diff --git a/testdata/net_tracer/t5c_all_nets.oas.gz b/testdata/net_tracer/t5c_all_nets.oas.gz index a6cf16398c9372cec956bf7af7dfa68e16903f34..5abaac7585fb5b3cbf6594fbcc2eccdcb386270f 100644 GIT binary patch literal 354 zcmV-o0iFIIiwFo7MKWRl19WY0UokZ`H#9RbFfMOla{yBfcJ=kt^>+;R4CduxWH!_@ zV0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(IT|zuKSY&u*Akv|J*c8Z!as|hS z_y@#0yZZR>u=u%#1T#ZOHXs?VV#v$`qC-4fF&2aAZsv-~Z`S-0L~5ve#3vq0~`2G)(om_;hyO=P^l|Kku?NhNdBYQ_T! zFU~Xm-N7VsgW-qy+Nn$;6|a*1NWajZI+0PNqC>VPb;~)%R*>*9$t|lH8og7A9^6uAd@WA{FaaFg}rFVBlpCJisJ)fRU+TBm)Kp0JX1P&|(4r0Pmrs A<^TWy literal 610 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOHXu7*#gLf?M2C2|#``(? zx^gqA7&E_MXJ+7mF?g9osu>v$#4ONzuz_{sF=mm93;f&aZ!BiM`h!Kp;#vNdZ|3W#GKo|)t!6x+@Zvn<-yJ~Cu4{}F#5WlJJPtJEnBO@A7$`|Z2v_461nazCkATuwcs5K)4Bg>xn zm8%%1%x0W3iD}0v=DDsSH660wiWY2PUfIIL&A|0jL`$S%-3rDhk_-&I41x!k1P?GW KHH>7yzyJXMA@898 diff --git a/testdata/net_tracer/t5d_all_nets.oas.gz.1 b/testdata/net_tracer/t5d_all_nets.oas.gz.1 index 199d8d8caba9c356fcbfafed2f1f52f69279feb4..a0a91d69138a4d37f98059aeaad43dc91ebb2760 100644 GIT binary patch literal 1370 zcma*nKWG#|6vy$eyPM5%UgQ+hNU#vGQe%uDLKF-N{zC*)gcOPv5(^<%Xpu%OqJa?q zpyHn>u}~qTiGoCtAVDldTZ;%*K@6N0Vxb^B-`m^CEF?qRD?Z1Y{q4Nn*;!JesGF8$ zQR7!)sx<4bwfLV>lpfmO39I9VUAqUjAAI+;wqws^>*)QSBeXPxbLBKWytnK4`mH1- zNSmVg8|jJ&*jSBWVn*cjle&+F;N_Tz)78~vC5z|Bw}=e)g8BFg%=CF(T@B{1uN67* z2~3;M=6AZfn&lh$uRCp9&}oO=>DdvHAJ0sE4A)?vJ&xQ>Juq||>bmnXgPr%iu6J%) z$AjHo>pUM1=Fe0`rfOjRJ_-GIysoYW^SXlbM`aeeHiL71Kvylaa=o>B|E8_D_3O0$ z^YLK*a)-#50Wkk;gIjOCuC5mHM8!Anl)iaaAA+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOHXu7*#gG|78*wwK7%{(K zXJ+7mF@Pe*%r7A#5C$)kNHx%P7x zSiZJ0idwz|8rR@>VH?v&i!Jgm&NKeq0n~L&a?5JQ2IZGWfOhY?#yCNIgW=EPKz4_0 uPwJL)jIC3FYF;J%k$#~+bt0q44W@7A>!&jDG6)`E5=V&nYxi`+bEdI@#WJcIQ5X zc_69{5Fpwd0N7p10q2)Ru0KjRc>@^wE@CvD4C~(TN`Lk$@{l~!CQ`|lV1NO=Hb%|K)J?ydgzR!>7>`+@__L# zFrVbt6F}PzN7KpJUxN*Ga`M literal 658 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOHXu7*#gG|78*wwK7%{(K zXJ+7mF@Pe*%r7A#5C$)kNHr6~46RSnTV^vKJ;*Flai`>+#+ez+E9WwaTE1XsWZ4tH zauws0*^F~0G3_|TJl9pEVvgYj{vU^!ul`^WDY(GDt^UShptcU#Z$%5XFt2Q35~*0X zg7JwY0|Q8Ko#~G`EMHq0MJ-#aFaQ9IXaUmz diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.1 b/testdata/net_tracer/t6_all_nets.oas.gz.1 index 709ef1e17b2d33fcdb5038dbbcaec348387c3e06..01198a04cded3673c208154b9ee9c777296d9f68 100644 GIT binary patch literal 4518 zcmb7HO=whC6h3(~?`C|)sSXiDLKme-7ojQ@Yr7DCT4>TDWonCbp4!9x#(8aHPS12te>`*c0@%$Kk=d0{LZ+P%(e&7Rjm0pAumz z&%n>X0~*wV@I9(L%|bpkiyDHzN7=qZgU<;!nn#tF?T38W`<&xOQq=9xD#at`t?jM29A>4;21lwi zy@pP_7iKxUB|LZm=XX6mB^pP!<%%l5Tf@h65I!UG&IQPPcOFz(#lGi>-gD1a#PdY{ z)Y;!+{tgexpX6fKH}LIxJX<{Ppz$cKfoi-oN@K@O$$&&W>`tux?+0jXM65(^x&_~R z>)Yc@;4QR0jMa_^zn(r5NAZ z_1}@7rbkT8-ZgwzRCzPThutOUqkja^PdhK+yQ0c{Uv17mhBac%v3W4|r>y<=%K}x7 z=SBM3<*ncHc*y0iuc-1?oX_$1J1+kI+b;eAs=O29ySOF)oQI~5-=oTbQU5va-n!2N z^3L&d{ux!Sy)`Uhg2lHS0 zXMigA8&uT)1@Hf|_g_)v3vv5g_n4$o|5A6T{{gDpPugMjC4SVO)WHFN{~o#i+x2WN9_B)MZIbt zOaG#81yvsH|DtZSkEMQ*H?3ol*KFXDU(~zagVZ1RI)~hOEdHYIIZr$XIB$yF2a?z5 z{4eUB?eH96yNWsbKJ;IfYH!}1j5g8#(h3|@5D ztD(MZ+KX#-E1OlVZe^pY(Y4i0szw)4l{YAj{IJ{MCGIUnjvB>`(!FYsrD5Bz^G8m? h-v}WG9XE%k75i|&sqDeQNoD^XoRs%o)IqaJ{{z1s)4Tux literal 889 zcmd^5&ubGw6rMM;JIVf-?oOFRsR2PM1Vph7h|pYOy3~a>E!{18+e`j{c-v6Lw)E0N zkzxs63Z}FN#X_ul@KRbt$wjC+RZLJpBtnru0~WF1rfG}^{{!D)czoYC@B7|6?^t8@ z#qpG5J4^*KaOpCthtS^@i}X3(Sn8(d*drNh*t0XPHDXPAH|$~edRU6FSeu^8{7Vpv zsE+53Pk3o-bX1ozmg|uA3n>EE2n`Uge}E`ydon#`yI!i>cG!f5`xB%dB1rEvOcv7^ zJ%lnmRcciDWq1s)m1SAHC-{E&l<*r+p|fg{ihMmZ2b=PW^2iW=0jjW|e36;Nn{o~I z6`m{8LsfjhXcd1V)rj!F!cSNtPog4Ewx9xg(t~Jgd;`|Wd{o?$D)1ckC9$^!8#tiy z@*F+k0;dA3;vKv!7-p0=rM2Fo$#ad!OD66HS1rI`qwg)#kZOvn@%b~~bVm50RJyXz zqY?E$@7dOODE_Fc{C4Twq8VT_?1vF9Qt2MSVp>Mo?{fY{Lgd~U*$I)$ZpziO;!evo zUK%>$T1b6G!_O#vr?iHA*5lpJ$-%V?HB+PNALz*F4IJB2kt{=LXoClQ8#^7ycJ)Pa zY@AH)s_Q{&VKU%N+&vpZe4FxL&{{JHyFzd$FK-ZpcoUY`tik=`1*Ma4ogMMa|6BOxF}tS ziVMl2NCgoISX^`=F0#l%ij*$8>Z&UjE<}PzAvMI8_&|FQpWmoZ?K}O5--_Ztg8wG?jo84yf|wtHe+B!##h(?`F1BF*tv{pqKUrJO zfe+mI4gW7ysP=L$j9=rgA>I=B!0a@*{R-7SvE=xZ^tjbJfovB<-CkI~sp%GCt>F1< z?s-EV=HLYCIyIZ0{29o9;2^)t;CvjOA=ZF>nJB*oKcM*vtY<1zdwwm&hyMfcFF9m> z)^mJDwF841K<9x5?F;a`iugc-T-wbF)t+BX@sX1`@V|6u&H>lK_o#MY5I?S=y#RiJ zxIhCfNPLfK&x?>x?P&iWa(wWBW)XRKzCyLf@k2iLdz8=b(BN~%7uBQMYv<3S_)-4A zKMeko!+QS4XwVqLonnkvVa(~*&zyg5zOGW}R#ci_#;sa$87m?k!(*gM5p>zw?FV6& z!zzKcif3N;c$a7rx2;rE`}GDsx`Xf;nRhlo=DYQTO8h!_;`h+=71e&%#edBF9T}0o zM0Pq~BRgAr%jgt(^4>VsKDv#pJiE6zgx*me-3tf)T+QPNj%a8WrN|o;U-}ms?aZ%hGG}dMJKC=8HL=G%*>z=$+q1u57UEz)K3+vt? zXT`n;zDKn;-HYOmRGAo&4cd3ELR4Sus)AAbFYdv=4L?Tccpv9XQSI&Y{x`9Aep3o! za`^XCd{k)Yn{V1xvn~pE} zJy7LA@{V&0s{KHUU+G@-zvA_;i2LC0Me_VoKj>X>-S1yf?W^hds(V57W6{4N?t@=X z##h}*{SW#2dt@EE^>lo>|9E=~q7U%>=X)=x_Go&E^~3Kq_7{YX_`Sxu5mfuQ{(-x% zeT3`JeM3;~chdXk{D@8&(JwfEyU4nB>&^LV`#eFndT#~Qp6nl0-;w^qb-T#--y`~v z?@P(}+IJWSv+n*Va{b(T>ijNm+%GtPgTuamD5|}a=8JC7Hw0gG=N~Aly_e!+O1pvc z-t@Rm)H;UmifX^vz+dxxM&|VcWWHMu@<;LX_^Y)W(7Oe0&hYeFq1rbNh4Dka^T)dI zHokyv|Hkta)!x7tfA}%}bDyY#{VVcw{krUb%v^=()&FubJ)UD_j;Q@&aw{XJEaYGr z`SQP%#>DE#4E&BvaCoLpzO|_(SgFm#yDLL;%txcW{zC#mdgD*4|Pnr$BxC7{``rgOcik|z;a>S_u&*DE(Rj@igyb2w( G+w?y&xzoe| literal 881 zcmd^5&r4KM6u#%)`|iy9ahyI5gNP8K$l`dN7=oLYs- zz`D>`*ziHcrvs;LV}XQTGSj!((})M$k^Moev!x4dGwI5}fzTt`8y0=eSkN7yUySsT yT4pla+FG!+jB^k^K7JWTVjm7SrGLBI%Zl6K(K^+Z2|jt3PY@ED4A1<}fzThqO({MA diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.3 b/testdata/net_tracer/t6_all_nets.oas.gz.3 index daf4f793c74759a6e89d1ef6224d403840a180f3..e807306746ba9924e87a8e1944b921d7c176e854 100644 GIT binary patch literal 4518 zcmb7HJ&0UY6h8ZA=I;2i8RM`*2#bYCuvj#K5Pyo09|d=nAY+tZkyy!M5hO)OVG&Y@ ziiM;I5GQGVv8*#NJxE@(4O}^cu=2I#D zw?s3`;4?l1|HBAPzFgurO7rn;(OJ33hMtXG4>VEINPV&yxM0ydNxr z58VC@|Az`R`Cu`&U*WIA-g)qW*-3DF1)6;3yz*!1aiet%-p+|S-8g=3-wdKQx6nHN zGm!u0ID-BPEM8CxV;pGUe5=q{kM9uY0QR|0)HLoNtEpvhZ#%%^6NLpbkYwy)^$IpabLX!5fCm=Aj&@%E_yJ8`xqqv$ z4_@j1uz!H>uUNhRlpJ)P#gs=dgGTV!q?maB-}lhiPFP7qx{b5< zw|2&v!z;8ij`xpl;cUF0`FJsY;mS~CTmC(@$!Kz`oJscc+u}Q7L`KlAGX=t@A~)Yo`4Z*?b#_eko`5cL?=llCp|CI9w^ z{0qo+r0Z$>(tj|02%-;h|KYwPX!7LrqwgW>^Sj9T!tde;O+KxEq4!uHv%V#0^4sb2 zvwtK{8PTuUeELkr2lc;R#1P2CQr^4Mc?E8H(b#A zG35AZUrgO!{l@)@{Wm-i`j?@}+iAY!4f>Ygt9t*Tp~<^3pUTtYuiigEzIov0JWrnm zn*7236d(EWH}e($xkuDS|1var9iQ#7p5PZ@KSPrT`%~sBOt0aWlk4&vn|RSHznD~a z?3dCMTWy(v-;p^Y@7g>pyWlSTCmEX~vBK&>opW_@v|F^G;Py^|G;;6Jl^-d@8f%yJ!itb zI+^fXk2Ao7*9NpkKs#H}aG&Q-ByRhjJC<@reK(bM#++&YmOGlh86;62?Z7jse;q`_ z%=6QeQ-0DJAGb)#Nqe}{A%WorrfTE&4`L(fPA6yFw4dmXC+M(=`iF2MfHmu6;JVBs z?Fm%ig;A$6TY+cr&REvvCyX8i&&g~Ps`Nf9QkiQ6=3!G`F`kBGwg5F)G`{Pch?ZW5 zJws$F^nl6FNLxi;aV;#fKj05M#Lpu#hqs^#yX0}CE#HK7ybzIhNEKee9+A6Suz?hm z)92|irko0}inh_RcK<5={$6CTiw0L}ntt&HWE8n#%bz7aCiXMh~I}~Lq%sV(9{U6s&7ryI#X>1XXmQ~}Tx5}jND&vVvU1f$7o~(!0=iZZd-(>EaBoMxtbIzteytS$72>UeUx^j`S;V{s{w(4?;m?X{7hACZ+Fzyk53SAH z-~-ox$N%91)t>WYX#wOB} zkAVC)#uc=4hk2L?F|`PjiE_;(yK zkKT5CMzyDRO8h_r*k2od-#RpxfJ@+eR68(?AMg?P0Qk2Z8q~tBg6~o7>FtnTuA#jG zeg+=UKnue6sP;4q`BX17g#8}j_zn#|Cw$R7s=XXP0;Bub>x4eY(U zwmr@m-a^~sSo`WJ_V&*9;t;x2eq=iw__JP)JC1vUmUWq6@A(7VHpV5Q+OYuD{-A=t z;Q5Tq?*zzvw;puAa{T5CgV#-Yj`~9^4C*Tdn3;0^Y>cr z{Jjs{`8QDQtr)-14eKYzTZ8qZ$hz>ls@y-yh}rZuO#$Qa{v9Q0>wB`}#pIT1T!Q*G*9E?O6T_-H8st6a6WIFZK$)p`E^pnnB9EFkMzw2i z-&}vMo2EycSI;e|_GUc3DxDVRr>bL zTNS>W=Bx@|oVh$-Rro^NxEtEnkR|6kX!;FS!rurX2OV!#Zj0tT;PlPG!Ajr!yRlN9 Kd!d7Ro&E+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOMn`5wCuTOFNW6+6GpDm> zkaMVKNW3G036r(pW>PU`e!(gkiri#o zn#>_CQt^TD5?dqJLN<}g7wk=pn^@;^uH+Y~n8tXAv6J%&D=&-S7uLIsZ#V@DPO$yp z61mO9u!!ja^Bqxh9_=ZK~ z#y-ZiOhBnh)+RQn9MGm|jEk5KGEEWTW#VNM{KB$CXrX{$!3WWuydu@WP@Tr8(IWkl zN5sbHgVb4GZU!y^US`1`EE~)^`M8<6KJ)M$;5o>~bf1Syux5i&uK-Z2f%iK<$3ixi zer6_-YF37ncdV6LjYSHM@uvic6r^loy(2GD3$oSb0@qTYfg%DTHX0kO{|a)ma~)>m z*v!UukrQOzLmmx;IXWj8*9vm8f$RgyN&qD;@bof+t*|j#qJ38YC`NM4<692p(V-JisRShY{pYZWgY&%uGlQ7OVh!j0NfvnBSNhMlxVv005GkDail; diff --git a/testdata/net_tracer/t6_all_nets.oas.gz.5 b/testdata/net_tracer/t6_all_nets.oas.gz.5 index 6e1635c137bbe1f531ee9c95ff5a29d73c066855..3aeeab5cdd1ca75acfd35f8f4b9966cf8a0bb7aa 100644 GIT binary patch literal 4518 zcmb7HO=whC6h3(~?`HapQ#(Wu2`);JE`n7MTe}c{T4vOV zf)8B(3;zdmRC{+aj9=m}Al_B*fyrrb+c~OzoHHa3wS z{{zT>V_ZQyi-^};ggy>Du)jHYEQDtWHGual6Qx%injhiYf>1oF9T?;=o4&qquEdMYZ3l;G;VTpOJaz17yBi4^&o)?|I_)%JUWRKCwS_ z@i&>j0|W9Wx!C>__I4wlE$(;lco_G98ZQs?cYu`M^-rn6>9731s9@+{A{;a#Bj^n;Ti@In&!`^ZG1@9BReFe{oYL9jw zr)TzOeRmd}t~XHa_ha$#jq@jXPdqN88+?IhMYTVP@rg3{a6G{^qHP!Ptf=#B19TyNF^ zYnAJ-sCMnV{rSu5&hSK9G~?d`|$Q|VFE7p57xchKVTR6 zlKgp8J1~-em$%MZo=43aquRB%_SfI*rs)yq)pHA~y%~=$dEb@iLC-Cy_FXZ)(>Lo~ z^grkIuc&rEK}Yuw-Af&p{QecyJ|B;-x)LrZ;yl2##<)aOI})JUA5`!cJfD&I?EsnY)`R_1ae91Y?F#m5fve*@edeh4mAzs7 zknjAlF1(dn`2Ko{_bIBqf-nB?V|@LLsDb?}@_YTd?0?8yh3VD*axyKRV+T$sIO#01 zlK*0IzJ0%xhQw;f417i=xU8k~u)GDi;6K@M1_Ali18&ZBiyNzmzUisC(zi5sRr;3Z ztqR}1Ijh1KCo9fZ6~53Y?xyxtWXbssntp?o@HaxpLC2lJ+wyrh;FRXzV5KzwZmbmN KUg)4+r~d)mUDLh* literal 881 zcmY!lcJ=kt^>+;R4CduxWH!_@V0gjKfDB|rrGn#q9V6m{J>C6WUE)3cLR{TlgW|(I zT|zuKSY&u*Akv|J*c8Z!as|hS_y@#0yZZR>u=u%#1T#ZOMn`5wCuTOFNW6+6GpDm> zkaMVKNW3G036nM9W>PU`e!(gkiri#o zn#>_CQt^TD5?dqJLN<}g7wk=pn^@;^uH+Y~n8tXAv6J%&D=&-S7uLIsZ#V@DPO$yp z61mO9u!!ja^Bqxh9_=ZK~ z#y-ZiOhBnh)+RQn9MGm|jEk5KGEEWTW#VNM{KB$CXrX{$!3WWuydw3$P@TqT^g-$@ zFE<01fQW@gi}Xt#US`1`EE~)^`M8<6KJ)M$;5o>~bf1Syux5i&uK-Z2f%iK<$3ixi zer6_-YF37ncdV6LjYSHM@uvic6r^loy(2GD3$j&XgY{oQZg#H2Y#f`}*e-H{40*_- zfzYgTf^n@NHyg+jpsWN?;sQ@EGuT`kqb1sR1%PsJ)qnYgAnJgoh}hU%;93fFvxopM xqu>`NM4<692p(V)JisjYhY{pYZWgY&%uGlQ7OVh!j0Nf_nBSNhMlxVv006^cDa8N)