gpt4 book ai didi

VHDL 等待多个信号

转载 作者:行者123 更新时间:2023-12-04 05:13:27 25 4
gpt4 key购买 nike

signal a:bit:='1'; signal b:bit:='0'; signal c:bit:='0';
begin
process
variable d:bit:='0';
begin
if (a='1')or(b='0') then a <= inertial not d after 1ns;
else a<=inertial not c after 1.5ns;
end if;
d := a and b;
b <= inertial (b)nand(a or d) after 1ns;
wait on a,b,c;end process;
c <= a and b after 1ns;
end Behavioral;

如果 a 和 b 同时改变它们的值会发生什么,例如 2ns。

过程会触发2次吗?

如果是这样,a,b 应该使用哪些值,如果我们要处理 a 事件的进程,那么 b 信号是改变了,还是当进程再次运行 b 时它会改变?

还有语句 c <= a and b after 1ns;在进程之外,它是如何工作的?如果没有 after,它将只是一个 AND 单元,没有延迟。

最佳答案

wait on a,b,c;

在增量周期期间等待信号之一进行事务。

如果碰巧两个或全部“激活”,则对模拟器没有任何影响,它仍然会退出等待。它不会在剩余信号上“保存”当前增量周期中的交易并将它们向前推进。

关于VHDL 等待多个信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14608155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com