Lab Material for Chisel in Digital Electronics 2
This repository provides lab material for the Digital Electronics course (02139) at DTU. Although this lab is customized for the DTU course, it can also serve as introduction lab for digital design with Chisel.
The lab is based on: Digital Design with Chisel, by Martin Schoeberl.
To use this material you can: (1) download the repo as a .zip file, (2) clone the repo to have all material offline (using it also for your solutions), (3) fork the repo (and clone locally), to be able to contribute back with changes, or (4) simply just browse it online on GitHub.
Best is to have all the tools installed on your laptop, see also: Setup.md
We collect frequently asked questions in the FAQ.md.
Contributions: We are happily accepting contributions in the form of pull requests. Even the fix of a small typo is appreciated.
Lab Overview
The following list gives an overview of all lab sessions and assignments. For the Vending Machine related labs please show them to a TA to get a tick.
- Lab 1: Hello World in Chisel
- Lab 2: Combinational Circuits in Chisel
- Lab 3: Components and Small Sequential Circuits
- Lab 4: A Simple Tester
- Lab 5: Seven Segment Decoder and Test
- Lab 6: Multiplexed Seven-Segment Display
- Lab 7: Using an External Component: a Serial Port
- Lab 10: Testing the Vending Machine
- Lab 11, 12: The Vending Machine
Resources
- Setup.md installation instructions
- Basys3_Master.xdc constraint file for pin definition and clock
- IntelliJ for Scala
- Vivado WebPACK
- The Chisel Jupyter Notebooks An online introduction to the Scala language and Chisel.
- The Chisel Cookbook Large FAQ and introduction to Chisel
- Basys 3