summaryrefslogtreecommitdiff
path: root/spi_tb.v
diff options
context:
space:
mode:
Diffstat (limited to 'spi_tb.v')
-rw-r--r--spi_tb.v57
1 files changed, 57 insertions, 0 deletions
diff --git a/spi_tb.v b/spi_tb.v
new file mode 100644
index 0000000..f042f8d
--- /dev/null
+++ b/spi_tb.v
@@ -0,0 +1,57 @@
+`timescale 1ns/1ps
+
+module main;
+ reg clk = 0;
+ always #1 clk = ~clk;
+
+ reg go = 0;
+ reg rst = 1;
+ reg [7:0] i_data = 8'hAA;
+ wire [7:0] o_data;
+ wire busy;
+
+ wire spi_clk;
+ wire spi_mosi;
+ reg spi_miso = 0;
+
+ spi_controller dut(
+ .clk(clk), .rst(rst), .go(go /*& ~busy*/),
+ .i_data(i_data), .o_data(o_data),
+ .busy(busy),
+
+ .spi_clk(spi_clk),
+ .spi_mosi(spi_mosi),
+ .spi_miso(spi_miso));
+
+ initial begin
+ $dumpfile("main.vcd");
+ $dumpvars(2, main);
+
+ //$display("Hello world!");
+ //$monitor("T%03d | clk: %0d", $time, clk);
+
+ #2 rst = 0;
+ go = 1;
+ #2 go = 0;
+
+ #3 spi_miso = 1;
+ #4 spi_miso = 0;
+ #4 spi_miso = 1;
+ #4 spi_miso = 0;
+ #4 spi_miso = 1;
+ #4 spi_miso = 0;
+ #4 spi_miso = 1;
+ #4 spi_miso = 0;
+ #4 spi_miso = 1;
+ #4 spi_miso = 0;
+ #4 spi_miso = 1;
+
+ #32 $finish;
+ end
+
+ initial begin
+ #34 i_data = 8'h55;
+ go = 1;
+ #2 go = 0;
+ end
+endmodule