реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> DDR2 + Cyclon V, Настройка DDR2 в QSYS
UltraLord
сообщение Sep 14 2016, 07:43
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 23-08-16
Пользователь №: 93 060



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

Прошу помощи, в первые столкнулся с работой DDR2. У нас есть своя кастомная плата с DDR2 MT47H64M16HR-3IT (есть в контроллере UniPHY) и Cyclon V. Компиляция проекта проходит успешно, но возникает следующая проблема, при добавлении контроллера DDR2 в Qsys, ниоc прекращает работать. Проект в eclips с ниосом при дебаге запускается, но тупо зависает и ничего не происходит. Даже не знаю, где копать, понятно что где-то в DDR, но что именно может вызывать подобный эффект?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Sep 14 2016, 09:27
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(UltraLord @ Sep 14 2016, 10:43) *
при добавлении контроллера DDR2 в Qsys, ниоc прекращает работать. Проект в eclips с ниосом при дебаге запускается, но тупо зависает и ничего не происходит. Даже не знаю, где копать, понятно что где-то в DDR, но что именно может вызывать подобный эффект?


Вероятнее всего зависает транзакция на шине при обращении к области памяти DDR, а значит контроллер не может корректно взаимодействовать с памятью. Причин может быть миллион - неправильные подключения управляющих сигналов, неправильные настройки параметров памяти, проблемы с времянками.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Sep 14 2016, 15:00
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



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

Лечится редактированием файла "linker script".
Go to the top of the page
 
+Quote Post
Inanity
сообщение Sep 15 2016, 12:32
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



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

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

Сообщение отредактировал Inanity - Sep 15 2016, 12:34
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение Sep 28 2016, 15:32
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



проверьте сбросы - по-моему jtag_debug_reset должен заходить на сброс ddr
Go to the top of the page
 
+Quote Post
SamuraY
сообщение Sep 28 2016, 22:14
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 93
Регистрация: 5-03-07
Из: Киев
Пользователь №: 25 900



Как раз недавно столкнулся с подобнной ситуацией. Как правильно указали выше, все ломалось на попытке загрузить через JTAG прогу на выполнение из DDR SDRAM, при неправильно работающем контроллере памяти. Если добавить в SoC внутреннюю блочную память и в настройках linker script BSP указать эту самую блочную память для всех сегментов, программа запустится из блочной памяти. Но проблема с неработающей DDR SDRAM останется. Причин тому может быть миллион (но скорее всего неправильные настройки контроллера памяти).
Go to the top of the page
 
+Quote Post
UltraLord
сообщение Oct 11 2016, 08:08
Сообщение #7





Группа: Новичок
Сообщений: 4
Регистрация: 23-08-16
Пользователь №: 93 060



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

Сообщение отредактировал UltraLord - Oct 11 2016, 08:11
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01421 секунд с 7
ELECTRONIX ©2004-2016