Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: NIOS: JTAG -> SDRAM
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
billidean
Добрый день всем.
Попробовал собрать систему с ниосом, в которой в качестве ОЗУ будет ДДР3, и как обычно ничего не получилось с наскока.

Делал следующее:
1. Собрал систему в qSys
Нажмите для просмотра прикрепленного файла
2. В настройках ниоса указал вектора на SDRAM
Нажмите для просмотра прикрепленного файла
3. Подключил все выводы Нажмите для просмотра прикрепленного файла
4. В еклипсе создал проект по шаблону "Hello, world!" с использованием uC/OS
5. В настройках линкера все секции находятся в SDRAM
Нажмите для просмотра прикрепленного файла
6. Залил .sof-файл. Конфигуратор еклипса видит коннект с плисой
Нажмите для просмотра прикрепленного файла
7. В процессе заливки получаем вот такой вот ... ошибка
Нажмите для просмотра прикрепленного файла

Системы, использующие SDRAM, которые я находил при поиске решения, используют еще и флэшку,
на которую настраивается вектор сброса ниоса. Здесь контроллер флешки имеет загрузчик, и без
помех со стороны программиста, заливает код из флеш в SDRAM.

В моем случае получается, что код должен быть залит по JTAG'у в SDRAM.

Что? Где? Когда? И самое главное Как??? сделать, чтоб все было норм?

Да, забыл описать кристалл: Кит для EP4SGX230KF40C2, Квартус 11.1, НИОС - time_limited
vadimuzzz
симптомы напоминают неподключенные констрейны на ddr i/o
billidean
констрены в порядке, таймквест по нолям.

здесь что-то в самой заливке по JTAGу во внешнее ОЗУ зарыто, мне кажется. Я это делаю первый раз, поэтому подозреваю, что нужен какой-то "бубен", чтоб все прошло хорошо.

Кто-нибудь вообще делал заливку таким образом? и как???
vadimuzzz
Цитата(billidean @ Feb 15 2013, 23:46) *
здесь что-то в самой заливке по JTAGу во внешнее ОЗУ зарыто, мне кажется. Я это делаю первый раз, поэтому подозреваю, что нужен какой-то "бубен", чтоб все прошло хорошо.

там единственный бубен - кривые тайминги/констрейны. ну еще ноги подключить. сложности есть только с sdram, там руками надо настраивать, а для ddr* все генерируется автоматически, нужно только подключить. добавьте on-chip и сделайте простенький тест чтения/записи в ddr.
billidean
Настройки для SDRAMa взяты из проекта, в котором производится чтение и запись в DDR3.

ТаймКвест не ругается.
vadimuzzz
отчет компиляции в квартусе выложите
billidean
добился такого результата:
собрал в qSys систему, подцепил ее выводы в квартусе в графическом виде, создал в еклипсе проект "Hello? world!", все вектора Ниоса на SDRAM, и все отработало.
В другом проекте квартуса ту же самую qSys-систему подцепил в текстовом-VHDL виде, создал в еклипсе проект "Hello? world!", все вектора Ниоса на SDRAM, т.е. все также, НО ошибка такая же как раньше, в первом сообщении.

Завтра буду копать в этом русле.
billidean
Цитата(billidean @ Feb 18 2013, 15:45) *
добился такого результата:
собрал в qSys систему, подцепил ее выводы в квартусе в графическом виде, создал в еклипсе проект "Hello? world!", все вектора Ниоса на SDRAM, и все отработало.
В другом проекте квартуса ту же самую qSys-систему подцепил в текстовом-VHDL виде, создал в еклипсе проект "Hello? world!", все вектора Ниоса на SDRAM, т.е. все также, НО ошибка такая же как раньше, в первом сообщении.

Никак не могу выявить причину такого поведения.
Помогите, кто с таким сталкивался.
vadimuzzz
все что вы описываете - типичное поведение проекта с кривыми констрейнами/таймингами. не верите - соберите проект с on-chip и погоняйте в нем тесты чтения/записи ddr (случайные адреса, последовательные адреса)
billidean
прыгал с бубном вокруг констрейнов, ничего не помогало, пока не создал Регион для .qsys модуля.

Спасибо за помощь.
krux
после генерации Qsys, вы запускали tcl-скрипт, прописывающий нужные assignments для пинов, перед сборкой анализ/синтез/фиттер? если нет - читайте доки, они рулез.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.