Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Altera DDR3 SDRAM controller - обеспечение Command Queue
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
MadGarry
Здравствуйте,

Хочу обеспечить высокую эффективность работы Altera DDR3 SDRAM контроллера задействовав его функциональность Command Queue Look-Ahead Depth.

Нажмите для просмотра прикрепленного файла

Этот контроллер имеет Avalon-MM slave интерфейс как при генерации средствами Qsys так и MegaWizard. Судя по описанию Avalon-MM интерфейса, он способен поддержать только один запрос на запись данных.
Как в таком случае DDR3 SDRAM контроллер обеспечит Look-Ahead функциональность? Ведь получив на вход запрос на запись контроллер вынужден обработать этот запрос прежде чем узнает о том, какой будет следующий запрос.

Или я чего-то принципиально недопонимаю.

QSYS рисует вот такую картинку:
Нажмите для просмотра прикрепленного файла

Здесь 4 клиента могут обращаться к DDR3 контроллеру. Каждый клиент имеет Avalon MM интерфейс. DDR3 контроллер имеет такой-же интерфейс. На схеме виден, по видимому, арбитр - cmd_xbar_mux. Но эта картинка мне совершенно не объясняет как DDR3 контроллер (ddr.avl) "видит" запросы от этих четырех клиентов.
krux
по приему первой команды контроллер сразу начинает её выполнять. однако любая команда требует сделать precharge нужного банка, ряда и т.д. на что может быть нужно время. за это время контроллер может принять ещё несколько команд и поставить их в очередь, после чего эту очередь оптимизировать по доступу к определенным участкам памяти (так, чтобы не делать лишних precharge).

если ваши 4 эндпоинта пишут в сильно разные участки памяти, то precharge нужен будет всё равно, однако такие команды будут выданы раньше, что позволит снизить задержку.

приведенный кусок авалоновской архитектуры qsys'a объяснять работу DDR3-контроллера и не обязан ;-)
перед контроллером памяти стоит тупой арбитр (xbar_mux), который никакого look-ahead делать не способен
MadGarry
Правильно ли я понял что внутри DDR3 SDRAM контроллера будут созданы буфера в количестве "Command Queue Look-Ahead Depth" и глубиной каждого буфера = "Maximum Avalon-MM Burst Length"?
А Look-Ahead начнет работать только тогда, когда в DDR3 SDRAM контроллер загрузится как минимум три пакета?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.