1 from bsv
.peripheral_gen
.base
import PBase
6 return " import I2C_top :: *;"
9 return " interface I2C_out twi{0}_out;\n" + \
10 " method Bit#(1) twi{0}_isint;"
12 def num_axi_regs32(self
):
15 def mkslow_peripheral(self
, size
=0):
16 return " I2C_IFC twi{0} <- mkI2CController();"
18 def _mk_connection(self
, name
=None, count
=0):
19 return "twi{0}.slave_i2c_axi"
21 def pinname_out(self
, pname
):
22 return {'sda': 'out.sda_out',
23 'scl': 'out.scl_out'}.get(pname
, '')
25 def pinname_in(self
, pname
):
26 return {'sda': 'out.sda_in',
27 'scl': 'out.scl_in'}.get(pname
, '')
29 def pinname_outen(self
, pname
):
30 return {'sda': 'out.sda_out_en',
31 'scl': 'out.scl_out_en'}.get(pname
, '')
36 def plic_object(self
, pname
, idx
):
37 return ["{0}.isint()",
42 def mk_ext_ifacedef(self
, iname
, inum
):
43 name
= self
.get_iname(inum
)
44 return " method {0}_isint = {0}.isint;".format(name
)
46 def slowifdeclmux(self
):
47 return " method Bit#(1) {1}{0}_isint;"