【发布时间】:2019-11-03 18:33:04
【问题描述】:
我知道在一个进程中指令是按顺序执行的,直到进程结束才更新信号的值,但是我不明白并行性的原理?例如,在下面的代码中,我知道两条指令将并行执行(同时),但我不知道 Q 是否会具有 Sig2 的新值,或者当我们计算 Sig2 时我们是否使用新值Sig1 还是先例?
Sig1<=a and b;
Sig2<=Sig1 and a;
Q<=Sig2;
【问题讨论】:
-
参见 IEEE Std 1076-2008 11.6 并发信号赋值语句 “并发信号赋值语句代表一个等效的过程语句,它为信号赋值。” 10.2 等待语句,第 3 和 4 段“该规则还用于构造等价过程语句中等待语句的敏感度集...,以及并发信号分配语句 (11.6)。”等效过程对信号分配右侧评估的信号上的事件敏感。 (并发——不并行不代表连续,尝试模拟)。
标签: concurrency vhdl fpga hdl