It might circle back around to being exotic again, if FPGAs take off and more work is done on highly-specialized task-specific hardware, as opposed to building the fastest general-purpose chips you can and beating problems to death with sheer speed.
It might not be visible from a regular programmers' perspective (i.e. You don't need to read https://people.freebsd.org/~lstewart/articles/cpumemory.pdf to write a website) but FPGAs are absoutely everywhere already, e.g. Xilinx (the Intel of the FPGA market... as opposed to Intel who are the AMD of the FPGA market) have Market Cap of $21Bn which is quite a lot for a company that is both fairly obscure to investors and doesn't sell directly to consumers.
The issue with this is that FPGAs are expensive to buy as a hobbyist, expensive to buy at small quantities unless you can negotiate with Avnet or similar, and involve using software from the past if you want to program them.
Beyond FPGAs, ASICs are fairly common in very high margin/high volume electronics.
Is this a thing that's happening? I remember how cool I thought FPGAs were from my college CE classes. Seems intuitive to me that you would want to specialize the hardware once you have a process figured out. The fact that FPGAs are upgradable makes it even more of a no brainer to me.
Well there's a cost benefit; Cheaper FPGAs may not necessarily be as performant as others for some tasks, there's still a gate budget to deal with, and I personally am not sure whether the FPGA world is one where you have full control over what you do with the chip when you sell it in a commercial product.
I know Gigabyte back in the mid 2000s made a PCIE Card that let you use DDR as a disk drive once upon a time; for the original they actually used a Xilinx Spartan FPGA since it was a smaller run.
FPGAs can sometimes be one-time-programmable using anti-fuses that basically disables the JTAG interface or can be set to disable the interface if the FPGA detects attempted tampering. Most of the time, an FPGA is going to be set to OTP to prevent competitors from stealing source code for applications where upgrading the firmware via JTAG is not necessary.
The FPGA also can have a massive unique key that allows the designer to create a whitelist algorithm that only lets certain unique IDs run that firmware. Other options involve setting a time limit for how long the firmware will run, disabling certain features, or totally bricking that FPGA forever. Spartans have this feature but it would still allow for someone to build a new design that doesn't check the device ID.
Additionally, the bitstream can be encrypted so that if a field update is necessary or the firmware is stored in a stored in a separate flash chip, someone can't reverse engineer it.
Overall, the more you pay, the more security features there are available. An example secure design would disable JTAG pins permanently and have a microprocessor inside that would handle new updates. The processor would authenticate any new encrypted firmware before programming the internal flash.
Sure. The Afterburner Card that Apple is selling to accelerate ProRes decoding on the newest Mac Pro is an FPGA. They’ve opened it up to third parties like Red as well iirc.
Xilinx even has its Zynq line with combines a ARM Cortex processors with programmable logic so you can partition the design to what each portion is best suited.
It might circle back around to being exotic again, if FPGAs take off and more work is done on highly-specialized task-specific hardware, as opposed to building the fastest general-purpose chips you can and beating problems to death with sheer speed.