Clean up and generalize layer rules.

Convert metalN to mN.
Generalize helper constants in modules for
space, width, enclose, etc.
Use layer stacks whever possible.
Try to remove drc() calls in liu of helper constants.
This commit is contained in:
Matt Guthaus
2019-12-17 11:03:36 -08:00
parent a79d03fef4
commit ed28b4983b
52 changed files with 604 additions and 578 deletions
+8 -8
View File
@@ -23,8 +23,8 @@ class path_test(openram_test):
import tech
import design
min_space = 2 * tech.drc["minwidth_metal1"]
layer_stack = ("metal1")
min_space = 2 * tech.drc["minwidth_m1"]
layer_stack = ("m1")
# checks if we can retrace a path
position_list = [[0,0],
[0, 3 * min_space ],
@@ -37,8 +37,8 @@ class path_test(openram_test):
self.local_drc_check(w)
min_space = 2 * tech.drc["minwidth_metal1"]
layer_stack = ("metal1")
min_space = 2 * tech.drc["minwidth_m1"]
layer_stack = ("m1")
old_position_list = [[0, 0],
[0, 3 * min_space],
[1 * min_space, 3 * min_space],
@@ -53,8 +53,8 @@ class path_test(openram_test):
wire_path.wire_path(w,layer_stack, position_list)
self.local_drc_check(w)
min_space = 2 * tech.drc["minwidth_metal2"]
layer_stack = ("metal2")
min_space = 2 * tech.drc["minwidth_m2"]
layer_stack = ("m2")
old_position_list = [[0, 0],
[0, 3 * min_space],
[1 * min_space, 3 * min_space],
@@ -69,8 +69,8 @@ class path_test(openram_test):
wire_path.wire_path(w, layer_stack, position_list)
self.local_drc_check(w)
min_space = 2 * tech.drc["minwidth_metal3"]
layer_stack = ("metal3")
min_space = 2 * tech.drc["minwidth_m3"]
layer_stack = ("m3")
position_list = [[0, 0],
[0, 3 * min_space],
[1 * min_space, 3 * min_space],
+10 -10
View File
@@ -24,7 +24,7 @@ class wire_test(openram_test):
import design
min_space = 2 * (tech.drc["minwidth_poly"] +
tech.drc["minwidth_metal1"])
tech.drc["minwidth_m1"])
layer_stack = tech.poly_stack
old_position_list = [[0, 0],
[0, 3 * min_space],
@@ -41,7 +41,7 @@ class wire_test(openram_test):
self.local_drc_check(w)
min_space = 2 * (tech.drc["minwidth_poly"] +
tech.drc["minwidth_metal1"])
tech.drc["minwidth_m1"])
layer_stack = tech.poly_stack
old_position_list = [[0, 0],
[0, 3 * min_space],
@@ -57,8 +57,8 @@ class wire_test(openram_test):
wire.wire(w, layer_stack, position_list)
self.local_drc_check(w)
min_space = 2 * (tech.drc["minwidth_metal2"] +
tech.drc["minwidth_metal1"])
min_space = 2 * (tech.drc["minwidth_m2"] +
tech.drc["minwidth_m1"])
layer_stack = tech.m1_stack
position_list = [[0, 0],
[0, 3 * min_space],
@@ -74,8 +74,8 @@ class wire_test(openram_test):
self.local_drc_check(w)
min_space = 2 * (tech.drc["minwidth_metal2"] +
tech.drc["minwidth_metal1"])
min_space = 2 * (tech.drc["minwidth_m2"] +
tech.drc["minwidth_m1"])
layer_stack = tech.m2_stack[::-1]
position_list = [[0, 0],
[0, 3 * min_space],
@@ -90,8 +90,8 @@ class wire_test(openram_test):
wire.wire(w, layer_stack, position_list)
self.local_drc_check(w)
min_space = 2 * (tech.drc["minwidth_metal2"] +
tech.drc["minwidth_metal3"])
min_space = 2 * (tech.drc["minwidth_m2"] +
tech.drc["minwidth_m3"])
layer_stack = tech.m2_stack
position_list = [[0, 0],
[0, 3 * min_space],
@@ -107,8 +107,8 @@ class wire_test(openram_test):
wire.wire(w, layer_stack, position_list)
self.local_drc_check(w)
min_space = 2 * (tech.drc["minwidth_metal2"] +
tech.drc["minwidth_metal3"])
min_space = 2 * (tech.drc["minwidth_m2"] +
tech.drc["minwidth_m3"])
layer_stack = tech.m2_stack[::-1]
position_list = [[0, 0],
[0, 3 * min_space],