diff --git a/testdata/drc/drcSimpleTests_122.drc b/testdata/drc/drcSimpleTests_122.drc new file mode 100644 index 000000000..ec6b68fde --- /dev/null +++ b/testdata/drc/drcSimpleTests_122.drc @@ -0,0 +1,36 @@ + +source $drc_test_source +report_netlist $drc_test_target + +deep + +l1 = input(1, 0) +l2 = input(2, 0) +l3 = input(3, 0) + +active = input(10, 0) +poly = input(11, 0) +contact = input(12, 0) + +sd = active - poly +gate = active & poly + +name(l1, "l1") +name(l2, "l2") +name(l3, "l3", RBA::LayerInfo::new(3, 0, "l3")) +name(sd, "sd", 17, 0) +name(poly, "poly", 11) +name(gate, "gate") +name(contact, "contact") + +mos_ex = RBA::DeviceExtractorMOS3Transistor::new("MOS") +extract_devices(mos_ex, { "SD" => sd, "G" => gate, "P" => poly }) + +connect(contact, poly) +connect(contact, sd) +connect(l1, contact) +connect(l1, l2) +connect(l2, l3) + +netlist + diff --git a/testdata/drc/drcSimpleTests_122.gds b/testdata/drc/drcSimpleTests_122.gds new file mode 100644 index 000000000..c70c6c2a8 Binary files /dev/null and b/testdata/drc/drcSimpleTests_122.gds differ diff --git a/testdata/drc/drcSimpleTests_au122.l2n b/testdata/drc/drcSimpleTests_au122.l2n new file mode 100644 index 000000000..d34f94a3f --- /dev/null +++ b/testdata/drc/drcSimpleTests_au122.l2n @@ -0,0 +1,113 @@ +#%l2n-klayout +W(TOP) +U(0.001) +L(l1 '1/0') +L(l2 '2/0') +L(l3 'l3 (3/0)') +L(poly '11/0') +L(contact '12/0') +L(sd '17/0') +C(l1 l1 l2 contact) +C(l2 l1 l2 l3) +C(l3 l2 l3) +C(poly poly contact) +C(contact l1 poly contact sd) +C(sd contact sd) +K(MOS MOS3) +D(D$MOS MOS + T(S + R(sd (-2000 -2600) (4000 800)) + ) + T(G + R(poly (-2000 -1800) (4000 3600)) + ) + T(D + R(sd (-2000 1800) (4000 800)) + ) +) +X(A + R((-2800 -2500) (5600 5200)) + N(1 + R(contact (-1900 2000) (600 600)) + R(contact (-600 -600) (600 600)) + R(contact (2600 -600) (600 600)) + R(contact (-600 -600) (600 600)) + R(contact (-2200 -600) (600 600)) + R(contact (-600 -600) (600 600)) + R(sd (-2300 -700) (4000 800)) + ) + N(2 + R(contact (-1900 -2400) (600 600)) + R(contact (2600 -600) (600 600)) + R(contact (-2200 -600) (600 600)) + R(sd (-2300 -700) (4000 800)) + ) + N(3 + R(poly (-2800 -1700) (5600 3600)) + ) + P(1) + P(2) + P(3) + D(1 D$MOS + Y(0 100) + E(L 3.6) + E(W 4) + E(AS 3.2) + E(AD 3.2) + E(PS 9.6) + E(PD 9.6) + T(S 2) + T(G 3) + T(D 1) + ) +) +X(AA + R((-2050 -1950) (5600 5200)) + N(1) + N(2) + N(3) + P(1) + P(2) + P(3) + X(1 A O(180) Y(750 750) + P(0 2) + P(1 1) + P(2 3) + ) +) +X(TOP + R((-3150 -3500) (8050 12650)) + N(1 I(B) + R(l1 (1650 5200) (3250 2800)) + R(l1 (-3300 -10700) (800 4000)) + R(l2 (1100 5100) (700 700)) + R(l2 (-2500 -8200) (700 700)) + Q(l3 (-790 -810) (0 1000) (1790 0) (0 7510) (1000 0) (0 -8510)) + R(l3 (-500 3410) (0 0)) + R(contact (-2100 3300) (600 600)) + R(contact (-600 1000) (600 600)) + ) + N(2 I(A) + R(l1 (-1400 1300) (2600 3000)) + R(l1 (-3550 -350) (4000 750)) + R(l1 (-1650 -1700) (0 0)) + R(contact (-1200 -1600) (600 600)) + R(contact (1000 -600) (600 600)) + ) + N(3 + R(l1 (-2350 8300) (4000 850)) + ) + N(4 + R(l1 (-2800 -2800) (800 4100)) + ) + X(1 AA Y(-1100 5900) + P(0 3) + P(1 2) + P(2 1) + ) + X(2 A O(90) Y(-100 -700) + P(0 4) + P(1 1) + P(2 2) + ) +)