Skip to content

Commit e473f0e

Browse files
committed
bug fix of AxiMemoryModel.write_word()
1 parent a3158df commit e473f0e

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

tests/extension/thread_/memorymodel_readwrite_narrow/thread_memorymodel_readwrite_narrow.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,13 @@ def ctrl():
132132

133133
for i in range(16):
134134
# word addressing
135-
v = memory.read_word(i, 0, datawidth)
136-
print('read: mem[%d] -> %x' % (i, v))
137-
v = v + 1024
135+
r = memory.read_word(i, 0, datawidth)
136+
print('read: mem[%d] -> %x' % (i, r))
137+
138138
# word addressing
139-
memory.write_word(i, 0, datawidth)
140-
print('write: mem[%d] <- %x' % (i, v))
139+
w = (r + i + 100) % (2 ** datawidth - 1)
140+
memory.write_word(i, 0, w, datawidth)
141+
print('write: mem[%d] <- %x' % (i, w))
141142

142143
awaddr = 0
143144
_saxi.write(awaddr, 1)

veriloggen/types/axi.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1709,7 +1709,7 @@ def write_word(self, fsm, word_index, byte_offset, wdata, bits=8):
17091709
mask.assign(vtypes.Unot(inv_mask))
17101710

17111711
raw_data = vtypes.Or(wdata_wire << shift,
1712-
vtypes.Or(mem_data_wire, mask))
1712+
vtypes.And(mem_data_wire, mask))
17131713
raw_data_wire = self.m.TmpWire(8 * num_bytes)
17141714
raw_data_wire.assign(raw_data)
17151715

0 commit comments

Comments
 (0)