Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 62
Текст из файла (страница 62)
(а) (с) рис. 4. 22. другой пример двухуровневой схемы, построенной по сумме произведений (а) И-ИЛИ; (Ь) И-ИЛИ с дополнительными парами инверторов; (с) И- НЕ-И-НЕ 264 Глава 4. Принципы проектирования комбинационных лопечвеких схем Итак, мы убедились, что любое выражение вида «сумма произведений» можно реализовать одним из двух способов: как схему И-ИЛИ или как схему И-НЕ-И-НЕ. Справедливо также и двойственное этому утверждение; любое выражение вида «произведение сумм» можно реализовать как скачу НЛИ-И (ОВ-АИО с(гсий) нли как скачу ИЛИ-НЕ-ИЛИ-НЕ(НОВ-НОВ пгсиЫ). На рис.4.23 приведен пример. Любое логическое выражение можно свести к эквивалентному произведению сумм, разнося содержащиеся а нем слагаемые по сомножителям; следовательно, любое логическое выражение можно реализовать как в виде схемы ИЛИ-И, так и в виде схемы ИЛИ-НЕ-ИЛИ-НЕ.
Рнс.4.23. Реализациявы- (с) ражения вида «произведение суммьч (а) ИЛИ-И; (Ь) ИЛИ вЂ” И с дополнительными парами инверторов; (с) ИЛИ-НЕ-ИЛИ-НЕ (а) (Ь) Подобного рода преобразования применимы к произвольным логическим схемам. На рис. 4 24(а), например, приведена схема, состоящая из вентилей И и ИЛИ. Добавляя пары инверторов, мы получаем схему, изображенную на рнс.
(Ь). Однако в этой схеме один из вентилей -2-входовой вентиль И с одним инвертированным входом — не является вентилем стандартного типа, Тогда можно применить отдельно стоящий инвертор, как показано на рис. (с), чтобы получить схему, в которой используются только вентили стандартного типа: И-НЕ, И и инверторы. Иа самом деле лучше воспользоваться ннвертором так, как это продемонстрировано парне.
(Й); тогда путь сигнала — с точки зрения его задержки -сокращается на один уровень, а нижняя схема И преобразуется в схему ИЛИ-НЕ. В большинстве технологий, используемых при производстве логических схем, иивертирующие вентили типа И-НЕ и ИЛИ-НЕ являются более быстродействующими, чем неинвертирующие вентили типа И и ИЛИ. 4 Э. Синтез комбинационных схем 265 ЗАЧЕМ НИКНАМИНИМИЗАЦИЯ Минимизация является важным этапом как при создании специализированных ИС, так и при проектировании на базе ПЛУ.
В специализированной ИС для лишних вентилей и при наличии у вентилей лишних входов необходима дополнительная площадь на поверхности кристалла, аэто приводит к увеличению стоимости микросхем. В программируемых ИС число вентилей фиксировано, и можно подумать, что проблемы лишних вентилей нет; это действительно так, но только до тех лор, пока вы не вышли за пределы того, что имеется, и должны перейти на более медленные или более дорогне ИС большего объема. К счастью, у большинства программных средств, используемых при проектировании специализированных ИС и устройств на базе ПЛУ, имеются встроенные программы минимизации. Назначение разделов с 4.3.3 по 4.3.8 состоит в том, чтобы дать вам почувствовать, как именно осуществляется минимизация.
(а) (Ь) (с) Рис. 4.24. Преобразования на уровне условных обозначений логических схем: (а) исходная схема; (Ь) результат преобразования с нестандартным вентилем; (с) схема с отдельным инвертором, позволяющим исключить нестандартный вентиль; (д) предпочтительное расположеннне отдельного инвертора 266 Гнала 4.
Принципы проектирования комбинационных логических схем 4.3.3. Минимизация комбинационных схем Чаще всего не экономично напрямую строить логическую схему по логическо му выражению, которое первым пришло вам в голову. Особенно расточительн< поступать так, руководствуясь канонической суммой илн каноническим произ! ведением, поскольку число возможных минтермов и макстермов (а, значит, 1 вентилей) растет экспоненциально с увеличением числа переменных. Мы ляля', мизируем (тглгтае) комбинационную схему, сокращая число и размер венти~ лей, необходимых для ее построения.
Отправным моментом в традиционных методах минимизации комбинационных схем, к изучению которых мы приступаем, служат таблицы истинности или, что эквивалентно, списки минтермов и максгермов. Если логическая функция задана не в одной из этих форм, то прежде чем мы воспользуемся этими методами, необходимо преобразовать данную функцию и представить ее в подходящем виде. Если, например, речь идет о произвольном логическом выражении, то для составления таблицы истинности нужно найти значения этого выражения при всех комбинациях значений входных сигналов. Методы минимизации уменьшают стоимость двухуровневых схем И-ИЛИ, ИЛИ-И, И-НЕ-И-НЕ и ИЛИ-НЕ-ИЛИ-НЕ одним из трех способов: 1. Путем минимизации числа вентилей на первом уровне.
2. Путем минимизации числа входов у каждого вентиля первого уровня. 3. Путем минимизации числа входов у вентиля второго уровня. В действительности, последнее является побочным эффектом реализации первого из этих способов. Однако методы минимизации не учитывают стоимости входных ииверторов; при минимизации предполагается, что уже имеются в наличии как сами входные сигналы, так и их дополнения.
Это не всегда имеет место при конструировании иа уровне вентилей и при разработке специализированных ИС; но прн проектировании на основе ПЛУ это требование вполне уместно: в ПЛУ вы имеете все входные сигналы иихдополнения«бесплатнов. Большинство методов минимизации основано на обобщении комбинационных теорем Т10 и Т!0'. заданный терм-произведение . г'+ заданный терм-произведение т' = = заданный терм-произведение, 1заданный терм-сумма+ г) (заданный терм-сумма+ г") = = заданный терм-сумма.
другими словами, в случае, когда два терма, являюшихся произведениями или суммами, различаются только тем, что какая-то переменная содержится в одном из них непосредственно, а в другом — в форме дополнения, эти два терма можно объединить в один терм, в котором число переменных на единицу меньше. Таким образом экономится один вентиль, ау остающегося вентиля на один вход будет меньше. Если этот алгебраический метод многократно применить к устройству для обнаружения простых чисел, изображенному на рис. 4,18, и объединить минтермы 1, 3, 5 и 7, то получим: 4 3.
Синтез комбинационных схем 267 =,3 йз.йз,й!,йо(1 2 3,5,7,11,13) ЙЗ Й2 Й! ЙО+ Йз Й2 Й! ' Йо+Йз 'Й2'Й! ' Йо+ + ЙЗ ' Й2 ' Й! ' Йо + ° =(Йз 'Й2 'Й! 'ЙО+ЙЗ 'Й2 Й!'ЙО)+(Йз 'Й2 Й! 'ЙО+ о Йз Й2 ' Й! ' ЙО) + ". = Йз' Йз' Йо+ Йз' ' Йз ' Йо+ ... =Й,' Й,+.... Результирующая схема показана на рис. 4.25; в ней на три вентиля меньше, а у одного из оставшихся вентилей надва входа меньше. йо йо' йо йо' й! й!'йо йо' ! ! ! ! ! ! ! ! Рис.
4.25. Упрощенная реализация суммы произведений для 4-разрядного устройства распознавания простых чисел Если еще немного потрудиться над последним выражением, то можно было бы сэкономить пару входов у вентилей первого уровня, но число вентилей уменьшитьь уже не удастся.
В мешанине алгебраических символов бывает трудно найти термы, которые можно объединить. В следующем разделе мы начнем изучать метод минимизации, который более нагляден и удобен для анализа и преобразования логических схем вручную. Начальной точкой в этом рассмотрении булет гРафический эквивалент таблицы истинности. 4.3.4. Карты Карно Карта Карно (Каглаий)з тар) — это графическое представление таблицы истинзюстн, которой задается логическая функция. На рис.
4.26 приведены карты Карно для логических функций 2-х, 3-х и 4-х переменных. Карта для логической фун"ции л переменных представляет собой решетку с 2" клетками, по одной клетке на кажлый минтерм. Разметка строк и столбцов карты Карно выполняется таким образом, что для "'сбой клетки легко определить соответствующую ей комбинацию переменных по ~~головкам строки и столбца, на пересечении которых находится эта клетка. Число в левом верхнем углу каждой клетки соответствует номеру минтерма в таблице "стииности в предположении, что переменные в таблице истинности расположены 268 Глава 4.
Принципы проектирования комбинационных логических схем в алфавитном порядке их имен слева направо (например, Х,У, Е), а строки пронумерованы в порядке нарастания двоичных чисел, подобно тому, как это делается в примерах в данном учебнике. Например, 13-я клетка для случая 4-х переменных соответствует той строке таблицы истинности, в которой ьтХУ2 = 1101. ех тг~чоо о~ н ю т'~ о ~~ ео о~ м зо (Ь) (с) (а) Рис, 4.26. Карты Карно: (а) случай 2-х переменных; (Ь) случай 3-х переменных; (с) случай 4-х переменных Когда составляется карта Карно для заданной функции, в каждую клетку помещается информация, извлекаемая из строки таблицы истинности с подходящим номером: О, если функция равна нулю при этой комбинации переменных, н 1 — в противном случае.