Memory Controller

Арбитражные транзакции памяти для одного или нескольких блоков Memory Channel

  • Библиотека:
  • SoC Blockset/Память

  • Memory Controller block

Описание

Блок Memory Controller арбитрирует между мастерами и предоставляет им уникальный доступ к общей памяти. Сконфигурируйте этот блок для поддержки нескольких каналов с различными арбитражными протоколами. Блок Memory Controller также инструментализируется для регистрации и отображения данных о эффективности, что позволяет вам отлаживать и понимать эффективность вашей системы во время симуляции.

На следующем изображении показана реализация блока Memory Controller.

Цифры в изображении представляют различные стадии задержки блока.

  1. В блок поступает пакетный запрос.

  2. Запрос может быть отложен арбитражем до тех пор, пока ему не будет предоставлен доступ к bus. установить арбитражную политику в арбитраже Interconnect.

  3. Если ваша модель требует дополнительной задержки перед началом первой передачи, установите это значение в Request to first transfer (в часах).

  4. Задержка выполнения пакета вычисляется размером пакета, шириной данных, тактовой частотой и значением снижения полосы пропускания (%).

  5. Если ваша модель требует задержки от завершения пакета до выдачи пакетного ответа каналу, установите это значение в поле Последняя передача в транзакцию завершена (в часах).

Контроллер памяти имеет внутреннее состояние, которое видно при использовании Logic Analyzer для просмотра метрик симуляции и выполнения. Значения состояния:

  • BurstRequest: Запрос пакета поступает в блок.

  • BurstExecuting: Пакет выполняется.

  • BurstDone: Пакет выполнен.

  • BurstComplete: Пакет завершен, и сигнал burstDone отправляется в ведущее устройство.

Для получения информации о визуализации задержек контроллера памяти смотрите Графики задержки контроллера памяти.

Ограничения

  • Когда Interconnect arbitration установлено на Round Robin, модель не поддерживает симуляции шага. Для получения дополнительной информации о шаге симуляции, см. Simulation Stepper.

Порты

Вход

расширить все

Этот порт получает запросы на доступ к памяти как сообщения. Подключите этот входной порт к одному из портов сообщений запроса пакета (wrBurstReq или rdBurstReq) из Memory Channel или Memory Traffic Generator блока. Дополнительные сведения о сообщениях см. в разделе Сообщения.

Количество burstReq N входные порты определяются параметром Number of masters. burstReq N представляет Nth входной порт.

Типы данных: BurstRequest2BusObj

Выход

расширить все

После предоставления хозяину доступа к памяти и завершения пакетной транзакции этот порт отправляет сообщение о завершении транзакции. Доступ к памяти затем предоставляется следующему мастеру согласно арбитражной схеме. Дополнительные сведения о сообщениях см. в разделе Сообщения.

Количество burstDone N выходные порты определяются параметром Number of masters. burstDone N представляет Nth-й входной порт

Типы данных: BurstRequest2BusObj

Параметры

расширить все

Это свойство доступно только для чтения.

Этот параметр показывает ссылку на выбранную аппаратную плату. Щелкните ссылку, чтобы открыть параметры конфигурации и настроить настройки или выбрать другую плату.

Для получения дополнительной информации о параметрах конфигурации контроллера памяти смотрите проект FPGA (mem контроллеров).

Главный

Установите этот параметр, чтобы сгенерировать интерфейс соответственно и указать, сколько мастеров подключаются к памяти.

Расширенный

Установите политику арбитража для блока memory-interconnect. Когда несколько мастеров запрашивают доступ к памяти, политика определяется значением этого параметра.

  • Round robin устанавливает справедливый арбитраж на основе времени последнего обслуживания.

  • Fixed port priority устанавливает фиксированный приоритет burstReq1, burstReq2, burstReq3 и так далее, где burstReq1 получает наивысший приоритет.

Выберите этот параметр, чтобы использовать те же настройки всей модели, что и в параметрах конфигурации. Очистите этот параметр, чтобы настроить настройки для этого контроллера памяти. При использовании настроенных параметров значения по-прежнему проверяются на соответствие ограничениям оборудования. Для получения дополнительной информации см. Проект FPGA (mem контроллеров).

Это свойство доступно только для чтения.

Это значение показывает вычисленную пропускную способность между контроллером памяти и внешней памятью. Он вычисляется как Frequency (MHz), умноженный на Data width (bits).

Тактовая частота шины, используемой для управления взаимодействиями с внешней памятью. Частота контроллера определяет общую пропускную способность системы для внешней памяти, которая должна быть общей для всех мастеров в модели.

Зависимости

Чтобы включить этот параметр, очистите параметр Use hardware board settings.

Установите ширину, в битах, datapath между контроллером памяти и соединением памяти.

Зависимости

Чтобы включить этот параметр, очистите параметр Use hardware board settings.

Моделируйте неэффективности транзакции памяти, заданные снижающим процентным значением. Для каждого 100 часов выполнение транзакции памяти приостановлено на количество часов, равное Bandwidth derating. Чтобы задать этот параметр, измерьте максимальную пропускную способность на вашей плате и отобразите пропускную способность, понижающуюся от вашей платы, в этом параметре. См. пример в разделе Анализ полосы пропускания памяти с помощью генераторов трафика.

Зависимости

Чтобы включить этот параметр, очистите параметр Use hardware board settings.

Задайте задержку в тактах между запросом чтения или записи и началом передачи. Задайте неотрицательные целочисленные значения как в Write, так и в Read полях.

Эта задержка является количеством тактовых циклов между выполнением запроса к контроллеру памяти и пока он не вернёт ответ. Это отражается в формах сигналов Logic Analyzer как время, когда состояние контроллера памяти остается следующим BurstAccepted. Для получения дополнительной информации о просмотре форм волны в симуляции, смотрите Буферные и Пакетные формы волны.

Чтобы установить это значение, измерьте тактовые частоты между пакетным запросом и началом передачи на вашей плате. Инструкции по извлечению этой информации из выполнения оборудования см. в разделе Настройка и запрос монитора соединений AXI.

Зависимости

Чтобы включить этот параметр, очистите параметр Use hardware board settings.

Задайте задержку в тактах между концом передачи памяти и концом транзакции. Задайте неотрицательные целочисленные значения как в Write, так и в Read полях.

Чтобы установить это значение, измерьте тактовые частоты между концом пакета и завершением транзакции на вашей плате. Инструкции по извлечению этой информации из выполнения оборудования см. в разделе Настройка и запрос монитора соединений AXI.

Зависимости

Чтобы включить этот параметр, очистите параметр Use hardware board settings.

Эффективность

Щелкните Launch performance app, чтобы открыть окно Performance Metrics. Для получения дополнительной информации смотрите Графики эффективности симуляции.

Расширенные возможности

Преобразование с фиксированной точкой
Разрабатывайте и моделируйте системы с фиксированной точкой с помощью Fixed-Point Designer™.

Введенный в R2019a