Микросхема 74LS138[30], показанная на Рис. 2.5, б, похожа на только что рассмотренную, однако выполняет функцию дешифратора 3 на 8. При n-м значении на линиях адреса C B А (22 21 20) активным становится только один из восьми выходов Y¯n. Микросхема 74LS138 имеет три входа стробирования, формирующие внутренний сигнал разрешения . То есть функционирование микросхемы разрешено только в том случае, если на обоих входах и присутствует НИЗКИЙ уровень, а на входе G1 — ВЫСОКИЙ. Микросхема 74LS138 используется в схеме на Рис. 11.12 (стр. 350) в качестве дешифратора линий порта микроконтроллера для подключения к одному порту нескольких устройств.
Приоритетный шифратор 74LS148[31], показанный на Рис. 2.6, выполняет обратное преобразование. Подача на один из входов НИЗКОГО уровня вызывает появление на выходе эквивалентного 3-битного значения. Так, если вход 5¯ = 0, то а¯2а¯1а¯0 = 010 (число 101 в инверсной логике).
Рис. 2.6.Микросхема приоритетного шифратора 74LS148
Если активный сигнал присутствует на нескольких входах, то выходное значение соответствует входу с наибольшим номером. Так, если НИЗКИЙ уровень присутствует на обоих входах 5¯ и 3¯, то выходное значение все равно будет составлять 010. Символы HPRI на условном обозначении микросхемы, приведенной на Рис. 2.6, означают «наивысший приоритет» (Higest PRIority). Работа микросхемы разрешается при НИЗКОМ уровне на входе E¯in. Выходы E¯out и G¯S¯ используются при каскадном соединении микросхем для увеличения количества линий.
Большой класс ИС реализует различные арифметические операции. Матрица логических элементов, показанная на Рис. 2.7, используется для обнаружения равенства между двумя 8-битными числами Р и Q. Каждый из восьми элементов Исключающее ИЛИ-HE формирует лог. 1, если оба входных бита Рn и Qn одинаковы (мы уже встречались с этим элементом на стр. 28). Соответственно, НИЗКИЙ уровень на выходе элемента И-НЕ появится только в том случае, если все 8 пар битов одинаковы. Микросхема компаратора 74LS688 имеет также вход G¯, сигнал с которого подается на один из входов элемента И-НЕ и выполняет функцию глобального разрешения.
На условном обозначении микросхемы по стандарту ANSI/IEC, приведенном на Рис. 2.7, б, функция сравнения указывается аббревиатурой СОМР. Префикс «1» в обозначении выхода указывает на то, что выполнение операции «Р = Q» зависит от входа, обозначенного тем же номером, т. е. G1. Таким образом, вход разрешения G1 управляет выходом IP = Q (и вход, и выход — с активным НИЗКИМ уровнем).
Рис. 2.7.Микросхема 8-битного компаратора 74LS688
Одной из первых функций, реализованных в ИС помимо обычных логических элементов, было сложение. В таблице истинности, показанной на Рис. 2.8, а, приведены значения бита суммы S и флага переноса С1, образующихся при сложении двух битов А и В и бита переноса из предыдущего разряда С0. Например, из 6-й строки таблицы следует, что при сложении двух единиц и 0-го переноса сумма будет равна 0, а перенос — 1 (1 + 1 + 0 = 10). Для реализации этой строки таблицы нам нужно распознать комбинацию битов 110, описываемую уравнением А∙В∙C¯0. Эту операцию выполняет 6-й элемент схемы. Таким образом, мы просто объединяем по ИЛИ все возможные комбинации входных переменных:
S = (A¯∙B¯∙C0) + (A¯∙B∙C¯0) + (A∙B¯∙C¯0) + (A∙B∙C0)
С1 =(A¯∙B∙C0) + (A∙B¯∙C0) + (A∙B∙C¯0) + (A∙B∙C0)
Применяя такую схему для каждого разряда и подключая при этом выход переноса разряда с номером k — 1 к входу переноса разряда с номером k, мы сможем выполнять сложение любых n-битных чисел.
На Рис. 2.8, б показана структурная схема микросхемы 74LS283[32], которая складывает два 4-битных числа за 25 нc. На практике для формирования итогового бита переноса С4 используется дополнительная схема, чтобы избежать задержек, вызванных прохождением битов переноса через все стадии суммирования, от младшего бита к старшему. Несколько (n) микросхем 74LS283 можно каскадировать для реализации функции сложения слов разрядностью 4хn. Таким образом, две микросхемы 74LS283 выполняют 16-битное сложение за 45 нc (учитывая дополнительную задержку распространения переноса между двумя микросхемами).
Рис. 2.8.Сложение
Разумеется, сумматоры можно использовать и для вычитания, если перевести операнды в дополнительный код. Схему сумматора/вычитателя можно реализовать при помощи набора логических элементов Исключающее ИЛИ, выступающие в роли программируемых инверторов (см. стр. 28). Вход выбора режима , управляющий этими инверторами в схеме на Рис. 2.9, подключен также к входу переноса, что вызывает добавление единицы в режиме вычитания.
Рис. 2.9.Реализация программируемого сумматора/вычитателя