External Memory Interfaces Agilex™ 7 M-Series FPGA IP Design Example User Guide

ID 772632
Date 11/18/2024
Public
Document Table of Contents

2.10. Generating the EMIF Design Example with the Performance Monitor

You can use the Performance Monitor to check the performance metrics of the EMIF interface.
  1. When generating the design example, click the Enable performance monitor checkbox. This parameter causes the generated design example to include a performance monitor, known as the PMON Performance Monitor FPGA IP, which allows you to measure performance on an AXI4 mainband interface. The performance monitor is a synthesizable block consisting of control and status registers that let you configure and modify the performance metrics of the EMIF Interface. PMON allows you to measure the following performance metrics:
    • Read latency
    • Write latency
    • Read efficiency
    • Write efficiency
    • Overall efficiency
    • Subchannel efficiency
    • Subchannel back pressure
    • Expected transactions in subchannel
    Note: Do not run any traffic on the interface that PMON is monitoring, while you are configuring PMON. Failure to observe this restriction can result in inaccurate measurements.
    Note: The Performance Monitor works only for channel 0.
  2. To open the design example, click File > Open project, and navigate to the Quartus® Prime Pro Edition software folder containing the design example directory, such as:
    <project_directory>/<example_design_directory>/qii/ed_synth.qpf

    Click Open.

  3. You can make the necessary pin assignments in the .qsf file or in the Pin Planner.
  4. To begin compilation, click Processing > Start Compilation. The successful completion of compilation generates a .sof file, which you can use to run the design on hardware
  5. Load the pmon_library.tcl file in the system-console by entering the following command:
    source pmon_library.tcl
  6. Set the metric configuration on desired AXI4 performance monitors:
    pmon_set_all basic_eff
  7. Clear the counters and internal state of all performance monitors by typing the following command:
    pmon_reset_counter_data_all
  8. Run traffic over the interface by typing:
    testengine_run
  9. Read the efficiency metrics on the AXI4 performance monitor by typing:
    pmon_read_all