Fix assertion error syntax problem. Do not require hspice for functional test. Improve delay fail error message.

This commit is contained in:
Matt Guthaus 2018-01-31 15:38:02 -08:00
parent acf3fe8376
commit 590f6e01d1
9 changed files with 4930 additions and 4938 deletions

View File

@ -364,7 +364,7 @@ class delay():
for slew in slews: for slew in slews:
for load in loads: for load in loads:
(success, delay1, slew1, delay0, slew0) = self.run_simulation(feasible_period, load, slew) (success, delay1, slew1, delay0, slew0) = self.run_simulation(feasible_period, load, slew)
debug.check(success,"Couldn't run a simulation properly.\n") debug.check(success,"Couldn't run a simulation. slew={0} load={1}\n".format(slew,load))
LH_delay.append(delay1) LH_delay.append(delay1)
HL_delay.append(delay0) HL_delay.append(delay0)
LH_slew.append(slew1) LH_slew.append(slew1)

View File

@ -275,7 +275,7 @@ class control_logic(design.design):
mod=self.nand2, mod=self.nand2,
offset=self.tri_en_bar_offset, offset=self.tri_en_bar_offset,
mirror="MX") mirror="MX")
self.connect_inst(["oe", "clk_bar", "tri_en_bar", "vdd", "gnd"]) self.connect_inst(["clk_bar", "oe", "tri_en_bar", "vdd", "gnd"])
x_off += self.nand2.width x_off += self.nand2.width
x_off += self.inv1.width + self.cell_gap x_off += self.inv1.width + self.cell_gap

View File

@ -24,8 +24,7 @@ class timing_sram_test(openram_test):
reload(characterizer) reload(characterizer)
from characterizer import delay from characterizer import delay
if not OPTS.spice_exe: if not OPTS.spice_exe:
self.error("Could not find {} simulator.".format(OPTS.spice_name)) debug.error("Could not find {} simulator.".format(OPTS.spice_name),-1)
self.assertTrue(OPTS.spice_exe)
import sram import sram

View File

@ -24,8 +24,7 @@ class timing_setup_test(openram_test):
reload(characterizer) reload(characterizer)
from characterizer import setup_hold from characterizer import setup_hold
if not OPTS.spice_exe: if not OPTS.spice_exe:
self.error("Could not find {} simulator.".format(OPTS.spice_name)) debug.error("Could not find {} simulator.".format(OPTS.spice_name),-1)
self.assertTrue(OPTS.spice_exe)
import sram import sram

View File

@ -24,8 +24,7 @@ class timing_sram_test(openram_test):
reload(characterizer) reload(characterizer)
from characterizer import delay from characterizer import delay
if not OPTS.spice_exe: if not OPTS.spice_exe:
self.error("Could not find {} simulator.".format(OPTS.spice_name)) debug.error("Could not find {} simulator.".format(OPTS.spice_name),-1)
self.assertTrue(OPTS.spice_exe)
import sram import sram

View File

@ -24,8 +24,7 @@ class timing_setup_test(openram_test):
reload(characterizer) reload(characterizer)
from characterizer import setup_hold from characterizer import setup_hold
if not OPTS.spice_exe: if not OPTS.spice_exe:
self.error("Could not find {} simulator.".format(OPTS.spice_name)) debug.error("Could not find {} simulator.".format(OPTS.spice_name),-1)
self.assertTrue(OPTS.spice_exe)
import sram import sram
import tech import tech

View File

@ -16,8 +16,8 @@ class lib_test(openram_test):
def runTest(self): def runTest(self):
globals.init_openram("config_20_{0}".format(OPTS.tech_name)) globals.init_openram("config_20_{0}".format(OPTS.tech_name))
OPTS.check_lvsdrc = False OPTS.check_lvsdrc = False
OPTS.spice_name="hspice"
OPTS.analytical_delay = False OPTS.analytical_delay = False
OPTS.trim_netlist = True
import characterizer import characterizer
reload(characterizer) reload(characterizer)
from characterizer import lib from characterizer import lib

File diff suppressed because it is too large Load Diff

View File

@ -129,7 +129,7 @@ class openram_test(unittest.TestCase):
if len(b1_floats)!=len(b2_floats): if len(b1_floats)!=len(b2_floats):
self.fail("MISMATCH Length {0} != {1}".format(len(b1_floats),len(b2_floats))) self.fail("MISMATCH Length {0} != {1}".format(len(b1_floats),len(b2_floats)))
for (f1,f2) in zip(b1_floats,b2_floats): for (f1,f2) in zip(b1_floats,b2_floats):
if not relative_compare(float(f1),float(f2),error_tolerance): if not self.relative_compare(float(f1),float(f2),error_tolerance):
self.fail("MISMATCH Float {0} != {1}".format(f1,f2)) self.fail("MISMATCH Float {0} != {1}".format(f1,f2))
if not b1 and not b2: if not b1 and not b2: