Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

Programming Protocol and Format Specs

Are there available specifications for the entire process of programming an FPGA [protocols/file formats... not programming using an existing utility] (in my case a Cyclone IV)?

Is the file format really an issue, or is it just a placeholder that a programmer converts to JTAG commands (IEEE 1149.1?)?

I'm currently working on writing up my own HDL (just for fun and learning [and I've got some other plans for it as well]), but I have no idea what kind of output to produce, as well as how to write the output to the FPGA.

Also, I plan on making it cross-platform... however the initial target platform is FreeBSD (so anything Quartus related is irrelevant here, or any tools for that matter... I do realize I am reinventing the wheel).

In a perfect world I'll finish writing up some small tools to run from command line. One to compile my language to a binary file, and another to transmit the data to the FPGA.

To quickly evaluate how I probably stand on things, assume I'm a close-minded UNIX guy who is fighting the change to massive IDEs and GUIs.

-Brandon

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Are there available specifications for the entire process of programming an FPGA [protocols/file formats... not programming using an existing utility] (in my case a Cyclone IV)?

    --- Quote End ---

    I think there aren't any specs. However, I'm not sure!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Gazmodo,

    the configuration bitstream format is not documented anywhere.

    Best forget about that part.

    In order to upload the configuration bitstream into the FPGA,/PROM, Quartus can convert it into a JAM/STAPL format, which is a standard.

    Altera even made available source code for a JAM/STAPL player.