- •Теория Автоматов и Формальных Языков.
- •Булевы аргументы и булевы функции.
- •Булевы функции одного и двух аргументов.
- •Аналитические формы записи булевых функций.
- •Понятие минтерма, импликанты, простой импликанты.
- •Минимизация булевых функций методом карт Вейча.
- •Минимизация методом Мак-Класки.
- •Метод импликантных матриц.
- •Минимальные конъюнктивные нормальные формы булевых функций.
- •Минимальные формы не полностью определённых булевых функций.
- •Синтез схем в базисе функции Шеффера.
- •Синтез схем в базисе функции Пирса.
- •Понятие конечного автомата, его состояния и эквивалентности.
- •Способы задания конечных автоматов.
- •Элементарные конечные автоматы.
- •Синтез асинхронного r-s триггера.
- •Синтез синхронного r-s триггера.
- •Алгоритм синтеза конечного автомата.
- •Проблема риска и гонок в конечных автоматах.
- •Аппаратные способы устранения гонок.
- •Противогоночное кодирование.
- •Риск сбоя в комбинационных схемах.
- •Автоматные языки. Классификация грамматик по н. Хомскому.
- •Детерминированный автомат-распознаватель.
- •Лемма о "накачке".
- •Недетерминированные автоматы распознаватели.
Синтез асинхронного r-s триггера.
Триггер – запоминающий элемент имеющий два устойчивых состояния, способный хранить один бит информации.
Таблица переходов триггера R-S
R(t) S(t) Q(t) Q(t+1)
0 0 0 0 \
0 0 0 1 - Хранение Q(t)
0 1 0 1 \
0 1 1 1 - Установка триггера в 1.
1 0 0 0 \
1 0 1 0 - Установка триггера в 0.
1 1 0 - \
1 1 1 - - Запрещённые комбинации.
R(t) –вход установки триггера в "0".
S(t) – вход установки триггера в "1".
Функция переходов триггера R-S:
Q(t+1) = ¯R(t)¯S(t)Q(t) + ¯R(t)S(t)¯Q(t) + ¯R(t)S(t)Q;
< R(t)S(t)¯Q(t); R(t)Q(t)S(t) > - функция не определена.
|
S(t) |
¯S(t) |
||
R(t) |
* |
* |
|
|
¯R(t) |
1 |
1 |
1 |
|
|
¯Q(t) |
Q(t) |
¯Q(t) |
|
Q(t+1) = S(t) + ¯R(t)Q(t)
Данный триггер получил большое распространение, так как при любой технической реализации он не критичен к длительности входных сигналов и устойчиво сохраняет своё состояние.
Составим сокращённую таблицу переходов R-S триггера:
Q(t) → Q(t+1) R(t) S(t)
0 → 0 b 0
0 → 1 0 1
1 → 0 1 0
1 → 1 0 b
b = {0 / 1} // b равен нулю или единице.
Для того, чтобы синтезировать любой элементарный автомат выбирают так называемый базовый элементарный автомат. В качестве такого базового автомата чаще всего выбирают асинхронный R-S триггер, т.к. он относительно просто реализуется и обладает хорошими логическими возможностями. Будем строить автомат на элементах И-НЕ.
Rб(t) Sб(t) Q(t) Q(t+1)
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 *
1 1 1 *
Q(t+1) = ¯Rб(t)¯Sб(t)Q(t) + ¯Rб(t)S б(t)¯Q(t) + ¯R б(t)S(t)Q(t)
< Rб(t)S(t)¯Q(T); Rб(t)Sб(t)Q(t) > // Не определён.
|
Sб(t) |
¯Sб(t) |
||
Rб(t) |
* |
* |
|
|
¯Rб(t) |
1 |
1 |
1 |
|
|
¯Q(t) |
Q(t) |
¯Q(t) |
|
Q(t+1) = Sб(t) + ¯Rб(t)Q(t) = [S(t) * 1] + [¯Rб Q(t)] = Sб(t)| [ ¯Rб | Q(t) ] // Штрих Шеффера.
фото.
Данный триггер логически устойчив, т.к. пара переходов у него продублирована.
Составим сокращённую таблицу переходов базового асинхронного R-S триггера.
Q(t) → Q(t+1) R(t) S(t) Rб(t) Sб(t)
0 → 0 b 0 b 1
0 → 1 0 1 1 0
1 → 0 1 0 0 1
1 → 1 0 b 1 b
b = {0 / 1} // b равен нулю или единице.
Синтез синхронного r-s триггера.
Таблица переходов синхронного R-S триггера.
Q(t) → Q(t+1) R(t) S(t) Rб(t) Sб(t)
0 → 0 b 0 b 1
0 → 1 0 1 1 0
1 → 0 1 0 0 1
1 → 1 0 b 1 b
Отметим, что если сигнал синхронизации равен нулю c(t) = 0, то триггер не меняет своего состояния.
c(t) R(t) S(t) Q(t) Q(t+1) Rб(t) Sб(t)
0 0 0 0 0 b 1
0 0 0 1 1 1 b
0 0 1 0 0 b 1
0 0 1 1 1 1 b
0 1 0 0 0 b 1
0 1 0 1 1 1 b
0 1 1 0 0 b 1
0 1 1 1 1 1 b
c(t) R(t) S(t) Q(t) Q(t+1) Rб(t) Sб(t)
1 0 0 0 0 b 1
1 0 0 1 1 1 b
1 0 1 0 1 1 0
1 0 1 1 1 1 b
1 1 0 0 0 b 1
1 1 0 1 0 0 1
1 1 1 0 * b b
1 1 1 1 * b b
¯Rб(t) = ¯C(t)¯R(t)¯S(t)Q(t) + ¯C(t)¯R(t)S(t)Q(t) + ¯C(t)R(t)¯S(t)Q(t) + ¯C(t)R(t)S(t)Q(t) +
+ C(t)¯R(t)¯S(t)Q(t) + C(t)¯R(t)S(t)¯Q(t) + C(t)¯R(t)S(t)Q(t)
"0" → c(t)R(t)¯S(t)Q(t)
|
R(t) |
¯ R(t) |
|
|||||
c(t) |
b |
0 |
1 |
b |
¯S(t) |
|||
b |
b |
1 |
1 |
S(t) |
||||
¯c(t) |
b |
1 |
1 |
b |
||||
b |
1 |
1 |
b |
¯ S(t) |
||||
|
¯Q(t) |
Q(t) |
¯Q(t) |
|
||||
¯Sб(t) = ¯c(t)¯R(t)¯S(t)¯Q(t) + ¯c(t)¯R(t)S(t)¯Q(t) + ¯c(t)R(t)¯S(t)¯Q(t) +
+ ¯c(t)R(t)S(t)¯Q(t) + c(t)¯R(t)¯S(t)¯Q(t) + c(t)R(t)¯S(t)¯Q(t) + c(t)R(t)¯S(t)Q(t)
< c(t)¯R(t)S(t)¯Q(t) > - "0" // Все остальные – b.
|
R(t) |
¯ R(t) |
|
|||||
c(t) |
1 |
1 |
b |
1 |
¯S(t) |
|||
b |
b |
b |
0 |
S(t) |
||||
¯c(t) |
1 |
b |
b |
1 |
||||
1 |
b |
b |
1 |
¯ S(t) |
||||
|
¯Q(t) |
Q(t) |
¯Q(t) |
|
||||
¯Rб(t) = ¯c(t) + ¯R(t) = [ ¯C(t) * 1 ] + [ ¯R(t) * 1 ] = c(t) | R(t)
¯Sб(t) = ¯c(t) + ¯S(t) = [ ¯c(t) * 1 ] + [ S(t) * 1 ] = c(t) | S(t)
фото
