We have been working with the PZSDR/ADRV9361Z7035 for the past 18 months and recently updated our builds from 2015_r2 to the 2017_r1 release to take advantage of the TDD updates. Our development has been on both the Analog Devices ADRV9361Z7035/PZSDR and on a custom board we created based on the AD design. On both boards using the 2017_r1 release we have come across an issue with the digital interface tuning that is intermittent and only appears at the 61.44MHz transmit test. We have experienced builds that pass the entire digital tune fine 100% of the time, builds that completely fail the 61.44MHz Tx test every time and builds that will pass the 61.44MHz transmit test on about half of the initializations in a random fashion. The window on builds that are always passing or intermittently passing seem to be the same, it just looks like something breaks down on the initializations that fail resulting in no valid delay values. We worked around this by changing the initialization test to only test up to 50MHz sample rate instead of 61.44MHz and this works 100% of the time on all builds and on both boards but we need to reliably use the full bandwidth of the RFIC.
It doesn't seem to be an issue with the external routing on the ADRV9361Z7035 (we are actually using the PZSDR rev C/D) because that worked fine on our earlier development with the 2015_r2 release. We have run many iterations through Vivado on that version and we did not see digital interface tune issues on any of those builds. Our custom board has very tightly matched receive and transmit pairs between the Zynq and AD9361 and behaves the same way, occasionally a build will either completely or randomly fail at the same 61.44MHz Tx test. One thing I suspected was the last stage register was not packed into the IO buffer so I added IOB TRUE constraint to the XDC file on all the receive and transmit data lines and it still intermittently failed on some builds.
I read notes in some of the releases that indicate there has been similar issues seen in the AD development, for example this comment describes our issue:
If this has been resolved, what are the patches we need to apply to make it work?