русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Универсальные логические модули на основе мультиплексоров


Дата добавления: 2014-11-27; просмотров: 4394; Нарушение авторских прав


Универсальные логические модули (УЛМ) на основе мультиплексоров отно­сятся к устройствам, настраиваемым на решение той или иной задачи. Уни­версальность их состоит в том, что для заданного числа аргументов можно настроить УЛМ на любую функцию. Известно, что общее число функций n аргументов выражается как 22". С ростом n число функций растет чрезвы­чайно быстро. Хотя практический интерес представляют не все существую­щие функции, возможность получить любую из огромного числа функций свидетельствует о больших перспективах применения УЛМ.

Первый способ настройки УЛМ

Первым способом настройки, используемым в УЛМ, является фиксация не­которых входов. Для этого способа справедливо следующее соотношение между числом аргументов и числом настроечных входов. Пусть число аргу­ментов n и требуется Настройка на любую из функций. Тогда число комби­наций для кода настройки, равное числу функций, есть 22n. Для двоичного кода число комбинаций связано с разрядностью кода выражением 2m, где m — разрядность кода. Приравнивая число воспроизводимых функций к числу комбинаций кода настройки, имеем для числа настроечных входов соотношение m = 2n.

а

 

б в

Рис. 2.12. Схема использования мультиплек­сора в качестве УЛМ (а), примеры воспроиз­ведения функций при настройке константами (б) и при переносе одного аргумента в число сигналов настройки (в)

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

Рис. 2.12, а — иллюстрирует возможность воспроизведения с помощью' мультиплексора любой функции n аргументов. Действительно, каждому на­бору аргументов соответствует передача на выход одного из сигналов на­стройки. Если этот сигнал есть значение функции на данном наборе аргу­ментов, то задача решена. Разным функциям будут соответствовать разные коды настройки. Алфавитом настройки будет {0,1} — настройка осуществля­ется константами 0 и 1. На рис. 2.12, б показан пример воспроизведения функции неравнозначности с помощью мультиплексора "4—1".



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

Второй способ настройки УЛМ

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

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

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

Проиллюстрируем сказанное примером воспроизведения функции трех ар­гументов . Минимальное число вхождений в выражение функции имеет переменная x1, .которую и перенесем в число сигналов на­стройки. Остаточная функция определится табл. 2.3, а.

Таблица 2.3

Х2   Хз   Fост       X3   X4 Fост
          X1X2  
               
          X1X2
    X1           X1X2  

a б

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

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

 

а б

 

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

Если в сигналы настройки перевести два аргумента, то дополнительные ло­гические схемы будут двухвходовыми вентилями, что мало усложняет УЛМ и может оказаться приемлемым решением. В этом случае для сохранения универсальности УЛМ мультиплексору нужно предп…… блок выработки остаточных функций, в котором формируются все функции 2-х переменных (за исключением констант 0 и 1 и литералов самих переменных, которые не

требуется вырабатывать). Такой блок показан на рис. 2.13, а. Пример реали­зации функции при алфавите настройки {0,1, , ) показан на рис. 2,13, б. Таблица остаточной функции для этого примера приведена в табл. 2.3, б.

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

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

 

 

Рис. 2.14. Структура УЛМ, построенного на нескольких мультиплексорах

 

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

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

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

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

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

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

где

Структура формул разложения полностью соответствует реализации двухъя­русным УЛМ. В первом ярусе реализуются функции Fi(i = 0,..., 2k-1), зави­сящие от n — k аргументов, которые используются как настроечные для вто­рого яруса, мультиплексор которого воспроизводит функцию k аргументов.

3. Сигналы настройки можно получить непосредственно из таблицы истин­ности функции. Для удобства просмотра таблицы ее следует записать так, чтобы аргументы, переносимые в сигналы настройки, играли роль млад­ших разрядов в словах-наборах аргументов. Пусть имеется функция 4-х переменных , и переменная считается старшим разрядом век­тора аргументов. Пусть, далее, функция задана перечислением наборов аргументов, на которых она принимает единичные значения, причем за­даны десятичные значения этих наборов: 3, 4, 5, 6, 7, 11, 15. Заметим, что аналитическое значение этой функции имеет вид Значе­ния функции сведены в табл. 2.4.

Таблица 2.4

Х3   X2 X1 X0 F  
         
     
       
     
   
     
   
   

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

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

 

Таблица 2.5

X2   X1   X0   Fост  
      X  
       
      Xo  
      Xo  

Для реализации этого варианта УЛМ достаточен мультиплексор "8—1", но для перестройки на другую функцию потребуется не только смена ко­да настройки, но и коммута­ция входов настройки для по­дачи литералов переменной на другие настроечные входы.

 

Таблица 2.6

ХЗ   Х2   Fост
    X1X0  
     
    X1X0  
    X1X0  

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

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

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

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

На рис. 2.15, о показан логический блок, используемый в СБИС программируе­мой логики фирмы Actel (США). Изображены обозначения фирмы для мультип­лексоров "2—1" (адресующие входы расположены сбоку). При S= 0 на выход пе­редается сигнал верхнего входа, при S = 1 — нижнего. Функциональная характе­ристика (порождающая функция) для этого блока имеет вид

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

 

На рис. 2.15, б показан логический блок (вернее его комбинационная часть) фирмы Quicklogic (США) с более широкими логическими возможностями.

a

б

Рис. 2.15. Мультиппексорные логические блоки, используемые в микросхемах фирм Actel (а) и Qujckfogic (б)



<== предыдущая лекция | следующая лекция ==>
Мультиплексоры и демультиплексоры | Компараторы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.