- UCAS course code
- UCAS institution code
BSc Computer Science / Course details
Year of entry: 2024
- View tabs
- View full page
Course unit details:
|Unit level||Level 2|
|Teaching period(s)||Semester 1|
|Available as a free choice unit?||Yes|
This course unit aims to reinforce and extend digital hardware development skills which are introduced in the first year. It employs industry-standard tools and languages which are used worldwide for silicon development. The UK has perhaps the strongest expertise in Europe in these areas and skills are in high demand from employers such as ARM and Imagination Technologies who provide much of the digital design for devices such as smartphones and tablet computers.
|Unit title||Unit code||Requirement type||Description|
|Fundamentals of Computer Engineering||COMP12111||Pre-Requisite||Compulsory|
The unit aims to build upon the concepts introduced in COMP12111 by taking the material further and expanding students' understanding of the operation of modern computing systems.
- Explore the operation of sequential systems and design such systems.
- Discuss key features of the Verilog language and be able to implement and test sequential digital systems.
- Explain the stages of processor design starting from the Instruction Set Architecture through to implementation in Verilog.
- Explain the design and operation of simple logic functions in CMOS logic and discuss the issues associated with CMOS.
- Analyse how design factors impact the design and performance of complex digital systems.
- Describe examples of specialised compute units such as coprocessors, floating-point units, GPU, FPGA, vector extensions, AI accelerators, as well as systems beyond CMOS and identify their relative advantages and disadvantages.
- Reveal important parts of the CAD tool stack including logic synthesis and test as well as placement and routing algorithms.
A key focus of the module is on practical work. The students work through the implementation of an ARM-like processor (significantly more complex than that used in COMP12111) until a working processor has been produced that they can write programmes for that interact with a range of peripheral devices on an experimental FPGA board in the labs. This is complemented by material going into greater depth compared to COMP12111, expanding on the concepts covered, in particular the design of sequential systems incorporating a control AND a datapath. Key here is that we start to look at the actual implementation of logic in CMOS.
Later material focuses more on aspects of implementation (CAD tools, testing, timing and clocking etc) and then move on to look at specialised architectures, further hardware design examples and the future of processor design beyond CMOS.
By the end of the course unit the students will have a good understanding of the implementation of digital systems, the limitations of current technologies and possible future technologies.
Teaching and learning methods
Each week approximately one hour of material will be presented as asynchronous videos, which will be supported by online quizzes in Blackboard.
Each week there will be a one-hour synchronous activity focused on supporting the lab activities (introducing lbs and giving feedback), presenting additional worked examples and running more quizzes to support student learning.
In weeks 3 – 11 there will one 2-hour synchronous laboratory session per week
- Analytical skills
- Problem solving
|Practical skills assessment||50%|
Feedback is provided via formative quizzes in Blackboard and via automated marking for laboratory work, with feedback on work being delivered by email.
COMP22111 reading list can be found on the Department of Computer Science website for current students.
|Scheduled activity hours|
|Assessment written exam||2|
|Practical classes & workshops||18|
|Independent study hours|
|Christoforos Moutafis||Unit coordinator|
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.