diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index f9c71960..81c2b71a 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -656,7 +656,7 @@ class delay(): # Make a list for each type of measurement to append results to for port in range(self.total_port_num): for m in ["delay_lh", "delay_hl", "slew_lh", "slew_hl", "read0_power", - "read1_power", "write0_power", "write1_power", "leakage_power"]: + "read1_power", "write0_power", "write1_power"]: char_data["{0}{1}".format(m,port)]=[] # 3) Find the leakage power of the trimmmed and UNtrimmed arrays. diff --git a/compiler/tests/21_hspice_delay_test.py b/compiler/tests/21_hspice_delay_test.py index 93fc8413..5c22d2d4 100755 --- a/compiler/tests/21_hspice_delay_test.py +++ b/compiler/tests/21_hspice_delay_test.py @@ -50,31 +50,33 @@ class timing_sram_test(openram_test): slews = [tech.spice["rise_time"]*2] data = d.analyze(probe_address, probe_data, slews, loads) + #Assumes single rw port (6t sram) if OPTS.tech_name == "freepdk45": - golden_data = {'delay_hl': [2.5829000000000004], - 'delay_lh': [0.2255964], - 'leakage_power': 0.0019498999999999996, + golden_data = {'delay_hl0': [2.5829000000000004], + 'delay_lh0': [0.2255964], + 'leakage_power0': 0.0019498999999999996, 'min_period': 4.844, - 'read0_power': [0.055371399999999994], - 'read1_power': [0.0520225], - 'slew_hl': [0.0794261], - 'slew_lh': [0.0236264], - 'write0_power': [0.06545659999999999], - 'write1_power': [0.057846299999999996]} + 'read0_power0': [0.055371399999999994], + 'read1_power0': [0.0520225], + 'slew_hl0': [0.0794261], + 'slew_lh0': [0.0236264], + 'write0_power0': [0.06545659999999999], + 'write1_power0': [0.057846299999999996]} elif OPTS.tech_name == "scn3me_subm": - golden_data = {'delay_hl': [4.0249], - 'delay_lh': [2.2611], + golden_data = {'delay_hl0': [4.0249], + 'delay_lh0': [2.2611], 'leakage_power': 0.0257389, 'min_period': 4.688, - 'read0_power': [24.9279], - 'read1_power': [24.0219], - 'slew_hl': [0.8500753999999999], - 'slew_lh': [0.4122653], - 'write0_power': [28.197600000000005], - 'write1_power': [25.685]} + 'read0_power0': [24.9279], + 'read1_power0': [24.0219], + 'slew_hl0': [0.8500753999999999], + 'slew_lh0': [0.4122653], + 'write0_power0': [28.197600000000005], + 'write1_power0': [25.685]} else: self.assertTrue(False) # other techs fail # Check if no too many or too few results + print(data) self.assertTrue(len(data.keys())==len(golden_data.keys())) self.assertTrue(self.check_golden_data(data,golden_data,0.25))