Chip Hack: FPGA programming for beginners

Powerful FPGA development boards are now easily within the price range of the hobbyist. The Terasic DE0-Nano is around £65/$100, yet capable of running a complete Linux-capable SoC. Last weekend, to coincide with Hardware Freedom Day, a group of us ran a hands-on workshop, Chip Hack, to introduce complete beginners to FPGA development.

Our team of Saar Drimer, Julius Baxter, Omer Kilic, Andrew Back and Simon Cook are all professional engineers, most of which with plenty of practical experience with FPGA systems. The 30 participants came from all walks of life, united by an interest in practical hands-on electronics, and some with only with basic computing skills.

We started on Saturday morning with a very simple introduction to how FPGA’s work and the hardware design language, Verilog, courtesy of Omer and Saar. By lunchtime and with support from the team most people had the basic “Hello world” design working (counting LEDs in this case). The group then worked up through a number of more complex designs, until most were able to complete a partially implemented UART transmitter design that Julius had put together.

Not everyone lasted until Sunday, but the majority of those who did were able to complete their UART transmitter, and then go on to bring up a complete OpenRISC based SoC — thanks again to Julius.

What did we all learn from this? Firstly, that the most challenging part of FPGA programming can be getting the commercial tools to work. But once that was surmounted (which for some of us took up most of Saturday morning) bringing up simple Verilog designs turned out to be remarkably easy to do. With Embecosm supplying 10 DE0-Nano kits, and many participants bringing their own, everyone had plenty of opportunity for getting hands-on.

One disappointment was that we could not persuade any school teachers to attend, even with the inducement of a free DE0-Nano to any such participant. Many school students are already making good use of Raspberry Pi, and for those who would like to explore the world of hardware design, FPGA programming is a suitably challenging next step.

The workshop was subsidized by Embecosm (the cost was just £5 for the entire weekend), since we wanted to ensure there was no barrier to anyone participating. With all who contributed giving their time freely, both on the day and in the weeks beforehand in preparing the materials. Why did Embecosm do this?

  • First and foremost, we are an open source company which benefits immensely from the work of the wider community, and it is central to our philosophy that we put back into that community.
  • Secondly, if we want the electronics and computing industry to continue to thrive in the UK, we must help to train up the next generation of engineers.
  • And finally we are a commercial business with a profile to maintain if we want to attract new customers and new staff!

You may be regretting that you missed out on this opportunity, but do not fear as all the materials are being made available under open source and creative commons licenses. My colleagues, Andrew Back and Simon Cook, will be writing more about this in future blog posts and in addition to which videos of the talks will soon be available.