9 ms·
FPGA Dev Boards for $150 or Less
- cwmoore 3y agoSo FPGA prices have come down to hobbyist levels. Would someone point me toward hobbyist-level resources for programming such a device? Or is toying with machine code simply too tedious for achieving substantial results? My interest in these stems from the potential to hardwire inner-loop procedures that would otherwise have run atop a stack of multi-million LOC abstractions.
- ghaff 3y agoThere's various open source work going on, e.g. at Boston University (https://www.bu.edu/rhcollab/projects/software-hardware/fpgas/ https://www.bu.edu/rhcollab/projects/software-hardware/fpgas...) but it's still pretty much at the research level.
- proto_lambda 3y agoYosys and nextpnr have been production-ready for years, they handle your average hobbyist FPGA project just fine (and 1-2 orders of magnitude faster than the vendor tools).
- rjsw 3y agoWhat do you consider "hobbyist-level resources"? The tools to take you from HDL (Verilog or VHDL) to a bitstream to load into the device are typically free to download.
- kevin_thibedeau 3y agoThey were at hobbyist levels 15 years ago when Spartan-3 came out. Then everyone decided that FPGAs had to be premium priced and killed off the affordable parts.
- tremon 3y agoSpartan-3 never had an open/accessible toolchain, IIRC. That's what put me off from investing my spare time in it.
- mwbajor 3y agoThe toolchain is free (not open source) unless you are building very very high performance products. Even in industry we use the free Vivado most of the time. At one point, there was some Synopsys products that groups were using but they lagged in features compared to the vendor tools.
- ta988 3y agoThere is a ton of open source stuff these days see: https://icestudio.io/ https://icestudio.io/ https://github.com/enjoy-digital/litex https://github.com/enjoy-digital/litex https://github.com/os-fpga/open-source-fpga-resource https://github.com/os-fpga/open-source-fpga-resource
- throttlebody 3y agoTry https://www.papilio.cc/ https://www.papilio.cc/
- SomeoneFromCA 3y agoI bought spartan 6 board in 2016 for $35.
- PoignardAzur 3y agoI've followed this tutorial recently, and it's amazing: https://github.com/BrunoLevy/learn-fpga/blob/master/FemtoRV/TUTORIALS/FROM_BLINKER_TO_RISCV/README.md https://github.com/BrunoLevy/learn-fpga/blob/master/FemtoRV/... The author includes detailed instruction for how to build a micro-controller in Verilog on an icestick, starting from a very simple blinker all the way to a functional RISC-V core. My other suggestion would be: for most of the toolchain, skip your package manager and directly install the binary artifacts published on this Github repo: https://github.com/YosysHQ/oss-cad-suite-build https://github.com/YosysHQ/oss-cad-suite-build You'll spare yourself a world of pain.
- mips_r4300i 3y agoCan I make a suggestion - the DE0-Nano and DE0-CV. Lots of legacy IO while being an older device family that still has a very fast and efficient compilation time. Hardware wise, both have vanilla SDRAM, the CV board has 7segments, PS/2 ports and VGA out. If you want to learn FPGAs, don't let tools get in the way of learning. Stick to Altera/Intel if for only 1 reason: Signaltap. SignalTap is the single best tool you can get for getting somewhere in your FPGA journey, primarily if you ever plan on interfacing with hardware or ICs outside your FPGA. That is what FPGAs are designed for, anyway. It's like superman x-ray vision for your bugs. I would recommend not using the open source tools with ice40 if only because there is no equivalent of SignalTap. Imagine having no gdb, no printf debugging, and all you have is 2 LEDs. Don't waste your time. Sure, Quartus can be annoying sometimes, but don't get distracted on tooling when you are trying to get your PS/2 keyboard or mouse interface working. Or check how many pixels your VGA horizontal back porch is, even though you think you wrote the verilog correctly. With Signaltap you cook in a highly configurable logic analyzer into the design, and you can include any IO pin, bus internal register, or state machine. It's one thing to play around in the simulator and test bench your own code, but that's rarely where the issues come up. Nothing beats actually analyzing your own design and external interfaces, warts and all, to see down to the exact clock cycle where something happened. By the way, Xilinx does have something similar as an ILA, but it's not nearly as good, and the 7 series compilation times are not gonna be as fast as the cyclone IV.
- oscillonoscope 3y agoThis type of debugging is fine for people just starting out or hobbyists but won't be useful if you're trying to design HDL professionally. You really need to be able to create accurate simulations so you're not debugging on hardware the entire time. Hardware debugging takes a long time (builds can take hours) and you're more limited in terms of how many signals you can view/how many samples you can take.
- mips_r4300i 3y agoYou are absolutely correct, and because it doesn't scale well, you have to keep it highly targeted. It all depends on what you are designing. Something DSP focused like a MJPEG encoder can be entirely simulated as it can be abstracted away from anything external. Most you would need would be a simple model of your external DRAM controller for a framebuffer. And this would definitely be both the fastest and easiest way to develop it. On the other hand, I did a job where I had to design a secure enclave accessible as a typical LBA-accessible SD card through a standard SD reader. I designed a pcb specifically to let me sniff the protocol both with a real card and my own IP. Of course, I started with implementing everything in the SD spec to the letter. It still required a crazy week of in situ debugging with dozens of card readers and cards to see why both ends violated the spec but worked anyway. In the end, I was able to design the flash translation layer fully in simulation but the SD link and phy layer were developed almost fully with the signaltap debug and compile loop.
- ksdme9 3y agoIs anyone here aware of beginner friendly learn-by-building style resources for getting into FPGA programming? Eventually, I would like to get to a point where I could build something like a DCPU-16 or maybe even an rv32mi core.
- ta988 3y agohttps://github.com/enjoy-digital/litex https://github.com/enjoy-digital/litex they have tutorials, you can get compatible boards for around $20
- mips_r4300i 3y agoNand2tetris, skip around until you find something that interests you. Fpga4fun is a other good resource if it's still around. Try and do some stuff besides just another softcore CPU in the beginning, even if it seems redundant. Maybe try a VGA pattern generator with some cosine LUTs or something.
- djmips 3y agoIn a game jam a friend and myself turned the Nand2tetris computer into a working computer on an FPGA board with VGA output. Then we built a small game (game and watch level) using the Nand2Tetris high level language. Very fun.
- djmips 3y agoI haven't tried this but this looks interesting. Designing Video Game Hardware in Verilog https://www.amazon.com/gp/product/1728619440/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1728619440&linkCode=as2&tag=ws8b-20 https://www.amazon.com/gp/product/1728619440/ref=as_li_tl?ie... And the online learn by building simulator. https://8bitworkshop.com/v3.10.1/?platform=verilog&file=clock_divider.v https://8bitworkshop.com/v3.10.1/?platform=verilog&file=cloc...
- MaKey 3y agoAt the risk of sounding like a shill because it's the third time I link to it: https://nostarch.com/gettingstartedwithfpgas https://nostarch.com/gettingstartedwithfpgas I was looking for a resource to get started too and stumbled upon this new book. I haven't picked it up yet but liked all No Starch Press books so far.
- rbanffy 3y agoI always wonder what happened to CPLDs. Wouldn't it be possible to make them at the same capacities of FPGAs? What would the intrinsic differences be?
- mips_r4300i 3y agoCPLDs ran into scaling issues. Routing problems increase exponentially the more logic you add to them. Eventually routing delays make it pointless, not to mention power usage is horrific. Not many CPLDs were made beyond about 256 macrocells. Even a typical lowend FPGA will be 5k to 50k "macrocells" or some other form of LUT-based logic cell. As an example, the last time I had to design with a CPLD it was a 128 macrocell part, and had a static power draw of 0.5W, which is kind of ridiculous. Altera did try to make a sort of hybrid part, the MaxII and MaxV series which are just tiny FPGAs that are flash programmed. Though, if you wanted that, there are plenty of better ones out there like the ice40.
- mwbajor 3y agoCPLDs are used mainly when you have a PCB design with lots of slow logic that you want to simplify or decrease in space and thats it. They still have their purpose.
- crote 3y agoIt's missing the best option for beginners: the UPduino[0]! It's a cheaper ($30) and more capable (39 GPIOs) alternative to the iCEstick or TinyFPGA BX. There's even a slightly more expensive variant with an onboard RP2040 microcontroller[1]. [0]: https://www.tindie.com/products/tinyvision_ai/upduino-v31-low-cost-lattice-ice40-fpga-board/ https://www.tindie.com/products/tinyvision_ai/upduino-v31-lo... [1]: https://www.tindie.com/products/tinyvision_ai/pico-ice-rp2040-plus-lattice-ice40up5k-fpga/ https://www.tindie.com/products/tinyvision_ai/pico-ice-rp204...
- asddubs 3y agofor the more expensive price class, there's also the glasgow interface explorer, which after a few years delay is finally shipping now https://www.crowdsupply.com/1bitsquared/glasgow https://www.crowdsupply.com/1bitsquared/glasgow
- duskwuff 3y agoGlasgow isn't an FPGA development board. It has an FPGA in it, but it is explicitly not designed as a general-purpose board and would be poorly suited as one; get something else if that's what you're after.
- cushychicken 3y agoThat's very cool. We've gotten some other great suggestions from Reddit, too. Gonna add to this list! Thanks for sharing this!
- quietpain 3y ago“ The following items cannot be shipped to your country and have been removed from your cart: UPduino v3.1 low cost Lattice iCE40 FPGA board” Great
- i_don_t_know 3y agoIf you're in the EU, you can order through their European storefront: https://lectronz.com/stores/tinyvision-ai-store https://lectronz.com/stores/tinyvision-ai-store (Haven't tried it but they explicitly call it out in the shipping section.)
- davrosthedalek 3y ago(Haven't looked into all the software available recently, so YMMV, just some thoughts:) The other side of the story is the availability of a low-cost/free and capable tool chain. It's my impression that AMD/XILINX wins on that. Of course this also depends strongly on the purpose. I think open source tool chains are not yet a state that you can bigger problems with it, so if you want to get into the job market, maybe train with a vendor software. Different story if it's for home projects. And if you want to hack on the open source tool chain, all the power to you!
- cushychicken 3y agoWithout a doubt the case. Pretty much all of the major vendors require a license agreement, and a node lock to a specific MAC for your computer. They generally do hobble to toolchain a little bit as far as the number of LUTs you compile to. Top tier, huge AMD/Intel chipsets are gonna require you to shell out to use all the LUTs and specialized IP blocks.
- packetlost 3y agoThis. I'm currently planning on purchasing one of the Kria KV260s for that reason. They're above budget, but are quite capable and you get the free Vivado/Vitis toolchain
- mips_r4300i 3y agoBe forwarned, when I bought one, I had to email back and forth for a couple weeks with Xilinx and sign some legal stuff before they would ship it, even within the US. Might've been ITAR but they wanted to be really sure I wasn't going to build a guided missile with it.
- packetlost 3y agoI'm planning on ordering one via Digikey, but that's fine. I work in the US defense industry regardless, so I shouldn't have too much trouble.
- 3y ago
- djmips 3y agoThis is a pretty cool looking product that marries an FPGA with a raspbery Pi Pico. $35.00 https://www.tindie.com/products/picolemon/picofabric/#product-description https://www.tindie.com/products/picolemon/picofabric/#produc...
- tycoon666 3y agoTang Nano starts at about 10$ https://tangnano.sipeed.com/en/ https://tangnano.sipeed.com/en/
- mrklol 3y agoThat’s the one I know too, thought that’s the way to go.
- amelius 3y agoWhich ones would be capable to generate HDMI at 4K?
- zzzcsgo 3y agoWhy would you use FPGA for generating 4k content
- amelius 3y agoWhy not?
- RetroTechie 3y agoIn practice: those which come with a HDMI connector onboard (or perhaps DVI + external DVI->HDMI adapter?). Unless your hand soldering is good enough to obtain correct impedance & match wire lengths. I'd expect most such boards to be capable of generating a 4K signal timing-wise. But have enough LUTs, blockRAM etc to do something useful with that? As usual: it depends.
- adrian_b 3y agoThe list is missing Lattice ICE40HX8K-B-EVN. This board costs $85 or EUR 80. It does not include anything superfluous, but it has four 40-pin 2.54 mm (100 mil) headers. Most of these 160 pins are usable as FPGA I/O pins. No other cheap FPGA board offers so many I/O pins and by using standard large-pitch headers it is easy to connect the pins to anything else. This series of Lattice FPGAs had its bitstream reverse-engineered and there are open-source tools for programmming it. There are faster FPGA boards available, but in many cases those are not usable due to having too few pins routed to external connectors.
- HansHamster 3y agoThis is missing boards with Lattice ECP5 FPGAs, which are a nice alternative to the iCE40 FPGAs and are also supported by the open source tools, but also offer more logic, memory, and IO. I only know of the evaluation board from Lattice [0] and the OrangeCrab board [1], but there are probably more. [0]: https://www.latticesemi.com/products/developmentboardsandkits/ecp5evaluationboard https://www.latticesemi.com/products/developmentboardsandkit... [1]: https://orangecrab-fpga.github.io/orangecrab-hardware/ https://orangecrab-fpga.github.io/orangecrab-hardware/
- fargle 3y agoi can vouch for the orangecrab. if you want an ECP5-based FPGA board, it's great.
- MegaDeKay 3y agoThere are more! The ULX3S [0] offers the ECP5 in three different sizes in up to 84K LUTs, plus it has an onboard ESP32. Fully open source with plenty of projects and examples built around it [1]. [0] https://www.crowdsupply.com/radiona/ulx3s https://www.crowdsupply.com/radiona/ulx3s [1] https://ulx3s.github.io/ https://ulx3s.github.io/
- yummypaint 3y agoI am a fan of these boards, i believe the economy of scale is propped up by the LED billboard industry
- StillBored 3y agoI was going to point this out too, but I'm frankly not sure how well the opensource toolchains actually work on these chips. I spent a number of hours a year or two back trying to figure out how to talk to the high speed serdes, and failed miserably. But for the kinds of use cases one gets out of an ICE40, it seems the ECP5 devices are going to be pretty solid choices with the open source tool chains. Ex, lots more LUTs talking to slow devices/GPIO pins.
- HansHamster 3y ago
- kevinevans 3y agoHere's some of what we used during undergrad: https://www.realdigital.org/ https://www.realdigital.org/ We used the Blackboard ($139) primarily and it covered most needs. There are free, well-written courses as well on their website, covering basic digital logic to creating IP that communicates with the PS over AXI. My only complaint is their community forum is completely unmoderated and abandoned.
- 2bluesc 3y agoMissing from the list is the BeagleV-Fire for $150 which was released last week with: * RISC-V CPU: 4x 64-bit RV64GC application cores & 1x 64-bit RV64IMAC monitor/boot core * FPGA: 23K logic elements (4-input LUT + DFF), 68 Math blocks (18×18 MACC), and 4 SerDes lanes of 12.7 Gbps. [0] https://www.beagleboard.org/blog/2023-11-02-beaglev-fire-announcement https://www.beagleboard.org/blog/2023-11-02-beaglev-fire-ann...
- bee_rider 3y agoWhat a neat little device. Get into RISC-V and design a custom “accelerator” type thing on the FPGA.
- rwmj 3y agoDoes anyone know if yosys support for the Xilinx Spartan-7 is possible yet? When I last looked it was only partially supported.
- dragontamer 3y agoA lot of beginner FPGA projects are just crappy microcontroller / crappy microprocessor projects. I'm thinking back to my college years, where I spent about 70% of the LUTs of our little FPGA board making a Wallace Tree Multiplier. Yes, good to learn Verilog over, good for learning how half-adders and adders could work together to make bigger circuits and all that, but its not exactly a good use of FPGA capabilities. Given how many chips are available today on the market, what are hobby-level FPGA designs that truly take advantage of custom logic in a way that a microcontroller and/or microprocessor (or other common parts) cannot replicate? --------- Looking at history: I think the traditional use of FPGAs and/or ASICs were matrix multiplication routines, specifically Reed Solomon error correction codes. The most common implementation was probably CD-ROM error correction IIRC. But I'd argue that such routines are doable with ARM Neon these days, especially with PMULL (Neon carryless multiplication, specifically designed to accelerate Galois Field multiplication). And a lot of other matrix-multiplications are likely an ARM Neon problem solvable with a tiny Cortex-A5 or Cortex-A7. (These CPUs are available at $8 to $20 price points, far cheaper than an FPGA, and they run Linux so they're also easier to program for than learning Verilog). Microchip's SAMA5D2 for example is like $10 and a total solution is under 500mW of power consumption (DDR2 included). I think communications is the right overall idea. A lot of problems come down to large matrix-multiplication or other large-scale compute problems. But a lot of radio circuits (ex: Bluetooth, LoRa, Zigbee, etc. etc.) already have ASICs. Perhaps communication protocols itself need experimentation, and FPGAs are best at that? I do think that a low-cost, low-latency, low-power communication protocol should be invented for wired communications, or infrared, etc. etc. And that might make more sense to FPGA-out rather than using a microprocessor / SIMD / ARM-Neon on.
- jjoonathan 3y agoThe number of compute-focused applications that are better on FPGA is going to be tiny. Doubly so if low-end, triply so if not real-time. FPGAs shine in hard real-time applications and as "EE Duct Tape," but almost never as raw compute, even if your utilization is rather high. If you need to slurp in data from a bunch of ADCs at many GB/s and do signal processing without missing a sample, FPGA shine. Radar, sonar, signal analyzers, beam forming, that sort of thing. If you need to connect PC buses (PCIe, Ethernet) together in a novel fashion, say because you are prototyping a new PC chip or router or building AWS, then FPGAs shine. The moment volume gets high, the scales tip back towards ASICs, but many important applications are intrinsically low volume. Often in prototyping, but sometimes in deployment too. How many F-22s exist? Only about 200. Custom chips wouldn't come close to filling a FOUP, so you can bet your bottom that they (and the labs that engineered them) are full of FPGAs. The world is full of "Look ma, I did a FPGA" projects that in the real world would have absolutely no business running on a FPGA. That's fine, we all need to train on something, but the natural inclination to overstate scope of these pet projects can be confusing unless you know that real FPGA applications are confined to narrow (but extremely important and exciting and valuable) verticals.
- waynesonfire 3y agoi got a dev board, what's the next step?
- zzzcsgo 3y agoHow are those so expensive
- maxekman 3y agoOn this awesome list [1] I found the ICEBreaker board [2] which was great to learn on. It’s a fully open source design too [3]. 1. https://www.joelw.id.au/FPGA/CheapFPGADevelopmentBoards https://www.joelw.id.au/FPGA/CheapFPGADevelopmentBoards 2. https://1bitsquared.com/collections/fpga/products/icebreaker https://1bitsquared.com/collections/fpga/products/icebreaker 3. https://github.com/icebreaker-fpga/icebreaker https://github.com/icebreaker-fpga/icebreaker Edit: link formatting.
- RetroTechie 3y ago[1] Looks like a very nice list to explore, thx!
- belzebalex 3y agoI'm surprised this does not include the excellent Alchitry boards [1] which are quite cheap and capable ($100 for an Artix-7 35T dev board is a steal) [1]: https://www.sparkfun.com/categories/tags/alchitry https://www.sparkfun.com/categories/tags/alchitry
- willis936 3y agoI have a project where I want a 1 Hz PLL trained to an intermittent phase and frequency aligning signal (PPS from GPS) that I then want phase-aligned via PLL or DLL to a feedback signal (current sense resistor in line with a nixie tube, might have to go through an ADC which might need a static negative time offset). This is a pretty low resource task, but it seems like the number of PLLs in these ICE FPGAs is quite limited. Is a dedicated hardware PLL necessary to do this or could I synthesize DLLs with reasonable accuracy? I'm late to post here, but I've been waiting for the tail of interesting suggestions and lists to drop down. It sounds like the UPduino BX / pico-ice (iCE40UP5K) and OrangeCrab (ECP5) are the two best picks. The OrangeCrab feels like a sledgehammer, but I worry that the one PLL and lack of native ADC (granted that's fixable) on the UP5K options won't be enough.