FPGA_module/uart/uart_tb.v

69 lines
1.2 KiB
Verilog

`timescale 1ns/1ps
module clk_tb;
reg clk, rst_n;
initial begin
clk = 0;
end
always #1 clk = ~clk;
initial begin
rst_n = 1;
#1 rst_n = 0;
#1 rst_n = 1;
end
wire clk_uart_tx;
wire tx_pin;
wire tx_busy;
reg rx_pin;
wire[7:0] rx_data;
wire rx_rdy;
uart_top uart_top_inst(
.clk(clk),
.rstn(rst_n),
.rx_pin(rx_pin)
);
parameter delay = 100;
reg [7:0] tx_data;
initial begin
rx_pin = 1;
#10;
tx_data = 8'h55;
rx_pin = 1'b0;#delay;
rx_pin = tx_data[0] ;#delay;
rx_pin = tx_data[1] ;#delay;
rx_pin = tx_data[2] ;#delay;
rx_pin = tx_data[3] ;#delay;
rx_pin = tx_data[4] ;#delay;
rx_pin = tx_data[5] ;#delay;
rx_pin = tx_data[6] ;#delay;
rx_pin = tx_data[7] ;#delay;
rx_pin = 1'b1 ;#delay;
// #delay;
tx_data = 8'hAA;
rx_pin = 1'b0 ;#delay;
rx_pin = tx_data[0] ;#delay;
rx_pin = tx_data[1] ;#delay;
rx_pin = tx_data[2] ;#delay;
rx_pin = tx_data[3] ;#delay;
rx_pin = tx_data[4] ;#delay;
rx_pin = tx_data[5] ;#delay;
rx_pin = tx_data[6] ;#delay;
rx_pin = tx_data[7] ;#delay;
rx_pin = 1'b1 ;#delay;
#delay;
end
initial begin
$dumpfile("uart_tb.vcd");
$dumpvars(0, clk_tb);
#100000 $finish;
end
endmodule