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

NIOS: JTAG -> SDRAM

Добрый день всем.

Попробовал собрать систему с ниосом, в которой в качестве ОЗУ будет ДДР3, и как обычно ничего не получилось с наскока.

 

Делал следующее:

1. Собрал систему в qSys

post-59925-1360895875_thumb.png

2. В настройках ниоса указал вектора на SDRAM

post-59925-1360895884_thumb.png

3. Подключил все выводы code.vhd

4. В еклипсе создал проект по шаблону "Hello, world!" с использованием uC/OS

5. В настройках линкера все секции находятся в SDRAM

post-59925-1360895855_thumb.png

6. Залил .sof-файл. Конфигуратор еклипса видит коннект с плисой

post-59925-1360895860_thumb.png

7. В процессе заливки получаем вот такой вот ... ошибка

post-59925-1360895867_thumb.png

 

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

на которую настраивается вектор сброса ниоса. Здесь контроллер флешки имеет загрузчик, и без

помех со стороны программиста, заливает код из флеш в SDRAM.

 

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

 

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

 

Да, забыл описать кристалл: Кит для EP4SGX230KF40C2, Квартус 11.1, НИОС - time_limited

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

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


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

констрены в порядке, таймквест по нолям.

 

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

 

Кто-нибудь вообще делал заливку таким образом? и как???

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


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

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

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

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


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

Настройки для SDRAMa взяты из проекта, в котором производится чтение и запись в DDR3.

 

ТаймКвест не ругается.

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


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

добился такого результата:

собрал в qSys систему, подцепил ее выводы в квартусе в графическом виде, создал в еклипсе проект "Hello? world!", все вектора Ниоса на SDRAM, и все отработало.

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

 

Завтра буду копать в этом русле.

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


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

добился такого результата:

собрал в qSys систему, подцепил ее выводы в квартусе в графическом виде, создал в еклипсе проект "Hello? world!", все вектора Ниоса на SDRAM, и все отработало.

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

Никак не могу выявить причину такого поведения.

Помогите, кто с таким сталкивался.

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


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

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

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


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

прыгал с бубном вокруг констрейнов, ничего не помогало, пока не создал Регион для .qsys модуля.

 

Спасибо за помощь.

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


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

после генерации Qsys, вы запускали tcl-скрипт, прописывающий нужные assignments для пинов, перед сборкой анализ/синтез/фиттер? если нет - читайте доки, они рулез.

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

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


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

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

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

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

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

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

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

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

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

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