50.002 FPGA Tutorials
We are using Alchitry Au FPGA Development Board in this course. To facilitate learning and development, we purchased the Br breakout board (prototyping periphery) and the Io expansion board.
It is crucial that you start familiarising yourself with coding the FPGA right away after you obtain the kit. Failure to do so will result in inevitable sufferings towards the end of the semester, which we do not want you to go through. This is unlike any programming subjects that you have learned in previous terms.
The FPGA tutorials are written in Lucid programming language, specifically Lucid V2 programming language.
- Product description, schematics for: Au, Io, and Br.
- The Br reference schematic is different from original Alchitry due to our custom PCB. Use our NEW one here.
- Please DO NOT use Alchitry original Br, the schematic is DIFFERENT (see below)
- Lucid V2 documentation: : We will program the FPGA using Lucid, not Verilog. However, you can choose to program it using Verilog if you have prior experience.
Sample Code
You can see our instructor Github repo (TBC) on more sample Au Projects. This repo contains many small alchitry projects for your reference. Checkout the other repositories as well that contains specific code for other drivers:
- WS2812B (TBC)
- HUB75 RGB LED Matrix (TBC)
- 75HC595 Shift Register (TBC)
- MAX7219(TBC)
If you’re looking for 1D project sample for 50.002, checkout this repository.
More material that are recommended:
- Background tutorial
- Your First FPGA Project and external IO setup
- Synchronous Logic (Related to Week 3 materials)
- Io Element Project
- ROM and FSMs Project (Related to Week 2-5 materials)
- Basic CPU (Related to Beta CPU)
- DDR3 RAM (intermediate)
Br Board Schematic
This is our Br Board schematic:
Notice how it is different from the schematic uploaded on Sparkfun: