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

 
 
> Nios II, C2H-акселератор функций, Вопросы...
Волощенко
сообщение Mar 27 2008, 12:33
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377



Пытаюсь применить С2Н-акселератор для ускорения функции загрузки данных в буфер (в данном случае для LAN91C111).
Вроде все делаю, как предлагается в ug_nios2_c2h_compiler.pdf:
- размещаю описание функции в отдельном файле;
- предварительно проверяю ее работоспособность в софт-варианте;
- подсвечиваю название функции;
- затем правый клик по названию и в выпадающем меню выбираю Accelerate with the Nios II C2H Compiler;
- в консоле C2H view устанавливаю опции Build software, generate SOPC Builder system, and run Quartus II compilation, а также Use hardware accelerator in place of software implementation. Flush data cache before each call;
- в окне C/C++ Projects запускаю компиляцию своего проекта Build Project.

В итоге выдается сообщение, по поводу которого ничего объясняющего найти не могу:
make: *** No rule to make target `my_c2h_load_lan91c111.c', needed by `obj/my_c2h_load_lan91c111.c2h_pre'. Stop.

Попытка сделать все как рекомендуется в ug_nios2_c2h_compiler.pdf, но к учебному примеру, проходит нормально. То есть там все нормально, а у меня не хочет, даже если свою функцию упрощаю до простого присваивания.
Кто сталкивался с подобным?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
Harbour
сообщение Mar 28 2008, 05:53
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



c2h лицензия давалясь, до недавнего времени, особо приближенным к альтере - просто так эту фишку в квартусе не включить
Go to the top of the page
 
+Quote Post
Волощенко
сообщение Mar 28 2008, 07:11
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377



Цитата(Harbour @ Mar 28 2008, 09:53) *
c2h лицензия давалясь, до недавнего времени, особо приближенным к альтере - просто так эту фишку в квартусе не включить

1. Хотел бы знать, кто-то еще пытался запустить С2Н с "лицензией", и что из этого вышло?
2. Если Гора не хочет идти к нам, то попробуем к ней подойти сами. Общая идея акселерации понятна, как строить самим операционные устройства, в том числе с конвейеризацией, тоже. При большом желании можно, что-то подобное синтезировать на Verilog и самому. Теперь вопрос, как такой функциональный блок получше подключить к NiosII, какие компоненты SOPC при этом использовать? Похоже, что PIO, потом нужно притормозить NiosII пока внешняя функция полностью не отработает…
Полезно бы услышать соображения форумчан по С2Н как в целом, так и по частностям.
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Mar 28 2008, 07:55
Сообщение #4


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(Волощенко @ Mar 28 2008, 16:11) *
1. Хотел бы знать, кто-то еще пытался запустить С2Н с "лицензией", и что из этого вышло?
2. Если Гора не хочет идти к нам, то попробуем к ней подойти сами. Общая идея акселерации понятна, как строить самим операционные устройства, в том числе с конвейеризацией, тоже. При большом желании можно, что-то подобное синтезировать на Verilog и самому. Теперь вопрос, как такой функциональный блок получше подключить к NiosII, какие компоненты SOPC при этом использовать? Похоже, что PIO, потом нужно притормозить NiosII пока внешняя функция полностью не отработает…
Полезно бы услышать соображения форумчан по С2Н как в целом, так и по частностям.

1) не пробовал, попробую на след неделе
2)есть отличное средство и главное широко используемое это DMA, и главное не нужно заморачиваться с С2Н ну и писать для железа тоже не надо :-) всё уже придумано до нас
да драйвер есть в составе ниоса.
вообщем имхо применение С2Н весьмо сомнительно.


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
Harbour
сообщение Mar 29 2008, 08:28
Сообщение #5


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



шо угодно можно намостырить :

- флаги start/done
- completion irq
- dma
- user defined instructions, которые к тому же встраиваются в конвейер
Go to the top of the page
 
+Quote Post
RHnd
сообщение Mar 30 2008, 11:50
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Цитата(Postoroniy_V @ Mar 28 2008, 10:55) *
2)есть отличное средство и главное широко используемое это DMA, и главное не нужно заморачиваться с С2Н ну и писать для железа тоже не надо :-) всё уже придумано до нас


Влезу с демонстрацией своего нубства.
Как я понимаю, DMA - Direct Memory Acсess - инструмент для быстрого перекидывания данных. Похоже, я чего-то совсем не понимаю сути DMA и областей его использования, а, значит, неэффективно решаю какие-то задачи, но как DMA делает C2H ненужным? Если не затруднит, то не могли бы Вы поделится примерами использования DMA? Не кодом, а именно задачами - стояла такая задача, использовали при решении DMA таким-то образом, получилось красиво. Просто я DMA в разработке вообще не использую. Просветите, плиз! smile.gif
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Mar 30 2008, 12:41
Сообщение #7


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(RHnd @ Mar 30 2008, 20:50) *
Влезу с демонстрацией своего нубства.
Как я понимаю, DMA - Direct Memory Acсess - инструмент для быстрого перекидывания данных. Похоже, я чего-то совсем не понимаю сути DMA и областей его использования, а, значит, неэффективно решаю какие-то задачи, но как DMA делает C2H ненужным? Если не затруднит, то не могли бы Вы поделится примерами использования DMA? Не кодом, а именно задачами - стояла такая задача, использовали при решении DMA таким-то образом, получилось красиво. Просто я DMA в разработке вообще не использую. Просветите, плиз! smile.gif

верно понимаете суть дма.
используется там где нужно процессор разгрузить, чем просто заниматься копированием данных из одного места в другое. Самый простой, и думаю самый яркий, пример - это использование дма для заполения видео памяти, а в это время....проц занят какиеми то другими более полезными вещами( можете сами нафантазировать какими). Другой пример использовать дма в маршрутизаторе - после того как определили кому(какому физ-кому порту) пакет нужен отдаём пакет на растерзание дма, а в это время...проц делает что то другое
Просветил?


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
RHnd
сообщение Mar 30 2008, 21:27
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Хм. На данный момент я делаю так: Модуль, который должен принять/обработать/записать данные, снабжается мастер-портом, подключаемым к памяти с данными. Далее проц отдает этому модулю адрес откуда брать, адрес куда складывать и команду на старт. Проблема же взятия данных из памяти, укладки обратно и т.п. ложится на логику модуля и генерируемый сопсом арбитр памяти. Как такой подход выглядит по сравнению с использованием дма? Может, я жизнерадостно кручю самодельный велосипед?
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Mar 30 2008, 23:20
Сообщение #9


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(RHnd @ Mar 31 2008, 06:27) *
Хм. На данный момент я делаю так: Модуль, который должен принять/обработать/записать данные, снабжается мастер-портом, подключаемым к памяти с данными. Далее проц отдает этому модулю адрес откуда брать, адрес куда складывать и команду на старт. Проблема же взятия данных из памяти, укладки обратно и т.п. ложится на логику модуля и генерируемый сопсом арбитр памяти. Как такой подход выглядит по сравнению с использованием дма? Может, я жизнерадостно кручю самодельный велосипед?

Ну видимо у вас много времени на этот велосипед. smile.gif
писал ведь уже
Цитата
2)есть отличное средство и главное широко используемое это DMA, и главное не нужно заморачиваться с С2Н ну и писать для железа тоже не надо :-) всё уже придумано до нас
да драйвер есть в составе ниоса

в сутках как правило 24 часа smile.gif и тратить больше чем 8 часов на работу это глупо или овертайм. вам овертаймы оплачивают? biggrin.gif


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
RHnd
сообщение Mar 31 2008, 05:30
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Не, не оплачивают. smile.gif В рабочее время все и делаю. Как-то не могу сказать, чтоб работа мастера с памятью занимала много времени на разработку, но надо будет с дма попробовать. smile.gif
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Mar 31 2008, 05:39
Сообщение #11


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(RHnd @ Mar 31 2008, 14:30) *
Не, не оплачивают. smile.gif В рабочее время все и делаю. Как-то не могу сказать, чтоб работа мастера с памятью занимала много времени на разработку, но надо будет с дма попробовать. smile.gif

bb-offtopic.gif пошёл ужо...зачем тратить время если можно не тратить? smile.gif на семью/отдых/друзей/пиво лучше тратьте smile.gif


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 31 2008, 12:03
Сообщение #12


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Postoroniy_V @ Mar 30 2008, 18:20) *
Ну видимо у вас много времени на этот велосипед. smile.gif
писал ведь уже


Позвольте с вами не согласиться, насколько я знаю SOPC Builder генерирует cross bar switch систему, для которой, в общем случае более эффективно использование большого количества простых ДМА контроллеров, встроенных в подмодули, нежили одного большого ДМА ИМХО.

А простейший дма контроллер это КА на 3-4 состояния + счетчик адреса и пара регистров-дескрипторов. Это не такая уж и сложная и накладная логика для системы логика.

Цитата
в сутках как правило 24 часа smile.gif и тратить больше чем 8 часов на работу это глупо или овертайм. вам овертаймы оплачивают? biggrin.gif


А как же хобби ? smile.gif ИМХО free style или реверс инженеринг на досуге самое то smile.gif

Удачи!!


--------------------
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Mar 31 2008, 23:07
Сообщение #13


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(des00 @ Mar 31 2008, 21:03) *
Позвольте с вами не согласиться, насколько я знаю SOPC Builder генерирует cross bar switch систему, для которой, в общем случае более эффективно использование большого количества простых ДМА контроллеров, встроенных в подмодули, нежили одного большого ДМА ИМХО.

А простейший дма контроллер это КА на 3-4 состояния + счетчик адреса и пара регистров-дескрипторов. Это не такая уж и сложная и накладная логика для системы логика.
А как же хобби ? smile.gif ИМХО free style или реверс инженеринг на досуге самое то smile.gif

Удачи!!

в данном контексте, насколько я смог понять, RHnd пишет каждый раз слейв+мастер, суть мастера копирование данных. и на этом всё smile.gif. 1 мастер тоесть который только и делает что копирует данные.
к нему нужно ещё софт написать и отладить. в противовес дма стандартному, где уже все есть smile.gif
А вообщем я согласен что много дма лучше чем 1 большой smile.gif...всё зависит от проекта.
Автор же топика - хочет заюзать C2H для функций с которыми дма отлично справится smile.gif ИМХО


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
RHnd
сообщение Apr 1 2008, 05:18
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



C другой стороны, модуль, который сейчас дописываю, должен разбирать поступившие с ацп данные в определенном порядке. Т.е. при чтении не просто Adr++, а изменение адреса чтения по специальному выражению с несколькими параметрами. Такие веши, наверное, лучше своим мастером делать. Или дма справился бы?
Go to the top of the page
 
+Quote Post
Omen_13
сообщение Apr 1 2008, 08:12
Сообщение #15


Силовик-затейник
****

Группа: Модераторы
Сообщений: 766
Регистрация: 18-02-07
Из: Столица солнечного Башкортостана
Пользователь №: 25 467



RHnd Приведите это выражение расчёта адреса, тогда можно будет сказать справиться DMA или нет


--------------------
"Вперёд на мины, ордена потом!"
"инжинер/разработчик создает нечто, в отличии от многих других профессий. В этом есть сходность с художниками или музыкантами"(с)CodeWarrior1241
Go to the top of the page
 
+Quote Post

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

 


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


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