Added leakage and slew data. Added temporary fix to model output format.

This commit is contained in:
Hunter Nichols 2020-12-14 14:32:10 -08:00
parent 25544c3974
commit 06232dee8f
3 changed files with 24 additions and 11 deletions

View File

@ -61,30 +61,25 @@ class linear_regression(simulation):
max_delay = 0.0
for slew in slews:
for load in loads:
# Calculate delay based on slew and load
debug.info(1,
'{}, {}, {}, {}'.format(slew,
load,
total_delay.delay / 1e3,
total_delay.slew / 1e3))
# Delay is only calculated on a single port and replicated for now.
for port in self.all_ports:
for mname in self.delay_meas_names + self.power_meas_names:
#FIXME: fix magic for indexing the data
#FIXME: model output is double list. Simply this
if "power" in mname:
port_data[port][mname].append(sram_vals[1])
port_data[port][mname].append(sram_vals[1][0][0])
elif "delay" in mname and port in self.read_ports:
port_data[port][mname].append(sram_vals[0])
port_data[port][mname].append(sram_vals[0][0][0])
elif "slew" in mname and port in self.read_ports:
port_data[port][mname].append(sram_vals[3])
port_data[port][mname].append(sram_vals[3][0][0])
else:
debug.error("Measurement name not recognized: {}".format(mname), 1)
# Estimate the period as double the delay with margin
period_margin = 0.1
sram_data = {"min_period": sram_vals[0] * 2,
"leakage_power": sram_vals[2]}
sram_data = {"min_period": sram_vals[0][0][0] * 2,
"leakage_power": sram_vals[2][0][0]}
debug.info(2, "SRAM Data:\n{}".format(sram_data))
debug.info(2, "Port Data:\n{}".format(port_data))

View File

@ -0,0 +1,9 @@
num_words,word_size,words_per_row,area,leakage_power
16,2,1,88873,0.0009381791
64,2,4,108116,0.0011511999999999998
16,1,1,86004,0.0005252088
32,3,2,101618,0.0012168
32,2,2,95878,0.000771978
16,3,1,93009,0.0009978024
64,1,4,95878,0.0006975546000000001
32,1,2,90139,0.0006437493
1 num_words word_size words_per_row area leakage_power
2 16 2 1 88873 0.0009381791
3 64 2 4 108116 0.0011511999999999998
4 16 1 1 86004 0.0005252088
5 32 3 2 101618 0.0012168
6 32 2 2 95878 0.000771978
7 16 3 1 93009 0.0009978024
8 64 1 4 95878 0.0006975546000000001
9 32 1 2 90139 0.0006437493

View File

@ -0,0 +1,9 @@
num_words,word_size,words_per_row,area,output_slew
16,2,1,88873,1.81
64,2,4,108116,1.69
16,1,1,86004,1.786
32,3,2,101618,1.725
32,2,2,95878,1.71
16,3,1,93009,1.835
64,1,4,95878,1.662
32,1,2,90139,1.69
1 num_words word_size words_per_row area output_slew
2 16 2 1 88873 1.81
3 64 2 4 108116 1.69
4 16 1 1 86004 1.786
5 32 3 2 101618 1.725
6 32 2 2 95878 1.71
7 16 3 1 93009 1.835
8 64 1 4 95878 1.662
9 32 1 2 90139 1.69