News for hackers. Stuff that matters.
Re:MicroFPGA – A coming revolution in small electronics (201... by pclmulqdq on Saturday May 15, 2021 @08:01PM (#27170062)
As a (former) FPGA developer, this revolution has been coming for a while, and I'm still waiting. Unfortunately, the programming model actually makes things really difficult for people who think in a software frame of mind. High-level synthesis gets part of the way, but not for low-level peripherals.

PMODs are good for university/hobby projects with FPGAs, though, and I'm glad the bar is getting lower and lower. FPGAs are usually built on very high-tech processes, so the gap between an FPGA (at 28 nm) configured like an SoC and an actual microcontroller (at 90 nm) may be smaller than we think, and that may be the saving grace of FPGAs as hobbyist devices.

Re:MicroFPGA – A coming revolution in small electronics (201... by blihp on Saturday May 15, 2021 @10:30PM (#27170729)
I think it's closer than most people might think. I suspect this is largely because there seems to be a wide gulf between most hardware and software hackers (i.e. they don't talk much and tend to throw things over the wall to each other) and FPGAs require you to have a foot in both disciplines. You're right that the mindset required is a hurdle but once I got over that (I'm primarily a software person and it only took the better part of an afternoon), I've been finding it pretty straightforward. I'm struggling more with dusting off my digital logic design skills... I'll get there, just need to get back in practice.

The current state of the open source tool chain is looking pretty reasonable (covering the development life-cycle with yosys/nextpnr/iverilog/verilator/etc) and a few FPGA families having been reverse engineered (the ones I find the most interesting are also the furthest along: the ice40 and ECP5) so you can buy/build open devices and use them with open tooling today. Granted, the devices to choose from are at the low end of the universe of FPGAs out there (i.e. <100k LUTs) but that's enough to do a lot of interesting things with for now and (hopefully) eventually higher-end devices will be added. That's not terribly different than the state of play re: microcontrollers and SoCs these days in the open source world.

The one part of his talk that I think is off base is replacing microcontrollers/SoCs with FPGAs in most scenarios. At any given process node, the specialized device (i.e. a processor) should be able to crush the generalized one (i.e. FPGA) every time in terms of cost, raw performance and perf/watt and it would likely take more than the current ~2-3 process node delta to overcome that. I don't look at an FPGA as being an either/or proposition: use a microcontroller/SoC for what they're good at in conjunction with an FPGA for what it's good at where the application warrants it. Sure, if you need a tiny bit of software control throw a soft core in there and save the hassle of adding a micro. But don't try to replace a hard core with a soft one just because you can.[1]

[1] Two cases where exceptions seem to be obvious and make sense: - New/experimental ISAs like RISC-V where you can't readily/affordably source CPUs in the open source world yet. - Emulators mainly because the ISA you need is typically at least effectively dead. Any devices still available aren't often good fits for what you're trying to accomplish.

Re:MicroFPGA – A coming revolution in small electronics (201... by e-_pusher on Saturday May 15, 2021 @09:45PM (#27170518)
Curious - why did you get out of FPGA development, and what do you work on now?

I have anecdotally heard of FPGA/RTL devs leaving the field mostly because of the poor tooling etc.

Re:MicroFPGA – A coming revolution in small electronics (201... by pclmulqdq on Saturday May 15, 2021 @10:05PM (#27170613)
I was an FPGA dev at a trading shop and moved to software at big tech. Hardware development in trading is fairly unique in that it is more like software than anything else. At other companies, FPGA dev is not well-rewarded, and is treated a lot more like hardware than software. That leads to slow development cycles and project-based hiring/management, which make it very hard to treat the project like software.

In addition, lack of a standard library and bad tooling (buggy, slow compilers) makes developing simple things very difficult.

The same attributes that made me a good FPGA developer have also made me a good low-level software developer (x86 assembly doesn't hold a candle to FPGA dev in complexity), so I do that now.

Re:MicroFPGA – A coming revolution in small electronics (201... by xfer on Saturday May 15, 2021 @10:49PM (#27170815)
Not to mention the tools are shit and synthesis takes a long time. If you thought c++ compilers are slow just try using fpga tools.
Re:MicroFPGA – A coming revolution in small electronics (201... by detaro on Sunday May 16, 2021 @01:00PM (#27175054)
Give the open-source toolchains a go some time. Yes, they only cover some FPGA models and can't make use of all the features, but the dev workflow is sooo much nicer. And they are constantly improving.
Re:MicroFPGA – A coming revolution in small electronics (201... by pclmulqdq on Saturday May 15, 2021 @11:05PM (#27170870)
The tools are awful and software people don't know how good they have it. However, the tools also do a ton of optimization for you, and so it's somewhat justified that they take a long time to run.