In hybrid systems, we can have DSPs, FPGAs, General purpose processors, etc on the same system operating together on the same application. How are the tasks distributed among them, and which unit manages this?

hybrid electronic processing system

  • 1
    \$\begingroup\$ 2 answers and noone upvoted the Q? \$\endgroup\$ – Octopus Mar 27 '15 at 20:03
  • \$\begingroup\$ Don't know what it means but +1 for interesting question. \$\endgroup\$ – Piotr Kula Mar 27 '15 at 22:59

The crossbar bus will have some arbitration and communication protocol, such as AMBA for ARM systems. Some of the peripherals will be able to 'bus master' and/or access memory.

One of the processors - usually the most generic ARM - will boot first, from ROM or external Flash. Other parts of the system will be held in reset until they are initialised.

Assigning tasks is the job of the operating system. It's much like the use of graphics and sound accelerators on regular PCs.


It depends on what you are trying to build, there's no one answer for how to split up a design or even what the best way to implement it is. You have to look at what you are building, and then make trade offs. You need to understand your problem, your market, and each of the components you can use to make the correct ones.

For instance you may decide to tackle a digital filter with a DSP, but maybe you could do it with less power in an FPGA. Maybe you don't have any FPGA experience though, and your application is not really that power conscious. Just an example.

As for who coordinates, in my experience it's almost always the CPU. Usually we use the CPU to setup the pipeline and then let it go. The components feedback status to the CPU if they need to and the software makes changes or re-configures as needed. That's not the only way to do it just a common one.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.