mirror of https://github.com/VLSIDA/OpenRAM.git
Fixed test 21_hspice. Leakage power is off.
This commit is contained in:
parent
dd22f9acd5
commit
a2bc82fe71
|
|
@ -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.
|
||||||
|
|
|
||||||
|
|
@ -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))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue