Login / Register 0 items | $0.00 New @ KVR
tranceemerson
KVRist
 
69 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
 
789 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
 
1355 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.
User avatar
engineer
KVRer
 
24 posts since 23 Jan, 2005, from Germany

Postby engineer; Mon Jul 23, 2018 4:43 pm Re: FPGA or ASIC or some kind of microprocessor

Maybe one could add, that it is no prob to transform any FPGA code into a digital asic. This is a common thing when lot number exceed a certain limit. For instance we recently moved a DSP-System tested in an FPGA from a Kintex to an ASIC. Reason:

- needs 1A instead of 8A during operation at 300 MHz speed
- can run at 1200MHz and has less current demand though (5A)
- creates less overtemperature and thus is in SPEC of max 60degrees
- is cheaper starting from 300 devices (600 devices taking ASIC design into account)
- is more beam resistant against EMI
- is smaller
- cannot be copied

so ASICs are nothing mysterious anymore.
Kraku
KVRian
 
1399 posts since 13 Oct, 2003, from Prague, Czech Republic

Postby Kraku; Tue Jul 24, 2018 1:30 am Re: FPGA or ASIC or some kind of microprocessor

engineer wrote:- is cheaper starting from 300 devices (600 devices taking ASIC design into account)


Wow, what's the math behind this? :o

If I've read correctly from other sources, the tooling costs to create an ASIC can easily cost around $100k? After that it's cheap to create the chips.
MadBrain
KVRian
 
948 posts since 1 Dec, 2004

Postby MadBrain; Fri Jul 27, 2018 11:48 am Re: FPGA or ASIC or some kind of microprocessor

Another option that makes sense for people starting out is that the lastest generation of microcontrollers are fast enough for smaller DSP jobs - for instance the Teensy 3.6 board has a ~180mhz ARM with an FPU (probably enough for a polyphonic VA!).
Kraku
KVRian
 
1399 posts since 13 Oct, 2003, from Prague, Czech Republic

Postby Kraku; Sun Jul 29, 2018 6:40 am Re: FPGA or ASIC or some kind of microprocessor

MadBrain wrote:Another option that makes sense for people starting out is that the lastest generation of microcontrollers are fast enough for smaller DSP jobs - for instance the Teensy 3.6 board has a ~180mhz ARM with an FPU (probably enough for a polyphonic VA!).


ARM MCUs also have SIMD instructions ("DSP instruction set" as they advertise it) and I think the latest ARM Cortex M7 MCUs also have 64 bit floating points. The new ones go up to 600 MHz and cost next to nothing :)

Here's one (or two) :
https://eu.mouser.com/datasheet/2/302/i ... 381468.pdf

These days the MCUs have equal amount of processing power to DSPs of the same price range. ARM MCUs are easier to program and have tons of free tools available for them. It makes sense to start with ARM MCUs.

Moderator: KVR Moderators (Main)

Return to DSP and Plug-in Development