Study abroad in Edinburgh

Course finder

Semester 1

Digital System Design and Digital Systems Laboratory 3 (ELEE09035)


Electronics and Electronic Engineering





Normal Year Taken


Delivery Session Year



Knowledge of basic digital circuit theory.

Course Summary

This course aims to build on the material presented in second year and to give the students an intuitive feel for the basic building blocks of digital systems.The lecture course seeks to enhance student understanding of digital system design. The course provides an introduction to hardware description languages, a broad overview of programmable logic devices and further illustration of data path / controller model design examples. There is a focus on adder and multiplier architectures and computer arithmetic. A Reduced Instruction Set Computing (RISC) microprocessor architecture is outlined. Verification of digital systems is introduced.The purpose of this laboratory course is to produce students who are capable of developing synchronous digital circuits from high level functional specifications and prototyping them on FPGA hardware using a standard hardware description language (HDL).

Course Description

Lecture course:Logic design fundamentals. State machines, equivalent states and state reduction. Implication charts.Introduction to hardware description languages (HDL). Synthesis. Behavioural, structural and data flow (register-transfer level, RTL) models.Programmable logic devices. Simple programmable logic devices, complex programmable logic devices, field programmable gate arrays, programmable SoCs.Design examples using data path, controller model. Adders. Critical path, carry-lookahead adder, parallel prefix adder.Multipliers. Add and shift multiplier, array multiplier. Signed integer/fraction multiplier.State machine charts. Microprogramming.Design translation (Synthesis). Mapping, placement and routing.Floating point arithmetic. Multiplication and addition.Introduction to design of RISC microprocessors.Introduction to verification of digital systems. Functional verification. Timing verification.Laboratory:Lab 1 - Week 1: "HelloWorld" and "HelloLotsofWorlds" modulesLab 2 - Week 2: "HelloSynchronousWorld" and "ShiftingTheWorld" modulesLab 3 - Week 3: "ShiftingManyWorlds" and "CountingTheWorld" modulesLab 4 - Week 4: "TimingTheWorld" module and DecodingTheWorld modulesLab 5 - Week 5: "TimingTheWorldInDecimal" moduleLab 6 - Week 6: "ColouringTheWorld " module Lab 7 - Week 7: Assessment and "TheWorldofStateMachines" moduleLab 8 - Week 8: "TheWorldofLinkedStateMachine" module Lab 9 - Week 9: "Snake Game" module Lab 10 - Week 10: "Snake Game" module Lab 11 - Week 11: Assessment

Assessment Information

Written Exam 50%, Coursework 50%, Practical Exam 0%

view the timetable and further details for this course


All course information obtained from this visiting student course finder should be regarded as provisional. We cannot guarantee that places will be available for any particular course. For more information, please see the visiting student disclaimer:

Visiting student disclaimer