| 例: Architecture A of E is signal S: Bit := '0'; signal Out1: Bit := '0'; begin process (S) variable v: Integer := 0; --变量的初值只在启动时执行一次。 begin v := v +1; --执行完变量赋值语句后,变量值立即改变。 if v = 10 --这时上面的语句已经得到新值,故按新值判断。 then Out1 <= '1'; -- 计数为10时,输出信号为1。 v := 0; end if; end process; process(S) begin S <= not S after 500 ps; end process; end A; 应当注意的是:变量赋值与信号赋值有所不同,变量赋值无时间延迟,执行了变量赋值语句之后,变量便获得新值。这就意味着在紧接着变量赋值语句之后的顺序语句中可以看到该变量的新值。 变量赋值语句说明:
|