(1) 简单并行信号赋值语句
并行信号赋值语句的一种最简单的形式为:
信号 <= [选择项] 波形{,波形};
选择项::=[transport | inertial | guarded]
等价于:
process (敏感信号表)
begin
信号 <= [选择项] 波形{,波形};
end process;
例:
Out1 <= transport A and B after 5 ns;
等价于:
process(A, B)
begin
Out1 <= transport A and B after 5 ns;
end process;
简单信号赋值语句右边表达式中的信号值均为敏感信号。如果需要指定哪些是敏感信号,哪些是非敏感信号,就要直接用进程表示。
连续的并行信号赋值语句的执行顺序与其语句出现的顺序无关,改变顺序后期执行结果一定相同。由其等价进程可以看到,并行赋值语句的执行取决于表达式中的信号是否有事件,即是否有变化。若有变化,则该语句执行一次;否则不执行。
选择项guarded仅用于块结构(block)中,在后面有关block的小节中介绍。
|