mirror of
https://github.com/VLSIDA/OpenRAM.git
synced 2026-09-04 08:44:12 +02:00
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:
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
Reference in New Issue
Block a user