skip to primary navigationskip to content

Course pages 2020–21

ECAD and Architecture Practical Classes

Routes through the labs

This year we are aiming to support both in-person and remote learning, with demonstrator support being provided via online collaboration tools. Due to this environment being substantially different from previous years, we have made less of the course compulsory, in case there are insurmountable technical difficulties that cannot be resolved remotely. Students are encouraged to read through the material and follow as many of the steps as they are able. There are several pathways through the labs that do not require all of the prior material, which we outline below. No routes require access to physical hardware, and some can be done without online connectivity beyond initial setup.

If you are physically in Cambridge, hardware is available for those who would like to attempt those exercises (we'll describe how to organise a collection when you get to that point) However, please note that we are very limited in the amount of support we can provide as we don't have access to your FPGA board. For the most part you will be on your own in terms of resolving problems. If you do run into trouble, we would advise not spending too long trying to fix them on your own - move on to the next exercise if you can't make progress.

Due to the technical complexity and risk, we have provided several suites of tools that can be used to achieve some or all of the labs:

Route A: VirtualBox virtual machine

  • Works offline after initial setup
  • 6GB download and installation of virtual machine using VirtualBox
  • Full access to all tools
  • Support for attaching FPGA hardware if available
  • Requires Intel/AMD machine (recommend i5/i7 or equivalent CPU) with at least 4GiB RAM (more recommended) and 32GB free storage (a USB drive or SD card can be used with some performance penalty).
  • Limited remote support with VM setup (best-effort support when VM working)

Route B: MCS Linux in Intel Lab

(Route B is at present unavailable)

  • In-person only, subject to building access constraints
  • As Platform A, but optionally using a USB stick will improve performance (24GB download)
  • Full access to all tools, including hardware
  • FPGA board can be plugged in to physical machine
  • Supported on best-effort basis only

Route C: SSH access to MCS Linux

  • Online interactive access needed (low latency helpful)
  • No downloads needed
  • RISC-V assembler and C compiler available
  • Spike RISC-V simulator (command line)
  • Modelsim Verilog simulator (GUI) - slow/limited
  • Quartus FPGA synthesis (GUI) - slow/limited
  • No hardware access
  • Supported route

Route D: RISC-V tools in Docker container

  • Can work offline after initial setup
  • Docker container can be installed on local machine running Windows, MacOS or Linux (<1 GB download)
  • RISC-V assembler and C compiler
  • Spike RISC-V simulator (commandline)
  • No GUI tools (Modelsim Verilog/Quartus)
  • No FPGA synthesis or use of hardware
  • Supported on best-effort basis

The status of the various exercises under different routes are given in the table below:

ExerciseRoute A (VM)Route B (MCS in-person)Route C (MCS SSH)Route D (Docker)
1. SystemVerilog tutor
2. Inputs (sim)
3. FPGA †
4. Qsys †
Extra: Tonegen †
6. Etch-a-sketch (sim)
6. Clarvi FPGA †
6. Etch-a-sketch (FPGA) †

✓ Exercise can be completed
† Requires hardware to test and debug; can still be undertaken without but won't be able to test

Demonstrators will be available to help with problems. Due to the increased potential variability of students' environments and limitations of remote collaboration tools, there are increased chances we might be faced with difficulties we cannot resolve. For this reason our supported route (Route C) is more limited. We'll do our best to support other platforms as best we can. If you have difficulties we can't resolve, it is possible to copy your files to MCS Linux (Route C) and continue working there.

Recommended routes

If you have a machine of suitable specification and bandwidth isn't a problem for you, we'd recommend trying Route A in the first instance. This will provide the richest environment of tools. In past years 90-95% of students have used this route successfully, albeit some needing help with setup which we may not be able to provide this year. This will work largely offline after initial setup.

If Route A is problematic and you able to attend the Computer Laboratory, Route B is the recommended fallback option. In past years 5-10% of students have used this route successfully.

If Routes A and B don't work for you and you have reliable internet connectivity (even if low bandwidth), we would recommend Route C as it requires minimal setup on your part. We support this route as we are more able to resolve problems later on. In Route C you won't be able to undertake the Verilog and FPGA components. We may ask you to use it if you have insurmountable problems with another route.

If bandwidth is an issue, Route D is a smaller download and has more ability to work offline. You won't be able to undertake Verilog or FPGA components.