Initial commit

This commit is contained in:
2026-11-04 11:32:14 +02:00
commit 3b63d221af
8 changed files with 520 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
`timescale 1ns / 1ps
module tb;
reg [3:0] char;
wire [6:0] LED;
integer i;
LEDdecoder dut (
.char(char),
.LED (LED)
);
initial begin
$dumpfile("wave.vcd");
$dumpvars(0, tb);
for (i = 0; i < 16; i = i + 1) begin
char = i;
#10;
$display("char=%h LED{a..g}=%b", char, LED);
end
$finish;
end
endmodule
@@ -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