SDF文件【简要说明】

SDF (Standard Delay Format),标准延时格式文件,常用延迟反标注。该文件包含了仿真用到的所有 IOPATH,INTERCONNECT的延时。

线延时:

(INTERCONNECT fsm_block/U27/Q fsm_block/U41/C  (0.002::0.002) (0.002::0.002))

表示 fsm_block/U27/Q端口到fsm_block/U41/C端口的连线延时最小是0.002,最大是0.002。典型值在sdf中没有说明。因此在Modelsim里反标sdf延时时,要指定-sdfmin或者sdfmax。如果制定-sdftyp的话,由于sdf文件里并没有关于延时典型值的说明,则Modelsim将不会将延时反标到标准单元上面,而是将库文件里specify指定的延时反标上去,如下代码块里的 0.02。

module AN22HDLLX1 (A, B, C, D, Q);input     A, B, C, D;output    Q;wire      n_0, n_1;// Function Q: !((A*B)+(C*D))and       i0  (n_0, A, B);and       i1  (n_1, C, D);nor       i2  (Q, n_0, n_1);// timing section:specify(A -=> Q) = (0.02, 0.02);if ((B == 1'b1 && C == 1'b1)) (A -=> Q) = (0.02, 0.02);(B -=> Q) = (0.02, 0.02);if ((A == 1'b1 && C == 1'b1)) (B -=> Q) = (0.02, 0.02);(C -=> Q) = (0.02, 0.02);if ((A == 1'b0 && B == 1'b1)) (C -=> Q) = (0.02, 0.02);if ((A == 1'b1 && B == 1'b0)) (C -=> Q) = (0.02, 0.02);(D -=> Q) = (0.02, 0.02);if ((A == 1'b0 && B == 1'b1)) (D -=> Q) = (0.02, 0.02);if ((A == 1'b1 && B == 1'b0)) (D -=> Q) = (0.02, 0.02);endspecify
endmodule

单元延时:

  (CELL(CELLTYPE  "AN31HDLLX1")(INSTANCE  reg_map/CB_Logic_i1/U16)(DELAY(ABSOLUTE(IOPATH A Q  (0.262::0.262) (0.160::0.160))(IOPATH B Q  (0.271::0.271) (0.167::0.167))(IOPATH C Q  (0.233::0.233) (0.156::0.156))(IOPATH D Q  (0.169::0.169) (0.097::0.097))(COND (A==1'b0&&B==1'b0&&C==1'b1) (IOPATH D Q  (0.169::0.169) (0.097::0.097)))(COND (A==1'b0&&B==1'b1&&C==1'b1) (IOPATH D Q  (0.169::0.169) (0.097::0.097)))(COND (A==1'b1&&B==1'b0&&C==1'b1) (IOPATH D Q  (0.169::0.169) (0.097::0.097)))(COND (A==1'b1&&B==1'b1&&C==1'b0) (IOPATH D Q  (0.169::0.169) (0.097::0.097))))))

(IOPATH A Q (0.262::0.262) (0.160::0.160))表示,上升沿最小延时是0.262,最大值也是0.262,典型值没有定义;下降沿最小延时是0.160,最大值也是0.160,典型值没有定义;

条件延时:
(COND (A1’b0&&B1’b0&&C==1’b1) (IOPATH D Q (0.169::0.169) (0.097::0.097)))表示 A为0并且B为1并且C为1的时候,上升延迟为0.169-0.169, 下降延迟为0.097-0.097。

Modelsim如何反标sdf【入门简单教程】

Published by

风君子

独自遨游何稽首 揭天掀地慰生平