How can I use the SEM IP error report to look up bit error locations using essential bit data in an EBD file?
An EBD file is an ASCII text file that has an informational header, followed by some number of lines, and each line has 32 characters that are either 0 zero or 1 one.
Each line represents the classification of 32-bits, or one word of CRAM. Zero means non-essential and one means essential. The LSB of a word, which is sequentially considered its first bit, is on the far right of the line.
In 7 Series devices, each CRAM frame is 101 words. Because each line in the EBD represents a word, you can imagine counting off groups of 101 lines in the EBD file.
Each group of 101 lines of data in the EBD file holds the essential bits data for a configuration frame. It is ordered by incrementing Linear Frame Address, or LA. The initial group of 101 lines is a pad frame.
The next group of 101 lines is for LA = 0. Followed by the next group of 101 lines for LA = 1. And so on.
Where is the classification for the CRAM bit located at LA, WD, and BT?
If in the EBD, you call the first data line (line zero) and the first character on each line (character zero) then:
It is an index into an array. Based on the files ASCII text representation of the data, the file is very easy for a person to read.
I expressed the seek line and seek character in line in two steps on purpose, versus a single computation to seek a character in the file because potential difference in size between DOS and UNIX line end markers would complicate it.
The downside to ASCII text representation, where one ASCII character represent a one-bit binary value, is that the file is more than eight times larger on disk than if it were stored in a binary data file.
Xilinx provides a Tcl script with the SEM IP core that is an example of how to transform data represented in ASCII text into binary. This is what we do when preparing to store the Essential Bits Data into a SPI flash.
If the representation is changed, the equation for the index into the file/array must also be adjusted to match.
Below is the first hundred or so lines of an Essential Bits Data file, or EBD file, for a 7K410T device. An EBD file for any monolithic 7 Series device looks similar, they only differ in the file length.