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

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

 

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

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


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

2 Porty

если у вас Cyclone II FPGA Starter Development Kit

то там нет сдвоенных SDRAM-ов :)

там всего по одной штучке

Memory:

8-Mb SDRAM

512-Kb SRAM

4-Mb flash

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


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

у меня своя плата, точнее набор. поспешили и сделали задел не продумав всю организацию памяти.

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


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

2 Porty

Тогда, наверно, дорога вам ковыряйть альтеровский SDRAM контроллер на свой лад :unsure:

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


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

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

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

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

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


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

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

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


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

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

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

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


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

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

 

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

 

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

 

 

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

 

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

 

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

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

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

 

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

 

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

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


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

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

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

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


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

Я все облазил но файла с логами 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

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


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

попробуйте "Run As..", создать новую конфигурацию, что пишется? если все в "Auto", от должен сначада усб-бластер увидеть, а потом проц, что пишется?

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


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

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

Юсб бластер видится еще когда я 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 систему добивает проект.

 

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

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


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

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

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

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

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

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

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

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

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

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