Cheap FPGA Development Boards
joelw.id.au
joelw.id.au
* Pano Logic G1 board: https://github.com/tomverbeure/panologic
* Pano Logic G2 board: https://github.com/tomverbeure/panologic-g2
* Colorlight 5A-75B: https://github.com/q3k/chubby75
* Cisco HWIC-3G-CDMA: https://github.com/tomverbeure/cisco-hwic-3g-cdma
Playing with these has been a fun hobby of mine and while I have a box full of 'real' development boards, I usually find myself going back to the Cisco board for my personal projects.
However, it has the issue that Intel recently took down Quartus 11.0, which is the last version that supports these FPGAs.
The devil in the details is that when 5V-tolerant I/O are naively configured as such, device reliability drops like a rock. You'll likely find this disclosed in the manual fine print. Something to consider when prototyping a design destined for production.
What's the software requirement side look like? Intel's website[1; under Legacy Devices] says Quartus II v9.0 was the latest release that could target FLEX 10K devices. Doesn't look like you can download that release anymore, and liable to run into compatibility issues just installing on modern OSs without a VM.
Bummer, and a real shame given how seemingly common regressions are in this space. Not my specialization, but anecdotally over a decade or so, I've encountered scenarios on MAX 7000 and Cyclone II (Quartus II v9.0 builds, v10.x breaks), Virtex-7 (Vivado v2018.3 builds, v2019.1 breaks) and Virtex-5 (ISE v14.6 builds, v14.7 breaks).
I assume interfacing simply with cheap ATMEL and PIC MCUs is another use case.
The university boards can also support 3.3v.
http://leadshine.com/ProductSubType.aspx?type=products&categ...
I do wonder what's the best way to translate to 5v and back. There has to be some fast-switching, go-to part for the purpose.
D lines and some signals need to be bidirectional. And I might even need to do bus mastering, so most signals would have to be.
http://marc.retronik.fr/motorola/68K/68000/The_68000_and_its...
And, yeah...you have some work ahead. Lots of bi-directional, tristate, open drain, totem pole/push-pull, etc.
I didn't have that one PDF, so I saved it for safe-keeping with my other 68k stuff. Thanks.
Electronic warfare is most commonly the disabling of enemy radio frequency equipment (radar, communications, targeting, etc).
Given, this is just my opinion on the matter, so take it with a grain of salt.
* Experimental processor design. If you want to make a processor with its own custom instruction set, or modify an existing processor design, you need an FPGA to actually see it in action.
* Synthesizers and audio filters. You can do a lot of low latency signal processing compared to even a beefy microcontroller with an FPGA, so if you want to make your own synth sounds in hardware, an FPGA might make sense.
* Computer vision stuff. If you want to make some gadget that does some kind of image processing that is streaming from a camera, and FPGA would work, especially if you wanted it to be small/portable.
* High bandwidth or low latency SDR applications.
It's kind of a stretch, but take a wall of addressable LED strips like WS2812s as an example. Color data is sent along one wire as precisely-timed pulses, 1.25us per bit.
You can drive a few strips using critical sections written in assembly, or misusing SPI peripherals if your clock speed can easily divide into ~2.4MHz. But you'd be hard-pressed to run dozens of parallel LED strips with a good framerate.
On an FPGA, you can just write an "LED" module and add as many of those modules as you can fit into the chip. You can also decide whether to include a simple CPU in the design, or use another method of processing lighting patterns.
They're flexible, but they are also expensive enough that it's kinda hard to find somewhere that they make sense. A "cheap FPGA" price point of $50-150 is still an order of magnitude pricier than a cheap microcontroller board ($2-10).
I learned some good perspectives from the replies to your query.
Some FPGAs features are only available on yearly paid subscription. Also, the license is very restrictive, publishing benchmarking is not allowed, therefore, there is no public information on how to chose a computer to have faster synthesis.
Other than solving those issues, an open source framework enable the researches to search for newer place and route algorithms; enables new HDL languages to target the actual hardware instead of using verilog as intermediate language.
Recently Lattice updated their licensing forbidding reverse engineering, but changed their mind once the community complained.
Also, a while back, lattice added support to something that was already implemented on the open source tools, but with a different name -- thus, code that worked on open source don't work on the official tool. (I'm not sure if this was "fixed").
The open source tools have been create by hard work of many hackers. If you want to know more, watch this 35C3 talk [1] where MathiasL describes how they reverse engineered the Artix-7 bitstream.
Last time I checked, Symbflow [2] only supported Lattices FPGAs and Artix-7 (smallest fpga from Xilinx 7-series). Both are quite small FPGAs.
[1] https://www.youtube.com/watch?v=Y1Wwa8csFjk [2] https://symbiflow.github.io/
https://www.crowdsupply.com/quicklogic/quickfeather
OTOH, while not actively contributing, Lattice (iCE40, ECP5) are aware and do tolerate the open stack.
They reversed some new terms of use recently (stating it was a mistake), when the community realized they had added some clauses against reverse engineering and made a lot of noise about it. It means they are aware of the positive effect the open stack has provided from a marketing standpoint.
The page is updated though, as can be seen in the edit history with the link at the page footer: https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards?action=d...
As of this writing, the last update was on 2020-07-20.
I’ve sent an e-mail to the author pointing him to this discussion in case other corrections get posted here.
Cheap, well made,large choice, decent documentation.
[edit]: they also have an aliexpress store.
1) The boards are very bare-bones. Most of the I/Os are tied up in high-speed connectors like PCIe or SFPs, which will be very difficult for a beginner to work with.
2) The Virtex/Kintex parts they're using require a paid (or pirated) Xilinx license, and the sheer size of the parts makes compile times even slower than normal.
2. License is pain though, you can get a proper demo license for Kintex probably
3. Compile times for barebones projects are few times more for a larger FPGAs, but as you add IPs and stuff they take a few minutes on a fastest computer anyway
Is the project dead, or is there something better out there I should look at?
I think really any task can benefit from being ported to FGPA, but FPGA clocks tend to be slower than CPU clocks and large logic will force you to lower the clock as components become more spread out on the chip (assuming all the logic elements needed even fit on your board). The caveat is that it's expensive to do things in hardware, and some things are already designed very well -- if you need to design a whole CPU from scratch on an FPGA to run your code it'll obviously be slower, but it will also take way too much time to get it anywhere near real world performance per clock. Since TCP/IP and SSL are mostly pretty specialized, the answer is yes. If you're interested, there's some open-source projects that do part of this https://github.com/fpgasystems/fpga-network-stack)