Our Inspiration – The Wooden FPGA

Back in March 2013 a house-mate, Jeremy and I took part in the Bristol Mini Maker Faire representing Hack Kids where we had the task of using our skills to produce an interactive electronics project that would inspire young people to enter the world of electronics.

Bristol's HackKids doing their thing

Bristol’s Hack Kids doing their thing

Our first ideas for the project were to illustrate and demonstrate the basic, fundamental operations that take place inside a computer. Taking our knowledge from the Digital Systems and VLSI units studied on our degree programme, we designed and constructed a configurable logic array. We wanted the programmable logic to be as engaging as possible for the audience, so we constructed the array out of large, mechanical relays that produced a fantastic noise, and also used 10mm LEDs across the array to display the logic function at the input and output of each gate. The board was programmed using large, colourful 4mm banana leads which made for an enjoyable (if a little confusing) Hardware Description Language.

Out Configurable Logic Array as a Skelectrix race car controller

Out Configurable Logic Array as a Skelectrix race car controller

To engage the younger children, we showed them how to configure the logic cells into AND, OR, NAND, NOR and XOR gates. Then we helped them to program the hardware to control the traffic lights and the Skelectrix track by implementing a simple state machine. Students from around GCSE level picked this up very quickly and were able to program some very complex functions in very little time.

Configurable Logic Array - 2-bit adder

Configurable Logic Array – 2-bit adder

To extend the capability, Jeremy and I configured the board to be a very simplistic maths coprocessor for my laptop. We reprogrammed the board to be a 2-bit binary adder and we interfaced it with the computer using an Arduino.

Configurable Logic Array - 2-bit adder

Configurable Logic Array – 2-bit adder

Much like Twitalu, this large, noisy, clunky board was being used to add two numbers together and therefore acted like a maths coprocessor. I quickly constructed a Windows application to allow the user to control the adder from the computer and below is a couple of videos showing the 2-bit adder in action. Note that the computer is cycling through various binary inputs and then reading the sum from the logic array’s output.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s