Course Schedule and Assignments


Approximate Weekly Rhythm

Each week, you can expect roughly the same rhythm of assignment due dates. Some weeks

Office Hours

Join the office hours queue at Queue@Illinois Conceptual office hours are on Zoom. For lab office hours, join the office hours queue with the Zoom room you are in and we will come to you.

Week Date Assignments (Labs, Preflights, and GROUP)
Week 1 [1/24-1/30] Lab 1 Boolean Logic and Verilog
Monday - 01 Boolean Functions, Gates, and Truth Tables
Wednesday - 02 Combinational Logic Design
Week 2 [1/31-2/6] Lab 2 Building an ALU
Monday - 03 Build an ALU
Wednesday - 04 Finite State Machines
Week 3 [2/7-2/13] Lab 3 Finite State Machines
Monday - 05 Decoders, Registers, and Register Files
Wednesday - 06 Datapaths and Control
Week 4 [2/14-2/20] Lab 4 Building a basic processor
Monday - 07 The Arithmetic Machine and Instruction Memory
Wednesday - Day off
Week 5 [2/21-2/27] Lab 5 Building a complete processor
Monday - 08 Control and Loops
Wednesday - 09 MIPS Loads & Stores
Week 6 [2/28-3/6] Lab 6 Basic Programming in MIPS
Monday - 10 Assembly and Functions
Wednesday - 11 Pointers and More Assembly
Week 7 [3/7-3/13] Lab 7 Advanced MIPS
Monday - 12 Recursion
Wednesday - 13 IO and interrupts
Week 8 [3/14-3/20] Lab 8 Input/Output
Monday - 14 Performance
Wednesday - 15 Pipelining and Forwarding
Week 9 [3/21-2/27] Lab 9 Controlling the SPIMbot
Monday - 16 Sundry (NO GROUP ASSESSMENT, NO ATTENDANCE)
Wednesday - Day off
Week 10 [3/28-4/3] Lab 10 Pipelining and Performance
Monday - 17 Stalls and Flushes
Wednesday - 18 Pipeline Cycle Counting Review Session
Week 11 [4/4-4/10] Monday - 19 Cache blocks
Wednesday - 20 Cache associativity
Week 12 [4/11-4/17] Lab 11 Cache Simulator
Monday - 21 Cache memory access patterns (TUESDAY DAY OFF)
Wednesday - 22 cache writing/prefetching (OPTIONAL ATTENDANCE)
Week 13 [4/18-4/24] Lab 12 Cache Conscious Code
Monday - 23 Cache concious code
Wednesday - 24 Cache concious code
Week 14 [4/25-5/1] Lab 13 SIMD
Monday - 25 Virtual Memory
Wednesday - 26 SIMD
Week 15 [5/2-5/5] Lab 14 SPIMbot competition
Monday - 27 Cache Coherence
Wednesday - SPIMbot competition day (NO GROUP ASSESSMENT, NO ATTENDANCE)
Final Exam Week [5/6-5/14] Exam Dates TBA

Video Playlists

MediaSpace

Class Transcribe

Lab Due Dates and Resources


Lab I-Introduction to Verilog and Tools

Lab II-Building an ALU

Lab III-Combinational and Sequential Design

Lab IV-The Arithmetic Machine

Lab V-The Complete Processor

Lab VI-Control Flow and Calling Conventions

Lab VII-Pointers and Recursion

Lab VIII-IO and Interrupts

Lab IX-SPIMbot interrupts

Lab X-Pipelining

Lab XI-Cache Simulator

Lab XII-Cache Conscious Code

Lab XIII-SIMD

Lab SPIMBot