1

我已经在 Synopsys Design Compiler 和 PrimeTime 中完成了计数器的时序分析,但得到了相同的输出!任何问题 ?

那么 PrimeTime 时序分析如何变得比 DC 更准确呢?

使用的设计文件counter.v如下所示。

module counter ( out, clk, reset ) ;

   input        clk, reset;
   output [3:0] out;

   reg [3:0]    out;

   wire [3:0]   next;

   // This statement implements reset and increment
   assign       next = reset ? 4'b0 : (out + 4'b1);

   // This implements the flip-flops
   always @ ( posedge clk ) begin
      out <= #1 next;
   end


endmodule // counter

设计编译器输出是通过将输入作为counter.v和时钟周期生成的2。设计编译器输出如下所示。

write_sdf ${name}.sdf
Information: Annotated 'cell' delays are assumed to include load delay. (UID-282)
Information: Writing timing information to file '/home/student/labs/jithin_prjct/jith/count.sdf'. (WT-3)
Information: Updating design information... (UID-85)
1
create_clock clk -period 2
1
report_timing
Information: Updating graph... (UID-83)
Information: Updating design information... (UID-85)

****************************************
Report : timing
        -path full
        -delay max
        -max_paths 1
Design : count
Version: E-2010.12-SP2
Date   : Fri Mar 20 22:08:55 2015
****************************************

Operating Conditions: TYPICAL   Library: saed90nm_typ
Wire Load Model Mode: enclosed

  Startpoint: out_reg[0] (rising edge-triggered flip-flop clocked by clk)
  Endpoint: out_reg[3] (rising edge-triggered flip-flop clocked by clk)
  Path Group: clk
  Path Type: max

  Des/Clust/Port     Wire Load Model       Library
  ------------------------------------------------
  count              ForQA                 saed90nm_typ

  Point                                    Incr       Path
  -----------------------------------------------------------
  clock clk (rise edge)                    0.00       0.00
  clock network delay (ideal)              0.00       0.00
  out_reg[0]/CLK (DFFX1)                   0.00       0.00 r
  out_reg[0]/Q (DFFX1)                     0.18       0.18 f
  U25/QN (NOR2X0)                          0.11       0.29 r
  U21/Q (AO21X1)                           0.12       0.41 r
  U15/Q (AO21X1)                           0.10       0.51 r
  U14/Q (MUX21X1)                          0.12       0.63 r
  out_reg[3]/D (DFFX1)                     0.04       0.67 r
  data arrival time                                   0.67

  clock clk (rise edge)                    2.00       2.00
  clock network delay (ideal)              0.00       2.00
  out_reg[3]/CLK (DFFX1)                   0.00       2.00 r
  library setup time                      -0.07       1.93
  data required time                                  1.93
  -----------------------------------------------------------
  data required time                                  1.93
  data arrival time                                  -0.67
  -----------------------------------------------------------
  slack (MET)                                         1.26

PrimeTime 输出是通过将输入作为netlist计数器SDF文件、计数器文件(均由设计编译器生成)和时钟周期来生成的2。PrimeTime 输出如下所示。

report_timing
****************************************
Report : timing
    -path_type full
    -delay_type max
    -max_paths 1
Design : count
Version: E-2010.12-SP1
Date   : Fri Mar 20 22:08:14 2015
****************************************


  Startpoint: out_reg[0] (rising edge-triggered flip-flop clocked by clk)
  Endpoint: out_reg[3] (rising edge-triggered flip-flop clocked by clk)
  Path Group: clk
  Path Type: max

  Point                                    Incr       Path
  ---------------------------------------------------------------
  clock clk (rise edge)                    0.00       0.00
  clock network delay (ideal)              0.00       0.00
  out_reg[0]/CLK (DFFX1)                   0.00       0.00 r
  out_reg[0]/Q (DFFX1)                     0.18 *     0.18 f
  U25/QN (NOR2X0)                          0.11 *     0.29 r
  U21/Q (AO21X1)                           0.12 *     0.41 r
  U15/Q (AO21X1)                           0.10 *     0.51 r
  U14/Q (MUX21X1)                          0.12 *     0.63 r
  out_reg[3]/D (DFFX1)                     0.04 *     0.67 r
  data arrival time                                   0.67

  clock clk (rise edge)                    2.00       2.00
  clock network delay (ideal)              0.00       2.00
  out_reg[3]/CLK (DFFX1)                              2.00 r
  library setup time                      -0.07 *     1.93
  data required time                                  1.93
  ---------------------------------------------------------------
  data required time                                  1.93
  data arrival time                                  -0.67
  ---------------------------------------------------------------
  slack (MET)                                         1.26
4

2 回答 2

0

只有在布局后网表上执行分析时,您才会得到不同的结果。使用预布局网表,您可以为工具提供来自 .lib 文件的相同数据,以在 Design Compiler 或 PrimeTime 中执行时序分析。布局后网表包括时钟树综合,这就是您开始使用 PrimeTime 的时候。此外,请注意您只能分析设置要求,而在预布局网表中不能分析保持要求。

于 2015-05-15T13:19:09.243 回答
0

您向 PrimeTime 提供网表和 SDF(Standard Delay Format,时序延迟信息),SDF 由 Design Compiler 生成。在您的情况下,PrimeTime 不会自行计算单元/网络延迟,因为您已经向 PrimeTime 提供了 SDF。因此 PrimeTime 时序与 Design Compiler 相同。

在 ASIC 设计流程中,PrimeTime 用于 pre-place&route 也用于 post-place&route。在预布局布线阶段,我们使用 PrimeTime 来分析时序,以确认布局布线可以实现时序目标。在 post-place&route 阶段,我们使用 PrimeTime 来签署 post-layout 时序,输入数据是网表和提取的 RC。

无论如何,为 PrimeTime 提供 SDF 并不常见。PrimeTime 具有精确的延迟计算器,因此无需输入 SDF。相反,我们使用 PrimeTime 为其他工具生成 SDF 来分析时序。

于 2015-08-20T08:54:21.800 回答