Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DDR3 calibration fail (Cyclone V + Micron DDR3 + Uniphy + NiOS)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
SamuraY
Здравствуйте, уважаемые коллеги! Помогите пожалуйста решить проблему.

Есть кастомная плата с 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, архив с проектом.

Буду очень признателен за подсказки и уделенное время!
SamuraY
А проблема может быть в том, что к FPGA подключено два х16 чипа MT41J128M16JT-125 с общими шинами команд и адреса, а я подключил контроллер только к одному чипу? И FPGA сейчас драйвит шины комманд и адреса того второго чипа, но не шину данных.
yuravg
Цитата(SamuraY @ Sep 29 2016, 20:14) *
А проблема может быть в том, что к FPGA подключено два х16 чипа MT41J128M16JT-125 с общими шинами команд и адреса, а я подключил контроллер только к одному чипу?


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

Цитата(SamuraY @ Sep 29 2016, 02:06) *
Сигналы 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,
например для сброса этой части. Тогда и проблемное место искать проще и по старту и перезагрузке не будет с гонками проблемы
SamuraY
Заработало с настройками, которые посоветовали на форуме Altera:
http://www.alteraforum.com/forum/showthrea...88&p=219645
_Anatoliy
Цитата(SamuraY @ Oct 7 2016, 14:27) *
Заработало с настройками, которые посоветовали на форуме Altera:
http://www.alteraforum.com/forum/showthrea...88&p=219645

Коллеги,очень интересует этот вопрос но нет возможности посмотреть картинки на alteraforum, хотя регистрация есть. Может кто сможет выложить эти 6 картинок?
yuravg
Цитата(_Anatoliy @ Oct 7 2016, 15:55) *
Коллеги,очень интересует этот вопрос но нет возможности посмотреть картинки на alteraforum, хотя регистрация есть. Может кто сможет выложить эти 6 картинок?

Ловите
_Anatoliy
Цитата(yuravg @ Oct 7 2016, 16:51) *
Ловите

Большое спасибо,коллега!
_Anatoliy
Цитата(SamuraY @ Oct 7 2016, 14:27) *
Заработало с настройками, которые посоветовали на форуме Altera:
http://www.alteraforum.com/forum/showthrea...88&p=219645

А не сможете ли Вы показать настройки своего проекта? Очень интересует в чём было отличие.
SamuraY
Цитата(_Anatoliy @ Oct 7 2016, 19:41) *
А не сможете ли Вы показать настройки своего проекта? Очень интересует в чём было отличие.


Вот настройки моего работающего проекта.
С рекомендациями форума Altera заработало сразу. Изначально у меня был выключен ODT и стояли другие тайминги (из пресетов для MT41J128M16HA-15E, которая ближайший аналог MT41J128M16JT-125)
_Anatoliy
Цитата(SamuraY @ Oct 8 2016, 10:53) *


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