Bugfix: 'netter' function in DRC wasn't working as described - it raised an error

This commit is contained in:
Matthias Koefferlein 2024-08-07 00:26:10 +02:00
parent fd1dc842e0
commit 33a3a15791
6 changed files with 52 additions and 1 deletions

View File

@ -2308,7 +2308,7 @@ CODE
def netter def netter
self._context("netter") do self._context("netter") do
DRC::DRCNetter::new DRC::DRCNetter::new(self)
end end
end end

View File

@ -1568,6 +1568,16 @@ TEST(70d_props)
run_test (_this, "70", true); run_test (_this, "70", true);
} }
TEST(71_netter)
{
run_test (_this, "71", false);
}
TEST(71d_netter)
{
run_test (_this, "71", true);
}
TEST(80_deep_with_mag_width) TEST(80_deep_with_mag_width)
{ {
run_test (_this, "80", true); run_test (_this, "80", true);

41
testdata/drc/drcSimpleTests_71.drc vendored Normal file
View File

@ -0,0 +1,41 @@
# Moved implementation
source($drc_test_source)
target($drc_test_target)
if $drc_test_deep
deep
end
l1 = input(1, 0)
l2 = input(2, 0)
l3 = input(3, 0)
# dump to output
l1.output(1, 0)
l2.output(2, 0)
l3.output(3, 0)
ctx1 = netter
ctx1.connect(l1, l2)
connect(l1, l3)
l1.nets.output(100, 0)
begin
l2.nets.output(101, 0)
raise "internal error - l2 was not used in connectivity"
rescue => ex
end
l3.nets.output(102, 0)
l1.nets(ctx1).output(110, 0)
l2.nets(ctx1).output(111, 0)
begin
l3.nets(ctx1).output(112, 0)
raise "internal error - l3 was not used in connectivity"
rescue => ex
end

BIN
testdata/drc/drcSimpleTests_71.gds vendored Normal file

Binary file not shown.

BIN
testdata/drc/drcSimpleTests_au71.gds vendored Normal file

Binary file not shown.

BIN
testdata/drc/drcSimpleTests_au71d.gds vendored Normal file

Binary file not shown.