Verilog For循环:错误的初始值

时间:2015-10-17 04:45:38

标签: 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的第一次转换是从X到16。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

正如ssjr所述,always @(posedge clk)表示触发器中包含的所有内容都是在时钟周期的模拟中完成的。

要数到15,你可能会:

reg [3:0] count;
always @(posedge clk) begin 
  if (count < 5'd15) begin 
    count <= count+1;
  end 
end