Контроллер памяти

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Порты

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

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

Запрос о доступе к памяти. Соедините этот входной порт с одним из пакетных сигналов запроса (wrBurstReq или rdBurstReq) от блока Memory Channel или блока Memory Traffic Generator.

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

Порт burstReqN получает пакетный сигнал запроса от ведущего устройства запроса как сущность. Для получения дополнительной информации о сущностях смотрите Сущности в Модели SoC Blockset

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

Вывод

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

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

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

Порт burstDoneN отправляет пакетный сигнал ответа ведущему устройству запроса как сущность. Для получения дополнительной информации о сущностях смотрите Сущности в Модели SoC Blockset

Типы данных: 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