2.1. Лекция. Проектирование комбинационной логики 1Введени 2Булевы уравнения
Скачать 2.3 Mb.
|
раздел 2.1 ), схемы приоритета (см. раздел 2.4 ) и дешифратор семисегментного индикатора (см. раздел 2.7 ). Этот раздел представляет два типа блоков, еще более часто используемых при проектировании: мультиплексоры и дешифраторы. В главе 5 будет рассказано и о других комбинационных «строительных блоках». 2.8.1 Мультиплексоры Мультиплексоры являются одними из наиболее часто используемых комбинационных схем. Они позволяют выбрать одно выходное значение из нескольких входных в зависимости от значения сигнала выбора. Двухвходовой мультиплексор (2:1) На Рис. 2.54 показано условное графическое обозначение и таблица истинности для двухвходового мультиплексора (2:1) с двумя входами данных D 0 и D 1 , входом выбора S и одним выходом Y. Мультиплексор Глава 2 Проектирование комбинационной логики 219 передает на выход один из двух входных сигналов данных, основываясь на сигнале выбора: если S = 0, выход Y = D 0 , и если S = 1, то выход Y = D 1 . S также называют управляющим сигналом, так как он управляет поведением мультиплексора. Двухвходовой мультиплексор может быть построен с использованием дизъюнкции конъюнкций (суммы произведений), как показано на Рис. 2.55 . Логическое выражение для него может быть получено с помощью карт Карно или составлено на основе описания (Y = 1 если S = 0 И D 0 = 1 ИЛИ если S =1 И D 1 = 1). Мультиплексор также может быть построен на буферах с третьим состоянием, как показано на Рис. 2.56 . Сигналы разрешения буферов с третьим состоянием организованы так, что все время активен только один буфер. Когда S = 0, то включен только элемент T0, позволяющий сигналу D 0 передаваться на выход Y. Когда S = 1, то активен только элемент T1, передавая на выход сигнал D 1 Глава 2 Проектирование комбинационной логики 220 Рис. 2.54 Условное обозначение и таблица истинности двухвходового мультиплексора Рис. 2.55 Реализация двухвходового мультиплексора с использованием двухуровневой логики Глава 2 Проектирование комбинационной логики 221 Рис. 2.56 Мультиплексор на буферах с тремя состояниями Строго говоря, соединение двух выходов логических элементов нарушает правила построения комбинационных схем, описанные в Разделе 2.1 . Однако в этом конкретном случае в любой момент времени только один из этих элементов может подавать сигнал на выход Y, так что такое исключение из правил допустимо. Глава 2 Проектирование комбинационной логики 222 Многовходовые мультиплексоры Четырехвходовой мультиплексор (4:1) имеет четыре входа данных и один выход, как показано на Рис. 2.57 . Для выбора одного из четырех входов данных требуется двухразрядный управляющий сигнал. Четырехвходовой мультиплексор может быть построен с использованием дизъюнкции конъюнкций (суммы произведений), буферов с тремя состояниями или двухвходовых мультиплексоров, как показано на Рис. 2.58 Конъюнкции, подключенные к сигналам разрешения работы буферов с тремя состояниями, могут быть построены с использованием элементов И и инверторов. Они также могут быть сформированы дешифратором, который мы рассмотрим в разделе 2.8.2 Мультиплексоры с большим числом входов, например восьмивходовые или шестнадцативходовые, могут быть построены простым масштабированием методов, показанных на Рис. 2.58 . В общем случае, мультиплексор N:1 требует log 2 N управляющих сигналов. Выбор наилучшей реализации, как и прежде, зависит от используемой технологии. Рис. 2.57 Четырехвходовой мультиплексор Глава 2 Проектирование комбинационной логики 223 Рис. 2.58 Реализация четырехвходового мультиплексора: двухуровневая логика (a), буфера с тремя состояниями (b), иерархическая (c) Глава 2 Проектирование комбинационной логики 224 Логика на мультиплексорах Мультиплексоры могут использоваться как таблицы преобразования (lookup tables) для выполнения логических функций. На Рис. 2.59 показан четырехвходовой мультиплексор, используемый для реализации двухвходового элемента И. Входы A и B служат управляющими линиями. Входы данных мультиплексора подключены к 0 и 1 согласно соответствующей строке таблицы истинности. Вообще, 2 N -входовой мультиплексор можно запрограммировать для выполнения любой N-входовой логической функции, используя 0 и 1 для соответствующих входов данных. Действительно, изменением входных данных мультиплексор может быть перепрограммирован для выполнения различных функций. Немного смекалки, и мы сможем уменьшить размер мультиплексора наполовину, используя только 2 N-1 -входовой мультиплексор для выполнения любой N-входовой логической функции. Способ заключается в том, чтобы подать один из литералов, так же как 0 и 1, на вход данных мультиплексора. Рис. 2.59 Получение двухвходового элемента И из четырехвходового мультиплексора Глава 2 Проектирование комбинационной логики 225 Для иллюстрации этого принципа на Рис. 2.60 показаны функции двухвходовых элементов И и ИСКЛЮЧАЮЩЕЕ ИЛИ, реализованных на двухвходовых мультиплексорах. Мы начали с обычной таблицы истинности и затем скомбинировали пары строк, чтобы исключить самую правую входную переменную (B), и выразить выход в термах этой переменной. Например, в случае элемента И, когда A = 0, то Y = 0 вне зависимости от B. Когда A = 1, то Y = 0, если B = 0, и Y = 1, если B = 1, так что Y = B. Затем мы используем мультиплексор как таблицу подстановки согласно этой новой уменьшенной таблице истинности. Рис. 2.60 Реализация логических функций на мультиплексорах Глава 2 Проектирование комбинационной логики 226 Пример 2.12 ЛОГИКА С МУЛЬТИПЛЕКСОРАМИ Алисе Хакер необходимо реализовать функцию Y = AB¯ + B¯ C¯ + A¯ BC для завершения ее курсового проекта. Когда она посмотрела, какие микросхемы доступны ей в лаборатории, то увидела, что там остался только восьмивходовой мультиплексор. Как ей реализовать эту функцию? Решение: На Рис. 2.61 показана схема, разработанная Алисой с использованием одного восьмивходового мультиплексора. Этот мультиплексор выступает в роли таблицы преобразования, где каждая строка таблицы истинности соответствует входу мультиплексора. Рис. 2.61 Схема Алисы: таблица истинности (a), реализация на восьмивходовом мультиплексоре (b) Глава 2 Проектирование комбинационной логики 227 Пример 2.13 ЛОГИКА С МУЛЬТИПЛЕКСОРАМИ, ПОВТОРЕНИЕ Алиса еще раз включила свою схему перед защитой проекта и сожгла единственный восьмивходовой мультиплексор (она случайно подала напряжение 20 В вместо 5 В после бессонной ночи). Теперь она просит у своих друзей запасные элементы, и ей дают четырехвходовой мультиплексор и инвертор. Сможет ли она собрать свою схему, используя только эти элементы? Решение: Алиса уменьшила свою таблицу истинности до четырех строк, сделав выход зависящим от C. (Она могла бы также исключить любой из двух других столбцов таблицы истинности, сделав выход зависимым от A или B). Новая схема показана на Рис. 2.62 Рис. 2.62 Новая схема Алисы Глава 2 Проектирование комбинационной логики 228 2.8.2 Дешифраторы В общем случае у дешифратора имеется N входов и 2 N выходов. Он выдает единицу строго на один из выходов в зависимости от набора входных значений. На Рис. 2.63 показан дешифратор 2:4. Когда A[1:0] = 00, Y 0 = 1. Когда A[1:0] = 01, Y 1 = 1 и так далее. Выходы образуют прямой унитарный код (one-hot code), называемый так потому, что в любое время только один из выходов может принимать высокий уровень. Рис. 2.63 Дешифратор 2:4 Глава 2 Проектирование комбинационной логики 229 Пример 2.14 РЕАЛИЗАЦИЯ ДЕШИФРАТОРА Реализуйте дешифратор 2:4 на элементах И, ИЛИ и НЕ. Решение: На Рис. 2.64 показана реализация дешифратора 2:4, использующая 4 элемента И. Каждый элемент зависит или от действительной, или от комплементарной формы каждого входа. Вообще, дешифратор N:2 N может быть построен из 2 N N-входовых элементов И, к которым подходят различные комбинации действительных и комплементарных входов. Каждый выход в дешифраторе представляет собой одиночный минтерм. Например, Y 3 представляет минтерм A¯ 1 A¯ 0 . Это обстоятельство будет удобно при использовании дешифратора с другими цифровыми базовыми блоками. Рис. 2.64 Реализация дешифратора 2:4 Глава 2 Проектирование комбинационной логики 230 Логика на дешифраторах Дешифратор может комбинироваться с элементами ИЛИ для построения логических функций. На Рис. 2.65 показана двухвходовая функция ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ (XNOR), использующая дешифратор 2:4 и один элемент ИЛИ. Поскольку каждый выход дешифратора представляет одиночный минтерм, функция построена как логическое ИЛИ всех минтермов в этой функции. На Рис. 2.65 показана функция. При использовании дешифраторов для реализации логических функций, проще всего выразить функцию таблицей истинности или записать ее в дизъюнктивной нормальной форме. N-входовая функция, имеющая M единиц в таблице истинности, может быть построена с использованием N:2 N дешифратора и M-входового элемента ИЛИ, подключенным ко всем минтермам, содержащим единицу в таблице истинности. Эта идея будет применена для создания постоянного запоминающего устройства (ПЗУ) в разделе 5.5.6 Рис. 2.65 Реализация логической функции на дешифраторе Глава 2 Проектирование комбинационной логики 231 2.9 ВРЕМЕННЫЕ ХАРАКТЕРИСТИКИ В предыдущих разделах мы концентрировались в первую очередь на работе схемы, в идеале использующей наименьшее число элементов. Однако, как подтвердит любой опытный разработчик, одна из самых сложных задач в разработке схем – это учет всех ограничений, накладываемых на временные характеристики работы схемы, ведь хорошая схема должна работать предельно быстро и при этом без сбоев. Изменение выходного значения в ответ на изменение входа занимает время. На Рис. 2.66 показана задержка между изменением входа буфера и последующим изменением его выхода. Этот рисунок называется временной диаграммой; он изображает переходную характеристику схемы буфера при изменении входа. Переход от НИЗКОГО уровня к ВЫСОКОМУ называется положительным перепадом или фронтом. Аналогично, переход от ВЫСОКОГО уровня к НИЗКОМУ (на рисунке не показан) называется соответственно отрицательным перепадом или срезом. Синяя стрелка показывает, что положительный фронт сигнала Y вызывается положительным фронтом сигнала A. Величина задержки измеряется от момента времени, когда входной сигнал А достигает уровня 50%, до момента достижения уровня 50% выходным сигналом Y. Уровень 50% – это точка, в которой Глава 2 Проектирование комбинационной логики 232 сигнал находится ровно посередине между НИЗКИМ и ВЫСОКИМ логическими уровнями. Рис. 2.66 Задержка схемы 2.9.1 Задержка распространения и задержка реакции Когда разработчики говорят о задержке схемы, они в большинстве случаев имеют в виду наибольшее возможное значение задержки (задержку распространения), если только из контекста не следует другое. Комбинационная логика характеризуется задержкой распространения (propagation delay) и задержкой реакции, или отклика (contamination delay). Задержка распространения t pd – это максимальное время от начала изменения входа до момента, когда все выходы достигнут Глава 2 Проектирование комбинационной логики 233 установившихся значений. Задержка реакции t cd – это минимальное время от момента, когда вход изменился, до момента, когда любой из выходов начнет изменять свое значение. На Рис. 2.67 синим и серым цветом показаны соответственно задержки распространения и задержка реакции буфера. На рисунке показано, что вход A изначально имел или ВЫСОКОЕ, или НИЗКОЕ значение, и оно изменяется на противоположное в определенный момент времени; нас интересует только факт, что оно (значение A) изменилось, но не его конкретное значение. В ответ, спустя некоторое время, меняется Y. Стрелки показывают, что Y может начать меняться через временной интервал t cd после изменения A, и что Y точно установится в новое значение не позднее, чем через интервал t pd Рис. 2.67 Задержка распространения и задержка реакции Глава 2 Проектирование комбинационной логики 234 Основные причины задержек в схемах заключаются во времени, требуемом для перезарядки емкостей цепи, а так же в конечной скорости распространения электромагнитных волн в среде. Величины t pd и t cd могут различаться по многим причинам, включающим в себя: Разные задержки нарастания и спада сигнала; Несколько входов и выходов, одни из которых быстрее чем другие; Замедление работы схемы при повышении температуры и ускорение при охлаждении. Вычисление t pd и t cd требует вникания в нижние уровни абстракций, что выходит за рамки этой книги. Однако, производители обычно предоставляют документацию со спецификацией этих задержек для каждого элемента. Задержки в схемах обычно составляют от нескольких пикосекунд (1 пс = 10 -12 с) до нескольких наносекунд (1 нс = 10 -9 с). За то время, что вы читали это замечание, прошло несколько триллионов пикосекунд. Наряду с уже перечисленными факторами, задержки распространения и реакции также определяются путем, который проходит сигнал от входа до выхода. На Рис. 2.68 показана четырехвходовая схема. Критический путь (critical path), выделенный синим – это путь от входа A или B до выхода Y. Он соответствует цепи с наибольшей задержкой и Глава 2 Проектирование комбинационной логики 235 является самым медленным, поскольку входному сигналу нужно пройти три элемента до выхода. Этот путь критический потому, что он ограничивает скорость, с которой работает схема. Самый короткий путь в схеме, показанный серым – путь от входа D до выхода Y. Это кратчайший и, следовательно, самый быстрый путь в схеме, т.к. входному сигналу до выхода нужно пройти только через один элемент. Рис. 2.68 Кратчайшая цепь и цепь с наибольшей задержкой Задержка распространения комбинационной схемы – это сумма задержек распространения всех элементов в критическом пути. Задержка реакции – сумма задержек реакции всех элементов в кратчайшем пути. Эти задержки показаны на Рис. 2.69 и описаны следующими уравнениями: Глава 2 Проектирование комбинационной логики 236 t pd = 2t pd_AND + t pd_OR (2.8) t cd = t cd_AND (2.9) Рис. 2.69 Временные диаграммы для кратчайшей цепи и цепи с наибольшей задержкой Глава 2 Проектирование комбинационной логики 237 Несмотря на то, что мы проигнорировали задержку распространения сигналов по проводам, цифровые схемы на сегодняшний день настолько быстры, что эта задержка может превышать задержку в логических элементах. Связанная со скоростью света задержка распространения сигналов в проводах будет рассмотрена ниже (см. Приложение A ). Пример 2.15 НАХОЖДЕНИЕ ЗАДЕРЖЕК Бену надо найти задержки распространения и отклика схемы, показанной на Рис. 2.70 . Согласно справочнику каждый элемент имеет задержку распространения 100 пикосекунд (пс) и задержку отклика 60 пс. Решение: Бен начал с нахождения критического и кратчайшего путей в схеме. Критический путь, выделенный на Рис. 2.71 синим – это путь от входа A или B через три элемента до выхода Y. Следовательно, t pd – это утроенная задержка распространения одиночного элемента или 300 пс. Кратчайший путь, выделенный на Рис. 2.72 серым – это путь от входов C, D или E через два элемента до выхода Y. В кратчайшем пути только два элемента, так что t cd равно 120 пс. Глава 2 Проектирование комбинационной логики 238 Рис. 2.70 Схема Бена Рис. 2.71 Цепь с наибольшей задержкой Рис. 2.72 Кратчайшая цепь Пример 2.16 ВРЕМЕННЫЕ ХАРАКТЕРИСТИКИ МУЛЬТИПЛЕКСОРА: СРАВНЕНИЕ КРИТИЧЕСКИХ ПУТЕЙ Сравните наихудшие временные характеристики каждой из трех реализаций четырехвходового мультиплексора, показанных на Рис. 2.58 в разделе 2.8.1 Задержки распространения для компонентов перечислены в Табл. 2.7 . Каким будет критический путь для каждой реализации? Исходя из анализа временных характеристик, какую схему вы предпочтете другим и почему? Решение: Один из критических путей для каждого из трех вариантов выделен синим на Рис. 2.73 и Рис. 2.74 . t pd_sy показывает задержку распространения от управляющего входа S до выхода Y; t pd_dy – от входа данных до выхода Y; t pd – худшее из двух: max(t pd_sy , t pd_dy ). Как для двухуровневой логики, так и для реализации на буферах с третьим состоянием, на Рис. 2.73 критическим является путь от одного из сигналов управления S до выхода Y: t pd = t pd_sy . Эта схема критическая по управлению, поскольку критический путь идет от управляющих сигналов до выхода. Любая дополнительная задержка в сигналах управления добавится непосредственно в |