Course catalog description: Hardware description, simulation, and synthesis using the Verilog language. Design methodologies for combinational and sequential logic circuits and systems. Characteristics of microprocessors, fault-tolerant computer design, computer arithmetic, and advanced state machine theory. Digital machine organization for testing and fault-tolerance.
Credits and contact hours: 3 credits; 1 hour and 20-minute session, twice a week, every week.
Pre-Requisite courses: 14:332:331, 351
Co-Requisite courses: None
Topics Covered:
- Fault Tolerance Fundamentals and Triple Modular Redundancy
- Advanced Combinational Logic Design
- Verilog Language - Standard Combinational Logic
- Verilog Language - Concurrency and Sequential Logic
- Verilog Language - Tri-State Logic, Examples
- State Machines – Timing Analysis, False Paths, Counters
- State Machines – Synthesis to Handle Timing Delays, Asynchronous Inputs
- Exam I, State Machine Synchronizers
- Fault Tolerance -- Time and Information Redundancy
- Fault Tolerance -- Parity, Arithmetic, Cyclic and Hamming Codes
- Computer Arithmetic, Wallace Tree Multipliers and Dividers
- Testing, Fault Modeling and Test Generation, Hourly Exam II
- Built-In Self-Testing, Design for Testability
- Packaging and Rapid Prototyping – Microprocessor Design
Textbook: P. Lala, Self-Checking and Fault-Tolerant Digital Design, Morgan Kaufmann Publishers; D. Thomas and P. Moorby, The Verilog Hardware Description Language, Springer; M. Bushnell and V. Agarwal, Essentials of Electronic Testing for Digital Memory & Mixed-Signal VLSI Circuits, Springer.