Material for the Agile Hardware Design Course at DTU.
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.
This course is designed for students who have a background in digital design and are interested in learning how to apply agile methodologies to hardware design using Chisel. The course will cover the principles of agile hardware design, the Chisel HDL, and how to use Chisel to create efficient, flexible, and maintainable hardware designs.
The course covers the following topics:
-
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.
-
Agile Hardware Design Process with Chisel: agile hardware design process using Chisel, including requirements gathering, design, prototyping, testing, and deployment.
-
Chisel Design Patterns: design patterns and idioms used in Chisel, such as generators, parameterization, and functional abstraction.
-
Verification of Designs: Verification with Chisel Test, test-driven development, continuous integration, formal verification.
-
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 via generators.
- Install the tools as described in Setup.md.
- Test the installation with the lab0 example design and test.
- Instructor: Martin Schoeberl
- Email: masca@dtu.dk
- When: Tuesdays 13:00-17:00
- Place: 324.020
- Slides
- Labs from the Digital Electroncs 2 course: Chisel Lab 2 and Chisel Lab 3
- Slides in DTU Learn
- Lab: Clash Lab on DTU Learn
- Slides
- Project presentations
- Slides
- Install Spade, see Spade Setup
- Lab: [https://docs.spade-lang.org/agile/intro.html]
- Slides
- Lab: Project presentation and demo
- Computer Vision for image classification
- Sha-256 hasher
- Random Number Generation
- Real-time Mandelbrot fractal visualization
- Chisel sound effects
- Chisel checkers
- GPU-Like Vector Processor
- FFT Core
- We have a Chisel version of the Chattutor project.
- The New New Product Development Game by Hirotaka Takeuchi and Ikujiro Nonaka, Game. Harvard Business Review, Jan./Feb. 1986: 285–305.
- Scrum: The Art of Doing Twice the Work in Half the Time by Jeff Sutherland and J.J. Sutherland.
- Agile Manifesto