This course focuses on switching circuit theory that is a fundamental theory for designing and analyzing digital circuits.
It is very important to understand that computer hardware is inseparable from software in the field of computer science. Switching circuit theory is a foundation for designing advanced digital circuits, such as processors, and analyzing the behavior of them. To comprehend the behavior of computer hardware also leads to an essential understanding of that of software.
This course covers not only switching circuit theory such as Boolean algebra, Boolean functions, and the methodologies to design combinational and sequential logic circuits, but also a hardware description language which is used for designing logic circuits by software.
At the end of this course, students will:
- Understand the principles and properties of Boolean algebra and Boolean functions required to understand logic circuits,
- Understand the principles of combinational logic circuits and sequential logic circuits, and the methodologies to design them, and
- Design logic circuits with a hardware description language.
Boolean algebra, Boolean function, combinational logic circuit, sequential logic circuit, hardware description language
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
In the first 70% of each class, the details of topics are described. The remainder will be spent for exercises and their explanation to help students’ comprehension. Two classes will be for exercises at a computer room.
Course schedule | Required learning | |
---|---|---|
Class 1 | Boolean algebra, Boolean expression and its duality | Understand Boolean algebra, logical expression and its duality principle |
Class 2 | Inclusion relation, maxterm expression, and minterm expression of Boolean functions | Understand the inclusion relation of Boolean functions, and the principle of maxterm and minterm expressions |
Class 3 | NAND form, NOR form, Reed-Muller expansion | Understand Boolean expressions by all-NAND or all-NOR operators, and Reed-Muller expansion |
Class 4 | Unate function, monotonic function, dual function | Understand the properties of unate, monotonic, and dual functions |
Class 5 | Symmetric function, linear function, threshold function | Understand the properties of symmetric, linear, and threshold functions |
Class 6 | Designing combinational logic circuits with the Karnaugh map | Understand how to design combinational logic circuits with the Karnaugh map |
Class 7 | Designing combinational logic circuits by the Quine-McCluskey algorithm | Understand how to design combinational logic circuits by the Quine-McCluskey algorithm |
Class 8 | Programing combinational logic circuits with a hardware description language | Understand how to write combinational logic circuits with a hardware description language |
Class 9 | Organization of sequential logic circuits | Understand the mechanism of sequential logic circuits |
Class 10 | State transition and assignment for sequential logic circuits | Understand the state transition and assignment of sequential logic circuits |
Class 11 | Designing sequential logic circuits with flip-flops | Understand how to implement sequential logic circuits with flip-flops |
Class 12 | Minimizing sequential logic circuits by identifying equivalent states | Understand the notion of an equivalent state for minimizing sequential logic circuits |
Class 13 | Minimizing sequential logic circuits by identifying a compatible state set | Understand the notion of a compatible state set for minimizing sequential logic circuits |
Class 14 | Programing sequential logic circuits with a hardware description language | Understand how to write sequential logic circuits with a hardware description language |
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
A textbook in English will be introduced by instructors.
Tsutomu Sasao, "SWITCHING THEORY FOR LOGIC SYNTHESIS", Kluwer Academic Publishers, 1999
Students will be assessed on their understanding of principles of Boolean algebra, Boolean functions, combinational logic circuits, and sequential logic circuits. Students’ course scores are based on a midterm assignment (40%) and a final exam (60%).
No prerequisites are necessary.
COVID-19 precautions may limit the number of students. In that case, the students of computer science department have a priority.