Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 89
Текст из файла (страница 89)
Практическая разработка схем комбинационной логики Таким образом, в изображении входов и выходов вентилей и больших логических схем может содержаться информация об активном уровне сигнала. Кружок инверсии используется для того, чтобы показать, что сигнал на данном выводе имеет низкий активный уровень, а отсутствие кружка у вывода говорит о том, что активным является высокийуровеиьсигнала. Например,схемаИ, приведеннаяна рис. 5.6(а), реализует логическую функцию И для двух входных сигналов с высоким активным уровнем и формирует на выходе сигнал с высоким активным уровнем: если на обоих входах присутствуют 1, то ва выходе тоже появляется 1. Схема И- НЕ, изображенная на рис.
5.6(Ь), также реализует функцию И, но на ее выходе сигнал имеет низкий активный уровень. Даже схемы ИЛИ-НЕ или ИЛИ можно представить в виде схемы И, используя низкие активные уровни сигналов на входах и выходах, как показано ва рис. 5.6(с) и (д). Можно сказать, что все четыре схемы, приведенные на рисунке, реализуют одну и ту же функцию: сигнал присутствует на выходе каждой схемы, если он присутствует на обоих ее входах. На рис. 5 7 то же самое показано для функции ИЛИ: сигнал присутствует на выходе каждой схемы, если он присутствует хотя бы на одном из его входов.
(а) (Ь) (с) Рис. б.8. Четыре варианта реализации функции И: (а) схема И (74х08); (Ь) схема И-НЕ (74хОО); (с) схема ИЛИ-НЕ(74х02); (с() схема ИЛИ (74х32) (а) (с) (Ь) Рис. 8.7. Четыре варианта реализации функции ИЛИ: (а) схема ИЛИ (74х32); (Ь) схема ИЛИ-НЕ (74х02); (с) схема И-НЕ (74хОО); (б) схема И Иногда для увеличения коэффициента разветвления логического сигнала без изменения его функции используется ненввертируюший буфер. На рис. 5.8 показаны возможные условные обозначения инверторов и неинвертируюших буфе ров.
В терминах активных уровней все схемы, соответствующие приведенным условным обозначениям, реализуют в точности одну и ту же функцию; иа выходе каждой схемы сигнал присутствует только в том случае, когда присутствует сигнал навходе. (с) (а) (Ь) Рис. б 8. Варианты условных обозначений: (а, Ь) инверторы; (с, с1) неи нвертиру- ющие буферы 6.1. Стандартыдокумеитации 3 гм 5.1.5. Метод проектирования «инверсия к инверсии» Опытные разработчики логических устройств создают свои схемы на языке логических функций, которые должны выполнятся внутри символически изображенного блока. Проектируете ли вы на основе дискретных схем или с использованием языков описания схем, таких как А ВБ(.
и ЧНР1., щзоше всего представлять логические сигналы и их взаимодействие, пользуясь именами высоких активных уровней сигналов. Однако, как только схема готова к реализации, вам, вероятно, придется иметь дело с низкими активными уровнями сигналов из-затребований, предъявляемых внешним окружением.
Когда вы проектируете платы или специализированные ИС на уровне отдельных вентилей, часто главным требованием является быстродействие. Как было показано в разделе 3.3.6, инвертирующие вентили обычно быстрее, чем неинвертирующие, поэтому перевод некоторых сигналов в форму с низким активным уровнем часто приводит к существенному улучшению характеристик. Прн проектировании с применением крупных узлов многие из них могут содержать в своем составе микросхемы или другие компоненты, у которых на отдельных входах и выходах активным может быть низкий уровень сигнала.
Причины, по которым используется низкий активный уровень, могут быть разными: от улучшения характеристик до многолетних традиций, но в любом случае вам все же придется иметь с ним дело. Логическое проектирование по принципу «инверсия к инверсии» (ЬиЬЫвыо-ЬиЬЫ« (оягс ~йв(яп) представляет собой практику выбора таких условных обозначений и имев сигналов, включая указатели активного уровня, которые делают функцию, реализуемую логическойсхемойй, более понятной.
Обычно это означает выбор имени сигнала, типа вентиля и условного обозначения такими, чтобы большинство кружков инверсии «взаимно уничтвкилось» и логическая блок-схема могла быть проанализирована так, как если бы все сигналы имели высокий активный уровень. Предположим, например, что нам требуется сформировать сигнал пуска "60", когда при наличии сигнала готовности "ВЕАОУ' мы получаем сигнал запройа "ВЕС(1 ЕЗТ". Из постановки задачи ясно, что требуется схема И; на языке булевой алгебры мы бы записали: 60 = ВЕАОУ ВЕООЕЯТ. Однако для реализации функции И мы можем воспользоваться различными схемами в зависимости от необходимого активного уровня для сигнала 60 и активных уровней имеющихся входных сигналов.
, ИМЯ СИГНАЛА! Хотя абсолютно необходимо присваивать имена только сигналам, действующим на основных входах и выходах схемы, большинство разработчиков считают полезным давать имена также и внутренним сигналам. В процессе отладки схемы хорошо иметь имя для указания на странно ведущий себя внутренний сигнал. Большинство систем машинного проектирования автоматически генерируют метки лля неназванных сигналов, но имя, выбранное пользователем, предпочтительнее имени, создаваемого компьютером, например, такою: Х8101057. 380 Глава 5. Практическая разработка схем комбинационной логики На рис. 5.9(а) показан простейший случай, где сигнал 60 должен бытье высоким активным уровнем, так же как и имеющиеся входные сигналы; здесь мы применяем схему И.
С другой стороны, если устройство, на которое поступает сигнал 00, требует, чтобы на его входе был сигнал с низким активным уровнем ОО 1, то мы можем использовать схему И- НЕ, как показано на рис. 5 9(Ь). Если имеющиеся входные сигналы имеют низкий активный уровень, можно воспользоваться схемами ИЛИ- НЕ или ИЛИ, как показано на рис. 5 9(с) и (6). ЯЕАОУ НЕООЕЗТ (а) ЯЕАОУ ЯЕООЕБТ (Ь) НЕАОУ 1. ЯЕООЕЯТ 1. (с) НЕАОУ Ь ЯЕООЕВТ 1. (г)) Рис. 5.9.
Различные варианты формирования сигнала ОО: (а) высокие активные уровни сигналов на входах и на выходе; (Ь) высокие активные уровни сигналов на входах, низкий активный уровень сигнала на выходе; (с) низкие активные уровни сигналов на входах, высокий активный уровень сигнала на выходе; (г)) низкие активные уровни сигналов на входах и на выходе яехоу ь йесоезт Йехоу ь яесоезт (а) Рис. 5.
З О. Еще два варианта формирования сигнала ОО с разными активными уровнями входных сигналов: (а) вариант со схемой И; (Ь) вариант со схемой ИЛИ-НЕ Чтобы понять выгоду от применения метода проектирования по принципу «инверсия к инверсии», рассмотрим схему парис. 5.11(а). Что она делает? В параграфе 4.2 мы изучили несколько способов анализа такой схемы, и, конечно, могли Активные уровни имеющихся сигналов не всегда соответствуют активным уровням схем, которыми мы располагаем.
Предположим, например, что имеются входные сигналы Я ЕАОУ' Ь (низкий активный уровень) и ЯЕООЕВТ (высокий активный уровень). На рис.5.10 показаны два различных способа формирования сигнала 60 с использованием инверторадля образованияактивногоуровня, необходимогодлясхемы И. Второй вариант, как правило, предпочтительнее, поскольку инвертирующие вентили, подобные схеме ИЛИ-НЕ, обычно быстрее неинвертирующих, таких как схема И. В каждом случае мы изобразили инвертор по-разному, чтобы сделать активный уровень на его выходе соответствующим имени сигнала. 5.1.
Стандарты документации 381 бы получить логическое выражение для выхолного сигнала ОАТА, используя эти методы. Однако в случае, когда схема перерисована так, как показано на рис. 5.11(Ь), выходную функцию можно усмотреть непосредственно из схемы следующим образом: сигнал ОАТА появляется на выходе, когда активен сигнал АОАТА 1 нли сигнал ВОАТА (; если на вход АЗЕЬ подан сигнал активного уровня, то сигнал АРАТА (. активен только в том случае, когда активен сигнал А, то есть АОАТА 1 является копией А.
Когда сигнал АЗЕ(. принимает противоположное значение, активен сигнал ВЗЕ(. и сигнал ВОАТА ~является копией сигнала В. Другими словами, сигнал ОАТА является копией сигнала А, если активен сигнал АЗЕ(., и сигнал ОАТА является копией сигнала В, если сигнал АЗЕ1 не активен. Даже при том, что в схеме имеются пять символов инверсии, мысленно мы должны выполнить только одно отрицание, чтобы понять работу схемы, а именно, учесть, что сигнал ВЗ ЕЕ активен в отсутствие сигнала АЗЕ1 . (а) А ель ОАТА (Ь) А АЗЕЬ Рис.
5.11. 2-входовой мультиплексор (пока не предполагается, что вы знаете, что это такое): (а) загадочная принципиальная схема; (Ь) хорошая принципиальная схема, в которой указаны активные уровни сигналов и использованы соответствующие условные обозначения При желании можно записать алгебраическое выражение для выходного сигнала ОАТА. Используя методику из параграфа 4.2, мы просто составляем выражения, переходя от схемы к схеме в сторону выхода. При этом можно игнорировать пары символов инверсии, которые сокращаются, и прямо записать выражение, указанное на рисунке синим цветом.
На рис. 5.12 показан другой пример. Глядя непосредственно на схему, мы видим,чтосигнвлЕЫАВ~Е 1 активен, если активнысигнвлы ВЕАОУ 1 и ЯЕООЕЗТ 1. или сигнал ТЕЗТ. Выходной сигнал НА(Т активен, если оба сигнала ЯЕА(М (. и ЙЕООЕЗТ 1 неактивны или еслиактивен сигнал1ОСК 1. Еще раз, вэтом примере есть только одно место, где активный уровень на входе вентиля не соответствует уровню входного сигнала, н это отражено в словесном описании схемы. 382 Глава б.