Fixed test 21_hspice. Leakage power is off.

This commit is contained in:
Hunter Nichols 2018-09-06 17:34:22 -07:00
parent dd22f9acd5
commit a2bc82fe71
2 changed files with 20 additions and 18 deletions

View File

@ -656,7 +656,7 @@ class delay():
# Make a list for each type of measurement to append results to # Make a list for each type of measurement to append results to
for port in range(self.total_port_num): for port in range(self.total_port_num):
for m in ["delay_lh", "delay_hl", "slew_lh", "slew_hl", "read0_power", 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)]=[] char_data["{0}{1}".format(m,port)]=[]
# 3) Find the leakage power of the trimmmed and UNtrimmed arrays. # 3) Find the leakage power of the trimmmed and UNtrimmed arrays.

View File

@ -50,31 +50,33 @@ class timing_sram_test(openram_test):
slews = [tech.spice["rise_time"]*2] slews = [tech.spice["rise_time"]*2]
data = d.analyze(probe_address, probe_data, slews, loads) data = d.analyze(probe_address, probe_data, slews, loads)
#Assumes single rw port (6t sram)
if OPTS.tech_name == "freepdk45": if OPTS.tech_name == "freepdk45":
golden_data = {'delay_hl': [2.5829000000000004], golden_data = {'delay_hl0': [2.5829000000000004],
'delay_lh': [0.2255964], 'delay_lh0': [0.2255964],
'leakage_power': 0.0019498999999999996, 'leakage_power0': 0.0019498999999999996,
'min_period': 4.844, 'min_period': 4.844,
'read0_power': [0.055371399999999994], 'read0_power0': [0.055371399999999994],
'read1_power': [0.0520225], 'read1_power0': [0.0520225],
'slew_hl': [0.0794261], 'slew_hl0': [0.0794261],
'slew_lh': [0.0236264], 'slew_lh0': [0.0236264],
'write0_power': [0.06545659999999999], 'write0_power0': [0.06545659999999999],
'write1_power': [0.057846299999999996]} 'write1_power0': [0.057846299999999996]}
elif OPTS.tech_name == "scn3me_subm": elif OPTS.tech_name == "scn3me_subm":
golden_data = {'delay_hl': [4.0249], golden_data = {'delay_hl0': [4.0249],
'delay_lh': [2.2611], 'delay_lh0': [2.2611],
'leakage_power': 0.0257389, 'leakage_power': 0.0257389,
'min_period': 4.688, 'min_period': 4.688,
'read0_power': [24.9279], 'read0_power0': [24.9279],
'read1_power': [24.0219], 'read1_power0': [24.0219],
'slew_hl': [0.8500753999999999], 'slew_hl0': [0.8500753999999999],
'slew_lh': [0.4122653], 'slew_lh0': [0.4122653],
'write0_power': [28.197600000000005], 'write0_power0': [28.197600000000005],
'write1_power': [25.685]} 'write1_power0': [25.685]}
else: else:
self.assertTrue(False) # other techs fail self.assertTrue(False) # other techs fail
# Check if no too many or too few results # Check if no too many or too few results
print(data)
self.assertTrue(len(data.keys())==len(golden_data.keys())) self.assertTrue(len(data.keys())==len(golden_data.keys()))
self.assertTrue(self.check_golden_data(data,golden_data,0.25)) self.assertTrue(self.check_golden_data(data,golden_data,0.25))