Quoted By:
Cool as iCE edition
>What is this and why would I care?
Field Programmable Gate Arrays (FPGA) are how poor-fags (<7f plebs) can design a complex IC and test it out.
You could design a fairly complicated IC for a small project and use the FPGA as an ASIC-lite (with a flash-storage PCB) or to use your design to get an actual IC etched yourself or in a group-funded chip print.
The basic process is: Program logic in an HDL -> Synthesis with Yosys -> nextpnr for routing/placing -> FASM to make .bit file.
You can also use vendor software from Xilinx etc, but it is very locked down. I would argue it's more convoluted as well.
>Open Source Toolchain
https://f4pga.readthedocs.io/en/latest/getting-started.html
Icestorm - Lattice Ice FPGAs, ice40 is very cheap and lots of dev boards.
Trellis - Lattice ECP5, relatively cheap with more power
X-Ray - Xilinx 7 series, Much more money, but lots of advanced features. Not 100% functionality supported with FOSS.
>Verilog/VHDL
Both work, Verilog is said to be easier to learn but VHDL is strongly-typed and harder to make shit code with. (So the saying goes)
General guides and references:
https://www.fpga4fun.com/HDLtutorials.html
Tutorial for cheaper boards (zero to risc-v):
https://github.com/BrunoLevy/learn-fpga/tree/master/FemtoRV/TUTORIALS
>Boards
Xilinx Artix-7: Digilent Arty A7, Basys 3, Nexys A7
ECP5: ECP5 Versa, TinyFPGA, ULX3S
Ice40: iCEstick, iCE40-HX8K, iCEVision Board
Other boards will work, but flashing them will be a few extra steps with openFPGALoader
This general may not make it past number 1, but I wanted to give it a chance since this process has been very interesting to me and few people seem to work with FPGAs at all.
Personally I have been using free online courses and textbooks to design a RISC-V core just as a learning project.
>What is this and why would I care?
Field Programmable Gate Arrays (FPGA) are how poor-fags (<7f plebs) can design a complex IC and test it out.
You could design a fairly complicated IC for a small project and use the FPGA as an ASIC-lite (with a flash-storage PCB) or to use your design to get an actual IC etched yourself or in a group-funded chip print.
The basic process is: Program logic in an HDL -> Synthesis with Yosys -> nextpnr for routing/placing -> FASM to make .bit file.
You can also use vendor software from Xilinx etc, but it is very locked down. I would argue it's more convoluted as well.
>Open Source Toolchain
https://f4pga.readthedocs.io/en/latest/getting-started.html
Icestorm - Lattice Ice FPGAs, ice40 is very cheap and lots of dev boards.
Trellis - Lattice ECP5, relatively cheap with more power
X-Ray - Xilinx 7 series, Much more money, but lots of advanced features. Not 100% functionality supported with FOSS.
>Verilog/VHDL
Both work, Verilog is said to be easier to learn but VHDL is strongly-typed and harder to make shit code with. (So the saying goes)
General guides and references:
https://www.fpga4fun.com/HDLtutorials.html
Tutorial for cheaper boards (zero to risc-v):
https://github.com/BrunoLevy/learn-fpga/tree/master/FemtoRV/TUTORIALS
>Boards
Xilinx Artix-7: Digilent Arty A7, Basys 3, Nexys A7
ECP5: ECP5 Versa, TinyFPGA, ULX3S
Ice40: iCEstick, iCE40-HX8K, iCEVision Board
Other boards will work, but flashing them will be a few extra steps with openFPGALoader
This general may not make it past number 1, but I wanted to give it a chance since this process has been very interesting to me and few people seem to work with FPGAs at all.
Personally I have been using free online courses and textbooks to design a RISC-V core just as a learning project.