This course teaches practical digital circuits based on the knowledge acquired in the lecture of Switching Circuit Theory.
Also, it teaches basic principles of computers and computer logic design using a simple computer as an example circuit.
In the exercise, students describe the combinational circuits and the sequential circuits in hardware description language such as Verilog HDL, and verify their operation by the simulation and implement them on the hardware board with an FPGA.
At the end of this course, students will:
- Understand the basic structures of computer systems,
- Understand the logic design of a single-cycle processor,
- Understand the logic design of a pipeline processor,
- Obtain skills for designing simple computer systems with a hardware description language.
Computer, Instruction Set Architecture, Processor, Pipelining, Hardware Description Language, Verilog HDL, FPGA
|Intercultural skills||Communication skills||✔ Specialist skills||Critical thinking skills||✔ Practical and/or problem-solving skills|
In general, a 90 minutes exercise using an FPGA board will be conducted after two 90 minutes lectures.
|Course schedule||Required learning|
|Class 1||Basic Structure of Computer Systems||Understand the basic structure of computer systems.|
|Class 2||Logic Design Exercise(1)||Logic Design Exercise(1)|
|Class 3||Hardware Description Language: Combinational Circuit||Understand the description of combinational circuits.|
|Class 4||Hardware Description Language: Sequential Circuit||Understand the description of sequential circuits.|
|Class 5||Logic Design Exercise(2)||Logic Design Exercise(2)|
|Class 6||Hardware Description Language: Typical Circuits||Understand the description of typical circuits.|
|Class 7||リコンフィギャラブルシステムとFPGAボードについて理解する。||Understand reconfigurable systems and an FPGA board.|
|Class 8||論理設計演習(3)||Logic Design Exercise(3)|
|Class 9||Instruction Set Architecture: Data Representation and Addressing||Understand data representation and addressing for ISA.|
|Class 10||Instruction Set Architecture: Arithmetic and Logic Instructions||Understand arithmetic and logic instructions for ISA.|
|Class 11||Logic Design Exercise(4)||Logic Design Exercise(4)|
|Class 12||Instruction Set Architecture: Load/Store and Branch Instructions||Understand load/store and branch instructions for ISA.|
|Class 13||Basic Components of Processor: Arithmetic and Logic Unit||Understand ALU.|
|Class 14||Logic Design Exercise(5)||Logic Design Exercise(5)|
|Class 15||Basic Components of Processor: Register File and Memory||Understand register file and memory.|
|Class 16||Datapath for Single Cycle Processor||Understand datapath for single cycle processor.|
|Class 17||Logic Design Exercise(6)||Logic Design Exercise(6)|
|Class 18||Control for Single Cycle Processor||Understand control for single cycle processor.|
|Class 19||Pipelining||Understand pipelining.|
|Class 20||Logic Design Exercise(7)||Logic Design Exercise(7)|
|Class 21||Pipeline Hazards and Data Forwarding||Understand pipeline hazards and data forwarding.|
|Class 22||Logic Design Exercise(8)||Logic Design Exercise(8)|
David A. Patterson, John L. Hennessy. Computer Organization and Design: The Hardware/Software Interface (Fifth Edition). Morgan Kaufmann.
Students will be assessed on their understanding of computer logic design and the ability to apply them to implement small computer systems with a hardware description language (HDL).
Students' course scores are based on exercise problems (30%) and a final examination (70%).
No prerequisites are necessary, but enrollment in the related course of Switching Circuit Theory is desirable.
Kise Kenji: kise[at]c.titech.ac.jp
Contact by e-mail in advance to schedule an appointment.