Live data from Hacker News

Ask HN: Are you interested Q&A with the FPGA hackers of HN?

news.ycombinator.com

11–14 of 14 posts

Re: Ask HN: Are you interested Q&A with the FPGA hackers of HN?

#11
I'm just starting to learn the Project Icestorm tools as an FPGA beginner (using the Nandland Go board). I'm just a hobbyist, but I'm really interested in seeing how FPGAs can be used for custom hardware acceleration. These days you can't hear anything about the cloud without hearing about FPGAs being used for acceleration, but all the big companies are pretty tight lipped about the details of what they're actually doing with them. Realistically, could I take a frequently used C library, implement it as a hardware function in an FPGA, and integrate that with my computer via PCI Express, or USB 3 etc., and actually get a speed improvement?

Re: Ask HN: Are you interested Q&A with the FPGA hackers of HN?

#12
post #11

I'm just starting to learn the Project Icestorm tools as an FPGA beginner (using the Nandland Go board). I'm just a hobbyist, but I'm really interested in seeing how FPGAs can be used for custom hardware acceleration. These days you can't hear anything about the cloud without hearing about FPGAs being used for acceleration, but all the big companies are pretty tight lipped about the details of what they're actually d…

No. It's not realistic to get an improvement that way. FPGAs can provide improvement in some important cases but the system design (software and hardware co-design) is radically different. You can't expect to iterate your way there when you're starting with a conventional software-only system running on a generic white-box server.

Re: Ask HN: Are you interested Q&A with the FPGA hackers of HN?

#13

An area of FPGA development and process that I generally don't full grasp is how to interact with FPGAs in a high bandwidth way with a computer. That is, say I want to use an FPGA to process output from a high bandwidth sensor, operate on it, then make that available to a process. What does that look like practically?

It might help to elaborate a little - are you asking about how your device would be connected to the computer (USB, Ethernet etc.) or how each end of those protocols is implemented, or something else? And what do you mean by "high bandwidth"? I'm not really qualified to answer you anyway, but I know you can implement things like USB and Ethernet in an FPGA, or you can use separate ICs that handle these things by exposing a serial or parallel interface to your FPGA (UART, SPI etc.).

Re: Ask HN: Are you interested Q&A with the FPGA hackers of HN?

#14
post #13

An area of FPGA development and process that I generally don't full grasp is how to interact with FPGAs in a high bandwidth way with a computer. That is, say I want to use an FPGA to process output from a high bandwidth sensor, operate on it, then make that available to a process. What does that look like practically?

It might help to elaborate a little - are you asking about how your device would be connected to the computer (USB, Ethernet etc.) or how each end of those protocols is implemented, or something else? And what do you mean by "high bandwidth"? I'm not really qualified to answer you anyway, but I know you can implement things like USB and Ethernet in an FPGA, or you can use separate ICs that handle these things by expo…

Yeah I mean I guess I'm looking for what options there are for interfacing with computers in a standard way. I get needing to implement something like SPI or I2C or etc but I'm curious to know what the best options are, especially if you are wanting to interface with PCIe.

Is it best to interface directly with the PCIe bus from the FPGA? Is it better to abstract with some kind of IC? Is the board or the computer the master clock? Is there some kind of encoding scheme that needs to be adhered to?

Post reply on HN