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

Подскажите с чем его едят!

С живой микрухой, подключенной к компу через Байтбластер, например. Спрашивайте конкретнее?!

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


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

Есть рабочий проект.

В нем переправили пару флажков.

В симуляторе работает на ура.

В железке все глючит безбожно.

 

Можно ли пользовать в отладке железяки Signal Tap?

 

И если можно то что можно посмотреть и как?

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


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

С помощью указанной штуки можно посмотреть состояние внутренностей. Нужно не забывать, что сама штука пристыковывается к проекту и сним компилируется.

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


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

В симуляторе работает на ура.

В железке все глючит безбожно.

 

Можно ли пользовать в отладке железяки Signal Tap?

Он в принципе для этого и предназначен (on-chip debug). При наличии под рукой железа я вообще ничего не моделирую, а сразу заливаю прошивку в SRAM, проверяя интересующие моменты с помощью SignalTAP :a14: .

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


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

С живой микрухой, подключенной к компу через Байтбластер, например. Спрашивайте конкретнее?!

 

Что с живой - это понятно :) А через USBбластер это возможно? Последовательность действий такая же?

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


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

А как это Signal Tap добавить к проекту.

 

Я програмирую в ActivHDL 6.1

Ситеузирую в Синплифай 8.0

Разводит Квартус 4.2 Sp1

 

Подскажите последовательность действий.

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


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

А чем он Вам поможет. Проект надо копать. Я знаю инженеров, которые держат устаревшие версии Квартуса, потому что в новых проект не работает.

Ведь критерий проверки прост. Временное моделирование должно соответствовать функциональному. Это дает гарантию, что Вы не напоролись на многотактовую синхронизацию, все сигналы длительностью или кратны в глобальный клок, нестробируемая логика только на enable. Золотые правила хендбука.

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

Есть же мощный инструмент по констрейнам (ограничениям).

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


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

С живой микрухой, подключенной к компу через Байтбластер, например. Спрашивайте конкретнее?!

 

Что с живой - это понятно :) А через USBбластер это возможно? Последовательность действий такая же?

Хм, ну пробовать не пробовал за неимением оного усббластера, но вообще-то сам СигналТап - вещь ортогональная бластеру. Она просто общается с микрухой через JTAG. Нужно только указать адаптер. Я указываю ByteBlasterMV, который у меня используется. Вам, очевидно, придется указать ваш девайс. Там, в частности, кнопа для этого есть в сигналтаповом окошке.

 

А как это Signal Tap добавить к проекту.

 

Я програмирую в ActivHDL 6.1

Ситеузирую в Синплифай 8.0

Разводит Квартус 4.2 Sp1

 

Подскажите последовательность действий.

Актив и Синплифай тут непричем. Это Вам надо в Квартусе запустить СигналТап, в нем задать, во-первых, клок для захвата (лучше всего системый клок), во-вторых, сигналы, которые хотите посмотреть. Очень похоже как в симуляторе квартусовском. После этого Квартус захочет перекомпилить проект - он добавит сам нужную логику, которая и будет захватывать сигналы для показа. Т.е. СигналТап - это встраиваемый в ПЛИС небольшой логический анализатор, имплементированный на свободной (не задействованной в проекте) логике. Т.е., например, Вы и сами можете для отладки какой-нить регистр поставить и выводить его на ножки свободные и смотреть. Только это неудобно и геморроя много. А тут за вас эту работу делает Квартус, который, во-первых, не ошибается, во-вторых, делает это быстрее, в-третьих, имеет специальный интерфейс для показа сграбленного. Только и всего.

 

Я пользуюсь, временами очень помогает. Когда что-то не работает, можно сразу отследить ключевые точки и пойти по верному пути поиска. Хотя, конечно, не панацея это. Сначала нужно все на симуляторе отладить, а уже потом в железе смотреть, если что не работает.

 

А чем он Вам поможет. Проект надо копать. Я знаю инженеров, которые держат устаревшие версии Квартуса, потому что в новых проект не работает.

Ведь критерий проверки прост. Временное моделирование должно соответствовать функциональному. Это дает гарантию, что Вы не напоролись на многотактовую синхронизацию, все сигналы длительностью или кратны в глобальный клок, нестробируемая логика только на enable. Золотые правила хендбука.

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

Есть же мощный инструмент по констрейнам (ограничениям).

Это все так, спору нет. Только бывают ситуации, которые на симуляторе не отмоделируешь - нельзя ведь объять необъятное. :) Особенно подлые грабли возникают на взаимодействии модулей - по отдельности все отмоделировано, все проверено, все работает. Вместе тоже, вроде, все работает, как задумано. По времянкам тоже все ок. Заливаешь в микруху - и появляются "нюансы": в таком-то режиме, если сделать такое-то действие, появляется труднообъяснимый глюк. Бычишься, бычишься в текст, глаз замылен, не видит ничего криминального. Пытаешься смоделировать ситуацию на симуляторе, вроде работает - оно и в железе проявляется не каждый раз. А прогнать все на симуляторе тоже возможности нет.

 

Вот тут СигналТап в самый раз! Вывел критичные места на монитор и контролируй. И тут оно отлавивается - где-то, например, флажок встает не так, как надо. А когда уже место более-менее локализовано, бороться уже несравненно проще. Т.ч. к месту очень полезная тулза.

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


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

"Вот тут СигналТап в самый раз! Вывел критичные места на монитор и контролируй. И тут оно отлавивается - где-то, например, флажок встает не так, как надо. А когда уже место более-менее локализовано, бороться уже несравненно проще. Т.ч. к месту очень полезная тулза."

О пользительности никто не спорит. А моделирование имеет смысл, если с временным анализом все в порядке. Уверен, там есть над чем поработать.

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


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

Возникаает вопрос

А что если проект работает на 100 Mhz как LPT порт за всем этим счастьем успеет?

Как он будет грабить контрольные точки?

Програматор ByteBlaster от Altera

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


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

Максимальная скорость отслеживания контрольных точек SignalTAP зависит от типа ПЛИС (быстродействие внутренней памяти). В используемом мной APEX наблюдал отсчеты на частоте 150 МГц, в более современных устройствах частота должна быть еще выше B) .

 

LPT порту совершенно необязательно поспевать за быстроизменяющимися времянками: SignalTAP запоминает выборки сигналов в масштабе реального времени во внутренней памяти ПЛИС, а затем передает их на внешний интерфейс в соответствии с номинальной скоростью последнего :a14: .

 

Тип бластера влияет на скорость обновления картинки анализатора на экране монитора: MasterBlaster в этом отношении выигрывает у ByteBlaster, но это преимущество практически никак не влияет на восприятие диаграмм, поскольку и в том и в другом случае хорошо заметно мелькание перерисовывающегося изображения (частота обновления также зависит от установок анализатора: количество сигналов, число выборок и т.д.).

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


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

А нельзя ли сделать чтобы CLK отключился от генератора и генерился с LPT. Тогда бы Ничего не зависело от скорости Проекта а все операции можно бы было выполнять пошагово

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


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

Плюс к вышесказанному хочу добавить, что если нужно отследить быстроизменяющиеся сигналы то в сигнал табе нужно Sample depth поставить как можно больше, т.к. онный может не успевать считывать их изменения в нужный Вам момент. Но тут может возникнуть проблема нехватки М4К если чип небольшого размера. А вообще вещь полезная иногда.

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


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

Camelot

нужно Sample depth поставить как можно больше, т.к. онный может не успевать считывать их изменения в нужный Вам момент.

Eрунда :angry2: , sample depth - это количество выборок, а не их частота.

При условии, что ПЛИС успевает отслеживать сигналы со скоростью тактовой частоты самого SignalTAP, задаваемой в его настройках, количество выборок влияет только на наблюдаемый на экране временной интервал.

 

При возрастании числа выборок (sample depth) быстродействие SignalTAP может только падать, т.к. внутренняя память ПЛИС и сама логика анализатора (коей генерируется немало при использовании сложных условий срабатывания advanced triggering) являются распределенными (разбросанными) по всей площади кристалла, а следовательно, вносят дополнительную задержку.

 

Serega Doc

А нельзя ли сделать чтобы CLK отключился от генератора и генерился с LPT. Тогда бы Ничего не зависело от скорости Проекта а все операции можно бы было выполнять пошагово

Не вижу в этом смысла :ninja: - или ты способен в реальном времени оценивать данные, принимаемые SignalTAP c LPT-порта (несколько тысяч выборок/сек)?

 

Вообще SignalTAP позволяет задать произвольную частоту тактирования, так что если нужен пошаговый режим, подключи в настройках к SignalTAP очень медленный клок; в качестве сигнала разрешения запуска (trigger in) можно использовать все что угодно - вплоть до кнопки на технологическом пульте :a14: .

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


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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...