Диагностика симуляции

SoC Blockset™ включает симуляцию и оценку транзакций памяти в Simulink® без потребности развернуть модель на устройстве SoC. Используйте эту диагностическую информацию, чтобы анализировать производительность ваших моделей и настроить по мере необходимости, чтобы удовлетворить желаемые требования производительности системы. Симуляция генерирует два типа визуализации трафика памяти:

  • Графики Производительности симуляции – Обеспечивают диагностику производительности высокого уровня системы памяти модели. Пропускная способность памяти, пакетные количества и задержки транзакции вычисляются от симуляции вашей модели. Можно просмотреть эту информацию для каждого ведущего устройства памяти в модели или полное представление от контроллера памяти.

  • Буферизуйте и Пакетные Формы волны – Обеспечивает пакетную отладочную информацию транзакции от симуляции, включая использование буферных областей.

Можно также получить фактическую пропускную способность, количество пакетов и измерения задержки из проекта, работающего на FPGA, и просмотреть информацию об отдельных пакетных транзакциях. Эта информация получена включением соединительного IP монитора AXI в проекте FPGA и запроса данных по ведущей связи JTAG AXI от хоста. Смотрите информацию о Производительности Памяти от Выполнения FPGA.

Буферизуйте и пакетные формы волны

SoC Blockset позволяет регистрировать сигналы симуляции и визуализировать регистрируемые сигналы с помощью инструмента Logic Analyzer. Включить журналирование сигнала, Набор Memory diagnostics level к Basic diagnostic signals в параметрах конфигурации модели, под Hardware Implementation> Target hardware resources> FPGA design (debug).

После симуляции вашей модели найдите Logic Analyzer наверху своего окна Simulink.

Инструмент Logic Analyzer обеспечивает визуализацию форм волны сигнала, чтобы показать синхронизацию различных событий модели памяти. Для получения дополнительной информации об инструменте, смотрите Logic Analyzer.

Logic Analyzer отображает сигналы от Контроллера памяти и от блоков Канала Памяти.

  • Разорвите формы волны

    Формы волны от контроллера памяти включают информацию для пакетов от ведущих устройств в системе. Формы волны являются цветом, закодированным, чтобы дифференцировать различные ведущие устройства. Эти формы волны дают понимание упорядочивания каждого из ведущих устройств через общую память. Для каждого ведущего устройства просмотрите следующие сигналы:

    • BURST_EXECUTION_EVENT: Состояние текущего пакетного запроса. Допустимые состояния: ни одно (неактивное), запрос, выполнение, сделанное. Для получения дополнительной информации о состоянии контроллера памяти, смотрите Контроллер памяти.

    • ReqID: Идентификатор текущего пакетного запроса. Постепенно увеличивающийся номер, который уникален в течение симуляции.

    • burstTransfersCompleted: рабочее количество переданных пакетов. Если никакие пакеты не уронены в канале памяти, количество переданных пакетов совпадает с ReqID. Если пакеты уронены, ReqID становится больше, чем это количество.

    • BytesTransferred: рабочее количество переданных байтов.

    Следующие данные показывают сигналы после того, как симуляция Будет Анализировать Пропускную способность Памяти Используя Генераторы Трафика.

    Формы волны включают информацию о пакете для этих четырех ведущих устройств, отображенных в различных цветах. Эта информация коррелирует к Графикам Задержки Контроллера памяти.

  • Буферные формы волны

    Формы волны от канала памяти включают информацию для буферного чтения и транзакций записи в канале. Каждая область памяти разделена на несколько буферов, заданных параметром Number of buffers блока Memory Channel. Средство записи заполняет буферы, и читатель освобождает их. Эти формы волны дают понимание упорядочивания средства записи и читателя для данной области. Буферные формы волны включают следующие сигналы:

    • REGION_BUFFER_EVENT: Состояние текущего буферного запроса. Допустимые состояния: ни одно (неактивное), запрос, выполнение, сделанное. Для получения дополнительной информации о состоянии канала памяти, смотрите Канал Памяти.

    • BufReqID: Идентификатор текущего буферного запроса. Постепенно увеличивающийся номер, который уникален в течение симуляции.

    • BufferAddress: смещение Начального адреса текущего буфера. Буферный адрес повторяется как циклы симуляции через буферы, отражая контуры адреса буферов.

    • BufGntCurrentBuf: в настоящее время активный буфер, заданный от 1 до количества буферов в канале. BufGntCurrentBuf указывает на буфер, записанный в (на стороне средства записи) или буфер, считанный из (на стороне читателя).

    • BufRelCurrentBuf: буфер в настоящее время выпущен читателем или средством записи, заданным от 1 до количества буферов в канале. На стороне читателя, когда буфер выпущен, это доступно средству записи для записи. На стороне средства записи, когда буфер выпущен, это доступно читателю для чтения.

    • BufAvail: количество буферов, в настоящее время доступных читателю для чтения. Это значение идентично на читателе и стороне средства записи.

    • BufTransfersCompleted: рабочее количество переданных буферов. Если никакие буферы не пропущены в области памяти, количество переданных буферов совпадает с BufReqID. Если буферы пропущены, BufReqID больше, чем это количество.

    • icFIFOEntries: Количество пакетов записано во взаимосвязанный FIFO.

    • icFIFODroppedCount: Количество пакетов исключено из взаимосвязанного FIFO.

  • Следующие данные показывают буферные сигналы после симуляции Коррекции Гистограммы Используя Буфер Кадра видео.

Можно связать операцию модели памяти с интерфейсом протокола, чтобы понять производительность модели. Следующие данные показывают, как связать операцию модели памяти с интерфейсом протокола.

Смотрите также

| |

Похожие темы