【发布时间】:2016-05-26 00:43:26
【问题描述】:
我正在编写一些 VHDL 代码,这些代码将用于(在 FPGA 上)读取 16 位数字信号,进行一些处理,然后写出 16 位处理后的信号。目前它已设置,因此它应该每 10 个时钟周期读取一次输入,在下一个时钟周期进行一些处理(它目前什么都不做,只是输出输入),然后在剩余的 8 个时钟周期内增加计数器。
如果处理需要超过一个时钟周期才能完成会发生什么(它会),它会继续直到它完成并停止计数器递增直到它完成?还是计数器在处理信号时会保持并行递增?
我将对其进行设置,以使该过程在 8 个时钟周期结束之前完成(及时写入输出)。
伪代码如下所示:
Do (on rising clock edge):
if (n = 10) then
n <= 1;
Output <= ProcessedSignal;
InputSignal <= Input;
elsif (n = 1) then
n <= n + 1
Output <= Output;
-- do some signal processing here (e.g. a filter)
ProcessedSignal <= InputSignal;
else
n <= n + 1;
Output <= Output;
ProcessedSignal <= ProcessedSignal;
end if;
【问题讨论】:
-
您的问题似乎为时过早。请参阅How do I ask a good question? 您可以编写一些实际的 VHDL 代码并进行模拟,这样您就可以针对可以通过Minimal, Complete, and Verifiable example 复制的问题提出特定问题。
标签: vhdl