- •Содержание
- •Тема 1. Логические функции. Булевский базис
- •Тема 2. Построение и моделирование логических схем
- •Тема 3. Методика работы в системе pcad
- •Тема 4. Минимизация (упрощение) логических функций
- •Тема 5. Дополнительные сведения о логических функциях
- •Тема 6. Пример реализации функции в инвертирующем базисе
- •Тема 7. Этапы построения логической схемы. Варианты заданий
- •Тема 8. Цифровые устройства без памяти
- •Тема 9, Цифровые устройства с памятью
Тема 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 в результате обработки этого файла, мы должны убедиться, что она (диаграмма) полностью соответствует заданной таблице истинности. Если это не так, придётся искать ошибку в схеме или командном файле.
