refactor peripheral_gen, split out interface classes
[pinmux.git] / src / bsv / peripheral_gen / pwm.py
1 from bsv.peripheral_gen.base import PBase
2
3 class pwm(PBase):
4
5 def slowimport(self):
6 return " import pwm::*;"
7
8 def slowifdecl(self):
9 return " interface PWMIO pwm{0}_io;"
10
11 def num_axi_regs32(self):
12 return 4
13
14 def mkslow_peripheral(self, size=0):
15 return " Ifc_PWM_bus pwm{0} <- mkPWM_bus(sp_clock);"
16
17 def _mk_connection(self, name=None, count=0):
18 return "pwm{0}.axi4_slave"
19
20 def pinname_out(self, pname):
21 return {'out': 'pwm_io.pwm_o'}.get(pname, '')