At the UKESF we love the passion and enthusiasm for Electronics that students on our scholarship programme show. We also pride ourselves on our ability to find students who are a great fit for their sponsoring company. A couple of years ago Dr Jeremy Bennett, the founder of Embecosm, asked us to find a student who was studying compiler technology. We found him Mary, from the University of Surrey, and she has written this blog post about her experiences.
Guest Blog by Mary, UKESF Scholar 2016–19
Last year I started my UKESF scholarship at Embecosm, a small compiler service company based in Lymington. This blog post is going to take you through some of the things I have done since I started at Embecosm and my favorite things that I have learnt so far.
Project
The main project during my placement has been to design and create an open source, educational, resource to be used at Chip Hack[1] and in schools. The project was to reimagine EDSAC in modern and generally affordable technology.
[Maurice Wilkes originally designed the EDSAC (Electronic Delay Storage Automatic Calculator) in 1947. It was one of the first general purpose computers and was used by many different science and engineering faculties in the University of Cambridge. For more details click here.]
During this project I led a team of two A-level students, Dan and Peter, to reimagine: a punched tape reader, a teleprinter, an initial orders front panel and a delay line. We called these four the ‘reimagined EDSAC peripherals’.
[In India, Hatim Kanchwala was writing a Verilog version of EDSAC on a MyStorm board as part of the Google Summer of Code.]
Since Chip Hack was a tutorial in verilog, a hardware description language, some tutorials and practice programs along with some slides to explain the basics would have to be written. Dan wrote these while Peter built and tested the initial orders, teleprinter and tape reader. We used 3D printing techniques, Arduinos and discrete electronics to build these peripherals.
Design
The original initial orders used a set of uniselector switches to input the bootstrap instructions. Our reimagined version used 17 pairs of headers, one for each bit of the instruction. The headers could be connected, which represented a 1. Otherwise it could be left unconnected to represent a 0. Once the instruction was correct, the user pressed a button corresponding to the instruction to send.
The EDSAC teleprinter was similar to an electro-mechanical typewriter. To reimagine it, we used a thermal printer to print words onto thermal paper similar to that used in a shopping till. The teleprinter also printed punched tape; this was 5 dot wide tape with a sprocket line in between dot 3 and dot 4. For our open-source reimagining the holes were replaced by dark grey dots. I wrote a simple UART transmitter on the MyStorm board, so that a string of 16 characters could be sent to the teleprinter. The printer would only print when the newline and carriage return characters were received so a larger string could be sent in small chunks.
The reimagined tape reader was interesting. It used LEDs to reflect light off the paper tape. The amount reflected corresponded to the colour of the tape and was sensed using LDRs.
The delay line was my favourite piece of the reimagined EDSAC. It used sound to store digital information because electricity was too fast to allow the information to be reliably read and written to. Originally, the EDSAC delay lines used mercury, a not so good material for schools to use or obtain. Instead, I used air for three main reasons: it came ready packaged with the tube, it doesn’t make a mess when you spill it and the speed of sound is quite low through air, so we can operate at audible frequencies.
Chip Hack
Finally, September came around. The peripherals were packed away in large boxes and sent ahead and we made our way to Hebden Bridge. We arrived a day before Chip Hack started and met Hatim at the hotel. It was finally nice to put a face to the name.
Day one of Chip Hack was spent teaching people Verilog. Dan’s tutorials and ‘fill in the blanks’ code were very useful and made the first few programs a lot easier to grasp. Participants then spent the next day and a half working on the EDSAC. Each group was given a peripheral and encouraged to write the Verilog to interface the two. There were also talks on the history of EDSAC and the building of the replica at Bletchley. We were shown some of the original drawings that were very, very, tidy. I didn’t know that there was not a universal symbol for gates in those days, instead Wilkes used lettered boxes.
ORConf
ORConf directly followed Chip Hack. It is an open source digital design and embedded systems conference. There were many presentations on interesting open source hardware-related projects, such as ‘Progress of the OpTiMSoC project’ by Stefan Wallentowitz and ‘Experience report: Bringing up cycle-accurate models of RISC-V cores’ by Graham Markall. On the last day of ORConf, Dan, Peter and I presented the Chip Hack project. This meant that I was the first woman to speak in the six-year history of the conference.
FOSDEM
A month after ORConf, I submitted an application to speak at the Free and Open Source Software Developers’ European Meeting (FOSDEM), which is one of the largest and most important events on the Open Source calendar. It is a conference in Brussels with over 8,000 people attending each year. I was told at the end of December that my talk had been accepted and I would speak on Saturday afternoon in the largest room, which could seat 1,500 people. I spent most of January practicing my talk. When I arrived I checked out the room where I was going to deliver my talk; it looked huge. This was about the point that I began to get nervous.
After a couple of hours listening to other presentations, it was my turn. I was going to demo the tape reader and delay line, so I spent a few minutes setting up before the talk. The Chairman introduced me and the rest was pretty fuzzy. I can remember missing a page of my talk out but sneakily I managed to put it back in after the demo.
Summary
Chip Hack and the reimagining EDSAC project have been a very important opportunity for me. It has taken me to conferences and has been my first experience in the open source community. None of this would have been possible without Embecosm and the UKESF.
[1] Chip Hack is a workshop hosted by Embecosm which introduces participants to FPGA programming.