This repo houses a collection of projects on FPGA boards that I've used. These are:
- the iCEBreaker FPGA
- the TangNano 9kandand
- the Xilinx Zynq-7000
Most projects use the open source suite of tools for simulation, synthesis and place-and-route. All code written by me, unless specified otherwise.
- Source the OSS CAD suite environment:
source $CAD_SUITE_DIR/oss-cad-suite/environment
ASIC/FPGA is a tricky world to get into. Though it's far more accessible nowadays than it used to be, it still manages to hide under the radar for most. Over the years, I've made use of some really helpful resources on this topic and I'm leaving them down below for future me.
- Verilog by Example: a concise introduction (Blaine Readler)
- https://www.asic-world.com/verilog/index.html
- https://hdlbits.01xz.net/wiki/Main_Page
- The Verilog Language—A Learner’s subset (David J. Greaves)
- Coding Guidelines for Datapath Synthesis (Synopsys)
- Modern System-on-Chip Design on Arm (David J. Greaves)
- The Design Warrior's Guide to FPGAs (Clive Maxfield)
- https://github.com/fjullien/migen_litex_tutorials/blob/main/training_v1.0.pdf (a quick primer)
- https://yosyshq.readthedocs.io/projects/yosys/en/latest/getting_started/example_synth.html
- A Complete Open Source Design Flow for Gowin FPGAs (de Vos)
- https://lawrie.github.io/blackicemxbook/
- https://learn.lushaylabs.com/getting-setup-with-the-tang-nano-9k/
- Patterson & Hennessy
- Harris & Harris
- All Aboard (article series by Palmer Dabbelt)