Welcome to ENGR 210 ( CSCI B441 )

Spring 2019

This course provides a strong foundation for modern digital system design using hardware description languages. We start with basics of digital electronics and learn how digital gates are used to build large digital systems. We will practice modern digital system design by using state of the art software tools and implementation of the digital systems on a programmable hardware platform. At the end of the course, students will be familiar with modern approach for designing digital systems, using hardware description languages along with an appropriate methodology.


Lecture Slides

Autograder (Only accessible within IU)



Canvas (Registered students only)


P0 - Vivado Tutorial

P1 - Logic Gates

P2 - Demultiplexer

P3 - ALU

P4 - Countdown Timer

P5 - Elevator Controller


P7 - Calculator

P7b - Multiply / Divide

Course Schedule

This is the tentative schedule for this semester.

Date Day Lecture Topic Project Topic
1/8 Tuesday Intro / Logic  
1/10 Thursday Vivado Tutorial Basic Logic Gates
1/15 Tuesday Verilog Basics  
1/17 Thursday Decoders/Encoders Decoder / Demux
1/22 Tuesday Mux/Demux  
1/24 Thursday Adders / ALUs ALU
1/29 Tuesday ALUs / Latches  
1/31 Thursday Latches / Flops Timer
2/5 Tuesday Sequential Logic  
2/7 Thursday Finite State Machines Timer
2/12 Tuesday Finite State Machines  
2/14 Thursday Finite State Machines Elevator Controller
2/19 Tuesday Serial Communication  
2/21 Thursday Review Elevator Controller
2/26 Tuesday Exam I  
2/28 Thursday Serial Communication Elevator Controller
3/5 Tuesday Serial Communication  
3/7 Thursday Memory UART
3/12 Tuesday Spring Break  
3/14 Thursday Spring Break
3/19 Tuesday Memory  
3/21 Thursday FPGAS UART
3/26 Tuesday Circuits  
3/28 Thursday CMOS I Calculator
4/2 Tuesday CMOS II  
4/4 Thursday CMOS III Calculator
4/9 Tuesday NO CLASS  
4/11 Thursday Multiplication Calculator II
4/16 Tuesday Division  
4/18 Thursday CPU Calculator II
4/23 Tuesday CPU  
4/25 Thursday Review
4/30 Tuesday Final 10.15am - 12.15pm