1. 22

  2. 7

    I think there’s some open source stuff for certain chips, I haven’t experimented with them at all though

    I highly recommend getting a Lattice Icestick to try out! You can buy them for fairly cheap (around $40 - $60 USD). There is an open source toolchain called Yosys, which can be used with icestorm to target the Lattice chips.

    I personally find it much nicer to be able to develop in a Unix-like environment (text files, Makefile, etc.), over the massive Altera and Xilinx IDEs.

    1. 3

      Second this. I bought a Lattice Icestick for playing with FPGA purposes, and I had relatively little trouble setting up the open source toolchain and flashing circuit designs onto the device. I haven’t so far done much beyond the “hello world” of making an LED blink, but getting that far was relatively painless.

      1. 2

        This is a bit late, but Xilinx ISE 14.7 can be invoked without the IDE. If you instantiate a new DDR controller (from the IDE) it generates an example project in a folder in your workspace, which has some .bat files to build it.

        1. 2

          Word of warning: the ice sticks tend to be out of stock a lot. If you’re going to end up spending $40-50, check out some of the other ice40 boards. Go for at least an HX8k, since 1k LUTs is not enough to do much. The ice40UP line also has a FOSS toolchain, but the boards are more expensive (around $80).

        2. 3

          I would love something similar to this, but targeting the newish OSS stack.

          1. 4

            Yeah I also would want to see it. This talk seems to give the state of the art (including targetting the series 7 Xilinx chips that are on all the cool boards!)

            https://symbiflow.github.io/ the symbiflow page seems to indicate support for a lot of the beginner boards too! I’m curious about trying this stuff out, and will probably look more into it once I have more of a grasp on things

          2. 3

            If your goal is to work with Verilog quite a bit, or if you just want an environment to test/validate your FPGA design, I can’t recommend Verilator [1] enough. It will compile your Verilog/SystemVerilog/etc. to C++, and will do a cycle accurate simulation of your design. You also get to build your own test bench where you can introspect on the state of your design mid execution, which is particularly helpful for debugging. Another tool which I want to get more experience with but haven’t yet is hw-cbmc [2] and ebmc [3] which let you prove equivalence to a C program and validates your assertions, respectively. I haven’t tried them out myself but they look to be pretty nifty for verification.

            [1] https://www.veripool.org/wiki/verilator [2] https://www.cprover.org/hardware/sequential-equivalence/ [3] http://www.cprover.org/ebmc/

            1. 2

              If your goal is to program FPGAs and not to learn Verilog, I’d really, really recommend playing with BlueSpec, It has a good simulation infrastructure and is a very nice language to work with. When I was using it a lot, it was free for universities but $1m/seat for commercial licenses, now it’s BSD licensed. It wasn’t worth $1m, but it’s definitely better than any alternatives I’ve seen.