We may earn an affiliate commission when you visit our partners.
Course image
Joaquín Saiz Alcaine, Jean-Pierre Deschamps, David Bañeres, Juan Antonio Martínez, Merce Rullan, Lluis Terés, and Elena Valderrama

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.

Read more

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.

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).

Enroll now

What's inside

Syllabus

All you need to know to start the course
Click on "v More" to read the purpose of this module

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?
Read more
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?
Click on "v More" to read the purpose of this module

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.
Combinational Circuits (I)
Click on "v More" to read the purpose of this module

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
Click on "v More" to read the purpose of this module

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.
Combinational circuits (II)
Click on "v More" to read the purpose of this module

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.
Arithmetic components + Introduction to VHDL
Click on "v More" to read the purpose of this module

Arithmetic circuits are an essential part of many digital circuits and thus deserve a particular treatment.
  • The first part of this module presents some implementations of the basic arithmetic operations. Only operations with naturals (non-negative integers) are considered.
  • 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.
Sequential circuits (I)
Click on "v More" to read the purpose of this module

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.
Sequential circuits (II)
Click on "v More" to read the purpose of this module

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.
Sequential circuits III and Finite State Machines
Click on "v More" to read the purpose of this module

This module deals with two topics:
  1. 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.
  2. The second topic we will see is the definition and VHDL modelling of Finite State Machines.
Implementation of digital systems
Click on "v More" to read the purpose of this module

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
´´

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops a foundation in engineering systems through practical design of electronic and digital circuits
Covers tools for modern digital systems' design
Led by faculty of Universitat Politécnica de València (UPV)
Requires third-party software that may need a specific computer setup
Assumes basic proficiency in digital circuits
Not recommended for learners seeking comprehensive software design

Save this course

Save Digital Systems: From Logic Gates to Processors to your list so you can find it easily later:
Save

Reviews summary

Enlightening digital systems overview

Learners say this well received course largely positive engaging assignments provides a largely positive introduction to the topic of digital systems. The lectures are clear and informative, and the assignments help to reinforce the concepts learned. The course is a good fit for both beginners and those with some prior knowledge of the subject. One learner remarked, "This was my 4th online course and I am pretty sure this was my best experience. Everything was covered in detail and yet very precisely. Thanks to both coursera and UAB for this course."
Learners with no prior knowledge find this course accessible and beneficial.
"This is a very solid refresher on the basics of Digital Design, and I believe it is a great way to introduce someone to the field."
"This course was great and really helpful! I loved the exercises scattered throughout the course, which were really helpful for helping me understand and test my knowledge on the material."
"This course was amazing & perfect for learning fairly in-depth logic design without any prior knowledge."
The course uses a virtual machine to provide a hands-on learning experience.
"This is a very solid refresher on the basics of Digital Design, and I believe it is a great way to introduce someone to the field."
"The course VM-based digital design quizzes were great, and the software used is well documented."
"The software on the virtual machine is a great way to practice Gate Level circuits, and it can be pretty fun too."
The course's explanations are clear and easy to understand.
"The course is well-structured, and the instructor is knowledgeable and engaging."
"This was my 4th online course and I am pretty sure this was my best experience. Everything was covered in detail and yet very precisely."
"The low combinatorial designs and the hardware description language are the most significant part of the course, in my opinion, and the correlation with the processor section of each week."
Learners enjoy the interactive engaging assignments that reinforce concepts.
"The assignments help to reinforce the concepts learned."
"The software on the virtual machine is a great way to practice Gate Level circuits, and it can be pretty fun too."
"The course VM-based digital design quizzes were great, and the software used is well documented."
The course structure is well-defined and easy to follow.
"This was my 4th online course and I am pretty sure this was my best experience. Everything was covered in detail and yet very precisely."
"The course is well-structured, and the instructor is knowledgeable and engaging."
"This course is a very fundamental one by introducing the basic components, boolean algebra, combinational circuit and sequential circuit."
Some learners express concern about the difficult exams or outdated technology used in the course.
"The course is really outdated and the Virtual machine does not download on windows 11, it asks for memory integrity to be turned off to install, the instructors should update the course"
"It would be better if there was some way to also grade the final processor design, like in nand2tetris."
"the detailed usage of VerilUOC and the first and last graded quiz"
The course covers VHDL, a hardware description language.
"The presentation can be improved."
"The VHDL part is very poor need to improve that portion of the course. But the digital portion is good with all the assignments and quiz."
"It would be nice to add more excercises on HDL programming and add more lectures about simulation/test benches."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Digital Systems: From Logic Gates to Processors with these activities:
Review combinational circuits
Review the basics of combinational circuits, including logic gates and Boolean algebra.
Browse courses on Combinational Circuits
Show steps
  • Read the first three chapters of the textbook.
  • Solve the practice problems at the end of each chapter.
  • Take an online quiz on combinational circuits.
Attend a meetup or conference on digital systems
This activity will help you connect with other people who are interested in digital systems and learn from their experiences.
Browse courses on Digital Systems
Show steps
  • Find a meetup or conference
  • Attend the event
  • Network with other attendees
Solve combinational circuit problems
Practice solving combinational circuit problems using logic gates and Boolean algebra.
Browse courses on Combinational Circuits
Show steps
  • Find a set of practice problems online or in a textbook.
  • Solve the problems using the techniques you learned in the first three chapters of the textbook.
  • Check your answers against the provided solutions.
11 other activities
Expand to see all activities and additional details
Show all 14 activities
Review Introduction to Digital Systems
This book is an excellent resource for reviewing the basics of digital systems and will help prepare you for the course.
Show steps
  • Read Chapter 1: Introduction
  • Read Chapter 2: Number Systems and Codes
  • Read Chapter 3: Logic Gates and Boolean Algebra
  • Read Chapter 4: Combinational Circuits
Follow online tutorials on digital systems
This activity will help you supplement your learning and gain a deeper understanding of digital systems.
Browse courses on Digital Systems
Show steps
  • Find online tutorials
  • Watch the tutorials
  • Take notes
Practice solving digital logic problems
This activity will help you improve your problem-solving skills and your understanding of digital logic.
Browse courses on Digital Logic Design
Show steps
  • Find practice problems
  • Solve the problems
  • Check your answers
Review sequential circuits
Review the basics of sequential circuits, including flip-flops and registers.
Browse courses on Sequential Circuits
Show steps
  • Read chapters 4 and 5 of the textbook.
  • Solve the practice problems at the end of each chapter.
  • Take an online quiz on sequential circuits.
Build a simple combinational circuit
This project will give you hands-on experience with designing and building digital circuits, which will help you understand the concepts covered in the course.
Browse courses on Combinational Circuits
Show steps
  • Design a simple combinational circuit
  • Build the circuit on a breadboard
  • Test the circuit
Take a workshop on digital systems
This activity will help you learn about digital systems in a hands-on environment.
Browse courses on Digital Systems
Show steps
  • Find a workshop
  • Attend the workshop
  • Complete the workshop exercises
Design a combinational circuit
Design a combinational circuit to solve a specific problem.
Browse courses on Combinational Circuits
Show steps
  • Identify the problem that you want to solve.
  • Design a truth table for the circuit.
  • Implement the circuit using logic gates.
  • Test the circuit to make sure that it works correctly.
Solve sequential circuit problems
Practice solving sequential circuit problems using flip-flops and registers.
Browse courses on Sequential Circuits
Show steps
  • Find a set of practice problems online or in a textbook.
  • Solve the problems using the techniques you learned in chapters 4 and 5 of the textbook.
  • Check your answers against the provided solutions.
Create a presentation on digital systems
This activity will help you deepen your understanding of digital systems and improve your communication skills.
Browse courses on Digital Systems
Show steps
  • Research digital systems
  • Create a presentation outline
  • Develop the presentation slides
  • Practice presenting the presentation
Write a report on a digital system
This activity will help you develop your writing skills and your understanding of digital systems.
Browse courses on Digital Systems
Show steps
  • Research a digital system
  • Write an outline for the report
  • Write the report
  • Edit and proofread the report
Design a sequential circuit
Design a sequential circuit to solve a specific problem.
Browse courses on Sequential Circuits
Show steps
  • Identify the problem that you want to solve.
  • Design a state diagram for the circuit.
  • Implement the circuit using flip-flops and registers.
  • Test the circuit to make sure that it works correctly.

Career center

Learners who complete Digital Systems: From Logic Gates to Processors will develop knowledge and skills that may be useful to these careers:
FPGA Engineer
FPGA engineers design, develop, and test field-programmable gate arrays (FPGAs), which are programmable logic devices that can be used to implement digital circuits. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as FPGA architecture, FPGA programming, and FPGA design tools, which are all essential for understanding how FPGAs work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
Semiconductor Design Engineer
Semiconductor design engineers design, develop, and test semiconductors. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as semiconductor fabrication, semiconductor testing, and semiconductor design tools, which are all essential for understanding how semiconductors work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
VLSI Design Engineer
VLSI design engineers design, develop, and test very-large-scale integration (VLSI) circuits. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as VLSI fabrication, VLSI testing, and VLSI design tools, which are all essential for understanding how VLSI circuits work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
IC Design Engineer
IC design engineers design, develop, and test integrated circuits (ICs). This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as IC fabrication, IC testing, and IC design tools, which are all essential for understanding how ICs work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
Logic Design Engineer
Logic design engineers design, develop, and test logic circuits. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as combinational circuits, sequential circuits, and state machines, which are all essential for understanding how logic circuits work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
System Design Engineer
System design engineers design, develop, and test systems. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as computer architecture, operating systems, and networking, which are all essential for understanding how systems work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
Hardware Design Engineer
Hardware design engineers design, develop, and test hardware for computer systems. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as computer architecture, operating systems, and networking, which are all essential for understanding how computer systems work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
Hardware Architect
Hardware architects design the hardware architecture for computer systems. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as computer architecture, operating systems, and networking, which are all essential for understanding how computer systems work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
Microprocessor Design Engineer
Microprocessor design engineers design, develop, and test microprocessors. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as computer architecture, operating systems, and networking, which are all essential for understanding how microprocessors work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
Computer Hardware Engineer
Computer hardware engineers research, design, develop, and test computer systems and components. This course may be helpful to individuals in this role as it helps build a foundation in digital circuits and systems. The course also covers topics such as combinational and sequential circuits, which are essential for understanding the design and implementation of computer hardware. Additionally, the course introduces Verilog, a hardware description language commonly used in this field.
PCB Design Engineer
PCB design engineers design, develop, and test printed circuit boards (PCBs). This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as PCB layout, PCB fabrication, and PCB testing, which are all essential for understanding how PCBs work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
Electrical Engineer
Electrical engineers design, develop, test, and maintain electrical systems and components. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as power systems, electronics, and control systems, which are all essential for understanding how electrical systems work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
Embedded Systems Engineer
Embedded systems engineers design, develop, and maintain embedded systems, which are computer systems that are embedded in other devices, such as cars, appliances, and medical devices. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as embedded software, real-time systems, and hardware/software co-design, which are all essential for understanding how embedded systems work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
Electronics Engineer
Electronics engineers design, develop, test, and maintain electronic systems and components. This course may be helpful to individuals in this role as it provides a solid foundation in digital circuits and systems. The course also covers topics such as analog circuits, power electronics, and embedded systems, which are all essential for understanding how electronic systems work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.
Computer Systems Analyst
Computer systems analysts design and implement computer systems that meet the needs of businesses and organizations. This course may be helpful to individuals in this role as it provides a solid foundation in digital systems design. The course also covers topics such as computer architecture, operating systems, and networking, which are all essential for understanding how computer systems work. Additionally, the course introduces Verilog, a hardware description language that is commonly used in this field.

Reading list

We've selected 23 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Digital Systems: From Logic Gates to Processors.
A comprehensive textbook commonly used in universities that provides a thorough grounding in the field of digital systems. It covers a wide range of topics, including number systems, logic gates, combinational circuits, and sequential circuits.
This textbook provides a comprehensive introduction to digital design, covering topics such as number systems, logic gates, combinational circuits, sequential circuits, and programmable logic devices. It also includes an introduction to the Verilog HDL, which hardware description language used to model and simulate digital circuits.
This well-regarded textbook is commonly used in introductory digital logic and computer design courses. It provides a clear and concise introduction to the fundamentals of digital logic and computer design.
A comprehensive and up-to-date textbook that covers the design and analysis of digital systems. It provides a solid foundation in the principles of digital logic and computer architecture.
This textbook provides a comprehensive introduction to digital logic design, with a focus on the use of VHDL. It covers topics such as number systems, logic gates, combinational circuits, sequential circuits, and programmable logic devices.
Provides a comprehensive overview of digital design, covering topics such as Boolean algebra, combinational circuits, sequential circuits, and computer architecture. It good choice for students who want to learn the fundamentals of digital design.
Provides a comprehensive overview of digital system design using VHDL. It good choice for students who want to learn how to design digital systems using VHDL.
An advanced textbook that provides an in-depth understanding of computer systems, including the hardware, software, and their interaction. It valuable resource for those interested in learning more about the inner workings of computers.
This textbook provides a comprehensive introduction to digital systems, covering topics such as number systems, logic gates, combinational circuits, sequential circuits, and programmable logic devices. It also includes a discussion of the latest trends in digital systems design.
Provides a comprehensive overview of computer organization and design, with a focus on the design and implementation of computer systems. It good choice for students who want to learn more about the design of computer systems.
Provides a comprehensive overview of logic and computer design fundamentals, with a focus on the design and implementation of digital circuits. It good choice for students who want to learn more about the foundations of digital design.
This textbook provides a comprehensive introduction to computer organization and design, covering topics such as the basics of computer architecture, the design of the processor, the design of the memory system, and the design of the input/output system.
Provides a comprehensive overview of embedded systems, with a focus on the design and implementation of embedded systems. It good choice for students who want to learn more about the design of embedded systems.
This textbook provides a comprehensive introduction to logic design, covering topics such as number systems, logic gates, combinational circuits, sequential circuits, and programmable logic devices. It also includes a discussion of the latest trends in logic design.
Provides a comprehensive overview of computer systems, with a focus on the underlying principles of computer science. It good choice for students who want to learn more about the foundations of computing.
Provides a comprehensive overview of real-time systems, with a focus on the design and analysis of real-time systems. It good choice for students who want to learn more about the design of real-time systems.
This textbook provides a comprehensive introduction to digital design, with a focus on the use of VHDL. It covers topics such as number systems, logic gates, combinational circuits, sequential circuits, and programmable logic devices.
Provides a comprehensive overview of algorithms, with a focus on the design and analysis of efficient algorithms. It good choice for students who want to learn more about the theory of algorithms.
Provides a comprehensive overview of software engineering, with a focus on the design and implementation of software systems. It good choice for students who want to learn more about the design of software systems.
Provides a comprehensive overview of discrete mathematics, with a focus on applications to computer science. It good choice for students who want to learn more about the mathematical foundations of computer science.
Provides a comprehensive overview of object-oriented software engineering, with a focus on the design and implementation of object-oriented software systems. It good choice for students who want to learn more about the design of object-oriented software systems.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Digital Systems: From Logic Gates to Processors.
Embedded Systems and Robotics Fluency
Most relevant
Digital Design
Most relevant
Switching Theory & Logic Design of Digital Circuits
Most relevant
Electric Circuits for Electrical Engineering and...
Most relevant
How Computers Work: Demystifying Computation
Most relevant
Fundamentals of Digital Design for VLSI Chip Design
Most relevant
How Computers Work: Demystifying Computation
Electricity & electronics - Robotics, learn by building
Design of Digital Circuits with VHDL Programming
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser