This course focuses on digital hardware design for all major components of a modern, reduced-instruction-set computer. Topics covered include instruction set architecture; addressing modes; register-transfer notation; control circuitry; pipelining with hazard control; circuits to support interrupts and other exceptions; microprogramming; computer addition and subtraction circuits using unsigned, two's-complement, and excess notation; circuits to support multiplication using Robertson's and Booth's algorithms; circuits for implementing restoring and non-restoring division; square-root circuits; floating-point arithmetic notation and circuits; memory and cache memory systems; segmentation and paging; input/output interfaces; interrupt processing; direct memory access; and several common peripheral devices, including analog-to-digital and digital-to-analog converters. A mini-project is required.
525.642 FPGA Design using VHDL
Prior knowledge of a hardware description language for FPGA design may substitute for the prerequisite course(s).