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

 
 
> SGDMA почему-то байты пропускает, Что делаю не так?
alexPec
сообщение Jan 10 2011, 09:04
Сообщение #1


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

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Добрый день Всем.Думал, что разобрался с SGDMA, ан нет! Непонятные для меня вещи с этой штукой происходят, помогите прояснить, в чем дело. На рисунке диаграммы сигнал-тапа, фрагмент сопца (что касается этого ДМА) и дамп памяти в которую этот дма пишет данные.
Суть такая. Внешнее к сопцу устройство выдает отсчеты сигнала (четвертая строка сверху в сигнал-тапе) и сигнал Valid (пятая строка сверху), заведенный на одноименный сигнал стриминг-дма. Данные проходят через фифо на 1024 байта и попадают на вход SGDMA stream to memory (третья строка сверху).Зелеными линиями показано соответствие потока данных. До этого места как видно все ок, какие данные пришли, такие и попали на вход ДМА. Еще показаны адрес m_write_address (первая строка) и данные m_write_data (вторая строка). Если я правильно понял, это как раз адрес памяти куда дма пишет и данные, которые он пишет.Еще выведен строб записи m_write_write. Так вот по графику видно, что данные на выходе ДМА появляются все, но не все почему-то записываются в память. Синим выделено слово, которое например не записалось в память (на дампе это тоже видно, серым выделена клетка, где идет FD9A и сразу 008F, а должно быть FD9A,0000,008F). Опытным путем замечено, что такие пропуски появляются когда сигнал m_write_write затягивается, т.е. похоже когда шина загружается. Но при этом фифо для дма не переполняется (сигнал wrful_from_the_fifo_1, последняя строчка).
Я то думал фифо для того и нужно, чтоб если шина загружена - буферизировать данные, разгрузится - заталкивать в память. А получается шина загрузилась - пропустили байты и дальше.

Ну и детали. Клок для процессора, дма и сигнал-тапа - 80 МГц (pll0_c1 в сопце), клок для входных данных - 20 МГц (clk1 в сопце). Данные валятся пачками (пачка выделяется сигналом valid) по 2048 16 битных слов с периодичностью примерно раз в 1,5 мс. Мастеров на шине 3 - собственно процессор, дма дисплея (вытаскивает из памяти 16-разрядные слова с частотой 5 МГц) и упомянутый выше дма. Память у проца внешняя, асинхронная, программа, буфер видео, буфер для дма описанного и все остальное в ней лежит. Настройки компонентов дма в рисунках приложены. компонент ADC - просто сигналы avalon-st выведенные наружу.

Поделитесь пожалуйста идеями как победить, свои кончились.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vadimuzzz
сообщение Jan 12 2011, 05:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



1. нетлист называется "SignalTap Pre-Synthesis" - как-то так
2. неплохо бы и автомате реализовать backpressure, не считаете? вытянуть сигнал ready или как его там из sgdma и его использовать
Go to the top of the page
 
+Quote Post
alexPec
сообщение Jan 12 2011, 07:36
Сообщение #3


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

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(vadimuzzz @ Jan 12 2011, 11:08) *
2. неплохо бы и автомате реализовать backpressure, не считаете? вытянуть сигнал ready или как его там из sgdma и его использовать

А что, тоже вариант. Ready от SGDMA не только на фифо, но и на автомат завести, чтоб он не толкал данные в фифо если дма не спрашивает.

Спасибо, попробую.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Jan 12 2011, 16:56
Сообщение #4


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

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Все, победил! 08.gif Уважаемый Vadimuzzz! У Вас редкий дар (или опыт) спросить такое, после чего просветвелие наступает, СПАСИБО БОЛЬШОЕ!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alexPec   SGDMA почему-то байты пропускает   Jan 10 2011, 09:04
- - vadimuzzz   у фифы не стоит галочка "Allow backpressure...   Jan 10 2011, 11:37
|- - alexPec   Цитата(vadimuzzz @ Jan 10 2011, 17:37) у ...   Jan 10 2011, 14:32
- - vadimuzzz   а как вы определяете момент начала DMA-транзакции ...   Jan 10 2011, 23:57
|- - alexPec   Цитата(vadimuzzz @ Jan 11 2011, 05:57) а ...   Jan 11 2011, 03:36
|- - vadimuzzz   Цитата(alexPec @ Jan 11 2011, 12:36) В до...   Jan 11 2011, 05:20
|- - alexPec   Цитата(vadimuzzz @ Jan 11 2011, 11:20) та...   Jan 11 2011, 06:13
|- - vadimuzzz   Цитата(alexPec @ Jan 11 2011, 15:13) Напи...   Jan 11 2011, 06:22
|- - alexPec   Цитата(vadimuzzz @ Jan 11 2011, 12:22) хм...   Jan 11 2011, 08:27
|- - vadimuzzz   Цитата(alexPec @ Jan 11 2011, 17:27) А та...   Jan 11 2011, 10:06
|- - alexPec   Цитата(vadimuzzz @ Jan 11 2011, 16:06) да...   Jan 11 2011, 13:30
|- - vadimuzzz   Цитата(alexPec @ Jan 11 2011, 22:30) Надо...   Jan 11 2011, 14:29
|- - alexPec   Цитата(vadimuzzz @ Jan 11 2011, 20:29) вы...   Jan 11 2011, 16:52
- - vadimuzzz   пока инфы маловато.. вытащите сигналы модуля fifo_...   Jan 11 2011, 20:49
|- - alexPec   Цитата(vadimuzzz @ Jan 12 2011, 02:49) по...   Jan 12 2011, 04:24


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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 13:54
Рейтинг@Mail.ru


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