|
Помогите запустить MCB, Spartan6 + ddr3 |
|
|
|
Mar 2 2011, 08:47
|
Участник

Группа: Свой
Сообщений: 57
Регистрация: 11-07-06
Пользователь №: 18 747

|
Здравствуйте! Есть ПЛИС Spartan-6 xc6slx150-3fgg484 и внешняя память DDR3 MT41J64M16LA-187E. Память подключена к третьему банку ПЛИС. Частота работы с памятью 300 МГц. В ISE12.4 сделал проект контроллера памяти с помощью MIG. В проекте оставил один двунаправленный порт х32. Взял example_design. Отмоделировал - все в порядке. А вот при тестировании в железе начались проблемы, которые никак не удается победить. Проблемы двух типов: 1) При чтении пачки данных одно из данных застревает на выходе FIFO на несколько тактов. При этом часть данных теряется. Эта ситуация показана на картинке error1. Ошибка повторяется время от времени в процессе тестирования. Данная ошибка, как выяснилось, зависит от частоты работы. На 250 МГц ее вероятность намного меньше, а на 200 МГц она вообще пропадает. Также ситуация стала лучше после того, как поменял настройку Unused IOB Pins = Float на Pull Down в свойствах генерации программного файла. 2) Начиная с какого-то момента, контроллер просто перестает выполнять новые запросы. В результате переполняется командное FIFO и тест останавливается. Вероятность этой ошибки зависит от диапазона тестируемых адресов. Если значение параметра C3_HW_TESTING = "FALSE", то встречается она очень редко. Если же поставить "TRUE" - ошибка происходит тут же при начале тестирования. Такая ситуация повторяется на любой частоте от 200 до 300 МГц. В чем тут может быть дело?
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
Mar 2 2011, 13:35
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(Nosss @ Mar 2 2011, 12:47)  Здравствуйте! Есть ПЛИС Spartan-6 xc6slx150-3fgg484 и внешняя память DDR3 MT41J64M16LA-187E. Память подключена к третьему банку ПЛИС. Частота работы с памятью 300 МГц.
В ISE12.4 сделал проект контроллера памяти с помощью MIG. В проекте оставил один двунаправленный порт х32. Взял example_design. Отмоделировал - все в порядке. А вот при тестировании в железе начались проблемы, которые никак не удается победить. Проблемы двух типов:
1) При чтении пачки данных одно из данных застревает на выходе FIFO на несколько тактов. При этом часть данных теряется. Эта ситуация показана на картинке error1. Ошибка повторяется время от времени в процессе тестирования. Данная ошибка, как выяснилось, зависит от частоты работы. На 250 МГц ее вероятность намного меньше, а на 200 МГц она вообще пропадает. Также ситуация стала лучше после того, как поменял настройку Unused IOB Pins = Float на Pull Down в свойствах генерации программного файла.
2) Начиная с какого-то момента, контроллер просто перестает выполнять новые запросы. В результате переполняется командное FIFO и тест останавливается. Вероятность этой ошибки зависит от диапазона тестируемых адресов. Если значение параметра C3_HW_TESTING = "FALSE", то встречается она очень редко. Если же поставить "TRUE" - ошибка происходит тут же при начале тестирования. Такая ситуация повторяется на любой частоте от 200 до 300 МГц.
В чем тут может быть дело? Не из этой оперы? http://www.xilinx.com/support/answers/35978.htmP.S. и еще http://www.xilinx.com/support/answers/33566.htm
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Mar 2 2011, 14:17
|
Участник

Группа: Свой
Сообщений: 57
Регистрация: 11-07-06
Пользователь №: 18 747

|
Цитата(Victor® @ Mar 2 2011, 16:35)  У меня ISE 12.4. В нем как бы обещали поправить уже этот глюк. Цитата(Victor® @ Mar 2 2011, 16:35)  И это не про меня. После загрузки конфигураций сброс подавал несколько раз - ситуация не меняется. Хочу заодно спросить. Есть ли у кого-нибудь положительный опыт работы со связкой spartan6 + ddr3 ?
|
|
|
|
Сообщений в этой теме
Nosss Помогите запустить MCB Mar 2 2011, 08:47 Shtirlits Что за плата? Mar 2 2011, 09:27 Nosss Плата dini-group DNBFC_S12_PCIe. Можно здесь посмо... Mar 2 2011, 10:34 Shtirlits С такими платами обычно поставляется reference des... Mar 2 2011, 11:06 Nosss Цитата(Shtirlits @ Mar 2 2011, 14:06) С т... Mar 2 2011, 11:31 Shtirlits Так он работает или выдает ошибку?
Запросто может ... Mar 2 2011, 11:36 Bad0512 Цитата(Nosss @ Mar 2 2011, 14:47) Здравст... Mar 2 2011, 11:44 Nosss Тест, который поставляется вместе с платой выдает ... Mar 2 2011, 11:50 Shtirlits Покажите, если не лень, какие данные пишутся и чит... Mar 2 2011, 11:59 Nosss Цитата(Shtirlits @ Mar 2 2011, 14:59) Пок... Mar 2 2011, 12:17 billidean может дело не при чтении вовсе, а, например, когда... Mar 2 2011, 14:53 Shtirlits Да, данные перестают меняться, посмотрел первое из... Mar 2 2011, 15:18 Nosss А мне кажется что проблема там с чтением. Данные в... Mar 2 2011, 18:18 Nosss Нет, соврал я. Сегодня посмотрел внимательнее: мож... Mar 3 2011, 06:56 Nosss Немного прояснилась ситуация. Оказалось, что на пл... Mar 5 2011, 12:56 VladimirB Цитата(Nosss @ Mar 5 2011, 15:56) Немного... Mar 6 2011, 09:23  Nosss Цитата(VladimirB @ Mar 6 2011, 12:23) пос... Mar 6 2011, 12:09   VladimirB Цитата(Nosss @ Mar 6 2011, 15:09) Я смотр... Mar 6 2011, 15:01    Nosss Цитата(VladimirB @ Mar 6 2011, 18:01) В е... Mar 6 2011, 20:29 Nosss Ну вот, дождался ответа от техподдержки Xilinx. Мо... Mar 7 2011, 11:08 Victor® Цитата(Nosss @ Mar 7 2011, 14:08) Ну вот,... Apr 5 2011, 08:49  Nosss Цитата(Victor® @ Apr 5 2011, 12:49) Позво... Apr 5 2011, 18:37   Victor® Цитата(Nosss @ Apr 5 2011, 21:37) Dini-Gr... Apr 5 2011, 19:33
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|