CECIL – A Language for Learning Hardware Design

At Southampton, we have a degree course in IT designed to attract female and mature students. It is people-orientated, but delivers a level of technical competence that justifies the award of a BSc in IT in a top research-led university. Students’ technical skills vary widely at the outset of the degree. To help deal with this situation, we aim to ground theoretical concepts in practical experience. In hardware design, students learn about, and program, a simulated microprocessor. By doing so, they engage with the underlying principles of design. Simulating the microprocessor allows the design to be tailored for efficient learning. The history of the development of this approach is reviewed, including experiences at other institutions. It examines the concept of virtual machines and their design and the application of theory to the design of our simulated microprocessor, concluding by abstracting principles from the lessons learnt.