Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обращение к flash epcs16
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Gun_931
Всем доброго дня)
Разрабатывается проект на cyclone III. Он достаточно объемный и внутренней памяти fpga для обработки данных не хватает, поэтому было решено задействовать оставшуюся память флешки (сейчас стоит epcs16). Возник такой вопрос: возможно ли обратиться к загрузочным ногам (DCLK, DATA, nCE, ASDI) напрямую со своего spi блока, не задействовав корки в Qsys. Пока при создании IO пинов и подключении их в pin planner при компиляции выдается ошибка "multiple pins assigned". В доках альтеры нашел только подключение через sopc/qsys.
BSACPLD
Цитата(Gun_931 @ Dec 18 2015, 18:19) *
Всем доброго дня)
Разрабатывается проект на cyclone III. Он достаточно объемный и внутренней памяти fpga для обработки данных не хватает, поэтому было решено задействовать оставшуюся память флешки (сейчас стоит epcs16). Возник такой вопрос: возможно ли обратиться к загрузочным ногам (DCLK, DATA, nCE, ASDI) напрямую со своего spi блока, не задействовав корки в Qsys. Пока при создании IO пинов и подключении их в pin planner при компиляции выдается ошибка "multiple pins assigned". В доках альтеры нашел только подключение через sopc/qsys.

Используйте мегафункцию ALTASMI_PARALLEL.
Gun_931
Цитата(BSACPLD @ Dec 18 2015, 17:48) *
Используйте мегафункцию ALTASMI_PARALLEL.

Спасибо большое) и как я упустил это ядро)) Достаточно удобное кстати)
Но все таки возможно ли вообще обращение к этим ногам как к юзеровским?
doom13
Цитата(Gun_931 @ Dec 18 2015, 18:36) *
Спасибо большое) и как я упустил это ядро)) Достаточно удобное кстати)
Но все таки возможно ли вообще обращение к этим ногам как к юзеровским?

Посмотрите, возможно ли через Device and Pin Options задать их использование как user i/o.
EvgenyNik
Цитата(Gun_931 @ Dec 18 2015, 17:19) *
внутренней памяти fpga для обработки данных не хватает, поэтому было решено задействовать оставшуюся память флешки (сейчас стоит epcs16)
А Вы её для хранения и считывания констант хотите использовать? А то из текста можно подумать, что в качестве ОЗУ.
dxp
QUOTE (BSACPLD @ Dec 18 2015, 20:48) *
Используйте мегафункцию ALTASMI_PARALLEL.

А я бы не рекомендовал.

QUOTE (Gun_931 @ Dec 18 2015, 21:36) *
Спасибо большое) и как я упустил это ядро)) Достаточно удобное кстати)
Но все таки возможно ли вообще обращение к этим ногам как к юзеровским?

Да, сделав на основе ASMI, потом переделал на основе доступа к этими пинам (их использование, как уже указали, нужно разрешить в опциях дивайса).
Gun_931
Цитата(doom13 @ Dec 18 2015, 22:40) *
Посмотрите, возможно ли через Device and Pin Options задать их использование как user i/o.


Да спасибо, во вкладке Dual Purpose Pins указал их как пользовательские. Компиляция проходит. Благодарю biggrin.gif


Цитата(EvgenyNik @ Dec 19 2015, 08:24) *
А Вы её для хранения и считывания констант хотите использовать? А то из текста можно подумать, что в качестве ОЗУ.


Там будут хранится массивы данных и команды.


Цитата(dxp @ Dec 20 2015, 15:04) *
А я бы не рекомендовал.

Да, сделав на основе ASMI, потом переделал на основе доступа к этими пинам (их использование, как уже указали, нужно разрешить в опциях дивайса).


А что с ним такое? Криво сделан?
doom13
Цитата(Gun_931 @ Dec 21 2015, 12:34) *
А что с ним такое? Криво сделан?

Нормально сделан, всё работает и багов не замечено. Возможно, имелось ввиду то, что если получить доступ к ногам, то можно их вытащить на внешний master. Если использовать master в FPGA, то удобнее использовать ASMI (нет необходимости в построении протокола, хотя и простого, общения с SPI-flash).
dxp
QUOTE (Gun_931 @ Dec 21 2015, 15:34) *
А что с ним такое? Криво сделан?

Не то, чтобы уж криво, но неровно, факт. Мутная хрень с невнятной реализацией и корявой докой (как и большинство док альтеры sad.gif, моё мнение (с)). В процессе освоения не обошлось без обращения в саппорт. Работоспособности добиться, в общем, удалось, но неприятно анноили такие вещи, как пачка предупреждений типа Optimized away the following RAM nodes... и далее перечислены элементы удалённой внутренней памяти, которую эта корка родила. Т.е. корка описывает память, потом синтезатор это удаляет. Избавиться от этого не представляется возможным - это их внутренние дела, юзер к этому отношения не имеет. Это явная кривизна.

Далее, клок. Клок надо констрейнить, и сделать это не так просто, как это делается со своими клоками. Скорость клока тоже ограничена, 10 МГц, если склероз не врёт. А флешки нынче есть очень быстрые. И более функциональные, нежели EPCS/M25P.

Далее, остаётся ругань на всякие Missign drive strength как раз на эти ноги, которые идут на внешнюю флешку. Любые попытки прописать на них соответствующие констрейны завершаются ошибкой. Т.е. неустранимая хрень.

Такое впечатление, что либо они там не тестируют это, либо им пофиг (склоняюсь к этому варианту).

Ну, и в итоге переписал на свой вариант, где использую только ноги ПЛИС. Получается не сложнее, всё в твоих руках, реализация на основе SPI master. Никаких "побочных эффектов", всё работает отлично, реализация прозрачная. Предсказуемость и управляемость. Этот вариант у меня получился по времени короче и по трудозатратам меньше (правда, модуль SPI master у меня уже был).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.