1
0
forked from tanchou/Verilog
Files
Verilog_Louis/Semaine_1/UARTV2/top_uart_rx_tx.v

48 lines
1.2 KiB
Verilog

module uart_top(
input wire clk,
input wire rst,
input wire uart_rx,
output wire uart_tx,
// Interfaces RX
output wire [7:0] rx_data,
output wire rx_data_valid,
input wire rx_data_ready,
// Interfaces TX
input wire [7:0] tx_data,
input wire tx_data_valid,
output wire tx_data_ready
);
parameter CLK_FRE = 27_000_000; // Hz
parameter UART_FRE = 115200; // Baudrate
// === Instanciation RX ===
uart_rx #(
.CLK_FRE(CLK_FRE),
.BAUD_RATE(UART_FRE)
) uart_rx_inst (
.clk (clk),
.rst_p (rst),
.rx_data (rx_data),
.rx_data_valid (rx_data_valid),
.rx_data_ready (rx_data_ready),
.rx_pin (uart_rx)
);
// === Instanciation TX ===
uart_tx #(
.CLK_FRE(CLK_FRE),
.BAUD_RATE(UART_FRE)
) uart_tx_inst (
.clk (clk),
.rst_p (rst),
.tx_data (tx_data),
.tx_data_valid (tx_data_valid),
.tx_data_ready (tx_data_ready),
.tx_pin (uart_tx)
);
endmodule