vhdl中的进程语句

vhdl中的进程语句,vhdl,hardware-programming,Vhdl,Hardware Programming,我正在努力学习VHDL,并努力学习它的一些基础知识。问题如下: Process语句被描述为包含顺序运行的代码(一行接一行)。我想问一下为什么不能在一个进程语句中运行并发代码(意味着所有行都并行执行)。第二,如果进程语句包含顺序代码,它如何对三个触发器(例如 --内部进程语句 Q1 <= D1; Q2 <= Q1; Q3 <= Q2; Q1Sequential与语句的求值顺序有关,而与赋值生效时无关 VHDL模拟周期 信号分配不会立即生效,它们被安排在当前或未来时间,并且在分配

我正在努力学习VHDL,并努力学习它的一些基础知识。问题如下:

Process语句被描述为包含顺序运行的代码(一行接一行)。我想问一下为什么不能在一个进程语句中运行并发代码(意味着所有行都并行执行)。第二,如果进程语句包含顺序代码,它如何对三个触发器(例如

--内部进程语句

Q1 <= D1;
Q2 <= Q1;
Q3 <= Q2;

Q1Sequential与语句的求值顺序有关,而与赋值生效时无关

VHDL模拟周期

信号分配不会立即生效,它们被安排在当前或未来时间,并且在分配生效之前,当前模拟周期中对信号事务敏感的所有进程都已完成。(在VHDL中,所有内容都被分解为等效的块层次结构、进程和函数调用以进行模拟。)

当所有当前激活的过程完成时,模拟时间提前到下一次信号在任何信号投影输出波形(队列)中激活时,除非在当前模拟时间存在事件,在这种情况下,我们称下一个模拟周期为增量周期

执行对信号事务敏感的每个过程,并对相应的投影输出波形进行任何进一步的信号分配。对于每个信号的当前模拟时间,队列中只有一个“插槽”

这样就不会有任何进程击中移动目标。一次只执行一个进程,在所有进程完成执行之前,信号分配不会生效。这模拟了并发性,模拟了包含顺序语句的进程按顺序执行时的并行执行


诸如
Q1Sequential之类的赋值与语句的求值顺序有关,而不是赋值生效时

VHDL模拟周期

信号分配不会立即生效,它们被安排在当前或未来时间,并且在分配生效之前,当前模拟周期中对信号事务敏感的所有进程都已完成。(在VHDL中,所有内容都被分解为等效的块层次结构、进程和函数调用以进行模拟。)

当所有当前激活的过程完成时,模拟时间提前到下一次信号在任何信号投影输出波形(队列)中激活时,除非在当前模拟时间存在事件,在这种情况下,我们称下一个模拟周期为增量周期

执行对信号事务敏感的每个过程,并对相应的投影输出波形进行任何进一步的信号分配。对于每个信号的当前模拟时间,队列中只有一个“插槽”

这样就不会有任何进程击中移动目标。一次只执行一个进程,在所有进程完成执行之前,信号分配不会生效。这模拟了并发性,模拟了包含顺序语句的进程按顺序执行时的并行执行

诸如
Q1之类的赋值