CS-173 / 7 credits

Teacher: Stojilovic Mirjana

Language: English


Summary

Welcome to the introductory course in digital design and computer architecture. In this course, we will embark on a journey into the world of digital systems, exploring the fundamental principles and concepts that underpin modern computing technology.

Content

Keywords

  • number systems, logic gates, digital logic, delay, frequency, power, arithmetic circuits, combinational circuits, sequential circuits, finite state machines
  • memory, computer organization, CPU, FPGA, GPU, TPU
  • RISC-V ISA
  • Logisim-Evolution, Verilog, Icarus Verilog, GTKWave, Visual Studio Code

Learning Outcomes

By the end of the course, the student must be able to:

  • Analyze the behavior of a digital circuit
  • Describe digital systems in Verilog
  • Design and test digital systems
  • Explain basic components of a computer
  • Create fully functional digital systems, including a simple CPU
  • Realize a fully functional piece of RISC-V assembly code
  • Describe the functionality of a piece of RISC-V assembly code
  • Characterize various number systems
  • Reason about the factors affecting the performance of digital systems
  • Describe various domain-specific architectures
  • Describe the importance of reduced-precision computing
  • Design common arithmetic circuits
  • Describe field-programmable gate arrays

Transversal skills

  • Use both general and domain specific IT resources and tools
  • Assess one's own level of skill acquisition, and plan their on-going learning goals.
  • Communicate effectively, being understood, including across different languages and cultures.
  • Continue to work through difficulties or initial failure to find optimal solutions.

Teaching methods

  • Ex cathedra
  • Flipped classroom
  • Exercices

Expected student activities

  • Attending the course and exercise sessions
  • Completing the assignments
  • Participating in the discussion on the forum

Assessment methods

  • Midterm exam (written)
  • Final exam in the exam session (written)

Supervision

Office hours Yes
Assistants Yes
Forum Yes

Resources

Virtual desktop infrastructure (VDI)

Yes

Bibliography

  • John F. Wakerly (2018), Digital Design Principles and Practices with Verilog (5th ed.), Pearson
  • Stephen Brown and Zvonko Vranesic (2014), Fundamentals of Digital Logic with Verilog Design (3rd ed.), McGraw-Hill
  • Milos D. Ercegovac and Tomas Lang (2004), Digital Arithmetic, Morgan Kauffmann Publishers
  • David Patterson and John Hennessy (2020), Computer Organization and Design RISC-V Edition: The Hardware Software Interface (2nd ed.), Morgan Kauffmann Publishers
  • David Patterson and Andrew Waterman (2017), The RISC-V Reader: An Open Architecture Atlas (1st ed.), Strawberry Canyon LLC

Ressources en bibliothèque

Moodle Link

Prerequisite for

CS-200 Computer Architecture

In the programs

  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Fundamentals of digital systems
  • Lecture: 3 Hour(s) per week x 14 weeks
  • Exercises: 4 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Fundamentals of digital systems
  • Lecture: 3 Hour(s) per week x 14 weeks
  • Exercises: 4 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: Written (summer session)
  • Subject examined: Fundamentals of digital systems
  • Lecture: 3 Hour(s) per week x 14 weeks
  • Exercises: 4 Hour(s) per week x 14 weeks

Reference week

 MoTuWeThFr
8-9     
9-10     
10-11     
11-12     
12-13     
13-14INM202
CO1
    
14-15  INM200
CO1
 
15-16INF2
INF1
INF3
  INF2
INF1
INF3
 
16-17   
17-18     
18-19     
19-20     
20-21     
21-22     

Monday, 13h - 15h: Lecture INM202
CO1

Monday, 15h - 17h: Exercise, TP INF2
INF1
INF3

Thursday, 14h - 15h: Lecture INM200
CO1

Thursday, 15h - 17h: Exercise, TP INF2
INF1
INF3

Related courses

Results from graphsearch.epfl.ch.