logo11d 4 1

Что такое эмулятор JTAG?

Эмулятор JTAG — это тип встроенного эмулятора, используемого для отладки во время разработки программного обеспечения ЦП.

В отличие от внутрисхемного эмулятора (ICE), который эмулирует работу ЦП, заменяя ЦП на плате зондом. Эмулятор JTAG позволяет выполнять отладку, не снимая ЦП с платы, но с установленным ЦП.

Это дает преимущество в том, что позволяет проводить оценку при тех же электрических характеристиках, что и плата продукта, тем самым способствуя ранней коммерциализации.

Применение эмуляторов JTAG

JTAG — это отраслевой стандарт для тестирования БИС и плат. На основе этого технического стандарта производители ЦП проектируют порты тестового доступа (TAP) и проводят тесты сканирования границ (Boundary Scan Test).

В результате спецификации эмуляторов JTAG различаются у разных производителей ЦП. Поскольку спецификации, которые различаются у разных производителей, нельзя назвать JTAG, на основе исходных спецификаций был установлен стандарт интерфейса, соответствующий JTAG, и эмуляторы JTAG производятся на основе этого стандарта.

Принцип эмуляторов JTAG

Стандарт JTAG был стандартизирован в 1990 году как IEEE 1149.1. Причина этого в том, что по мере того, как ЦП и БИС становились все более мощными и сложными, шаг между контактами становился все уже и уже, что затрудняло отладку и тестирование путем непосредственного прикладывания тестовых зондов к контактам ЦП и БИС.

Для решения этой проблемы был разработан метод граничного сканирования для анализа состояния внутренних цепей путем зависимого соединения цепей внутри чипа и последовательного считывания состояния цепей.

Этот метод позволяет нам проверять внутреннее состояние ЦП или БИС без необходимости подсоединять тестовый зонд к каждому выводу ЦП или БИС.

Стандарт JTAG изначально был изобретен как метод тестирования ЦП и БИС, а позднее использовался как метод отладки при разработке программного обеспечения ЦП.

JTAG имеет пять сигнальных контактов: TCK (тактовый сигнал), TDI (вход данных), TDO (выход данных), TMS (управление состоянием) и TRST, но технические стандарты не определяют электрические характеристики этих сигналов. Они указываются производителем индивидуально.

Эмулятор JTAG можно использовать для отладки ЦП, проверки платы, связи между внутренними цепями ИС и хост-компьютера и записи данных в ПЛИС.

Отладка с помощью эмулятора JTAG

В этом разделе представлены методы, используемые для проверки работы разработанной программы, выявления дефектов и повышения производительности.

Пошаговое выполнение
Это базовый и наиболее часто используемый метод отладки. Для выполнения пошагового выполнения необходимо остановить запущенную программу один раз. Метод остановки программы включает установку условий, называемых точками останова, и использование функции принудительного останова. После остановки программы можно проверить состояние памяти, регистров и переменных, выполняя исходный код строка за строкой или функцией, или метод за методом.

Трассировка в реальном времени
Этот метод используется для отладки при возникновении непредвиденных условий. Даже если условия ветвления тщательно рассматриваются при проектировании программы, непредвиденные сбои часто происходят, когда программа объединяется с оборудованием или связана с другими системами. При пошаговом выполнении невозможно анализировать сбои, вызванные неизвестными условиями. Поэтому история выполнения программы, адрес и тип доступа к данным (чтение/запись), а также статус прерывания сохраняются в памяти трассировки для анализа сбоев.

Измерение времени
Можно измерить максимальное, минимальное и среднее время выполнения (между двумя точками от начала до конца) указанного модуля функционального блока. Также можно измерить связь между вызываемой функцией (дочерней функцией) и вызывающей функцией (родительской функцией), а также частоту вызовов. Улучшая вариацию времени выполнения и просматривая структуру функций, вы можете улучшить производительность своей системы.

Программирование с помощью эмулятора JTAG

Данные могут быть записаны непосредственно в ПЛИС или в конфигурационную память через ПЛИС. Конфигурационная память, с другой стороны, записывается в энергозависимую память ПЛИС (ОЗУ). С другой стороны, конфигурационная память является энергонезависимой памятью (ПЗУ), поэтому программа никогда не теряется после ее написания.

Выберите метод записи, который лучше всего подходит для сокращения количества разъемов и стадии разработки продукта (во время проектирования или массового производства).

Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять