EEC183 - Testing and Verification of Digital Systems

5 Units - Winter Quarter

Lecture: 3 hours

Lab: 6 hours

Prerequisite: EEC170, EEC180B

Grading: Letter

Catalog Description: Computer-aided testing and design verification techniques for digital systems; physical fault testing; simulation-based design verification; formal verification; timing analysis.

Relationship to Outcomes:
Students who have successfully completed this course should have achieved:

Course Outcomes ABET Outcomes
An ability to apply knowledge of mathematics, science, and engineering A
An ability to design and conduct experiments, as well as to analyze and interpret data B
An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability C
An ability to function on multidisciplinary teams D
An ability to identify, formulate, and solve engineering problems E
An ability to communicate effectively G
An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice. K

Expanded Course Description

  1. Introduction
    1. System Development
    2. Faults and Errors
    3. Lifetime Verification
    4. Logic Simulation
  2. Physical Fault Testing
    1. Fault Modeling
    2. Fault Simulation
    3. Automatic Test Generation
  3. Simulation-Based Design Verification
    1. Error Simulation
    2. Coverage Metrics
    3. Hardware Emulation
    4. Error Modeling
    5. Automatic Test Generation
  4. Formal Design Verification
    1. Theorem Proving
    2. Equivalence Checking
    3. Model Checking
  5. Timing Verification
    1. False Paths
    2. Timing Constraints

Textbook: M. Abramovivi, M. Breuer, and A. Friedman, Digital Systems Testing and Testable Design, Wiley-IEEE Press.


  • C.Roth, Jr., Digital Systems Design Using VHDL, PWS publishing company
  • A selected set of tutorial papers.

Computer Use: The class requires extensive use of computer workstations.

Laboratory Projects:
The course contains a number of team projects with 2-3 students per team:

  1. CAD Tools Tutorials
  2. INFINITY Processor: Design
  3. INFINITY Processor: Component Testing
  4. INFINITY Processor: Scan Testing
  5. INFINITY Processor: Design Verification

Engineering Design Statement:
The course involves the design, implementation, verification, and testing of digital systems. The students use several tools for design entry, logic simulation, logic optimization, logic and fault simulation, design verification, and timing analysis. The course mimics modern design methodologies using hardware description languages and has a significant design content.

Overlap Statement: There is no undergraduate course that has a significant overlap with this course

Professional Component: Engineering Depth, Laboratory
Engineering Science: 3 units
Engineering Design: 2 units