Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
9 years ago

carry chain delay difference between real test and Timequest analysis result

Hi all,

5CGXFC7D6F31C7N is used to implement a TDC in my design with QII14.0.

according to timequest analysis results, the average carry delays of adder in a ALM are 52ps, 46ps, 27ps, 26ps respectively for timing corner slow_1100mV_0c, slow_1100mV_85C, fast_1100mV_0c and fast_1100mV_85C.

however, real test shows that the average carry delay is only 11ps under room temperature (core voltage is 1118mV under test), and 11ps is not in the range of delay of four timing corners.

it seems timequest gives incorrect results.

could anyone explain this delay difference between real test and timequest?

why the delay value differs so much between real test and timequest result?

Regards,

ingdxdy

14 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Well, i chained 420 ALMs vertically, a carry signal is generated by an input (active high). then the carry signal is propagated along the (adder) chain.

    A 250MHz system clock is used to sample the carry signal position, then i could get to know how many ALMs the carry signal is passed within a 250MHz period(positions at two adjacent clock edges can be obtained and then subtracted).

    according to test result, the carry signal propagates about 360 ALMs in a 250MHz period, so i get average carry delay per ALM is 4000ps/360=11ps.

    you could look at the basic idea of FPGA based TDC implementation to get a deep understanding.

    Best Regards,

    ingdxdy

    --- Quote End ---

    I have heard about TDC on FPGAs but I have doubts about its precision as it should take into account clock tree delays, timing violations, fitting variation, optimisation and needs some sort of averaging
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    How are you measuring this delay on an internal FPGA path?

    --- Quote End ---

    Well, i chained 420 ALMs vertically, a carry signal is generated by an input (active high). then the carry signal is propagated along the (adder) chain.

    A 250MHz system clock is used to sample the carry signal position, then i could get to know how many ALMs the carry signal is passed within a 250MHz period(positions at two adjacent clock edges can be obtained and then subtracted).

    according to test result, the carry signal propagates about 360 ALMs in a 250MHz period, so i get average carry delay per ALM is 4000ps/360=11ps.

    you could look at the basic idea of FPGA based TDC implementation to get a deep understanding.

    Best Regards,

    ingdxdy
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    How are you measuring this delay on an internal FPGA path?