模块路径延迟是由specify块描述的,specify块是模块内包围在specify和endspecify之间的部分。specify块有如下用途。

  1. 描述模块路径(Module path),把延迟赋给这些路径。
  2. 执行时序检查(Timing check),确保模块输入端口上发生的事件满足模块的时序约束(Timing constraint)。

例子:

specify
  specparam tRise_clk_q = 150, tFall_clk_q = 200;
  specparam tSetup = 70;
  (clk => q) = (tRise_clk_q, tFall_clk_q); //Path delay: from clk to q
  $setup (d, posedge clk, tSetup);  //Timing check: between d and posedge clk
endspecify