Я новичок в этом цифрового моделирования, и я написал код ниже. Это всего лишь один сегмент дисплея, в данном случае «e». Я использовал http://www.edaplayground.com/ для пытаться имитировать его, однако я получил следующий каждый раз, когда я пытаюсь запустить его:Какая ошибка в моем коде Verilog?
testbench.sv:13: error: Unable to bind wire/reg/memory Seg_e in `Seg_e_testbench' 1 error(s) during elaboration. Exit code expected: 0, received: 1
module Seg_e (
output reg seg,
input [3: 0] BCD
);
parameter ZERO = 1'b0;
parameter ONE = 1'b1;
always @ (BCD)
case (BCD)
0: seg = ONE;
1: seg = ZERO;
2: seg = ONE;
3: seg = ZERO;
4: seg = ZERO;
5: seg = ZERO;
6: seg = ONE;
7: seg = ZERO;
8: seg = ONE;
9: seg = ZERO;
default: seg = ZERO;
endcase
endmodule
module Seg_e_testbench;
wire seg;
reg [3: 0] BCD;
parameter ZERO = 1'b0;
parameter ONE = 1'b1;
initial #250 $finish;
initial fork
$dumpfile("dump.vcd");
$dumpvars(1,Seg_e);
#10 BCD = 0;
#20 BCD = 1;
#30 BCD = 2;
#40 BCD = 3;
#50 BCD = 4;
#60 BCD = 5;
#70 BCD = 6;
#80 BCD = 7;
#90 BCD = 8;
#100 BCD = 9;
join
Seg_e M0 (seg, BCD);
endmodule
У вас есть условие гонки с $ DUMPFILE и $ dumpvars. Нет гарантии, что $ dumpfile выполнит 1-й. Вы можете заключить их в начало/конец. – toolic