Tasks placement tool for multiprocessor systems on a chip for Altera DE2 cards


This example (used for the demonstration presented by N. PREMILLIEU and J. L'HERMITTE) show a part of the compression process of JPEG file (see wikipedia). It is the multi_cpu example included in archives.

However, instead of interest us in the examples, we will place the 4 tasks on 2 processors, starting from the example with 4 processors.

1. Open the project

In order to open the project, we must click on the open button in the tool bar, or use the menu. In the new window, find the file demo_multi.xml, and open it. The path must not contain any spaces.

2. Edit the architecture

The Kahn Process Network do not need to be changed (despite the display bugs, just move the processes and all will be fine). The architecture has to get rid of 2 processors. So we have to click on the architecture tab, and delete the components (Memory3, 4 and 5, CPU3 and 4).

3. Allocation

Then the tasks Quantization and DCT have to be placed on the to other processors, this is done through a drag and drop.

4. Parameters

For each task, make sure that all the parameters are correct. We have to search the sources, give a single priority to each task, specify an entry point, and define a stack size (generaly, the default value 2048 is sufficient). Do not forget to hit ENTER. Then the workspace has to be set, where the code will be compiled. No space are allowed in the differents paths.

5. Generation & Compilation

With the button "Generate the code", it is possible to generate and compile the code. This step is the longest process (several tens of minutes). During the compilation, the windows becomes inaccessible.

The compilation ends when the consol show "Finish", and the windows becomes accessible.

6. Execution

Once all is compiled, the code has to be send on the DE2 card with the button "Show Shell frame".

When all the commands "nios2-download" are completed, the nios2-terminal is called to show the execution.

TaskMapper - 2007-2008