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