СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №3/2015
ЭЛЕМЕНТЫ И КОМПОНЕНТЫ 32 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 3 2015 BA0 BA1 CS WE CAS RAS A0 ... An DQ0 ... DQ7 СONTROL LOGIC ACTIVE DATA ROW MEMORY ARRAY Bank 0 Bank 1 8192 строки 1024 колонки Bank 2 Bank 3 Для того чтобы использовать кон- троллер DDR-памяти в своих проек- тах, необходимо выполнить несколь- ко несложных действий. Прежде всего, нужно сконфигурировать аппарат- ное ядро. Проще всего это сделать с помощью генератора ядер, входяще- го в состав оболочки ACE. Для моду- ля Micron DDR3-2GB, поставляемого в составе отладочного набора HD1000 Dev Kit, можно использовать пред- установленные параметры. Макси- мальная скорость для модуля Micron – 1600, что соответствует внутренней частоте памяти 200 МГц и частоте шины обмена данными 800 МГц. Мак- симально же контроллер DDR-3 ПЛИС Speedster22i способен поддерживать модули DDR3-1866 (233/933 МГц). Модуль формата SO-DIMM подключа- ется к плате к юго-восточному конт- роллеру (ES-банк). Важным парамет- ром является Fabric_Interface_Width, который определяет тактовую частоту и ширину шины данных контроллера. Остальные параметры можно оставить по умолчанию и затем нажать кнопку «Generate» (см. рис. 4). В результате генерируются три фай- ла: файл модуля на языке Verilog (и/или VHDL) и два файла констрейнтов (огра- ничений) для размещения и синтеза (см. рис. 5). Файл модуля на языке Verilog содер- жит все необходимые параметры и интерфейсные порты. Несмотря на большое количество портов, большин- ство из них являются опциональными и не требуют подключения. Далее на входной порт clk необходимо подать тактовую частоту, соответству- ющую тактовой частоте шины переда- чи данных DDR-3 памяти. В частности, для памяти DDR3-1600 входная такто- вая частота должна составлять 800МГц. Эту частоту легко сгенерировать с помо- щью модуля DLL. Также необходимо определить частоту ddr_int_clk_sbus, которая обычно задаётся в диапазоне 16…100 МГц. Шина sbus предназначе- на для динамической реконфигурации контроллера и, как правило, не исполь- Рис. 2. Структура БИС динамической памяти зуется, но на неё обязательно должна быть подана тактовая частота. С модулем интерфейса пользовате- ля аппаратное ядро может работать в двух режимах. В режиме «1x» такто- вая частота составляет clk/2, а шири- на шин данных – 128 бит (144 бит для шины данных 72 бита). В режиме «2x» тактовая частота – clk/4 и ширина шин данных – 256 (288) бит. Эта тактовая частота вырабатывается в самом моду- ле и используется для тактирования пользовательской логики. Конкретный режим работы устанавливается пара- метром Fabric_Interface_Width. И, наконец, необходимо сопрячь остальные части проекта с контролле- ром DDR-3. Сделать это можно с помо- щью модуля DDR_interface_logic.v. Интерфейс этого модуля для записи и чтения показан на рисунках 6 и 7 соот- ветственно. Временны ′ е диаграммы транзак- ций записи и чтения представле- ны на рисунках 8 и 9. В режиме «2x» временны ′ е диаграммы выглядят анало- Рис. 3. Временна ′ я диаграмма записи данных в DDR-3 память Рис. 4. Конфигурирование контроллера DDR-3 Рис. 5. Генерируемые файлы
RkJQdWJsaXNoZXIy MTQ4NjUy