novartis 0 13 апреля, 2017 Опубликовано 13 апреля, 2017 · Жалоба Засылаю с компа 1000 пакетов udp. Ставлю в сигналтап захват по началу пакета. Ловится первый, если опять нажать захват, ловится к примеру 436 пакет. Как поймать последний? Сигналтап настроен так: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lembrix 0 13 апреля, 2017 Опубликовано 13 апреля, 2017 · Жалоба Добавить в сигналтап счетчик пакетов из проекта и сделать по нему составное условие для триггера, типа "начало пакета" и "счетчик = 1000". Или использовать State-Based Triggering, это позволяет писать сложные условия срабатывания триггера, т.е. можно считать пакеты в самом условии и запустить запись данных когда прийдет 1000-ый пакет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 13 апреля, 2017 Опубликовано 13 апреля, 2017 · Жалоба Не правильно вопрос задал) Заранее неизвестно количество пакетов То есть вот шлет приложение пакеты в бесконечном цикле, потом раз - остановилось. И последний пакет сигналтап и поймал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lembrix 0 13 апреля, 2017 Опубликовано 13 апреля, 2017 · Жалоба Тогда выбрать post triigger position, ну и условие остановки нужно, навроде этого - отсутствие перепадов на линии данных в течение времени большего, чем допустимая пауза между пакетами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tausinov 0 13 апреля, 2017 Опубликовано 13 апреля, 2017 (изменено) · Жалоба Все верно написали - снаружи сделать детектор последнего пакета, пускай даже с некоторой задержкой, а потом просто поставить запись значений по этому сигналу с небольшой предысторией, компенсирующей задержку. Пы.Сы. не знаю, на счет SignalTap, но Xilinx'вский ILA позволяет прикрутить к запуску кастомную стейтмашину. Там, правда, немного необычный синтаксис, но в целом, если не хочется возиться с переразводкой, то может помочь. Изменено 13 апреля, 2017 пользователем Tausinov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 13 апреля, 2017 Опубликовано 13 апреля, 2017 · Жалоба Хочу тоже присоединиться к вопросу, поскольку стоит близкая задача. Проблема в том, что ошибка детектируется настолько поздно, что никакой памяти не хватит. Нужно по синхросигналу запоминать данные в пределах отведенной памяти, но не выводить в компьютер, как делает SignalTap, а переходить опять в ожидание запуска. При следующем запуске запоминать новый комплект сигналов вместо предыдущего, затем, после нажатия на кнопку Stop или по другому сигналу (это можно организовать), вывести последний запомненный комплект данных. Знает ли кто-то решение? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 13 апреля, 2017 Опубликовано 13 апреля, 2017 · Жалоба там вроде бы есть вроде режим не единичного запуска, а постоянного. По событию он запоминает, и ждет следующего. Произойдет он вам запомнит следующее, а нажмете стоп остановится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 14 апреля, 2017 Опубликовано 14 апреля, 2017 · Жалоба там вроде бы есть вроде режим не единичного запуска, а постоянного. По событию он запоминает, и ждет следующего. Произойдет он вам запомнит следующее, а нажмете стоп остановится. Там между перезапусками большой временной интервал обусловленный обменом с квартусом через JTAG. Так что из пачки он захватит 2-3 пакета. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 15 апреля, 2017 Опубликовано 15 апреля, 2017 · Жалоба И, кроме того, по кнопке стоп генерируется принудительный новый останов, результат которого и показывается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ChinasFanat 0 21 апреля, 2017 Опубликовано 21 апреля, 2017 · Жалоба Сделайте тип - transitional галочки storage qualifier поставьте только по нужным сигналам придумайте триггер который никогда не случится жмете старт - он ждет триггера после прохождения последнего пакета, жмете стоп на времянке последняя активность на нужных вам сигналах Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 25 апреля, 2017 Опубликовано 25 апреля, 2017 · Жалоба Сделайте тип - transitional галочки storage qualifier поставьте только по нужным сигналам придумайте триггер который никогда не случится жмете старт - он ждет триггера после прохождения последнего пакета, жмете стоп на времянке последняя активность на нужных вам сигналах Это то, что нужно было! :beer: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться