Description
This course introduces the students to the design, prototyping, and verification of sophisticated digital systems using hardware description languages. The focus of the course will be on the development of modular digital designs and their architectural explorations to meet timing, area, and power design specifications and to use IP cores to design advanced digital systems. Examples of digital systems covered in the course include codecs, memory controllers, bus interfaces, and various accelerators such as crypto and linear algebra modules. The FPGA prototyping of such advanced digital systems will also be covered as part of the course lab assignments.