Serega Doc 0 14 июня, 2005 Опубликовано 14 июня, 2005 · Жалоба Подскажите с чем его едят! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 65 14 июня, 2005 Опубликовано 14 июня, 2005 · Жалоба Подскажите с чем его едят! <{POST_SNAPBACK}> С живой микрухой, подключенной к компу через Байтбластер, например. Спрашивайте конкретнее?! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serega Doc 0 14 июня, 2005 Опубликовано 14 июня, 2005 · Жалоба Есть рабочий проект. В нем переправили пару флажков. В симуляторе работает на ура. В железке все глючит безбожно. Можно ли пользовать в отладке железяки Signal Tap? И если можно то что можно посмотреть и как? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
one_man_show 0 14 июня, 2005 Опубликовано 14 июня, 2005 · Жалоба С помощью указанной штуки можно посмотреть состояние внутренностей. Нужно не забывать, что сама штука пристыковывается к проекту и сним компилируется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Esquire 0 14 июня, 2005 Опубликовано 14 июня, 2005 · Жалоба В симуляторе работает на ура. В железке все глючит безбожно. Можно ли пользовать в отладке железяки Signal Tap? Он в принципе для этого и предназначен (on-chip debug). При наличии под рукой железа я вообще ничего не моделирую, а сразу заливаю прошивку в SRAM, проверяя интересующие моменты с помощью SignalTAP :a14: . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonjo 0 15 июня, 2005 Опубликовано 15 июня, 2005 · Жалоба С живой микрухой, подключенной к компу через Байтбластер, например. Спрашивайте конкретнее?! <{POST_SNAPBACK}> Что с живой - это понятно :) А через USBбластер это возможно? Последовательность действий такая же? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serega Doc 0 15 июня, 2005 Опубликовано 15 июня, 2005 · Жалоба А как это Signal Tap добавить к проекту. Я програмирую в ActivHDL 6.1 Ситеузирую в Синплифай 8.0 Разводит Квартус 4.2 Sp1 Подскажите последовательность действий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 15 июня, 2005 Опубликовано 15 июня, 2005 · Жалоба А чем он Вам поможет. Проект надо копать. Я знаю инженеров, которые держат устаревшие версии Квартуса, потому что в новых проект не работает. Ведь критерий проверки прост. Временное моделирование должно соответствовать функциональному. Это дает гарантию, что Вы не напоролись на многотактовую синхронизацию, все сигналы длительностью или кратны в глобальный клок, нестробируемая логика только на enable. Золотые правила хендбука. А отсутствие предупреждений по временам установки и удержания данных во временном анализаторе гарантирует работоспособность. Есть же мощный инструмент по констрейнам (ограничениям). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 65 15 июня, 2005 Опубликовано 15 июня, 2005 · Жалоба С живой микрухой, подключенной к компу через Байтбластер, например. Спрашивайте конкретнее?! <{POST_SNAPBACK}> Что с живой - это понятно :) А через USBбластер это возможно? Последовательность действий такая же? <{POST_SNAPBACK}> Хм, ну пробовать не пробовал за неимением оного усббластера, но вообще-то сам СигналТап - вещь ортогональная бластеру. Она просто общается с микрухой через JTAG. Нужно только указать адаптер. Я указываю ByteBlasterMV, который у меня используется. Вам, очевидно, придется указать ваш девайс. Там, в частности, кнопа для этого есть в сигналтаповом окошке. А как это Signal Tap добавить к проекту. Я програмирую в ActivHDL 6.1 Ситеузирую в Синплифай 8.0 Разводит Квартус 4.2 Sp1 Подскажите последовательность действий. <{POST_SNAPBACK}> Актив и Синплифай тут непричем. Это Вам надо в Квартусе запустить СигналТап, в нем задать, во-первых, клок для захвата (лучше всего системый клок), во-вторых, сигналы, которые хотите посмотреть. Очень похоже как в симуляторе квартусовском. После этого Квартус захочет перекомпилить проект - он добавит сам нужную логику, которая и будет захватывать сигналы для показа. Т.е. СигналТап - это встраиваемый в ПЛИС небольшой логический анализатор, имплементированный на свободной (не задействованной в проекте) логике. Т.е., например, Вы и сами можете для отладки какой-нить регистр поставить и выводить его на ножки свободные и смотреть. Только это неудобно и геморроя много. А тут за вас эту работу делает Квартус, который, во-первых, не ошибается, во-вторых, делает это быстрее, в-третьих, имеет специальный интерфейс для показа сграбленного. Только и всего. Я пользуюсь, временами очень помогает. Когда что-то не работает, можно сразу отследить ключевые точки и пойти по верному пути поиска. Хотя, конечно, не панацея это. Сначала нужно все на симуляторе отладить, а уже потом в железе смотреть, если что не работает. А чем он Вам поможет. Проект надо копать. Я знаю инженеров, которые держат устаревшие версии Квартуса, потому что в новых проект не работает. Ведь критерий проверки прост. Временное моделирование должно соответствовать функциональному. Это дает гарантию, что Вы не напоролись на многотактовую синхронизацию, все сигналы длительностью или кратны в глобальный клок, нестробируемая логика только на enable. Золотые правила хендбука. А отсутствие предупреждений по временам установки и удержания данных во временном анализаторе гарантирует работоспособность. Есть же мощный инструмент по констрейнам (ограничениям). <{POST_SNAPBACK}> Это все так, спору нет. Только бывают ситуации, которые на симуляторе не отмоделируешь - нельзя ведь объять необъятное. :) Особенно подлые грабли возникают на взаимодействии модулей - по отдельности все отмоделировано, все проверено, все работает. Вместе тоже, вроде, все работает, как задумано. По времянкам тоже все ок. Заливаешь в микруху - и появляются "нюансы": в таком-то режиме, если сделать такое-то действие, появляется труднообъяснимый глюк. Бычишься, бычишься в текст, глаз замылен, не видит ничего криминального. Пытаешься смоделировать ситуацию на симуляторе, вроде работает - оно и в железе проявляется не каждый раз. А прогнать все на симуляторе тоже возможности нет. Вот тут СигналТап в самый раз! Вывел критичные места на монитор и контролируй. И тут оно отлавивается - где-то, например, флажок встает не так, как надо. А когда уже место более-менее локализовано, бороться уже несравненно проще. Т.ч. к месту очень полезная тулза. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 15 июня, 2005 Опубликовано 15 июня, 2005 · Жалоба "Вот тут СигналТап в самый раз! Вывел критичные места на монитор и контролируй. И тут оно отлавивается - где-то, например, флажок встает не так, как надо. А когда уже место более-менее локализовано, бороться уже несравненно проще. Т.ч. к месту очень полезная тулза." О пользительности никто не спорит. А моделирование имеет смысл, если с временным анализом все в порядке. Уверен, там есть над чем поработать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serega Doc 0 16 июня, 2005 Опубликовано 16 июня, 2005 · Жалоба Возникаает вопрос А что если проект работает на 100 Mhz как LPT порт за всем этим счастьем успеет? Как он будет грабить контрольные точки? Програматор ByteBlaster от Altera Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Esquire 0 16 июня, 2005 Опубликовано 16 июня, 2005 · Жалоба Максимальная скорость отслеживания контрольных точек SignalTAP зависит от типа ПЛИС (быстродействие внутренней памяти). В используемом мной APEX наблюдал отсчеты на частоте 150 МГц, в более современных устройствах частота должна быть еще выше B) . LPT порту совершенно необязательно поспевать за быстроизменяющимися времянками: SignalTAP запоминает выборки сигналов в масштабе реального времени во внутренней памяти ПЛИС, а затем передает их на внешний интерфейс в соответствии с номинальной скоростью последнего :a14: . Тип бластера влияет на скорость обновления картинки анализатора на экране монитора: MasterBlaster в этом отношении выигрывает у ByteBlaster, но это преимущество практически никак не влияет на восприятие диаграмм, поскольку и в том и в другом случае хорошо заметно мелькание перерисовывающегося изображения (частота обновления также зависит от установок анализатора: количество сигналов, число выборок и т.д.). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serega Doc 0 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба А нельзя ли сделать чтобы CLK отключился от генератора и генерился с LPT. Тогда бы Ничего не зависело от скорости Проекта а все операции можно бы было выполнять пошагово Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Camelot 0 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба Плюс к вышесказанному хочу добавить, что если нужно отследить быстроизменяющиеся сигналы то в сигнал табе нужно Sample depth поставить как можно больше, т.к. онный может не успевать считывать их изменения в нужный Вам момент. Но тут может возникнуть проблема нехватки М4К если чип небольшого размера. А вообще вещь полезная иногда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Esquire 0 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба 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: . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться