fpgaxilinxvirtex

How do I verify readback data on a Xilinx Virtex 5?


I know it talks about it in the configuration guide, but it seems like a pain to verify it visually. Are there any tools available to automatically verify readback data?


Solution

  • According to both the 7-series and Virtex 5 Configuration guides, there are two methods of verifying readback data.

    1. Compare the data with the RBD and MSD generated by Xilinx
    2. Compare the data with the bitfile and MSK.

    In general the first method is easier since you don't have to spend the time to find out how the data is aligned. Xilinx says this:

    Method 1

    The simplest way to verify the readback data stream is to compare it to the RBD golden readback file, masking readback bits with the MSD file. This approach is simple because there is a 1:1 correspondence between the start of the readback data stream and the start of the RBD and MSD files, making the task of aligning readback, mask, and expected data easier.

    The RBD and MSD files contain an ASCII representation of the readback and mask data along with a file header that lists the file name, etc. This header information should be ignored or deleted. The ASCII 1s and 0s in the RBD and MSD files correspond to the binary readback data from the device. Take care to interpret these files as text, not binary sources. Users can convert the RBD and MSD files to a binary format using a script or text editor, to simplify the verify procedure for some systems and to reduce the size of the files by a factor of eight.

    So, really you just need a simple program that converts the ASCII to binary and then compare it with the readback data. I haven't been able to find any tools that do this online (although it is relatively simple to do), so I've made a simple open-source tool in C to help out. You can get it here:

    Xilinx Readback Verify on GitHub.