![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Первая последовательность совпадает с функцией элемента «ИЛИ», вторая – получается инвертированием выходной функции элемента «И». ⇐ ПредыдущаяСтр 6 из 6
Отсюда вытекает реализация элемента типа «ИСКЛЮЧАЮЩЕЕ ИЛИ» в базисе «И», «ИЛИ», «НЕ» (рис. 3.27):
Рис. 3.27
На рис. 3.28 приведена полная схема двоичного сумматора, реализованная на элементах классического базиса «И», «ИЛИ» и «НЕ».
Рис. 3.28 Эта схема очень избыточна, так как функции суммы (
3.4.3. Оптимизация схемы двоичного сумматора, реализованного на элементах «И», «ИЛИ», «НЕ»
1 этап – необходимо устранить избыточность, которая бросается в глаза – одинаковые элементы с одинаковыми входами (элементы «И» и «ИЛИ» с входными переменными
Рис. 3.29
2 этап – исключение из схемы последовательно соединённых инверторов. В покрытой формальным образом схеме, могут присутствовать цепочки из двух последовательных инверторов, которые получаются при инвертировании выходных и входных сигналов последовательно соединённых блоков. Подобные цепочки обычно возникают при покрытии элементами «2И-НЕ» (либо «2ИЛИ-НЕ») и в рассматриваемом примере отсутствуют. Такой вариант будет рассмотрен ниже. В общем случае необходимо проводить анализ схемы и находить блоки, реализующие одинаковые логические последовательности с последующим исключением из схемы одного из блоков. 3 этап – анализ схемы с учётом недоопределённости логических функций. Обозначим оставшиеся элементы буквами
Последовательности, полученные в результате анализа на выходах элементов Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение Попытаемся провести оптимизацию полученной схемы. На третьем этапе проводится анализ схемы с учетом логической недоопределённости и выясняется возможность соединения узлов схемы, в которых формируются не противоречащие друг другу или взаимно инверсные логические последовательности (взаимно инверсные узлы соединяются через инвертор). При этом появляется возможность исключения из схемы некоторых, порой достаточно больших, групп логических элементов, которые формируют указанные последовательности. Этот этап оптимизации проводится от выхода схемы ко входу, поскольку таким образом можно исключить большее количество элементов. Рассмотрим элемент Последовательность
Рис. 3.30
При выполнении подобных операций нельзя допускать образование петель обратной связи, т.е. если найдена непротиворечивая последовательность у далее стоящего элемента, и он подчинён другому, то эти элементы соединять нельзя. Для элемента Этой последовательности не противоречит выход элемента В окончательном варианте получаем схему двоичного сумматора, состоящую из 9 элементов (7 двухвходовых и 2 инвертора) со сложностью 32 бита (рис. 3.31):
Рис. 3.31
3.4.4. Покрытие схемы двоичного сумматора элементами «2И-НЕ»
В этом случае производится замещение получившихся при детализации блоков (см. рис.3.26) логическими элементами заданного типа – «2И-НЕ» с последовательностью 1110. В случае несовпадения логических функций замещаемого блока и элемента покрытия, необходимо добавить инверторы на соответствующих входах или выходах элементов. Эти инверторы также реализуются на элементах «2И-НЕ» путём объединения входов. Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:— Разгрузит мастера, специалиста или компанию; — Позволит гибко управлять расписанием и загрузкой; — Разошлет оповещения о новых услугах или акциях; — Позволит принять оплату на карту/кошелек/счет; — Позволит записываться на групповые и персональные посещения; — Поможет получить от клиента отзывы о визите к вам; — Включает в себя сервис чаевых. Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе В результате выполнения этих операций получается схема, состоящая из заданных логических элементов (рис. 3.32):
Рис. 3.32
3.4.5. Оптимизация схемы двоичного сумматора, реализованного на элементах «2И-НЕ»
После формального выполнения покрытия схема носит явно избыточный характер. На 1-ом этапе оптимизации удаляем из схемы «лишние» элементы, имеющие одинаковые входы (
Рис. 3.33
На 3-ем этапе оптимизации проводтся анализ схемы, предварительно обозначив оставшиеся элементы буквами
Последовательности, полученные в результате анализа на выходах элементов Рассмотрим элемент Последовательность
Рис. 3.34
Фиксируем последовательность блока Такая последовательность на выходах элементов схемы не формируется. Рассмотрим другой выход схемы. Для элемента Такой последовательности на выходах элементов схемы тоже не формируется. Аналогично можно проверить и другие элементы схемы на возможность подачи на их входы последовательностей, формируемых в различных узлах схемы. Проверку следует производить от выходов схемы к входам. Однако при этом необходимо внимательно следить за тем, чтобы не образовывались петли обратной связи. В окончательном варианте схема сумматора по модулю 2 состоит из девяти двухвходовых элементов «И-НЕ» и имеет сложность 36 бит. Из 18 элементов, формально покрывших схему, удалось исключить 9 «лишних» элементов (рис. 3.35):
Рис. 3.35.
Следует заметить, что если бы мы при детализации блока, реализующего функцию Аналогично можно синтезировать разряд двоичного сумматора на элементах «2ИЛИ-НЕ», которые так же являются функционально полным базисом. На завершающем этапе (после покрытия и оптимизации) с целью проверки правильности всего процесса синтеза, как правило, проводится окончательный анализ полученной схемы. Исходной информацией для анализа являются логические последовательности элементов и схема их соединения. По результатам анализа строится общая логическая последовательность всей схемы и сравнивается с заданной последовательностью.
3.4.6. Покрытие схемы двоичного сумматора мультиплексорами
В качестве элемента покрытия логических схем очень удобно использовать мультиплексоры различных типов. Процедура покрытия комбинационных схем подробно изложена в [ ]. В качестве примера рассмотрим мультиплексор типа 4/2, представляющий собой коммутатор на четыре положения. Такие мультиплексоры широко распространены в различных сериях интегральных микросхем (ххххКП2 – сдвоенный мультиплексор со входами разрешения) и библиотеках логических элементов в САПР, предназначенных для разработки схем на программируемых логических интегральных схемах (ПЛИС). Графическое изображение такого мультиплексора приведено на рис. 3.36.
Рис. 3.36. Двухканальный мультиплексор ххххКП2
Если на управляющие входы Без потери общности рассуждений можно рассмотреть функционирование одной (верхней) половины мультиплексора. Построим его двоичную последовательность. Для этого вначале присвоим весовые коэффициенты входам этой половины. Самыми старшими будем считать управляющие входы Если на входы
Логическая функция (1) сохраняет значение «0» и значение «1». Она несамодвойственна, так как принимает одно и то же значение «0» по адресам 1 и 62. (им соответствуют взаимно инверсные наборы значений аргументов функции). Функция (1) монотонна потому, что при возрастании двоичного набора значений аргументов значение функции не убывает. Рассматриваемая логическая функция нелинейна, так как при разложении числовой последовательности (1) по весам Функция (1) одна не образует функционально полную систему логических функций. Поэтому, на одних только мультиплексорах нельзя построить любую комбинационную логическую схему. Для того, чтобы систему функций сделать функционально полной, нужно добавить функцию (или несколько функций), не сохраняющую значение «0», не сохраняющую значение «1» и немонотонную. Такой функцией является «НЕ». Поэтому, на мультиплексорах и инверторах можно реализовать любую комбинационную логическую схему. В базис также следует включить «Константу «0» и «Константу «1», так как они сравнительно просто реализуются на потенциальных логических элементах. Подача «Константы «0» на какой-либо вход соответствует подключению этого входа к общему проводу, а подача «Константы «1» – соединению его с плюсом источника питания (возможно через токоограничительный резистор). Двоичную последовательность (1) разложим по управляющим переменным
Можно заметить, что в матрице (2) двоичная запись адреса столбца равняется самому столбцу. Это позволяет сделать процедуру синтеза схем на мультиплексорах сравнительно простой. Нужно просто разложить покрываемую логическую функцию по двум её каким-либо аргументам. Каждая строка полученной при этом матрицы будет определять логическую функцию, которую нужно подать на соответствующий вход мультиплексора. В полученной матрице имеются все возможные двоичные четырёх элементные столбцы. С помощью мультиплексора 4/2 можно реализовать любую логическую функцию трёх аргументов, так как при разложении исключаются два аргумента (эти переменные подаются на управляющие входы В качестве примера построим на мультиплексорах 4/2 разряд двоичного сумматора, заданный следующей числовой последовательностью:
Функцию переноса Функции Для реализации функции
Рис. 3.37.
Здесь «Константы «0» и «1», которые подаются на входы С помощью мультиплексора можно реализовать логические функции от большего, чем три числа аргументов. При этом двоичную последовательность этой логической функции нужно разложить по различным парам аргументов и выбрать такую матрицу, двоичные последовательности строк которой определяют наиболее простые остаточные логические функции, которые должны быть поданы на входы При использовании более сложных мультиплексоров (8/1 или 16/1) возможно достаточно простое покрытие функций 4-х или 5-и аргументов. При этом разложение ведётся по трём (в случае использования мультиплексора 8/1) или четырём (при использовании мультиплексора 16/1) входным переменным, которые затем подаются на управляющие (адресные) входы мультиплексора. Каждая из строк полученной матрицы состоит из двух элементов и представляет собой либо одну из констант, либо функцию тождества, либо инверсию оставшегося невыделенным аргумента. Эти строки необходимо подать на входы соответствующие входы данных мультиплексоров. Переменные для построения матрицы разложения выбираются таким образом, чтобы в строках по возможности отсутствовала комбинация (10). В этом случае удаётся реализовать требуемую функцию без использования дополнительных инверторов. В противном случае потребуется как минимум один элемент для формирования инверсии оставшегося аргумента. В общем случае для покрытия логической функции
|