I've downloaded the .pof bitstream from an Altera Cyclone device. Is there any information I can get from it like, even just the FPGA P/N it is being used to configure?
1 Answer
struct PACKET_HEAD
{
short tag;
long length;
}
tag=2 denotes the device type and contains the Device name in ASCII format.
You should be able to read it with a hex editor I imagine.
If you check there you can see some source code for reading the format. You have to register though you already may have done so. I looks like it should be super easy to parse this format as far as binary formats go.
In general the format is ([2byte "short" tag][4bytes "long" length][length bytes])(next packet)
The name of the device should occur after in just about any hex editor unless they somewow encrypt the file 0x00 0x02 0xXX 0xXX 0xXX 0xXX NAME HERE IN ASCII. Usually hex editors display the ASCII version of the file side by side with the hex. The 0xXX there will be whatever value the lenth of the tag packet is.
-
My hex editor shows the header which is probably added by Quartus when I download the .pof file. It has the software version, date, and serial configuration device part number in plain ASCII but nothing about the FPGA itself. Following that there is 16 bytes of FF and then the same 9 byte pattern that repeats 3 times and then is followed by 32 bytes. After that the hex looks very different.– gigawattJun 17, 2013 at 12:37
-
-
@gigawatt Well the fact is the document there defines the specific algorithmic way to find each packet and its fields. You'll have to manually figure them out or write a simple program to parse it for you.... now if that fails you might have a pof that doesn't conformt to that documentation.– cb88Jun 17, 2013 at 16:06
-
I used to doc but the unfortunately the device_ID it was talking about was for the serial configuration device and not the FPGA. So I'm still left without the FPGA part number. Dang.– gigawattJun 19, 2013 at 17:03