Перейти к содержанию

    

вопрос по SignalTap

Привет!

Такой вопрос - как можно в сигналтапе сделать триггер, который бы срабатывал если сигнал не меняется в течение какого-то времени? Мне надо отловить ситуацию когда сигнал (значение на шине) впервые становится отрицательным в течение, допустим, 5 тактов. Что-то я не нашел возможности проверить средствами сигналтапа значение предыдущего сэмпла (ни в advanced mode, ни в state machine mode).

 

Единственный возможный вариант вижу - использовать конечный автомат с 5-ю состояниями, где в каждом состоянии проверять значение сэмпла и если он подходит условиям триггера - сохранять значения в режиме storage qualifier и переходить в следующее, а в противном случае сбрасывать очередь и уходить в начало автомата. Но получается что-то не то всё равно...

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если для запуска ST нужен автомат - так и опишите его в проекте, а для запуска ST используйте флажок формируемый автоматом.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Привет!

Такой вопрос - как можно в сигналтапе сделать триггер, который бы срабатывал если сигнал не меняется в течение какого-то времени? Мне надо отловить ситуацию когда сигнал (значение на шине) впервые становится отрицательным в течение, допустим, 5 тактов. Что-то я не нашел возможности проверить средствами сигналтапа значение предыдущего сэмпла (ни в advanced mode, ни в state machine mode).

Свойства "pipeline" просто нужно задействовать у модулей в "advanced". А в блоках "BUS" св-во "Data Delay"

Изменено пользователем Kluwert

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще офигел с того, что не могу найти SignalTap User Guide - он вообще существует (свежее версии от 1999 года) ???

 

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

 

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

 

Вроде Storage Qualifier предназначены как раз для этого, но, как уже сказал, они работают вообще непонятно, а не логично (для меня)...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот здесь всё подробно расписано: https://www.altera.com/en_US/pdfs/literatur...ts_qii53009.pdf

 

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

 

Вроде Storage Qualifier предназначены как раз для этого, но, как уже сказал, они работают вообще непонятно, а не логично (для меня)...

 

Вам нужен триггер типа Start/Stop.

 

А Storate Qualifier работает так: по наступлению события запоминает одно состояние всех вытащенных в него сигналов. По следующему наступлению события - снова запоминает. И так, пока не заполнится весь буфер. Самый простой пример - захватить данные с SPI-АЦП, когда событием для захвата данных является сигнал того что сэмпл прочитан. В итоге получите форму АЦПированного сигнала, можно даже график построить там же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вот здесь всё подробно расписано:.

Ну и почему я сам там не нашел ???

 

Спасибо !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация