Й.Янсен Курс цифровой электроники. Том 1. Основы цифровой электроники на ИС (1987) (1092081), страница 5
Текст из файла (страница 5)
Дискретная схемотехника и двоичное исчислении Знак аарананаг Долее гдг1 нет „гг Решение дананге у Х1В ВНЕШНЕЕ -,ен ногагеоеое Внешнее Внушреннее гнагенае днах ашощанан гогагеонае гнагенае гногение Входные переменные Логическое решение Отправляться ли на прогулку? дождь СВОБОДЕН, НЕТ НЕТ ЛА ЛА НЕТ ЛА НЕТ ЛА НЕТ НЕТ НЕТ ЛА Входные переменные Логическое решение Отправляться лн на прогулкуу СВОбОДЕН дОждь Рис. 1.10. Таблица истинности для задачи «прогулка», созданная на основе символического представления логической функции (функции И]. Если переменная ДОЖДЬ уже была в нашем распоряжении ранее (например, получилась из предшествующего отрицания), то знак отрицания на входе в блок функции И можно убрать, как это показано на рис.
1.10, из которого видно, что в обоих символических изображениях существует различие между внутренними и внешними логическими значениями. Если символическое изображение содержит один дополнительный символ внутри квадратной рамки (в данном случае на рис. 1.10 И), то это означает, что внутреннее логическое значение в как истинное, т. е.
ДА, так и ложное, т. е. НЕТ в на одном из входов-выходов совпадает с внешним логическим значением для рассматриваемого входа или выхода. Глава 1 Таким образом, здесь идет речь о тождественном отображении, т. е. то, что ИСТИННО снаружи, совпадает с ИСТИННО внутри, а то, что ЛОЖНО снаружи, совпадает с ЛОЖНО внутри.
Что же касается функции, то она, будучи написана дополнительными символами в этих примерах для И, является ИСТИННОИ", когда обе внутренние переменные, которые управляют этой функцией, являются ИСТИННЫМИ. Если некоторую внешнюю отрицательную логическую величину необходимо использовать в качестве внутренней логической величины, то на внешнем входе ей приписывают знак отрицания (рис. 1.10). На второй схеме (рис.
1.10) у внешнего входа располагается как раз такая переменная ДОЖДЪ и, как мы уже говорили выше, знак отрицания на входе можно опустить. Функцию НЕ (или функцию отрицания) мы отождествляем с функцией обращения или инверсии. На практикечасто используются такие названия этой функции, как отрицание, функция обращения, функция инверсии и функция НЕ, которые все имеют одинаковый смысл.
С точки зрения лингвистики это неверно, потому что в разговорной речи обращение или инверсия существенно отличаются от отрицания. Приписывание одного и того же смысла приведенным выше названиям функции происходит из-за связи логических понятий ИСТИННО и ЛОЖНО (или же ДА и НЕТ) с физическими параметрами (уровнями напряжения) в цифровой электронике, которые обозначаются как высокий Н (Ъ(дй) и низкий Ь (1оч). НЕТ является отрицанием для ДА, в то время как Ь является обращением (инверсией) для Н. При чисто теоретическом проектировании логических схем с помощью предназначенных для этой цели символов функций, когда не имеется в виду получение практического результата„ можно использовать только отрицание. Когда же от логического проектирования потребовалось получить практические результаты в виде реальных цифровых схем, стали использовать также и функцию обращения, т.
е. схему, которая обращает 1. в О и Π— в Т.. Здесь !. и Н являются логическими уровнями напряжения, с которыми имеет дело цифровая электроника. В гл. 2 мы еще вернемся к этой проблеме. Здесь же наиболее существенно то, что мы установили связь между житейскими понятиями и логическими функциями. И если мы даже говорим о логических схемах (пусть в форме примеров), то они в точности воспроизводят теоретические логические схемы. Тем не менее здесь было бы неправильно говорить уже о функции отрицания.
В практической схеме термин «обращение» означает, что мы можем заменить, как уже говорилось выше, Н на !. и Т. на Н. Дискретная схемотехники и двоичное исчисление 27 С отрицанием дело обстоит сложнее. Пусть А является отрицанием для А, будет ли А также отрицанием для А? Специалисты по логике, которые ответственно подходят к разработке теоретических логических схем, утверждают, что это не всегда имеет место, однако мы склонны предполагать, что так все же можно считать.
Например, запрет «Не ставить автомобиль на стоянку» сохраняет смысл и после отрицания. «Принципиальные» разработчики, однако же, считают, что только отрицание А приведет к А (НЕ-А), обратное же верно не всегда'>. Если это утверждение справедливо, то нужно учитывать и последствия, вытекающие отсюда для логических символов, а именно что знак отрицания можно ставить только на входе в функциональный блок, а не на выходе из него, как это следует из рис. 1.11, где приведены две произвольные логические схемы, реализующие одну и ту же функцию. На рис. 1.11, а знак отрицания помещен на входах, а на рис. 1.11, б это пытались сделать на выходах функциональных блоков.
К сожалению, для примера на рис. 1.11,б попытка не удалась. На рис. 1.11, б для переменной Р осуществлен переход направо из .0 в Р, который делает неизбежным появление знака отрицания на входе в соответствующий функциональный элемент ИЛИ. Однако отрицание .0 с переходом в Р противоречит правилам. Вторую схему гораздо удобнее использовать при проектировании, чем практические схемы, под которыми подразумеваются схемы, аналогичные описанным в следующем разделе.
Схему на рис. 1.11,б можно почти полностью реализовать на практике и для этого нужно только обратить Р с помощью схемы НЕ по методу, который мы рассмотрим в гл. 2. Более подробно эти вопросы мы здесь ме обсуждаем. Отвечая на вопрос, какие обозначения переменных можно использовать, мы замечаем, что в схеме на рис. 1.11, а черта отрицания во внешних связях между символами не появляется и подразумевается, что она имеется внутри соответствующих " Разберем более подробно пример со стоянкой автомобиля. Пусть исходным утверждением является «автомобиль можно ставить на стоянку», и вы пользуетесь этой стоянкой. Затем вышел запрет «ставить автомобиль на сто.янку нельзя» (отрнцание исходного утверждения).
Через некоторое время вновь появляется разрешение ставить автомобиль на стоянку (отрицание отрицания]. Узнав об этом, вы едете на стоянку и обнаруживаете, что все мес~а уже заняты, т. е. по-прежнему, несмотря на разрешение, вам поставить автомобияь на стоянку нельзя. В этом случае вам безразлично, существует запрет пли нет. Нечто похожее в принципе может иметь место и в логических схемах.
В результате повторного отрицания может образоваться нереализуемое при Работе схемы состояние. Такие состояния при проектировании игнорируются и вместо них используют другие состояния, исходя из простоты проектировампя. В результате может оказаться, что а~А.
— Прил. дед. 28 Глава 1 Унс. 1Л!. Пример логической схемы. Два варианта логической схемы представ- ляют одну и ту же сложную функцию. о — со лианами отрицания на входе в функциональный блок; б — со знакамн отрицания, разнеженными ло возможности ва выходах функциональных блоков. Здесь также воявляется вкод, который снабжается знаком отрицания.
функциональных блоков. В схеме на рис. !.11,б, наоборот, на входах и выходах блоков мы находим переменные как с чертой отрицания, так и без нее. Отсюда понятно, что различия в правилах использования теоретических и практических логических схем, так же как н действие символов, указанных на этих схемах, для профессионала-схемотехника довольно запутанны, поэтомунеудивительно, что он не делает различия между отрицанием и «обращением» и, следовательно, употребляет наравне термины «обращение» н «инверсия», тем более что функция НЕ также используется для того, чтобы согласовать между собой логические уровни напряжения. К этим проблемам согласования понятий в случае напряжений низкого и высокого уровней мы еще вернемся в гл.
2. Для проектирования теоретических и практических логиче- ских схем разработаны указания, которые изданы Междуна- Дискретная схемотехника и двоичное исчисление родной Электротехнической Комиссией и были приняты после. тщательных и длительных исследований, выполненных рабочей, группой, образованной из специалистов — представителей нескольких стран. В соответствии с этими указаниями в теоретических и практических (электронных) схемах следует использовать разные символы, что облегчает понимание соответствующих схем.
Эти символы также обсуждаются в гл. 2. 1.3. Функции И-НЕ и ИЛИ-НЕ В предыдущем разделе было показано, что комбинаторные функции, состоящие из функций И и НЕ, а также ИЛИ в НЕ, описываются функциями И-НЕ и ИЛИ-НЕ соответственно. Среди логических решений, которые мы принимаем ежедневно, часто встречаются такие, когда для всех входных переменных со значением ДА результатом оказывается решение. НЕТ (функция И-НЕ). Например, нам нужно принять решение о покупке велосипеда. Если старый велосипед еще «на ходу» и его шины хорошие„ решение о покупке нового велосипеда может оказаться отрицательным, т.
е. НЕТ. Таким образом, здесь мы имеем две входные переменные со значением ДА, однако в результате приходим к отрицательному решению НЕТ. Как уже говорилось выше, в цифровой логике нам известна функция инверсии (обращения, отрицания), которая обозначается с помощью маленького кружка на входе или выходе соответствующего логического символа. Если этот кружок появится после символа функции И или ИЛИ, как показано на рис. 1.11,б, то такой символ с кружком будет обозначать теперь.
функцию И-НЕ или ИЛИ-НЕ соответственно. 1.4. Функции запоминания. Методы кодирования (шифрации) информации С помощью рассмотренных выше логических функций И, ИЛИ, НЕ образуются входные переменные, которые мы вызываем из нашего личного запоминающего устройства (ЗУ), т.