ECE 385
Digital Systems Laboratory

Displaying course information from Spring 2014.

Section Type Times Days Location Instructor
ABC LAB 1130 - 1420 T   234 Everitt Lab  Huan-Ting Meng
William Streyer
ABD LAB 1800 - 2050 T   234 Everitt Lab  Junle Qian
Bilal Gabula
ABE LAB 1500 - 1750 T   234 Everitt Lab  Huan-Ting Meng
Benjamin Delay
ABF LAB 0800 - 1050 W   234 Everitt Lab  Junle Qian
Xuandong Xu
ABG LAB 1200 - 1450 W   234 Everitt Lab  Yuqi Li
Bilal Gabula
ABI LAB 1500 - 1750 W   234 Everitt Lab  Yuqi Li
Benjamin Delay
ABL LAB 0800 - 1050 R   234 Everitt Lab  Xingqian Xu
Xuandong Xu
ABM LAB 1130 - 1420 R   234 Everitt Lab  Xingqian Xu
Xiao Ma
ABO LAB 1500 - 1750 R   234 Everitt Lab  Shuo Li
Xiao Ma
AL1 LEC 1500 - 1550 M   228 Natural History Building  Volodymyr Kindratenko

Web Page http://courses.engr.illinois.edu/ece385/
Official Description Design, build, and test digital systems using transistor-transistor logic (TTL), SystemVerilog, and field-programmable gate arrays (FPGAs). Topics include combinational and sequential logic, storage elements, input/output and display, timing analysis, design tradeoffs, synchronous and asynchronous design methods, datapath and controller, microprocessor design, software/hardware co-design, and system-on-a-chip. Course Information: Prerequisite: ECE 110 and ECE 220. Class Schedule Information: Students must register for one lab and one lecture section.
Subject Area Computer Engineering
Course Prerequisites Credit in ECE 290
Course Directors Rakesh Kumar
Detailed Description and Outline

This course is designed to give students in computer and electrical engineering an ability to design, build, and debug digital systems that may include microcomputers used as controllers.

Topics:

  • Combinational logic circuits
  • Storage elements
  • Hazards (malfunctions)
  • Circuit characteristics (loads, delays, etc.)
  • Simple combinational networks (adders, multiplexes, etc.)
  • Simple sequential networks (counters, shift registers, etc.)
  • Synchronous and asynchronous sequential machines
  • Processor and controller
  • Project using a microprocessor as a controller
Computer Usage
At different times during the term students may use a Pentium based personal computer and the appropriate software tools to design and simulate digital circuits. During the last 5 weeks the students use a microcomputer development system to program, debug, and if necessary, emulate a microprocessor-based project. 1. Nine experiments of increasing complexity covering first 8 topics. Groupsof 2 students use a protoboard to build their circuits and an I/O lab station, oscilloscope, logic analyzer, and pulse generator to debug and demonstrate their experiments. Programmable Logic Devises may be used in some experiments. 2. During the last 5 weeks, groups of 2 students choose, design, build, and debug some hardware to be controlled by a microcomputer programmed by them using the microcomputer development system.
Topical Prerequisities
  • Basic electronics laboratory experience
  • Ability to use oscilloscopes
  • Ability to design combinational and sequential circuits
  • An understanding of basic computer organization
  • Ability to edit simple assembly language programs
  • Texts
    Class Notes
    ABET Category
    Engineering Science: 10%
    Engineering Design: 90%
    Course Goals

    The course is required for both electrical and computer engineering students. The course is designed to give students in computer and electrical engineering ability to design, build, and debug digital systems. The first half of the course uses standard TTL chips, wires and a proto board. The second half of the course uses CAD tools to synthesize logic described in VHDL, which is then mapped to an FPGA.

    Instructional Objectives

    A. At the end of the first week (Experiment #1), the students should be able to do the following:

    1. Design, document, and build a logic circuit to eliminate the problems caused by “contact bounce” in a mechanical switch. (b, c)

    2. Detect and identify static hazards (glitches) in a logic circuit caused by delays in logic gates. (b)

    3. Design, document, and build additional logic circuitry to eliminate glitches in existing logic circuits. (b, c, e)

    4. Design, document, and build an input/output logic circuit with four ‘debounced’ switches and six LED’s (Light Emitting Diodes). (b, c)

    B. At the end of the second week (Experiment #2), the students should be able to do the following:

    1. Identify different types of digital storage elements (latches and flip-flops) and draw the corresponding timing diagrams. (b)

    2. Design, build, and test a flip-flop with a new given behavior, using logic gates. (b, c, e)

    3. Devise and perform tests to determine set-up and hold times in a given flip-flop. (b)

    C. At the end of the third week (Experiment #3), the students should be able to do the following:

    1. Design, document, build, and test a logic circuit that behaves as a shift register and also as a serial synchronous counter depending on the value of a signal called mode. (b, c)

    2. Build, document, test, and possibly improve a given logic circuit for a synchronous Gray Code counter. (b, e)

    3. Design, document, build, and use state detector logic circuits to identify possible erroneous states in a counter. (b, c)

    D. At the end of the fourth week (Experiment #4), the students should be able to do the following:

    1. Design, document, and build a shift-register storage unit using only the serial input and output of the registers. (b, c)

    2. Design, document, and build a storage unit using Random Access Memory (RAM) chips. This unit also must have the capability to detect single bit errors using a parity code. (a, b, c, e)

    E. At the end of the fifth week (experiment #5), the students should be able to do the following:

    1. Design, document, and build a self-starting asynchronous sequential machine that could be used as a controller for a robot platform that can halt, go straight, turn right, turn left, spin, and stop on error. (a, b, c, e)

    F. At the end of the sixth week (Experiment #6), the students should be able to do the following:

    1. Design, document, and build a bit-serial logic operation processor. (a, b, c, e)

    G. At the end of the seventh week (Experiment #7), the students should be able to do the following:

    1. Design, document, and build the same bit-serial logic operation processor as in F above, but this time using VHDL design tools and FPGA. (b, c, e, k)

    H. At the end of the eighth week (Experiment #8), the students should be able to do the following:

    1. Design, document, and build a synchronous 2’s complement 4-bit multiplier using VHDL and FPGA. The multiplier will use a simple add-shift algorithm to multiply two numbers. (a, b, c, e, k)

    I. At the end of the ninth week (Experiment #9), the students should be able to do the following:

    1. Design, document, and test a PS2 Keyboard protocol and a standard VGA protocol using VHDL and FPGA. (b, c, e, k)

    J. At the end of the tenth week (Experiment #10), the students should be able to do the following:

    1. Design, document, and build a simple 16-bit microprocessor using VHDL and FPGA. (a, b, c, e, k)

    K. At the end of the fourteenth week (Four Weeks Final Project), the students should be able to do the following:

    1. Propose, design, document, and build a digital system that is challenging and does something interesting. VHDL and FPGA are used in conjunction with A/D and D/A converters, LCD display panels, keyboards, joy sticks, speakers and VGA monitors. (a, b, c, e, k)

    Last updated: 5/23/2013