Engineering and design

Digital Systems and Microprocessor Design

Module code: H7068
Level 5
15 credits in autumn semester
Teaching method: Laboratory, Lecture
Assessment modes: Computer based exam, Coursework

This module introduces you to the world of digital logic and to the design of microprocessors.

Thanks to the current explosion of connected devices, the Internet of Things, autonomous vehicles, wearable and mobile devices and Artificial Intelligence, there is a growing industrial push to include advanced functionalities in hardware to achieve ultra-high performance or ultra-low power. Understanding the design of digital logic or custom processors will enable you to apply for exciting jobs in these areas and others.

In this module you will learn how to design digital logic, starting from simple combinational circuits and then designing and analysing ever more complex sequential circuits. This will conclude with the University of Sussex Processor – a processor which you will learn to programl, before extending its architecture to give it improved hardware functionalities.

This module gives you a solid foundation of computer engineering and will allow you to progress to study embedded systems and advanced hardware architectures in the following years.

Topics include:

  • digital basics and combinational logic design
  • Boolean algebra
  • design of combinational circuits
  • standard combinational components
  • implementation technologies
  • introduction to VHDL
  • basic language elements
  • combinational & sequential coding
  • levels of abstraction
  • simulation
  • design flow to target device
  • sequential logic
  • bistable
  • latches & flip-flops
  • Finite State Machines (FSM) models, State diagrams
  • analysis and synthesis of sequential circuits
  • standard sequential components
  • Register Transfer-Level design
  • datapaths
  • control units
  • microprocessor systems
  • computer arithmetic
  • central processing unit, ALU, memory, I/O
  • architecture, busses
  • instruction set
  • assembly language programming.

Module learning outcomes

  • Have knowledge of combinational and sequential design concepts and their design application methods.
  • Demonstrate the ability to apply combinational and sequential concepts through the use of design and VHDL coding, outside of the context in which they were first studied.
  • Have critical understanding of the digital processes in low-complexity microprocessor systems.
  • Demonstrate practical skills in the use of a modern suite of EDK software and target hardware.