Professional Documents
Culture Documents
parameter DATA_WIDTH = 1;
parameter DEPTH = 1;
reg clk;
reg cs;
reg we;
reg oe;
wire data;
reg tb_data;
integer i;
initial begin
begin
we <= 1;
cs <=1;
oe <= 0;
end
begin
we <= 0;
cs <= 1;
oe <= 1;
end
#20 $finish;
end
initial
begin
$dumpvars;
$dumpfile("dump.vcd");
end
endmodule
design code
module sync_ram
# (parameter DATA_WIDTH = 1,
parameter DEPTH = 1)
reg tmp_data;
reg mem ;
begin
end
begin
end
endmodule
module testbench;
wire out;
reg [1:0] k;
reg tb_in;
seq_detect u0 ( clk,reset,in,out );
initial begin
clk <= 0;
reset <= 0;
in <= 0;
reset <= 1;
`ifndef RANDOM
// Given pattern
`else
begin
k = $random;
tb_in = $random;
in <= tb_in;
end
`endif
#100 $finish;
end
begin
end
initial begin
$dumpvars;
$dumpfile("dump.vcd");
end
endmodule
design code
input reset,
input in,
output out );
parameter S0 = 0,
S1 = 1,
S2 = 2,
S3 = 3,
S4 = 4;
begin
if (!reset)
else
end
begin
case (pr_state)
S0 : begin
if (in)
next_state = S1;
else
next_state = S0;
end
S1: begin
if (in)
next_state = S2;
else
next_state = S0;
end
S2 : begin
if (in)
next_state = S2;
else
next_state = S3;
end
S3 : begin
if (in)
next_state = S4;
else
next_state = S0;
end
S4: begin
if (in)
next_state = S2;
else
next_state = S0;
end
endcase
end
endmodule