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

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.

Oct 26th 2026
5-12 Weeks
Outsmarting intermittency (Coursera) Coursera
École Polytechnique

Outsmarting intermittency (Coursera)

Solar and wind offer clean and renewable ways to produce large amounts of electricity. They have boomed over the last few years, evolving from an eco-daydream to a major market and showing unprecedented growth rates. Yet, installing solar panels and wind turbines is by no means the end of the story. The electrical grid, which connects production means to the end-users’ sockets, is not a simple electron pipe. It is the beating heart of our electricity system and ensures its stability. Solar and wind raise specific challenges for the grid, and these challenges will have to be tackled if we want to deploy larger amounts of renewable sources.

Oct 26th 2026
4 Weeks
Introduction to FPGA Design for Embedded Systems (Coursera) Coursera
University of Colorado Boulder

Introduction to FPGA Design for Embedded Systems (Coursera)

Programmable Logic has become more and more common as a core technology used to build electronic systems. By integrating soft-core or hardcore processors, these devices have become complete systems on a chip, steadily displacing general purpose processors and ASICs. In particular, high performance systems are now almost always implemented with FPGAs. This course will give you the foundation for FPGA design in Embedded Systems along with practical design skills.

Oct 19th 2026
4 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.

Nov 2nd 2026
3 Weeks
Fundamentals of Audio and Music Engineering: Part 1 Musical Sound & Electronics (Coursera) Coursera
University of Rochester

Fundamentals of Audio and Music Engineering: Part 1 Musical Sound & Electronics (Coursera)

In this course students learn the basic concepts of acoustics and electronics and how they can applied to understand musical sound and make music with electronic instruments. Topics include: sound waves, musical sound, basic electronics, and applications of these basic principles in amplifiers and speaker design.

Oct 26th 2026
5-12 Weeks
Interfacing with the Arduino (Coursera) Coursera
University of California, Irvine

Interfacing with the Arduino (Coursera)

Arduino senses the environment by receiving inputs from add-on devices such as sensors, and can control the world around it by adjusting lights, motors, and other actuators. In this class you will learn how and when to use the different types of sensors and how to connect them to the Arduino. Since the external world uses continuous or analog signals and the hardware is digital you will learn how these signals are converted back-and-forth and how this must be considered as you program your device. You'll also learn about the use of Arduino-specific shields and the shields software libraries to interface with the real world.

Oct 26th 2026
4 Weeks
Microwave engineering and antennas (Coursera) Coursera
Eindhoven University of Technology

Microwave engineering and antennas (Coursera)

This unique Master-level course provides you with in-depth know-how of microwave engineering and antennas. The course combines both passive and active microwave circuits as well as antenna systems. Future applications, like millimeter-wave 5G/beyond-5G wireless communications or automotive radar, require experts that can co-design highly integrated antenna systems that include both antennas and microwave electronics. We will provide you with the required theoretical foundation as well as hands-on experience using state-of-the-art design tools. The web lectures are supported by many on-line quizzes in which you can practice the background theory.

Oct 26th 2026
5-12 Weeks
Sistemas Digitales: De las puertas lógicas al procesador (Coursera) Coursera
Universitat Autònoma de Barcelona

Sistemas Digitales: De las puertas lógicas al procesador (Coursera)

En este curso aprenderemos los fundamentos del diseño de los circuitos digitales actuales, siguiendo una orientación eminentemente práctica. A diferencia de otros cursos más "clásicos" de Circuitos Digitales, nuestro interés se centrará más en el Sistema que en la Electrónica que lo sustenta. Este enfoque nos permitirá sentar las bases del diseño de Sistemas Digitales complejos.

Oct 26th 2026
5-12 Weeks
VLSI CAD Part I: Logic (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part I: Logic (Coursera)

A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc. How do we design these complex chips? Answer: CAD software tools. Learn how to build thesA modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Nov 16th 2026
5-12 Weeks
Digital Signal Processing 1: Basic Concepts and Algorithms (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Digital Signal Processing 1: Basic Concepts and Algorithms (Coursera)

Digital Signal Processing is the branch of engineering that, in the space of just a few decades, has enabled unprecedented levels of interpersonal communication and of on-demand entertainment. By reworking the principles of electronics, telecommunication and computer science into a unifying paradigm, DSP is a the heart of the digital revolution that brought us CDs, DVDs, MP3 players, mobile phones and countless other devices.

Nov 9th 2026
4 Weeks