logic_functions (Лабы)

PDF-файл logic_functions (Лабы) Схемотехника (113699): Лабораторная работа - 2 семестрlogic_functions (Лабы) - PDF (113699) - СтудИзба2021-10-24СтудИзба

Описание файла

Файл "logic_functions" внутри архива находится в папке "Лабы". PDF-файл из архива "Лабы", который расположен в категории "". Всё это находится в предмете "схемотехника" из 2 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

Простейшие логические функцииИтак, мы выяснили, что логические сигналы объединяются друг с другом при помощилогических функций. На самом деле, я уже упоминал это в статье про ПЛИС о том, чтовсё делается совершенно аналогично программированию. Давайте глянем ещё раз:Провод = Переменная типа BOOLЛогическая функция = Функция языка, применимая к переменным типа BOOLПоэтому ничего не боимся и читаем совершенно спокойно. Ничего нового небудет, будет просто чуть другое представление уже известного.

Но всё-таки я буду даватьчуть более расширенные пояснения, чем просто аналогичные функции языка Си.Элемент ИЛИИтак, начнём с элемента ИЛИ. Он эквивалентен оператору «||» языка Cи. Навыходе элемента ИЛИ будет логическая единица в случае, если хотя бы на одном входеимеется логическая единица. Если на всех входах логические нули – на выходе будеттакже логический ноль. При работе с логическими элементами, принято пользоватьсятаблицами истинности. Не будем нарушать это правило, и нарисуем несколько такихтаблиц.

Функция ИЛИ с двумя входами называется 2ИЛИ и описывается таблицейистинности:X10011X20101Y0111Страшно? По-моему, нет Давайте для пущей храбрости нарисуем таблицуистинности для функции 3ИЛИX100001111X200110011X301010101Y01111111Чтобы суть элемента ИЛИ лучше запомнилась, давайте рассмотрим аналогию:Охранные системы. Какой бы из датчиков (датчиков движения, пожарных датчиков,прочих датчиков) ни сработал бы, всё равно надо поднимать шум и будить охранника. Вотэто как раз и выполняется по правилам функции ИЛИ.

Количество входов – столько,сколько датчиков. Выход – один. Собственно, в функциях языка C выход тоже один, и онназывается результатом функции.А как такие функции обозначаются на схемах? По ГОСТ – так:1112ИЛИ3ИЛИ4ИЛИПо стандарту ANSI – примерно так (извините за корявость, но я не рисую по ANSI,но на схемах могут встречаться, не надо пугаться):2ИЛИ3ИЛИВходы ВСЕГДА рисуют слева, выходы – справа. Некоторые считают, что иногдабудет красивее нарисовать наоборот, входы справа, выход – слева (это если разъёмы накартинке так расположены). Так вот.

Это неправильно. Без этого ВСЕГДА можно красивообойтись, если чуть-чуть подумать (равно как в языке Си можно обойтись без меток).Элемент ИЭлемент И эквивалентен оператору «&&» языка Си. То есть, на выходе будетлогическая единица тогда и только тогда, когда на ВСЕХ входах имеется логическаяединица. Нарисуем таблицы истинности для элементов 2И и 3ИX10011X20101Y0001X100001111X200110011X301010101Y00000001Жизненная аналогия – поезд.

Пока проводники всех вагонов не дадут добро,машинист не начнёт движение состава.Теперь обозначение по ГОСТ:&&&2И3И4ИНу, и в меру корявое обозначение по ANSI:3И2ИЭлемент НЕА вот с элементом НЕ мы уже познакомились ранее. Его аналог на Си: «!», таблицаистинности у него проста до ужаса:X101Y10Обозначение же у него такое (признак инверсии – кружочек, он нам ещё много гдевстретится):1ГОСТANSIКомбинированные функцииВообще, перечень функций при классическом подходе жёстко лимитирован тем,что продаётся в магазине. Какие бывают типы микросхем – смотрим в справочниках (вдоинтернетовское время – страшный дефицит, обладание справочником Шило было чемто вроде… Вроде… Вроде обладания футболкой «АстроСофт», не всем это было подсилу).

Если мы откроем справочник, то увидим элементы 2И, 3И, 4И, 8И, 2ИЛИ, 4ИЛИ,8ИЛИ… А также всякие там 2И-НЕ, 4ИЛИ-НЕ и т.п. Что это такое? Это чтобы намсэкономить число микросхем на плате, сделали микросхемы, где объединены двефункции. Какая-либо с функцией НЕ.Все уже догадались, как работают подобные функции, но традиции требуют привеститаблицы истинности. Без них при описании логических функций никуда. Поэтомуприведём парочку:Для функции 2И-НЕ таблица истинности будет такая:X10011X20101Y1110А, скажем, для 3ИЛИ-НЕ – такая:X100001111X200110011X301010101Y10000000В обозначении же, просто добавляется уже знакомый нам кружок:1&3ИЛИ-НЕ2И-НЕТеорема Де МорганаПосле того, как лекторы рассказывают о функциях 2что_нибудь-НЕ, они всегдарассказывают и теорему Де Моргана.

Давайте не будем нарушать традиций, тем более,что она поможет нам закрепить навыки работы с таблицами истинности, а эти навыки намещё пригодятся.Классическая запись теоремы выглядит так:X1 &X2=X1 |Y2Где надчёркивание – это обозначение инверсииНА языке Си это будет выглядеть так:!((!x1) && (!x2)) == (x1 || x2);А в виде схемы – так:1&11Давайте докажем эту теорему. Построим таблицу истинности для левой части:100111010&11101&110&110110&11101Итого получаем:X10011X20101Y0111Ну, а таблицу для правой части мы уже строили, она точно такая же, что и требовалосьдоказать.Это правило было чрезвычайно важно при работе с классическими микросхемами, когданарисуешь простыню и думаешь: «Мам моя, где ж я столько накуплю».

И вдруг видишь,что если здесь добавить инвертор (который случайно остался в составе неполностьюиспользуемой микросхемы), то можно поменять тип элемента и выкинуть целуюмикросхему (у меня реально были такие ситуации). Во времена ПЛИС, за нас всё этосделает оптимизатор, но доказывая теорему, мы попрактиковались с построением таблицистинности, уже хлеб.

А на закуску, предлагаю вам самостоятельно доказать вторуютеорему Де Моргана, которая на языке Си записывается так: !((!x1) || (!x2)) == (x1 && x2);Практический пример – кодовый замокКлассическая реализацияНу что. И напоследок разбавим наше сухое повествование каким-нибудь примером,который использовал бы описанные логические элементы. В ЦО раньше на дверях былмеханический кодовый замок, в Новгородском филиале такие до сих пор используются.Там надо нажать сразу несколько кнопок, тогда он откроется.

Если хоть одна кнопканеверна, он не откроется. Давайте сделаем такой же, но электронный.Сначала я спроектирую его в таком базисе, какой можно сделать на реально имеющихсямикросхемах.Пусть наш замок открывается, если одновременно нажаты кнопки 2, 4, 6 и 8. Я не будурассуждать о том, как правильно выбирать логические элементы по справочнику (почему– объясню в следующем разделе), я просто выберу их на основании своего опыта.Что такое замок? Это функция, на входе которой имеется десять переменных типа BOOL– b0, b1, b2, …, b9. Каждая переменная равна 0 (FALSE), если кнопка не нажата и 1(TRUE), если нажата.

И из функции есть выход, который содержит 0, если комбинация неверна и 1 – если верна. С точки зрения электроники, если на выходе появилась единица, тосработал электромагнит и всё нам открыл.Сначала запишем это на привычном нам языке Си:BOOL lock (BOOL b0,BOOL b1, BOOL b2, BOOL b3,…, BOOL b9){// Если нажаты правильные кнопкиBOOL right = b2 && b4 && b6 && b8;// Если нажата хоть одна неправильная кнопкаBOOL wrong = b0 || b1 || b3 || B5 || b7 || b9;return (right && (!wrong));}Вроде так? А теперь барабанная дробь, рисуем то же самое в виде схемы иудивляемся, насколько всё аналогично…b0b1b3b5b7b91&b2b4b6b8OUTИ, собственно, всё. Кнопки я не нарисовал для простоты… А так – схема готова.Если уж кто хочет совсем реальную схему, то она будет выглядеть так:«Правильные»«Неправильные»кнопкикнопкиVcc1&OUTНа реальной схеме мы видим два отличия от прошлой.

Во-первых, почему-тофункции стали восьмивходовыми. Всё просто – в реальной жизни не выпускаетсямикросхем 6ИЛИ-НЕ и 5И. Поэтому пришлось взять такие, какие выпускаются, а вселишние выводы соединить так, чтобы не мешались. Ну, и резисторы. Помните смывнойбачок? Я его во всех лекциях буду вспоминать, очень полезная штука.

Эти резисторыобеспечивают подтяжку входов к общему проводу. В общем, если заряд случайно откудато взялся – он стечёт в канализацию. Но если кнопка нажата – логическая единицапобедит, так как кнопка – это широкая труба, а резистор – всё-таки тонкая трубочка. Нокогда кнопку отпустят – остатки заряда вновь стекут через резистор, и на линии сновавоцарится логический ноль…Реализация на базе ПЛИСУра! Ура! Теперь я с чистой совестью могу повторить один из аргументов, которыеприводил в статье про ПЛИС, но на этот раз те, кто читал статьи внимательно, уже всёпоймут.

Итак. Давайте запишем функцию замка на языке Си чуть иначе:BOOL lock (BOOL b0,BOOL b1, BOOL b2, BOOL b3,…, BOOL b9){return (!b0) && (!b1) && (b2) && (!b3) && (b4) && (!b5) && (b6) && (!b7) && (b8)&& (!b9);}Имеем право? Не вижу причин, почему нет. То есть, мы в самой функции указали,какие кнопки правильные, а какие – нет. Зарисуем это в виде схемыb0b1b2b3b4b5b6b7b8b9&OUTБудет работать такая схема? Если мы построим таблицы истинности для прошлой идля этой, то они совпадут. Значит будет. А почему мы сразу не нарисовали её? А потомучто максимальная микросхема, какая бывает – это 8И. 10 входов пришлось быкаскадировать, а ещё и входные инверторы пришлось бы брать внешние – уже тримикросхемы (против двух в прошлой схеме) и три шага обработки (а значит – низкоебыстродействие).

В общем, при классическом подходе – неприемлемо… Но то приклассическом.Откройте статью про ПЛИС и посмотрите структуру простейшей ПЛМ. Что мывидим? Правильно, опциональные инверторы на входе, потом – элемент И (скажу, чтодаже в самой вшивой ПЛМ он 16-входовой). То есть, мы реализуем наш замоквоспользовавшись одним элементом ПЛМ. А этих элементов там много. Так что ещё иостанется.

Я молчу про CPLD, где их ещё больше!Что же до FPGA, то я тоже уже говорил, там компилятор рассчитывает таблицуистинности функций и кладёт её в ОЗУшки. Так что там всё тоже получится просто исимпатично. И займёт это – хорошо если 1% от ёмкости, а то и меньше.Вот и получается, что в классическом случае, нам пришлось подгонять логикуработы замка под имеющуюся комплектацию (хорошо, если она есть в магазине, а топотом ещё переделывать придётся), затем – купить эти две микросхемы (а у микросхемболее 70% стоимости составляет корпус, так что чем их больше, тем дороже, ПЛИСможет оказаться дешевле этой парочки), затем – как-то разместить их на плате и развестисвязи между ними… А в случае с ПЛИС, мы взяли самую понятную для нас функцию, авсё остальное за нас сделал компилятор.

И не просто поместил всё в одну микросхему, аещё и оставил в ней место для других функций. Как говорится, почувствуйте разницу. Изабудьте о классическом подходе, как о страшном сне.Функции для обработки данных (из которых потом соберём процессор )рассмотрим чуть позже, а пока давайте изучим такую полезную вещь, как триггер. Носделаем мы это уже в следующей лекции..

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее