Я действительно новичок в мире verilog, и я не могу понять, почему моя программа ничего не возвращает. Я пытаюсь сделать простой 6-битный счетчик, который рассчитывает на нажатие кнопки. Код6-битный двоичный счетчик со светодиодным выходом
module top (CLK, BTN_RST, LED, BTN_C);
input CLK, BTN_RST, BTN_C; //
output [5:0]LED;
reg [5:0]LED;
always @(posedge CLK or posedge BTN_RST) begin
if (BTN_RST) begin
LED <= 6'b000000;
end
else begin: COUNT
while (BTN_C) begin
LED <= LED + 1'b1;
disable COUNT;
end
end
end
endmodule
И испытательный стенд является
module top_test;
reg CLK;
reg BTN_RST;
reg BTN_C;
reg [5:0]LED;
initial begin
CLK = 0;
BTN_RST = 0;
BTN_C = 0;
#1 BTN_RST = 1;
#5 BTN_RST = 0;
#10 BTN_C = 1;
#50;
end
always
begin
#5 CLK=~CLK;
end
Этот код компилируется и работает (как я могу видеть на Isim), но светодиодный выход дает мне XXXXXX. Я думаю, что здесь есть не только некоторые ошибки, но и не могу понять, как работает тестовый стенд, и как правильно назначать входные и выходные данные. Кто-нибудь может мне помочь, пожалуйста!
Добавить описание светодиодного выхода, который вы ожидаете увидеть. – toolic