You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
`timescale 1ns / 1ns module test_spi_reg_reader; // input clk, // input rst_n,
// output reg [31:0] addr, // output reg [31:0] wr_data, // output reg wr_en, // input wire [31:0] rd_data,
// input wire spi_cs_pin, // input wire spi_clk_pin, // input wire spi_rx_pin, // output reg spi_tx_pin
reg clk_50m; reg rst_n;
wire [31:0] addr; wire [31:0] wr_data; wire wr_en; reg [31:0] rd_data;
reg spi_cs_pin; reg spi_clk_pin; reg spi_rx_pin; wire spi_tx_pin;
spi_reg_reader spi_reg_reader_impl ( .clk(clk_50m), .rst_n(rst_n), .addr(addr), .wr_data(wr_data), .wr_en(wr_en), .rd_data(rd_data), .spi_cs_pin(spi_cs_pin), .spi_clk_pin(spi_clk_pin), .spi_rx_pin(spi_rx_pin), .spi_tx_pin(spi_tx_pin) );
// reg rst_n; // reg [31:0] rd_data; // reg spi_tx_pin; // reg clk_50m; // reg spi_cs_pin; // reg spi_clk_pin; // reg spi_rx_pin;
always #10 clk_50m = ~clk_50m; //20ns 50MHZ integer i = 0; reg [63:0] txdata = 64'h88_77_66_55_44_33_82_11; initial begin rst_n <= 0; clk_50m <= 0; spi_cs_pin <= 1; spi_clk_pin <= 1; spi_rx_pin <= 0; rd_data <= 32'h11223344;
#100; rst_n <= 1;
#100; spi_cs_pin <= 0; #100;
repeat (64) begin spi_clk_pin <= 0; spi_rx_pin <= txdata[i]; #200; spi_clk_pin <= 1; i = i + 1; #200; end
spi_clk_pin <= 0; #200; spi_clk_pin <= 1; #200; spi_cs_pin <= 1;
#1000; $stop; end endmodule
|