mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-19 12:23:39 +00:00
Add yosys-smtbmc VCD writer support for memories with async writes
This commit is contained in:
parent
6132e6e72a
commit
9419de3e37
3 changed files with 11 additions and 7 deletions
|
@ -594,7 +594,7 @@ def write_vcd_trace(steps_start, steps_stop, index):
|
|||
|
||||
mem_trace_data = dict()
|
||||
for mempath in sorted(smt.hiermems(topmod)):
|
||||
abits, width, rports, wports = smt.mem_info(topmod, mempath)
|
||||
abits, width, rports, wports, asyncwr = smt.mem_info(topmod, mempath)
|
||||
|
||||
expr_id = list()
|
||||
expr_list = list()
|
||||
|
@ -666,7 +666,8 @@ def write_vcd_trace(steps_start, steps_stop, index):
|
|||
else:
|
||||
buf[k] = tdata[i][k]
|
||||
|
||||
tdata.append(data[:])
|
||||
if not asyncwr:
|
||||
tdata.append(data[:])
|
||||
|
||||
for j_data in wdata[i]:
|
||||
if j_data["A"] != addr:
|
||||
|
@ -679,6 +680,9 @@ def write_vcd_trace(steps_start, steps_stop, index):
|
|||
if M[k] == "1":
|
||||
data[k] = D[k]
|
||||
|
||||
if asyncwr:
|
||||
tdata.append(data[:])
|
||||
|
||||
assert len(tdata) == len(rdata)
|
||||
|
||||
netpath = mempath[:]
|
||||
|
@ -785,7 +789,7 @@ def write_vlogtb_trace(steps_start, steps_stop, index):
|
|||
|
||||
mems = sorted(smt.hiermems(vlogtb_topmod))
|
||||
for mempath in mems:
|
||||
abits, width, rports, wports = smt.mem_info(vlogtb_topmod, mempath)
|
||||
abits, width, rports, wports, asyncwr = smt.mem_info(vlogtb_topmod, mempath)
|
||||
|
||||
addr_expr_list = list()
|
||||
data_expr_list = list()
|
||||
|
@ -888,7 +892,7 @@ def write_constr_trace(steps_start, steps_stop, index):
|
|||
|
||||
mems = sorted(smt.hiermems(constr_topmod))
|
||||
for mempath in mems:
|
||||
abits, width, rports, wports = smt.mem_info(constr_topmod, mempath)
|
||||
abits, width, rports, wports, asyncwr = smt.mem_info(constr_topmod, mempath)
|
||||
|
||||
addr_expr_list = list()
|
||||
data_expr_list = list()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue