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

 
 
 
Reply to this topicStart new topic
> Задание условий в ChipScopePro Analizer ?
lim
сообщение Aug 4 2009, 10:26
Сообщение #1


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

Группа: Участник
Сообщений: 101
Регистрация: 27-05-05
Пользователь №: 5 486



Проясните, пожалуйста, как правильно задать trigger/storage qualification options для следующей ситуации:

1. В начале ожидаем спада определённого сигнала RESET.
2. Затем, после фиксации данного факта требуется ПЕРИОДИЧЕСКИ собирать данные по приходу сигнала "clock_enable".

Я сейчас делаю так:
1. Объявляю Trigger Condition - Falling Edge of the "RESET"
2. Объявляю Storage Qualification Condition, когда "clock_enable" = 1 ( пробовал давать здесь и спад и фронт - не помогает ).

Вообщем триггер срабатывает, так что запуск на лицо, а вот требуемых данных по приходу "clock_enable" не удаётся увидеть - буфер быстро заполняется и даже один сигнал "clock_enable" не успевает прийти.


В документации написано следующее:

A window is a contiguous sequence of samples containing one (and only one) trigger event.

Сразу хочу спросить: Samples ВСЕГДА берутся с тактовой частотой ILA CORE ?

Если это так, то как же понять следующее ( насчёт расхода внутрикристальной памяти):

The triggering and storage qualification capabilities of the ILA, IBA/OPB and IBA/PLB
cores allow you to locate and capture exactly the information that you want without
wasting valuable on-chip memory resources.

Далее ещё пару цитат из документации:

The trigger condition is used to mark a distinct point of origin in the data capture window and
can be located at the beginning, the end, or anywhere within the data capture window.

The storage qualification condition differs from the trigger condition in
that it evaluates trigger port match unit events to decide whether or not to capture and
store each individual data sample. The trigger and storage qualification conditions can be
used together to define when to start the capture process and what data is captured.

Пример "Using Trigger and Storage Qualification Conditions" уже приводить не буду - вроде всё понятно,
но почему в моём случае не работает Storage Qualification Conditions по "clock_enable" ???

Сделал Trigger Condition - по сигналу "clock_enable" ( При этом использую, конечно, несколько Windows ) - данные собираются, но только естественно не с того временного места, с которого надо.
Сейчас попробую использовать Sequencer - кое что смущает.

Вообщем, если кто подскажет, как реализовать приведённый вначале алгоритм - буду признателен.

С Уважением,
Игорь
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Aug 4 2009, 11:31
Сообщение #2


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(lim @ Aug 4 2009, 14:26) *
Сразу хочу спросить: Samples ВСЕГДА берутся с тактовой частотой ILA CORE ?
Да, ведь другой-то нет. Что же касается Storage Qualification, то там надо поставить везде X, кроме того сигнала, который clken.
Go to the top of the page
 
+Quote Post
lim
сообщение Aug 4 2009, 11:51
Сообщение #3


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

Группа: Участник
Сообщений: 101
Регистрация: 27-05-05
Пользователь №: 5 486



Цитата(DmitryR @ Aug 4 2009, 14:31) *
Да, ведь другой-то нет. Что же касается Storage Qualification, то там надо поставить везде X, кроме того сигнала, который clken.


У меня clken - это отдельный триггерный порт. Так что я просто задаю Storage Qualification Condition по его фронту.

Так если выборки идут с тактовой частотой ILA CORE - как же экономиться внутрикристальная память ???
Ведь получается, что независимо выполняется или нет Storage Qualification Condition - данные то собираются и буфер заполняется.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Aug 5 2009, 07:02
Сообщение #4


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(lim @ Aug 4 2009, 15:51) *
У меня clken - это отдельный триггерный порт. Так что я просто задаю Storage Qualification Condition по его фронту.
Мне сейчас недосуг рыть доки, но кажется что Storage Qualification должен идти по тому же порту, по которому сработал триггер. То есть в вашем случае rst и clken должны быть в одном триггерном порту. Проверьте.

Цитата(lim @ Aug 4 2009, 15:51) *
Так если выборки идут с тактовой частотой ILA CORE - как же экономиться внутрикристальная память ???
Ведь получается, что независимо выполняется или нет Storage Qualification Condition - данные то собираются и буфер заполняется.
Ну как, тактовая частота подается на вход тактовой частоты буфера, а Storage Qualification - на enable.
Go to the top of the page
 
+Quote Post
syoma
сообщение Aug 6 2009, 07:26
Сообщение #5


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

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата
Мне сейчас недосуг рыть доки, но кажется что Storage Qualification должен идти по тому же порту, по которому сработал триггер. То есть в вашем случае rst и clken должны быть в одном триггерном порту. Проверьте.

Нет, наоборот - триггер и Storage Qualification должны быть на разных портах, чтобы для них настроить разные Matching units.
Например - смотри картинку:
Прикрепленное изображение


Допустим сигнал по котрому я хочу триггероваться находится в Triggerport15 (4ый бит) - запуск должен произойти если там будет 1.
Значит ставим 1 в нужный бит в TriggerPort15 и внизу, где Trig выставляем Trigger Condition Equation на M15.

Теперь я хочу записывать в буффер не с системной частотой - он же быстро переполнится, а с частотой другого, более медленного клока, который например у меня есть на Triggerport6 в бите 1.
Значит ставим в нужный бит R,F,или B(если надо записывать по фронту, спаду или тому и другому) - 1 или 0 ставить НЕЛЬЗЯ - у вас же этот клок медленный - если вы поставите его по уровню - у вас в буфер запишется все с системной частотой, пока клок будет иметь данный уровень. Так что только по фронтам.
Затем в Storage Qualification вписываете M6 и готово.
Go to the top of the page
 
+Quote Post
lim
сообщение Aug 7 2009, 09:35
Сообщение #6


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

Группа: Участник
Сообщений: 101
Регистрация: 27-05-05
Пользователь №: 5 486



Цитата(syoma @ Aug 6 2009, 10:26) *
Нет, наоборот - триггер и Storage Qualification должны быть на разных портах, чтобы для них настроить разные Matching units.
Например - смотри картинку:
Прикрепленное изображение


Допустим сигнал по котрому я хочу триггероваться находится в Triggerport15 (4ый бит) - запуск должен произойти если там будет 1.
Значит ставим 1 в нужный бит в TriggerPort15 и внизу, где Trig выставляем Trigger Condition Equation на M15.

Теперь я хочу записывать в буффер не с системной частотой - он же быстро переполнится, а с частотой другого, более медленного клока, который например у меня есть на Triggerport6 в бите 1.
Значит ставим в нужный бит R,F,или B(если надо записывать по фронту, спаду или тому и другому) - 1 или 0 ставить НЕЛЬЗЯ - у вас же этот клок медленный - если вы поставите его по уровню - у вас в буфер запишется все с системной частотой, пока клок будет иметь данный уровень. Так что только по фронтам.
Затем в Storage Qualification вписываете M6 и готово.


Извините, что потерял некоторую оперативность в ответах - большая загрузка по работе !

Именно описанный Вами алгоритм и предполагалось реализовать. В вышеприведённом куске:

Triggerport15 - это мой сигнал RST ( Задано: Falling Edge Trigger Condition ).
Triggerport6 - это мой сигнал "clock enable" ( Storage Qualification Condition ).

Правда в моём случае можно Storage Qualification Condition ставить в 1, а не только по Rising/Falling Edges, т.к. длительность импульса
"clock enable" - один период тактовой (системной) частоты, а период сигнала "clock enable" - значительно превышает период тактового сигнала.
Но я пробовал давать на нём по Rising/Falling Edges. Почему-то не работало ! Иными словами буфер заполнялся с системной частотой.

Сейчас нашёл пока временную отдушину - оба сигнала формируют Trigger Condition, одна выборка в Window и количество Windows=размеру буфера.
Приходиться задействовать ещё отладчик Microblaze - т.е. переключаться туда и сюда. Неудобство налицо !

Ещё раз попробую Вернутся к Вышеописанному алгоритму !

Большое спасибо за Ответы !!!

С Уважением,
Игорь
Go to the top of the page
 
+Quote Post

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

 


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


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