Learn to program a FPGA using Verilog and VHDL
Some weeks ago I bought a TinyFPGA BX which uses the Lattice iCE40. The iCE40 is the first FPGA where the bitsteam was reverse engineered and a complete open source tool-chain is available.
Unfortunately the complete tool-chain is not available for openSUSE. There is the project hardware:FPGA in the build service but it lacks some parts, e.g. nextpnr and GHDL. Luckily most parts - if not all - are available in home projects.
The project has three goals:
Learn Verilog and VHDL
Extend hardware:FPGA so that the complete tool-chain for the TinyFPGA BX is available - both for Verilog and VHDL
Let the world know about hardware:FPGA
Using the OBS project home:javispedro:fpgatools it was easy to get started with some tutorials (e.g. vhdlwhiz). I created simple programs, e.g. blinking and pulsing LEDs, both in Verilog and VHDL and even mixing them. I also managed to use the PLL to get higher frequencies, e.g. 50 MHz from the 16 MHz oscillator of the board. For VHDL I also created test-benches and viewed the results in gtkwave.
This project is part of:
Hack Week 20
This project is one of its kind!