4 ms·
Awesome Lattice FPGA Boards
- analog31 5y agoWhat would folks recommend for a beginner (electronics and coding experience but new to fpga)? Prefer open source toolchain if possible. Not too expensive. Starter tutorials would be nice.
- krasin 5y agoTinyFPGA BX ([1]) and nmigen/yosys as the fully open source toolchain for generating logic with Python and formally verifying it ([2], [3]). There is a good nMigen tutorial by Robert Baruch ([4]. [5]). Alternatively, if you really want to try Verilog first (not a bad idea), I enjoyed reading a book "Designing Video Game Hardware in Verilog" ([6]). 1. https://tinyfpga.com/ https://tinyfpga.com/ 2. https://m-labs.hk/gateware/nmigen/ https://m-labs.hk/gateware/nmigen/ 3. http://www.clifford.at/yosys/ http://www.clifford.at/yosys/ 4. https://github.com/RobertBaruch/nmigen-tutorial https://github.com/RobertBaruch/nmigen-tutorial 5. https://www.youtube.com/watch?v=85ZCTuekjGA&list=PLEeZWGE3PwbbjxV7_XnPSR7ouLR2zjktw https://www.youtube.com/watch?v=85ZCTuekjGA&list=PLEeZWGE3Pw... 6. https://www.amazon.com/gp/product/1728619440/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 https://www.amazon.com/gp/product/1728619440/ref=ppx_yo_dt_b...
- edwinbalani 5y agoWorth knowing that are two "nmigen"s nowadays - the one originated in M-Labs and one under a project also called nmigen: https://github.com/nmigen/nmigen https://github.com/nmigen/nmigen It's a fork, made for reasons, but more actively developed. whitequark (long time author/contributor) works on this fork, and no longer the M-Labs version.
- krasin 5y agoOh! I was not aware of that development. Yes, please, use the github version.
- bb88 5y agoRobert Baruch has a good tutorial where he writes a 6502 nMigen here: https://github.com/RobertBaruch/n6800 https://github.com/RobertBaruch/n6800
- tmitchel2 5y agoI went for a ULX3S to try and learn spinalHDL. I find it much easier to understand than vanilla verilog, however it still is a steep learning curve...
- 555dreams 5y agoTo iterate on what other people have been saying, nMigen is great! But I probably wouldn't learn it as my first intro to HDLs because in my opinion it's best thought of as a macro-generator for Verilog. I'd first go through the HDLbits online tutorials for Verilog (https://hdlbits.01xz.net/wiki/Problem_sets https://hdlbits.01xz.net/wiki/Problem_sets). They're a nice interactive intro to Verilog (and HDLs in general) and can be simulated directly in your browser without having to download any software. Even if you only plan to write nMigen, learning Verilog will be helpful when you inevitably need to inspect the nMigen generated Verilog.
- sneak 5y agoAFAIK the Lattice stuff is the only option if you want a full open source toolchain.
- krasin 5y agoTwo options, actually: Lattice and QuickLogic
- stefanpie 5y agoI would say if you have the money for it, the Icebreaker FPGA dev board is really nice and integrates with the open source tools well. When prototyping I either use Verilog + Iverilog for simulation + yosys and icestrom tools for building, or more recently, I've been messing around with the active nmigen fork for python and doing design and simulation all in there which also links to the other tools for build as well. Honestly what software you like just depends on what you find best.
- bb88 5y agoI recommend NMigen instead of verilog. There's some good resources to look if you're trying to get into nmigen. Here's a 6502 written in Nmigen. https://github.com/mmagm/m6502 https://github.com/mmagm/m6502
- deleted 5y ago[deleted]
- pieterk 5y agoAnyone here worked with MIT licensed SymbiFlow or any of the QuickLogic EOS S3 FPGAs? https://learn.sparkfun.com/tutorials/quicklogic-thing-plus-eos-s3-hookup-guide https://learn.sparkfun.com/tutorials/quicklogic-thing-plus-e...
- 555dreams 5y agoI have! SymbiFlow is very good for being a FOSS hardware toolchain, sometimes it has trouble with peculiar FPGA primitives but it's nothing you can't work around. I've hacked around with my EOS S3 board less than my other boards (mostly because if I need a CPU I'll just add a VexRiscv soft-core in a regular FPGA), but I can definitely see it's use case if you'd like to accelerate sections of your software without building the entire design on an FPGA.
- rowanG077 5y agoTry out Clash: https://github.com/clash-lang/clash-compiler https://github.com/clash-lang/clash-compiler Honestly I think it's maybe the best way to write new digital circuits today. I tried nMigen but it doesn't seem suited to write local in at all. It's easy to connect things together but actually writing something is a PITA.