Программирование логических схем, заданных полной таблицей истинности

ПРОГРАММИРОВАНИЕ ЛОГИЧЕСКИХ (РЕЛЕЙНЫХ) СХЕМ

Способ программирования логической схемы определяется способом математического описания работы этой схемы.

Программирование логических схем, заданных полной таблицей истинности

В таблице истинности всем наборам входных переменных ставится в соответствие набор выходных.

Входные переменные Выходные переменные
         
         
         
. . .   . . . . . .        
         

 

– входные переменные.

– выходные переменные.

Число строк в таблице .

- число входных переменных.

- число выходных переменных.

Для упрощения программирования максимальное число входных переменных не более разрядности шины адреса процессора .

Число выходных переменных не более разрядности шины данных процессора .

Входные переменные поступают на модуль ввода, который имеет конкретный физический адрес, заданный пользователем или изготовителем ( - адрес входных переменных), так же, как и модуль вывода .

1) В памяти записывается таблица значений выходных переменных для всех значений входных переменных в порядке возрастания.

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

Затраты памяти составляют

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

В общем случае блок-схема алгоритма программирования имеет следующий вид:

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

 

 

Программирование логических функций, заданных в совершенной дизъюнктивной нормальной форме (СДНФ)

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

Программирование заключается в следующем:

1) В памяти формируются 2 массива:

- Массив набора входных переменных , для которых выходные переменные ненулевые.

- Массив значений выходных переменных , соответствующий набору входных переменных.

2) Считанная с модуля ввода комбинация комбинация входных переменных проверяется на совпадение с первым массивом. Если совпадение найдено, то по его порядковому номеру определяется адрес строки выходных переменных. Если нет, то выходные переменные нулевые.

Исходными данными для составления программы являются:

Ø – адреса модулей ввода и вывода.

Ø – начальные адреса таблиц входных и выходных переменных.

Ø – регистр числа строк таблиц.

Ø – регистр числа операций сравнения.