1
我想學習verilog之前做過C++的。作爲一種學習練習,我試着在看到10次按鍵後閃爍LED。我還有一個額外的重置按鈕,可以再次啓動10次計數。我試過的東西我不能編譯。任何人都可以將我指向正確的方向嗎?Verilog if語句賦值錯誤
我的代碼是:
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輸入實際上是一個鎖定按鈕,而不是一個momentry按鈕。所以我真的只想檢測邊緣。 我相信,當nreset按鈕被鎖定爲低電平時,即使按鈕的邊沿觸發它,該代碼也會始終重置計數器。 是否可以修改以滿足這些新要求? – Martin