resolve name conflict
[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 num_axi_regs32(self):
10 return 10
11
12 def mkslow_peripheral(self):
13 sz = len(self.peripheral.pinspecs) - 4 # subtract CK, DE, HS, VS
14 return " Ifc_rgbttl_dummy lcd{0} <- mkrgbttl_dummy();"
15
16 def _mk_connection(self, name=None, count=0):
17 return "lcd{0}.slave"
18
19 def pinname_out(self, pname):
20 if not pname.startswith('out'):
21 return pname
22 return ''
23
24 def mk_pincon(self, name, count):
25 ret = [PBase.mk_pincon(self, name, count)]
26 # special-case for gpio in, store in a temporary vector
27 sname = self.peripheral.iname().format(count)
28 plen = len(self.peripheral.pinspecs)
29 template = " mkConnection({0}.{1},\n\t\t\t{2}.{1});"
30 name = self.get_iname(count)
31 ps = "pinmux.peripheral_side.%s" % sname
32 n = "{0}".format(name)
33 for ptype in ['data_out']:
34 ret.append(template.format(ps, ptype, n))
35 return '\n'.join(ret)
36
37 def slowifdeclmux(self, name, count):
38 sname = self.get_iname(count)
39 return " interface PeripheralSideLCD %s_out;" % sname
40
41 def slowifinstance(self, name, count):
42 sname = self.peripheral.iname().format(count)
43 pname = self.get_iname(count)
44 template = " interface {0}_out = pinmux.peripheral_side.{1};"
45 return template.format(pname, sname)
46