diff options
| author | 2022-07-21 02:37:22 -0400 | |
|---|---|---|
| committer | 2022-07-21 02:37:22 -0400 | |
| commit | 4a683b8f654f3ecb6f2408dad3a9cfa60f3b39e6 (patch) | |
| tree | a6c324803c18ad9a6dbcd65d54b80984d39f58d0 /tests/spi_write_read.v | |
| parent | cleanup, add ready pin to slave (diff) | |
move tests
Diffstat (limited to 'tests/spi_write_read.v')
| -rw-r--r-- | tests/spi_write_read.v | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/spi_write_read.v b/tests/spi_write_read.v new file mode 100644 index 0000000..8045a1c --- /dev/null +++ b/tests/spi_write_read.v @@ -0,0 +1,65 @@ +/* (c) Peter McGoron 2022 + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v.2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + +module spi_write_read +#( + parameter POLARITY = 0, + parameter PHASE = 0 +) +( + input clk, + input [23:0] data_ctrl, + input activate, + input ss, + input rdy, + output master_finished +); + +wire miso; +wire mosi; +wire sck; +wire ss_L = !ss; + +reg [23:0] from_slave_data; +reg slave_finished; +reg slave_error; + +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 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), + .rdy(rdy), + .err(slave_error) +); + +always @ (posedge clk) begin + if (slave_finished) begin + data_to_master <= data_from_master; + end +end + +endmodule |
