cleanup templates in peripheral_gen base
[pinmux.git] / src / bsv / peripheral_gen / rgbttl.py
1 from bsv.peripheral_gen.base import PBase
2
3
4 class rgbttl(PBase):
5
6 def slowimport(self):
7 return "import rgbttl_dummy :: *;"
8
9 def has_axi_master(self):
10 return True
11
12 def num_axi_regs32(self):
13 return 10
14
15 def mkfast_peripheral(self):
16 sz = len(self.peripheral.pinspecs) - 4 # subtract CK, DE, HS, VS
17 return "Ifc_rgbttl_dummy lcd{0} <- mkrgbttl_dummy();"
18
19 def _mk_connection(self, name=None, count=0, master=False):
20 if master:
21 return "lcd{0}.master"
22 return "lcd{0}.slave"
23
24 def pinname_out(self, pname):
25 if not pname.startswith('out'):
26 return pname
27 return ''
28
29 def get_clock_reset(self, name, count):
30 return "slow_clock, slow_reset"
31
32 def _mk_pincon(self, name, count, ptyp):
33 ret = [PBase._mk_pincon(self, name, count, ptyp)]
34 txt = self._mk_vpincon(name, count, ptyp, "out", "data_out")
35 ret.append(txt)
36 return '\n'.join(ret)
37
38 def _mk_clk_con(self, name, count, ctype):
39 ret = [PBase._mk_clk_con(self, name, count, ctype)]
40
41 # data_out (hard-coded)
42 sz = len(self.peripheral.pinspecs) - 4 # subtract CK, DE, HS, VS
43 bitspec = "Bit#(%d)" % sz
44 txt = self._mk_clk_vcon(name, count, ctype, "out", "data_out", bitspec)
45 ret.append(txt)
46 return '\n'.join(ret)