【发布时间】:2020-12-04 14:44:23
【问题描述】:
我有一个关于 VHDL 的基本问题。
考虑以下过程:
process(Clk)
begin
if(rising_edge(Clk)) then
a <= data_in;
b <= a;
c <= b;
data_out <= c;
end if;
end process;
上述过程作为一个延迟寄存器,其中data_in在4个时钟周期后输出到data_out。
据我了解,这是因为信号是并行分配的。但那为什么在一个叫做顺序的过程中的语句呢?
例如:
process(Clk)
begin
if(rising_edge(Clk)) then
a <= b or c;
a <= b and c;
end if;
end process;
在上述过程中,“a”从第二个语句中获取值,我理解它是如何以顺序方式工作的,与第一个过程不同。
请帮忙。
【问题讨论】:
-
IEEE Std 1076-2008 10. 顺序语句 10.1 “顺序语句用于定义执行子程序或进程的算法;它们按照它们出现的顺序执行。”
标签: vhdl