This is a sample of the course Digital Systems 101 which is open to everyone to see what this online course covers, and how it works.  This abbreviated version is intended to allow potential students to determine if this online course is right for them, and to allow a "test drive" before committing to signing up for the full Digital Systems 101 course.

Description:  Modeling, design and analysis of digital systems using integrated circuits, primarily using FPGAs (Field Programmable Gate Arrays) at the gate level.  Students will learn how to  design and implement combinational and sequential logic, using current computer aided design tools. Includes hands-on design and development of digital integrated  logic circuits.  Schedule: Summer session: 6 weeks, Fall/Spring: 15 weeks

Prerequisites: College Algebra or equivalent with instructor's permission

The design of complex Digital Systems, using the Verilog HDL (Hardware Description Language) to implement digital chip designs in an FPGA (Field Programmable Gate Array).  This course picks up where Digital Systems 101 leaves off, with an emphasis on practical digital design using Verilog to create complex digital systems and integrate custom designs with existing IP (Intellectual Property) building blocks.

This is the laboratory course that should be taken with Digital Systems 201.  This lab continues with assignments that are completed using Verilog HDL, giving students hands-on exposure to advanced development tools and processes for the design and verification of complex HDL-based designs and test benches.

Microcontrollers have proliferated in products ranging from toasters to the space shuttle. As a result, the need for the skill required to design embedded intelligence is increasing.  This course prepares the student to design reliable embedded microprocessor and microcontroller based hardware.  The course uses a popular microcontroller to illustrate hardware design topics.  General topics include: device architecture, memory, I/O, and design and development techniques.  Specific subjects include: processor bus interfacing, worst case noise margin, loading and timing, design verification, address decoding and simple programmable logic.  Emphasis is placed on verification of design quality by worst-case analysis.  The detailed electrical and architectural aspects of microprocessors and microcontrollers will be discussed, with application examples.  A student project provides practical experience with the subject material.  This course is intended for practicing scientists, engineers, programmers and technicians who need to understand embedded controller hardware. 

This hands-on course covers the practical hardware and software techniques used to connect a microcontroller to various peripheral devices used in embedded systems. The course begins with a brief review of digital interfacing, and focuses on the following topics: parallel interfaces, isolated I/O, async and synchronous serial data transmission (RS-232, -422, -485), simple sensors and actuators. The interfaces covered include keyboards, displays, multiplexing, bus interfacing, analog-to-digital and digital-to-analog converters, I2C, DMA, sensors, actuators, and other peripheral devices. Practical exercises give the student hands-on experience.

 Prerequisite: Embedded Controller Programming 101, and Embedded Controller Programming 102.