Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Wrong timing report from all path.

Status
Not open for further replies.

coshy

Member level 4
Joined
Mar 28, 2016
Messages
71
Helped
0
Reputation
0
Reaction score
1
Trophy points
1,288
Activity points
1,766
Dear All,

I'm trying to make a timing report for all path which is
1. Input to register path
2. Register to register path
3. Register to output path
4. Input to output path

Basically My design is
1613480371369.png


RTL:
Code:
module MY_DESIGN ( Cin1, Cin2, Cout, data1, data2, sel, clk, out1, out2, out3);
  input [4:0] Cin1, Cin2, data1, data2;
  input sel, clk;
  output [4:0] Cout, out1, out2, out3;
  reg   [4:0] R1, R2, R3, R4, out1, out2, out3;
  wire   [4:0] arth_o;

  ARITH U1_ARITH ( .a(data1), .b(data2), .sel(sel), .out1(arth_o) );
  COMBO U_COMBO ( .Cin1(Cin1), .Cin2(Cin2), .sel(sel), .Cout(Cout) );


always @ (posedge clk)
  begin
    R1 <= arth_o;
    R2 <= data1 & data2;
    R3 <= data1 + data2;
    R4 <= R2 + R3;
  end

always @ (out2, R1, R3, R4)
  begin
    out1 <= R1 + R3;
    out2 <= R3 & R4;
    out3 <= out2 - R3;
  end

endmodule

SDC
Code:
report_timing -from [all_inputs]               -to [all_registers -data_pins] -max_paths 10 > report_input2r.rpt
report_timing -from [all_registers -data_pins] -to [all_registers -data_pins] -max_paths 10 > report_reg2r.rpt
report_timing -from [all_registers -data_pins] -to [all_outputs]              -max_paths 10 > report_reg2o.rpt
report_timing -from [all_inputs]               -to [all_outputs]              -max_paths 10 > report_intput2out.rpt

And I've got the report report_reg2output but it seems something wrong.
Why can't report with any path? Did I something to do wrong?

Code:
****************************************
Report : timing
        -path full
        -delay max
        -max_paths 10
Design : MY_DESIGN
****************************************

Wire Load Model Mode: enclosed
No paths.

1

One thing is for input to output reports.
Code:
****************************************
Report : timing
        -path full
        -delay max
        -max_paths 10
Design : MY_DESIGN

****************************************
Wire Load Model Mode: enclosed

  Startpoint: sel (input port clocked by clk)
  Endpoint: Cout[4] (output port clocked by clk)
  Path Group: clk
  Path Type: max

 
  Point                                                   Incr       Path
  --------------------------------------------------------------------------
  clock clk (rise edge)                                   0.00       0.00
  clock network delay (ideal)                             1.00       1.00
 
  data required time                                                 3.75
  --------------------------------------------------------------------------
  data required time                                                 3.75
  data arrival time                                                 -1.40
  --------------------------------------------------------------------------
  slack (MET)                                                        2.35


 
1

As you can see the above report, It supposed to report with Cin1[4:0] and Cin2[4:0] to Cout[4:0] path not only sel to Cout[4:0] path. But didn't it.

Would you please help me how to get a path timing Right report ?
 

try report_timing -from [all_registers], without the data pin option and see what you get
 
try report_timing -from [all_registers], without the data pin option and see what you get
Maybe I did something wrong.

Sir, I've got

report_input2r.rpt
Code:
Warning: cell 'R1_reg[0]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[1]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[2]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[3]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[4]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[0]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[1]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[2]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[3]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[4]' is of the wrong type. (UID-119)
Warning: ...10 additional objects are of the wrong type. (UID-119)
Warning: Ignoring all 20 objects in collection '_sel675' because they are not of type pin, port, net, clock, or generated_clock. (UID-445)
Error: Value for list '-to' must have 1 elements. (CMD-036)
0

report_reg2r.rpt
Code:
Warning: cell 'R1_reg[0]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[1]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[2]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[3]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[4]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[0]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[1]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[2]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[3]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[4]' is of the wrong type. (UID-119)
Warning: ...10 additional objects are of the wrong type. (UID-119)
Warning: Ignoring all 20 objects in collection '_sel676' because they are not of type pin, port, net, clock, or generated_clock. (UID-445)
Error: Value for list '-from' must have 1 elements. (CMD-036)
Warning: cell 'R1_reg[0]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[1]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[2]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[3]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[4]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[0]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[1]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[2]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[3]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[4]' is of the wrong type. (UID-119)
Warning: ...10 additional objects are of the wrong type. (UID-119)
Warning: Ignoring all 20 objects in collection '_sel677' because they are not of type pin, port, net, clock, or generated_clock. (UID-445)
Error: Value for list '-to' must have 1 elements. (CMD-036)
0

report_reg2o.rpt
Code:
Warning: cell 'R1_reg[0]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[1]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[2]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[3]' is of the wrong type. (UID-119)
Warning: cell 'R1_reg[4]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[0]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[1]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[2]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[3]' is of the wrong type. (UID-119)
Warning: cell 'R3_reg[4]' is of the wrong type. (UID-119)
Warning: ...10 additional objects are of the wrong type. (UID-119)
Warning: Ignoring all 20 objects in collection '_sel678' because they are not of type pin, port, net, clock, or generated_clock. (UID-445)
Error: Value for list '-from' must have 1 elements. (CMD-036)
0

report_intput2out.rpt
Code:
Information: Changed wire load model for 'DW01_add_width5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for '*ADD_UNS_OP_5_5_5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for 'DW01_add_width5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for '*ADD_UNS_OP_5_5_5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for 'DW01_sub_width5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for '*SUB_UNS_OP_5_5_5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for 'DW01_add_width5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for '*ADD_UNS_OP_5_5_5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for 'DW01_add_width5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for '*ADD_UNS_OP_5_5_5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for 'DW01_add_width5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for '*ADD_UNS_OP_5_5_5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for 'DW01_sub_width5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for '*SUB_UNS_OP_5_5_5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for 'DW01_add_width5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for '*ADD_UNS_OP_5_5_5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for 'DW01_sub_width5' from '(none)' to 'ForQA'. (OPT-170)
Information: Changed wire load model for '*SUB_UNS_OP_5_5_5' from '(none)' to 'ForQA'. (OPT-170)
Information: Updating design information... (UID-85)

****************************************
Report : timing
        -path full
        -delay max
        -max_paths 10
Design : MY_DESIGN

****************************************

Wire Load Model Mode: enclosed




  Startpoint: sel (input port clocked by clk)
  Endpoint: Cout[0] (output port clocked by clk)
  Path Group: clk
  Path Type: max

  Des/Clust/Port     Wire Load Model       Library
  ------------------------------------------------
  MY_DESIGN          ForQA                 cbmax
  ARITH              ForQA                 cbmax
  COMBO              ForQA                 cbmax

  Point                                                   Incr       Path
  --------------------------------------------------------------------------
  clock clk (rise edge)                                   0.00       0.00
  clock network delay (ideal)                             1.00       1.00
  input external delay                                    0.40       1.40 f
  sel (in)                                                0.00       1.40 f
  U_COMBO/sel (COMBO)                                     0.00       1.40 f
  U_COMBO/U2_ARITH/sel (ARITH)                            0.00       1.40 f
  U_COMBO/U2_ARITH/I_0/Z (GTECH_NOT)                      0.00       1.40 r
  U_COMBO/U2_ARITH/B_0/Z (GTECH_BUF)                      0.00       1.40 r
  U_COMBO/U2_ARITH/C15/Z_0 (*SELECT_OP_2.5_2.1_5)         0.00       1.40 r
  U_COMBO/U2_ARITH/out1[0] (ARITH)                        0.00       1.40 r
  U_COMBO/add_68/A_0 (*ADD_UNS_OP_5_5_5)                  0.00       1.40 r
  U_COMBO/add_68/*cell*62/A[0] (DW01_add_width5)          0.00       1.40 r
  ...
  U_COMBO/add_68/*cell*62/SUM[0] (DW01_add_width5)        0.00       1.40 r
  U_COMBO/add_68/Z_0 (*ADD_UNS_OP_5_5_5)                  0.00       1.40 r
  U_COMBO/Cout[0] (COMBO)                                 0.00       1.40 r
  Cout[0] (out)                                           0.00       1.40 r
  data arrival time                                                  1.40

  clock clk (rise edge)                                   3.00       3.00
  clock network delay (ideal)                             1.00       4.00
  clock uncertainty                                      -0.15       3.85
  output external delay                                  -0.10       3.75
  data required time                                                 3.75
  --------------------------------------------------------------------------
  data required time                                                 3.75
  data arrival time                                                 -1.40
  --------------------------------------------------------------------------
  slack (MET)                                                        2.35


1

When I used as the below,

Code:
report_timing -from [all_inputs]     -to [all_registers ] -max_paths 10 > report_input2r.rpt
report_timing -from [all_registers ] -to [all_registers ] -max_paths 10 > report_reg2r.rpt
report_timing -from [all_registers ] -to [all_outputs]    -max_paths 10 > report_reg2o.rpt
report_timing -from [all_inputs]     -to [all_outputs]    -max_paths 10 > report_intput2out.rpt
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top