Thus I said they can be more efficient. They aren't always. But you are right. The future of FPGA is workflows that reprogram them on-the-fly to process a specific set of data. I have seen the product of a stealth company that has an amazing tooling for this in which the FPGAs run without an OS to process a stream of transactional data using a rule set that is embedded in the stream. It is outrageously fast.EvilDragon wrote: Mon Sep 21, 2020 1:13 pmWell, "reprogrammed for a specific purpose" is a more accurate answer, and are especially suited for highly parallelizable tasks. They aren't more efficient when it comes to raw processing muscle (GFLOPS). Well, they may be more efficient per Watt, if that's the concern.teilo wrote: Sun Sep 20, 2020 1:11 am FPGAs are digital by nature. Their only advantage over a CPU is that they can be more efficient.
FPGA based hardware DIVA?
- KVRAF
- 2035 posts since 30 Mar, 2008 from MN, USA
CLAP Software Database: https://clapdb.tech. KVR Discussion Topic.
-
- KVRist
- 40 posts since 15 Nov, 2014
Something to keep in mind when looking into the use of an FPGA: they function more like pipelines or assembly lines than as traditional instruction based processors. HDL's are very different from traditional programming languages.
The reason they utilize Hardware Description Languages like VHDL and Verilog is that you are basically defining a high-level description of a clocked pipeline of bitwise lookup tables connected in a network with flip-flop buffers as the nodes. You feed a stream of bytes into the clocked input flip-flop at one end, wait the number of clock cycles it takes to pass through each stage of the network, then start reading the stream on the other end. It's why they are very fast at problems that involve linear operation chains, since the processing speed is almost directly tied to the clock speed + an initial delay. So you frequently see it used for tasks like encryption, video encoding/decoding, and hashing.
You'll see the specs for an FPGA are much different from that of a regular processor, with specs like Logic Cells/Units, DSP Slices, and I/O counts. Modern FPGA's generally feature a large number of programmable DSP slices, which can be programmed and utilized as part of the pipeline to do various DSP tasks in place of the lookup tables (such as working with floating point numbers), but it will introduce additional latency into the pipeline dependent on the complexity of the compiled DSP instructions. Memory lookups will also introduce latency. Same with using the onboard ARM processor for anything other than feeding the inputs and reading the outputs.
So basically, any of the benefits of modern processors that make programming stuff like synthesizers and digital audio workstations easy, would be the performance weak points of using an FPGA as the total solution. It's why they are almost always used for pipeline-styled tasks as a co-processor alongside a normal General Purpose Processor.
The architecture part of the Wikipedia article on FPGAs describes how they work pretty well.
Random semi-related note: the semi-brute-force process of converting an HDL into the optimal layout for configuring an FPGA is referred to as synthesis.
The reason they utilize Hardware Description Languages like VHDL and Verilog is that you are basically defining a high-level description of a clocked pipeline of bitwise lookup tables connected in a network with flip-flop buffers as the nodes. You feed a stream of bytes into the clocked input flip-flop at one end, wait the number of clock cycles it takes to pass through each stage of the network, then start reading the stream on the other end. It's why they are very fast at problems that involve linear operation chains, since the processing speed is almost directly tied to the clock speed + an initial delay. So you frequently see it used for tasks like encryption, video encoding/decoding, and hashing.
You'll see the specs for an FPGA are much different from that of a regular processor, with specs like Logic Cells/Units, DSP Slices, and I/O counts. Modern FPGA's generally feature a large number of programmable DSP slices, which can be programmed and utilized as part of the pipeline to do various DSP tasks in place of the lookup tables (such as working with floating point numbers), but it will introduce additional latency into the pipeline dependent on the complexity of the compiled DSP instructions. Memory lookups will also introduce latency. Same with using the onboard ARM processor for anything other than feeding the inputs and reading the outputs.
So basically, any of the benefits of modern processors that make programming stuff like synthesizers and digital audio workstations easy, would be the performance weak points of using an FPGA as the total solution. It's why they are almost always used for pipeline-styled tasks as a co-processor alongside a normal General Purpose Processor.
The architecture part of the Wikipedia article on FPGAs describes how they work pretty well.
Random semi-related note: the semi-brute-force process of converting an HDL into the optimal layout for configuring an FPGA is referred to as synthesis.
- KVRist
- 108 posts since 7 May, 2002 from France
And what about FPAA ?
It seems more adapted to analog synthesizers, no ?
https://en.wikipedia.org/wiki/Field-pro ... alog_array
It seems more adapted to analog synthesizers, no ?
https://en.wikipedia.org/wiki/Field-pro ... alog_array
Last edited by groumpf on Sat Sep 26, 2020 4:03 pm, edited 1 time in total.
- KVRAF
- 18465 posts since 26 Jun, 2006 from San Francisco Bay Area
The Roland System 8 is somewhat like this, though you have to swap out entire synths and not just individual sections. It’s one of the things I thought they got wrong with it. I think they would have had a better and more interesting instrument if they’d done it like Korg did with the KingKORG.
Ultimately, just Velcro a MacBook Air and cheap stereo interface to the controller of your choice and there you are.
Ultimately, just Velcro a MacBook Air and cheap stereo interface to the controller of your choice and there you are.
Zerocrossing Media
4th Law of Robotics: When turning evil, display a red indicator light. ~[ ●_● ]~
4th Law of Robotics: When turning evil, display a red indicator light. ~[ ●_● ]~
-
david.beholder david.beholder https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=159839
- KVRAF
- 1914 posts since 13 Sep, 2007
FPGA is a new sub-religion on gearslutz hence the question. They believe that FPGA is using magical DSP that could produce more analog sounding everything.
Completely failed blind tests of say Diva vs real analog OB8 can't shake their faith at all, they still think only Magic Diva could sound right, normal Diva can't.
So Urs could we have enormously expensive Magic Diva?
Completely failed blind tests of say Diva vs real analog OB8 can't shake their faith at all, they still think only Magic Diva could sound right, normal Diva can't.
So Urs could we have enormously expensive Magic Diva?
Murderous duck!
-
Hermetech Mastering Hermetech Mastering https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=7418
- KVRAF
- 1619 posts since 30 May, 2003 from Milan, Italy
No idea what FPGAs are or how they work, but I do know I love my Super 6!
Would be amazing to see Uhe get into hardware too though.
Would be amazing to see Uhe get into hardware too though.
