gpt4 book ai didi

Verilog HDL循环语句错误: loop with non-constant loop condition must terminate

转载 作者:行者123 更新时间:2023-12-02 21:50:30 26 4
gpt4 key购买 nike

我对 Verilog 完全陌生,对于我在大学学习的类(class),我必须很快了解它的很多内容。我正在摆弄我的 Altera DE2 板和 quartis2,并了解其细节。

我正在尝试制作一个通过开关打开和关闭的计数器。到目前为止,计数器根据按键进行计数和重置。

这是我的错误:

Error (10119): Verilog HDL Loop Statement error at my_first_counter_enable.v(19): 
loop with non-constant loop condition must terminate within 250 iterations

我知道我被要求提供一个循环变量,但即使这样做我也会收到错误。

module my_first_counter_enable(SW,CLOCK_50,LEDR,KEY);

input CLOCK_50;
input [17:0] SW;
input KEY;

output [17:0] LEDR;

reg [32:0] count;
wire reset_n;
wire enable;

assign reset_n = KEY;
assign enable = SW[0];
assign LEDR = count[27:24];


always@ (posedge CLOCK_50 or negedge reset_n) begin
while(enable) begin
if(!reset_n)
count = 0;
else
count = count + 1;
end
end

endmodule

我希望有人能指出我循环中的错误并允许我继续。

最佳答案

我认为您不想使用 while在那里循环。怎么样:

   always@ (posedge CLOCK_50 or negedge reset_n) begin
if(!reset_n)
count <= 0;
else if (enable)
count <= count + 1;
end

我还添加了非阻塞分配 <= ,更适契约(Contract)步逻辑。

关于Verilog HDL循环语句错误: loop with non-constant loop condition must terminate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18728052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com