collectMemoryStatistics

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

Синтаксис

collectMemoryStatistics(profiler)

Описание

пример

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

Примеры

свернуть все

Соединительный монитор AXI (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, несмотря на то, что транзакции продвигаются межсоединение. Установите размер транзакции FIFO, Trace capture depth, в параметрах конфигурации модели, под Hardware Implementation> Target hardware resources> FPGA design (debug).

collectMemoryStatistics(profilerObj);

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

plotMemoryStatistics(profilerObj);

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

свернуть все

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

Введенный в R2019a