Использование внешней оперативной памяти Spartan 6 SP605 VHDL?

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

Раньше я пытался хранить эти данные в массивах, но быстро понял, что это занимает слишком много места на ПЛИС. Поэтому я искал способ хранения данных в оперативной памяти DDR3 на плате SP605 (http://www.xilinx.com/support/documentation/boards_and_kits/xtp067_sp605_schematics.pdf, стр. 9). Однако я не могу найти инструкции о том, как записывать или читать данные из этого. Я пытаюсь сохранить один 8-битный std_logic_vector за такт для последующего доступа.

Может ли кто-нибудь посоветовать мне, как действовать?


person Connor Thompson    schedule 18.12.2014    source источник
comment
Есть ли у вас лицензия Xilinx ISE/Vivado на использование базовых IP-ядер?   -  person Paebbels    schedule 19.12.2014
comment
Руководство пользователя контроллера памяти Spartan-6 FPGA (UG388), а также конечно, два для образца платы реализации, который у вас есть, UG526 и UG527.   -  person    schedule 19.12.2014
comment
Да, поэтому я должен иметь возможность использовать базовые IP-ядра. Спасибо за ссылку, я буду читать об этом и UG486, чтобы посмотреть, смогу ли я что-то реализовать.   -  person Connor Thompson    schedule 19.12.2014


Ответы (1)


Xilinx предлагает генератор IP Core. Этот каталог IP содержит генератор интерфейса памяти (MIG), который создает ядро ​​IP для доступа к различным типам памяти. Настройте это ядро ​​для DDR3.

Написание контроллера DDR3 на VHDL — проект не для новичка, даже для опытного дизайнера. Конечный автомат прост и хорошо известен, но логика калибровки очень затратна.

Вам следует рассмотреть метод кэширования или пакетного чтения/записи, поскольку доступ к памяти DDR невозможен в каждом цикле.

person Paebbels    schedule 18.12.2014
comment
И Руководство пользователя решений интерфейса памяти Virtex-6 FPGA (UG486), в котором рассказывается, как это сделать. - person ; 19.12.2014
comment
Спасибо вам обоим за вашу помощь, теперь я начну читать о том, как генерировать IP-ядра и изучать эти документы. - person Connor Thompson; 19.12.2014