【发布时间】:2014-02-14 17:43:14
【问题描述】:
作为一项学术练习,我正在设计一个具有某些限制的移位寄存器,其中一个是我必须使用给定数量的 d 型触发器(其数量来自泛型)。
如何使输入总线的宽度随着我拥有的触发器数量而变化?
这是最初的计划(使用 for 循环,使用 i 作为递增值),但我们无法在进程中使用 for 循环!
else --SHIFT LEFT
if (CTRL = "10") then
internalInputBus (i+1) <= internalOutputBus(i);
internalInputBus (0) <= SHIFT_IN;
else --SHIFT RIGHT
if (CTRL = "01") then
internalInputBus (i) <= internalOutputBus(i+1);
internalInputBus (n-1) <= SHIFT_IN; --use interesting test length thing
【问题讨论】:
-
当然你可以在进程中使用 FOR 循环。在进程之外,您可以使用 For .. Generate 语句。
标签: loops generics process vhdl xilinx