|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
`timescale 1ns / 1ps
module UART_Drive_Top_v1_4#(
parameter SYS_FREQ = 50_000_000 //输入时钟
,parameter UART_BAUD = 115_200 //波特率
)(
input clk //输入时钟
,input rst_n //复位信号
//UART发送
,input tx_wr //启动发送,单周期指示信号
,input [7:0] tx_data //发送数据
,output tx_done //发送完成,单周期指示信号
//UART接收
,output rx_done //接收完成,单周期指示信号
,output [7:0] rx_data //接收数据,持续保持
//UART
,input rxd //UART接收数据
,output txd //UART发送数据
);
//*********************************************************************
//线网、寄存器:
//*********************************************************************
//UART时钟
wire tx_en ; //UART发送时钟使能
wire tx_clk; //UART发送时钟
wire rx_en ; //UART接收时钟使能
wire rx_clk; //UART接收时钟
//*********************************************************************
//模块例化
//*********************************************************************
//UART发送时钟
UART_TXCLK_v1_4#(
.SYS_FREQ (SYS_FREQ )
,.UART_BAUD (UART_BAUD )
)U_UART_TXCLK(
.clk (clk )
,.rst_n (rst_n )
,.tx_en (tx_en )
,.tx_clk (tx_clk )
);
//UART发送
UART_TXD_v1_4 U_UART_TXD(
.clk (clk )
,.rst_n (rst_n )
,.tx_clk (tx_clk )
,.tx_wr (tx_wr )
,.tx_data (tx_data )
,.txd (txd )
,.tx_en (tx_en )
,.tx_done (tx_done )
);
//UART接收时钟
UART_RXCLK_v1_4#(
.SYS_FREQ (SYS_FREQ )
,.UART_BAUD (UART_BAUD )
)U_UART_RXCLK(
.clk (clk )
,.rst_n (rst_n )
,.rx_en (rx_en )
,.rx_clk (rx_clk )
);
//UART接收
UART_RXD_v1_4 U_UART_RXD(
.clk (clk )
,.rst_n (rst_n )
,.rx_clk (rx_clk )
,.rxd (rxd )
,.rx_en (rx_en )
,.rx_done (rx_done )
,.rx_data (rx_data )
);
endmodule
|
|