2025-04-18 11:37:51 +02:00
|
|
|
module uart_top(
|
2025-04-22 15:44:04 +02:00
|
|
|
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
|
2025-04-18 11:37:51 +02:00
|
|
|
);
|
|
|
|
|
2025-04-22 15:44:04 +02:00
|
|
|
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)
|
|
|
|
);
|
2025-04-18 11:37:51 +02:00
|
|
|
|
|
|
|
endmodule
|