Created byShankar Balachandran
Digital circuits are the basic blocks of modern electronic devices like mobile phones, digital cameras, microprocessors and several other devices. In this course, we will learn the fundamentals of digital circuits and how to engineer the building blocks that go into digital subsystems. We will first learn the basics of Boolean algebra and combinational logic. We will then have a thorough treatment of sequential circuits and state machines. Finally, we will learn how to analyze the performance of digital circuits and how to design high performance circuits. The course will emphasize both on the design philosophy and good design practices. Students will also get an exposure to Verilog, a popular hardware modeling language.
Introduction to Digital Circuits, Digital Hardware Design Process, Boolean Logic, Truth Tables, Logic Gates, SoP and PoS form, Basic Verilog
K-Map, Minimization of SoPs, Incompletely Specified Functions, Number Representation, Unsigned Numbers
Multiplexers, Decoders, Encoders. Verilog modeling and simulation.
Sequential Design Elements, SR Latch, D Latch, D Flip Flop.
CMOS, Fundamentals of timing analysis, Setup and Hold time, Registers, Counters, Shift Registers, Design Examples, Synchronous Sequential Circuits, Canonical Model of a State Machine, Types of State Machines, State Table, Moore and Mealy Model
State Assignment, State Minimization, State Machine Examples, State Diagram, Design Principles, Timing a digital circuit,
Detailed Design Example, Detailed Timing Analysis,
Detailed design of a digital system. Datapath and control design. Top-down design methodology. Verilog modeling of state machines.
Optimization for Timing , Area vs Delay tradeoff, Pipelining, Parallelism, Pipelining vs Parallellism,
Number representation, Addition/Subtraction/Multiplication, Memory Digital System, Examples, Review
To access the content, please enroll in the course.
Course Syllabus & Schedule
Hello! I am currently an Associate Professor in the Computer Science and Engineering Department at IIT Madras. I received Ph.D. in Electrical Engineering from the University of Texas at Dallas in 2005 and B.E. in Computer Science and Engineering from the University of Madras in 1998. My research interests span computer architecture, VLSI design automation, high performance computing, linear algebra, parallel algorithms and combinatorial optimization.