Digital Systems: From Logic Gates to Processors (Coursera)

Digital Systems: From Logic Gates to Processors (Coursera)

This course gives you a complete insight into the modern design of digital systems fundamentals from an eminently practical point of view. Unlike other more "classic" digital circuits courses, our interest focuses more on the system than on the electronics that support it. This approach will allow us to lay the foundation for the design of complex digital systems.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

You will learn a set of design methodologies and will use a set of (educational-oriented) computer-aided-design tools (CAD) that will allow you not only to design small and medium size circuits, but also to access to higher level courses covering so exciting topics as application specific integrated circuits (ASICs) design or computer architecture, to give just two examples.
Course topics are complemented with the design of a simple processor, introduced as a transversal example of a complex digital system. This example will let you understand and feel comfortable with some fundamental computer architecture terms as the instruction set, microprograms and microinstructions.

After completing this course you will be able to:

  • Design medium complexity digital systems.
  • Understand the description of digital systems using high-level languages such as VHDL.
  • Understand how computers operate at their most basic level (machine language).

Syllabus

WEEK 1
All you need to know to start the course
We have collected here everything you need to know before starting the course.
This week is divided into three sections:

  • The first is the one you're reading about now and includes a number of general explanations about how the course will run and about the virtual machine you should install on your computer to answer the different quizzes .
  • The second (Previous knowledge: A review) presents a series of tests you can use to check your level of knowledge about numbering systems and the use of pseudocode to describe algorithms.
  • The third block contains the first real topic of the course: What Digital Systems are?

Previous knowledge: A review
Check your knowledge about binary and hexadecimal numbering systems, and the description of algorithms using a pseudocode.
What Digital Systems are?
This module is an introduction to Digital Systems. Here you will find:

  1. A set of videos_L covering issue 1 and the corresponding exercises,
  2. Two videos_P introducing the processor that we will design along the course, and
  3. Some video-based explanations; a wiki and some FAQs about how VerilUOC_Desktop tool functions.

You will have to use VerilUOC_Desktop in the next module.
Read the "Lesson Index" in the "Index and PDF files" section and the "README" in the VerilUOC_Desktop section for more information.

WEEK 2
Combinational Circuits (I)
This module introduces combinational circuits, logic gates and boolean algebra, all of them items necessary to design simple combinational circuits.
Read the "Index of lessons" for more information.
To solve the exercises in this module you will need to use VerilUOC_Desktop. Look at the module "VerilUOC_Desktop tools" to learn how to use it.
VerilUOC_Desktop tools
From this week you will need to use VerilUOC_Desktop to do some of the exercises in the quizzes. VerilUOC_Desktop is a software package based on Logisim, enhanced with a number of modules to enable:

  • Enter Boolean equations (BoolMin),
  • Enter digital circuits and check them according the problem statement (VerilCirc), and
  • Enter chronograms (time-charts) and check that they are correct (VerilChart).

This section contains two videos explaining how these three tools work. By now you only need to use VerilCirc and BoolMin, so if you are pushed for time, you might postpone VerilChart for later. Obviously, it is impossible to cover in these two videos all eventualities you can find while working with VerilUOC_Desktop tools. In case of doubt, look at the VerilUOC_Desktop wiki, look at the FAQs or post your problems in the forums. There are specific forums for VerilCirc, BoolMin and VerilChart.

WEEK 3
Combinational circuits (II)
We continue the study of combinational circuits. While in the previous module we were working on the classical design techniques of combinational circuits, this one is focused on other issues such as a brief introduction to computer aided design tools (CAD tools), or the direct synthesis of combinational circuits from its algorithmic description.
Read the "Lesson index" for more information.
To solve the exercises in this module VerilUOC_Desktop is needed. Remember that the "VerilUOC_Desktop" section in module 2 contains all the information you need about this tool.

WEEK 4
Arithmetic components + Introduction to VHDL
Arithmetic circuits are an essential part of many digital circuits and thus deserve a particular treatment.

  1. The first part of this module presents some implementations of the basic arithmetic operations. Only operations with naturals (non-negative integers) are considered.
  2. The second part of this module introduces the basics of VHDL with the goal of providing enough knowledge to understand its usage throughout this course and start developing basic hardware models.

WEEK 5
Sequential circuits (I)
This is the first module dedicated to Sequential Circuits (Digital Systems with Memory).
To solve the quizzes you will need VerilUOC_Desktop.
Remember that the first week includes a complete description of VerilUOC_Desktop. In particular, VerilChart is presented in the second video.

WEEK 6
Sequential circuits (II)
This second module dedicated to Sequential Circuits deals with particular sequential circuits that are building blocks of larger circuits, namely registers, counters and memory blocks.

WEEK 7
Sequential circuits III and Finite State Machines
This module deals with two topics:

  • In previous lessons, the relation between algorithms (programming language structures) and combinational circuits has been commented. This relation also exists between algorithms and sequential circuits. We will explore this relation in the current module.
  • The second topic we will see is the definition and VHDL modelling of Finite State Machines.

WEEK 8
Implementation of digital systems
This last module presents some basic information about manufacturing technologies, as well as about implementation strategies, and synthesis and implementation tools.
Course Summary and farewell

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Jun 15th 2026
5-12 Weeks
Hardware Description Languages for FPGA Design (Coursera) Coursera
University of Colorado Boulder

Hardware Description Languages for FPGA Design (Coursera)

Hardware Description Languages for Logic Design enables students to design circuits using VHDL and Verilog, the most widespread design methods for FPGA Design. It uses natural learning processes to make learning the languages easy. Simple first examples are presented, then language rules and syntax, followed by more complex examples, and then finally use of test bench simulations to verify correctness of the designs.

Jun 15th 2026
4 Weeks
Physics 102 - AC Circuits and Maxwell's Equations (Coursera) Coursera
Rice University

Physics 102 - AC Circuits and Maxwell's Equations (Coursera)

This course serves as an introduction to the physics of electricity and magnetism. Upon completion, learners will have an understanding of how the forces between electric charges are described by fields, and how these fields are related to electrical circuits. They will gain experience in solving physics problems with tools such as graphical analysis, algebra, vector analysis, and calculus. The course follows the typical progression of topics of a first-semester university physics course: charges, electric forces, electric fields potential, magnetic fields, currents, magnetic moments, electromagnetic induction, and circuits.

Jun 22nd 2026
3 Weeks
Rapid Prototyping of Embedded Interface Designs (Coursera) Coursera
University of Colorado Boulder

Rapid Prototyping of Embedded Interface Designs (Coursera)

Rapid Prototyping is the second of three classes in the Embedded Interface Design (EID) specialization, an online version of the on-campus EID class taught in graduate embedded systems design. This course is focused on rapid prototyping of devices and systems and the related methods, practices, and principles that will help ensure your embedded interface designs are what your users both need and want.

Jun 15th 2026
4 Weeks
Fundamentals of particle accelerator technology (NPAP MOOC) (Coursera) Coursera
Lund University

Fundamentals of particle accelerator technology (NPAP MOOC) (Coursera)

Did you know that particle accelerators play an important role in many functions of todays society and that there are over 30 000 accelerators in operation worldwide? A few examples are accelerators for radiotherapy which are the largest application of accelerators, altogether with more than 11000 accelerators worldwide. These accelerators range from very compact electron linear accelerators with a length of only about 1 m to large carbon ion synchrotrons with a circumference of more than 50 m and a huge rotating carbon ion gantry with a weight of 600 tons!

Jun 15th 2026
5-12 Weeks
Linux System Programming and Introduction to Buildroot (Coursera) Coursera
University of Colorado Boulder

Linux System Programming and Introduction to Buildroot (Coursera)

This course provides an overview of System Programming for the Linux operating system, or software which is interfacing directly with the Linux Kernel and C library. The basic components of a Linux Embedded System, including kernel and root filesystem details are discussed. The Buildroot build system is introduced, which students use to build their own custom Embedded Linux system through programming assignments.

Jun 15th 2026
4 Weeks
Sistemas e Tecnologias Digitais nas Organizações (Coursera) Coursera
FIA Business School

Sistemas e Tecnologias Digitais nas Organizações (Coursera)

Nossas boas-vindas ao Curso Sistemas e Tecnologias Digitais nas Organizações. Neste curso, você aprenderá sobre o histórico da utilização dos sistemas e tecnologias digitais em organização. Será mostrada a evolução do uso restrito a sistemas de back office, passando pelos sistemas integrados de gestão, comércio eletrônico, redes sociais e aplicativos móveis, destacando-se os impactos nos modelos de negócios das organizações promovidos pela tecnologia.

Jun 15th 2026
4 Weeks
RF and millimeter-Wave Circuit Design (Coursera) Coursera
Eindhoven University of Technology

RF and millimeter-Wave Circuit Design (Coursera)

This unique Master-level course offered by the Center for Wireless Technology Eindhoven (CWT/e) of the Eindhoven University of Technology, The Netherlands, provides students with in-depth knowledge and hands-on experience on RF and mmWave circuit design. The course covers the topics on how to derive the RF wireless systems specifications, and how to design the main building blocks of a transceiver, i.e., low noise amplifier, power amplifier, RF mixers, oscillators, and PLL frequency synthesizers. It is divided into two parts: (1) theoretical lectures will cover the basis of RF and mmWave Circuit Design; and (2) design labs will include simulation and implementation of these circuits.

Jun 15th 2026
5-12 Weeks
Graphic Elements of Design: Color Theory and Image Formats (Coursera) Coursera
University of Colorado Boulder

Graphic Elements of Design: Color Theory and Image Formats (Coursera)

Examining and exploring the various types of images and graphic elements will be the focus of this course. We will start with color theory to distinguish between CMYK, Pantone and RGB color options and their usages. Then we will review the various types of images used in both print and digital design projects. Finally we will look at logo designs to determine what makes for the best images and graphic elements for corporate branding and imaging.

Jun 15th 2026
3 Weeks
Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) (Coursera)

In this project-centered course* you will build a modern computer system, from the ground up. We’ll divide this fascinating journey into six hands-on projects that will take you from constructing elementary logic gates all the way through creating a fully functioning general purpose computer. In the process, you will learn - in the most direct and constructive way - how computers work, and how they are designed.

Jun 22nd 2026
5-12 Weeks