- •Основные логические функции и элементы
- •Комбинированные цифровые схемы. Построение цифровой схемы по произвольной таблице истинности (сднф)
- •Комбинированные цифровые схемы. Построение цифровой схемы по произвольной таблице истинности (скнф)
- •Комбинированные цифровые схемы. Декодер. Десятичный дешифратор
- •Комбинированные цифровые схемы. Семисегментный дешифратор
- •Сумматор
- •Бистабильные схемы
- •Rs-триггер
- •Синхронный rs-триггер
- •Статический d-триггер
- •Динамический d-триггер
- •T-триггер. Суммарный асинхронный счетчик
- •Параллельный регистр
- •Последовательный регистр
- •Архитектура микопроцессорной системы
- •Структурная схема микропроцессорной системы
- •Основные концепции языков программирования
- •Парадигмы языков программирования
- •Критерии оценки языков программирования
- •Объекты данных в языках программирования
- •Механизмы типизации
- •Виды типизации
- •Произвольные типы
- •Время жизни переменных
- •Область видимости переменных
- •Типы данных
- •Векторы и массивы
- •Указатели
- •Выражения и операторы присваивания
- •Структуры управления на уровне операторов
- •Составной оператор (блок)
- •Операторы if
- •Переключатели
- •Цикл while (while-do)
- •Цикл repeat(do-while)
- •Цикл for-do
- •Функции
- •Функции без возвращаемого значения
- •Параметры и переменные в функциях
- •Необходимость инициализации переменных (автоматические переменные)
- •Статические переменные
- •Передача по значению
- •Адреса и указатели
- •Чем «опасны» указатели?
- •Ввод-вывод
- •Функции как часть типа данных
- •Конструкторы и деструкторы
- •Перегрузка операторов и функций
- •Перегрузка функций. Прототипы и сигнатуры
- •Пространство имен
- •Исключения (exceptions)
- •Наследование и полиморфизм
- •Уровни доступа к базовому классу
- •Одноименные поля в произвольном и базовых классах
- •Виртуальные функции
- •Абстрактные классы. Чистые виртуальные функции.
- •Виртуальные конструкторы
Комбинированные цифровые схемы. Построение цифровой схемы по произвольной таблице истинности (скнф)
СКНФ- Совершенная конъюктивная нормальная форма
Еще одним способом реализации цифровых комбинационных схем является запись логического выражения в совершенной конъюктивной нормальной форме (СКНФ). Применение СКНФ оправдано при большом количестве логических единиц в выходном сигнале проектируемой цифровой схемы, как это показано в качестве примера в таблице истинности 2, или в ЭСЛ-микросхемах.
Таблица 2 Пример таблицы истинности 2
№ комбинации |
Входы |
Выходы | ||||
8 |
4 |
2 |
1 |
a |
b | |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
2 |
0 |
0 |
1 |
0 |
1 |
1 |
3 |
0 |
0 |
1 |
1 |
1 |
1 |
4 |
0 |
1 |
0 |
0 |
0 |
1 |
5 |
0 |
1 |
0 |
1 |
1 |
0 |
6 |
0 |
1 |
1 |
0 |
1 |
0 |
7 |
0 |
1 |
1 |
1 |
1 |
1 |
8 |
1 |
0 |
0 |
0 |
1 |
1 |
9 |
1 |
0 |
0 |
1 |
1 |
1 |
Для реализации цифрового комбинационного устройства по таблице истинности при помощи логических элементов "ИЛИ" (СКНФ) достаточно рассмотреть только те строки таблицы истинности, которые содержат логические "0" в выходном сигнале. Строки, содержащие в выходном сигнале логическую "1" в построении логического выражения, а, следовательно, и принципиальной схемы цифрового устройства не участвуют. Каждая строка, содержащая в выходном сигнале логический "0", реализуется схемой логического элемента "ИЛИ" с количеством входов, совпадающим с количеством входных сигналов в таблице истинности.
Для построения схемы, реализующей сигнал Out0, достаточно рассмотреть строки, выделенные курсивом. В рассматриваемой таблице истинности имеются всего две строки, содержащие логический ноль в выходном сигнале a, поэтому в формуле СКНФ будет содержаться две суммы входных сигналов:
Входные сигналы, описанные в таблице истинности логическим нулём, подаются на вход этой схемы непосредственно, а входные сигналы, описанные в таблице истинности логической единицей, подаются на логического элемента "ИЛИ" через инверторы. Объединение сигналов с выходов схем "ИЛИ", реализующих отдельные строки таблицы истинности, производится при помощи схемы логического элемента "И". Количество входов в схеме "И" определяется количеством строк в таблице истинности, в которых в выходном сигнале присутствует логическая единица.
Полученная формула в схеме на рисунке 9 реализуются микросхемой D2.
Для построения схемы, реализующей сигнал b, достаточно рассмотреть строки, выделенные жирным шрифтом. Эти строки в схеме на рисунке реализуются микросхемой D3. Принцип построения этой схемы не отличается от примера, рассмотренного выше. В таблице истинности присутствуют всего две строки, содержащие ноль в выходном сигнале b, поэтому в формуле СКНФ выхода b будет содержаться две суммы входных сигналов:
Комбинированные цифровые схемы. Декодер. Десятичный дешифратор
Декодеры (дешифраторы) позволяют преобразовывать одни виды бинарных кодов в другие. Например, преобразовывать позиционный двоичный код в линейный восьмеричный или шестнадцатеричный. Преобразование производится по правилам, описанным в таблицах истинности, поэтому построение дешифраторов не представляет трудностей.
Рассмотрим пример построения дешифратора (декодера) из двоичного кода в десятичный. Десятичный код обычно отображается одним битом на одну десятичную цифру. Это классический пример, иллюстрирующий, что нулями и единицами описываются не только двоичные коды. В десятичном коде десять цифр, поэтому для отображения одного десятичного разряда требуется десять выходов дешифратора. Около каждого разряда десятичного кода подписана десятичная цифра, которую отображает логическая единица в этом разряде. Сигнал с этих выводов дешифратора можно подать на десятичный индикатор. В простейшем случае над светодиодом можно просто подписать индицируемую цифру. На входе дешифратора двоичный код записывается в соответствии с правилами двоичной системы счисления. Таблица истинности десятичного декодера приведена в таблице 1.
Таблица 1. Таблица истинности десятичного декодера.
№ |
Входы |
Выходы | |||||||||||||
|
8 |
4 |
2 |
1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 | |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 | |
2 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 | |
3 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 | |
4 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 | |
5 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 | |
6 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 | |
7 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 | |
8 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 | |
9 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
В соответствии с принципами построения схемы по произвольной таблице истинности получим схему декодера, реализующего таблицу истинности, приведённую в таблице 1. Эта схема приведена на рисунке 1.
Рисунок 1. Принципиальная схема двоично-десятичного дешифратора (декодера)
Как видно на этой схеме для реализации каждой строки таблицы истинности потребовалась схема "4И". Схема "ИЛИ" не потребовалась, так как в таблице истинности на каждом выходе присутствует только одна единица.
Дешифраторы выпускаются в виде отдельных микросхем или используются в составе других микросхем. В настоящее время десятичные или восьмеричные дешифраторы используются в основном как составная часть других микросхем, таких как мультиплексоры, демультиплексоры, ПЗУ или ОЗУ.
Условно-графическое обозначение микросхемы дешифратора на принципиальных схемах приведено на рисунке 2. На этом рисунке приведено обозначение двоично-десятичного дешифратора, полная внутренняя принципиальная принципиальная схема которого изображена на рисунке 1.
Рисунок 2. Условно-графическое обозначение двоично-десятичного дешифратора