Main Menu

search

You are here

FPGA

[last updated: 2025-06-09]
...
-----

  • Field Programmable Gate Arrays:

  • https://www.intel.com/content/www/us/en/learn/fpga-for-ai.html

  • from forums:
    https://forums.raspberrypi.com/viewtopic.php?t=262231
    • "Alter (now Intel) and Xilinx both supply applications to allow one to write HDL for their FPGA in Verilog and VHDL.
      They compile your code to the required logic connectivity of your FPGA. This allows you to download your configuration to the FPGA."
    • "If you have a Lattice iCEstick FPGA evaluation board, it plugs straight into a USB port.
      http://www.latticesemi.com/icestick
      You can program it using open source tools from the IceStorm project:
      http://www.clifford.at/icestorm/
      eg.

        # Verilog synthesis
        yosys -p "synth_ice40 -blif rot.blif" rot.v

        # place & route
        arachne-pnr -d 1k -p rot.pcf rot.blif -o rot.asc

        # Create bit stream file for progrmming
        icepack rot.asc rot.bin

        # Progrsm the FPGA.
        iceprog rot.bin

    • "Back from VLSI design with Pi4 to the beautiful FPGA world.

      Yes ... most FPGA boards are programmable via something like USB ...
      If not, you can use a commercially available JTAG probe (about $20) or make your own JTAG probe (about $5).

      But the question is: Is it possible to do development for fpgas with your pi? Yes, that's what this thread points out.

      btw: This is not only possible for the FPGAs mentioned, but also for less well-known FPGAs (e.g. Trion T120FXXX with 112,000 LUTs, the development system is based on VPR, an open source project (MIT license) from University of Toronto, recompilation for ARM required).

      Have a nice time with our FPGAs.

      mic_s"

    • "I would think that just programming the Flash rom (which the FPGA loads from) would be the only requirement to "program the FPGA". To address the parents original question, yes a SPI or I2C interface on the RPi could program a FPGA's Flash rom memory.
      For my board that would not be possible as the USB -> JTAG is the only external method to reach my Flash rom pins.

      The next question is why you would only want to use a RPi to program your FPGA? Vivado has a full feature systemverilog simulator and waveform viewer in the free version. That runs on linux x86 and it programs my board with no issues. I need the x86 computing power with my FPGA designs, a single turn takes 25 minutes... that could be hours on a RPi.

      If I needed to program the FPGA with the RPi, I think that would be very possible... but developing on the RPi when there are awesome free tools on x86 linux, I think only a religious person (church of raspberry pi) would do that."

    • "there are many good practical reasons for wanting Free and Open Source tools to configure FPGAs:

      1) FPGA vendor tools are invariably huge, complex, clunky and slow.

      2) An open source solution saves you from becoming dependent on an FPGA vendor.

      3) An open source solution saves you from becoming dependent on whatever architecture and platform the vendor supports.

      4) This is a bit long....

      I was amazed to find that I could hack up some Verilog and check it out Icarus Verilog http://iverilog.icarus.com/ or the Verilator https://www.veripool.org/wiki/verilator with a much shorter edit, check, edit, development cycle than using any vendor tool like Quartus.

      Not only that one can turn that Verilog into a working FPGA config much faster using Yosys.

      In short, writing Verilog becomes as simple as writing Python!

      I believe this kind of simplicity is just what we need to get youngsters motivated to investigate doing their own hardware designs.

      So, as much as there is a "Pi religion" which is all about making it cheap and easy for kids to play with software, why not also make it cheap and easy for kids to dabble in hardware?"

    • https://github.com/trabucayre/openFPGALoader
    • there is SpinalHDL to relieve the pain of having to write in Verilog.

    ----------------------------------------------------------

  • References/Links:

.

.

.

eof