1
Files
quartus-7-segment-counter/BinToBcd_TestBench.sv
2023-03-27 23:29:16 +02:00

58 lines
1.1 KiB
Systemverilog

`default_nettype none
module BinToBcd_TestBench;
var logic clock, reset, decrement;
tri[13:0] binout;
Counter cnt(
.clock(clock),
.reset(reset),
.decrement(decrement),
.binout(binout)
);
tri[3:0] value[3:0];
BinToBcd bcd(
.binin(binout),
.bcdout(value)
);
// synthesis translate_off
integer ii;
initial begin
$timeformat(-9, 2, " ns", 20);
$display("%0t Reset", $time);
decrement = 0;
#20 reset = 1;
#20 reset = 0;
assert (value[0] == 0);
assert (value[1] == 0);
assert (value[2] == 0);
assert (value[3] == 0);
$display("%0t Bin[1] = 0 0 0 1", $time);
#20 clock = 1;
#20 clock = 0;
assert (value[0] == 1);
assert (value[1] == 0);
assert (value[2] == 0);
assert (value[3] == 0);
$display("%0t Bin[1024] = 1 0 2 4", $time);
for (ii = 0; ii < 1023; ii = ii + 1) begin
#20 clock = 1;
#20 clock = 0;
end
assert (value[0] == 4);
assert (value[1] == 2);
assert (value[2] == 0);
assert (value[3] == 1);
$display("Success!");
end
// synthesis translate_on
endmodule