Verilog For loop:初始值错误
我试图在我的verilog设计中使用for循环,由于某些原因,for循环的初始值没有设置正确。 我尝试在verilog中编写一个简单的for循环,并检查了模拟。我仍然得到了错误的初始值 这是我尝试过的简单for循环:Verilog For loop:初始值错误,verilog,Verilog,我试图在我的verilog设计中使用for循环,由于某些原因,for循环的初始值没有设置正确。 我尝试在verilog中编写一个简单的for循环,并检查了模拟。我仍然得到了错误的初始值 这是我尝试过的简单for循环: integer j; always @(posedge clk) begin for (j=0; j< 16; j=j+1) begin count <= count+1; end end 整数j; 始终@(posedge clk) 开始
integer j;
always @(posedge clk)
begin
for (j=0; j< 16; j=j+1)
begin
count <= count+1;
end
end
整数j;
始终@(posedge clk)
开始
对于(j=0;j<16;j=j+1)
开始
count如注释always@(posedge-clk)
中所述,表示触发器,其中包含的所有内容都在时钟周期的模拟中完成
要数到15,您可能需要:
reg [3:0] count;
always @(posedge clk) begin
if (count < 5'd15) begin
count <= count+1;
end
end
reg[3:0]计数;
始终@(posedge clk)开始
如果(计数<5'd15)开始
计算循环在一个时钟周期内完成的次数,即在一个时钟周期内j从0增加到16。因此,您只能看到j的最终值,即16。j=x,因为之前没有初始化。