Я пытаюсь изучить verilog, выполнив C++ раньше. В качестве учебного упражнения, которое я пытаюсь включить, включите светодиод после просмотра 10 нажатий кнопок. У меня также есть дополнительная кнопка сброса, которая снова запускает 10 счетчиков. Что бы я ни старался, я не могу его скомпилировать. Может кто-то указать мне верное направление?Verilog if statement assign error
Мой код:
module led_counter (button, nreset, led);
input button, nreset;
output led;
reg counter[4:0]; // to hold the current count
always @ (negedge nreset) begin
counter <= 0; // Just reset counter
end
always @ (negedge button) begin
if (counter == 10) begin // see if the button has been pressed 10 times
led_state <= 1; // turn the led on
end
else begin
led_state <= 0; // the led is off
counter <= counter + 1;
end
end
assign led = led_state;
endmodule
Спасибо за комментарий @krouitch - это помогло. Я не думаю, что это совсем то, что я ищу, поскольку вход nreset на самом деле является фиксирующей кнопкой, а не кнопкой. Поэтому я просто хотел обнаружить края. Я верю, что кнопка nreset с фиксированным низким значением этого кода всегда будет сбросить счетчик, даже если начальная кнопка кнопки запускает его. Может ли он быть изменен для удовлетворения этих новых требований? – Martin