diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index a6edeb8f..dfb05db3 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -782,7 +782,7 @@ class delay(simulation): # sys.exit(1) self.write_power_stimulus(trim=True) - self.stim.run_sim() + self.stim.run_sim(self.power_stim_sp) trim_leakage_power=parse_spice_list("timing", "leakage_power") debug.check(trim_leakage_power!="Failed", "Could not measure leakage power.") debug.info(1, "Leakage power of trimmed array is {0} mW".format(trim_leakage_power * 1e3)) diff --git a/compiler/characterizer/setup_hold.py b/compiler/characterizer/setup_hold.py index c61e556e..f3b9541c 100644 --- a/compiler/characterizer/setup_hold.py +++ b/compiler/characterizer/setup_hold.py @@ -218,7 +218,7 @@ class setup_hold(): infeasible_bound, feasible_bound)) - self.stim.run_sim() + self.stim.run_sim(self.stim_sp) clk_to_q = convert_to_float(parse_spice_list("timing", "clk2q_delay")) setuphold_time = convert_to_float(parse_spice_list("timing", "setup_hold_time")) if type(clk_to_q) == float and (clk_to_q < 1.1 * ideal_clk_to_q) and type(setuphold_time)==float: diff --git a/compiler/globals.py b/compiler/globals.py index 23bb5bfb..c6980d9e 100644 --- a/compiler/globals.py +++ b/compiler/globals.py @@ -469,7 +469,7 @@ def set_default_corner(): if OPTS.nominal_corner_only: OPTS.process_corners = ["TT"] else: - OPTS.process_corners = tech.spice["fet_models"].keys() + OPTS.process_corners = list(tech.spice["fet_models"].keys()) if (OPTS.supply_voltages == ""): if OPTS.nominal_corner_only: diff --git a/compiler/tests/22_sram_1bank_4mux_func_test.py b/compiler/tests/22_sram_1bank_4mux_func_test.py index ee7795c0..2065a4a2 100755 --- a/compiler/tests/22_sram_1bank_4mux_func_test.py +++ b/compiler/tests/22_sram_1bank_4mux_func_test.py @@ -46,8 +46,7 @@ class sram_1bank_4mux_func_test(openram_test): tempspice = OPTS.openram_temp + "sram.sp" s.sp_write(tempspice) - corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) - f = functional(s.s, tempspice, corner) + f = functional(s.s, tempspice) (fail, error) = f.run() self.assertTrue(fail, error) diff --git a/compiler/tests/22_sram_1bank_8mux_func_test.py b/compiler/tests/22_sram_1bank_8mux_func_test.py index 7600b7c0..a4f2ca31 100755 --- a/compiler/tests/22_sram_1bank_8mux_func_test.py +++ b/compiler/tests/22_sram_1bank_8mux_func_test.py @@ -49,8 +49,7 @@ class sram_1bank_8mux_func_test(openram_test): tempspice = OPTS.openram_temp + "sram.sp" s.sp_write(tempspice) - corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) - f = functional(s.s, tempspice, corner) + f = functional(s.s, tempspice) (fail, error) = f.run() self.assertTrue(fail, error) diff --git a/compiler/tests/22_sram_1bank_nomux_1rw_1r_func_test.py b/compiler/tests/22_sram_1bank_nomux_1rw_1r_func_test.py index fbeb08c5..4f3368c2 100755 --- a/compiler/tests/22_sram_1bank_nomux_1rw_1r_func_test.py +++ b/compiler/tests/22_sram_1bank_nomux_1rw_1r_func_test.py @@ -49,8 +49,7 @@ class psram_1bank_nomux_func_test(openram_test): tempspice = OPTS.openram_temp + "sram.sp" s.sp_write(tempspice) - corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) - f = functional(s.s, tempspice, corner) + f = functional(s.s, tempspice) (fail, error) = f.run() self.assertTrue(fail, error) diff --git a/compiler/tests/22_sram_1bank_nomux_func_test.py b/compiler/tests/22_sram_1bank_nomux_func_test.py index 27dfc4e5..17d3c951 100755 --- a/compiler/tests/22_sram_1bank_nomux_func_test.py +++ b/compiler/tests/22_sram_1bank_nomux_func_test.py @@ -45,8 +45,7 @@ class sram_1bank_nomux_func_test(openram_test): tempspice = OPTS.openram_temp + "sram.sp" s.sp_write(tempspice) - corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) - f = functional(s.s, tempspice, corner) + f = functional(s.s, tempspice) (fail, error) = f.run() self.assertTrue(fail, error) diff --git a/compiler/tests/22_sram_1bank_nomux_sparecols_func_test.py b/compiler/tests/22_sram_1bank_nomux_sparecols_func_test.py index 0df39226..5199da62 100755 --- a/compiler/tests/22_sram_1bank_nomux_sparecols_func_test.py +++ b/compiler/tests/22_sram_1bank_nomux_sparecols_func_test.py @@ -46,8 +46,7 @@ class sram_1bank_nomux_sparecols_func_test(openram_test): tempspice = OPTS.openram_temp + "sram.sp" s.sp_write(tempspice) - corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) - f = functional(s.s, tempspice, corner) + f = functional(s.s, tempspice) (fail, error) = f.run() self.assertTrue(fail, error) diff --git a/compiler/tests/22_sram_1bank_wmask_1rw_1r_func_test.py b/compiler/tests/22_sram_1bank_wmask_1rw_1r_func_test.py index f5573ae2..1af4846d 100755 --- a/compiler/tests/22_sram_1bank_wmask_1rw_1r_func_test.py +++ b/compiler/tests/22_sram_1bank_wmask_1rw_1r_func_test.py @@ -52,8 +52,7 @@ class sram_wmask_1w_1r_func_test(openram_test): tempspice = OPTS.openram_temp + "sram.sp" s.sp_write(tempspice) - corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) - f = functional(s.s, tempspice, corner) + f = functional(s.s, tempspice) (fail, error) = f.run() self.assertTrue(fail, error) diff --git a/compiler/tests/22_sram_wmask_func_test.py b/compiler/tests/22_sram_wmask_func_test.py index dd3ac8d7..d921ade8 100755 --- a/compiler/tests/22_sram_wmask_func_test.py +++ b/compiler/tests/22_sram_wmask_func_test.py @@ -48,8 +48,7 @@ class sram_wmask_func_test(openram_test): tempspice = OPTS.openram_temp + "sram.sp" s.sp_write(tempspice) - corner = (OPTS.process_corners[0], OPTS.supply_voltages[0], OPTS.temperatures[0]) - f = functional(s.s, tempspice, corner) + f = functional(s.s, tempspice) (fail, error) = f.run() self.assertTrue(fail, error) diff --git a/compiler/tests/26_hspice_pex_pinv_test.py b/compiler/tests/26_hspice_pex_pinv_test.py index 74f1ae9c..425c14fe 100755 --- a/compiler/tests/26_hspice_pex_pinv_test.py +++ b/compiler/tests/26_hspice_pex_pinv_test.py @@ -77,7 +77,7 @@ class hspice_pex_pinv_test(openram_test): sim_file = OPTS.openram_temp + "stim.sp" log_file_name = "timing" test_sim = self.write_simulation(sim_file, test_module, top_level_name) - test_sim.run_sim() + test_sim.run_sim("stim.sp") delay = parse_spice_list(log_file_name, "pinv_delay") return delay diff --git a/compiler/tests/26_ngspice_pex_pinv_test.py b/compiler/tests/26_ngspice_pex_pinv_test.py index 7e3800ec..233e3f5e 100755 --- a/compiler/tests/26_ngspice_pex_pinv_test.py +++ b/compiler/tests/26_ngspice_pex_pinv_test.py @@ -76,7 +76,7 @@ class ngspice_pex_pinv_test(openram_test): sim_file = OPTS.openram_temp + "stim.sp" log_file_name = "timing" test_sim = self.write_simulation(sim_file, test_module, top_level_name) - test_sim.run_sim() + test_sim.run_sim("stim.sp") delay = parse_spice_list(log_file_name, "pinv_delay") return delay diff --git a/compiler/verify/__init__.py b/compiler/verify/__init__.py index b084f053..8b7a6233 100644 --- a/compiler/verify/__init__.py +++ b/compiler/verify/__init__.py @@ -40,7 +40,7 @@ else: OPTS.magic_exe = get_tool("GDS", ["magic"]) if not OPTS.drc_exe: - from .none import run_drc, print_drc_stats + from .none import run_drc, print_drc_stats, write_drc_script elif "calibre"==OPTS.drc_exe[0]: from .calibre import run_drc, print_drc_stats, write_drc_script elif "assura"==OPTS.drc_exe[0]: