SmartSim, a digital circuit designer and simulator

4th of September 2012 by liz
submit to reddit

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!

 

Buy a Pi!

buyapi

buypiswag
News Archives

Supported by


In the forums
  • jwlawler, 2 minutes ago: General discussion • Re: Getting started with Electronics
    I learned electronics as a kid by attempting to repair old valve TVs. These were rather old fashioned even then but still in common use. They were good for learning in some ways since you could get down to the…
  • Morsch9, 2 minutes ago: Deutsch • Re: Openelec+Bluetooth+Wii verzweiflung
    ah ok da ist das Problem ich verstehe ich habe ein vorgefertigtes Image von der Openelec HP genommen Also muss ich mir die source runterladen und dann selbst dran rumbasteln. Funktioniert das von einem Windowsrechner aus?Ich glaube langsam ich lasse…
  • radioelf, 3 minutes ago: Español • Re: conectar plc a raspberry
    Hola, no se si solo quieres conectar el pic con las entradas/salidas (GPIO) del Raspberry al pic o lo que quieres es comunicar el pic con el RPI, lo primero que tienes que tener en cuentas es que el RPI…
  • sprinkmeier, 5 minutes ago: Automation, sensing and robotics • Re: Controlling relay
    modularise it and use some of the existing tools/services:write a program that turns the relay on for 2 seconds.call it using cron on the schedule you mentioned.write another program that waits for a button to be pressed, which then calls…
  • Sergio009, 8 minutes ago: Español • Re: conectar plc a raspberry
    pero como puedo realizar un programa en el plc y que se vean afectadas las salidas de las raspberry o al reves , poner un programa en la raspberry y activar salidas del plc o que al activar una entrada…

On Twitter
  • asbradbury, 3 hours ago
    Pekka Paalanen has written a great technical blog post about implementation of the new Weston @Raspberry_Pi backend http://t.co/PIIJJa6rzE Cambridge, UK
  • adafruit, 5 hours ago
    How To Disable The Red LED On The Pi Camera Module #piday #raspberrypi @Raspberry_Pi http://t.co/fuUzkC7KYI New York, NY - USA
  • masafumiohta, 5 hours ago
    now 1 ticket available for Non-Japanese registration for our Big Jam in Tokyo check http://t.co/nY5ScK8Mxn CCed: @Raspberry_Pi @TheMagP1 Tokyo
  • TeamRaspi, 17 hours ago
    Very cool car computer by @FlamelilyIT using @Raspberry_Pi - new blog post http://t.co/i1lefiRhUX Cambridge

Friends of Pi