How tf did it break bro
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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
|
||||
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wave_config>
|
||||
<wave_state>
|
||||
</wave_state>
|
||||
<db_ref_list>
|
||||
<db_ref path="sd_controller_tb_behav.wdb" id="1">
|
||||
<top_modules>
|
||||
<top_module name="glbl" />
|
||||
<top_module name="sd_controller_tb" />
|
||||
</top_modules>
|
||||
</db_ref>
|
||||
</db_ref_list>
|
||||
<zoom_setting>
|
||||
<ZoomStartTime time="41,685.336 ns"></ZoomStartTime>
|
||||
<ZoomEndTime time="44,957.696 ns"></ZoomEndTime>
|
||||
<Cursor1Time time="0.000 ns"></Cursor1Time>
|
||||
</zoom_setting>
|
||||
<column_width_setting>
|
||||
<NameColumnWidth column_width="469"></NameColumnWidth>
|
||||
<ValueColumnWidth column_width="172"></ValueColumnWidth>
|
||||
</column_width_setting>
|
||||
<WVObjectSize size="11" />
|
||||
<wvobject type="logic" fp_name="/sd_controller_tb/slow_clk">
|
||||
<obj_property name="ElementShortName">slow_clk</obj_property>
|
||||
<obj_property name="ObjectShortName">slow_clk</obj_property>
|
||||
</wvobject>
|
||||
<wvobject type="logic" fp_name="/sd_controller_tb/fast_clk">
|
||||
<obj_property name="ElementShortName">fast_clk</obj_property>
|
||||
<obj_property name="ObjectShortName">fast_clk</obj_property>
|
||||
</wvobject>
|
||||
<wvobject type="logic" fp_name="/sd_controller_tb/crc_clk">
|
||||
<obj_property name="ElementShortName">crc_clk</obj_property>
|
||||
<obj_property name="ObjectShortName">crc_clk</obj_property>
|
||||
</wvobject>
|
||||
<wvobject type="logic" fp_name="/sd_controller_tb/reset">
|
||||
<obj_property name="ElementShortName">reset</obj_property>
|
||||
<obj_property name="ObjectShortName">reset</obj_property>
|
||||
</wvobject>
|
||||
<wvobject type="logic" fp_name="/sd_controller_tb/sd_data">
|
||||
<obj_property name="ElementShortName">sd_data</obj_property>
|
||||
<obj_property name="ObjectShortName">sd_data</obj_property>
|
||||
</wvobject>
|
||||
<wvobject type="logic" fp_name="/sd_controller_tb/sd_cmd">
|
||||
<obj_property name="ElementShortName">sd_cmd</obj_property>
|
||||
<obj_property name="ObjectShortName">sd_cmd</obj_property>
|
||||
</wvobject>
|
||||
<wvobject type="logic" fp_name="/sd_controller_tb/ready">
|
||||
<obj_property name="ElementShortName">ready</obj_property>
|
||||
<obj_property name="ObjectShortName">ready</obj_property>
|
||||
</wvobject>
|
||||
<wvobject type="logic" fp_name="/sd_controller_tb/clk">
|
||||
<obj_property name="ElementShortName">clk</obj_property>
|
||||
<obj_property name="ObjectShortName">clk</obj_property>
|
||||
</wvobject>
|
||||
<wvobject type="array" fp_name="/sd_controller_tb/dut/state">
|
||||
<obj_property name="ElementShortName">state[5:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">state[5:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject type="logic" fp_name="/sd_controller_tb/dut/sender/ready">
|
||||
<obj_property name="ElementShortName">ready</obj_property>
|
||||
<obj_property name="ObjectShortName">ready</obj_property>
|
||||
</wvobject>
|
||||
<wvobject type="logic" fp_name="/sd_controller_tb/dut/reader/received">
|
||||
<obj_property name="ElementShortName">received</obj_property>
|
||||
<obj_property name="ObjectShortName">received</obj_property>
|
||||
</wvobject>
|
||||
</wave_config>
|
||||
Reference in New Issue
Block a user