什么时候用VHDL分配信号?

考虑这段代码:

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’.增量是一个无穷小的时间延迟,它发生在与初始分配相同的模拟时间.

请注意,这是对实际情况的粗略概括……如果您需要完整的详细信息,请阅读随工具链提供的文档.

点赞