5 ms·
Ha, good eye. corrected to 1e6 :)
by srjilarious 7y ago
Ha, good eye. corrected to 1e6 :)
- topspin 7y agoNice work. FPGA design appears to be very similar to GPU shader programming. First time I've read anything about FPGA design that connected. Usually FPGA stories get lost in data flow jargon and I learn nothing.
- tverbeure 7y agoI don’t really see how FPGA programming is similar to shader programming.
- lnsru 7y agoThere is no programming in FPGA at all. You describe your hardware using hardware description languages like VHDL or Verilog.
- rowanG077 7y agoThen no programming exists at all. When writing a C code you are describing a program that runs on the C abstract machine. The same thing holds for all "programming" languages.
- lnsru 7y agoSorry, I am not ready for philosophical discussion. We can take definition from Wikipedia: https://en.m.wikipedia.org/wiki/Computer_programming https://en.m.wikipedia.org/wiki/Computer_programming Programming involves code execution on computer. There is no computer in FPGA.
- rowanG077 7y agoThen why did you start the discussion? An FPGA is a computer just as well as any CPU.
- lnsru 7y agoTechnically FPGA is a piece of memory. The functionality of the FPGA device depends how the bits in this memory are set. Size of this memory is constant This information is not public, brave hackers are working hard to reverse engineer this. You can make a CPU in FPGA, no way for the opposite performance wise. Complex simulation with couple 4k resolution pictures takes days. Edit: the people here are decent enough to start a discussion.
- rowanG077 7y agoYes an FPGA is a different computer then a CPU. It's still a computer though. This is the definition of a computer: > An electronic device for storing and processing data, typically in binary form, according to instructions given to it in a variable program. [1] It fits an FPGA perfectly. [1] https://www.lexico.com/en/definition/computer https://www.lexico.com/en/definition/computer
- lnsru 7y agoThere is a term “variable program” in your link. When you add peripherals to the chip on the printed circuit board it looses flexibility very fast. The whole system is made to very specific task. But yes, you convinced me that FPGA might be treated as a computer in an extreme case.
- rowanG077 7y agoFPGA accepts "variable program"s. What you are talking about are peripherals. A CPU with certain peripherals can also be completely inflexible. That is completely outside the scope of what a CPU or an FPGA are though.
- topspin 7y agoYou'll notice I didn't apply the term 'programming' to FPGA. Reading the post I noted this was a likely hang up among FPGA designers and carefully employed the preferred jargon. I imagine this sensitivity is the product of much frustration with forever being conflated with mere programmers. Must be awful.
- srjilarious 7y agoThanks! I too think GPU programming is quite similar in that you need to think of things in a more data streaming sense. It's sort of functional that way too; building up pipelines of transforms.
- unwind 7y agoVery nice article, thanks. That would more typically be written as 200e6, no need for the explicit multiplication when using standard float literal notation.