Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц_ИТ_1.doc
Скачиваний:
32
Добавлен:
26.11.2019
Размер:
1.41 Mб
Скачать

1.8. Двоичное кодирование переменных и функций трехзначной логики

Закодируем аргументы следующим образом:

x

1

2

0

0

0

1

0

1

2

1

0


Откуда следует, что для записи и передачи любого троичного переменного необходимо использовать две двоичные переменные v1, v2. При этом функции i(x) будут кодироваться следующим образом: i’, i’’ по 2-м выходам соответственно.

x

1

2

0

0’’

1

1’’

2

2’’

0

0

0

0

1

0

0

0

0

1

0

1

0

0

0

1

0

0

2

1

0

0

0

0

0

0

1

*

1

1

*

*

*

*

*

*

Удобно доопределить i’ на наборе <1,1> нулями, тогда получим

0’ = 1’ = 2’ = 0; 0’’ = 1 & 2; 1’’ = 1 & 2; 2’’ = 1 & 2.

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

  • положительный потенциал - 0;

  • нулевой потенциал - 1;

  • отрицательный потенциал - 2.

Практически, в полупроводниковых схемах для трехзначной функции справедливо:

  • положительным потенциалом считается потенциал >= 1.5В.

  • нулевым потенциалом считается потенциал по модулю <= 0.6В.

  • отрицательным - потенциал <=- 1.5 В.

Пример. Построить таблицу истинности для функций

X1 X2, X1 X2.

Закодировать в двоичной системе координат, представить СДНФ, минимизировать и построить для одной из выбранных функций комбинационную схему в базисе (&,V, ).

Решение.

X1

X2

X1 X2

X1 X2

V1

V2

V3

V4

f1

f2

f3

f4

0

0

0

0

0

0

0

0

0

0

0

1

0

1

0

0

0

0

1

0

1

0

0

0

0

0

1

1

*

*

*

*

0

1

0

0

0

1

0

0

0

1

0

1

1

0

0

1

0

1

1

0

0

0

1

0

0

1

1

1

*

*

*

*

1

0

0

0

1

0

0

0

1

0

0

1

0

0

1

0

1

0

1

0

0

1

0

1

1

0

1

1

*

*

*

*

1

1

0

0

*

*

*

*

1

1

0

1

*

*

*

*

1

1

1

0

*

*

*

*

1

1

1

1

*

*

*

*

Таким образом, функцию f( x1,x2 ) можно представить следующим образом:

f( x1,x2 ) = < f1 (v1,v2,v3,v4 ), f2 (v1,v2,v3,v4 ) > .

f1 = v1 v2 v3 v4 v v1 v2 v3 v4 v v1 v2 v3 v4,

f2 = v1 v2 v3 v4 v v1 v2 v3 v4 v v1 v2 v3 v4 .

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

v1 v1 v1 v1

V2

*

*

v4

V2

1

*

*

*

v4

v2

*

*

v4

v2

1

1

v4

v3 v3 v3 v3

Для того чтобы минимизировать слабо определенную функцию в карте Карно проставляют специальный знак, например, * в местах характерных наборам, на которых функция не определена, затем * меняют на 1 в тех клетках, прямоугольники составленные из которых уменьшили бы число конъюнкций, дизъюнкций и отрицаний. Сказанное позволяет записать:

f1 = v2 & v4 v v3 & v1 & v2 v v3 & v4 & v1.

Аналогично составляются функции f2, f3, f4. Схемная реализация функции f1 примет вид:

v 1

v 2

v 3

v 4

& & & &

&

& &

1

1

f1