Интерфейс JTAG и периферийное сканирование

Термином JTAG обозначают совокупность средств и операций, позволяющих проводить тестирование БИС/СБИС без физического доступа к каждому ее выводу. Аббревиатура JTAG возникла по наименованию разработчика - объединенной группы по тестам Joint Test Action Group. Термином "периферийное сканирование" (ПС) или по-английски Boundary Scan Testing (BST) называют тестирование по JTAG стандарту (IEEE Std 1149.1). Такое тестирование возможно только для микросхем, внутри которых

имеется набор специальных элементов - ячеек периферийного сканирования (ячеек ПС), в английской терминологии BSC (Boundary Scan Cells) и схем управления их работой.

Ячейки BSC размещены между каждым внешним выводом микросхемы и схемами кристалла, образующими само проверяемое устройство. Все большее число современных микросхем снабжается интерфейсом JTAG, т. е. возможностями периферийного сканирования.

Основная концепция периферийного сканирования иллюстрируется рис. 8.24, a. Ячейки сканирования BSC могут работать в разных режимах. В рабочем режиме они просто пропускают сигналы через себя слева направо и не изменяют функционирования устройства. При этом для выходов обычного логического типа нужна одна BSC, для выходов с третьим состоянием - две (вторая для выработки сигнала управления буфером), для двунаправленных выводов - три, что видно из рис. 8.24, а. Входные сигналы проходят через ячейки BSC прямо к соответствующим точкам основных схем кристалла.

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

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

Интерфейс JTAG и периферийное сканирование - student2.ru
Рис. 8.24.Структура аппаратных средств интерфейса JTAG (а) и схема ячейки периферийного сканирования (б)

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

переписывается во входные ячейки другой. При исправности всех межсоединений принятая информация идентична введенной.

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

СБИС программируемой логики типа "система на кристалле"

Уменьшение топологических норм проектирования и ряд технологических усовершенствований довели уровень интеграции современных микросхем СБИС ПЛ до величин в несколько миллионов эквивалентных вентилей, а быстродействие до тактовых частот в 500...600 и более МГц. На таких кристаллах можно разместить целую систему (процессорную часть, память, интерфейсные схемы и др.).

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

Введение специализированных аппаратных ядер, имея ряд позитивных следствий, сужает в то же время круг потребителей СБИС, поскольку в

сравнении с полностью программируемыми схемами (типа generic) уменьшается их универсальность.

Реализация сложных функций специализированными аппаратными ядрами значительно уменьшает площадь кристалла в сравнении с их реализациями на конфигурируемых логических блоках. Для некоторых аппаратных ядер площадь снижается на порядок, для других меньше. Например, умножитель 8×8, построенный по модифицированному алгоритму Бута и реализованный методами заказного проектирования, разместился на площади в 5 раз меньшей, чем такой же, реализованный на реконфигурируемых логических блоках, обычных для взятой FPGA.

Таким образом, введение специализированных аппаратных ядер в FPGA и CPLD - процесс противоречивый по результатам. Он сокращает площадь кристалла при реализации сложных функций и ведет к достижению максимального быстродействия, но и таит в себе нежелательные последствия для изготовителя СБИС, т. к. может ощутимо сузить рынок их сбыта, а это ведет к росту цен и потере в какой-то мере конкурентоспособности продукции.

Что же будет преобладать? Здесь ключевой вопрос - какие именно специализированные аппаратные ядра будут выбраны для реализации.

Самый очевидный выбор - блоки ОЗУ. Эти блоки в той или иной мере нужны почти для всех систем, причем некоторые из них требуют очень больших объемов памяти. Выяснились уже и условия эффективного использования ядер памяти - не слишком крупные блоки, возможность изменять организацию памяти, возможность иметь асинхронный и синхронный режимы работы, организовывать буферы FIFO и двухпортовую память. Многие FPGA уже давно основываются на SRAM-ячейках (обычно на каждый конфигурируемый ЛБ тратится 16...32 бит ОЗУ), и эти ячейки могут быть применены не только для конфигурирования ЛБ, но и организуются в простые ОЗУ, которые могут далее объединяться в более емкие регистровые файлы. Однако такой вариант не дает максимального быстродействия и существенно снижает количество доступной пользователю логики кристалла, т. к. каждые 16...32 бита памяти "выводят из строя" целый ЛБ, т. е. по эквивалентной сложности 10...20 логических вентилей.

В среднем блок ОЗУ с заказным проектированием емкостью 256...512 бит может быть реализован на площади в приблизительно 1/10 от той, которая затрачивается на подобный блок, составленный из распределенных на кристалле ячеек памяти конфигурации. Времена доступа также уменьшаются в 1,5...4 раза.

Области ОЗУ- первые и, безусловно, главные специализированные аппаратные ядра. Других не так уж много. Это умножители, используемые в некоторых СБИС ПЛ, а также схемы интерфейса JTAG. Ядра интерфейса JTAG успешно внедрились во многие СБИС ПЛ, поскольку они выполняют важные функции, нужные очень многим, занимают очень небольшую площадь на кристалле и позволяют достичь высокого быстродействия.

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

Наши рекомендации