aboutsummaryrefslogtreecommitdiffstats
path: root/test_spi_write_read_mode0.v
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2022-07-20 19:41:54 -0400
committerGravatar Peter McGoron 2022-07-20 19:41:54 -0400
commit6f000b64ec96dcdd0176533a62536deddc2d97a6 (patch)
tree7db2c55a4b7c4cf74ab840faf1797a71349ab69b /test_spi_write_read_mode0.v
start spi master and slave with testbench
Diffstat (limited to 'test_spi_write_read_mode0.v')
-rw-r--r--test_spi_write_read_mode0.v58
1 files changed, 58 insertions, 0 deletions
diff --git a/test_spi_write_read_mode0.v b/test_spi_write_read_mode0.v
new file mode 100644
index 0000000..56be197
--- /dev/null
+++ b/test_spi_write_read_mode0.v
@@ -0,0 +1,58 @@
+module test_spi_write_read_mode0
+(
+ input clk,
+ input [23:0] data_ctrl,
+ input activate,
+ input ss,
+ output master_finished,
+ output slave_finished,
+ output slave_error
+);
+
+wire miso;
+wire mosi;
+wire sck;
+wire ss_L = !ss;
+
+reg [23:0] from_slave_data;
+
+spi_master master
+(
+ .clk(clk),
+ .to_slave(data_ctrl),
+ .from_slave(from_slave_data),
+ .miso(miso),
+ .mosi(mosi),
+ .sck_wire(sck),
+ .finished(master_finished),
+ .arm(activate)
+);
+
+reg [23:0] data_from_master;
+reg [23:0] data_to_master = 24'b111011011100010101010101;
+
+spi_slave spi_slave
+(
+ .clk(clk),
+ .sck(sck),
+ .ss_L(ss_L),
+ .from_master(data_from_master),
+ .to_master(data_to_master),
+ .mosi(mosi),
+ .miso(miso),
+ .finished(slave_finished),
+ .err(slave_error)
+);
+
+always @ (posedge clk) begin
+ if (slave_finished) begin
+ data_to_master <= data_from_master;
+ end
+end
+
+initial begin
+ $dumpfile("test_spi_write_read_mode0.vcd");
+ $dumpvars();
+end
+
+endmodule