1 from migen
.fhdl
import structure
as f
2 from migen
.bus
import csr
5 def __init__(self
, csr_addr
, clk_freq
, baud
=115200, break_en_default
=f
.Constant(0)):
6 self
.bus
= csr
.Slave("uart")
10 f
.Declare(self
, "brk")
11 self
._inst
= f
.Instance("uart",
12 [("csr_do", self
.bus
.d_o
),
16 [("csr_a", self
.bus
.a_i
),
17 ("csr_we", self
.bus
.we_i
),
18 ("csr_di", self
.bus
.d_i
),
19 ("uart_rx", self
.rx
)],
20 [("csr_addr", f
.Constant(csr_addr
, f
.BV(4))),
21 ("clk_freq", clk_freq
),
23 ("break_en_default", break_en_default
)],
27 def GetFragment(self
):
28 return f
.Fragment(instances
=[self
._inst
], pads
={self
.tx
, self
.rx
})