-
FPGA ?
Posted by
JanJansen
on 10 Apr, 2018 15:22
-
Hi, so i discovered FPGA does really stand for something.
How can i use it to make a synthesizer ?
Normally i have some MCU, only for polyphonic synths it dont has power enough,
now i found out that it is possible to make a synthesizer with FPGA, i seen this movie on youtube :
Where do i start ?, any chance i can buy it in DIP package ?
thanks
-
#1 Reply
Posted by
Berni
on 10 Apr, 2018 15:56
-
FPGAs are not available in DIP. Best bet is to buy a cheap development board that brings out a lot of the pins on easy to access 0.1 inch headers.
Programing FPGAs is also a whole different manner. They do not execute code but are instead internally rewired to implement a logic function out of digital building blocks (Like logic gates but more advanced). As a result they are programed in special HDL languages that are basically text based representations of logic functions and flipflops and as such bares no similarities to usual programing languages like C, Basic, Python etc.
-
#2 Reply
Posted by
JanJansen
on 10 Apr, 2018 16:24
-
I dont understand how can you make a sinewave with gates ?
-
#3 Reply
Posted by
kony
on 10 Apr, 2018 16:27
-
NCO + LUT or CORDIC. Not all that different from how you would do it on MCU executing code really.
-
#4 Reply
Posted by
NorthGuy
on 10 Apr, 2018 16:36
-
FPGA is a little bit of overkill, but it'll surely work rather easily, especially if you want to generate and mix gazillions of channels.
FPGAs do not have DACs. Logic is pure digital. Thus you'll need to use external DACs. On the other hand, FPGAs are very fast, so you may be able to generate fast PWM and pass it through a low-pass filter to get a decent sound signal.
Also, FPGAs are more expensive, they require multiple voltages, they don't have flash. So making an FPGA board is more difficult than MCU, but you can buy a ready-made one to start from.
-
#5 Reply
Posted by
james_s
on 10 Apr, 2018 16:38
-
It's possible to implement most of the DAC in an FPGA, I routinely use a delta-sigma DAC which requires only an external low pass filter, just a resistor and capacitor.
-
#6 Reply
Posted by
Berni
on 10 Apr, 2018 16:42
-
Yep as kony said an algorithm is used to generate the values for each sample in the sine wave. You can execute the algorithm in a MCU or you can build digital logic that calculates the same mathematical expressions using dedicated logic.
The difference is that a MCU normally has only one ALU(Arithmetic Logic Unit). This is the pile of logic inside the CPU that actually does your mathematical calculations so the software in the MCU has to feed the algorithms calculations trough that ALU one operation at a time. On the other hand inside a FPGA one can build simpler versions of this same ALU that can only do one type of operation (Add, Subtract, Multiply etc) but then copy paste them so that multiple math operations in the algorithm can be calculated at the same time, each mini ALU working on its own part of the altogether in parallel. This essentially creates a so called "single purpose computer" with logic that is hardwired to run this specific algorythem.
Because you can just keep copy pasting these and FPGAs can generally hold a lot of copies of these "single purpose computers" in one chip means that even a small FPGA could be doing 100x more math operations per second than a typical MCU and as such can run the algorithm that much faster.
In the end the the MCU or FPGA send the data out to a DAC anyway and thats where the digital numbers finally become a analog sine wave.
-
#7 Reply
Posted by
JPortici
on 10 Apr, 2018 18:04
-
FPGA is a little bit of overkill, but it'll surely work rather easily, especially if you want to generate and mix gazillions of channels.
FPGAs do not have DACs. Logic is pure digital. Thus you'll need to use external DACs. On the other hand, FPGAs are very fast, so you may be able to generate fast PWM and pass it through a low-pass filter to get a decent sound signal.
Also, FPGAs are more expensive, they require multiple voltages, they don't have flash. So making an FPGA board is more difficult than MCU, but you can buy a ready-made one to start from.
Aaaah the HOAX
https://github.com/heise/HOAXit was my understanding that he used a FPGA to model all 91 tonewheels in an hammond, vibrato scanner, plus some other logic to implement a leslie emulation
but i admit i never had a close look at the project
-
#8 Reply
Posted by
rhb
on 10 Apr, 2018 23:52
-
I'm just getting started with FPGAs. It's a *lot* more complex than programming an MCU or writing DSP code for a workstation or supercomputer.
As noted, the FPGA is overkill for audio, unless you want to synthesize a few dozen Leslies at once along with several Moogs. I suspect a BeagleBoard X15 would meet your needs with far less effort.
However, if you want to play with FPGAs, I strongly recommend getting a MicroZed board. There is a staggering range of tutorials for it. There are cheaper boards, but the documentation is skimpy. Also the Zynq has a fast dual core ARM with NEON FPUs, so you can prototype on the ARM and then move the execution of CPU intensive portions to the FPGA.
There is a *lot* more to it. So read about the Zynq for a few days.
-
#9 Reply
Posted by
james_s
on 11 Apr, 2018 00:36
-
I wouldn't necessarily say FPGA development is a lot more complex than writing software, rather it's a lot *different* and if you enter it with the attitude that you are writing software you are likely to have difficulty. FPGA "programming" is hardware development, learning to describe the hardware is actually relatively easy, but learning to design complex digital hardware is quite challenging, thus FPGA development is challenging. Stick with it though, as tricky as it is, it's also incredibly cool.
-
#10 Reply
Posted by
rhb
on 11 Apr, 2018 01:50
-
A fair statement. It certainly *not* more complex than the seismic processing codes I've written or worked on. But it's more complex in that there are all sorts of constraints that you don't face in pure software. And there are a *huge* number of new acronyms to learn.
But it *is* very cool. I spent enough time in grad school that I expect to do most new things 3-4 times before I am done. My sole complaint is having to do chores.
The only real obstacle is a an HP 8560A which came yesterday and an 8569A which will arrive in a month or two. Well, plus some LM399s and an HP 3478A. Oh, and some other toys ;-)
-
#11 Reply
Posted by
BrianHG
on 11 Apr, 2018 02:59
-
Where do i start ?, any chance i can buy it in DIP package ?
thanks
Only use an FPGA if you wish to spend 6 months to a year learning how to work with one.
You wont find a DIP FPGA, but, you will find development boards, with standard dual row 0.1" headers to all the IO pins. Some dev boards already have DACs and ADCs of different grades, some even designed for audio. Save you from wiring the bootprom, the crystal oscillator, voltage regulator, decoupling caps, and solves a bunch of beginner hardware aspects to ease your life.
-
#12 Reply
Posted by
lawrence11
on 11 Apr, 2018 03:58
-
DIP FPGA, now that is a good one.
And people think my 2 layer BGA board is silly.
-
#13 Reply
Posted by
james_s
on 11 Apr, 2018 05:02
-
Well I guess there are PALs and GALs, they're an early relative of the FPGA and can occasionally be found in DIP packages.
-
#14 Reply
Posted by
JanJansen
on 11 Apr, 2018 16:23
-
Thanks for the reply`s all.
I like to make my own dev board better then buying one, i will try with a DIP converter maybe if that is possible.
I am looking at mouser, there are FPGAs from €1,24 to €30.098,92, very funny.
If i buy some cheap chip is the software that is needed free to use and fully optimized ?
-
#15 Reply
Posted by
james_s
on 11 Apr, 2018 16:40
-
The cheapest way to get started with FPGAs that I know of is with the EP2C5T144C8 "mini board" dev boards that you can buy for about US$14 from many Chinese sellers on ebay and other sites. These boards are cheaper than buying a bare FPGA and they are all ready to go. You will not be able to do anything with a DIP layout, they do not have enough pins.
The software you use depends on the FPGA manufacture, Altera (Intel) Quartus II and Xilinx ISE are the two I'm familiar with and both have free versions with some minor limitations.
-
-
If you find a 5V DIP FPGA let me know.
-
#17 Reply
Posted by
NorthGuy
on 11 Apr, 2018 18:22
-
-
#18 Reply
Posted by
legacy
on 11 Apr, 2018 18:33
-
If you find a 5V DIP FPGA let me know.
there are SOM modules with Xilinx chip on it, plus level shifter. All of this in DIP a BIG 48pin package.
But it's a chip, it's a SOM, and it's a bit priced.
-
#19 Reply
Posted by
legacy
on 11 Apr, 2018 18:38
-
do you know, guys, any low-cost (<200Euro) fpga (Xilinx is my choice) with usb3343 onboard?
-
#20 Reply
Posted by
NiHaoMike
on 12 Apr, 2018 00:37
-
do you know, guys, any low-cost (<200Euro) fpga (Xilinx is my choice) with usb3343 onboard?
There's a $100 Artix 7 35T board with FX3 USB 3.0 option on Ebay.
-
#21 Reply
Posted by
BrianHG
on 12 Apr, 2018 03:42
-
-
-
There are also the Lattice breakout boards - approx $25 - MachXO2 and MachXO3.
-
#23 Reply
Posted by
mac.6
on 12 Apr, 2018 15:01
-
Do not rush on fpga dev board!
First learn some HDL (verilog/vhdl, pick your poison), then simulate and test your design. All this is 0$.
Once you have something that behave correctly on your testbench, select your fpga and synthesize.
-
#24 Reply
Posted by
JanJansen
on 12 Apr, 2018 16:32
-
Normally with flash MCUs they guarantee 40 years, after that the flash might be corrupted.
How does this count for FPGA ?, are they staying good longer or do they also use flash for the programming ?
Can you also reprogram FPGA 100.000 times like a flash MCU ?
Can i pick any FPGA ?, they all do the same ?
thanks