Agile Hardware Design
Overall Course Objectives
Agile hardware design with Chisel (Constructing Hardware in a Scala Embedded Language) is a specialized course that focuses on using the Chisel hardware description language (HDL) as part of the agile hardware design process. Chisel is a modern hardware description language that enables designers to create digital circuits with concise, high-level code that is easier to write and maintain than traditional HDLs.
The course covers the following topics:
1. Introduction to Agile Hardware Design with Chisel: an overview of agile design in general and hardware design and the Chisel HDL, including its syntax, features, and benefits.
2. Agile Hardware Design Process with Chisel: agile hardware design process using Chisel, including requirements gathering, design, prototyping, testing, and deployment.
3. Chisel Design Patterns: design patterns and idioms used in Chisel, such as generators, parameterization, and functional abstraction.
4. Verification of Designs: Verification with Chisel Test, test-driven development, continuous integration, formal verification.
5. Agile Hardware Design Case Studies: a project of a real-world hardware design project that uses Chisel and agile methodologies, providing students with practical examples of how to apply these concepts in their work.
Overall, the course will provide the students with a comprehensive understanding of agile hardware design with Chisel, enabling them to design and implement complex digital circuits with greater speed, flexibility, and efficiency.
See course description in Danish
Learning Objectives
- Understanding the principles of agile design and how they apply to hardware development using Chisel.
- Familiarity with the Chisel HDL, including its syntax, features, and benefits.
- Knowledge of the agile hardware design process, including requirements gathering, design, prototyping, testing, and deployment.
- Mastery of Chisel design patterns and idioms, such as generators, parameterization, and functional abstraction.
- Proficiency in using Chisel libraries and tools, such as the Rocket Chip generator, the Chisel test harness, and the Verilog emitter.
- Ability to design and implement complex digital circuits using Chisel and agile methodologies.
- Exposure to real-world case studies of agile hardware design with Chisel, providing practical examples of how to apply these concepts in professional contexts.
- Write a technical report that documents the project work.
Course Content
Circuit generator, object-oriented and functional hardware design, test-driven development, system-on-chip and interconnect, verification of digital systems
Possible start times
- 36 – 49 (Tues 13-17)
Teaching Method
Lectures, group work, and home work. Mandatory laboratory exercises.



