SmartSim, a digital circuit designer and simulator

Ashley Newson is a sixth-form student from Oxford. Alex Bradbury and Rob Mullins from the Raspberry Pi Foundation met him at the University of Cambridge Computer Lab open day, where he came over with an SD card ready to show off a demo of SmartSim, his home-grown circuit design and simulation package. It was, said Alex, hugely impressive – I’ve had a play too now, and couldn’t agree with him more. Ashley’s now polished it off and released it for public consumption under the GPLv3.

smartsim tv

SmartSim running on the Raspberry Pi

SmartSim, just to make you feel completely sick about what you were doing when you were 16/17 (me? I spent the year on boys, tie-dye cheesecloth and Doc Martens boots), came out of Ashley’s A Level computing project, which he completed (getting, of course, an A* grade) in his first year of sixth form. At a school that didn’t offer electronics or computing – so he ended up teaching himself. Ashley says:

It was at this point I realised the only way I was going to achieve my goal was to take the matter into my own hands and independently study for my computing A-level; surely they couldn’t stop me doing that. The school said fine, we can enter you for the exams when you’re ready to take them, but on the strict understanding you don’t require any teaching resource. So I got hold of the appropriate textbooks and embarked on my course of self-study.

As I was following my own agenda, I decided to challenge myself by studying for the three written exams alongside my GSCEs in year 11. I was only going to do the AS-level part at first, but found it so interesting I just couldn’t stop, so I simply kept on going.

Project report

Ashley’s 400-page A Level project report

I particularly enjoyed the topics on logic gates, Boolean algebra, computer organisation and architecture, Turing machines, finite state machines and simulation. Driven by my desire to learn more about digital logic and electronics, I decided to choose a project relating to these areas. Another main aim of my project was that I wanted it to be of benefit and interest to anyone seeking to learn about these aspects of computing. With these points in mind I decided to develop SmartSim, a cross-platform digital logic circuit design and simulation package for Windows and Linux.

You can read more about the downright remarkable development of the project, and the headaches we inadvertently gave him (sorry Ashley) when it turned out he wasn’t able to get his hands on a Raspberry Pi until this May, on Ashley’s website.

SmartSim GUI

The SmartSim GUI – this is a RISC chip partway through development.

If you’re using one of the Foundation’s Raspbian-based images, you can give it a try by just doing `sudo apt-get update && sudo apt-get install smartsim`. You might want to play with one of the example projects, or check out the rather extensive user manual. Ashley will be hanging out in the comments and I’m sure would greatly appreciate any feedback. Do send bug reports (and patches!) via the SmartSim GitHub page.

Thanks so much, Ashley; and I’m sorry it took me a little while to get this post up. I really hope you apply to the lab here for your university course – I can think of some summer projects you might like to get your teeth into!