mirror of https://github.com/VLSIDA/OpenRAM.git
Add print of values if tests fail. Modify some ngspice tests to pass withcorrect results.
This commit is contained in:
parent
c318a7d1bb
commit
1356e5142d
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue