Смекни!
smekni.com

Источники электропитания электронных устройств (стр. 2 из 4)

Полученному выражению отвечает соотношение между числом входов разного типа для мультиплексора. При этом на адресные входы следует подавать аргументы функции, а на информационные входы – сигналы настройки (рис. 2.12, я). Таким образом, для использования мультиплексора в качестве УЛМ следует изменить назначение его входов.

Рис. 2.12, а – иллюстрирует возможность воспроизведения с помощью мультиплексора любой функции п аргументов. Действительно, каждому набору аргументов соответствует передача на выход одного из сигналов настройки. Если этот сигнал есть значение функции на данном наборе аргументов, то задача решена. Разным функциям будут соответствовать разные коды настройки. Алфавитом настройки будет {0,0 – настройка осуществляется константами 0 и 1. На рис. 2.12, 6 показан пример воспроизведения функции неравнозначности xj и хг с помощью мультиплексора «4–1».

Большое число настроечных входов затрудняет реализацию УЛМ. Для УЛМ, расположенных внутри кристалла, можно вводить код настройки последовательно в сдвигающий регистр, к разрядам которого подключены входы настройки. Тогда внешним входом настройки будет всего один, но настройка будет занимать не один такт, а 2» тактов. Возможны и промежуточные последовательно-параллельные варианты ввода кода настройки.

Большое число входов настройки наталкивает па поиск возможностей их уменьшения. Такие возможности существуют и заключаются в расширении алфавита настроечных сигналов. Если от алфавита {0,1} перейти к алфавиту {0,1, Xj}, где X; – литерал одного из аргументов, то число входов аргументов сократится на единицу, а число настроечных входов – вдвое. Напомним, что под литералом переменной понимается либо сама переменная, либо ее инверсия. Перенос одного из аргументов в число сигналов настройки не влечет за собою каких-либо схемных изменений. На гом же оборудовании будут реализованы функции с числом аргументов на единицу больше, чем при настройке константами.

Для нового алфавита код настройки находится следующим образом. Аргументы за исключением x:L полаются на адресующие входы, что соответствует их фиксации в выражении для искомой функции, которая становится функцией единственного аргумента Xj. Эту функцию, которую назовем остаточной, и нужно подавать на настроечные входы.

Если искомая функция зависит от л аргументов и в число сигналов настройки будет перенесен один из аргументов, то возникает п вариантов решения задачи, т. к. в сигналы настройки может быть перенесен любой аргумент Спрашивается, какой именно аргумент целесообразно переносить в сигналы настройки? Здесь можно опираться на рекомендацию: и настроечные сиi налы следует переводить аргумент, который имеет минимальное число вхождений в термы функции. В этом случае буду г максимально использованы как бы внутренние логические ресурсы мультиплексора, а среди сигналов настройки увеличится число констант, что и считается благоприятным для схемной реализации УЛМ.

Проиллюстрируем сказанное примером воспроизведения функции трех аргументов F= х, Х2Х3\/х^з – Минимальное число вхождений в выражение функции имеет переменная xj, которую и перенесем в число сигналов настройки. Остаточная функция определится табл. 2.3, а.


Схема УЛМ приведена на рис. 2.12, е.

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

Рис. 2.13. Логический блок выработки сигналов настройки УЛМ с переносом, двух аргументов в сигналы настройки (а) и пример схемы воспроизведения функции четырех аргументов на мультиплексоре «4–1» (б)

[Если в сигналы настройки перевести два аргумента, то дополнительные логические схемы будут двухвходовыми вентилями, что мало усложняет УЛМ и может оказаться приемлемым решением. В этом случае для сохранения универсальности УЛМ мультиплексору нужно предпослать блок выработки остаточных функций, в котором формируются все функции 2‑х переменных |(за исключением констант 0 и 1 и литералов самих переменных, которые не требуется вырабатывать). Такой блок показан на рис. 2.13, я. Пример реализации функции F = х, х2\/Хз^4 ПРИ алфавите настройки {0,1, зц, х» 2} показан на рис. 2.13, б. Таблица остаточной функции для этого примера приведена в табл. 2.3, б.

Пирамидальные структуры УЛМ

Дальнейшее расширение алфавита настройки за счет переноса трех и более переменных в сигналы настройки требует вычислений остаточных функций трех или более переменных. Вычисление таких остаточных функций с помощью мультиплексоров приводит к пирамидальной структуре (рис. 2.14), в которой мультиплексоры первого яруса реализуют остаточные функции, а мультиплексор второго яруса вырабатывает искомую функцию.

Показанная пирамидальная структура – каноническое решение, которое приводит к нужному результату, но не претендует на оптимальность. Дело в том, что варианты построения схем из нескольких мультиплексоров для воспроизведения функций многих переменных разнообразны, но алгоритм поиска оптимальной по затратам оборудования или какому-либо другому критерию отсутствует. Имеются работы, в которых найдены решения более высокого качества, но это результаты изобретений, касающиеся частных случаев и не относятся к регулярному методу поиска структур.

При чисто электронной настройке константами 0 и I схема воспроизводит функцию п аргументов, где п = к + р, причем к – число аргументов, подаваемых на мультиплексор второго яруса, р – число аргументов, от которых зависят остаточные функции, воспроизводимые мультиплексорами 0…2к – 1 первого яруса.

Для уменьшения аппаратных затрат в схеме следует стремиться к минимизации числа мультиплексоров в столбце, т.е. минимизации к и соответственно, максимальным р, поскольку их сумма к + р постоянна и равна п.

Сигналы настройки для мультиплексоров первого яруса можно искать разными способами:

L Подстановкой (фиксацией) наборов аргументов, подаваемых на адресные входы мультиплексоров для получения остаточных функций и, далее, сигналов настройки. Этот способ уже рассмотрен (см. табл. 2.3).

2, С помощью разложения функции по Шеннону. Это разложение можно произвести по разному числу переменных. По одному из аргументов разложение имеет вид

F=(*0. x «»., xnM)=x0F (0, Xl – .x^A/XoFO, х,…,)^).

Справедливость такого разложения видна из подстановки в него значений хд = 0 и хо = 1, что дает непосредственно функции F (О, Х (,…, х» j) и F (1, X,…, Хп – !).

Разложение функции по двум аргументам

F=(x0, x1,…, xn_I) = 3^x^(0, 0, x2,…, xn_I) Vxox1F (0, 1, x2,…, xn_l)\/ V*^, F (1, 0, x2>…, xI1_1) WiF (l» 1. Х2*->*п-д и, наконец, разложение по к аргументам F=(x0, x^».Jxnrl) = x{) SI…xk_2xk «1F (0> 0,…, 0, х^.^х^Л/ X/XoXj. – .x^Xj^jFiO, 0,…, 0, 1, xk,…, xn,) V… _ – ..\AoXi…Xk-^-lF (l, I,-, I, 4>~*Xn-i) = = x^1…xk_2xk_1F0Vx0xI…xk_2xk «1F,\/ – ..\/xoXi…xk_2xk_1F2L1,

где

F0 = F (0, 0,…, 0, xk,…, xn_,), F, = F (0, 0,…, 0, l, xk,…, xn_,),

F2* – i = F (l, l,-, l. Xk,…,)^,).

Структура формул разложения полностью соответствует реализации двухъярусным УЛМ. В первом ярусе реализуются функции F» (i = 0,…, 2k – 1), зависящие от и – к аргументов, которые используются как настроечные для второго яруса, мультиплексор которого воспроизводит функцию к аргументов. 3. Сигналы настройки можно получить непосредственно из таблицы истинности функции. Для удобства просмотра таблицы ее следует записать гак. чтобы аргументы, переносимые в сигналы настройки, играли роль младших разрядов в словах-наборах аргументов. Пусть имеется функция 4‑х переменных \^х2Х\Щ), и переменная х-* считается старшим разрядом вектора аргументов. Пусть, далее, функция задана перечислением наборов аргументов, на которых она принимает единичные значения, причем заданы десятичные значения этих наборов: 3, 4, 5, 6, 7, 11, 15. Заметим, что аналитическое значение этой функции имеет вид F – х^хД / Хг^з Значения функции сведены в табл. 2.4.

При электронной настройке УЛМ константами 0 и 1 требуется мультиплексор размерности «16–1», на настроечные входы УЛМ подаются значения самой функции из таблицы.

При переносе *о в сигналы настройки (алфавит настройки {О, I, *о}) требуется найти остаточную функцию, аргументами которой является вектор переменных x3x2Xi. Каждая комбинация этих переменных встречается в двух смежных строках таблицы. Просматривая таблицу по смежным парам строк, можно видеть, что остаточная функция соответствует другой таблице (табл. 2.5).


Таблица 2.5 Для реализации этого варианта УЛМ достаточен

При переносе в сигналы настройки двух переменных (Хд и «Xj) для поиска остаточных функций следует просмотреть четверки смежных строк таблицы с неизменными наборами Х2Х3 – аргументами, подаваемыми на адресные входы УЛМ. Этот просмотр приводит к следующей таблице (табл. 2.6).

Из таблицы видно, что для воспроизведения функции достаточно использовать мультиплексор «4–1» с дополнительным конъюнктором для получения произведения xlxO. Но при перестройке на другую функцию потребуются и другие функции двух переменных, т.е. универсальный логический модуль должен включать в свой состав дополнительный логический блок (см рис. 2.13, я).

Логические блоки на мультиплексорах используются в современных СБИС программируемой логики, выпускаемых ведущими мировыми фирмами. Э [и блоки работают по изложенным выше принципам, однако, зачастую универсальность в смысле воспроизводимости всех без исключения функций данною числа аргументов не преследуется, что упрощает схемы блоков, и в то же время достаточно широкие логические возможности.