Skip to content

Commit

Permalink
KPEX/2.5D: added testcases
Browse files Browse the repository at this point in the history
  • Loading branch information
martinjankoehler committed Feb 25, 2025
1 parent 3e07c62 commit 6383c95
Showing 1 changed file with 159 additions and 0 deletions.
159 changes: 159 additions & 0 deletions tests/rcx25/rcx25_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,23 @@ def test_near_body_shield_li1_m1():
)


@allure.parent_suite(parent_suite)
@allure.tag(*tags)
@pytest.mark.slow
@pytest.mark.wip
def test_lateral_fringe_shield_by_same_polygon_li1():
# MAGIC GIVES (8.3 revision 485): (sorting changed to match order)
#_______________________________ NOTE: with halo=8µm __________________________________
# C0 C0 VSUBS 6.41431f $ **FLOATING
#_______________________________ NOTE: with halo=50µm __________________________________
# C0 C0 VSUBS 6.41431f $ **FLOATING
assert_expected_matches_obtained(
'test_patterns', 'lateral_fringe_shield_by_same_polygon_li1.gds.gz',
expected_csv_content="""Device;Net1;Net2;Capacitance [fF]
C1;C0;VSUBS;6.414"""
)


@allure.parent_suite(parent_suite)
@allure.tag(*tags)
@pytest.mark.slow
Expand Down Expand Up @@ -357,3 +374,145 @@ def test_sideoverlap_shielding_simple_plates_li1_m1_m2():
C5;VSUBS;met2;5.291
C6;li1;met2;0.152"""
)


@allure.parent_suite(parent_suite)
@allure.tag(*tags)
@pytest.mark.slow
@pytest.mark.wip
def test_sideoverlap_plates_li1_m1():
# MAGIC GIVES (8.3 revision 485): (sorting changed to match order)
# _______________________________ NOTE: with halo=50µm __________________________________
# C15 LOWER_NoHaloOverlap_InsideTop VSUBS 51.9938f
# C12 LOWER_OutsideHalo VSUBS 73.274605f
# C17 LOWER_PartialSideHaloOverlap_Separated VSUBS 90.6184f
# C13 LOWER_PartialSideHaloOverlap_BothSides_separated VSUBS 7.93086f
# C14 LOWER_PartialSideHaloOverlap_Touching VSUBS 13.637f
# C16 LOWER_FullHaloOverlap VSUBS 0.177602p
# C11 UPPER VSUBS 0.214853p
# C8 LOWER_NoHaloOverlap_InsideTop UPPER 0.146991p
# C7 LOWER_PartialSideHaloOverlap_Touching UPPER 32.1587f
# C10 LOWER_FullHaloOverlap UPPER 0.262817p
# C3 LOWER_FullHaloOverlap LOWER_NoHaloOverlap_InsideTop 0.12574f
# C2 LOWER_NoHaloOverlap_InsideTop LOWER_PartialSideHaloOverlap_Touching 0.063307f
# C9 LOWER_NoHaloOverlap_InsideTop LOWER_OutsideHalo 0.06287f
# C1 LOWER_FullHaloOverlap LOWER_OutsideHalo 0.100592f
# C4 LOWER_PartialSideHaloOverlap_Separated LOWER_FullHaloOverlap 0.248054f
# C5 LOWER_OutsideHalo UPPER 0.076223f
# C6 LOWER_PartialSideHaloOverlap_BothSides_separated UPPER 0.261432f
# C0 LOWER_PartialSideHaloOverlap_Separated UPPER 0.148834f
#

assert_expected_matches_obtained(
'test_patterns', 'sideoverlap_plates_li1_m1.gds.gz',
expected_csv_content="""Device;Net1;Net2;Capacitance [fF]
C1;LOWER_NoHaloOverlap_InsideTop;VSUBS;51.994
C2;LOWER_OutsideHalo;VSUBS;73.274
C3;LOWER_PartialSideHaloOverlap_Separated;VSUBS;90.618
C4;LOWER_PartialSideHaloOverlap_BothSides_separated;VSUBS;7.931
C5;LOWER_PartialSideHaloOverlap_Touching;VSUBS;13.637
C6;LOWER_FullHaloOverlap;VSUBS;177.601
C7;UPPER;VSUBS;214.85
C8;LOWER_NoHaloOverlap_InsideTop;UPPER;146.991
C9;LOWER_PartialSideHaloOverlap_Touching;UPPER;32.159
C10;LOWER_FullHaloOverlap;UPPER;262.817
C11;LOWER_FullHaloOverlap;LOWER_NoHaloOverlap_InsideTop;0.126
C12;LOWER_NoHaloOverlap_InsideTop;LOWER_PartialSideHaloOverlap_Touching;0.063
C13;LOWER_NoHaloOverlap_InsideTop;LOWER_OutsideHalo;0.063
C14;LOWER_FullHaloOverlap;LOWER_OutsideHalo;0.101
C15;LOWER_FullHaloOverlap;LOWER_PartialSideHaloOverlap_BothSides_separated;0.001
C16;LOWER_FullHaloOverlap;LOWER_PartialSideHaloOverlap_Separated;0.248
C17;LOWER_OutsideHalo;UPPER;0.076
C18;LOWER_PartialSideHaloOverlap_BothSides_separated;UPPER;0.261
C19;LOWER_PartialSideHaloOverlap_Separated;UPPER;0.149"""
)


@allure.parent_suite(parent_suite)
@allure.tag(*tags)
@pytest.mark.slow
@pytest.mark.wip
def test_sideoverlap_fingered_li1_m1_patternA():
# MAGIC GIVES (8.3 revision 485): (sorting changed to match order)
# _______________________________ NOTE: with halo=50µm __________________________________
#
# C2 LOWER VSUBS 5.89976f
# C1 UPPER VSUBS 72.328f
# C0 LOWER UPPER 0.357768f

assert_expected_matches_obtained(
'test_patterns', 'sideoverlap_fingered_li1_m1_patternA.gds.gz',
expected_csv_content="""Device;Net1;Net2;Capacitance [fF]
C1;LOWER;VSUBS;5.9
C2;UPPER;VSUBS;72.327
C3;LOWER;UPPER;0.358"""
)


@allure.parent_suite(parent_suite)
@allure.tag(*tags)
@pytest.mark.slow
@pytest.mark.wip
def test_sideoverlap_fingered_li1_m1():
# MAGIC GIVES (8.3 revision 485): (sorting changed to match order)
# _______________________________ NOTE: with halo=50µm __________________________________
#
# C6 LOWER_PartialSideHaloOverlap_Fingered2 VSUBS 8.15974f
# C8 LOWER_PartialSideHaloOverlap_Fingered3 VSUBS 8.16395f
# C7 LOWER_PartialSideHaloOverlap_Fingered1 VSUBS 5.8844f
# C5 LOWER_PartialSideHaloOverlap_Fingered4 VSUBS 5.88862f
# C4 UPPER VSUBS 0.215283p
# C0 LOWER_PartialSideHaloOverlap_Fingered3 UPPER 0.158769f
# C2 LOWER_PartialSideHaloOverlap_Fingered2 UPPER 2.46581f
# C1 LOWER_PartialSideHaloOverlap_Fingered4 UPPER 0.35839f
# C3 LOWER_PartialSideHaloOverlap_Fingered1 UPPER 0.244356f

assert_expected_matches_obtained(
'test_patterns', 'sideoverlap_fingered_li1_m1.gds.gz',
expected_csv_content="""Device;Net1;Net2;Capacitance [fF]
C1;LOWER_PartialSideHaloOverlap_Fingered2;VSUBS;8.16
C2;LOWER_PartialSideHaloOverlap_Fingered3;VSUBS;8.164
C3;LOWER_PartialSideHaloOverlap_Fingered1;VSUBS;5.884
C4;LOWER_PartialSideHaloOverlap_Fingered4;VSUBS;5.889
C5;UPPER;VSUBS;215.281
C6;LOWER_PartialSideHaloOverlap_Fingered2;LOWER_PartialSideHaloOverlap_Fingered3;0.002
C7;LOWER_PartialSideHaloOverlap_Fingered1;LOWER_PartialSideHaloOverlap_Fingered2;0.003
C8;LOWER_PartialSideHaloOverlap_Fingered1;LOWER_PartialSideHaloOverlap_Fingered4;0.016
C9;LOWER_PartialSideHaloOverlap_Fingered3;UPPER;0.159
C10;LOWER_PartialSideHaloOverlap_Fingered2;UPPER;2.466
C11;LOWER_PartialSideHaloOverlap_Fingered4;UPPER;0.358
C12;LOWER_PartialSideHaloOverlap_Fingered1;UPPER;0.244"""
)


@allure.parent_suite(parent_suite)
@allure.tag(*tags)
@pytest.mark.slow
@pytest.mark.wip
def test_sideoverlap_complex_li1_m1():
# MAGIC GIVES (8.3 revision 485): (sorting changed to match order)
# _______________________________ NOTE: with halo=50µm __________________________________
#
# C6 Complex_Shape_L VSUBS 3.19991f
# C8 Complex_Shape_T VSUBS 3.19991f
# C7 Complex_Shape_R VSUBS 3.19991f
# C5 Complex_Shape_B VSUBS 3.19991f
# C4 UPPER VSUBS 13.0192f
# C0 Complex_Shape_B UPPER 1.34751f
# C3 Complex_Shape_T UPPER 0.064969f
# C2 Complex_Shape_R UPPER 0.089357f
# C1 Complex_Shape_L UPPER 0.24889f

assert_expected_matches_obtained(
'test_patterns', 'sideoverlap_complex_li1_m1.gds.gz',
expected_csv_content="""Device;Net1;Net2;Capacitance [fF]
C1;Complex_Shape_L;VSUBS;3.2
C2;Complex_Shape_T;VSUBS;3.2
C3;Complex_Shape_R;VSUBS;3.2
C4;Complex_Shape_B;VSUBS;3.2
C5;UPPER;VSUBS;13.019
C6;Complex_Shape_B;UPPER;1.348
C7;Complex_Shape_T;UPPER;0.065
C8;Complex_Shape_R;UPPER;0.089
C9;Complex_Shape_L;UPPER;0.249"""
)

0 comments on commit 6383c95

Please sign in to comment.