Software Engineering (3 Years) [BSc]
Implementing System-on-Chip Designs
|Unit level:||Level 3|
|Teaching period(s):||Semester 2|
|Offered by||School of Computer Science|
|Available as a free choice unit?:||Y
- COMP22111 - Processor Microarchitecture (Compulsory)
Additional RequirementsStudents 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.
OverviewThe 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 are detailed on the COMP32211 course unit syllabus page on the School of Computer Science's website for current students.
- Analytical skills
- Problem solving
- 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.
Test harness construction and making things 'realistic'.
What to look for and how to find it.
The sort of tools used to get source code into silicon and how to get the best from them.
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.
COMP32212 reading list can be found on the School of Computer Science website for current students.
Feedback methodsFeedback 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.
- Assessment written exam - 2 hours
- Lectures - 12 hours
- Practical classes & workshops - 12 hours
- Independent study hours - 74 hours