April 21, 2013

Puzzle: DFT Shift Frequency

It is a well known fact that DFT Shifting is done at a slower frequency. Well, I'm gonna list down some cons against this. You'll have to tell the pros!

  • Lower is the frequency, greater is the test time. In modern SoCs, tester cost  (which is directly proportional to the tester time) accounts for roughly 40% of the selling price of a single chip. It would be pragmatic to decrease the test time by increasing the frequency. No?
  • Increasing the frequency would not pose any timing issue. Because, hold would anyway be met (Hold check is independent of frequency). And setup would never be in the critical path considering the fact that scan chains only involve direct path from output of a flop to scan input pin of the next flop, devoid of any logic.

Then why not test at a higher frequency, which is at least closer to the functional frequency? What could possibly be the reason for testing at slower frequency?

30 comments:

  1. I am curious to know why not test at a higher frequency, which is either matching or closer to the functional frequency? And what are the limiting factors for testing at slower frequency?

    ReplyDelete
    Replies
    1. Hello there! I'll surely answer it tomorrow, but before answering I would like you to think from the perspective of power consumption.

      Thanks!

      Delete
    2. Unlike functional mode, where different paths have varying combinational logic between any two registers, in shift mode, there is absolutely no logic at all! Hence, all the flops tend to switch at the same time. Imagine all the flops switching at the same time. The peak power consumption which is directly proportional to the switching frequency, would shoot up, maybe upto the point that the IC might catch fire!!

      Also, in functional mode, the entire SoC does not function simultaneously. Depending on use-case, some portions will either not work, or work in tandem.

      You might argue here, that one can run shift the same way, i.e. different parts in tandem. But that would mean, higher test times that we intended to reduce by increasing the shift frequency in the first place.

      Please let me know if you didn't get any part of it! :)

      Delete
    3. thanks for clear and straight explanation.

      Delete
    4. Hi Sunil.

      I am glad you liked it! Check out other puzzles as well, especially the one on "Stuck-At Faults".

      Delete
    5. Nice Explaination.. Thanks

      Delete
    6. Suppose I have a power controller (like EDT power controller).
      In such a situation what is the limitation?

      Delete
    7. Hi Naman, could you please explain the relationship between scan shift/capture and power consumption

      Delete
    8. Hi Redouane,

      That's a very good question, and could well be a separate post.
      We need to understand power from two perspective- the peak power dissipation and the average power dissipation. While shifting, all the flip-flops toggle right at the active clock edge unlike functional mode where some parts might be disable (clock gated), or perhaps power gated. Hence, during shift mode, DFX engineers would primarily be concerned about peak power dissipation which can potentially harm the chip if the shift frequency is too high. The motivation for higher shift frequency is lower test time.

      However, for capture mode, I'm not really concerned about capture frequency because it's just one cycle! I can have the capture frequency as low as possible and not worry about test time. Therefore, power is never really a concern for capture mode.

      For Atspeed mode, both peak and average power make a difference. Peak power dissipation can result in voltage droop, and subsequent malfunction. The reason why I'd be concerned about average power in atspeed mode would be because atspeed is run at the functional frequency, which would certainly be higher than the shift or the stuckat frequency.

      I hope my answer made sense. Feel free to get back in case you need some more clarification, or you have some comments.

      Thanks,
      Naman

      Delete
    9. Hi Naman,

      I didn't understand about atspeed mode. Could you please explain it some what clearly.

      Thanks....

      Delete
  2. Another limitation is from tester. Typically shift clock is from tester, which has very limited high-speed pins connected to the chip. Moreover, your design should have high-speed pad in order to load data from tester, which is also very expensive.

    ReplyDelete
    Replies
    1. Right. That's a good point. For shifting, I'll need to give the test clock from outside and it would be limited by what the maximum frequency my pads can support.

      For other DFT modes like Atspeed, the clock would be generated internally using the PLL.

      Delete
  3. Hi,
    Now days PADs run in GHz also high end testers can generate the scan freq at higher freq what is the constraint in that?

    and alter your shift clock in such a way that all clock will not be seen at time just scatter-[delay it in different paths ] it , such that you will not hit the peak power issue

    -Ram ram

    ReplyDelete
    Replies
    1. Hi Ram,

      Yes, if all the paths have different delays, peak power won't be a problem. But in shift mode, there's no combinational logic in the data path, except for hold buffers. Assuming a worst case skew window of let's say X ps, most of the flops would toggle in this window, resulting in a peak power issue during this window. I agree with you that peak power issue would be contingent upon the delay.

      Delete
  4. For finding stuck at faults in scan chain y time period of shifting and capturing cycle are equal?

    ReplyDelete
    Replies
    1. Hi Bharath,

      Time period of shifting and capturing cycle are not equal. Shifting clock frequency would typically be in the range of few tens of MHz. While capturing frequency has to be much slower, and would typically be 1-2 MHz.

      Delete
    2. i am not agree. capture frequency is almost equal to functional frequency which is lesser than shifting frequency

      Delete
  5. Hi Naman,
    Whether all flops switch at the same time or not - isnt this dependent on data pattern ? I didnt quite understand when you "all flops switch at the same time."

    ReplyDelete
    Replies
    1. Hi Niketh,

      It certainly is! For peak power, I need to consider the worst case data pattern which could perhaps be: 101010101... Even with this pattern, the time at which flops would switch would depend on the data path delay comprising or hold buffers, and the skew between any two flops in the scan chain. But the peak power would still be more as compared to the functional mode.

      Delete
  6. good data points. thank you.

    ReplyDelete
  7. the above discussion holds good but what decides my shift frequency "value"?
    what decides maximum shift frequency?
    i mean shift frquency is lesser what decides its value ?

    ReplyDelete
  8. Testing at higher frequency will lead to more power dissipation because of leakage current. I guess it could be a reason that's why we do shifting at lower frequency

    ReplyDelete
  9. What if we use Q-gating (the output of every scan flop is gated with Scan enable using an OR gate) to avoid the toggling of combo logic during shifting? This should definitely allow us to use more shift frequency. But is it practical to use the functional frequency in this case? Please comment on this. Thanks for the previous discussion and answers.

    ReplyDelete
  10. Have seen pad delays in a chip is generally higher even with higher drive strength. Though Q to SI path doesnt have any combo cloud as in func path, limiting factor would be the last flop in a chain to PADS, where pad delays come into picture. This also can be a limiting factor for achieving higher shift frequency ?

    ReplyDelete
  11. You make so many great points here that I read your article a couple of times. Your views are in accordance with my own for the most part. This is great content for your readers. notes frequency

    ReplyDelete