Course syllabus


EDA322 Digital Design HT19 (7,5hp)

(Digital konstruktion)

Revised October 10th, 2018

Department of Computer Science and Engineering


Course purpose

The course is intended to give fundamental knowledge about analysis, synthesis and optimization of combinatorial and sequential digital circuits. The course also presents the technologies used for implementing such circuits. As part of the course, the student will be introduced to a modern computer-based design tool (CAD), and learn the basics of hardware description language.



In order to be eligible for a first cycle course the applicant needs to fulfil the general and specific entry requirements of the programme(s) that has the course included in the study programme.


Course Specific Prerequisites

A preparatory course in Fundamentals of digital systems and computers.



Link to schedule

Link to TimeEdit schedule


Lab sessions

Read about the lab sessions, and join a lab group.


Contact details

Examiner: Ioannis Sourdis

Communication and Contact hours


Course literature

Digital Design Using VHDL: A Systems Approach, 1st Edition by William J. Dally, R. Curtis Harting, Tor M. Aamodt

(Available in Cremona)


Course design

Learning outcomes (after completion of the course the student should be able to):

1. Knowledge and understanding

  • describe binary arithmetic units for addition, multiplication and division.
  • describe the different storage elements used in digital circuits (latches, flip-flops, different types of memories).
  • recognize the function and uses of Reconfigurable and ASIC technologies.
  • list the differences of various types of Finite State Machines (Mealy, Moore, synchronous Mealy).
  • recognize the basics of design for testability and the basic principles behind the testing.
  • identify and describe asynchronous sequential circuits.
  • list the factors that affect the timing, power and area of a digital circuit.

2. Skills and abilities

  • minimize a Boolean function or derive its canonical form.
  • create the design specifications of a digital circuit for a given problem.
  • measure the critical path delay of a digital circuit.
  • use VHDL to describe combinatorial and sequential circuits.
  • use modern tools to perform simulation, synthesis and implementation of a digital circuit described in VHDL.
  • create test benches for VHDL designs to validate their correct functionality.
  • use FPGA technology to implement a digital hardware design.
  • define FSM encodings and perform state minimization. 

3. Judgment and approach

  • evaluate the advantages and disadvantages of different implementation technologies (ASICs, FPGAs) for digital designs, and select one for a specific design.
  • compare different design for binary arithmetic (e.g. different adder designs).
  • critically evaluate and judge a design choice in terms of power, delay, area, and be able to select the one that fits the particular design constraints.


  • Boolean Algebra and logic minimization
  • Arithmetic Units
  • Memory
  • Combinational circuits
  • Sequential circuits and Finite State Machines
  • Technologies of digital circuits (ASIC, FPGA)
  • Asynchronous circuits
  • Timing and Power consumption of digital circuits
  • Testing and design for testing
  • Hardware description languages (VHDL) for digital circuits
  • Hardware Design, test and evaluation of a simple processor


Lectures and labs.


Examination form

The course is examined by an individual exam given in an examination hall and 7 laboratory assignments.
The Laboratory work is carried out in groups of normally 2 students.

More information here.


Link to the syllabus on Studieportalen

Link to GU syllabus.

Course summary:

Date Details