考虑这段代码:
architecture synth of my_entity is
signal a : std_logic;
begin
a <= c and d;
b <= a and c;
end synth;
第二行是否会尊重其他进程中的更改,或者只是在指定的体系结构结束时才是所有信号?
最佳答案 小心你的术语.当你在另一个“进程”中说改变时,它在VHDL中具有特定含义(进程是VHDL中的关键字),并且你的代码没有任何进程.
合成器会将您的代码视为:
a <= c and d;
b <= (c and d) and c;
模拟器通常会在第一次传递中分配a,然后在第二次传递时分配一个’delta’.增量是一个无穷小的时间延迟,它发生在与初始分配相同的模拟时间.
请注意,这是对实际情况的粗略概括……如果您需要完整的详细信息,请阅读随工具链提供的文档.