Hacker News new | ask | show | jobs
by mhh__ 1996 days ago
Probably power, getting the data onto the FPGA, and utilising FPGA's being unlike software.

I definitely want one but any common task worth having on an FPGA is probably common enough to justify either a GPU or actual silicon.

Intel and AMD both have the IP to do it, and iPhones do have a Lattice chip on them apparently

1 comments

Once partial reconfiguration works and the FPGA can access main memory directly I see a lot of use cases. Imagine applications reconfiguring the FPGA in the blink of an eye to optimize their own algorithms.
There have been PCI FPGA boards available for a long time that can access main memory, I had them in my desktop machines nearly 20 years ago.
Attacking a hypothetical poorly isolated on-chip FPGA seems like the mother of all exploits, thinking about it
Why? To make an FPGA do what you want you need to be able to reconfigure it. If you have reconfiguration capability you need to have remote code execution. And in that case you have already lost.
As in, the FPGA would have to be carefully segmented so the accelerator couldn't be used to access memory it shouldn't have access to.

I don't think it would happen in a general purpose chip but I could see it happening in a smaller one like the exploits christopher Domas demonstrated against some embedded X86 cores.

Why though? Your Integrated Intel or AMD GPU can also access all of your memory. I don't see how an FPGA provides any additional attack vector. As I said you'd need code execution privileges anyway and once you have that your system is already owned.
The boards that I have used could not reprogram the FPGA over the PCI bus.
I was thinking aloud about the memory rather than the actual FPGA bitstream
Yes through the PCI bus not directly. You don't want to have that latency. You want a unified model. Like Intel GPUs that can access main memory, or the FPGA being another endpoint in AMDs infinite fabric architecture. That exists as well in SoCFPGA boards. But not in the mid or high performance segments.
Back when AMD released the first Opteron CPUs there was a vendor selling an FPGA that would plug into an Opteron socket along with the IP to implement HyperTransport in the FPGA.
Really? I used a HT FPGA back then, but it came on an HTX card that fit into the HTX slot on the motherboard.

Never heard of putting it into the socket, would be a real pain to attach JTAG to program/debug your design...