return "        import pwm::*;"
 
     def slowifdecl(self):
-        return "        interface PWMIO pwm{0};"
+        return "        interface PWMIO pwm{0}_io;"
 
     def num_axi_regs32(self):
         return 4
 
     def mkslow_peripheral(self, size=0):
-        return "        Ifc_PWM_bus pwm{0}_bus <- mkPWM_bus(sp_clock);"
+        return "        Ifc_PWM_bus pwm{0} <- mkPWM_bus(sp_clock);"
 
     def _mk_connection(self, name=None, count=0):
         return "pwm{0}_bus.axi4_slave"
                "     import gpio::*;\n"
 
     def slowifdecl(self):
-        return "        interface GPIO_config#({1}) pad_config{0};"
+        size = len(self.peripheral.pinspecs)
+        return "        interface GPIO_config#(%d) pad_config{0};" % size
 
     def num_axi_regs32(self):
         return 2