mirror of
https://github.com/VLSIDA/OpenRAM.git
synced 2026-08-29 01:24:39 +02:00
Add print of values if tests fail. Modify some ngspice tests to pass withcorrect results.
This commit is contained in:
@@ -6,6 +6,7 @@ import tech
|
||||
import math
|
||||
import stimuli
|
||||
import charutils as ch
|
||||
import utils
|
||||
|
||||
OPTS = globals.get_opts()
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python2.7
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Run a regresion test the library cells for DRC"
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Run a regresion test the library cells for LVS"
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Run a regresion test for DRC on basic contacts of different array sizes"
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Run a regresion test on a basic path"
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Run a regresion test on a basic parameterized transistors"
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Run a regresion test on a basic parameterized transistors"
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Run a regresion test on a basic parameterized transistors"
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Run a regresion test on a basic parameterized transistors"
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Run a regresion test on a basic wire"
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -6,7 +6,7 @@ size 2_input nand gate that is nmos_width=2*tech.drc[minwidth_tx].
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -6,7 +6,7 @@ It generate only the minimum size 3_input nand gate that is nmos_width=3*tech.dr
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -5,7 +5,7 @@ This module doesn't generate multi_finger 2_input nor gate
|
||||
It generate only the minimum size 2_input nor gate that is nmos_width=2*tech.drc[minwidth_tx]
|
||||
"""
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run regresion tests on a parameterized inverter
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a wordline_driver array
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a basic array
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a thierarchy_decoder.
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a hierarchical_predecode2x4.
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a hierarchical_predecode3x8.
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a single transistor column_mux.
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a precharge array
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a sense amp array
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a write driver array
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a dff_array.
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a control_logic
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a test on a delay chain
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a tri_gate_array.
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a test on a delay chain
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on various srams
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a 1 bank SRAM
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a 2 bank SRAM
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on a 4 bank SRAM
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on various srams
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header,isclose
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
@@ -63,11 +63,7 @@ class timing_sram_test(unittest.TestCase):
|
||||
self.assertTrue(False) # other techs fail
|
||||
|
||||
os.remove(tempspice)
|
||||
|
||||
def isclose(value1,value2):
|
||||
""" This is used to compare relative values for convergence. """
|
||||
return (abs(value1 - value2) / max(value1,value2) <= 1e-2)
|
||||
|
||||
|
||||
|
||||
# instantiate a copdsay of the class to actually run the test
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on various srams
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header,isclose
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
@@ -44,10 +44,6 @@ class timing_setup_test(unittest.TestCase):
|
||||
else:
|
||||
self.assertTrue(False) # other techs fail
|
||||
|
||||
def isclose(value1,value2):
|
||||
""" This is used to compare relative values for convergence. """
|
||||
return (abs(value1 - value2) / max(value1,value2) <= 1e-2)
|
||||
|
||||
|
||||
# instantiate a copdsay of the class to actually run the test
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on various srams
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header,isclose
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
@@ -44,11 +44,6 @@ class timing_setup_test(unittest.TestCase):
|
||||
else:
|
||||
self.assertTrue(False) # other techs fail
|
||||
|
||||
def isclose(value1,value2):
|
||||
""" This is used to compare relative values for convergence. """
|
||||
return (abs(value1 - value2) / max(value1,value2) <= 1e-2)
|
||||
|
||||
|
||||
# instantiate a copdsay of the class to actually run the test
|
||||
if __name__ == "__main__":
|
||||
(OPTS, args) = globals.parse_args()
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on various srams
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header,isclose
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
@@ -64,11 +64,6 @@ class timing_sram_test(unittest.TestCase):
|
||||
|
||||
os.remove(tempspice)
|
||||
|
||||
def isclose(value1,value2):
|
||||
""" This is used to compare relative values for convergence. """
|
||||
return (abs(value1 - value2) / max(value1,value2) <= 1e-2)
|
||||
|
||||
|
||||
# instantiate a copdsay of the class to actually run the test
|
||||
if __name__ == "__main__":
|
||||
(OPTS, args) = globals.parse_args()
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on various srams
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header,isclose
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
@@ -39,16 +39,11 @@ class timing_setup_test(unittest.TestCase):
|
||||
self.assertTrue(isclose(one_setup_time,-0.0048828125))
|
||||
self.assertTrue(isclose(zero_setup_time,-0.010986328125))
|
||||
elif OPTS.tech_name == "scn3me_subm":
|
||||
self.assertTrue(isclose(one_setup_time,0.04638671875))
|
||||
self.assertTrue(isclose(one_setup_time,0.45654296875)) # diff than hspice
|
||||
self.assertTrue(isclose(zero_setup_time,-0.0830078125))
|
||||
else:
|
||||
self.assertTrue(False) # other techs fail
|
||||
|
||||
def isclose(value1,value2):
|
||||
""" This is used to compare relative values for convergence. """
|
||||
return (abs(value1 - value2) / max(value1,value2) <= 1e-2)
|
||||
|
||||
|
||||
# instantiate a copdsay of the class to actually run the test
|
||||
if __name__ == "__main__":
|
||||
(OPTS, args) = globals.parse_args()
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on various srams
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header,isclose
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
@@ -38,16 +38,11 @@ class timing_setup_test(unittest.TestCase):
|
||||
self.assertTrue(isclose(one_setup_time,0.0146484375))
|
||||
self.assertTrue(isclose(zero_setup_time,0.008544921875))
|
||||
elif OPTS.tech_name == "scn3me_subm":
|
||||
self.assertTrue(isclose(one_setup_time,0.0927734375))
|
||||
self.assertTrue(isclose(one_setup_time,0.09521484375)) #diff than hspice
|
||||
self.assertTrue(isclose(zero_setup_time,-0.0244140625))
|
||||
else:
|
||||
self.assertTrue(False) # other techs fail
|
||||
|
||||
def isclose(value1,value2):
|
||||
""" This is used to compare relative values for convergence. """
|
||||
return (abs(value1 - value2) / max(value1,value2) <= 1e-2)
|
||||
|
||||
|
||||
# instantiate a copdsay of the class to actually run the test
|
||||
if __name__ == "__main__":
|
||||
(OPTS, args) = globals.parse_args()
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regression test on an extracted SRAM to ensure functionality.
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Run a regresion test on various srams
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Check the .lib file for an SRAM
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Check the LEF file for an SRMA
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -4,7 +4,7 @@ Check the .v file for an SRAM
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
@@ -6,7 +6,7 @@ check that these files are right.
|
||||
"""
|
||||
|
||||
import unittest
|
||||
from header import header
|
||||
from testutils import header
|
||||
import sys,os
|
||||
sys.path.append(os.path.join(sys.path[0],".."))
|
||||
import globals
|
||||
|
||||
Binary file not shown.
@@ -1,4 +1,16 @@
|
||||
|
||||
|
||||
def isclose(value1,value2,error_tolerance=1e-2):
|
||||
""" This is used to compare relative values.. """
|
||||
import debug
|
||||
relative_diff = abs(value1 - value2) / max(value1,value2)
|
||||
check = relative_diff <= error_tolerance
|
||||
if not check:
|
||||
debug.info(2,"NOT CLOSE {0} {1} relative diff={2}".format(value1,value2,relative_diff))
|
||||
else:
|
||||
debug.info(2,"CLOSE {0} {1} relative diff={2}".format(value1,value2,relative_diff))
|
||||
return (check)
|
||||
|
||||
def header(str, tec):
|
||||
tst = "Running Test for:"
|
||||
print "\n"
|
||||
@@ -41,3 +41,7 @@ def auto_measure_libcell(pin_list, name, units, layer):
|
||||
for pin in pin_list:
|
||||
cell[str(pin)] = gdsPinToOffset(cell_vlsi.readPin(str(pin)))
|
||||
return cell
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user