mirror of https://github.com/VLSIDA/OpenRAM.git
Check for failed result in functional simulation
This commit is contained in:
parent
112d57d90a
commit
2b475670f7
|
|
@ -229,6 +229,8 @@ class functional(simulation):
|
||||||
sp_read_value = ""
|
sp_read_value = ""
|
||||||
for bit in range(self.word_size + self.num_spare_cols):
|
for bit in range(self.word_size + self.num_spare_cols):
|
||||||
value = parse_spice_list("timing", "v{0}.{1}ck{2}".format(dout_port.lower(), bit, check))
|
value = parse_spice_list("timing", "v{0}.{1}ck{2}".format(dout_port.lower(), bit, check))
|
||||||
|
try:
|
||||||
|
value = float(value)
|
||||||
if value > self.v_high:
|
if value > self.v_high:
|
||||||
sp_read_value = "1" + sp_read_value
|
sp_read_value = "1" + sp_read_value
|
||||||
elif value < self.v_low:
|
elif value < self.v_low:
|
||||||
|
|
@ -240,6 +242,12 @@ class functional(simulation):
|
||||||
eo_period,
|
eo_period,
|
||||||
self.v_low,
|
self.v_low,
|
||||||
self.v_high)
|
self.v_high)
|
||||||
|
except ValueError:
|
||||||
|
error ="FAILED: {0}_{1} value {2} at time {3}n is not a float.".format(dout_port,
|
||||||
|
bit,
|
||||||
|
value,
|
||||||
|
eo_period)
|
||||||
|
|
||||||
return (0, error)
|
return (0, error)
|
||||||
|
|
||||||
self.read_results.append([sp_read_value, dout_port, eo_period, check])
|
self.read_results.append([sp_read_value, dout_port, eo_period, check])
|
||||||
|
|
@ -348,8 +356,8 @@ class functional(simulation):
|
||||||
|
|
||||||
# Write important signals to stim file
|
# Write important signals to stim file
|
||||||
self.sf.write("\n\n* Important signals for debug\n")
|
self.sf.write("\n\n* Important signals for debug\n")
|
||||||
self.sf.write("* bl: {}\n".format(self.bl_name))
|
self.sf.write("* bl: {}\n".format(self.bl_name.format(port)))
|
||||||
self.sf.write("* br: {}\n".format(self.br_name))
|
self.sf.write("* br: {}\n".format(self.br_name.format(port)))
|
||||||
self.sf.write("* s_en: {}\n".format(self.sen_name))
|
self.sf.write("* s_en: {}\n".format(self.sen_name))
|
||||||
self.sf.write("* q: {}\n".format(self.q_name))
|
self.sf.write("* q: {}\n".format(self.q_name))
|
||||||
self.sf.write("* qbar: {}\n".format(self.qbar_name))
|
self.sf.write("* qbar: {}\n".format(self.qbar_name))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue