【问题标题】:Verilog: Using reg As Counters For for-loopsVerilog:使用 reg 作为 for 循环的计数器
【发布时间】:2017-06-20 08:21:21
【问题描述】:

在一个模块中:

reg a, b;
integer i, j;

initial
     begin
          for (a = 0; a < 2; a = a + 1)     
               //some code
     end

教科书说去掉整数 ij 并使用 reg ab 直接作为循环计数器。提示:reg 变量的大小是固定的,因此它们会换行。

这是什么意思?整数也没有固定大小吗?包装是什么?

【问题讨论】:

标签: verilog


【解决方案1】:

如果将 reg 定义为数组,则 reg 可以是单个位,也可以是多个位。另一方面,整数是 32 位。所以如果你有一个循环,使用一个不会随着循环前进而溢出的整数变量会更方便。

在您的示例中,您设置了a &lt; 2,因此使用单个位 reg 循环永远不会终止。

此外,整数是单值。

【讨论】:

  • verilog 中的整数是 32 位的,而不是 64 位。单位 reg 会溢出,循环永远不会退出。您至少需要 2 位 reg。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多