add axi fn_address_mapping
[pinmux.git] / src / bsv / interface_decl.py
index 46342d0492f2876a37fadcbe54d8fcba8f936e7d..903cd3c8a0cec935917d785d4402f3ccb2ba97ff 100644 (file)
@@ -279,6 +279,11 @@ class Interface(object):
             return ('', 0)
         return self.slow.axi_slave_idx(start, self.ifacename, count)
 
+    def axi_addr_map(self, count):
+        if not self.slow:
+            return ''
+        return self.slow.axi_addr_map(self.ifacename, count)
+
 
 class MuxInterface(Interface):
 
@@ -378,6 +383,13 @@ class Interfaces(InterfacesBase):
         decls = '\n'.join(list(filter(None, ret)))
         return axi_slave_declarations.format(decls)
 
+    def axi_addr_map(self, *args):
+        ret = []
+        for (name, count) in self.ifacecount:
+            for i in range(count):
+                ret.append(self.data[name].axi_addr_map(i))
+        return '\n'.join(list(filter(None, ret)))
+
 
 # ========= Interface declarations ================ #