1
0
mirror of https://github.com/corundum/corundum.git synced 2025-01-30 08:32:52 +08:00

Fix 4K boundary assert

This commit is contained in:
Alex Forencich 2018-07-30 17:54:23 -07:00
parent f4cca52660
commit e78f865ddf

View File

@ -612,10 +612,10 @@ class AXIRam(object):
if burst == BURST_WRAP:
lower_wrap_boundary = int(addr/transfer_size)*transfer_size
upper_wrap_boundary = lower_wrap_boundary+transfer_size
if burst == BURST_INCR:
# check for 4k boundary crossing
assert 0x1000-(addr&0xfff) >= transfer_size
assert 0x1000-(aligned_addr&0xfff) >= transfer_size
cur_addr = aligned_addr
@ -715,11 +715,16 @@ class AXIRam(object):
aligned_addr = int(addr/num_bytes)*num_bytes
length = length+1
transfer_size = num_bytes*length
if burst == BURST_WRAP:
transfer_size = num_bytes*length
lower_wrap_boundary = int(addr/transfer_size)*transfer_size
upper_wrap_boundary = lower_wrap_boundary+transfer_size
if burst == BURST_INCR:
# check for 4k boundary crossing
assert 0x1000-(aligned_addr&0xfff) >= transfer_size
cur_addr = aligned_addr
for n in range(length):