Computer Science and Engineering

CSE 228A Agile Hardware Design

Agile Hardware Design techniques take the best of software engineering methods and apply them to improve hardware design productivity. Agile approaches not only reduce the time to solution, but they can also produce solutions which are better tailored for their target problems. In this synchronous in-person course, these techniques are covered while taking advantage of the Chisel hardware design language which brings the strengths of functional object-oriented programming to hardware design. Course consists of engaging lectures (intermixed coding demos and guest speakers) and progressive design assignments that culminate in a small project.


Prerequisite(s): equivalent experience in at least two of the following three areas: logic design (Verilog/VHDL e.g. CSE 100/CSE 100L or CSE 125/CSE 125L), computer architecture (CSE 120/CSE 220), advanced programming (functional, object oriented, etc.). Enrollment is restricted to graduate students; open to advanced undergraduates with instructor consent.