add fast bus instance
[pinmux.git] / src / bsv / peripheral_gen / base.py
index 51c87e8169efb0594ce835f8d59c8b313882d5e6..0cc11df529aca7517115ab82434e4655443b3244 100644 (file)
@@ -207,6 +207,9 @@ class PBase(object):
     def mk_ext_ifacedef(self, iname, inum):
         return ''
 
+    def extfastifinstance(self, name, count):
+        return ''
+
     def extifinstance(self, name, count):
         sname = self.peripheral.iname().format(count)
         pname = self.get_iname(count)
@@ -287,7 +290,7 @@ class PeripheralIface(object):
             self.slow = slow(ifacename)
             self.slow.peripheral = self
         for fname in ['slowimport',
-                      'extifinstance', 'extifdecl',
+                      'extfastifinstance', 'extifinstance', 'extifdecl',
                       'slowifdecl', 'slowifdeclmux',
                       'fastifdecl',
                       'mkslow_peripheral', 
@@ -337,6 +340,17 @@ class PeripheralInterfaces(object):
             ret.append(self.data[name].slowimport())
         return '\n'.join(list(filter(None, ret)))
 
+    def extfastifinstance(self, *args):
+        ret = []
+        for (name, count) in self.ifacecount:
+            for i in range(count):
+                iname = self.data[name].iname().format(i)
+                print "extfast", iname, self.is_on_fastbus(name, i)
+                if self.is_on_fastbus(name, i):
+                    continue
+                ret.append(self.data[name].extfastifinstance(name, i))
+        return '\n'.join(list(filter(None, ret)))
+
     def extifinstance(self, *args):
         ret = []
         for (name, count) in self.ifacecount: