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.

why this timing report(ISE) says there are Levels of Logic

Status
Not open for further replies.

rogeret

Member level 4
Joined
Sep 7, 2011
Messages
77
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,864
questions of timing report(ISE) about logic levels/tas

Hi ,
Could you help me?
The following timing path report is extracted from the final timing report after PAR. My expected period of clock is 4 ns. My target device is xc7v585t-3-ffg1157 (Virtex 7 family).
1.
I cannot understand why the following timing report tells me there are TWO levels of logic in this timing path.
The delay type in this path is sequentially presented : Tshcko -> net -> Tdspdo_B_P_MULT -> net -> Tas.
In my opinion, there is only ONE level of logic because I can see only one logic---DSP48.
Does the delay tpye----tas imply one level of logic? I dont think so because tas is similiar to setup time which is definitely not logic delay.


Here(https://www.xilinx.com/support/documentation/user_guides/ug364.pdf) is the meaning of tas:
Code:
At time [B][U]TAS [/U][/B]before clock event 1, the address (2) becomes valid at the A/B/C/D inputs of the RAM
.
2.
Why does tas here have a negative value?
3.
Considering that there is no explicit RAM in my RTL design, why ,after I disable the option of "RAM EXTRACTION" to extinct logic implemented by RAM,does the delay----tas still exist? In my opinion , tas delay type is related to RAM and delay of tas type imply the existence of RAM, so I cannot understand the reason for the existence of tas delay type (= RAM) considering no explicit RAM in RTL and the disabled "RAM EXTRACTION" option.

Timing report:
  1. --------------------------------------------------------------------------------
  2. Paths for end point bx6/r_yw1_6 (SLICE_X63Y327.C5), 1 path
  3. --------------------------------------------------------------------------------
  4. Slack (setup path): -0.463ns (requirement - (data path - clock path skew + uncertainty))
  5. Source: t_nextb/b11_0_1 (FF)
  6. Destination: bx6/r_yw1_6 (FF)
  7. Requirement: 4.000ns
  8. Data Path Delay: 4.388ns (Levels of Logic = 2)
  9. Clock Path Skew: -0.040ns (0.975 - 1.015)
  10. Source Clock: clk_BUFGP rising at 0.000ns
  11. Destination Clock: clk_BUFGP rising at 4.000ns
  12. Clock Uncertainty: 0.035ns
  13. Clock Uncertainty: 0.035ns ((TSJ^2 + TIJ^2)^1/2 + DJ) / 2 + PE
  14. Total System Jitter (TSJ): 0.070ns
  15. Total Input Jitter (TIJ): 0.000ns
  16. Discrete Jitter (DJ): 0.000ns
  17. Phase Error (PE): 0.000ns
  18. Maximum Data Path at Slow Process Corner: t_nextb/b11_0_1 to bx6/r_yw1_6
  19. Location Delay type Delay(ns) Physical Resource Logical Resource(s)
  20. ------------------------------------------------- -------------------
  21. SLICE_X62Y251.DMUX Tshcko 0.315 reset_IBUF_589 t_nextb/b11_0_1
  22. DSP48_X2Y131.B0 net (fanout=4) 1.391 t_nextb/b11_0_1
  23. DSP48_X2Y131.P6 Tdspdo_B_P_MULT 2.280 bx6/Mmult_yw1x bx6/Mmult_yw1x
  24. SLICE_X63Y327.C5 net (fanout=1) 0.406 bx6/yw1x<6>
  25. SLICE_X63Y327.CLK Tas -0.004 bx6/r_yw1<8>
  26. bx6/yw1x<6>_rt
  27. bx6/r_yw1_6
  28. ------------------------------------------------- ---------------------------
  29. Total 4.388ns (2.591ns logic, 1.797ns route)
  30. (59.0% logic, 41.0% route)
 
Last edited:

Re: questions of timing report(ISE) about logic levels/tas

1.
I cannot understand why the following timing report tells me there are TWO levels of logic in this timing path.
There is only one level the SLICE_X63Y327 probably contains an output register. You should generate a post mapped schematic to look at the implementation details.
2.
Why does tas here have a negative value?
This would just mean the register has a negative setup time, i.e. the clock can arrive before the data.
3.
Considering that there is no explicit RAM in my RTL design, why ,after I disable the option of "RAM EXTRACTION" to extinct logic implemented by RAM,does the delay----tas still exist? In my opinion , tas delay type is related to RAM and delay of tas type imply the existence of RAM, so I cannot understand the reason for the existence of tas delay type (= RAM) considering no explicit RAM in RTL and the disabled "RAM EXTRACTION" option.
Tas is a setup time for the A/B/C/D inputs of a slice. It is used for both inputs to a flip flop or for the address input to a LUT RAM.
 

Re: questions of timing report(ISE) about logic levels/tas

Hi ads_ee ,

Thanks!

This would just mean the register has a negative setup time, i.e. the clock can arrive before the data.

But it is still hard to imagine the existence of a register with a negative setup time. A negative setup time may not accord with the theory of digital circuit.
 

and if you want a picture:
https://cdstahl.org/?attachment_id=41

as for the extra level of logic, I'm guessing there is something in your code that ends up inferring an extra level, or that the tools have chosen to use a logic element for routing for some reason. in this case, I'm assuming the DMUX muxes in on path for reset and one for non-reset.
 

I'm guessing there is something in your code that ends up inferring an extra level, or that the tools have chosen to use a logic element for routing for some reason.

Maybe, this is a possible explanation.

in this case, I'm assuming the DMUX muxes in on path for reset and one for non-reset.

But , I dont think it is like this in this case.
In the following timing path, there is still a SLICE_X62Y251.DMUX at the beginning of the path which has only ONE logic level.
Where the difference btw the 2 paths locates at is the SLICE_X63Y327.CLK with delay type of Tdick at the end of this path.
SO , I suspect that why the above timing path has TWO logic levels is that it has SLICE_X63Y327.CLK with delay type of Tas at the end of its path.

Paths for end point bx6/r_yw1_7 (SLICE_X63Y327.DX), 1 path
--------------------------------------------------------------------------------
Slack (setup path): -0.444ns (requirement - (data path - clock path skew + uncertainty))
Source: t_nextb/b11_0_1 (FF)
Destination: bx6/r_yw1_7 (FF)
Requirement: 4.000ns
Data Path Delay: 4.369ns (Levels of Logic = 1)
Clock Path Skew: -0.040ns (0.975 - 1.015)
Source Clock: clk_BUFGP rising at 0.000ns
Destination Clock: clk_BUFGP rising at 4.000ns
Clock Uncertainty: 0.035ns

Clock Uncertainty: 0.035ns ((TSJ^2 + TIJ^2)^1/2 + DJ) / 2 + PE
Total System Jitter (TSJ): 0.070ns
Total Input Jitter (TIJ): 0.000ns
Discrete Jitter (DJ): 0.000ns
Phase Error (PE): 0.000ns

Maximum Data Path at Slow Process Corner: t_nextb/b11_0_1 to bx6/r_yw1_7
Location Delay type Delay(ns) Physical Resource
Logical Resource(s)
------------------------------------------------- -------------------
SLICE_X62Y251.DMUX Tshcko 0.315 reset_IBUF_589
t_nextb/b11_0_1

DSP48_X2Y131.B0 net (fanout=4) 1.391 t_nextb/b11_0_1
DSP48_X2Y131.P7 Tdspdo_B_P_MULT 2.280 bx6/Mmult_yw1x
bx6/Mmult_yw1x
SLICE_X63Y327.DX net (fanout=1) 0.371 bx6/yw1x<7>
SLICE_X63Y327.CLK Tdick 0.012 bx6/r_yw1<8>
bx6/r_yw1_7

------------------------------------------------- ---------------------------
Total 4.369ns (2.607ns logic, 1.762ns route)
(59.7% logic, 40.3% route)
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top