Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пидорская методичка коршунова.doc
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
291 Кб
Скачать
☆

Тема 2. Построение и моделирование логических схем

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

Пусть дана таблица истинности для какой-то функции трёх переменных (здесь для экономии места таблица разбита на две части, размещённые рядом):

A

B

C

F

A

B

C

F

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

1

1

1

0

0

1

1

0

1

0

1

0

0

1

0

Мы видим, что столбец F заполнен нулями и единицами, в этом наборе оказалось три единицы, все остальные – нули. Откуда взялись эти данные? Они определяются постановкой задачи на разработку конкретного цифрового устройства. Сейчас наша цель – перейти от таблицы к формуле.

Делается это очень просто. Для каждой строки таблицы, содержащей 1 в столбце F, следует выписать так называемую элементарную конъюнкцию трёх входных переменных. Переменные A, B, C соединяем знаком конъюнкции (то есть попросту пишем переменные рядом, как при операции умножения) и затем ставим знак инверсии (черту над буквой) там, где во входном наборе переменных стоит ноль, и оставляем без инверсии там, где стоит единица:

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

Выражение, которое у нас получилось, носит название совершенная дизъюнктивная нормальная форма (сокращённо СДНФ). Это и есть искомое представление логической функции в виде формулы. СДНФ всегда содержит ровно столько слагаемых, сколько единиц в таблице истинности; каждое слагаемое содержит обязательно все переменные, причём каждая из них входит в формулу либо непосредственно, либо в виде инверсии.

Существуют также представления логической функции в виде ДНФ (дизъюнктивных нормальных форм, без слова «совершенный»), когда каждое слагаемое содержит не обязательно все переменные.

Следующий шаг – это переход от СДНФ к логической схеме.

Стандартный вид логической схемы, построенной по СДНФ (и вообще любой ДНФ) – это так называемая трёхъярусная структура. В первом ярусе схемы располагаются инверторы (в нашем случае 555LN1); их количество не превосходит количества переменных-аргументов функции, Второй ярус образуют конъюнкторы (в нашем случае 555LI3); их число равно количеству слагаемых (элементарных конъюнкций). Наконец, третий ярус – это дизъюнктор, вырабатывающий выходной сигнал функции:

При построении этой схемы было учтено, что в учебной библиотеке логических элементов TTL.SLB системы PCAD нет, к сожалению, дизъюнктора с тремя входами, поэтому в третьем ярусе применено каскадное включение двух дизъюнкторов с двумя входами каждый (а именно 555LL1).

Схема построена. Уже в таком виде её можно моделировать в системе PCAD, хотя в дальнейшем мы будем подвергать её существенной доработке. Работа с этой системой описана в отдельном пособии, кроме того, самые необходимые сведения будут приведены ниже. Мы будем предполагать, что исходный файл со схемой, построенный в программе-редакторе схем PCCAPS, имеет имя F31.SCH, из которого после обработки программами PCNODES и PRESIM получился файл F31.NET.

Рекомендуем использовать следующее содержимое CMD-файла:

LOAD F31.NET

CYCLE 10

GEN [0 0] A (S0/4 S1/4)

GEN [0 0] B (S0/2 S1/2)

GEN [0 0] C (S0/1 S1/1)

PROBE A B C F

DISPLAY 1

SIM 25

Переменная A, как следует из таблицы истинности, изменяется медленнее всего (в её столбце идут сверху вниз сначала четыре нуля, затем четыре единицы), а переменная C – быстрее всего (0-1-0-1…). Исходя из этого и были выбраны параметры (длительность периода нуля – s0 и периода единицы – s1) в командах GEN.

Рассматривая временную диаграмму, построенную программой PCLOGS в результате обработки этого файла, мы должны убедиться, что она (диаграмма) полностью соответствует заданной таблице истинности. Если это не так, придётся искать ошибку в схеме или командном файле.