Перейти к содержанию
    

DDR2 + Cyclon V

Здравствуйте!

 

Прошу помощи, в первые столкнулся с работой DDR2. У нас есть своя кастомная плата с DDR2 MT47H64M16HR-3IT (есть в контроллере UniPHY) и Cyclon V. Компиляция проекта проходит успешно, но возникает следующая проблема, при добавлении контроллера DDR2 в Qsys, ниоc прекращает работать. Проект в eclips с ниосом при дебаге запускается, но тупо зависает и ничего не происходит. Даже не знаю, где копать, понятно что где-то в DDR, но что именно может вызывать подобный эффект?

post-93060-1473838931_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

при добавлении контроллера DDR2 в Qsys, ниоc прекращает работать. Проект в eclips с ниосом при дебаге запускается, но тупо зависает и ничего не происходит. Даже не знаю, где копать, понятно что где-то в DDR, но что именно может вызывать подобный эффект?

 

Вероятнее всего зависает транзакция на шине при обращении к области памяти DDR, а значит контроллер не может корректно взаимодействовать с памятью. Причин может быть миллион - неправильные подключения управляющих сигналов, неправильные настройки параметров памяти, проблемы с времянками.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На 81% уверен, что дело в том, что при появлении в системе DDR, компилятор начинает пихать в нее программу для Ниоса.

А поскольку, вероятно, DDR не работает (по одной или нескольким из миллиона причинам), то весь Ниос не работает.

 

Лечится редактированием файла "linker script".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как верно приметили выше, причин почему может не работать слишком много. Делайте всё последовательно. Сначала просто подключите DDR к процу и сделайте memtest памяти DDR. Код при этом должен выполняться из BRAM. Потом можно все вектора и код поместить в DDR.

 

P.S. для начала, почему у вас instruction_master проца не подключен к DDR?

Изменено пользователем Inanity

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проверьте сбросы - по-моему jtag_debug_reset должен заходить на сброс ddr

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как раз недавно столкнулся с подобнной ситуацией. Как правильно указали выше, все ломалось на попытке загрузить через JTAG прогу на выполнение из DDR SDRAM, при неправильно работающем контроллере памяти. Если добавить в SoC внутреннюю блочную память и в настройках linker script BSP указать эту самую блочную память для всех сегментов, программа запустится из блочной памяти. Но проблема с неработающей DDR SDRAM останется. Причин тому может быть миллион (но скорее всего неправильные настройки контроллера памяти).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разбираясь дальше с DDR2, переделал проект в 14 квартусе. Программу запускаю из под блочной памяти (указываю в настройках BSP). Так же настроил тайминги, для памяти и для платы, проблема от части решилась. Отладка запускается, память DDR2 видна, но не проходит тест записи данных, вернее может пройти, а может и нет (считанные данные не соответствуют записанным), а может и вовсе зависнуть. Ниже скриншот глазковых диаграмм и по нему видно, что есть проблемы, с линиями DQ11, DQ4, DM1, DM0, DQS0, DQS1. Кстати раньше были проблемы со всеми линиями, после включения ODT, остались проблемы только с этими. В чем причина и как с этим бороться, я пока не понимаю. Бывает, так что все диаграммы в норме, тогда и проходит тест, но во время полного теста памяти, диаграммы меняются. Для выше перечисленных линий, до нуля, для всех остальных незначительно.

post-93060-1476173194_thumb.jpg

post-93060-1476173199_thumb.jpg

Изменено пользователем UltraLord

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...