1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
# Hierarchical antenna check
source($drc_test_source, "RINGO")
target($drc_test_target)
deep
diff = input(2, 0)
poly = input(3, 0)
diff_cont = input(4, 0)
poly_cont = input(5, 0)
metal1 = input(6, 0)
via1 = input(7, 0)
metal2 = input(8, 0)
diode = input(2, 10)
gate = diff & poly
connect(gate, poly)
connect(poly, poly_cont)
connect(diode, diff_cont)
connect(diff_cont, metal1)
connect(poly_cont, metal1)
connect(metal1, via1)
connect(via1, metal2)
antenna_check(gate, metal2, 1.0, diode).output(101)
values = labels
antenna_check(gate, metal2, 1.0, diode, values).output(101, 1)
values.output(101, 10)
antenna_check(gate, metal2, 1.5, diode).output(102)
antenna_check(gate, metal2, 2.0, diode).output(103)
antenna_check(gate, metal2, 5.0, diode).output(105)
antenna_check(gate, metal2, 10.0, diode).output(110)
antenna_check(gate, metal2, 50.0, diode).output(150)
antenna_check(gate, metal2, 1.0, [ diode, 0.5 ]).output(201)
values = labels
antenna_check(gate, metal2, 1.0, [ diode, 0.5 ], values).output(201, 1)
values.output(201, 10)
antenna_check(gate, metal2, 1.0, [ diode, 5.0 ]).output(202)
antenna_check(gate, metal2, 5.0, [ diode, 5.0 ]).output(205)
antenna_check(gate, metal2, 10.0, [ diode, 5.0 ]).output(210)
antenna_check(gate, metal2, 50.0, [ diode, 5.0 ]).output(250)
antenna_check(area_only(gate), area_and_perimeter(metal2, 0.2.um), 1.0, diode).output(301)
values = labels
antenna_check(area_only(gate), area_and_perimeter(metal2, 0.2.um), 1.0, diode, values).output(301, 1)
values.output(301, 10)
antenna_check(area_only(gate), area_and_perimeter(metal2, 0.2.um), 1.5, diode).output(302)
antenna_check(area_only(gate), area_and_perimeter(metal2, 0.2.um), 2.0, diode).output(303)
antenna_check(area_only(gate), area_and_perimeter(metal2, 0.2), 5.0, diode).output(305)
antenna_check(area_only(gate), area_and_perimeter(metal2, 0.0002.mm), 10.0, diode).output(310)
antenna_check(area_only(gate), area_and_perimeter(metal2, 200.nm), 50.0, diode).output(350)
antenna_check(area_and_perimeter(gate, 0.07.um), area_only(metal2), 1.0, diode).output(401)
values = labels
antenna_check(area_and_perimeter(gate, 0.07.um), area_only(metal2), 1.0, diode, values).output(401, 1)
values.output(401, 10)
antenna_check(area_and_perimeter(gate, 0.07.um), area_only(metal2), 1.5, diode).output(402)
antenna_check(area_and_perimeter(gate, 0.07.um), area_only(metal2), 2.0, diode).output(403)
antenna_check(area_and_perimeter(gate, 70.nm), area_only(metal2), 5.0, diode).output(405)
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)
values = labels
antenna_check(perimeter_only(gate, 0.07.um), area_only(metal2), 1.0, diode, values).output(501, 1)
values.output(501, 10)
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)
|