реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Обращение к flash epcs16
Gun_931
сообщение Dec 18 2015, 14:19
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 29-04-15
Пользователь №: 86 445



Всем доброго дня)
Разрабатывается проект на cyclone III. Он достаточно объемный и внутренней памяти fpga для обработки данных не хватает, поэтому было решено задействовать оставшуюся память флешки (сейчас стоит epcs16). Возник такой вопрос: возможно ли обратиться к загрузочным ногам (DCLK, DATA, nCE, ASDI) напрямую со своего spi блока, не задействовав корки в Qsys. Пока при создании IO пинов и подключении их в pin planner при компиляции выдается ошибка "multiple pins assigned". В доках альтеры нашел только подключение через sopc/qsys.
Go to the top of the page
 
+Quote Post
BSACPLD
сообщение Dec 18 2015, 14:48
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056



Цитата(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.
Go to the top of the page
 
+Quote Post
Gun_931
сообщение Dec 18 2015, 15:36
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 29-04-15
Пользователь №: 86 445



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

Спасибо большое) и как я упустил это ядро)) Достаточно удобное кстати)
Но все таки возможно ли вообще обращение к этим ногам как к юзеровским?
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 18 2015, 19:40
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



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

Посмотрите, возможно ли через Device and Pin Options задать их использование как user i/o.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Dec 19 2015, 05:24
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата(Gun_931 @ Dec 18 2015, 17:19) *
внутренней памяти fpga для обработки данных не хватает, поэтому было решено задействовать оставшуюся память флешки (сейчас стоит epcs16)
А Вы её для хранения и считывания констант хотите использовать? А то из текста можно подумать, что в качестве ОЗУ.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 20 2015, 12:04
Сообщение #6


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



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

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

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

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Gun_931
сообщение Dec 21 2015, 09:34
Сообщение #7





Группа: Новичок
Сообщений: 3
Регистрация: 29-04-15
Пользователь №: 86 445



Цитата(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, потом переделал на основе доступа к этими пинам (их использование, как уже указали, нужно разрешить в опциях дивайса).


А что с ним такое? Криво сделан?
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 21 2015, 10:14
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



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

Нормально сделан, всё работает и багов не замечено. Возможно, имелось ввиду то, что если получить доступ к ногам, то можно их вытащить на внешний master. Если использовать master в FPGA, то удобнее использовать ASMI (нет необходимости в построении протокола, хотя и простого, общения с SPI-flash).
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 22 2015, 09:32
Сообщение #9


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



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 у меня уже был).


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd July 2025 - 19:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01452 секунд с 7
ELECTRONIX ©2004-2016