This course combines three approaches to teach students Digital Design, which is a fundamental prerequisite for understanding computer design and architecture. Firstly, and most importantly, theoretical aspects of the subject will be covered in lectures, along with exercises in sections. By the end of the course, students should be capable of designing, analyzing, and implementing combinational and synchronous digital circuits.
A second objective is to teach students digital design using a Hardware Description Language (HDL). By the end of the semester, students will be able to analyze logic circuits using Verilog, one of the available HDLs.
A third objective is to develop the practical skills of the students through laboratory experiments. Students will have the opportunity to implement logic circuits using breadboards and ICs. If time permits, an introduction to Field Programmable Gate Arrays (FPGAs) technology will be provided.
A fast introduction (covering a few sections from Chapter 1) will be offered, followed by a detailed study of Chapters 2-7, with only a few sections skipped. At the end of each chapter, Verilog code for some circuits will be explained. If time permits, Chapter 8 will be fully or partially covered. Additionally, if time permits, an introduction to FPGA technology will be given.