Таблица истинности

Мы уже определили функционал схемы на словах: преобразование входного сигнала в сигналы для управления сегментным индикатором. Как описать данный функционал более строго?

Здесь на помощь приходит математическая логика. Математическая логика утверждает что и отдельные логические операции, и целые логические функции могут быть описаны с помощью таблиц, в которых сопоставляются входные значения и результат функции. В каждой строке такой таблицы записывается набор значений подаваемых на вход логической функции и результат соответствующий этому набору значений. Для полного описания функции с помощью таблицы необходимо перебрать все возможные наборы входных значений.

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

Так как наша схема работает с двоичными сигналами «0» и «1», то и работать мы будем с функциями, которые применимы для двоичной логики. В качестве примера рассмотрим описание в виде таблицы истинности элементарной логической функции, состоящей всего из одной операции «ИЛИ». У этой функции всего два входа, каждый из которых может принимать одно из двух значений: «0» или «1». Число наборов входных значений в этом случае будет равняться двум во второй степени: число доступных значений входа в степени равной числу входов. Таким образом таблица истинности для «ИЛИ» будет содержать всего четыре строки. Она приводится ниже.

ABY
000
011
101
111

В таблице столбцы «A» и «B» обозначают входы функции, а столбец Y ее выход.

По таблице хорошо видно, что функция «ИЛИ» выдает на своем выходе единицу в том случае, когда хотя бы на один из ее входов приходит единица. В этом предложении раскрывается суть функции: как она преобразует входные сигналы в выходные. По такому словесному описанию также легко построить и таблицу истинности. С текущим описанием нашей схемы этот номер не пройдет, так как в нем не говорится какие сигналы функция должна выдавать для отдельных наборов входных значений. Под вопросом и число выходов, как представить функцию возвращающую сразу восемь значений?

Схему возвращающую восемь различных значений для одного набора входных сигналов можно описать как восемь независимых логических функций, каждая из которых будет возвращать результат для одного выхода.

Напоминаю что для отображения каждой десятичной цифры требуется свой уникальный набор сегментов. Изображения этих цифр с указанием соответствующих двоичных кодов приводятся на следующем рисунке.

ПЛИС Altera КС Рис 4 segments digits Oasistek TOS-5161AMR-N

Опираясь на данный рисунок можно составить таблицу истинности для каждого сегмента индикатора. Для этого выбираем конкретный сегмент, например «A» и смотрим для каких наборов четырехбитных значений он включен, то есть на соответствующий ему выход выдается значение «единица». А для каких — выключен. Полученные наборы входных и выходных сигналов записываем в виде таблицы истинности.

Таблица истинности для сегмента «A» приведена ниже.

ЧислоI3I2I1I0Sa
000001
100010
200101
300111
401000
501011
601101
701111
810001
910011

Таблица истинности содержит всего десять строк — по одной для каждого двоичного представления десятичных чисел от 0 до 9. Четыре столбца I3-I0 — это соответствующие биты входного четырехбитного сигнала. Столбец Sa – это выход схемы подключенный к сегменту «A» семисегментного индикатора.

Здесь необходимо вспомнить, что с помощью четырех бит можно записать шестнадцать различных двоичных чисел, каждое из которых будет соответствовать десятичным числам от 0 до 15. Какие сигналы подавать на индикатор для чисел больше 9? Предлагаю ничего не выводить на индикатор в этом случае. То есть, для любых чисел больше 9 на все сегменты индикатора будем подавать нулевой сигнал. Тогда таблицу истинности для сегмента «A» нужно переписать с учетом всех возможных комбинаций входных сигналов.

ЧислоI3I2I1I0Sa
000001
100010
200101
300111
401000
501011
601101
701111
810001
910011
1010100
1110110
1211000
1311010
1411100
1511110

Таким образом полностью описана логическая функция управления сегментом «A» семисегментного индикатора. Сегмент «A» должен быть выключен при выводе цифр один, четыре и всех чисел больше 9. Во всех остальных случаях сегмент будет включен.

Аналогично описываются функции управления остальными сегментами индикатора. Можно составить еще семь различных таблиц истинности, но так как все они будут отличаться лишь выходными значениями, то можно свести их в одну общую таблицу. В этой таблице будет шестнадцать строк, по числу всевозможных наборов входных значений. Тринадцать столбцов — четыре столбца входных значений, плюс восемь выходов и необязательный столбец с десятичными числами. Обобщенная таблица истинности дешифратора сегментного индикатора приводится ниже.

ЧислоI3I2I1I0SaSbScSdSeSfSgDP
0000011111100
1000101100000
2001011011010
3001111110010
4010001100110
5010110110110
6011010111111
7011111100000
8100011111110
9100111110111
10101000000000
11101100000000
12110000000000
13110100000000
14111000000000
15111100000000

Изменено: