summaryrefslogtreecommitdiffstats
path: root/control_lib/sd_spi.v
diff options
context:
space:
mode:
Diffstat (limited to 'control_lib/sd_spi.v')
-rw-r--r--control_lib/sd_spi.v70
1 files changed, 0 insertions, 70 deletions
diff --git a/control_lib/sd_spi.v b/control_lib/sd_spi.v
deleted file mode 100644
index 3f4d7f46a..000000000
--- a/control_lib/sd_spi.v
+++ /dev/null
@@ -1,70 +0,0 @@
-module sd_spi
- (input clk,
- input rst,
-
- // SD Card interface
- output reg sd_clk,
- output sd_mosi,
- input sd_miso,
-
- // Controls
- input [7:0] clk_div,
- input [7:0] send_dat,
- output [7:0] rcv_dat,
- input go,
- output ready);
-
- reg [7:0] clk_ctr;
- reg [3:0] bit_ctr;
-
- wire bit_ready = (clk_ctr == 8'd0);
- wire bit_busy = (clk_ctr != 8'd0);
- wire bit_done = (clk_ctr == clk_div);
-
- wire send_clk_hi = (clk_ctr == (clk_div>>1));
- wire latch_dat = (clk_ctr == (clk_div - 8'd2));
- wire send_clk_lo = (clk_ctr == (clk_div - 8'd1));
-
- wire send_bit = (bit_ready && (bit_ctr != 0));
- assign ready = (bit_ctr == 0);
-
- always @(posedge clk)
- if(rst)
- clk_ctr <= 0;
- else if(bit_done)
- clk_ctr <= 0;
- else if(bit_busy)
- clk_ctr <= clk_ctr + 1;
- else if(send_bit)
- clk_ctr <= 1;
-
- always @(posedge clk)
- if(rst)
- sd_clk <= 0;
- else if(send_clk_hi)
- sd_clk <= 1;
- else if(send_clk_lo)
- sd_clk <= 0;
-
- always @(posedge clk)
- if(rst)
- bit_ctr <= 0;
- else if(bit_done)
- if(bit_ctr == 4'd8)
- bit_ctr <= 0;
- else
- bit_ctr <= bit_ctr + 1;
- else if(bit_ready & go)
- bit_ctr <= 1;
-
- reg [7:0] shift_reg;
- always @(posedge clk)
- if(go)
- shift_reg <= send_dat;
- else if(latch_dat)
- shift_reg <= {shift_reg[6:0],sd_miso};
-
- assign sd_mosi = shift_reg[7];
- assign rcv_dat = shift_reg;
-
-endmodule // sd_spi