Specifying System Ports

The sys_port pragma allows you to override the SDSoC system compiler port selection to choose the ACP or one of the AFI ports on the Zynq-7000 AP SoC Processing System (PS) to access the processor memory.

  1. You do not need to generate an SD card boot image to inspect the structure of the system generated by the SDx system compiler, so set project linker options to prevent generating the bit stream, boot image and build.
    1. Click on the lab3 tab to select the SDx Project Settings.
    2. Deselect the Generate bitstream and Generate SD card image check boxes.
  2. Right-click on the top level folder for the project in Project Explorer and select Build Project.
  3. When the build completes, in the Reports panel, double-click Data Motion Network Report to view the Data Motion Network report. The report contains a table describing the hardware/software connectivity for each hardware function.

    The right-most column (Connection) shows the type of DMA assigned to each input array of the matrix multiplier (AXIDMA_SIMPLE= simple DMA), and the Processing System 7 IP port used. The table below displays a partial view of the data_motion.html file, before adding the sys_port pragma.

  4. Add sys_port pragma.
    1. Double-click mmultadd.h file in the Project Explorer view, under the src folder, to open the file in the source editor.
    2. Immediately preceding the declaration for the mmult function, insert the following to specify a different system port for each of the input arrays.
      #pragma SDS data sys_port(A:ACP, B:AFI)
    3. Save the file.
  5. Right-click the top-level folder for the project and click on Clean Project in the menu.
  6. Right-click the top-level folder for the project and click on Build Project in the menu.
  7. When the build completes, click on the tab showing the Data Motion Network Report (data_motion.html file).
  8. Click anywhere in the Data Motion Network Report pane and select Refresh from the context menu.

    The connection column shows the system port assigned to each input/output array of the matrix multiplier.

  9. Delete the pragma #pragma SDS data sys_port(A:ACP, B:AFI) and save the file.