refactor peripheral_gen, split out interface classes
[pinmux.git] / src / bsv / peripheral_gen / rs232.py
1 from bsv.peripheral_gen.base import PBase
2
3 class rs232(PBase):
4
5 def slowimport(self):
6 return " import Uart_bs::*;\n" + \
7 " import RS232_modified::*;"
8
9 def slowifdecl(self):
10 return " interface RS232 uart{0}_coe;"
11
12 def num_axi_regs32(self):
13 return 2
14
15 def mkslow_peripheral(self, size=0):
16 return " //Ifc_Uart_bs uart{0} <-" + \
17 " // mkUart_bs(clocked_by uart_clock,\n" + \
18 " // reset_by uart_reset,sp_clock, sp_reset);" +\
19 " Ifc_Uart_bs uart{0} <-" + \
20 " mkUart_bs(clocked_by sp_clock,\n" + \
21 " reset_by sp_reset, sp_clock, sp_reset);"
22
23 def _mk_connection(self, name=None, count=0):
24 return "uart{0}.slave_axi_uart"
25
26 def pinname_out(self, pname):
27 return {'tx': 'coe_rs232.sout'}.get(pname, '')
28
29 def pinname_in(self, pname):
30 return {'rx': 'coe_rs232.sin'}.get(pname, '')