- •Лекции Программируемые логические матрицы
- •1. Программируемые логические матрицы, программируемая матричная логика, базовые матричные кристаллы
- •§ 1.1. Вводные замечания
- •§ 1.2. Программируемые логические матрицы и программируемая матричная логика (плм и пмл)
- •Схемы с памятью
- •§ 1.3. Базовые матричные кристаллы (вентильные матрицы с масочным программированием)
- •2. Современные и перспективные бис/сбис со сложными программируемыми и репрограммируемыми структурами (fpga, cpld, flex, soc и др.)
- •§ 2.2. Программируемые пользователем вентильные матрицы (fpga)
- •§ 8.3. Сложные программируемые логические схемы (cpld) и сбис программируемой логики смешанной архитектуры (flex и др.)
- •§ 2.4. Сбис программируемой логики типа "система на кристалле"
- •2.5. Параметры и популярные семейства бис программируемой логики
- •§ 2.6. Интерфейс jtag. Периферийное сканирование. Программирование в системе (isp). Конфигурирование сбис пл
- •3. Методика и средства проектирования цифровых устройств
- •§ 3.1. Общие сведения
- •§ 3.2. Пример "ручного" проектирования цифрового устройства с использованием программируемой матричной логики (пмл)
§ 2.6. Интерфейс jtag. Периферийное сканирование. Программирование в системе (isp). Конфигурирование сбис пл
Интерфейс JTAG и периферийное сканирование
Термином JTAG обозначают совокупность средств и операций, позволяющих проводить тестирование БИС/СБИС без физического доступа к каждому ее выводу. Аббревиатура JTAG возникла по наименованию разработчика — объединенной группы по тестам Joint Test Action Group. Термином "периферийное сканирование" (ПС) или по-английски Boundary Scan Testing (BST) называют тестирование по JTAG стандарту (IEEE Std 1149.1). Такое тестирование возможно только для микросхем, внутри которых имеется набор специальных элементов — ячеек периферийного сканирования (ячеек ПС), в английской терминологии BSC (Boundary Scan Cells) и схем управления их работой.
Ячейки BSC размещены между каждым внешним выводом микросхемы и схемами кристалла, образующими само проверяемое устройство. Все большее число современных микросхем снабжается интерфейсом JTAG, т. е. возможностями периферийного сканирования.
Основная концепция периферийного сканирования иллюстрируется рис. 8.24, а. Ячейки сканирования BSC могут работать в разных режимах. В рабочем режиме они просто пропускают сигналы через себя слева направо и не изменяют функционирования устройства. При этом для выходов обычного логического типа нужна одна BSC, для выходов с третьим состоянием — две (вторая для выработки сигнала управления буфером), для двунаправленных выводов — три, что видно из рис. 8.24, а. Входные сигналы проходят через ячейки BSC прямо к соответствующим точкам основных схем кристалла.
В режиме тестирования пропуск сигналов через ячейки прекращается, а сами они, соединяясь последовательно, образуют сдвигающий регистр, обладающий также некоторыми дополнительными функциями. В такой сдвигающий регистр со входа данных тестирования может быть введен тестовый код для подачи на входные точки основной схемы кристалла. Результат, который выработает основная схема, загружается в ячейки BSC на ее выходах и затем выводится последовательно для сравнения с ожидаемым правильным результатом вне устройства.
Схема BSC (рис. 2.24, б) содержит два мультиплексора и два D-триггера. В зависимости от адресного входа "Режим" выходного мультиплексора, ячейка либо свободно пропускает сигнал со входа на выход, либо передает на выход состояние второго триггера. Адресный сигнал входного мультиплексора "Сдвиг" управляет подачей на первый триггер входного сигнала (от логических входов микросхемы) или же сигнала от предыдущей ячейки. Таким образом, по синхросигналу для первых триггеров и при передаче через входной мультиплексор сигнала "Вход" осуществляется параллельная загрузка этих триггеров во всех ячейках. При передаче через входной мультиплексор сигнала от предыдущей ячейки тактовый сигнал производит сдвиг на один разряд в регистре, образованном последовательным соединением ячеек.
По синхросигналу "Обновление" текущее содержимое регистра, составленного из цепочки первых триггеров, переписывается в статический регистр, составленный из вторых триггеров. Сдвиги в регистре на триггерах 1 не будут влиять на содержимое регистра на триггерах 2.
Периферийное сканирование позволяет проверять работу самих микросхем, монтажные межсоединения микросхем между собой на печатной плате, считывать сигналы на выводах микросхемы во время ее работы или управлять этими сигналами.
Рис. 2.24. Структура аппаратных средств интерфейса JTAG (а) и схема ячейки периферийного сканирования (б)
Проверка работы самих микросхем состоит в задании для них входного воздействия и наблюдения за полученным результатом, проверка исправности монтажа микросхем на плате осуществляется, например, при взаимодействии двух микросхем, имеющих JTAG интерфейс. В этом случае тестирующая информация вводится в выходные ячейки одной микросхемы, а затем переписывается во входные ячейки другой. При исправности всех межсоединений принятая информация идентична введенной.
Порт тестирования ПТ (ТАР, Test Access Port)— это 4 (иногда 5) специально выделенных выводов микросхемы. Функциональное назначение этих линий:
TDI (вход тестовых данных) — вход последовательных данных периферийного сканирования. Команды и данные вдвигаются в микросхему с этого вывода г:
переднему фронту сигнала ТСК;
ТОО (выход тестовых данных) — выход последовательных данных. Команды данные выдвигаются из микросхемы с этого вывода по заднему фронту сигнала ТСК;
ТСК (вход тестового тактирования) — тактирует работу встроенного автомата управления периферийным сканированием. Максимальная частота сканирования периферийных ячеек равна 8 МГц;
TMS (вход управления тестированием) — обеспечивает выбор режима тестирования.
В некоторых случаях к перечисленным сигналам добавляется сигнал TRST^ для инициализаций порта тестирования, что необязательно, т. к. инициализация возможна путем подачи соответствующей последовательности сигналов на вход TMS.
Работа средств обеспечения интерфейса JTAG подчиняется сигналам автомата управления, встроенного в микросхему. Состояния автомата определяются сигналами TDI и TMS порта тестирования. Определенное сочетание сигналов TMS и ТСК обеспечивает ввод команды для автомата и ее исполнение.
Порядок операций при периферийном сканировании: загрузка кода команды, загрузка данных, исполнение команды, считывание результата. Подробнее о работе средств управления интерфейсом JTAG говорится, например, в работе [30].
С помощью расширения возможностей интерфейса JTAG можно производить также реконфигурацию микросхем непосредственно в системе, без извлечения микросхем из устройства.
Программирование в системе
Реконфигурация (программирование) в системе — одно из важнейших достоинств СБИС ПЛ, позволяющее легко производить изменения в логике их работы. Потребности в изменениях возникают как для устранения не выявленных при первоначальном тестировании ошибок, так и при модернизации системы (Upgrade). Свойство программируемости непосредственно в системе обозначается аббревиатурой ISP (In System Programmable).
Создание хорошо приспособленной к программированию в системе БИС/СБИС предъявляет определенные требования к ее архитектуре и программному обеспечению средств проектирования. Задача изменения функционирования БИС/СБИС легче решается при использовании в ней мелкозернистых логических блоков (см. §8.2), наличии схем-разделения термов в CPLD, управлений инверсиями, гибких вариантов установок и тактирования триггеров и т. д.
Возможности программирования в системе растут, если при проектировании часть функциональных возможностей СБИС ПЛ оставлять свободной, имея в виду упрощение изменений проекта в будущем. При этом рекомендуется иметь запас по скорости, функциональным возможностям и ресурсам межсоединений. Если первоначальным вариантом проекта заняты более 90% емкости микросхемы и скорость ее работы близка к пределу, то для облегчения последующих изменений целесообразно подумать о применении большей по уровню интеграции или более быстродействующей микросхемы, поскольку ожидать успешного "апгрейда" без запасов ресурсов рискованно.
Следует иметь в виду, что при реконфигурации в системе должно сохраняться назначение внешних выводов, поскольку иначе потребуется изменить монтаж печатных плат.
Требования к числу допустимых для микросхемы циклов репрограммирования
Эти требования зависят от решаемых задач. Для отработки прототипа, работа которого в дальнейшем будет неизменной, достаточным может быть число циклов репрограммирования порядка нескольких десятков, что обеспечивается даже схемами с УФ-стиранием данных. Для многих других применений число допустимых циклов репрограммирования должно быть существенно большим или даже практически неограниченным.
Настройка микросхем программируемой логики
Настройка на требуемый алгоритм функционирования производится с помощью программаторов (например, для PLD) либо непосредственно в системе, что рассмотрено выше. Последнее характерно для СБИС ПЛ с триггерной памятью конфигурации.
Средства конфигурирования СБИС ПЛ с триггерной "теневой" памятью позволяют загружать ее от внешней памяти различными способами. Данные для конфигурирования могут поступать от разных источников (компьютера, ПЗУ, других СБИС ПЛ), форма их представления может быть последовательной или параллельной, роль конфигурируемой СБИС может быть активной или пассивной. В результате возникают несколько возможных режимов конфигурирования.
СБИС ПЛ, имеющие интерфейс JTAG, могут конфигурироваться с его использованием (расширенный интерфейс JTAG).
Для иллюстрации общих положений, касающихся конфигурирования СБИС ПЛ. рассмотрим несколько подробнее режимы конфигурирования на примере FPGA семейства ХС4000 [30].
Микросхемы семейства ХС4000 используют по несколько сотен битов конфигурации на каждый логический блок и его межсоединения. Каждый бит задает необходимое состояние элементу памяти в схеме логического блока, программируемого мультиплексора, программируемого ключа связи и т. д. Данные конфигурации вырабатываются средствами системы автоматизации проектирования.
Микросхемы имеют три вывода для задания одного из шести режимов конфигурирования. Три режима называются активными, в них СБИС ПЛ сама вырабатывает сигналы тактирования и управления для процесса обмена с источником данных конфигурации. В активном последовательном режиме данные конфигурации поступают от последовательной памяти PROM, специально разработанной фирмой Xilinx для этой цели. В активных параллельных режимах данные конфигурации поступают от ПЗУ с восьмиразрядной (байтовой) организацией, а затем в самой FPGA преобразуются в последовательный битовый поток. Активных параллельных режимов два — в одном массив хранимых в ПЗУ данных начинается с нулевого адреса, в другом — с адреса 3FFFF.
В режимах, называемых пассивными, сигналы тактирования и управления обменом вырабатываются вне FPGA источником данных. Наиболее популярен режим "пассивный последовательный", в котором поступающие на FPGA данные вводятся в нее по фронтам внешнего тактирующего сигнала CCLK (Configuration Clock).
Два режима называются периферийными. В этом режиме FPGA играет роль внешнего устройства микропроцессорной системы, принимая восьмиразрядные данные с шины и регулируя скорость обмена сигналами квитирования RDY/BUSY. Самой FPGA присваивается адрес, и в системе имеется селектор адреса, подключенный к системной шине. Периферийный режим называется асинхронным, если внутренний генератор формирует сигналы тактирования для преобразования байтового потока в битовый, и синхронным, если для этой цели применяются тактирующие сигналы от внешнего источника.
Несколько FPGA с различными конфигурациями можно связывать в последовательную цепочку и использовать единый битовый поток для конфигурирования всей цепочки.
Среди СБИС ПЛ имеются такие, в которых реализованы одновременно триггерная и энергонезависимая память конфигурации. В этом случае можно производить конфигурирование (инициализацию) СБИС ПЛ без дополнительных внешних источников путем автоматической загрузки триггерной памяти из энергонезависимой.
Инициализация СБИС ПЛ осуществляется автоматически при включении питания.
Литература к главе: [З], [30], [34], [38], [39], [46], [47], [48]. [51], [52], [53], [54], [55], [59].
