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

 
 
43 страниц V  « < 34 35 36 37 38 > »   
Reply to this topicStart new topic
> NIOS для начинающих
Swup
сообщение Jul 15 2015, 14:01
Сообщение #526


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 2-09-11
Из: Москва
Пользователь №: 66 970



Цитата(_pv @ Jul 15 2015, 17:39) *
а как простой dma догадается что в FIFO данные не закончились, он же тупо вЫчитает на своей скорости всё что там есть на момент запуска, а потом будет нули читать изредка перемежаемые поступающими данными?

и еще вопрос

при попытке добавить sgdma, qsys, сам себе противореча, утверждает что ширина данных у sink 8 бит, вне зависимости настроек, так и должно быть?


1. там же написано, что ваши данные сопровождаются сигналом Valid.
2. дма настроен на работу с 8 битными словами, а фифо - с 32 битными.

PS почитайте, как устроен avalon ST
Go to the top of the page
 
+Quote Post
_pv
сообщение Jul 15 2015, 14:18
Сообщение #527


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Swup @ Jul 15 2015, 20:01) *
1. там же написано, что ваши данные сопровождаются сигналом Valid.
2. дма настроен на работу с 8 битными словами, а фифо - с 32 битными.

PS почитайте, как устроен avalon ST

1. это то что наружу у ST торчит, внуть же - фифо-MM, и то что увидит простой дма (не SGDMA) - это просто адрес памяти, и валидность данных находящихся в фифо - в отдельном статусном регистре, как о нём узнает обычный дма?

2. ширина чего тогда выставлена в 32бита? то что кружками на картинке обведено и слева-снизу в hierarchy: st_sink->st_sink_data[32].
Go to the top of the page
 
+Quote Post
Swup
сообщение Jul 15 2015, 14:49
Сообщение #528


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 2-09-11
Из: Москва
Пользователь №: 66 970



Цитата(_pv @ Jul 15 2015, 18:18) *
1. это то что наружу у ST торчит, внуть же - фифо-MM, и то что увидит простой дма (не SGDMA) - это просто адрес памяти, и валидность данных находящихся в фифо - в отдельном статусном регистре, как о нём узнает обычный дма?

2. ширина чего тогда выставлена в 32бита? то что кружками на картинке обведено и слева-снизу в hierarchy: st_sink->st_sink_data[32].


1. хм. я не занимался ни простым ДМА ни фифо для ММ, но кажется, что когда вы инициируете транзакцию вы должны быть уверены, что есть что качать. т.е. отсутствие достаточного количества данных в фифо - это ошибка системная. Или я не правильно понял вопрос))

2. 32 бита - ширина шины. 8 бит - ширина слова. т.е. по шине передается 4 слова за такт.
Go to the top of the page
 
+Quote Post
_pv
сообщение Jul 15 2015, 15:36
Сообщение #529


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Swup @ Jul 15 2015, 20:49) *
1. хм. я не занимался ни простым ДМА ни фифо для ММ, но кажется, что когда вы инициируете транзакцию вы должны быть уверены, что есть что качать. т.е. отсутствие достаточного количества данных в фифо - это ошибка системная. Или я не правильно понял вопрос))

2. 32 бита - ширина шины. 8 бит - ширина слова. т.е. по шине передается 4 слова за такт.

1. данных снаружи прилетает много, но не достаточно медленно чтобы их руками перекладывать во внешнюю память. если бы размера фифо хватало чтобы вместить все данные вопросов бы не было.
хотя как оказалось чтение пустого фифо вроде бы возвращает не 0, а подвешивает чтение, так что если натравить дма на выход ММ фифо, он от туда прочитает всё правильно.
да и процессор на частоте 50МГц как оказалось 10МГц данные перекладывать вроде успевает. так что первый вопрос пока временно снимается.

2. на картинке кружком обведено st_sink->st_sink_data[32]. то есть если я его например потащу наружу, его ширина будет 32, и именно этот sink он не может соединить с таким же 32х разрядным source у fifo, считая его почему-то 8ми битным.
Go to the top of the page
 
+Quote Post
Swup
сообщение Jul 20 2015, 07:37
Сообщение #530


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 2-09-11
Из: Москва
Пользователь №: 66 970



Цитата(_pv @ Jul 15 2015, 19:36) *
2. на картинке кружком обведено st_sink->st_sink_data[32]. то есть если я его например потащу наружу, его ширина будет 32, и именно этот sink он не может соединить с таким же 32х разрядным source у fifo, считая его почему-то 8ми битным.


Ну тут не совсем так, ошибка о размере слов, а не размере шины.
Вообщем вот у вас, как мне кажется, настроено фифо:
Прикрепленное изображение


Сделайте вот так:
Прикрепленное изображение


Обратите внимание. Ширина шины не поменялась и сохранила 32 бита. Поменялся размер слово на 8 бит. SGDMA работает со словами 8 бит. все согласуется и все будет работать)
ПС еще кстати добавился сигнал empty.
Go to the top of the page
 
+Quote Post
triplex
сообщение Aug 14 2015, 19:03
Сообщение #531


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 2-02-08
Пользователь №: 34 687



скажите, что такое констрейны? нашел в этой теме сообщение, где описываются похожие проблемы и там надо констрейны
Go to the top of the page
 
+Quote Post
doom13
сообщение Aug 14 2015, 19:37
Сообщение #532


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

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



Цитата(triplex @ Aug 14 2015, 22:03) *
скажите, что такое констрейны? нашел в этой теме сообщение, где описываются похожие проблемы и там надо констрейны

Можете глянуть тут и тут.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 14 2015, 19:37
Сообщение #533


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ограничения, обычно имеется ввиду периоды клоков и время готовности данных
Go to the top of the page
 
+Quote Post
sonycman
сообщение Dec 28 2015, 09:45
Сообщение #534


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Осваиваю тут NiosII на основе Quartus Prime 15.1 и платки BeMicro MAX10.

Наваял простой проект с Nios fast, On-Chip RAM и JTAG UART.
В настройках BSP выставил минималистические опции reduced device drivers\small C library и т.п.
Хелло Ворлд занял около 4.5 килобайт кода.
Из под Эклипса всё работает, мигают светодиодики yeah.gif

Но прошиваю .sof или .pof - никаких признаков жизни... crying.gif

Весь день пропарился с тем, чтобы наконец понять, что виновник зависанию - альтеровский JTAG UART.
В коде HAL по умолчанию включен вывод отладочной LOG инфы, а драйвер житаг уарта ведёт себя совсем не как уарт, а как натуральное фифо, которое при заполнении приёмника блокирует процессор намертво до тех пор, пока не подключишь альтеровскую консоль и не вычитаешь весь текст из этого так называемого уарта smile3046.gif

Отключил вывод логов (log port) - всё заработало! И код сразу ужался до 300 байт wink.gif

В настройках драйвера JTAG UART есть опция enable_jtag_uart_ignore_fifo_full_error, но её включение никак не повлияло на ситуацию.
Возможно, в минимальной конфигурации драйвера она не работает? wacko.gif
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 16 2016, 08:05
Сообщение #535


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Продолжаю копаться с Max10 и Nios sm.gif

Заглянул в первый раз SignalTap'ом на шину AvalonMM, и с удивлением обнаружил, что обращение к On-Chip памяти (без кешей) занимает 5 тактов.
То есть довольно медленно, а я почему то думал, что он-чип автоматически подразумевает однотактовый доступ... sad.gif

Включил кеш инструкций - стало лучше. Может быть, тогда проще выделить для кода tight-coupled memory?

Ещё показалось, что обращение к Avalon Memory-Mapped Slave в режиме чтения (чтение процессором периферийного слейва) идёт тоже довольно долго - около тех же 5-ти циклов.
Это при том, что у слейва read latency установлена в ноль в настройках QSys, и линия waitrequest не активируется.
Запись при этом идёт гораздо быстрее.

Интересно, а кто нибудь пробовал исполнять код прямо с флеши Max10?
Если включить флэш акселератор или кэш - то со скоростью выборки будет всё нормально?
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jan 18 2016, 11:26
Сообщение #536


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(sonycman @ Jan 16 2016, 11:05) *
Интересно, а кто нибудь пробовал исполнять код прямо с флеши Max10?

Пробовал, работает.
Но быстродействие я не проверял...


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 18 2016, 13:40
Сообщение #537


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(Stewart Little @ Jan 18 2016, 15:26) *
Пробовал, работает.
Но быстродействие я не проверял...

Ясно. Попробую потом обязательно.

Если для небольшого проекта рассчитывать только на внутреннюю память плис, то исполняя код во флеше можно сэкономить оперативку.
А включив флэш акселератор и кэш инструкций не сильно проиграть и по быстродействию, возможно?

Надо пробовать...
Go to the top of the page
 
+Quote Post
Alex_vod
сообщение Jan 19 2016, 08:31
Сообщение #538


Частый гость
**

Группа: Свой
Сообщений: 123
Регистрация: 20-11-05
Пользователь №: 11 121



Флешь всегда имела ограниченное число циклов записи, например 100 000 циклов, дальше выходит из строя.
Исполняя код во флешки вы её по идеи сломать должны, не сразу а со временем.
Может что то изменилось сейчас?
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jan 19 2016, 10:26
Сообщение #539


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(Alex_vod @ Jan 19 2016, 11:31) *
Исполняя код во флешки вы её по идеи сломать должны, не сразу а со временем.

С какого перепуга? Ресурс флэша расходуется циклами записи-стирания, а не чтения.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Alex_vod
сообщение Jan 19 2016, 12:23
Сообщение #540


Частый гость
**

Группа: Свой
Сообщений: 123
Регистрация: 20-11-05
Пользователь №: 11 121



Да , точно, если исполняемый код, это только чтение
просто не силён в процессорах и терминологии, присматриваюсь пока
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 14:20
Рейтинг@Mail.ru


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