如何在verilog中为输出数组赋值

如何在verilog中为输出数组赋值,verilog,Verilog,所以,我有一个LED[7:0],我有一个循环,循环7次,所以我试着做这个任务 for(i=0;i<=7;i++) LED[i] = (some logics) 它是有效的,我正在使用Quarts II Verilog,所以,这已经困扰了我一整天了。。。非常感谢大家为生成循环使用的逻辑: 生成 对于(i=0;i请显示真实代码。我认为您的代码可以工作,但需要查看您对led的声明以及围绕此for循环的内容。不知道为什么会被否决。wire/reg这件事完全不合逻辑,因此引起混乱也就不足为奇了

所以,我有一个LED[7:0],我有一个循环,循环7次,所以我试着做这个任务

for(i=0;i<=7;i++)
  LED[i] = (some logics)

它是有效的,我正在使用Quarts II Verilog,所以,这已经困扰了我一整天了。。。非常感谢大家为生成循环使用的逻辑:

生成

对于(i=0;i请显示真实代码。我认为您的代码可以工作,但需要查看您对led的声明以及围绕此for循环的内容。不知道为什么会被否决。wire/reg这件事完全不合逻辑,因此引起混乱也就不足为奇了。@EML在我看来,因为问题不清楚。它可能不清楚ypo,我们没有足够的代码来帮助我们思考和解决问题。至少我认为这就是为什么^always块中的循环是可以合成的,如果它们可以静态展开,看起来错误指向右侧的某个东西。@Morgan:我认为LED被定义为导线,而它应该是reg。当然,但他所要做的就是decl它是否作为一个注册表。a generate对于这个.Oh-来说太过了,并且将i++修改为i=i+1,假设这实际上是Verilog。@EML:没有“i++”在我的回答中。@Qiu EML指的是这个问题。它只需要更改
wire
/
reg
声明并修复
i++
语法。注意:
i++
在SystemVerilog中受支持。
LED[0] = ...
LED[1] = ...
   .
   .
   .
generate
   for (i=0; i<8; i=i+1) begin : led_loop
      assign LED[i] = (some logic);
   end 
endgenerate