mirror of https://github.com/VLSIDA/OpenRAM.git
Clean up config file organization. Improve gdsMill debug output.
This commit is contained in:
parent
e4b490051d
commit
764d4da1bd
|
|
@ -24,6 +24,7 @@ class setup_hold():
|
|||
# This must match the spice model order
|
||||
self.pins = ["data", "dout", "clk", "vdd", "gnd"]
|
||||
self.model_name = "dff"
|
||||
print(OPTS.openram_tech)
|
||||
self.model_location = OPTS.openram_tech + "sp_lib/dff.sp"
|
||||
self.period = tech.spice["feasible_period"]
|
||||
|
||||
|
|
|
|||
|
|
@ -193,17 +193,21 @@ class VlsiLayout:
|
|||
delegateFunction(startingStructureName, transformPath)
|
||||
#starting with a particular structure, we will recursively traverse the tree
|
||||
#********might have to set the recursion level deeper for big layouts!
|
||||
if(len(self.structures[startingStructureName].srefs)>0): #does this structure reference any others?
|
||||
#if so, go through each and call this function again
|
||||
#if not, return back to the caller (caller can be this function)
|
||||
for sref in self.structures[startingStructureName].srefs:
|
||||
#here, we are going to modify the sref coordinates based on the parent objects rotation
|
||||
self.traverseTheHierarchy(startingStructureName = sref.sName,
|
||||
delegateFunction = delegateFunction,
|
||||
transformPath = transformPath,
|
||||
rotateAngle = sref.rotateAngle,
|
||||
transFlags = sref.transFlags,
|
||||
coordinates = sref.coordinates)
|
||||
try:
|
||||
if(len(self.structures[startingStructureName].srefs)>0): #does this structure reference any others?
|
||||
#if so, go through each and call this function again
|
||||
#if not, return back to the caller (caller can be this function)
|
||||
for sref in self.structures[startingStructureName].srefs:
|
||||
#here, we are going to modify the sref coordinates based on the parent objects rotation
|
||||
self.traverseTheHierarchy(startingStructureName = sref.sName,
|
||||
delegateFunction = delegateFunction,
|
||||
transformPath = transformPath,
|
||||
rotateAngle = sref.rotateAngle,
|
||||
transFlags = sref.transFlags,
|
||||
coordinates = sref.coordinates)
|
||||
except KeyError:
|
||||
debug.error("Could not find structure {} in GDS file.".format(startingStructureName),-1)
|
||||
|
||||
#MUST HANDLE AREFs HERE AS WELL
|
||||
#when we return, drop the last transform from the transformPath
|
||||
del transformPath[-1]
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import debug
|
|||
class library_drc_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import verify
|
||||
|
||||
(gds_dir, gds_files) = setup_files()
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import debug
|
|||
class library_lvs_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import verify
|
||||
|
||||
(gds_dir, sp_dir, allnames) = setup_files()
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class contact_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
for layer_stack in [("metal1", "via1", "metal2"), ("poly", "contact", "metal1")]:
|
||||
stack_name = ":".join(map(str, layer_stack))
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import debug
|
|||
class path_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import wire_path
|
||||
import tech
|
||||
import design
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class ptx_1finger_nmos_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import tech
|
||||
|
||||
debug.info(2, "Checking min size NMOS with 1 finger")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class ptx_1finger_pmos_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import tech
|
||||
|
||||
debug.info(2, "Checking min size PMOS with 1 finger")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class ptx_3finger_nmos_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import tech
|
||||
|
||||
debug.info(2, "Checking three fingers NMOS")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class ptx_3finger_pmos_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import tech
|
||||
|
||||
debug.info(2, "Checking three fingers PMOS")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class ptx_4finger_nmos_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import tech
|
||||
|
||||
debug.info(2, "Checking three fingers NMOS")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class ptx_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import tech
|
||||
|
||||
debug.info(2, "Checking three fingers PMOS")
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import debug
|
|||
class wire_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import wire
|
||||
import tech
|
||||
import design
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class replica_pbitcell_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import dummy_pbitcell
|
||||
|
||||
OPTS.bitcell = "pbitcell"
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pand2_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
global verify
|
||||
import verify
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pand3_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
global verify
|
||||
import verify
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ from sram_factory import factory
|
|||
class pbitcell_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
OPTS.num_rw_ports=1
|
||||
OPTS.num_w_ports=1
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pbuf_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing inverter/buffer 4x 8x")
|
||||
a = factory.create(module_type="pbuf", size=8)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pdriver_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing inverter/buffer 4x 8x")
|
||||
# a tests the error message for specifying conflicting conditions
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pinv_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Checking 8x inverter")
|
||||
tx = factory.create(module_type="pinv", size=8)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pinv_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Checking 1x beta=3 size inverter")
|
||||
tx = factory.create(module_type="pinv", size=1, beta=3)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pinv_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Checking 1x size inverter")
|
||||
tx = factory.create(module_type="pinv", size=1)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pinv_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Checking 2x size inverter")
|
||||
tx = factory.create(module_type="pinv", size=2)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pinvbuf_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing inverter/buffer 4x 8x")
|
||||
a = factory.create(module_type="pinvbuf", size=8)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pnand2_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Checking 2-input nand gate")
|
||||
tx = factory.create(module_type="pnand2", size=1)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pnand3_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Checking 3-input nand gate")
|
||||
tx = factory.create(module_type="pnand3", size=1)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class pnor2_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Checking 2-input nor gate")
|
||||
tx = factory.create(module_type="pnor2", size=1)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class precharge_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
# check precharge in single port
|
||||
debug.info(2, "Checking precharge for handmade bitcell")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class replica_pbitcell_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import replica_pbitcell
|
||||
|
||||
OPTS.bitcell = "pbitcell"
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import debug
|
|||
class single_level_column_mux_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
# check single level column mux in single port
|
||||
debug.info(2, "Checking column mux")
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ class bitcell_1rw_1r_array_test(openram_test):
|
|||
|
||||
def runTest(self):
|
||||
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
OPTS.bitcell = "bitcell_1rw_1r"
|
||||
OPTS.replica_bitcell = "replica_bitcell_1rw_1r"
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import debug
|
|||
class array_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing 4x4 array for 6t_cell")
|
||||
a = factory.create(module_type="bitcell_array", cols=4, rows=4)
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import debug
|
|||
class dummy_row_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing dummy row for 6t_cell")
|
||||
a = factory.create(module_type="dummy_array", rows=1, cols=4)
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class pbitcell_array_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing 4x4 array for multiport bitcell, with read ports at the edge of the bit cell")
|
||||
OPTS.bitcell = "pbitcell"
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import debug
|
|||
class replica_bitcell_array_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
OPTS.bitcell = "pbitcell"
|
||||
OPTS.replica_bitcell = "replica_pbitcell"
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class hierarchical_decoder_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
# Doesn't require hierarchical decoder
|
||||
# debug.info(1, "Testing 4 row sample for hierarchical_decoder")
|
||||
# a = hierarchical_decoder.hierarchical_decoder(name="hd1, rows=4)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class hierarchical_predecode2x4_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
# checking hierarchical precode 2x4 for single port
|
||||
debug.info(1, "Testing sample for hierarchy_predecode2x4")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class hierarchical_predecode3x8_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
# checking hierarchical precode 3x8 for single port
|
||||
debug.info(1, "Testing sample for hierarchy_predecode3x8")
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import debug
|
|||
class single_level_column_mux_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import single_level_column_mux_array
|
||||
|
||||
# check single level column mux array in single port
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class precharge_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
# check precharge array in single port
|
||||
debug.info(2, "Checking 3 column precharge")
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import debug
|
|||
class wordline_driver_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
# check wordline driver for single port
|
||||
debug.info(2, "Checking driver")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class sense_amp_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
# check sense amp array for single port
|
||||
debug.info(2, "Testing sense_amp_array for word_size=4, words_per_row=2")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class write_driver_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
# check write driver array for single port
|
||||
debug.info(2, "Testing write_driver_array for columns=8, word_size=8")
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import debug
|
|||
class write_driver_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
# check write driver array for single port
|
||||
debug.info(2, "Testing write_driver_array for columns=8, word_size=8, write_size=4")
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import debug
|
|||
class write_mask_and_array_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
# check write driver array for single port
|
||||
debug.info(2, "Testing write_mask_and_array for columns=8, word_size=8, write_size=4")
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class dff_array_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing dff_array for 3x3")
|
||||
a = factory.create(module_type="dff_array", rows=3, columns=3)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class dff_buf_array_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing dff_buf_array for 3x3")
|
||||
a = factory.create(module_type="dff_buf_array", rows=3, columns=3)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class dff_buf_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing dff_buf 4x 8x")
|
||||
a = factory.create(module_type="dff_buf", inv1_size=4, inv2_size=8)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class tri_gate_array_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(1, "Testing tri_gate_array for columns=8, word_size=8")
|
||||
a = factory.create(module_type="tri_gate_array", columns=8, word_size=8)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class delay_chain_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing delay_chain")
|
||||
a = factory.create(module_type="delay_chain", fanout_list=[4, 4, 4, 4])
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import debug
|
|||
class replica_bitcell_array_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
OPTS.bitcell = "bitcell_1rw_1r"
|
||||
OPTS.replica_bitcell = "replica_bitcell_1rw_1r"
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import debug
|
|||
class replica_bitcell_array_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing 4x4 array for 6t_cell")
|
||||
a = factory.create(module_type="replica_bitcell_array", cols=4, rows=4, left_rbl=1, right_rbl=0, bitcell_ports=[0])
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import debug
|
|||
class replica_column_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(2, "Testing replica column for 6t_cell")
|
||||
a = factory.create(module_type="replica_column", rows=4, left_rbl=1, right_rbl=0, replica_bit=1)
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import debug
|
|||
class control_logic_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import control_logic
|
||||
import tech
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class control_logic_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
import control_logic
|
||||
import tech
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import debug
|
|||
class port_address_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(1, "Port address 16 rows")
|
||||
a = factory.create("port_address", cols=16, rows=16)
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import debug
|
|||
class port_data_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
c = sram_config(word_size=4,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class port_data_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
c = sram_config(word_size=16,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class bank_select_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
|
||||
debug.info(1, "No column mux, rw control logic")
|
||||
a = factory.create(module_type="bank_select", port="rw")
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class multi_bank_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
c = sram_config(word_size=4,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class multi_bank_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
OPTS.bitcell = "pbitcell"
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class psingle_bank_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "pbitcell"
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class single_bank_1rw_1r_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "bitcell_1rw_1r"
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class single_bank_1w_1r_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "bitcell_1w_1r"
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class single_bank_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
c = sram_config(word_size=4,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class single_bank_wmask_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class psram_1bank_2mux_1rw_1w_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "pbitcell"
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import debug
|
|||
class psram_1bank_2mux_1rw_1w_wmask_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "pbitcell"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class psram_1bank_2mux_1w_1r_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "pbitcell"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class psram_1bank_2mux_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
OPTS.bitcell = "pbitcell"
|
||||
OPTS.replica_bitcell="replica_pbitcell"
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class psram_1bank_4mux_1rw_1r_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "pbitcell"
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class sram_1bank_2mux_1rw_1r_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "bitcell_1rw_1r"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class psram_1bank_2mux_1w_1r_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "bitcell_1w_1r"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class sram_1bank_2mux_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
c = sram_config(word_size=4,
|
||||
num_words=32,
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import debug
|
|||
class sram_1bank_2mux_wmask_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
c = sram_config(word_size=8,
|
||||
write_size=4,
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import debug
|
|||
class sram_1bank_32b_1024_wmask_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
c = sram_config(word_size=32,
|
||||
write_size=8,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class sram_1bank_4mux_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
c = sram_config(word_size=4,
|
||||
num_words=64,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class sram_1bank_8mux_1rw_1r_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "bitcell_1rw_1r"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class sram_1bank_8mux_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
c = sram_config(word_size=2,
|
||||
num_words=128,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class sram_1bank_nomux_1rw_1r_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
|
||||
OPTS.bitcell = "bitcell_1rw_1r"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class sram_1bank_nomux_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
c = sram_config(word_size=4,
|
||||
num_words=16,
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import debug
|
|||
class sram_1bank_nomux_wmask_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
c = sram_config(word_size=8,
|
||||
write_size=4,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class sram_2bank_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
from sram_config import sram_config
|
||||
c = sram_config(word_size=16,
|
||||
num_words=32,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class timing_sram_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.spice_name="hspice"
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class timing_setup_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.spice_name="hspice"
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class model_delay_test(openram_test):
|
|||
""" Compare the accuracy of the analytical model with a spice simulation. """
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class timing_sram_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.spice_name="ngspice"
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class timing_setup_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.spice_name="ngspice"
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class psram_1bank_2mux_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
OPTS.trim_netlist = False
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class psram_1bank_4mux_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
OPTS.trim_netlist = False
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class psram_1bank_8mux_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
OPTS.trim_netlist = False
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class psram_1bank_nomux_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
OPTS.trim_netlist = False
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class sram_1bank_2mux_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
OPTS.trim_netlist = False
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class sram_1bank_4mux_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
OPTS.trim_netlist = False
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class sram_1bank_8mux_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
OPTS.trim_netlist = False
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class sram_1bank_nomux_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class psram_1bank_nomux_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
OPTS.trim_netlist = False
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import debug
|
|||
class sram_wmask_1w_1r_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
OPTS.trim_netlist = False
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import debug
|
|||
class sram_wmask_func_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.analytical_delay = False
|
||||
OPTS.netlist_only = True
|
||||
OPTS.trim_netlist = False
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import debug
|
|||
class lib_model_corners_lib_test(openram_test):
|
||||
|
||||
def runTest(self):
|
||||
globals.init_openram("config_{0}".format(OPTS.tech_name))
|
||||
globals.init_openram("{}/config".format(OPTS.tech_name))
|
||||
OPTS.netlist_only = True
|
||||
|
||||
from characterizer import lib
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue