mirror of
https://github.com/KLayout/klayout.git
synced 2026-09-01 02:18:09 +02:00
* WIP: added basic feature and tests. * WIP: provide tests are GSI binding of new antenna check * Fixed issue #579 (perimeter_only mode for antenna check) * Updated DRC doc for 'perimeter_only'
This commit is contained in:
Vendored
BIN
Binary file not shown.
Vendored
+7
@@ -52,3 +52,10 @@ antenna_check(area_and_perimeter(gate, 70.nm), area_only(metal2), 5.0, diode).ou
|
||||
antenna_check(area_and_perimeter(gate, 0.07), area_only(metal2), 10.0, diode).output(410)
|
||||
antenna_check(area_and_perimeter(gate, 0.07), area_only(metal2), 50.0, diode).output(450)
|
||||
|
||||
antenna_check(perimeter_only(gate, 0.07.um), area_only(metal2), 1.0, diode).output(501)
|
||||
antenna_check(perimeter_only(gate, 0.07.um), area_only(metal2), 1.5, diode).output(502)
|
||||
antenna_check(perimeter_only(gate, 0.07.um), area_only(metal2), 2.0, diode).output(503)
|
||||
antenna_check(perimeter_only(gate, 70.nm), area_only(metal2), 5.0, diode).output(505)
|
||||
antenna_check(perimeter_only(gate, 0.07), area_only(metal2), 10.0, diode).output(510)
|
||||
antenna_check(perimeter_only(gate, 0.07), area_only(metal2), 50.0, diode).output(550)
|
||||
|
||||
|
||||
Vendored
BIN
Binary file not shown.
Vendored
+18
@@ -798,6 +798,15 @@ END
|
||||
assert_equal((a5_15.flatten ^ RBA::Region::new(ly_au.top_cell.begin_shapes_rec(ly_au.layer(501, 0)))).to_s, "")
|
||||
assert_equal((a5_29.flatten ^ RBA::Region::new(ly_au.top_cell.begin_shapes_rec(ly_au.layer(502, 0)))).to_s, "")
|
||||
|
||||
b5_5 = l2n.antenna_check(rpoly, 2.0, 0.0, rmetal2, 1.0, 1.0, 2.5)
|
||||
b5_15 = l2n.antenna_check(rpoly, 2.0, 0.0, rmetal2, 1.0, 1.0, 7.5)
|
||||
b5_29 = l2n.antenna_check(rpoly, 2.0, 0.0, rmetal2, 1.0, 1.0, 14.5)
|
||||
|
||||
# Note: flatten.merged performs some normalization
|
||||
assert_equal((b5_5.flatten ^ RBA::Region::new(ly_au.top_cell.begin_shapes_rec(ly_au.layer(500, 0)))).to_s, "")
|
||||
assert_equal((b5_15.flatten ^ RBA::Region::new(ly_au.top_cell.begin_shapes_rec(ly_au.layer(501, 0)))).to_s, "")
|
||||
assert_equal((b5_29.flatten ^ RBA::Region::new(ly_au.top_cell.begin_shapes_rec(ly_au.layer(502, 0)))).to_s, "")
|
||||
|
||||
# --- antenna check gate perimeter included
|
||||
|
||||
l2n._destroy
|
||||
@@ -830,6 +839,15 @@ END
|
||||
assert_equal((a6_5.flatten ^ RBA::Region::new(ly_au.top_cell.begin_shapes_rec(ly_au.layer(601, 0)))).to_s, "")
|
||||
assert_equal((a6_9.flatten ^ RBA::Region::new(ly_au.top_cell.begin_shapes_rec(ly_au.layer(602, 0)))).to_s, "")
|
||||
|
||||
b6_3 = l2n.antenna_check(rpoly, 1.0, 0.3, rmetal2, 2.0, 0.0, 6)
|
||||
b6_5 = l2n.antenna_check(rpoly, 1.0, 0.3, rmetal2, 2.0, 0.0, 10)
|
||||
b6_9 = l2n.antenna_check(rpoly, 1.0, 0.3, rmetal2, 2.0, 0.0, 18)
|
||||
|
||||
# Note: flatten.merged performs some normalization
|
||||
assert_equal((b6_3.flatten ^ RBA::Region::new(ly_au.top_cell.begin_shapes_rec(ly_au.layer(600, 0)))).to_s, "")
|
||||
assert_equal((b6_5.flatten ^ RBA::Region::new(ly_au.top_cell.begin_shapes_rec(ly_au.layer(601, 0)))).to_s, "")
|
||||
assert_equal((b6_9.flatten ^ RBA::Region::new(ly_au.top_cell.begin_shapes_rec(ly_au.layer(602, 0)))).to_s, "")
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user