Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: NIOS + 16-bit внешняя память программ
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
confflex
Привет Всем! Вопрос знающим Nios.
Необходимо запустить Nios на Cyclone 1C12, загрузка программы Nios из EPCS в 16-битную асинхронную(синхронную) внешнюю SRAM. Просьба не критиковать за использование в 2009-м первого Циклона и асинхронной памяти. Так надо, 16-битная память, а не 32-битная рассматривается из-за отсутсвия лишних IO в Cyclone. В связи с этим вопросы никогда не юзавшего Ниос.
Возможна ли такая конфигурация?
Если возможна, то контроллер SRAM делать самому? В Quartus 9.0 в SOPC в разделе SRAM я вижу только 32-битные контроллеры для асинхронной IDT71V416 и синхронной CY7C1380.
Если всё же возможно применение 16-битной памяти, плиз, ткните носом в примеры такого использования.
EugeneS
Цитата(confflex @ Aug 23 2009, 16:01) *
Привет Всем! Вопрос знающим Nios.
Необходимо запустить Nios на Cyclone 1C12, загрузка программы Nios из EPCS в 16-битную асинхронную(синхронную) внешнюю SRAM. Просьба не критиковать за использование в 2009-м первого Циклона и асинхронной памяти. Так надо, 16-битная память, а не 32-битная рассматривается из-за отсутсвия лишних IO в Cyclone. В связи с этим вопросы никогда не юзавшего Ниос.
Возможна ли такая конфигурация?
Если возможна, то контроллер SRAM делать самому? В Quartus 9.0 в SOPC в разделе SRAM я вижу только 32-битные контроллеры для асинхронной IDT71V416 и синхронной CY7C1380.
Если всё же возможно применение 16-битной памяти, плиз, ткните носом в примеры такого использования.


Конфигурация возможна. Если затрудняешся создать свой компонент, в niosforum
были примеры. При подключении 16-бит контроллера почитай насчет
word alignment.
torik
Можно использовать контроллер SDRAM и динамическую память 16 бит. Готовый контроллер уже есть в SOPC Builder. Можно хоть 8 бит память...
confflex
Наверное и правда с простейшей 16-битной SDRAM побыстрей стартануть можно, т.к. контроллер в SOPC есть, а IO не больше, вроде, чем для асинхронной требуется.
А где бы взять пример программы-загрузчика для SDRAM(SRAM) 16-bit, которая как я понял должна размещаться в RAM-блоках, и переписывать программу для Ниоса из EPCS во внешнюю память, и инициализировать запуск основной програмы? Ещё бы лучше кто бы тнул носом в ссылку на какой-нибудь дизайн для какой-то демо платы или может кто вышлет простой проект. Сам пока не нашёл ничего хорошего, хотя много перерыл.
vadimuzzz
Цитата(confflex @ Aug 24 2009, 03:26) *
А где бы взять пример программы-загрузчика для SDRAM(SRAM) 16-bit, которая как я понял должна размещаться в RAM-блоках, и переписывать программу для Ниоса из EPCS во внешнюю память, и инициализировать запуск основной програмы? Ещё бы лучше кто бы тнул носом в ссылку на какой-нибудь дизайн для какой-то демо платы или может кто вышлет простой проект. Сам пока не нашёл ничего хорошего, хотя много перерыл.

эта программа (бутлодер) вшита в корку epcs-контроллера. поищите в папке квартуса (или ниос-иде?), там есть сорцы на асме. вам только reset-вектор надо нацелить на epcs, а в настройках линкера указать внешнюю память. примеры идут с ниос-иде.
Stewart Little
Цитата(torik @ Aug 23 2009, 22:50) *
Можно использовать контроллер SDRAM и динамическую память 16 бит. Готовый контроллер уже есть в SOPC Builder. Можно хоть 8 бит память...

Не надо SDRAM'а, особенно для первого проекта. smile.gif
Для внешней SRAM (что синхронной, что асинхронной) не нужен никакой контроллер. Для ее подключения используется Avalon Tristate bridge и модуль Tristate Slave (нужной разрядности), который выбирается в компонент эдиторе из заготовок (Template).
Никакого геморроя, и все готово за три минуты. И все выравнивания слов, как говорится, "украдены до нас" smile.gif
torik
Цитата
Не надо SDRAM'а, особенно для первого проекта. smile.gif
Для внешней SRAM (что синхронной, что асинхронной) не нужен никакой контроллер. Для ее подключения используется Avalon Tristate bridge и модуль Tristate Slave (нужной разрядности), который выбирается в компонент эдиторе из заготовок (Template).
Никакого геморроя, и все готово за три минуты. И все выравнивания слов, как говорится, "украдены до нас" smile.gif


Пожалуй, соглашусь. Единственное, SDRAM позволить выводы сэкономить...
confflex
А можно подробней, чем плох SDRAM ? Собрался было уже применить какую-нибудь 64 МБит(1М*4*16).
Stewart Little
Цитата(confflex @ Aug 24 2009, 18:42) *
А можно подробней, чем плох SDRAM ? Собрался было уже применить какую-нибудь 64 МБит(1М*4*16).

Да ничем не плох. Но для него нужен контроллер, а для SRAM контроллер не нужен. Также для SDRAM, скорее всего, придется ставить терминирующие резсторы.
confflex
Да вроде бы для SDRAM без терминаторов обходятся, по крайней мере в нескольких схемах бордов я их не увидел.
А на какой минимальной частоте можно использовать, например 100МГц-ую SDRAM? Вроде бы есть ограничение минимальной частоты.
torik
Цитата
Да ничем не плох. Но для него нужен контроллер, а для SRAM контроллер не нужен.

Контроллер есть готовый в SOPC...

Цитата
Также для SDRAM, скорее всего, придется ставить терминирующие резсторы.

Для 16-битной я не ставил терминирующих резисторов, не выравнивал длины (и так проводники короткие получились) и при этом все заработало на 100МГц сразу же.
Для 32-битной выравнивал длины и ставил резисторы - раскачегаривается до 200 МГц.

Цитата
Вроде бы есть ограничение минимальной частоты.

Работал начиная от 50 МГц, проблем не замечал.
Stewart Little
Цитата(torik @ Aug 25 2009, 08:53) *
Контроллер есть готовый в SOPC...

Есть, но это дополнительный расход ресурсов ПЛИС (хоть и не большой).
А вообще-то в задаче спрашивалось про подключение асинхронной SRAM, а не о том, какая память круче. smile.gif
Чего бодаться-то? beer.gif
torik
Действительно, не будем бодаться beer.gif
confflex
Большое спасибо всем ответившим! Вроде стало понемногу проясняться!
EvgenyNik
Цитата
Для ее подключения используется Avalon Tristate bridge и модуль Tristate Slave (нужной разрядности), который выбирается в компонент эдиторе из заготовок (Template).

А таким же путём, но контроллер CFI (из вкладки Memories & memory controllers > Flash > Flash memory) для подключения к нему SRAM приспособить нельзя? Разрядность настраивается, времянки - тоже...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.