forked from tanchou/Verilog
Gros patch sur la fifo et rx fifo pour gagner des tick d'horloge, uart comand fonctionne toujours pas
This commit is contained in:
@@ -13,7 +13,7 @@ module tb_ultrason_commands;
|
||||
wire tx_ready;
|
||||
reg [7:0] data_in = 8'h00;
|
||||
wire [7:0] data_out;
|
||||
wire rx_received;
|
||||
wire data_available;
|
||||
|
||||
reg rd_en = 0; // Lecture FIFO
|
||||
|
||||
@@ -42,13 +42,13 @@ module tb_ultrason_commands;
|
||||
.BAUD_RATE(BAUD_RATE)
|
||||
) uart_rx_fifo_inst (
|
||||
.clk(clk),
|
||||
.rx_pin(rx), // on observe la sortie du DUT
|
||||
.rx_pin(tx),
|
||||
.rd_en(rd_en),
|
||||
.rd_data(data_out),
|
||||
.data_available(rx_received)
|
||||
.data_available(data_available)
|
||||
);
|
||||
|
||||
// === TX pour injecter une commande UART vers le DUT ===
|
||||
// === TX pour injecter une commande UART ===
|
||||
uart_tx #(
|
||||
.CLK_FREQ(CLK_FREQ),
|
||||
.BAUD_RATE(BAUD_RATE)
|
||||
@@ -57,7 +57,7 @@ module tb_ultrason_commands;
|
||||
.tx_enable(tx_enable),
|
||||
.tx_ready(tx_ready),
|
||||
.data(data_in),
|
||||
.tx(tx), // va dans le DUT
|
||||
.tx(rx),
|
||||
.rst_p(1'b0)
|
||||
);
|
||||
|
||||
@@ -70,6 +70,7 @@ module tb_ultrason_commands;
|
||||
|
||||
// Attendre que le TX soit prêt
|
||||
wait(tx_ready);
|
||||
$display(">> TX ready");
|
||||
#100;
|
||||
|
||||
// Envoyer la commande "ONE" (1)
|
||||
@@ -77,19 +78,25 @@ module tb_ultrason_commands;
|
||||
tx_enable <= 1;
|
||||
#20;
|
||||
tx_enable <= 0;
|
||||
$display(">> Command sent: %d", data_in);
|
||||
|
||||
// Lire 2 octets de réponse : LSB et MSB de la distance
|
||||
repeat (2) begin
|
||||
wait(rx_received);
|
||||
wait(data_available);
|
||||
|
||||
//D
|
||||
#10; // Laisse le temps de valider le drapeau
|
||||
rd_en <= 1; // Lecture de la FIFO
|
||||
#20;
|
||||
#30;
|
||||
rd_en <= 0;
|
||||
|
||||
|
||||
#200;
|
||||
$display(">> Distance octet: %d", data_out);
|
||||
end
|
||||
|
||||
$display("==== End UART Ultrasonic Test ====");
|
||||
#1000;
|
||||
#10000;
|
||||
$stop;
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user