Clash @ ZuriHac 2019
Clash tutorial
We’ll be running a small tutorial where you will learn the basics of Clash, and hardware design, by building a stack-based CPU (think Forth). Hopefully (see the next point for why) by the end of the weekend we will get to configure an actual FPGA with your designs.
To prepare, have the following installed on your machine:
cabal
, at least version 2.4 (stack
should also work)ghc
, at least version 8.4.*
Then clone the Clash git repo:
git clone https://github.com/clash-lang/clash-compiler.git
And run cabal new-build all
in the directory (stack build
should also work). And after that to confirm everything is working:
cabal new-run clashi
or
stack exec clashi
MiniZed project setup
We will have (at least) one MiniZed FPGA development kit with us. This is a fairly feature-complete kit:
- Xilinx Zync ARMv7 CPU + FPGA System-on-Chip,
- 512 MB DRAM, 8GB Flash,
- WiFi+BlueTooth,
- Arduino-shield and 2 PMOD headers;
- and also relatively inexpensive at $89.
We hope to have it mostly setup before ZuriHac for easy Clash deployment, but could probably do with some help with further automation.
This will then serve as a basis for other Clash Board Support Packages (BSPs). I will try to get this running while people are doing their exercises; any help from someone with (intimate) knowledge of Xilinx Vivado/SDx would be greatly appreciated.