【发布时间】:2021-07-05 19:03:38
【问题描述】:
我正在使用 Verilog 在 Vivado 中工作。假设我有 2 个寄存器:
reg [3327:0]a;
reg [1023:0] b;
每个时钟周期我都想从 a 中取出 13 位,从 b 中取出 4 位,然后将它们相乘。
时钟 1:a[12:0] * b[3:0]
时钟 3:a[25:13] * b[7:4]
遍历这些寄存器最有效的方法是什么?有人告诉我,使用这样的 for 循环是不正确的?
【问题讨论】:
-
我想我的意思是适当/最少的资源?当我使用 for 循环时,它似乎需要 reg[constant] 中的常量。所以使用 like reg[counter: counter-4] 会抛出错误。
-
啊,是的,我已经读过这方面的内容,但无法获得正确的语法,该链接很有用!我想我现在明白应该怎么做。感谢您的努力。