Software Engineering (3 Years) [BSc]

Implementing System-on-Chip Designs

Unit code: COMP32211
Credit Rating: 10
Unit level: Level 3
Teaching period(s): Semester 2
Offered by School of Computer Science
Available as a free choice unit?: Y



Additional Requirements

Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.


The module aims to give an overview of the processes involved in taking a concept onto a product chip. It also illustrates some of the choices available to an implementer. Finally, the practicals are intended to give some experience of the flow, the frustration and the satisfaction of making a working device.


The module provides an overview of the design and integration of computer systems onto chips. Industrial-grade CAD tools are used to design a logic system, integrate it into a larger system and realise it on a programmable device. These skills are in short supply and in high demand in the industry today. It can also be very satisfying to build a real, visibly working system!

Teaching and learning methods




2 hours/week (1 hour timetabled, 1 hour independent work)

Learning outcomes

Learning outcomes are detailed on the COMP32211 course unit syllabus page on the School of Computer Science's website for current students.

Employability skills

  • Analytical skills
  • Innovation/creativity
  • Problem solving
  • Other

Assessment methods

  • Written exam - 50%
  • Practical skills assessment - 50%


The practical part of the course involves migrating the design of a moderately complex FSM into Verilog, integrating it with other parts of a system-on-chip, verifying that it operates correctly and demonstrating it working. The intention is to use a graphics drawing example design so that the final result can easily be seen on its own display.

The lectures are planned approximately as follows:


The scale of the problem and what VLSI 'looks like', inside.


Some revision plus some features you may not have met before.

Functional Simulation

Test harness construction and making things 'realistic'.


What to look for and how to find it.

Tool flows

The sort of tools used to get source code into silicon and how to get the best from them.

Timing Simulation

Simulating big designs and getting sufficiently accurate results in days, not months.


Clocking, clock distribution and the perils of crossing between clock domains.


What every VLSI engineer needs to know about CMOS


Overcoming the crippling effects of reality on a nice, clean design.


Proving the device will work and then checking if it does when the silicon arrives.


Silicon fabrication is still evolving rapidly. A look at some things which are going to make life (even) harder.

Recommended reading

COMP32212 reading list can be found on the School of Computer Science website for current students.

Feedback methods

Feedback is given orally in scheduled laboratories; lectures are intended to be active and discussion is encouraged.

Annotated listings and diagrams will be returned to students.

Feedback as to whether a constructed (video) system operates correctly should be apparent from simulations during the work's progression and will definitely visible in the final realisation.

Study hours

  • Assessment written exam - 2 hours
  • Lectures - 12 hours
  • Practical classes & workshops - 12 hours
  • Independent study hours - 74 hours

Teaching staff

James Garside - Unit coordinator

▲ Up to the top