ENGN1600: Design and Implementation of VLSI Systems


Instructor: R. Iris Bahar
Website: link

Course Description:

VLSI (Very Large Scale Integration) CMOS (Complementary Metal Oxide Semiconductor) technology is the main driver of our digital revolution. The goal of the course is to learn how to design and implement VLSI digital circuits and optimize them with respect to different objectives such as area, speed, and power dissipation. Design and analysis will be carried out using computer-aided tools. Prerequisite: ENGN 1630, or instructor permission.

ENGN1640: Design of Computing Systems


Instructor: Sherief Reda
Website: link

Course Description:

This course introduces the main concepts and techniques for designing computing systems. Topics covered include assembly language, instruction set design, pipelining, superscalar and VLIW processor design, memory subsystem design, and I/O interfacing. Laboratory topics include programmable logic devices, hardware definition languages, and implementation of a bootable version of the pipelined MIPS processor. Laboratory emphasizes design optimizations with respect to speed and design area. Prerequisite: ENGN 1630 or passing of a quiz on basic digital logic concepts, or instructor permission.

ENGN2530: Digital Signal Processing


Instructor: Harvey F. Silverman
Website: link

Course Description:

An introduction to the basics of linear, shift invariant systems and signals. Quantization and sampling issues are introduced. Discrete time and DFT properties, fast DFT algorithms, and spectral analysis are discussed. IIR and FIR digital filter design is a focus; stochastic and deterministic signals are introduced. MATLAB exercises are a significant part of the course.

ENGN2540: Speech Processing


Instructor: Harvey F. Silverman
Website: link

Course Description:

The basics for speech production and hearing are introduced. PDEs and simplified vocal-tract models are derived. LPC, DFT filterbank and time varying signal processing for speech recognition analysis are discussed in mathematical detail. Dynamic programming, vector quantization, hidden Markov modeling, and neural-network pattern recognition for speech are introduced. Offered every other year.

ENGN2911X: Reconfigurable Computing


Instructor: Sherief Reda
Website: link

Course Description:

Driven by recent innovations in Field-Programmable Gate Arrays (FPGAs), reconfigurable computing offers unique ways to accelerate key algorithms. FPGAs offer a programmable logic fabric that provides the necessary hardware and communication assets to exploit parallelism opportunities arising in various algorithms. By mapping algorithms directly into programmable logic, FPGAs accelerators can deliver 10X-100X performance increases over generic processors for a large range of application domains. The class will describe FPGA architectures, reconfigurable systems, languages (SystemC) and design tools. The class will show a class of algorithmic techniques (e.g., dynamic programming) that are particularly attractive targets for reconfigurable computing. Mapping specific algorithms from different domains will also be described. These include computer vision, image and signal processing, network security, and bioinformatics algorithms. The class requires basic hardware and programming languages knowledge.

ENGN2912E: Low Power VLSI System Design


Instructor: R. Iris Bahar
Website: link

Course Description:

This course deals with the design of digital systems for low power dissipation. Issues that will be addressed include CMOS power dissipation, analysis and design tools used for lower power digital circuits, design methodologies for low power CMOS circuits, low power architecture designs, and a discussion on future challenges in low power digital design. Prerequisites: familiarity with basic MOSFET structure and computer architecture principles; some circuit analysis helpful.

ENGN2912C: Future Directions in Computing


Instructor: Sherief Reda
Website: link

Course Description:

Silicon-based electronics is the foundation of computing devices. The computer industry is reaching an important milestone, where physical limits arising from using optical lithography manufacturing techniques can stop the evolution of computational power as predicted by Moore's law. In this class, we explore some of the alternatives that can be used for future computing devices. Topics covered include: quantum computing, bio-based computing, spin-based computing, nanotube-based computing, computing with light and 3D chips.