Teaching

ENGG3640: Microcomputer Interfacing

Offerred: Fall (Current - F13)

ENGG3640 course teaches microcontroller interfaces for computer engineering and system and computing engineering streams. The course covers: theory related to the protocols and the functionality of interfaces; theory related to the various applications of microcontrollers; programming of interfaces (interfaces need to be programmed and the control of interfaces requires low level programming) using ARM assembly language and C.  The lectures use various references as outlined in the course description. For the laboratory experiments I have developed a new laboratory manual that contains labs targeting the base board TWR-K60D100M (Kinetis K60 from Freescale). Lecture notes, lab manual and all other course resources are posted on the University of Guelph CourseLink System. You are responsible to check regularly the CourseLink system: CourseLink

ENGG4420/ENGG6550: Real-Time Systems Design/Intellingent Real-Time Systems

Offerred: Fall (Current - F04)

Real-time systems design (ENGG4420) is a course that teaches real-time concepts from a system and computing perspective. The material presented in this course covers to various levels of detail the following topics: system modeling, real-time data acquisition, hard and soft real-time system concepts for real-time computer control; formal real-time systems design and analysis techniques (process-based, event-based); real-time operating system (RTOS) concepts for embedded and industrial applications; real-time programming using current embedded RTOS kernels; real-time scheduling concepts for real-time digital controllers; real-time scheduling algorithms for multiprocessor and uni-processor systems; system analysis of discrete systems using Z-transform; design and analysis of real-time digital controllers and digital control tasks; safety and reliability issues in real-time systems. The laboratory uses STM32 based embedded boards loaded with µC/OS-III and FreeRTOS kernels. Lecture notes, lab manual and all other course resources are posted on the University of Guelph CourseLink System. ENGG6550 is the graduate course version of engg4420. The graduate version of the course will have additional research related requirements. You are responsible to check the CourseLink system regularly: CourseLink 

ENGG4560/ENGG6600: Embedded Systems Design/Advanced Topics in Embedded Systems Design

Offerred: Winter (Current - W13)

ENGG4560 teaches topics in computer systems design, particularly related to system-on-chip (SOC) design and embedded systems design. The laboratories for this course complement these topics by targeting high level embedded system design tools and popular development kits such as Cyclon V SOC development kit and others. The course also uses HDL for synthesis, focusing on Verilog, System Verilog, and Gezel. Lecture notes, lab manual and all other course resources are posted on the University of Guelph CourseLink System. The ENGG6600 is the graduate version of the engg4560 course. The graduate version of the course will have additional research related requirements. You are responsible to check the CourseLink system regularly: CourseLink 

ENGG4550: VLSI Systems Design

Offerred: Winter (W19 - W04)

The purpose of this course is to introduce the principles of VLSI CMOS digital design from a circuit and system perspective. In the first part of the course students will learn the basics of the CMOS transistors and how to use them to build more complex circuits such as inverters, gates, latches, register, adders, and multipliers. Circuit design issues related to performance and area will be presented along various aspects of nanoscale integration specific to 65 nm and 45 nm process technology. Power issues related to each level of design abstraction will be presented. Also, issues related to voltage scaling and power to speed trade-offs will be introduced. By the end of this part the students will be able to implement and simulate, for functionality and power consumption, using Cadence tools, various arithmetic logic modules. In the second part various system level topics will be covered including sequential circuit design, memories, datapath subsystems, and special purpose systems. Lectures will be supplemented with 4 tutorial/laboratory designs and a project that cover design and layout of simple custom circuits using Cadence environment for 45 nm CMOS technology process and system level design using various CAD tools. Lecture notes, lab manual and all other course resources are posted on the University of Guelph CourseLink System.You are responsible to check the CourseLink system regularly: CourseLink