Digital systems are at the heart of the information age in which we live, allowing us to store, communicate and manipulate information quickly and reliably. This course is a bottom-up exploration of the abstractions, principles, and techniques used in the design of digital systems. If you have a rudimentary knowledge of electricity and some exposure to programming, roll up your sleeves, join in and design a computer system!
This is Part 1 of a 3-part series on digital systems, teaching the fundamentals of digital circuit design and is based on a course offered by the MIT Department of Electrical Engineering and Computer Science. Topics include digital encoding of information, principles of digital signaling; combinational and sequential logic, implementation in CMOS, useful canonical forms, synthesis; latency, throughput and pipelining.
The course is divided into four two-week sections:
- Basics of Information, the Digital Abstraction, Assignment 1
- CMOS, Combinational Logic, Assignment 2
- Sequential Logic, Finite-state Machines, Assignment 3
- Performance Measures, Design Tradeoffs, Assignment 4
Each section consists of two lecture chapters and an assignment. The lecture chapters are divided into three sections:
- Lecture Videos – include lecture videos and exercises.
- Worked Examples – include video of a sample tutorial problem being solved for you, and the sample problem itself.
- Tutorial Problems – lots of practice problems with detailed solutions to help you master the material.