From Simulink to NoC-based MPSoC

Double click on the video to see fullscreen.

The Ring on a 2x2 NoC

 

The 4 processors platform is configured so in this way:

  • Central: CPU_0_0, jtag_0_0, cpu_id 1, jtag_id 1
  • IR: CPU_1_0, jtag_1_0, cpu_id 2, jtag_id 3
  • Engines: CPU_2_0, jtag_2_0, cpu_id 3, jtag_id 4
  • Pinsensor: CPU_3_0, jtag_3_0, cpu_id 0, jtag_id 0

In the demo application, each processor receives one data, increase the data by 1, send the data to the following processor. One data takes 1 second to be sent to the following processor. So, for example, CPU_0_0 receives the value 0, and send the value 1 to CPU_1_0. After 1 second CPU_1_0 receives the value 1, and send the value 2 to CPU_2_0....

To test the demo application there are 2 ways:

  • use the Nios IDE or Nios EDS to create 4 projects, each project for each CPU. The projects should start from the "Hello World small" template, or have the exact same setting in the BSP. Copy the software files (.c, .h) for each cpu in the corresponding NIOS IDE/EDS project. Build the 4 projects. Download the .sof file on the board. "Run as hardware" the projects in the following order: CPU0, 1 , 2, 3. All projects must run at the same time, do not stop them. You should see some output on the Nios2 terminals of the Nios IDE.
  • Open 5 Nios2 Shells. 4 shells will be used to connect to the 4 processors, 1 shell to execute the commands. For each of the 4 shell run 1 of this commands:
    nios2-terminal -i 1
    nios2-terminal -i 3
    nios2-terminal -i 4
    nios2-terminal -i 0
    You are connected to the 4 processors through 4 terminals. Download the .sof file on the board. With the 5th shell download the provided .elf files (the compiled code) on each core using the following commands, in sequence:
    nios2-download -g -i 1 "path_to_file"Node_0_0.elf
    nios2-download -g -i 2 "path_to_file"Node_1_0.elf
    nios2-download -g -i 3 "path_to_file"Node_2_0.elf
    nios2-download -g -i 0 "path_to_file"Node_3_0.elf
    where "path_to_file" is the folder path where the .elf files are contained. You should see some output on the 4 terminals.

README

 

The webpage is UNDER CONSTRUCTION, so many of the links/resources are not yet available. Come back soon for new updates about this project!