soc/interconnect/axi: add Wishbone2AXI converter
[litex.git] / litex / soc / interconnect / axi.py
index 958061a9bbee575280e12e9c9845285a6affbde9..ec25bbaeae405f666353cd392ac46085167049bf 100644 (file)
@@ -649,6 +649,15 @@ class Wishbone2AXILite(Module):
             NextState("IDLE")
         )
 
+# Wishbone to AXI ----------------------------------------------------------------------------------
+
+class Wishbone2AXI(Module):
+    def __init__(self, wishbone, axi, base_address=0x00000000):
+        axi_lite          = AXILiteInterface(axi.data_width, axi.address_width)
+        wishbone2axi_lite = Wishbone2AXILite(wishbone, axi_lite, base_address)
+        axi_lite2axi      = AXILite2AXI(axi_lite, axi)
+        self.submodules += wishbone2axi_lite, axi_lite2axi
+
 # AXILite to CSR -----------------------------------------------------------------------------------
 
 def axi_lite_to_simple(axi_lite, port_adr, port_dat_r, port_dat_w=None, port_we=None):