Digital Fundamentals

This course introduces the student to the broad topic of digital electronics and hardware-software digital systems. Starting with a theoretical foundation in Boolean logic, binary arithmetic, combinational and sequential circuits, the course develops a comprehensive overview of the technologies used to implement logic functions, namely discrete electronics, field programmable gate arrays (FPGA) and microcontrollers (MCU). The course also offers a brief overview of logic synthesis using the Verilog hardware description language. Extensive use of simulation software allows students to observe the behaviour of logic networks and predict outcomes. Troubleshooting is integral to the course - students are expected to identify and correct design problems, wiring faults, programming errors and software misconfigurations. In the laboratory, students will assemble circuits on prototyping boards and program and test digital functions with a variety of technologies including FPGAs and MCU. Students will demonstrate their understanding of the subject matter with a practical project at the end of the course.