def __init__(self, axi_lite, wishbone, base_address=0x00000000):
wishbone_adr_shift = log2_int(axi_lite.data_width//8)
assert axi_lite.data_width == len(wishbone.dat_r)
- assert axi_lite.address_width == len(wishbone.adr) + wishbone_adr_shift, "axi_addr_w={}; len_wb_adr={}; wb_adr_shift={};".format(axi_lite.address_width, len(wishbone.adr), wishbone_adr_shift)
- print("####\n#### axi_addr_w={}; len_wb_adr={}; wb_adr_shift={};\n####".format(axi_lite.address_width, len(wishbone.adr), wishbone_adr_shift))
+ assert axi_lite.address_width == len(wishbone.adr) + wishbone_adr_shift
_data = Signal(axi_lite.data_width)
_r_addr = Signal(axi_lite.address_width)
def __init__(self, wishbone, axi_lite, base_address=0x00000000):
wishbone_adr_shift = log2_int(axi_lite.data_width//8)
assert axi_lite.data_width == len(wishbone.dat_r)
- assert axi_lite.address_width == len(wishbone.adr) + wishbone_adr_shift, "axi_addr_w={}; len_wb_adr={}; wb_adr_shift={};".format(axi_lite.address_width, len(wishbone.adr), wishbone_adr_shift)
- print("####\n#### axi_addr_w={}; len_wb_adr={}; wb_adr_shift={};\n####".format(axi_lite.address_width, len(wishbone.adr), wishbone_adr_shift))
+ assert axi_lite.address_width == len(wishbone.adr) + wishbone_adr_shift
_cmd_done = Signal()
_data_done = Signal()
class DUT(Module):
def __init__(self):
self.axi = AXIInterface(data_width=32, address_width=32, id_width=8)
- self.wishbone = wishbone.Interface(data_width=32)
+ self.wishbone = wishbone.Interface(data_width=32, adr_width=30)
axi2wishbone = AXI2Wishbone(self.axi, self.wishbone)
self.submodules += axi2wishbone
def test_wishbone2axi2wishbone(self):
class DUT(Module):
def __init__(self):
- self.wishbone = wishbone.Interface(data_width=32)
+ self.wishbone = wishbone.Interface(data_width=32, adr_width=30)
# # #
axi = AXILiteInterface(data_width=32, address_width=32)
- wb = wishbone.Interface(data_width=32)
+ wb = wishbone.Interface(data_width=32, adr_width=30)
wishbone2axi = Wishbone2AXILite(self.wishbone, axi)
axi2wishbone = AXILite2Wishbone(axi, wb)
"axi_lite": (AXILiteInterface, AXI2AXILite, AXILiteSRAM),
}[mem_bus]
- bus = interface_cls()
+ bus_kwargs = {"adr_width" : 30} if mem_bus == "wishbone" else {}
+ bus = interface_cls(**bus_kwargs)
self.submodules += converter_cls(axi, bus)
sram = sram_cls(1024, init=[0x12345678, 0xa55aa55a])
self.submodules += sram