顺序信号赋值语句的一般格式为:
    信号名 <= [transport | inertial] 波形{,波形};
    波形 ::= 值表达式 [after 时间表达式]
  
transport的意义为传输延迟,inertial的意义为惯性延迟。缺省时默认为惯性延迟。
  赋值符号左边必须是信号名,但不能是端口声明中指定为in的信号。右边表达式中可以出现任意对象类,但不能出现端口声明中指定为out的信号。
  例:
    B <= A;      
-- 惯性延迟,无时间延迟子句,即δ延迟
    D <= C after 5 ns;
-- 传输延迟,指定延迟时间
    Clock <= '0', '1' after 1 ns, '0' after 2 ns, '1' after 3 ns, '0' after 4 ns, '1' after 5 ns;
             
-- 激励波形的一种描述形式。
  (1) 传输延迟与惯性延迟
  VHDL支持两种延迟模式:
  传输延迟(transport delay):输出端响应输入端的微小变化;
  惯性延迟(inertial delay):输入端信号保持一定时间,输出端才有响应。VHDL规定如果不加声明,默认该宽度为延迟时间。
  例:(图2.7)
    Y <= not X after 5 ns;
    Y <= transport not X after 5 ns;

图2.7 惯性延迟与传输延迟

  (2) 信号的延时赋值
  假设一个进程中有下面的顺序信号赋值语句, 现在我们研究其执行过程。
    A <= B after 5 ns;
    B <= A after 5 ns;
  两个语句左边信号均延迟5 ns 赋值,当前值不变。右边表达式中信号的值均为当前值。因而,在5 ns时刻,A= '1', B= '0'。 在10 ns时刻,A= '0', B= '1'。依此类推。其结果波形如图2.8所示。
图2.8 信号结果波形

  
设当前信号值为:A= '0', B= '1'。设当前时刻为0时刻,在执行第一个语句时得到A在5 ns后的值为 '1',当前时刻A的值仍然为 '0'。当执行第2个语句时,要将A当前的值赋给B,得到B在5 ns后的值。因为A当前值仍为 '0', 所以B在5 ns后的值也是 '0'。当模拟时钟走到5 ns时,就得到两个信号在5 ns时刻的当前值:A= '1', B= '0'。这时,用同样的方法,得到10 ns时的值:A= '0', B= '1'。

  (3) 无时间子句── δ延迟
    B <= A;
    A <= B;
  VHδL规定,未指定延迟时间的信号赋值语句,都有一个默认的延迟时间,相当于
    B <= A after δ;
    A <= B after δ;
  δ是一个时间的无穷小量;信号赋值须经过 δ 时间延迟。
例如:当前值为A= '0', B= '1',则 δ 后,A= '1', B= '0'。

  δ是一个虚拟的时间,相对于模拟时钟是无穷小。模拟时如果有的语句显式指定了延迟时间,有的没有指定,在执行未指定延迟时间的语句时,模拟时钟保持不动,而在模拟时钟时刻t的基础上增加一个或多个δ时间,通常记为t+δ,t+2δ,…。δ的规定是为了解决信号赋值语句的并行性问题,δ延迟就相当于零延迟。