流程语句中的(并发)信号分配是顺序的还是并发的?

Ana*_*lon 5 vhdl

据我所知,PROCESS中的所有语句都是按顺序执行的.那么并发信号分配会发生什么(<=)?它是否与顺序赋值(:=)的工作方式相同,还是在增量延迟后执行?

如果它在delta延迟之后执行,那么PROCESS中的所有语句如何被称为顺序?

如果它立即执行,那么在一个进程中:=和<=之间是否有任何区别?

ham*_*mon 7

在完成执行中的所有顺序代码之后执行信号分配(<=).这是完成该时间步长的所有活动进程的时间.

举个例子,为什么:

假设您有一个触发2个进程的事件.这两个进程使用相同的信号,但其中一个更改了该信号的值.由于顺序模拟模型,模拟器当时只能执行一个过程(不要与vhdl的并发模型混淆).因此,如果首先模拟过程A并且A改变信号,则B将具有错误的信号值.因此,只有在完成所有触发过程后才能更改信号.

变量赋值(:=)可以不间断地执行,并且可以用于例如临时在流程中存储一些数据.