soc/interconnect/axi: data/address length cleanup

Instead of hard-coding data and address width to 32, assert that
the AXI and Wishbone interfaces have *matching* address and data
widths.
This commit is contained in:
Gabriel L. Somlo 2019-03-27 16:38:25 -04:00
parent 552b0243b3
commit 449632e430
1 changed files with 4 additions and 4 deletions

View File

@ -60,12 +60,12 @@ class AXIInterface(Record):
class AXI2Wishbone(Module):
def __init__(self, axi, wishbone, base_address):
assert axi.data_width == 32
assert axi.address_width == 32
assert axi.data_width == len(wishbone.dat_r)
assert axi.address_width == len(wishbone.adr) + 2
_data = Signal(axi.data_width)
_read_addr = Signal(32)
_write_addr = Signal(32)
_read_addr = Signal(axi.address_width)
_write_addr = Signal(axi.address_width)
self.comb += _read_addr.eq(axi.ar.addr - base_address)
self.comb += _write_addr.eq(axi.aw.addr - base_address)