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

 
 
> проблема с DDR3 local_ready(StratixIV), проблема с сигналом local_ready
billidean
сообщение Feb 17 2012, 06:55
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 247
Регистрация: 4-10-10
Из: г. Екатеринбург
Пользователь №: 59 925



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

Имеется проект под StratixIV на Q9.1, который качает данные в DDR3 и из нее.
Используется HPC II.
Все работает отлично.

Далее, взял этот проект и вставил его как компонент в другой проект, который создан в Q11.1.
Здесь-то и началось все веселье.
Сначала Квартус потребовал перегенерить ядро HPC II, ладно сделал, проект вроде скомпилился.
Заливаю в кристалл, обмена с DDR-кой нет.
Смотрю на SignalTap'е, сигнал local_ready='0' с самого начала, т.е. он даже не был в '1'.
Перекомпилил проект, залил, обмен есть, но поведение сигнала local_ready мне не нравится, при записи данных в DDR-ку он иногда падает в '0'.
Такого поведения от него я не видел при отладке начального проекта в Q9.1, там этот сигнал падал в '0' только при вычитывании большого объема данных из DDR-ки, когда буфер контроллера HPC II заполнялся.

Кто может что-нибудь посоветовать, как победить проблему в Q11.1???

З.Ы.: после каждой перекомпиляции поведение конртоллера HPC II меняется, и это не есть гуд.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
billidean
сообщение Feb 21 2012, 04:48
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 247
Регистрация: 4-10-10
Из: г. Екатеринбург
Пользователь №: 59 925



Спасибо всем за ответы.
Буду думать, что дальше делать. Может обратно на Q9.1 перейду.
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение Feb 21 2012, 07:43
Сообщение #3


Местный
***

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



Цитата(billidean @ Feb 21 2012, 08:48) *
Спасибо всем за ответы.
Буду думать, что дальше делать. Может обратно на Q9.1 перейду.



Не надо обратно на 9.1 DDR controller обновился очень существенно. Даже между 10-ыми версиями была большая разница - стал гораздо надежней.
Go to the top of the page
 
+Quote Post
billidean
сообщение Feb 27 2012, 07:55
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 247
Регистрация: 4-10-10
Из: г. Екатеринбург
Пользователь №: 59 925



Цитата(Sergey_Bekrenyov @ Feb 21 2012, 11:43) *
Не надо обратно на 9.1 DDR controller обновился очень существенно. Даже между 10-ыми версиями была большая разница - стал гораздо надежней.


Ага, только теперь(в Квартусе11.1) нужно использовать контроллер с UniPHY, т.е. генерить не через МегаВизард (не генерится), а через qSys.
После генерации ядра с UniPHY в qSys (только DDR3-ядро) я подключил полученный компонент к своему проекту, обвязал его и... получил ошибку, что фиттер не может сделать режим open-drain для ног mem_ck[0] и mem_ck_n[0], т.е. для тактовых ног.

Может я что-то не так понимаю и делаю?? help.gif help.gif

З.Ы.: моя система в qSys:
Прикрепленное изображение

ошибки при компиляции:
Прикрепленное изображение


Сообщение отредактировал billidean - Feb 27 2012, 08:40
Go to the top of the page
 
+Quote Post
Adv
сообщение Feb 27 2012, 22:24
Сообщение #5


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

Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407



Цитата(billidean @ Feb 27 2012, 11:55) *
Ага, только теперь(в Квартусе11.1) нужно использовать контроллер с UniPHY, т.е. генерить не через МегаВизард (не генерится), а через qSys.
После генерации ядра с UniPHY в qSys (только DDR3-ядро) я подключил полученный компонент к своему проекту, обвязал его и... получил ошибку, что фиттер не может сделать режим open-drain для ног mem_ck[0] и mem_ck_n[0], т.е. для тактовых ног.

Может я что-то не так понимаю и делаю?? help.gif help.gif

З.Ы.: моя система в qSys:
Прикрепленное изображение

ошибки при компиляции:
Прикрепленное изображение



Уважаемый billidean! Вы скрипты запускали перед компиляцией? Пожалуйста, почитайте это - www.altera.com/literature/hb/external-memory/emi_tut_qdr.pdf.
Это - пример использования UNI PHY, рабочий. Проверял .
В .qsf файле проекта должны быть такие (или похожие, эти - из моего проекта...) строки (это выдержка - там их много после запуска скрипта *_pin_assignments.tcl):

.................
set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to ddr3_mem_dqs_n[1] -tag __pr_16_ddr3_p0
set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to ddr3_mem_dqs_n[1] -tag __pr_16_ddr3_p0
set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to ddr3_mem_ck -tag __pr_16_ddr3_p0
set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITHOUT CALIBRATION" -to ddr3_mem_ck -tag __pr_16_ddr3_p0
set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to ddr3_mem_ck_n -tag __pr_16_ddr3_p0
set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITHOUT CALIBRATION" -to ddr3_mem_ck_n -tag __pr_16_ddr3_p0

set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to ddr3_mem_a[0] -tag __pr_16_ddr3_p0
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to ddr3_mem_a[0] -tag __pr_16_ddr3_p0
..........

и т.д.

Нет там открытого коллектора (open-drain) и близко. Используется динамическая терминация (Dynamic ODT). Полагаю - и у Вас тоже используется.
Заранее прошу прощения , если Вы это уже читали.

p.s. На всяк случай прикрепляю пример. И вот что - если у Вас ранее отработал скрипт от Altmemphy (*_pin_assignments.tcl) - то всё равно запускайте его по-новому (от uni PHY, разумеется).
Порядок запуска скрипта ОТЛИЧАЕТСЯ от запуска в Altmemphy (!!) Будьте внимательны.
Прикрепленные файлы
Прикрепленный файл  emi_tut_qdr.pdf ( 3.86 мегабайт ) Кол-во скачиваний: 54
 
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 16:10
Рейтинг@Mail.ru


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