- •Введение
- •1. Булева алгебра и ее основные законы
- •1.1. Основные логические функции
- •1.2. Основные аксиомы и законы булевой алгебры
- •2. Позиционная система счисления и кодирование чисел
- •3. Логические функции двух переменных
- •4. Алгебраическое представление логических функций
- •5. Теорема разложения логических функций
- •6. Карты карно
- •7. Минимизация логических функций
- •7.1. Метод Квайна
- •7.2. Метод карт Карно
- •8. Приведение логической функции к заданному базису
- •8.1 Приведение логической функции к базису и-не.
- •8.2. Преобразование лф к базису или-не
- •9. Минимизация логических функций с несколькими выходами
- •10. Логический синтез последовательностных устройств
- •11. Состязания сигналов и способы их устранения
- •Заключение
- •Приложение 1. Задание на курсовую работу по курсу микросхемотехника
- •Литература
10. Логический синтез последовательностных устройств
В последовательностных устройствах (или автоматах с памятью) выходные сигналы определяются не только набором входных сигналов, но и текущим состоянием устройства. То есть следующее состояние автоматов с памятью зависит от предыдущего состояния.
Цель синтеза цифрового автомата состоит в построении заданного устройства из логических элементов функционально полной системы. Исходными данными для синтеза являются:
-словесное описание синтезируемого автомата;
-таблица переходов;
-базис элементов памяти и комбинационной схемы.
Канонический метод синтеза основан на разделении автомата на две части: схему элементов памяти автомата ПА и комбинационную схему КС (рис.36).
Рис.36.
X1
Xk
Q1
Qn
KC
ПА
Y1
Ym
2) В соответствии с выбранным базисом элементов памяти определяем число входных сигналов ПА, это будут выходные сигналы для КС.
3) Строится таблица состояний и переходов автомата.
4) В зависимости от вида перехода и типа элемента памяти формируется таблица возбуждения (словарь переходов) элементов памяти (триггеров).
Словарь переходов различных триггеров:
ПЕРЕХОД |
RS |
|
JK |
|
T |
D |
|
R |
S |
J |
K |
|
|
00 |
0 |
* |
0 |
* |
0 |
0 |
01 |
1 |
0 |
1 |
* |
1 |
1 |
10 |
0 |
1 |
* |
1 |
1 |
0 |
11 |
* |
0 |
* |
0 |
0 |
1 |
Знак «*» означает, что логический уровень на входе может быть произвольным.
5) Проводится логический синтез комбинационной схемы, входные сигналы для которой определяются текущим состоянием автомата.
В качестве примера рассмотрим синтез счетчиков с модулем счета,
не равным степени двух.
Пример 1. Пусть требуется синтезировать счетчик с модулем счета равным трем. Минимальное число необходимых триггеров - 2 ( ближайшее большее число - целая степень двойки - это ).
Нарисуем незаконченную схему счетчика:
Рис.37.
Рассмотрим метод, позволяющий определить, как следует подключить информационные входы триггеров для счета до трех.
Составим таблицу состояний триггеров:
-
i
1
0
0
0
1
2
0
1
1
0
3
1
0
0
0
4
0
0
0
1
Рис.38.
Граф переходов
счетчика.
Перевод счетчика в следующее состояние связан с переключением триггеров. Составим таблицу переходов JK - триггера:
-
Вид перехода
J
K
00
0
*
01
1
*
10
*
1
11
*
0
Знак «*» означает, что логический уровень на входе может быть произвольным. Пользуясь этими таблицами, построим таблицы истинности для входов J и K всех триггеров.
При этом логические уровни на входах J и K являются функциями текущего состояния счетчика от Q1, Q2, a Q1 и Q2 есть состояния триггеров перед поступлением на вход триггеров очередного импульса С.
Пусть имеем исходное состояние счетчика Q1 = Q2 = 0.
Под действием входного импульса должно быть обеспечено новое состояние Q2 = 0; Q1 = 1. Следовательно, триггер Т1 должен совершить переход 01, требующий на следующих уровнях сигнала на входахJ1=1; K1=*. Триггер Т2 совершает переход 00, что обеспечивается сигналами на входахJ2 = 0; K2 = *. Заносим эти значения в клетки карт Карно, соответствующие текущему состоянию счетчика Q2 = 0; Q1 = 0 ( левый верхний угол ).
Перевод триггеров из текущего состояния Q2 = 0; Q1 = 1 в следующее состояние Q2 = 1; Q1 = 0 требует подачи на информационные входы следующих сигналов:
-триггер Т1 совершает переход 10, для чего необходимы J1 = *; K1 = 1;
-триггер Т2 совершает переход 01, следовательно J2 = 1; K2 = *.
Текущее состояние Q2 = 0; Q1 = 1, чему соответствует правый верхний угол карты Карно.
Дальнейший переход: текущее состояние Q2 = 1 ; Q1 = 0;
следующее - Q2 = 0 ; Q1 = 0.
Т1: переход 00 J1 = 0; K1 = *;
Т2: переход 10 J2 = *; K2 = 1;
текущее состояние Q2=1; Q1=0 - левый нижний угол карты Карно.
Состояние Q2 = 1 ; Q1 = 1 в этом счетчике не используется и объявляется запрещенной комбинацией ( Х на карте ). Теперь мы имеем заполненные карты Карно для всех входов схемы. Проводим минимизацию логических функций:
__
J1 = Q2 ; K1 = 1; J2 = Q1; K2 = 1.
Этому соответствует схема счетчика до трех (рис.39).
Рис.39. Схема счетчика до 3.
Пример 2. Проведем синтез структуры двоично-десятичного счетчика до десяти. Для N =10 необходимо 4 триггера, так как , но 6 состояний не используются.
Рис.40.Незаконченная схема счетчика.
Таблица состояний и переходов:
|
Текущее (i-ое) |
следущее (i+1) |
T4 |
T3 |
T2 |
T1 | |||||||||||||||
i |
Q4 |
Q 3 |
Q 2 |
Q 1 |
Q 4 |
Q 3 |
Q 2 |
Q 1 |
переход |
J |
K |
переход |
J |
K |
переход |
J |
K |
переход |
J |
K | |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
0 |
* |
00 |
0 |
* |
00 |
0 |
* |
01 |
1 |
* | |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
0 |
* |
00 |
0 |
* |
01 |
1 |
* |
10 |
* |
1 | |
2 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
|
0 |
* |
00 |
0 |
* |
11 |
* |
0 |
01 |
1 |
* | |
3 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
|
0 |
* |
01 |
1 |
* |
10 |
* |
1 |
10 |
* |
1 | |
4 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
|
0 |
* |
11 |
* |
0 |
00 |
0 |
* |
01 |
1 |
* | |
5 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
|
0 |
* |
11 |
* |
0 |
01 |
1 |
* |
10 |
* |
1 | |
6 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
|
0 |
* |
11 |
* |
0 |
11 |
* |
0 |
01 |
1 |
* | |
7 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
|
1 |
* |
10 |
* |
1 |
10 |
* |
1 |
10 |
* |
1 | |
8 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
11 |
* |
0 |
00 |
0 |
* |
00 |
0 |
* |
01 |
1 |
* | |
9 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
|
* |
1 |
00 |
0 |
* |
00 |
0 |
* |
10 |
* |
1 | |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
Рис.41.
Схема расположения минтермов (обратите
внимание на измененное расположение
переменных).
Составляем карты Карно и ищем МДНФ:
__
J1 = 1; K1 = 1; J2 = Q1 Q4;
K2 = Q1; J3 =Q1 Q2; K3 = Q1 Q2;
J4 = Q1 Q2 Q3; K4 = Q1.
В соответствии с полученными уравнениями строим схему счетчика.
Рис.42. Схема счетчика до 10.