SDVD/verification/sd/sd_controller_tb.sv
Waylon Cude fe227d1b61
All checks were successful
ci/woodpecker/push/test-workflow Pipeline was successful
Broken SD card
How tf did it break bro
2025-06-09 15:41:13 -07:00

46 lines
924 B
Systemverilog

module sd_controller_tb;
bit slow_clk,fast_clk,crc_clk;
logic reset,sd_data;
wire sd_cmd;
wire ready;
wire clk;
audio_buffer_interface buffer ();
sd_controller dut (.buffer(buffer.driver), .*);
bit sd_write;
assign sd_cmd = sd_write ? 'z : 0;
initial forever #100 slow_clk = ~slow_clk;
initial forever #1 crc_clk = ~crc_clk;
initial forever #10 fast_clk = ~fast_clk;
initial begin
sd_write = 1;
reset = 1;
repeat (2) @(posedge slow_clk);
reset = 0;
repeat (200) @(posedge slow_clk);
send_response();
repeat (100) @(posedge slow_clk);
send_response();
repeat (100) @(posedge slow_clk);
$finish;
end
task automatic send_response();
for(int i=0;i<47;i++)
@(posedge slow_clk) sd_write = 0;
@(posedge slow_clk) sd_write = 1;
endtask
endmodule