Закодируем аргументы следующим образом:
x | n1 | n2 |
Откуда следует, что для записи и передачи любого троичного переменного необходимо использовать две двоичные переменные v1, v2. При этом функции Y i(x) будут кодироваться следующим образом: Yi’, Yi’’ по 2-м выходам соответственно.
x | n1 | n2 | Y0’ | Y0’’ | Y1’ | Y1’’ | Y2’ | Y2’’ |
0 | 1 | |||||||
0 | 1 | |||||||
0 | 1 | |||||||
* | * | * | * | * | * | * |
Удобно доопределить Y i’ на наборе <1,1> нулями, тогда получим
Y0’ = Y1’ = Y2’ = 0; Y0’’ = Øn1 & Øn2; Y1’’ = Øn1 & n2; Y2’’ = n1 & Øn2.
Один из способов моделирования трехзначной логики заключается в создании функциональных элементов с тремя устойчивыми состояниями, то есть с квантованием сигнала по трем уровням, при этом принята следующая система аналогий:
· положительный потенциал - 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 |
* | * | * | * | ||||
* | * | * | * | ||||
* | * | * | * | ||||
* | * | * | * | ||||
* | * | * | * | ||||
* | * | * | * | ||||
* | * | * | * |
Таким образом, функцию 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 | * | * | * | v4 | |
Øv2 | * | * | v4 | ||
Øv2 | Øv4 |
Øv3 v3 v3 Øv3
|
|
Для того чтобы минимизировать слабо определенную функцию в карте Карно проставляют специальный знак, например, * в местах характерных наборам, на которых функция не определена, затем * меняют на 1 в тех клетках, прямоугольники составленные из которых уменьшили бы число конъюнкций, дизъюнкций и отрицаний. Сказанное позволяет записать:
f1 = v2 & v4 v v3 & Øv1 & Øv2 v Øv3 & Øv4 & v1.
Аналогично составляются функции f2, f3, f4. Схемная реализация функции f1 примет вид:
v1
v2
v3
v4
& & & &
&
& &
1
f1