|
|
@ -18,22 +18,21 @@ module test_top; |
|
|
|
|
|
|
|
|
|
|
|
task spi_write_reg; |
|
|
|
|
|
|
|
input [15:0] addr; |
|
|
|
input [31:0] data; |
|
|
|
integer i; |
|
|
|
begin |
|
|
|
addr[15] = 1; |
|
|
|
spi1_cs_pin = 0; |
|
|
|
#10; // 100ns |
|
|
|
#30; // 100ns |
|
|
|
|
|
|
|
for (i = 0; i < 48; i = i + 1) begin |
|
|
|
spi1_clk_pin = 0; |
|
|
|
if (i <= 15) spi1_tx_pin = addr[i]; |
|
|
|
else spi1_tx_pin = data[i-16]; |
|
|
|
#10; |
|
|
|
#30; |
|
|
|
spi1_clk_pin = 1; |
|
|
|
#10; |
|
|
|
#30; |
|
|
|
end |
|
|
|
spi1_clk_pin = 0; |
|
|
|
#10; |
|
|
@ -42,10 +41,8 @@ module test_top; |
|
|
|
#20; |
|
|
|
spi1_cs_pin = 1; |
|
|
|
spi1_tx_pin = 1; |
|
|
|
#100; |
|
|
|
|
|
|
|
#300; |
|
|
|
end |
|
|
|
|
|
|
|
endtask |
|
|
|
|
|
|
|
|
|
|
@ -73,14 +70,14 @@ module test_top; |
|
|
|
|
|
|
|
#100; |
|
|
|
spi_write_reg(16'h0020, 32'h00000001); |
|
|
|
spi_write_reg(16'h0021, 32'h00000020); |
|
|
|
spi_write_reg(16'h0022, 32'h00000300); |
|
|
|
spi_write_reg(16'h0023, 32'h00004000); |
|
|
|
spi_write_reg(16'h0024, 32'h00050000); |
|
|
|
spi_write_reg(16'h0025, 32'h00600000); |
|
|
|
spi_write_reg(16'h0026, 32'h07000000); |
|
|
|
spi_write_reg(16'h0027, 32'h80000000); |
|
|
|
spi_write_reg(16'h0021, 32'h00000010); |
|
|
|
spi_write_reg(16'h0022, 32'h00000100); |
|
|
|
spi_write_reg(16'h0023, 32'h00001000); |
|
|
|
|
|
|
|
spi_write_reg(16'h0020, 32'h00000002); |
|
|
|
spi_write_reg(16'h0021, 32'h00000020); |
|
|
|
spi_write_reg(16'h0022, 32'h00000200); |
|
|
|
spi_write_reg(16'h0023, 32'h00002000); |
|
|
|
end |
|
|
|
always #1 sys_clk = ~sys_clk; // 50MHZ时钟 |
|
|
|
endmodule |