Jump to content

    

Вопрос по корам контроллеров SDRAM

Помогите найти человеческую кору контроллера SDRAM на VHDL для реализации на ПЛИС Xilinx

"Человеческая" подразумевает возможноть изменения разрядности шины данных и адреса, а также обязательно наличие режима burst для чтения и записи

Share this post


Link to post
Share on other sites
Помогите найти человеческую кору контроллера SDRAM на VHDL для реализации на ПЛИС Xilinx

"Человеческая" подразумевает возможноть изменения разрядности шины данных и адреса, а также обязательно наличие режима burst для чтения и записи

хммм у самого ксайлинкса ?

Share this post


Link to post
Share on other sites

Можно взять у Lattice или Altera. Кроме регистрации от вас ничего больше не требуется.

Share this post


Link to post
Share on other sites

У Xilinx на сайте есть куча xapp-ов с исходниками построения контроллеров, также есть какой-то MemoryGenerator - вообщем материала довольно много просто зайти на сайт www.xilinx.com раздел memory corner.

Share this post


Link to post
Share on other sites

А кто нибудь реально использовал эти корки от Xilinx и Altera в реально работающих проектах? Те, что отдаются на шару после простой регистрации?

 

Нормальный быстрый и функциональный SDRAM контроллер "весит" не менее 700-800 триггеров, 300-400 логических функций, а его исходники занимают никак не меньше 400-500kB. Просто так, за регистрацию, такие исходники никто не отдает.

Share this post


Link to post
Share on other sites

Я писал на AHDL. 189LE из них 123reg остальные comb.

Через месяцок собираюсь переписать на Verilog'e.

 

Давным-давно пробовал альтеровскую корку, но чета тама не завелось или не понравилось, не помню уже.

Share this post


Link to post
Share on other sites

Тоже писал самостоятельно на Verilog'e для работы с памятью MT48LC16M16A2 на кристалле XCV600-4.

За основу взял XAPP200, но переделал его для своих нужд.

Есть еще XAPP134, но мне больше понравилась One-hot State Machine контроллера в XAPP200.

Share this post


Link to post
Share on other sites

Я моделировал в ModelSim контроллер генерируемый Xilinx MemoryGenerator (mig007_rel6) совместно с vhdl моделью DDR SDRAM 256Mbitx16 от Samsung - модель на работу контроллера реагирует без ошибок, а вот насчет физического размещения в таблетке мне пока просто приходится верить на сам MemoryGenerator, он типа делает физразмещение в выбраной плис с заданной привязкой контактов, вроде проходит синтез и пласе-роут, вроде все констрейны выполняются, но как только будет готово железо буду запускать. В любом случае, от генерит собственно исходник контроллера и на базе него наверняка можно будет собрать работающий и под необходимые функции.

Share this post


Link to post
Share on other sites

очень не советую пользовать харр134 горбатая корка, что касается харр200 то не нашел на сайте, может кто подкинет на motspan(собака) mail.ru

Share this post


Link to post
Share on other sites
Помогите найти человеческую кору контроллера SDRAM на VHDL для реализации на ПЛИС Xilinx

"Человеческая" подразумевает возможноть изменения разрядности шины данных и адреса, а также обязательно наличие режима burst для чтения и записи

Есть такой, "человеческий". Все вышеназванное параметризовано и даже больше. Мультипортовый на AMBA AXI. Глубокая оптимизация трафика. Для Virtex-II в варианте 2 порта AXI, 32-bit, SDRAM (не DDR), single + burst занимает 756 LUT + 729 DFF. Можно без AXI. Если интересно, пишите.

Share this post


Link to post
Share on other sites
Помогите найти человеческую кору контроллера SDRAM на VHDL для реализации на ПЛИС Xilinx

"Человеческая" подразумевает возможноть изменения разрядности шины данных и адреса, а также обязательно наличие режима burst для чтения и записи

Есть такой, "человеческий". Все вышеназванное параметризовано и даже больше. Мультипортовый на AMBA AXI. Глубокая оптимизация трафика. Для Virtex-II в варианте 2 порта AXI, 32-bit, SDRAM (не DDR), single + burst занимает 756 LUT + 729 DFF. Можно без AXI. Если интересно, пишите.

киньте мне если можно е-мейл выше

Share this post


Link to post
Share on other sites
очень не советую пользовать харр134 горбатая корка

:a14:

Точнее не скажешь :laugh:

Share this post


Link to post
Share on other sites
У Xilinx на сайте есть куча xapp-ов с исходниками построения контроллеров, также есть какой-то MemoryGenerator - вообщем материала довольно много просто зайти на сайт www.xilinx.com раздел memory corner.

Это всё хорошо, но только для DDR :(

Для SDR только уже упоминаемый xapp134

Share this post


Link to post
Share on other sites

XAPP200 для DDR SDRAM нетрудно переделать и для просто SDRAM.

Я, например, его адаптировал для работы с SDRAM в режиме буферизации потока данных (сначала пишется по разным банкам, потом считывается страницами) т.е. :

1. Режим записи - Alternating Bank Write (burst length = 8);

2. Режим чтения - Full-Page Burst Read (512 слов);

3. Refresh только для режима чтения и хранения, т.к. при записи - поток максимальный 100М/s.

 

XAPP200 отличается от XAPP134 принципом построения самого контроллера.

Share this post


Link to post
Share on other sites
XAPP200 для DDR SDRAM нетрудно переделать и для просто SDRAM.

Я, например, его адаптировал для работы с SDRAM в режиме буферизации потока данных (сначала пишется по разным банкам, потом считывается страницами) т.е. :

1. Режим записи - Alternating Bank Write (burst length = 8);

2. Режим чтения - Full-Page Burst Read (512 слов);

3. Refresh только для режима чтения и хранения, т.к. при записи - поток максимальный 100М/s.

 

XAPP200 отличается от XAPP134 принципом построения самого контроллера.

Большое спасиба

Пробую

Выглядит очень привлекательно :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this