Initial commit
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
module tb_driver;
|
||||
|
||||
reg clk = 0;
|
||||
reg reset = 1;
|
||||
wire an3, an2, an1, an0;
|
||||
wire a, b, c, d, e, f, g, dp;
|
||||
|
||||
FourDigitLEDdriver dut (
|
||||
.clk(clk),
|
||||
.reset(reset),
|
||||
.an3(an3),
|
||||
.an2(an2),
|
||||
.an1(an1),
|
||||
.an0(an0),
|
||||
.a(a),
|
||||
.b(b),
|
||||
.c(c),
|
||||
.d(d),
|
||||
.e(e),
|
||||
.f(f),
|
||||
.g(g),
|
||||
.dp(dp)
|
||||
);
|
||||
|
||||
always #5 clk = ~clk; // 100 MHz
|
||||
|
||||
wire [3:0] low = ~{an3, an2, an1, an0};
|
||||
always @(low)
|
||||
if ((low & (low - 1)) != 0)
|
||||
$display("ERROR t=%0t: επικάλυψη ανόδων, an=%b", $time, {an3, an2, an1, an0});
|
||||
|
||||
always @(an3 or an2 or an1 or an0)
|
||||
$display(
|
||||
"t=%0t state=%b digit=%h an=%b%b%b%b seg(abcdefg)=%b%b%b%b%b%b%b",
|
||||
$time,
|
||||
dut.state,
|
||||
dut.digit,
|
||||
an3,
|
||||
an2,
|
||||
an1,
|
||||
an0,
|
||||
a,
|
||||
b,
|
||||
c,
|
||||
d,
|
||||
e,
|
||||
f,
|
||||
g
|
||||
);
|
||||
|
||||
initial begin
|
||||
$dumpfile("wave_driver.vcd");
|
||||
$dumpvars(0, tb_driver);
|
||||
#100 reset = 0;
|
||||
#20000 $finish;
|
||||
end
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user