collectMemoryStatistics

Получите данные о производительности из соединительного монитора AXI

Описание

пример

collectMemoryStatistics(profiler) получает данные о производительности из IP AXI interconnect monitor, работающего на вашей аппаратной плате. profiler объект представляет связь с тем IP. Когда AXI interconnect monitor сконфигурирован в 'Profile' режим, вызовите эту функцию в цикле, чтобы получить среднюю задержку транзакции и количества пакетов и байтов, в то время как транзакции происходят. В 'Trace' режим, вызовите эту функцию однажды после того, как транзакции памяти будут завершены, чтобы получить подробные данные о событиях транзакции памяти.

Примеры

свернуть все

AXI interconnect monitor (AIM) является ядром IP, которое собирает показатели производительности для основанного на AXI проекта FPGA. Создайте socIPCore возразите, чтобы установить и сконфигурировать IP AIM и использовать socMemoryProfiler объект получить и отобразить данные.

Для примера того, как сконфигурировать и запросить IP AIM в вашем проекте с помощью MATLAB® как Ведущее устройство AXI, смотрите, Анализируют Полосу пропускания Памяти Используя Генераторы Трафика. А именно, рассмотрите soc_memory_traffic_generator_axi_master.m скрипт, который конфигурирует и контролирует проект на устройстве.

Монитор производительности может собрать два типа данных. Выберите режим Profile, чтобы собрать среднюю задержку транзакции и количества байтов и пакетов. В этом режиме можно запустить графический инструмент эффективности, и затем сконфигурировать инструмент, чтобы построить полосу пропускания, разорвать количество и задержку транзакции. Выберите режим Trace, чтобы собрать подробные данные о событиях транзакции памяти и просмотреть данные как формы волны.

Mode = 'Profile'; % or 'Trace'

Чтобы получить диагностические показатели производительности из вашего сгенерированного проекта FPGA, необходимо настроить связь JTAG с устройством из MATLAB. Загрузите .mat файл, который содержит структуры, выведенные из параметров конфигурации платы. Этот файл был сгенерирован инструментом SoC Builder. Эти структуры описывают межсоединение памяти и ведущую настройку, такую как буферные размеры и адреса. Используйте socHardwareBoard возразите, чтобы настроить связь JTAG.

load('soc_memory_traffic_generator_zc706_aximaster.mat');
hwObj = socHardwareBoard('Xilinx Zynq ZC706 evaluation kit','Connect',false);
AXIMasterObj = socAXIMaster(hwObj);

Сконфигурируйте AIM. socIPCore объект обеспечивает функцию, которая выполняет эту инициализацию. Затем создайте socMemoryProfiler объект собрать метрики.

apmCoreObj = socIPCore(AXIMasterObj,perf_mon,'PerformanceMonitor','Mode',Mode);
initialize(apmCoreObj);
profilerObj = socMemoryProfiler(hwObj,apmCoreObj);

Получите показатели производительности или данные сигнала из проекта, работающего на FPGA при помощи socMemoryProfiler функции объекта.

Для 'Profile' режим, вызовите collectMemoryStatistics функция в цикле.

NumRuns = 100;
for n = 1:NumRuns
    collectMemoryStatistics(profilerObj);
end
Время установки проекта JTAG долго относительно времени транзакции FPGA, и если у вас есть небольшое количество транзакций в вашем проекте, они могут уже завершиться к тому времени, когда вы запрашиваете монитор. В этом случае график полосы пропускания показывает только одну выборку, и вычисление пропускной способности не точно. Если эта ситуация происходит, увеличьте общее число транзакций, которые выполняет проект.

Для 'Trace' режим, вызовите collectMemoryStatistics функция однажды. Эта функция мешает IP писать транзакции в FIFO в IP AXI interconnect monitor, несмотря на то, что транзакции продвигаются межсоединение. Установите размер транзакции FIFO, Trace capture depth, в параметрах конфигурации модели, под Hardware Implementation> Target hardware resources> FPGA design (debug).

collectMemoryStatistics(profilerObj);

Визуализируйте данные о производительности при помощи plotMemoryStatistics функция. В 'Profile' режим, эта функция запускает графический инструмент эффективности, и можно сконфигурировать инструмент, чтобы построить полосу пропускания, разорвать количество и среднюю задержку транзакции. В 'Trace' режим, эта функция открывает инструмент Logic Analyzer, чтобы просмотреть пакетные данные о событиях транзакции.

plotMemoryStatistics(profilerObj);

Входные параметры

свернуть все

Профилировщик памяти возражает в виде socMemoryProfiler объект, который обеспечивает доступ к IP AXI memory interconnect, работающему на аппаратной плате.

Введенный в R2019a