Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Spartan-6 + DDR3
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
DTF
Здравствуйте!

Помогите найти ошибку. Попробовал запустить связку Spartan-6 и DDR3 в моделировании и в железе, столкнулся со следующей проблемой. На рисунках приведены диаграммы из гайда (simple write) и графики моделирования. Как видно, данные загружаются в буфер FIFO контроллера памяти, затем происходит запись команды. Но далее не происходит записи данных в саму микросхему, не понятно почему. При попытках очередных записей скоро происходит переполнение FIFO команд, а затем и FIFO данных. Ситуация одинакова как в моделировании, так и в железе. Прошу подсказать, где ошибаюсь. Спасибо!
murmel1
Судя по отметкам модельного времени, у Вас еще не должна инициализация закончится. Это, конечно, не объясняет проблем с железом.
Сорри, если ошибаюсь.
Hoodwin
Как вариант, неправильно подключена тактовая частота на чтении FIFO, вероятно там она с PLL/DCM идет, а DCM не настроена выдавать этот клок, вот FIFO и не читается.
DTF
Цитата(murmel1 @ Jul 14 2011, 01:21) *
Судя по отметкам модельного времени, у Вас еще не должна инициализация закончится. Это, конечно, не объясняет проблем с железом.
Сорри, если ошибаюсь.

Нет, проблема не в этом. По разному пробовали, в другом месте ошибка.

Цитата(Hoodwin @ Jul 14 2011, 17:03) *
Как вариант, неправильно подключена тактовая частота на чтении FIFO, вероятно там она с PLL/DCM идет, а DCM не настроена выдавать этот клок, вот FIFO и не читается.


С клоком все в порядке, PLL выдает нужную частоту - это видно и при моделировании (изменяются указатели FIFO).
Hoodwin
Еще как вариант, на картинке 4-9 первая же команда имеет p0_cmd_bl = 0x10, а на вашей времянке там всегда 0. Возможно, Вы команду дали, а у команды нет указания читать ФИФО данных, раз BL = 0.
DTF
Цитата(Hoodwin @ Jul 15 2011, 22:32) *
Еще как вариант, на картинке 4-9 первая же команда имеет p0_cmd_bl = 0x10, а на вашей времянке там всегда 0. Возможно, Вы команду дали, а у команды нет указания читать ФИФО данных, раз BL = 0.


Спасибо за наводку!

Значение bl для DDR3 должно соответствовать разрядности шины данных, в частности bl = 4, что работает в железе, но не работает при моделировании.

Проблема решена.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.