Jump to content

    
Sign in to follow this  
AlexBel

NIOS для начинающих

Recommended Posts

запустил один чип sdram памяти 256мегабит, 16 бит шина данных, но на плате стоит 2 чипа, с общими сигналами управления и адресом, с раздельными шинами данных (32битный модуль памяти в итоге), как их подключить в spoc билдере так чтоб одновременно шло обращение к обоим чипам в 32битном режиме?

 

просто выставить в настройках custom memory нельзя ибо сигналы маскирования байт будут уже для 32 бит т.е. на 4 байта, а не для 16 бит, объединять через тристейт мост авалона не хочу, т.к. насколько я понимаю они станут как 2 раздельных 16 разрядных банка памяти, а вот как их объединить в один 32битный банк памяти?

Share this post


Link to post
Share on other sites

хочу сделать согласно этому рисунку (т.е. все сигналы адреса и управления в том числе и CS запаралелены у обоих модулей):

http://img708.imageshack.us/img708/3314/98895866.jpg

это кстати взято из официальной альтеровской документации (http://www.altera.com/literature/hb/nios2/n2cpu_nii51005.pdf) на sdram контроллер, но как включать такой режим и использовать упоминаний нет, просто сказано что вот он существует.

Share this post


Link to post
Share on other sites

чтение понятно как можно скомутировать, а вот чтоб замаскировать запись необходимо либо как то не подавать сигнал записи на сам модуль что вообще невозможно без перепайки (наверное так и сделаю) ибо шины управления запаралелены, даже записывая 1 байт в память А идёт запись того же байта в память Б, т.е. нужно сделать буфер и как то сохранять те значения которые были что крайне сложно, да и смутила оригинальная документация на ip модуль памяти (что я выше выкладывал) по ней выходит что можно сделать средствами самой среды.

Share this post


Link to post
Share on other sites
чтение понятно как можно скомутировать, а вот чтоб замаскировать запись необходимо либо как то не подавать сигнал записи на сам модуль что вообще невозможно без перепайки (наверное так и сделаю) ибо шины управления запаралелены, даже записывая 1 байт в память А идёт запись того же байта в память Б, т.е. нужно сделать буфер и как то сохранять те значения которые были что крайне сложно, да и смутила оригинальная документация на ip модуль памяти (что я выше выкладывал) по ней выходит что можно сделать средствами самой среды.

а мне кажется, что просто половину DQMx на один чип завести, половину - на другой. и видиться 2 чипа x16 будут как один x32. разве нет? и во второй чип он не будет писать, если маска не установлена. или у вас на плате сигналы маскирования объединены? тогда - резать :)

Share this post


Link to post
Share on other sites

Вопрос от совсем начинающего )

 

Есть плата с Cyclone2, в котором Nios2 и немного логики.

 

Попробовал собрать и позапускать примеры - работает. Делал по мануалу hardware development tutorial.

 

 

Собрал свою систему в которой cpu, onchip_mem, uart, pio и sysid.

 

Модификацией примера hello_world_small добился что оно начало делать то что мне нужно. Обрадовался что все работает.

 

Решил добавить epcs_controller_module для того чтобы номер платы сохранять.

Добавил его в SOPC, пересобрал железо в квартусе, залил в плату.

Пересобрал софт, запускаю, IDE говорит что NIOS не отвечает.

 

Попробовал вернуть обратно, пересобрать заново, все-равно не отвечает. Пробовал разнообразные варианты пересборки и тыкания на все подряд, но пока результата так и не получил.

 

Собственно, как диагностировать почему IDE не может законнектиться к процу? Чего ему не хватает для счастья?

Share this post


Link to post
Share on other sites
Собственно, как диагностировать почему IDE не может законнектиться к процу? Чего ему не хватает для счастья?

логи покажите (NIOS IDE). картинку из билдера тоже можно.

Share this post


Link to post
Share on other sites

Я все облазил но файла с логами IDE не нашел..

 

Я конфигурирую плис через Quartus Programmer, затем жму на проект Run As Nios 2 Hardware.

после успешной компиляции IDE пишет в консоли -

 

Using cable "USB-Blaster [uSB-0]", device 1, instance 0x00

Pausing target processor: not responding.

Resetting and trying again: FAILED

Leaving target processor paused

 

Картинка из билдера не очень информативна.. Вложил. Еще вложил успешный лог билдера..

post-12763-1273414923_thumb.png

vezuviy_controller_log.txt

Share this post


Link to post
Share on other sites

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

Юсб бластер видится еще когда я Quartus 2 Programmer запускаю чтобы железо проца залить в плату. А вот софт для проца уже не получается загрузить через jtag debugging module.

 

Я провел следующие эксперименты:

 

1. В глючный проект железа (не отвечающий проц) пытался залить разные софтовые проекты, в том числе не родные (для другого железа) и точно рабочие.

Результат везде один - проц не отвечает, FAILED. Причем даже до проверки sysid дело не доходит, сразу же вешается.

 

Сделал вывод что копаться надо в том что квартус создает.

 

2. Создал заново пустой проект с дефолтными настройками (мало ли что я там натыкал). Скопировал туда единственный верилоговский файлик с моей логикой и инстанциацией (фу, слово-то какое) проца. Создал заново в SOPC (протыкал мышой, а не копировал файлы) проект как на картинке (только без таймера, он мне не нужен).

Откомпилировал, залил в плату.

Создал минимальный тестовый пример из шаблона в NIOS IDE и запустил Run As Nios II Hardware.

Проц нашелся, прога отработала.

 

Вернулся в квартус, добавил epcs_flash_controller в SOPC, пересобрал, перекомпилировал, перезалил в плату.

В Nios IDE пересобрал тестовый пример, запустил - проц не видится, FAILED.

 

Вернулся в квартус, удалил epcs_flash_controller в SOPC, пересобрал, перекомпилировал, перезалил в плату.

В Nios IDE пересобрал тестовый пример, запустил - проц нашелся, программа отработала.

 

Т.е. добавление epcs контроллера в SOPC систему добивает проект.

 

В принципе меня устраивает и то что сейчас работает, но как-то не нравится мне это все, если добавление одного в принципе несложного компонента приводит к таким непредсказуемым результатам. И самое главное я не знаю как понять чего именно хочет от меня система..

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this