Re: [music-dsp] An example video: C to FPGA programming
I am following this "C to VHDL" thing now for 15 years. Mentor had a tool to do that already in 2005. Up to now, the basic issue never changed: C/C++ has not the options to define those things which are required to generate an application specific hardware. But exactly this is the point about FPGA programming: Defining an intelligent solution for a specific problem. Then they become efficient. And they become very efficient if you manage to think of an intelligent hardware structure. If MATLAB HDL Coder oder Xilinx HLS should be able to find this from the C definition, first the C definition had to contain the solution and MATWORKS or XILINX must have taken this particular idea into account and must have put in into the library. Both ist not the case. This way you can only get a standard hardware which performs your function and shun some work in balancing the timing and simplfy vector width handling and trimming of calculations. The vast majority of the solution anyway is getting known and existing cores instatiated automatically instead of instatiating them manually by copy and paste. Am 10.01.2020 um 11:25 schrieb Patric Schmitz: Hi Theo, I believe the link should be: https://www.youtube.com/watch?v=kfWNfjcIO2Q Thanks for sharing, Patric On 1/10/20 11:18 AM, Theo Verelst wrote: Hi all Maybe it's not everybody's cup of tea, but I recall some here are (like me) interested in music applications of FPGA based signal processing. I made a video showing a real time "Silicon Compile" and test program run on a Zynq board using Xilinx's Vivado HLS to create an FPGA bit file that initializes a 64k short integer fixed point sine lookup table (-pi/2 .. pi/2) which can be used like a C function with argument passing by a simple test program running on ARM processors. The main point is the power the C compilation can provide the FPGA with, and to see the use of the latest 2019.2 tools at work with the board, some may find that useful or entertaining: https://youtu.be/Nel6QAvmGcs Theo V ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] An example video: C to FPGA programming
Andrew, I think that the information at http://www.clifford.at/icestorm/ would be useful to you. It describes the icestorm toolchain and uses Lattice's development boards. I've done some musical things using both the smaller and larger boards. It's a pretty inexpensive way to get started. Neil Gilmore ra...@raito.com On Fri, January 10, 2020 5:48 am, Andrew Luke Nesbit wrote: > On 10/01/2020 10:18, Theo Verelst wrote: > >> Hi all >> > > Hi Theo, > > >> Maybe it's not everybody's cup of tea, but I recall some here are >> (like me) interested in music applications of FPGA based signal >> processing. > Lately I have been researching exactly this topic. It's one of the > primary areas of DSP research that I am considering directing my career > towards and making a significant investment of resources in learning.site > > > There is a lot of meaningful context in all of this. I'm looking > forward to deploying my new website that should explain it. > > I have a strong backgroumd in music and audio signal processing. Not > with FPGA however. > >> I made a video showing a real time "Silicon Compile" and test program >> run on a Zynq board using Xilinx's Vivado HLS to create an FPGA bit file > I am overwhelmed by where to start in FPGA. This includes finding a > hardware recommendation for a beginnerdevelopment kit. > > Nevertheless I have yet to look up a vendor of this FPGA development kit > and toolchain and then to find out what prices. > >> that initializes a 64k short integer fixed point sine lookup table >> (-pi/2 .. pi/2) which can be used like a C function with argument >> passing by a simple test program running on ARM processors. > This is great! It's simple, useful, and can be visualized with known > expected results. It seems like a perfect starting project. > >> The main point is the power the C compilation can provide the FPGA >> with, and to see the use of the latest 2019.2 tools at work with the >> board, > Might I rephrase this as the following? > > > - It's an exercise in selecting an appropriate FPGA development kit. > This kit would be a good investment and sufficienly repurposeable for > future DSP projects. > > - Setting up the toolchain; learning a workflow; and acquainting > oneself with the ecosystems of: > > - FPGA-based DSP; > > > - the Xilinx and FPGA support communities; > > > - edge computing; and... > > > circling back to the beginning... > > perhaps even providing a basic introduction to FPGA for somebody (like > me?). > > In this last case what would be an appropriate "Step 1. Introduction to > FPGA"? > > > I guess that Xilinx's own documentation for new users of FPGA technology > would be a good place to start. > > If anybody has recommendations for additional books, blogs, forums, etc, > please let me know. Thank you!! > > In summary: Is Xilinx a good company to invest time into learning its > ecosystem? This obviously includes spending money on dev kits with the aim > of FPGA-basd DSP. For examples, is Xilinx's support good? Is the > community ecosystem healthy? > > Kind regards, > > > Andrew > -- > OpenPGP key: EB28 0338 28B7 19DA DAB0 B193 D21D 996E 883B E5B9 > ___ > dupswapdrop: music-dsp mailing list > music-dsp@music.columbia.edu > https://lists.columbia.edu/mailman/listinfo/music-dsp > > > ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] An example video: C to FPGA programming
I had spent several years using FPGAs for DSP. Several MIDI synthesizers written in Verilog came out of that. Xilinx was my preference. Back in those days, I used what would be considered a "small" FPGA (500,000 equivalent gates) and got a minimum of 8 voices of polyphony, so with today's much larger and faster FPGAs, the sky is the limit. An FPGA is a logic device. That is, it's internal bits and pieces amount to a collection of logic blocks that you can connect as you like. Also included are fast multiplier blocks (the more the better). So it is good to have a complete understanding of how all of the basic logic functions work from AND/OR/XOR/Invert to flipflops to adders and multipliers. I never had much use for C to FPGA since it will only do what the compiler is "trained" to do. There are times when an intimate knowledge of logic can provide a unique solution that the compiler might not. A good deal of what is in a synthesizer amounts to a state machine or several state machines which can be written in C or an HDL. To my way of thinking, if you want to use C, then a microprocessor might serve better (realistically, less messing around) given the project can fit within the memory and clock speed of the chosen device. Ultimately, I eventually came back around to ARM chips (and yes, C). This world is less expensive and requires less support circuitry than an FPGA. The ARM contains the program in internal Flash while the FPGA needs an external Flash RAM and a CPLD that can shovel the data into the FPGA at power on. My opinion here is that FPGAs are very powerful tools, but these days might be considered overkill for a 32 voice polysynth unless you've coded up a large collection of some truly unique features. FPGAs also have a rather steep learning curve (and that is not meant to discourage you). If the project you plan is huge, an FPGA could easily be appropriate. But for what I was doing (32 to 64 voice polysynths), they were just more work and expense than I felt was justified. Given you already know the C language, have you looked at ARMs such as STM32H7 series for doing DSP work? They do have FPU hardware inside that works on both float and double types as well as having DSP instructions (such as multiply and accumulate). Again, this post is not to dissuade you from learning FPGA, it is to encourage you to look at your project's size and scope and make a good decision about the hardware to use. -- ScottG music-dsp@music.columbia.edu wrote: >P.S. On the topic of using FPGA's to implement lookup tables, I >discovered the following Hacakday article. Fortunately it simply in my >email inbox, about an hour or two, ago: > >https://hackaday.com/2020/01/10/using-lookup-tables-to-make-the-impossible-possible/ > >If you thought Theo's message was interesting then I recommend doing a >deep dive into this article too. For me it is (also) wonderfully >illuminating. > > >On 10/01/2020 11:48, Andrew Luke Nesbit wrote: >> On 10/01/2020 10:18, Theo Verelst wrote: >>> Hi all >> >> Hi Theo, >> >>> Maybe it's not everybody's cup of tea, but I recall some here are >>> (like me) interested in music applications of FPGA based signal >>> processing. >> Lately I have been researching exactly this topic. It's one of the >> primary areas of DSP research that I am considering directing my career >> towards and making a significant investment of resources in learning.site >> >> There is a lot of meaningful context in all of this. I'm looking >> forward to deploying my new website that should explain it. >> >> I have a strong backgroumd in music and audio signal processing. Not >> with FPGA however. >> >>> I made a video showing a real time "Silicon Compile" and test program >>> run on a Zynq board using Xilinx's Vivado HLS to create an FPGA bit >>> file >> I am overwhelmed by where to start in FPGA. This includes finding a >> hardware recommendation for a beginnerdevelopment kit. >> >> Nevertheless I have yet to look up a vendor of this FPGA development kit >> and toolchain and then to find out what prices. >> >>> that initializes a 64k short integer fixed point sine lookup table >>> (-pi/2 .. pi/2) which can be used like a C function with argument >>> passing by a simple test program running on ARM processors. >> This is great! It's simple, useful, and can be visualized with known >> expected results. It seems like a perfect starting project. >> >>> The main point is the power the C compilation can provide the FPGA >>> with, and to see the use of the latest 2019.2 tools at work with the >>> board, >> Might I rephrase this as the following? >> >> -  It's an exercise in selecting an appropriate FPGA development kit. >> This kit would be a good investment and sufficienly repurposeable for >> future DSP projects. >> >> -  Setting up the toolchain; learning a workflow; and acquainting >> oneself with the ecosystems of: >> >>    -Â
Re: [music-dsp] An example video: C to FPGA programming
Try also googling for 'fpga synthesizer element14' lot's of good stuff pt., 10 sty 2020, 21:37 użytkownik Andrew Luke Nesbit < em...@andrewnesbit.org> napisał: > P.S. On the topic of using FPGA's to implement lookup tables, I > discovered the following Hacakday article. Fortunately it simply in my > email inbox, about an hour or two, ago: > > > https://hackaday.com/2020/01/10/using-lookup-tables-to-make-the-impossible-possible/ > > If you thought Theo's message was interesting then I recommend doing a > deep dive into this article too. For me it is (also) wonderfully > illuminating. > > > On 10/01/2020 11:48, Andrew Luke Nesbit wrote: > > On 10/01/2020 10:18, Theo Verelst wrote: > >> Hi all > > > > Hi Theo, > > > >> Maybe it's not everybody's cup of tea, but I recall some here are > >> (like me) interested in music applications of FPGA based signal > >> processing. > > Lately I have been researching exactly this topic. It's one of the > > primary areas of DSP research that I am considering directing my career > > towards and making a significant investment of resources in learning.site > > > > There is a lot of meaningful context in all of this. I'm looking > > forward to deploying my new website that should explain it. > > > > I have a strong backgroumd in music and audio signal processing. Not > > with FPGA however. > > > >> I made a video showing a real time "Silicon Compile" and test program > >> run on a Zynq board using Xilinx's Vivado HLS to create an FPGA bit > >> file > > I am overwhelmed by where to start in FPGA. This includes finding a > > hardware recommendation for a beginnerdevelopment kit. > > > > Nevertheless I have yet to look up a vendor of this FPGA development kit > > and toolchain and then to find out what prices. > > > >> that initializes a 64k short integer fixed point sine lookup table > >> (-pi/2 .. pi/2) which can be used like a C function with argument > >> passing by a simple test program running on ARM processors. > > This is great! It's simple, useful, and can be visualized with known > > expected results. It seems like a perfect starting project. > > > >> The main point is the power the C compilation can provide the FPGA > >> with, and to see the use of the latest 2019.2 tools at work with the > >> board, > > Might I rephrase this as the following? > > > > - It's an exercise in selecting an appropriate FPGA development kit. > > This kit would be a good investment and sufficienly repurposeable for > > future DSP projects. > > > > - Setting up the toolchain; learning a workflow; and acquainting > > oneself with the ecosystems of: > > > > - FPGA-based DSP; > > > > - the Xilinx and FPGA support communities; > > > > - edge computing; and... > > > > circling back to the beginning... > > > > perhaps even providing a basic introduction to FPGA for somebody (like > > me?). > > > > In this last case what would be an appropriate "Step 1. Introduction to > > FPGA"? > > > > I guess that Xilinx's own documentation for new users of FPGA technology > > would be a good place to start. > > > > If anybody has recommendations for additional books, blogs, forums, etc, > > please let me know. Thank you!! > > > > In summary: Is Xilinx a good company to invest time into learning its > > ecosystem? This obviously includes spending money on dev kits with the > > aim of FPGA-basd DSP. For examples, is Xilinx's support good? Is the > > community ecosystem healthy? > > > > Kind regards, > > > > Andrew > > -- > OpenPGP key: EB28 0338 28B7 19DA DAB0 B193 D21D 996E 883B E5B9 > ___ > dupswapdrop: music-dsp mailing list > music-dsp@music.columbia.edu > https://lists.columbia.edu/mailman/listinfo/music-dsp ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] An example video: C to FPGA programming
P.S. On the topic of using FPGA's to implement lookup tables, I discovered the following Hacakday article. Fortunately it simply in my email inbox, about an hour or two, ago: https://hackaday.com/2020/01/10/using-lookup-tables-to-make-the-impossible-possible/ If you thought Theo's message was interesting then I recommend doing a deep dive into this article too. For me it is (also) wonderfully illuminating. On 10/01/2020 11:48, Andrew Luke Nesbit wrote: On 10/01/2020 10:18, Theo Verelst wrote: Hi all Hi Theo, Maybe it's not everybody's cup of tea, but I recall some here are (like me) interested in music applications of FPGA based signal processing. Lately I have been researching exactly this topic. It's one of the primary areas of DSP research that I am considering directing my career towards and making a significant investment of resources in learning.site There is a lot of meaningful context in all of this. I'm looking forward to deploying my new website that should explain it. I have a strong backgroumd in music and audio signal processing. Not with FPGA however. I made a video showing a real time "Silicon Compile" and test program run on a Zynq board using Xilinx's Vivado HLS to create an FPGA bit file I am overwhelmed by where to start in FPGA. This includes finding a hardware recommendation for a beginnerdevelopment kit. Nevertheless I have yet to look up a vendor of this FPGA development kit and toolchain and then to find out what prices. that initializes a 64k short integer fixed point sine lookup table (-pi/2 .. pi/2) which can be used like a C function with argument passing by a simple test program running on ARM processors. This is great! It's simple, useful, and can be visualized with known expected results. It seems like a perfect starting project. The main point is the power the C compilation can provide the FPGA with, and to see the use of the latest 2019.2 tools at work with the board, Might I rephrase this as the following? - It's an exercise in selecting an appropriate FPGA development kit. This kit would be a good investment and sufficienly repurposeable for future DSP projects. - Setting up the toolchain; learning a workflow; and acquainting oneself with the ecosystems of: - FPGA-based DSP; - the Xilinx and FPGA support communities; - edge computing; and... circling back to the beginning... perhaps even providing a basic introduction to FPGA for somebody (like me?). In this last case what would be an appropriate "Step 1. Introduction to FPGA"? I guess that Xilinx's own documentation for new users of FPGA technology would be a good place to start. If anybody has recommendations for additional books, blogs, forums, etc, please let me know. Thank you!! In summary: Is Xilinx a good company to invest time into learning its ecosystem? This obviously includes spending money on dev kits with the aim of FPGA-basd DSP. For examples, is Xilinx's support good? Is the community ecosystem healthy? Kind regards, Andrew -- OpenPGP key: EB28 0338 28B7 19DA DAB0 B193 D21D 996E 883B E5B9 ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] An example video: C to FPGA programming
On 10/01/2020 10:18, Theo Verelst wrote: Hi all Hi Theo, Maybe it's not everybody's cup of tea, but I recall some here are (like me) interested in music applications of FPGA based signal processing. Lately I have been researching exactly this topic. It's one of the primary areas of DSP research that I am considering directing my career towards and making a significant investment of resources in learning.site There is a lot of meaningful context in all of this. I'm looking forward to deploying my new website that should explain it. I have a strong backgroumd in music and audio signal processing. Not with FPGA however. I made a video showing a real time "Silicon Compile" and test program run on a Zynq board using Xilinx's Vivado HLS to create an FPGA bit file I am overwhelmed by where to start in FPGA. This includes finding a hardware recommendation for a beginnerdevelopment kit. Nevertheless I have yet to look up a vendor of this FPGA development kit and toolchain and then to find out what prices. that initializes a 64k short integer fixed point sine lookup table (-pi/2 .. pi/2) which can be used like a C function with argument passing by a simple test program running on ARM processors. This is great! It's simple, useful, and can be visualized with known expected results. It seems like a perfect starting project. The main point is the power the C compilation can provide the FPGA with, and to see the use of the latest 2019.2 tools at work with the board, Might I rephrase this as the following? - It's an exercise in selecting an appropriate FPGA development kit. This kit would be a good investment and sufficienly repurposeable for future DSP projects. - Setting up the toolchain; learning a workflow; and acquainting oneself with the ecosystems of: - FPGA-based DSP; - the Xilinx and FPGA support communities; - edge computing; and... circling back to the beginning... perhaps even providing a basic introduction to FPGA for somebody (like me?). In this last case what would be an appropriate "Step 1. Introduction to FPGA"? I guess that Xilinx's own documentation for new users of FPGA technology would be a good place to start. If anybody has recommendations for additional books, blogs, forums, etc, please let me know. Thank you!! In summary: Is Xilinx a good company to invest time into learning its ecosystem? This obviously includes spending money on dev kits with the aim of FPGA-basd DSP. For examples, is Xilinx's support good? Is the community ecosystem healthy? Kind regards, Andrew -- OpenPGP key: EB28 0338 28B7 19DA DAB0 B193 D21D 996E 883B E5B9 ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] An example video: C to FPGA programming
Am Fr., 10. Jan. 2020 um 11:20 Uhr schrieb Theo Verelst : > > > The main point is the power the C compilation can provide the FPGA with, > > and to see the > use of the latest 2019.2 tools at work with the board, some may find that > useful or > entertaining: > > https://youtu.be/Nel6QAvmGcs Great, thanks for sharing, Theo! I guess, this is the correct link, though: https://www.youtube.com/watch?v=kfWNfjcIO2Q Kind regards, Felix ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] An example video: C to FPGA programming
Hi Theo, I believe the link should be: https://www.youtube.com/watch?v=kfWNfjcIO2Q Thanks for sharing, Patric On 1/10/20 11:18 AM, Theo Verelst wrote: Hi all Maybe it's not everybody's cup of tea, but I recall some here are (like me) interested in music applications of FPGA based signal processing. I made a video showing a real time "Silicon Compile" and test program run on a Zynq board using Xilinx's Vivado HLS to create an FPGA bit file that initializes a 64k short integer fixed point sine lookup table (-pi/2 .. pi/2) which can be used like a C function with argument passing by a simple test program running on ARM processors. The main point is the power the C compilation can provide the FPGA with, and to see the use of the latest 2019.2 tools at work with the board, some may find that useful or entertaining: https://youtu.be/Nel6QAvmGcs Theo V ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp