Synopsys Design Compiler和PrimeTime时序分析报告保持不变

时间:2015-03-21 02:34:45

标签: verilog synthesis asic

我在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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

在ASIC设计流程中,PrimeTime用于预先安置和路径后放置和路由。在前置和路径阶段,我们使用PrimeTime来分析时间,以确认时间目标是否可以在适当的位置和路线上实现。在后置和路径阶段,我们使用PrimeTime来签署布局后时序,输入数据是网表和提取RC。

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