Login / Register  0 items | $0.00 New#KVRDeals
tranceemerson
KVRist
 
68 posts since 8 Jul, 2007, from Seattle

Postby tranceemerson; Tue Nov 21, 2017 6:29 pm FPGA or ASIC or some kind of microprocessor

Generally, can someone explain to me the basic concept of using these for DSP development? I've done a bit of research on Google, but I want to make sure I understand what I'm reading up on it correctly.

the FPGA is a Field Programmable Gate Array that can be programmed to do a specific task. Does that mean that the microprocessor can do it's programmed task at it's full rate without having to leave processing time for other things? How does the information typically get out of the microprocessor and into the rest of the circuitry, is it some kind of ADAC? The other thing I want to know about is how the FPGA, or other type of microprocessor get programmed. that information I haven't been able to find yet. if you know of a good resource for me, just post it in the comments below. Thanks in advance!
PurpleSunray
KVRian
 
711 posts since 13 Mar, 2012

Postby PurpleSunray; Wed Nov 22, 2017 1:36 am Re: FPGA or ASIC or some kind of microprocessor

> Does that mean that the microprocessor can do it's programmed task at it's full rate without having to leave processing time for other things?

Yes. The microprocessor configures the DSP chip and delivers data to it. Microprocessor chip can do other tasks while DSP chip is processing the data.

> How does the information typically get out of the microprocessor and into the rest of the circuitry, is it some kind of ADAC?

Depends on the DSP chip.
Most common model is to use DMA (attached to memory bus via DMA controller) for data I/O and some serial bus (like HPI) to controll to the chip. So basically microprocessor does memcpy the audio data into specific memory area and tells the DSP chip "go process it" (or simply "start" and DSP will process a new bunch of data every clock cycle).

> The other thing I want to know about is how the FPGA, or other type of microprocessor get programmed
The FPGA, or the DSP chip you'r using?
The FPGA is programmed with some hardware description language. VHDL, Verilog or something like that.
You "programm" the DSP by configuring the processing stages (by sending commands on the HPI).
SISKO
KVRist
 
37 posts since 12 Jan, 2016

Postby SISKO; Sun Dec 03, 2017 6:58 am Re: FPGA or ASIC or some kind of microprocessor

In a typical embebed DSP system there are several basic building blocks. In one hand, you got the non-DSP specifyc part where generally theres is a micro-controller doing its stuff. Its called "controller" beacuse it controlls several non-real time things like user interface, memory bank, interruptions, etc.

On the other hand you got the DSP-specific part where gennerally you'll find some kind of processor. Here you'll find micro-processors, ASIC, FPGA, etc.. doing mostly receving data, processing it with lots of math processing, and dumping data to the outside world.

As its been said, DSP chips mostly gathers data trough DMA. DMA its a protocol to dump lots of data in a single shot. So the signal flow will be: ADC -> DMA buffer -> DSP -> DMA buffer 2 -> DAC. The micro-controller send signals and controls all these stages so they are in sync, and all keep working togehter like a team. In harmony :hug:
Obviously there are variations of the mentioned scheme.


ASIC and FPGAs can have both micro controller AND micro processor on its inside. You win space, but they are more expensive. In general, its cheaper to have a dedicated chips than to have a sinlge FPGA or ASIC chip. Unless you do VERY high volume production where the ASIC and FPGA price will fall down rapidly in contrast with the splitted version.

Most guitar pedals uses the splitted scheme. Boss pedales have ASIC too, but they are generally DSP ASIC, meaning that BOSS/Roland uses a custom made DSP chip that is also workin with a (maybe custom too) microcontroller .
Most live sound mixers uses FPGAs. FPGAs are super powerfull, they can take multiple parallel chanels processings with no complaint!


tranceemerson wrote:The other thing I want to know about is how the FPGA, or other type of microprocessor get programmed. that information I haven't been able to find yet. if you know of a good resource for me, just post it in the comments below. Thanks in advance!


You choose wich platform suits your needs (ASIC, FPGA, or "splitted version"), then select a target device (ie altera for fpga or TMS320C6713 for dsp), read the datasheet, learn their languajes if you dont know them (VHDL for fpga, C, C++ and little of asm for dsp) o hire someone to programm it for you.
Miles1981
KVRian
 
1272 posts since 26 Apr, 2004, from UK

Postby Miles1981; Mon Dec 04, 2017 4:25 am Re: FPGA or ASIC or some kind of microprocessor

ASIC are fixed logic made from a mask, there is no way any amateur can create one. Even big companies avoid them as much as possible and simulate their future ASICs with... FPGAs.
As such, "ASIC" is basically just a coprocessor, FPGA is easier (albeit slower) because you can put any logic you want in the coprocessor.

DSPs are just usual processors with additional IS (instruction sets) that are now available on Intel/AMD CPUs. There is absolutely no need to go for a DSP except if you want to go embedded.

Moderator: Moderators (Main)

Return to DSP and Plug-in Development