реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Контроллер памяти DDR II SRAM virtex 6
bognev
сообщение Mar 29 2013, 05:44
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Мне нужно организовать работу c памятью DDR II SRAM на плис virtex 6, но в MIG'е для virtex 6 присутствуют только корки для работы с DDR2SDRAM, DDR3SDRAM, QDRII+ SRAM и RLDRAMII.

Есть несколько вариантов решения моего вопроса.
1) http://forums.xilinx.com/t5/MIG-Memory-Int...x-6/td-p/118278
По ссылке предлагают переделать QDRII+ SRAM интерефейс в интерфейс для работы с DDR II SRAM.
2) Сгенерировать интерефейс MIG'ом для virtex 5 и использовать его в virtex 6, серьезно ли придется править при этом исходники и будет ли вообще работать?
3) написать свой контроллер
4) найти готовый, но пока мне не удалось

Вопрос в том, как лучше поступить? Что можете посоветовать?

Было бы не плохо, если бы кто нибудь поделился ссылками на подробную документацию на QDRII+ SRAM и DDR II SRAM?

Заранее благодарю за помощь!

Сообщение отредактировал bognev - Mar 29 2013, 05:45
Go to the top of the page
 
+Quote Post
SFx
сообщение Mar 29 2013, 16:23
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



мы бы поделились, но, вы не указали какой конкретно Partnum\Manufacturer вам нужен (телепаты как всегда в отпуске или на съемках экстрасенсов). :-)

А вообще смотрите на сайте производителей вашего чипа памяти. сам недавно скачивал QDRII Verilog модель с "кипариса" (но пока руки не дошли прикрутить ее к MIG)

Что касается готового контроллера - он есть в составе Xilinx ISE\Vivado - бесплатный, настраиваемый, симулируемый, рабочий (в железе - 5 лет назад по крайней мере был) и для Virtex5\6\7 подходит.
Go to the top of the page
 
+Quote Post
bognev
сообщение Apr 1 2013, 04:37
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Память у меня вот такая GSITechnology GS8662R36GE. 72Mb SigmaDDR-II Burst of 4 SRAM.
На сайте производителя http://www.gsitechnology.com я смог найти только модель своей памяти на VHDL(уже не плохо).
То что контроллер есть в составе Xilinx ISE мне известно, вопрос как раз в том, что для 6 го vitrexa присутствуют только корки для работы с DDR2SDRAM, DDR3SDRAM, QDRII+ SRAM и RLDRAMII, а с DDR II SRAM нет. И мне не понятно будет ли корку сгенерированная для 5го virtex работать с 6 ым?

Был бы очень благодарен если бы вы поделились со мной, если есть что то готовое)
Go to the top of the page
 
+Quote Post
SFx
сообщение Apr 2 2013, 02:23
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



Цитата(bognev @ Apr 1 2013, 08:37) *
И мне не понятно будет ли корку сгенерированная для 5го virtex работать с 6 ым?


маловероятно. на 90% нет.
что мешает взять и отсинтезировать для v5?

скорее всего используется target based macro примитивы, их конечно можно попытаться на что то поменять, но это ооочень большая проблема.


и verilog модель есть кстати.

вам только один путь, пробовать все соединить и если оно заработает то вам повезло... хотя я бы наверное бы сразу, раз есть модель, контроллер свой начал бы писать. я работал лишь с DDR SDRAM. и DDR3 SDRAM. про работу c SRAM не могу сказать ничего. нужно составлять тестбенч, глядеть что на входе что на выходе, модель подцеплять. временные диаграммы изучать...
но на вскидку мне кажется что раз это SRAM - то там должно быть относительно просто.
Go to the top of the page
 
+Quote Post
bognev
сообщение Apr 2 2013, 04:15
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Цитата(SFx @ Apr 2 2013, 06:23) *
что мешает взять и отсинтезировать для v5?

Я не совсем понимаю, что значит эта фраза? Отсинтезировать для v5 и потом размещать в v6?

Спасибо за пояснения, пришел к выводу, что действительно проще свой написать)
Go to the top of the page
 
+Quote Post
demon_rt
сообщение Apr 4 2013, 10:32
Сообщение #6





Группа: Участник
Сообщений: 13
Регистрация: 20-01-09
Пользователь №: 43 665



Цитата(bognev @ Apr 2 2013, 08:15) *
Я не совсем понимаю, что значит эта фраза? Отсинтезировать для v5 и потом размещать в v6?

Спасибо за пояснения, пришел к выводу, что действительно проще свой написать)


Свой написать не проще, особенно модуль инициализации и калибровки!
И писать еге не надо, ничего нового в Vrtex 6 относительно Virtex 5 и контроллера SRAM нет, просто xilinx отказался от данного контроллера в 6 серии. Берем VHD файлы с MIG Virtex 5 и используем в 6. Весь контроллер написан на логике (в отличии от PCIE) и следовательно подойдет - проверено! Единственное замечание - выводы dq и cq должны быть корректно разведены в железе (в одном банке) для использования BUFIO для cq, если же нет то придется мудрить с BUFR или вообще тактировать ISERDES глобальными тактами с использованием автоподстройки фазы.
Go to the top of the page
 
+Quote Post
bognev
сообщение Apr 5 2013, 06:36
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Цитата(demon_rt @ Apr 4 2013, 14:32) *
Свой написать не проще, особенно модуль инициализации и калибровки!
И писать еге не надо, ничего нового в Vrtex 6 относительно Virtex 5 и контроллера SRAM нет, просто xilinx отказался от данного контроллера в 6 серии. Берем VHD файлы с MIG Virtex 5 и используем в 6. Весь контроллер написан на логике (в отличии от PCIE) и следовательно подойдет - проверено! Единственное замечание - выводы dq и cq должны быть корректно разведены в железе (в одном банке) для использования BUFIO для cq, если же нет то придется мудрить с BUFR или вообще тактировать ISERDES глобальными тактами с использованием автоподстройки фазы.

Спасибо! буду пробовать, посмотрим что получится)
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение Apr 8 2013, 14:40
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



http://www.gsitechnology.com/GSIT-Memory-Controller-IP.html
Go to the top of the page
 
+Quote Post
bognev
сообщение Apr 10 2013, 07:15
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Цитата(Sergey_Bekrenyov @ Apr 8 2013, 18:40) *


Эти корки для памяти SigmaQuad-IIIe SRAMs и SigmaDDR-IIIe SRAMs и использовать для моего Sigma ddr-II не получится. Или я ошибаюсь?
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение Apr 10 2013, 08:57
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



But perhaps even more importantly, GSI’s SRAM Port IP now gives FPGA users access to ALL the modes of operation including those that, up to now, have only been available to ASIC users of Quad and DDR SRAMs.
Go to the top of the page
 
+Quote Post
bognev
сообщение Apr 10 2013, 09:33
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Цитата(Sergey_Bekrenyov @ Apr 10 2013, 12:57) *
But perhaps even more importantly, GSI’s SRAM Port IP now gives FPGA users access to ALL the modes of operation including those that, up to now, have only been available to ASIC users of Quad and DDR SRAMs.


А вы не могли бы объяснить? Просто я не понимаю, что вы хотите этим сказать?
Go to the top of the page
 
+Quote Post
demon_rt
сообщение Apr 10 2013, 11:55
Сообщение #12





Группа: Участник
Сообщений: 13
Регистрация: 20-01-09
Пользователь №: 43 665



Цитата(bognev @ Apr 10 2013, 11:15) *
Эти корки для памяти SigmaQuad-IIIe SRAMs и SigmaDDR-IIIe SRAMs и использовать для моего Sigma ddr-II не получится. Или я ошибаюсь?


Зачем вам эти корки.. Генерируетe в virtex 5 MIG контроллер SRAM под вашу микросхему памяти. Берем vhd файлы из папки implement design и пишем свое управление контроллером согластно дата шит!

Сообщение отредактировал demon_rt - Apr 10 2013, 20:12
Go to the top of the page
 
+Quote Post
bognev
сообщение Apr 23 2013, 18:46
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Цитата(demon_rt @ Apr 4 2013, 14:32) *
Свой написать не проще, особенно модуль инициализации и калибровки!
И писать еге не надо, ничего нового в Vrtex 6 относительно Virtex 5 и контроллера SRAM нет, просто xilinx отказался от данного контроллера в 6 серии. Берем VHD файлы с MIG Virtex 5 и используем в 6. Весь контроллер написан на логике (в отличии от PCIE) и следовательно подойдет - проверено! Единственное замечание - выводы dq и cq должны быть корректно разведены в железе (в одном банке) для использования BUFIO для cq, если же нет то придется мудрить с BUFR или вообще тактировать ISERDES глобальными тактами с использованием автоподстройки фазы.


Имеется 2 платы, на одной virtex 5 и выводы dq разведены в разных банках, я заменил BUFIO на BUFR, калибровка все равно не проходит, на что можно еще обратить внимание? По какой причине может не работать? Планка памяти там такая же. Не могли бы вы пояснить про тактирование ISERDES глобальными тактами? Я так понимаю, что нужно использовать глобальные клоки? Как это влияет? Или пример скинуть, чтобы посмотреть)
На второй плате virtex 6 и та же память, калибровка проходит, выводы все разведены корректно, но при этом возникает ошибка сравнения записываемых и считываемых данных. На что стоит в этом случае обратить внимание? Собственно хотелось бы сначала разобраться с верхним вопросом.
Заранее благодарю за помощь!
Go to the top of the page
 
+Quote Post
demon_rt
сообщение Apr 24 2013, 19:42
Сообщение #14





Группа: Участник
Сообщений: 13
Регистрация: 20-01-09
Пользователь №: 43 665



Цитата(bognev @ Apr 23 2013, 22:46) *
Имеется 2 платы, на одной virtex 5 и выводы dq разведены в разных банках, я заменил BUFIO на BUFR, калибровка все равно не проходит, на что можно еще обратить внимание? По какой причине может не работать? Планка памяти там такая же. Не могли бы вы пояснить про тактирование ISERDES глобальными тактами? Я так понимаю, что нужно использовать глобальные клоки? Как это влияет? Или пример скинуть, чтобы посмотреть)
На второй плате virtex 6 и та же память, калибровка проходит, выводы все разведены корректно, но при этом возникает ошибка сравнения записываемых и считываемых данных. На что стоит в этом случае обратить внимание? Собственно хотелось бы сначала разобраться с верхним вопросом.
Заранее благодарю за помощь!


Причин неработоспособности памяти может быть масса: физическая неисправность чипов памяти, некорректное питание, обрыв сигнальных линий, не выравненные линии данных на плате при конструировании...и т.д. Если используете контроллер xilinx с шиной данных в двух банках, то тактовые сигналы cq и cq_n должны быть разведены по одному в каждый банк для использования bufio. В Virtex 5 BUFIO можно тактировать только в пределах одного клокрегиона, в Virtex6 же BUFIO задействует соседние клокрегионы. По поводу IDELAY - автокалибровка памяти сделана так, что задержки устанавливаются сразу на всю шину данных (с расчетом, что линии данных на плате равны и задержки на всей шине одинаковы) если же разводка не корректна, следует модернизировать модуль калибровки, выставляя задержку на каждый бит данных, что значительно усложняет контроллер. При отладке советую использовать меньшую частоту 150- 200 МГц. Если тактировать ISERDES глобальными тактами, то следует учитывать фазовую задержку сигнала.
Go to the top of the page
 
+Quote Post
bognev
сообщение Apr 25 2013, 10:27
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475



Цитата(demon_rt @ Apr 24 2013, 23:42) *
Причин неработоспособности памяти может быть масса: физическая неисправность чипов памяти, некорректное питание, обрыв сигнальных линий, не выравненные линии данных на плате при конструировании...и т.д. Если используете контроллер xilinx с шиной данных в двух банках, то тактовые сигналы cq и cq_n должны быть разведены по одному в каждый банк для использования bufio. В Virtex 5 BUFIO можно тактировать только в пределах одного клокрегиона, в Virtex6 же BUFIO задействует соседние клокрегионы. По поводу IDELAY - автокалибровка памяти сделана так, что задержки устанавливаются сразу на всю шину данных (с расчетом, что линии данных на плате равны и задержки на всей шине одинаковы) если же разводка не корректна, следует модернизировать модуль калибровки, выставляя задержку на каждый бит данных, что значительно усложняет контроллер. При отладке советую использовать меньшую частоту 150- 200 МГц. Если тактировать ISERDES глобальными тактами, то следует учитывать фазовую задержку сигнала.

CODE

DDRII_CQ_BUFIO_INST : BUFR--BUFIO
generic map (
BUFR_DIVIDE => "BYPASS",
SIM_DEVICE => "VIRTEX5"
)
port map (
CE => '1',
CLR => '1',
I => cq_delay(cq_i),
O => cq_bufio_w(cq_i)
);

DDRII_CQ_N_BUFIO_INST : BUFR--BUFIO
generic map (
BUFR_DIVIDE => "BYPASS",
SIM_DEVICE => "VIRTEX5"
)
port map (
CE => '1',
CLR => '1',
I => cq_n_delay(cq_n_i),
O => cq_n_bufio_w(cq_n_i)
);

Скажите пожалуйста, а правильно ли я заменил BUFIO на BUFR? Интересуют порты CE и CLR
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 05:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01478 секунд с 7
ELECTRONIX ©2004-2016