Memory Controller

Вынесите решение транзакции памяти для одного или нескольких блоков Канала Памяти

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

  • Memory Controller block

Описание

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

Следующее изображение показывает реализацию блока Memory Controller.

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

  1. Пакетный запрос вводит блок.

  2. Запрос может быть задержан арбитражем, пока это не предоставленный доступ к шине. Установите арбитражную политику во Взаимосвязанном арбитраже.

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

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

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

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

  • BurstRequest: Пакетный запрос вводит блок.

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

  • BurstDone: Пакет сделан, выполнившись.

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

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

Ограничения

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

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

Порты

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

развернуть все

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

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

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

Вывод

развернуть все

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

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

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

Параметры

развернуть все

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

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

Чтобы узнать больше о параметрах конфигурации для контроллера памяти, см. проект FPGA (контроллеры мадам).

Основной

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

Усовершенствованный

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

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

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

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

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

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

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

Зависимости

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

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

Зависимости

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

Неэффективность транзакции модели memory задана значением процента снижения нормы. Для каждых 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, чтобы открыть окно показателей производительности. Для получения дополнительной информации см. Графики Эффективности Симуляции.

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

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

Введенный в R2019a