MEng Software Engineering

Year of entry: 2020

Course unit details:
Implementing System-on-Chip Designs

Unit code COMP32211
Credit rating 10
Unit level Level 3
Teaching period(s) Semester 2
Offered by Department of Computer Science
Available as a free choice unit? Yes

Overview

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!

Pre/co-requisites

Unit title Unit code Requirement type Description
Processor Microarchitecture COMP22111 Pre-Requisite Compulsory
Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Aims

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.

Learning outcomes

  • exhibit improved ability in digital design skills using CAD tools, focused on Verilog HDL

  • design, implement and verify an RTL FSM

  • plan and carry out digital hardware verification to a credible standard

  • interpret technical specifications of digital hardware interfaces and conform to the same

  • exhibit a vocabulary of terminology enabling the discussion of the ASIC design flow, as used industrially, with professional engineers

Syllabus

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:

Introduction

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

Verilog

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

Functional Simulation

Test harness construction and making things 'realistic'.

Debugging

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.

Timing

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

Technology

What every VLSI engineer needs to know about CMOS

Layout

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

Testing

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

Future

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

Teaching and learning methods

Lectures

11

Laboratories

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

Employability skills

Analytical skills
Innovation/creativity
Problem solving
Other

Assessment methods

Method Weight
Written exam 50%
Practical skills assessment 50%

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.

Recommended reading

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

Study hours

Scheduled activity hours
Assessment written exam 2
Lectures 12
Practical classes & workshops 12
Independent study hours
Independent study 74

Teaching staff

Staff member Role
James Garside Unit coordinator

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.

Return to course details