If the DMA does not work for you or it is too complex, you can still implement a multiprocessor Nios II system.
For example, as you said, you can use a dual ported onchip ram (or a tightly coupled memory) to exchange data between the CPUs.
On the software side, you have a few options, like:
- Altera HAL: using a mailbox for the communication;
- ERIKA Enterprise: using a modification of the FIFO message passing example available at the end of the erika enterprise literature page (
http://www.evidence.eu.com/nios2/literature.asp).
or you can try ucLinux, although it has a much larger footprint than the previous ones and I do not know which kind of support it gives to multicore designs...
bye
Paolo