Реклама:

Многие применения цифровой логики требуют наличия схем с несколькими входами и несколькими выходами, в которых выходные сигналы определяются текущими входными сигналами. Такая схема называется комбинаторной. Не все схемы обладают таким свойством. Например, схема, содержащая элементы памяти, может генерировать выходные сигналы, которые зависят от значений, хранящихся в памяти. Микросхема, которая реализует таблицу истинности (например, приведенную на рис. 3.3, а), является типичным примером комбинаторной схемы. В этом разделе мы рассмотрим наиболее часто используемые комбинаторные схемы.

Мультиплексоры

На цифровом логическом уровне мультиплексор представляет собой схему с Т входами, одним выходом и п линиями управления, которые позволяют выбрать один из входов. Выбранный вход соединяется с выходом. На рис. 3.10 изображена

Не стоит забывать закон Мура. Ядро процессора Pentium 4 содержит уже 42 млн транзисторов, и, очевидно, это не предел. - Примеч. научн. ред.

схема восьмивходового мультиплексора. Три линии управления, А, В и С, кодируют 3-разрядное число, которое указывает, какая из восьми входных линий должна соединяться с вентилем ИЛИ и, следовательно, с выходом. Вне зависимости от того, какое значение окажется на линиях управления, семь вентилей И всегда будут выдавать на выходе 0, а оставшийся может выдавать 0 или 1 в зависимости от значения выбранной линии входа. Каждый вентиль И запускается определенной комбинацией сигналов на линиях управления. Если в схему мультиплексора, показанную на рис. 3.10, добавить источник питания и землю, то мультиплексор можно включить в корпус с 14 выводами.

Комбинаторные схемы

Рис. 3.10. Схема восьми входового мультиплексора

Использовав мультиплексор, мы можем реализовать функцию большинства (см. рис. 3.3, я), как показано на рис. 3.11, б. Для каждой комбинации А, В и С выбирается одна из входных линий. Каждый вход соединяется либо с сигналом Усс (логическая 1), либо с землей (логический 0). Алгоритм соединения входов очень прост: входной сигнал Д такой же, как значение в строке і таблицы истинности. На рис. 3.3, а в строках 0, 1, 2 и 4 значение функции равно 0, поэтому соответствующие входы заземляются; в оставшихся строках значение функции равно 1, поэтому соответствующие входы соединяются с логической единицей. Таким способом можно реализовать любую таблицу истинности с тремя переменными, использовав микросхему на рис. 3.11, а.

Комбинаторные схемы

Рис. 3.11. Мультиплексор, построенный на СИС (а); тот же мультиплексор, смонтированный для вычисления функции большинства (б)

Мы уже видели, как мультиплексор может использоваться для выбора одного из нескольких входов и как он позволяет строить таблицу истинности. Его также можно использовать в качестве преобразователя параллельного кода в последовательный. Если подать 8 бит данных на входные линии, а затем поочередно переключать линии управления, чтобы получить значения от ООО до 111 (это двоичные числа), то 8 бит поступят на выходную линию последовательно. Обычно такое преобразование осуществляется при вводе информации с клавиатуры, поскольку каждое нажатие клавиши определяет 7- или 8-разрядное число, которое должно передаваться последовательно по телефонной линии.

Противоположностью мультиплексора является демультиплексор, который соединяет единственный входной сигнал с одним из 2п выходов в зависимости от значений сигналов в п линиях управления. Если бинарное значение линий управления равно то выбирается выход к.

Декодеры

В качестве второго примера рассмотрим схему, которая получает на входе гг-раз-рядное число и использует его для того, чтобы выбрать (то есть установить в значение 1) одну из 2 й выходных линий. Такая схема называется декодером. Пример декодера для п = 3 показан на рис. 3.12.

Чтобы понять, зачем нужен декодер, представим себе память, состоящую из 8 микросхем, каждая из которых содержит 1 Мбайт. Микросхема 0 имеет адреса от 0 до 1 Мбайт, микросхема 1 - адреса от 1 Мбайт до 2 Мбайт и т. д. Три старших двоичных разряда адреса используются для выбора одной из восьми микросхем. На рис. 3.12 эти три бита - три входа Л, Б и С. В зависимости от входных сигналов ровно одна из восьми выходных линий (Д), &7) принимает значение 1; остальные линии принимают значение 0. Каждая выходная линия запускает одну из восьми микросхем памяти. Поскольку только одна линия принимает значение 1, запускается только одна микросхема.

Комбинаторные схемы

Рис. 3.12. Схема декодера, содержащего 3 входа и 8 выходов

Принцип работы схемы, изображенной на рис. 3.12, не сложен. Каждый вентиль И имеет три входа, из которых первый - это А или А, второй - В или Б, третий - С или С. Каждый вентиль запускается различной комбинацией входов: Д) - сочетанием А В С, Бх - сочетанием Л Б С и т. д.

Компараторы

Еще одна полезная схема - компаратор. Компаратор сравнивает два слова, которые поступают на вход. Компаратор, изображенный на рис. 3.13, принимает два входных сигнала, Л и Б, по 4 бита каждый и выдает 1, если они равны, и 0, если они не равны. Схема основывается на вентиле ИСКЛЮЧАЮЩЕЕ ИЛИ, который выдает 0, если сигналы на входе равны, и 1, если сигналы на входе не равны. Если все четыре входных слова равны, все четыре вентиля ИСКЛЮЧАЮЩЕЕ ИЛИ должны выдавать 0. Эти четыре сигнала затем поступают в вентиль ИЛИ. Если в результате получается 0, значит, слова, поступившие на вход, равны; в противном случае они не равны. В нашем примере мы использовали вентиль ИЛИ в качестве конечного, чтобы поменять значение полученного результата: 1 означает равенство, 0 - неравенство.

Комбинаторные схемы

Рис. 3.13. Простой 4-разрядный компаратор

Программируемые логические матрицы

Ранее отмечалось, что любую функцию (таблицу истинности) можно представить в виде суммы произведений и, следовательно, воплотить в схеме, использовав вентили И и ИЛИ. Для вычисления сумм произведений служит так называемая программируемая логическая матрица (рис. 3.14). Эта микросхема содержит входы для 12 переменных. Дополнительные сигналы (инверсии) генерируются внутри самой микросхемы. В итоге получается всего 24 входных сигнала. Какой именно входной сигнал поступает в тот или иной вентиль И, определяется по матрице размером 24 х 50 бит. Каждая из входных линий к 50 вентилям И содержит плавкую перемычку. При выпуске с завода все 1200 перемычек остаются нетронутыми. Чтобы запрограммировать матрицу, покупатель выжигает выбранные перемычки, прикладывая к схеме высокое напряжение.

Выходная часть схемы состоит из шести вентилей ИЛИ, каждый из которых содержит до 50 входов, что соответствует наличию 50 выходов у вентилей И. Какие из потенциально возможных связей действительно существуют, зависит от того, как была запрограммирована матрица 50 х 6. Микросхема имеет 12 входных выводов, 6 выходных выводов, питание и землю (то есть всего 20 выводов).

Приведем пример использования программируемой логической матрицы. Вернемся к схеме на рис. 3.3, б. Она содержит три входа, четыре вентиля И, один вентиль ИЛИ и три инвертора. Если запрограммировать нашу матрицу определенным образом, она сможет вычислять ту же функцию, используя три из 12 входов, четыре из 50 вентилей И и^эдин из^б вентилей ИЛИ. (Четыре вентиля И должны вычислять произведения ABC, ABC, ABC и ABC) вентиль ИЛИ принимает эти 4 произведения в качестве входных данных.) Можно сделать так, чтобы та же программируемая логическая матрица вычисляла одновременно сумму четырех функций одинаковой сложности. Для простых функций ограничивающим фактором является число входных переменных, для более сложных - вентили И и ИЛИ.

Комбинаторные схемы

Рис. 3.14. Программируемая логическая матрица с 12 входами и 6 выходами. Маленькие квадратики - плавкие перемычки, выжигаемые для получения нужной функции. Плавкие перемычки упорядочиваются в двух матрицах, верхняя матрица - для вентилей И, нижняя -

для вентилей ИЛИ

Хотя матрицы, программируемые в эксплуатационных условиях, все еще используются, предпочтение отдается матрицам, которые изготавливаются на заказ. Они разрабатываются заказчиком и выпускаются производителем в соответствии с запросами заказчика. Такие программируемые логические матрицы гораздо дешевле.

А теперь мы можем обсудить три разных способа воплощения таблицы истинности, приведенной на рис. 3.3, а. Если в качестве компонентов использовать МИС, нам потребуются 4 микросхемы. С другой стороны, мы можем обойтись одним мультиплексором, построенном на СИС, как показано на рис. 3.11, б. Наконец, мы можем использовать лишь четвертую часть программируемой логической матрицы. Очевидно, если необходимо вычислять много функций, использование программируемой логической матрицы более эффективно, чем применение двух других методов. Для простых схем предпочтительнее более дешевые МИС и СИС.

Интегральные схемы || Оглавление || Арифметические схемы