02-28-2018 09:50 AM
Please find attached updated log files. I wasn't sure about "implementation log (or full vivado.log)" as I can't find this one so have included the runme.log from the impl folder. I have also added some screen shots of the video we get on the FMC using the south clock - it is a 1920x1080p60 format - screen shots of black, red, green, blue and white flat fields - the line patterns seem to repeat every 128 pixels.
When we added the ILAs this was by marking signals for "debug" in the bd and then specifying the specific signals in the synthesized design. I am concluding at the moment that adding ILAs seem to improve the problem but it has not totally cured it - still get corrupt video (as per screen shot) on the south clock FMC project and unreliable software on both FMC's projects - so could it be the ILA's are a bit of a red herring? I have reviewed the timing margins with and without the ILAs and as best as I can tell they are similar, also to note the only timing warnings are with the ILA's added there is an interclock timing failure related to the ILA's.
I have also gone back to Inrevium's Quattro DDR4 demo project to see if I can see any relevant differences.
Currently we are out of ideas on how to fix this issue or where to investigate next - so would welcome your thoughts.
03-02-2018 02:41 AM
In SDK, could you check were the memory of the (MicroBlaze) MB is implemented in the linker script. You should try to have the instruction and data mapped to the internal BRAM.
Might be that both the VDMA and the MB are reading in the same memory space of the DDR.
03-02-2018 07:59 AM
The Microblaze code is too big to fit in the BRAM it is using DDR from its base address 0x80000000.
Video from the VDMA is being loaded into DDR from 0x81000000.
We can run the same software in the SDK on a working and non-working FW load so have concluded the address allocations are OK. However it could be that if the DDR and interface (either within or external to the FPGA) was faulty this would cause problems for both the SW running in the SDK and the video.
03-02-2018 08:49 AM
The Quattro dev board has 2 DDR4 banks each of 4 devices / 64 bits. Retargeting the DisplayPort example design at the other DDR4 bank seems to have resolved some or all of the issues.
Status then is as follows when operating the DP example design in Rx (via DDR4) to Tx mode…
DDR4 Bank #
Changes to example design project
Video corrupt and frozen
Video corrupt and frozen
ILAs added for debug
Some S/W crashes
Video has vertical lines