Step 3: Running Hardware Emulation

This step covers running Hardware Emulation feature as well as looking at the basics of profiling and reports.

  1. To run Hardware Emulation, go to SDx Application Settings and make sure that Active build configuration is set to Emulation-HW, then click Run. This takes some time to complete.

    Note: The main difference between Emulation-SW and Emulation-HW is that emulating hardware builds a design that is closer to what is seen on the platform. This means data related to bandwidth, throughput, and execution time are more accurate. This causes the design to take longer to compile.
  2. In the Reports tab, open System Estimate. This is a text report that provides information related to kernel information, timing about the design, clock cycles, and area used in the device.

    Figure: System Estimate

  3. In the Reports tab, open Profile Summary. This summary report provides detailed information related to kernel operation, data transfers, and OpenCL™ API calls as well as profiling information related to the resource usage, and data transfer to/from the kernel/host. It also provides detailed guidance in how to meet the profile rule checks.
    Note: The simulation models used in HW Emulation are approximate. Profile numbers shown are just an estimate and may vary from results obtained in real HW.

    Figure: Profile Summary Report

  4. Scroll to the right in the Profile Rule Checks and look for the header column labeled Guidance. This is where unmet checks provide some information on how to optimize the kernel.

    Figure: Profile Rule Checks

    Note: To see other performance optimization techniques and methodologies, Refer to the SDAccel Environment Profiling and Optimization Guide.
  5. Open the Application Timeline report. This report shows the estimated time it takes for the host and kernel to complete the task and provides finer grained information on where bottlenecks can be. In this example, it is iterated twice and this timeline shows the kernel is run twice. Adding a marker, zooming, and expanding signals can help in identifying bottlenecks.

    Figure: Application Timeline Report

  6. Open the HLS Report. This report provides detailed information provided by Vivado® HLS on the kernel transformation and synthesis. The tabs at the bottom provide more information on where most of the time is spent in the kernel and other performance related data. Some performance data may include latency and clock period.

    Figure: HLS Report