Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Схемотехника

..pdf
Скачиваний:
4
Добавлен:
12.11.2023
Размер:
15.39 Mб
Скачать

11.«БЫСТРОЕ» ДИАГНОСТИРОВАНИЕ ЛОГИЧЕСКОГО ЭЛЕМЕНТА LUT

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

В КМДП-транзисторах, используемых в LUT, при одинаковых топологических характеристиках стоки и истоки транзисторов фактически эквивалентны. Поэтому можно выполнять своего рода «реверс» сигналов. Для этого необходимо отключать цепи, используемые только для основного функционирования

Модифицированный LUT для n = 2 для обеспечения одновременной проверки всех ветвей дерева передающих транзисторов путём «реверса» – подачей диагностического сигнала с выхода на вход представлен на рис. 11.1.

Рис. 11.1. Модифицированный LUT для n = 2 для обеспечения одновременной проверки всех ветвей дерева передающих транзисторов

131

МОДЕЛИРОВАНИЕ «БЫСТРОГО» ДИАГНОСТИРОВАНИЯ ЛОГИЧЕСКОГО ЭЛЕМЕНТА LUT1

Модификация LUT1 на одну переменную для обеспечения одновременной проверки всех ветвей дерева передающих транзисторов представлена на рис. 11.2.

Рис. 11.2. Модификация LUT на одну переменную для обеспечения одновременной проверки всех ветвей дерева передающих транзисторов

Транзистор Т0 обеспечивает подачу «реверсного» сигнала с выхода LUT через все цепочки (в LUT на одну переменную их всего две – это непронумерованные транзисторы на рис. 11.2), транзисторы Т1, Т2 и дополнительный инвертор NOT обеспечивают подачу сигнала 1 на затворы основных транзисторов.

Транзисторы Т3, Т4 обеспечивают отключение выходов конфигурационной памяти SRAM. Таким образом, «быстрое» диагностирование заключается в переключении LUT в режим диаг-

132

ностики: c (out) = 1 и подачи тестовых сигналов c (z) = 1 (на выхо-

дах d0’ = 1, d1’ = 1), c(z) = 0 (на выходах d0’ = 0, d1’ = 0). Выходы d0’, d1’ могут быть использованы дополнительно и для контроля содержимого конфигурационных ячеек памяти – SRAM при функционировании LUT.

Моделирование модифицированного LUT при тесте c(z) = 1 (на выходах d0’ = 1, d1’ = 1) изображено на рис. 11.3.

Моделирование модифицированного LUT при тесте c(z) = 0 (на выходах d0’ = 0, d1’ = 0) изображено на рис. 11.4.

Рис. 11.3. Моделирование модифицированного LUT

при тесте c(z) = 1 (на выходах d0’ = 1, d1’ = 1)

133

Рис. 11.4. Моделирование модифицированного LUT

при тесте c(z) = 0 (на выходах d0’ = 0, d1’ = 0)

134

12.СИНТЕЗ АВТОМАТА-РАСПОЗНАВАТЕЛЯ

СПОВТОРЯЮЩИМИСЯ СИМВОЛАМИ

Ранее мы рассматривали автомат-распознаватель с неповторяющимися символами, соседние символы отличались только в одном двоичном разряде [21–24]. По существу, это был асинхронный автомат, который часто моделировался синхронным образом – с синхронными триггерами и тактовым генератором. Однако на практике чаще применяются автоматы – распознаватели с повторяющимися символами. Синтез таких автоматов существенно сложнее. Рассмотрим особенности синтеза на примере.

Синтезируем синхронный автомат, распознающий последовательность «0–0–2–2» (кодовый замок с неизменяемым кодом). На правильную последовательность срабатывает индикатор z1 , что может быть интерпретировано как «замок открыть». Для

всех неверных наборов срабатывает z2 , что значит «подать сиг-

нал тревоги» или «замок заблокировать». Мы не будем подсчитывать количество раз формирования неверных последовательностей. Не будем учитывать внешний сигнал общего сброса – его будем осуществлять по штатным входам сброса триггеров.

12.1.Блочный синтез автомата-распознавателя

сповторяющимися символами

Вотличие от входных сигналов, реализуемых статическими ключами с двумя положениями «0» и «1», необходимы динамические ключи, поэтому необходим блок формирования кода ключа (клавиши) и формирователь сигнала активирования одного из ключей (клавиш).

Проведём блочный синтез (рис. 12.1).

При нажатии кнопки блок формирования кода ключа – кодопреобразователь x/y формирует код ав и активирует одновибратор,

135

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

Рис. 12.1. Разбиение автомата на блоки

Реализацию кодопреобразователя выполним на микросхеме

74148 (рис. 12.2).

Рис. 12.2. Реализацию кодопреобразователя

(в системе схемотехнического моделирования NI Multisim 10

фирмы National Instruments Electronics Workbench Group)

136

Поскольку этот кодопреобразователь имеет выходы фиксации активации одного из входов Е0 и GS, то необходимость в одновибраторе отпадает – будем использовать GS для синхронизации триггеров памяти автомата.

12.2.АБСТРАКТНЫЙСИНТЕЗАВТОМАТА-РАСПОЗНАВАТЕЛЯ

СПОВТОРЯЮЩИМИСЯСИМВОЛАМИ

Приступим к этапу абстрактного синтеза дискретного автомата. Построим граф переходов для нашего синхронного автомата Мили (рис. 12.3).

Рис. 12.3. Граф переходов автомата 0022

На рис. 12.3 стрелками обозначены переходы из одного состояния в другое. Дробные значения над стрелками: в числителе условия переходов в последующее состояние, в знаменателе – получаемое выходное значение. Цветом обозначены конечные состояния автомата, состояние 5 для разрешенной последовательности 0022, состояние 6 соответственно для запрещенных.

Используя рис. 12.3, строим таблицу переходов автомата

(рис. 12.4).

137

Рис. 12.4. Таблица переходов автомата Мура 0022

В состоянии 5 формируется сигнал z1 – открытие «замка», а в состоянии 6 формируется z2 – «тревога» («подбор кода»).

Построим таблицу переходов-выходов автомата Мура

(рис. 12.5).

Рис. 12.5. Таблица переходов-выходов автомата Мура 0022

На рис. 12.5 y3 y2 y1 (t) – текущее состояние автомата, y3 y2 y1 (t +1) – следующее состояние, z1 , z2 – выходные значения.

138

12.3.СТРУКТУРНЫЙСИНТЕЗАВТОМАТА-РАСПОЗНАВАТЕЛЯ

СПОВТОРЯЮЩИМИСЯСИМВОЛАМИ

Память построимна синхронных триггерах D типа(рис. 12.6).

Рис. 12.6. Триггер типа D

Реализацию логических функцийвыполним на основе дешиф-

раторов 74 154 (рис. 12.7).

Рис. 12.7. Дешифратор 74154

Это связано с тем, что в доступной версии Electronics Workbench отсутствуют блоки постоянной памяти. Нам необходимо два таких дешифратора, так как база переменных включает пять переменных – две кодируют код клавиши + три – триггеры.

Из рис. 12.5 видим, что y1 (t +1) = 0 , на наборах 4,14 при y3 = 0 и на наборах 0,1,2,3 при y3 = 1. Поэтому эти выходы двух

дешифраторов объединяем по «И» и подключаем ко входу данных первого триггера (рис. 12.8).

139

Рис. 12.8. Реализация логической функции y1 (t +1)

Из рис. 12.5 видим, что схему управления вторым триггером лучше создать по «единицам». Это наборы 4,10 при y3 = 0 , а при

y3 =1 он вообще не активируется! Получаем схему на рис. 12.9.

Рис. 12.9. Реализация логических функций y2 (t +1) y1 (t +1)

А вот схему управления третьим триггером лучше создать по «нулям» (рис. 12.5). Это наборы 0, 4, 10 при y3 = 0 , а при y3 =1 он

всегда равен 1.

140