Retrocomputing With Open Source FPGAs

A few years ago, we saw the reverse engineering of the Lattice iCE40 bitstream, opening the door to a completely Open Source development tool chain for FPGAs. This was an astonishing amount of work from [Clifford Wolf], [Mathias Lasser], and [Cotton Seed], but since then we haven’t seen a whole lot from Project IceStorm. Now, that’s about to change, and in the coolest way possible. [hoglet] is retrocomputing on an ICE40 development board.

This is an implementation of the Acorn Atom on a myStorm BlackIce board. This board is basically just a Lattice iCE40 FPGA, a few support components, and a bunch of pin headers, some of which are in the not-so-handy Arduino pinout footprint. By porting some Acorn Atom implementations and a 6502 core to verilog, [hoglet] was able to stuff a cool old retrocomputer onto an Open Source FPGA development board. Video output is through a resistor DAC driving a VGA cable, and keyboard input is through PS/2.

Just about everything about this Open Source implementation of the Acorn works, and there’s still a lot left in the iCE40 FPGA. [hoglet] is able to run the 6502 core at 25MHz, which means just about every 6502-based system should be able to run on the BlackIce board.


27 thoughts on “Retrocomputing With Open Source FPGAs

    1. If you wish to purchase a BlackIce board – There are 75 available from this recent batch

      For Customers in UK £40 + £2 postage
      For Customers in EU 45 Euros + 4 Euros shipping
      For Customers in US $52.50 + $7.00 shipping

      For world wide customers – please contact me and ask about shipping costs.

      You can PayPal me at ken dot boak at gmail dot com

      Please ensure that when you PayPal me, that you include your full mailing address!!



    1. That’s literally what the first line says. Hackaday might not always be the most accurate, but refusing to read any further than a title that is intentionally kept short, as titles tend to be, seems being pedantic for the sake of it.

        1. My understanding is that the chip is understood well enough that if someone skilled sat down to do that, enough information is currently available for them to do it. The ICE40 is very simple as FPGAs go. No PLLs or other “common” features that some other devices have.

      1. Except that doesn’t even remotely mean open. Unless it is actually a clean-room design that you’re talking about (i.e. not the same chip, rather a different one that acts the same), the design is still fully covered by the owner’s copyrights. It is definitely covered by any other IP irrespective of whether it’s a clean-room design or not. An actually open chip would not have any issues as all such would be licensed.

      2. Open Source is not the same as “free of copyrights”. So where is the source?

        I would love to see open source FPGAs. Every time someone names the ICE40 tool chain “open source FPGA”, it feels like FPGA lobby is promoting this illusion.

        1. The first rule of open source seems to be that no matter how open something is, there will be always someone faulting the situation for it not being open enough. This fundamentalism is a huge turn off.

          1. And the very act of posting that sort of comment is a hypocritical act, since no matter how free the OS is they’re using, they’re still dependent on some proprietary hardware to run it on. If they actually held up their claimed principles instead of just using them to troll, they’d be living in a mud hut without electricity in the middle of nowhere.

        1. Yes. It seems fairly obious that headlines need to be compact and concise, and that the first line of the article accurately defines the situation as intended.

          Hackaday isn’t always the most accurate, but when the first line states exactly what you’re correcting, it all seems rather academic.

          1. It is not the first time as I remember. Also, the first line doesn’t state that there is no open source FPGA. The headline states that there is and after reading the article, you might conclude there is no open source FPGA because it is not mentioned in the text.

            For those those of us that are really pursing an open source FPGA, it is not very motivating to read how open source (meaning moral high ground) and beautiful those Lattice FPGAs. In between the lines: “Oh, use those Lattice FPGAs, they are so good for you, so much open source, you know”
            Well, this all saves Lattice a lot of PR money.

            It is in fact a very good thing that we have an open source tool chain available. Much credit to those who did it. Unfortunately, the ICE40 is very small.
            These comments have nothing to do with this Retro computing project. I am sure, it is a very nice, solid product.

  1. BlackIce FPGA boards are now available in production quantity – please follow this link for details:

    The board also has a STM32L433 ARM M4 microcontroller, which acts as a programming and support chip. Once the FPGA is loaded, this ARM is available for any user purposes – because of a recent STM32L4 plug-in for the Arduino IDE –
    the STM can be treated as a “super-Arduino” with 256K Flash, 64K RAM and 80 MHz.

    All of the usual Arduino I/O appears on Arduino style headers – including 6 ADC channels.

    The “Arduino” may be used as an analog acquisition unit for the FPGA, or as a set of standard peripherals (I2C, SPI, uSD card) sharing with the FPGA a high speed QSPI bus.

    The FPGA is closely couples to a 10nS 256Kx16 asynchronous SRAM – and 56 of the FPGA GPIO signals are brought out via standard pmod headers.


Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.