串口顶层模块Verilog代码实现
module uart_rs232
(
input sys_clk,
input sys_rst,
input rx,
output tx,
);
parameter UART_BPS=14'd9600;
parameter CLK_FREQ=26'D50000000;
//
wire [7:0]po_data;
wire po_flag;
uart_rx
#(
.UART_BPS (UART_BPS), //串口波特率
.CLK_FREQ (CLK_FREQ) //时钟频率
)
uart_rx inst
(
.sys_clk(sys_clk),
.sys_rst(sys_rst),
.rx(rx),
.po_data(po_data),
.po_flag(po_flag)
);
uart_tx
#(
.UART_BPS (UART_BPS), //串口波特率
.CLK_FREQ (CLK_FREQ) //时钟频率
)
uart_tx inst
(
.sys_clk(sys_clk),
.sys_rst(sys_rst),
.tx(tx),
.pi_data(po_data),
.pi_flag(po_flag)
);
endmodule