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

DDR3 calibration fail (Cyclone V + Micron DDR3 + Uniphy + NiOS)

Здравствуйте, уважаемые коллеги! Помогите пожалуйста решить проблему.

 

Есть кастомная плата с CycloneV и DDR3 (MT41J128M16JT-125). В Quartus II v14.1.0 (64bit) делаю SoC (NIOSII + block ram + hard SDRAM Uniphy controller + внешняя DDR3 + всякая мелочь).

Программа грузится из блочной памяти и должна проверять DDR3 SDRAM. Все вешается при попытке доступа к SDRAM (до этого момента код выполняется из блочной памяти нормально).

Установлено, что контроллер памяти не заканчивает этап калибровки (DDR3 calibration fail).

Сигналы local_init_done и local_cal_success неактивны. Сигнал local_cal_fail активен.

 

Из положительных моментов:

1) RTL тестбенч сгенерированный QSYS работает с памятью нормально (local_init_done=local_cal_success=1, видны транзакции),

2) PLL контроллера памяти стартует (pll_sharing_pll_locked активен. Контролирую через светодиод).

3) External Memory Interface Toolkit память видит и подключается к ней (значит транзакции на авалоне проходят нормально?). Можно делать ресет памяти (После этого сигнал local_cal_fail становится на мгновение неактивным и потом снова возвращается в активное состояние. Контролирую светодиодом). По результатам репортов External Memory Interface Toolkit фейл происходит на этапе Write Calibration - Per-bit write deskew failure.

 

Частота работы с памятью 400 МГц. Тайминги брал из пресетов на MT41J128M16HA-125 (на плате MT41J128M16JT-125. Но ведь разница по сути только в типе корпуса?)

Board Settings кастомной платы не известны. Оставил по умолчанию. Сейчас пробую их узнать, но пока информации нет.

Не знаю на сколько это важно, но RZQ резистор IO банка FPGA, к которому подключены выводы DDR, имеет сопротивление 240 Ом.

 

Вроде все симптомы описал. В аттаче скрины QSYS, репорт External Memory Interface Toolkit, архив с проектом.

 

Буду очень признателен за подсказки и уделенное время!

ddr3.rar

post-25900-1475103705_thumb.png

post-25900-1475103713_thumb.png

linux_soc_Calibration_Report.rar

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


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

А проблема может быть в том, что к FPGA подключено два х16 чипа MT41J128M16JT-125 с общими шинами команд и адреса, а я подключил контроллер только к одному чипу? И FPGA сейчас драйвит шины комманд и адреса того второго чипа, но не шину данных.

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


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

А проблема может быть в том, что к FPGA подключено два х16 чипа MT41J128M16JT-125 с общими шинами команд и адреса, а я подключил контроллер только к одному чипу?

 

Да,

у меня не работало и с одним чипом, но большей емкости

 

Сигналы local_init_done и local_cal_success неактивны. Сигнал local_cal_fail активен.

 

Программа грузится из блочной памяти и должна проверять DDR3 SDRAM. Все вешается при попытке доступа к SDRAM (до этого момента код выполняется из блочной памяти нормально).

Установлено, что контроллер памяти не заканчивает этап калибровки (DDR3 calibration fail).

Сигналы local_init_done и local_cal_success неактивны. Сигнал local_cal_fail активен.

 

на мой взгляд удобно вывести сигнал local_init_done для разрешения работы части логики использующей данные ddr,

например для сброса этой части. Тогда и проблемное место искать проще и по старту и перезагрузке не будет с гонками проблемы

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

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


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

Заработало с настройками, которые посоветовали на форуме Altera:

http://www.alteraforum.com/forum/showthrea...88&p=219645

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


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

Заработало с настройками, которые посоветовали на форуме Altera:

http://www.alteraforum.com/forum/showthrea...88&p=219645

Коллеги,очень интересует этот вопрос но нет возможности посмотреть картинки на alteraforum, хотя регистрация есть. Может кто сможет выложить эти 6 картинок?

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


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

Коллеги,очень интересует этот вопрос но нет возможности посмотреть картинки на alteraforum, хотя регистрация есть. Может кто сможет выложить эти 6 картинок?

Ловите

post-87968-1475848186_thumb.jpg

post-87968-1475848195_thumb.jpg

post-87968-1475848205_thumb.jpg

post-87968-1475848210_thumb.jpg

post-87968-1475848216_thumb.jpg

post-87968-1475848221_thumb.jpg

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


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

Заработало с настройками, которые посоветовали на форуме Altera:

http://www.alteraforum.com/forum/showthrea...88&p=219645

А не сможете ли Вы показать настройки своего проекта? Очень интересует в чём было отличие.

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


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

А не сможете ли Вы показать настройки своего проекта? Очень интересует в чём было отличие.

 

Вот настройки моего работающего проекта.

С рекомендациями форума Altera заработало сразу. Изначально у меня был выключен ODT и стояли другие тайминги (из пресетов для MT41J128M16HA-15E, которая ближайший аналог MT41J128M16JT-125)

post-25900-1475913277_thumb.png

post-25900-1475913291_thumb.png

post-25900-1475913325_thumb.png

post-25900-1475913333_thumb.png

post-25900-1475913347_thumb.png

post-25900-1475913356_thumb.png

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

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


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

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

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

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

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

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

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

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

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

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