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