11-26-2018 11:48 AM
I have used the Nick Sawyer's great work (Xapp585) for solving the high speed serial pixel data.
Previously [ using previous version of xapp585], I have implemented the references design in real - time. It has worked properly and solved the incoming high speed serial pixel data, on the room temperature. But, after the Zynq internal temperature reaches to 70 Celcius degree, it has started solving the incoming serial high speed pixel data with some error. The error disappears when the media is cooled again, without the turning off the power. Error number is low. But error is error. What is the effect of temperature on this digital logic macros [ ISERDES, IODELAY2 ]? Did I missed a .vhd module that is already to handle the negative effect of this temperature changing on the digital-logics ?
12-03-2018 01:54 PM - edited 12-03-2018 02:46 PM
How is your timing? How are you measuring 70degC? Transistors tend to take slightly longer to switch when they are hotter. If you run your design through vivado timing tools and closed timing with the proper constraints this is will help layout your design to meet the worst case PVT corners. I recommend going through some of the materials on our timing design hub.
12-03-2018 02:44 PM
Nobody gets like this situation except existing timing violation and/or over junction temperature issue.
In this case, as @tenzinc already mentioned before, there are timing violation and/or junction temperature issue.
Therefore, I suggest the following.
- Make sure still existing timing violation or not. Especially setup timing violation.
- Make sure real power consumption and estimated power consumption.
- It might be "not enough current for Vcore or Vio" issue. Make sure power supply pattern and current value on PCB.
12-03-2018 06:34 PM
XAPP585 uses dynamic timing, not static timing to achieve data capture at high speeds.. I suggest that when you start seeing errors at 70C, that you should rerun the calibration. Does this remove the errors? Some designers include a temperature monitoring module using the XADC, and use it to determine when to re-run calibration on modules like XAPP585.
12-06-2018 12:38 PM
Thank you for replies.
I read Zynq internal temperature from internal XADC with core voltage. Timings are not seen at the limit. I already started to use updated version of the XAPP585 and I have realized that I missed the delay controller module in previous version. Now it is not seen the any temperature violations. Even Zynq internal temperature reach to 70 Celcius degree, high - speed deserialization works properly. What is exact purpose of delay controller module ?