Собрать логическую схему онлайн
Построение логических схем
Почему необходимо уметь строить логические схемы?
Дело в том, что из вентилей составляют более сложные схемы, которые позволяют выполнить арифметические операции и хранить информацию. Причем схему, выполняющую определенные функции, можно построить из различных по сочетанию и количеству вентилей. Поэтому значение формального представления логической схемы чрезвычайно велико. Оно необходимо для того, чтобы разработчик имел возможность выбрать наиболее подходящий ему вариант построения схемы из вентилей. Процесс разработки общей логической схемы устройства (в том числе и компьютера в целом) таким образом становится иерархическим, причем на каждом следующем уровне в качестве «кирпичиков» используются логические схемы, созданные на предыдущем этапе.
Алгебра логики дала в руки конструкторам мощное средство разработки, анализа и совершенствования логических схем. В самом деле, гораздо проще, быстрее и дешевле изучать свойства и доказывать правильность работы схемы с помощью выражающей ее формулы, чем создавать реальное техническое устройство. Именно в этом состоит смысл любого математического моделирования.
Логические схемы необходимо строить из минимально возможного количества элементов, что в свою очередь, обеспечивает большую скорость работы и увеличивает надежность устройства.
Алгоритм построения логических схем :
1) Определить число логических переменных.
2) Определить количество базовых логических операций и их порядок.
3) Изобразить для каждой логической операции соответствующий ей вентиль.
4) Соединить вентили в порядке выполнения логических операций.
Составить логическую схему для логического выражения: F = ¬ X v Y & X .
1) Две переменные – X и Y .
2) Две логические операции: 1 3 2
3) Строим схему, соединяя вентили в порядке выполнения логических операций:
Постройте логическую схему, соответствующую логическому выражению F = X & Y v ¬ ( Y v X ).
Вычислить значения выражения для X =1, Y =0.
1) Переменных две: X и Y .
2) Логических операций четыре: конъюнкция, две дизъюнкции и отрицание. Определяем порядок выполнения операций:
3) Схему строим слева направо в соответствии с порядком выполнения логических операций:
4) Вычислим значение выражения: F =1&0 v ¬ ( 0 v 1)=0.
Постройте логическую схему, соответствующую логическому выражению, и найдите значение логического выражения:
1) F=A v B& ¬ C, если A=1, B=1, C=1 .
2) F = ¬ (A v B&C), если A=0, B=1, C=1 .
3) F = ¬ A v B&C, если A=1, B=0, C=1 .
4) F =(A v B)&(C v B), если A=0, B=1, C=0 .
5) F = ¬ (A&B&C), если A=0, B=0, C=1 .
6) F=B& ¬ A v ¬ B&A, если A=0, B=0 .
7) F= ¬ (A&B&C) v (B&C v ¬ A), если A=1, B=1, C=0 .
Логические схемы и таблицы истинности
Логические схемы создаются для реализации в цифровых устройствах булевых функций (функций алгебры логики).
В цифровой схемотехнике цифровой сигнал — это сигнал, который может принимать два значения, рассматриваемые как логическая «1» и логический «0».
Логические схемы могут содержать до 100 миллионов входов и такие гигантские схемы существуют. Представьте себе, что булева функция (уравнение) такой схемы была потеряна. Как восстановить её с наименьшими потерями времени и без ошибок? Наиболее продуктивный способ — разбить схему на ярусы. При таком способе записывается выходная функция каждого элемента в предыдущем ярусе и подставляется на соответствующий вход на следующем ярусе. Этот способ анализа логических схем со всеми нюансами мы сегодня и рассмотрим.
Логические схемы реализуются на логических элементах: «НЕ», «И», «ИЛИ», «И-НЕ», «ИЛИ-НЕ», «Исключающее ИЛИ» и «Эквивалентность». Первые три логических элемента позволяют реализовать любую, сколь угодно сложную логическую функцию в булевом базисе. Мы будем решать задачи на логические схемы, реализованные именно в булевом базисе.
Для обозначения логических элементов используется несколько стандартов. Наиболее распространёнными являются американский (ANSI), европейский (DIN), международный (IEC) и российский (ГОСТ). На рисунке ниже приведены обозначения логических элементов в этих стандартах (для увеличения можно нажать на рисунок левой кнопкой мыши).
На этом уроке будем решать задачи на логические схемы, на которых логические элементы обозначены в стандарте ГОСТ.
Задачи на логические схемы бывают двух видов: задача синтеза логических схемы и задачи анализа логических схем. Мы начнём с задачи второго типа, так как в таком порядке удаётся быстрее научиться читать логические схемы.
Чаще всего в связи с построением логических схем рассматриваются функции алгебры логики:
- трёх переменных (будут рассмотрены в задачах анализа и в одной задаче синтеза);
- четырёх переменных (в задачах синтеза, то есть в двух последних параграфах).
Рассмотрим построение (синтез) логических схем
- в булевом базисе «И», «ИЛИ», «НЕ» (в предпоследнем параграфе);
- в также распространённых базисах «И-НЕ» и «ИЛИ-НЕ» (в последнем параграфе).
Задача анализа логических схем
Задача анализа заключается в определении функции f , реализуемой заданной логической схемой. При решении такой задачи удобно придерживаться следующей последовательности действий.
- Логическая схема разбивается на ярусы. Ярусам присваиваются последовательные номера.
- Выводы каждого логического элемента обозначаются названием искомой функции, снабжённым цифровым индексом, где первая цифра — номер яруса, а остальные цифры — порядковый номер элемента в ярусе.
- Для каждого элемента записывается аналитическое выражение, связывающее его выходную функцию с входными переменными. Выражение определяется логической функцией, реализуемой данным логическим элементом.
- Производится подстановка одних выходных функций через другие, пока не получится булева функция, выраженная через входные переменные.
Пример 1. Найдите булеву функцию логической схемы и составьте таблицу истинности для логической схемы.
Решение. Разбиваем логическую схему на ярусы, что уже показано на рисунке. Запишем все функции, начиная с 1-го яруса:
Теперь запишем все функции, подставляя входные переменные x, y, z :
В итоге получим функцию, которую реализует на выходе логическая схема:
.
Таблица истинности для данной логической схемы:
Logisim
Программное обеспечение для разработки и симулирования цифровых логических схем.
Программа Logisim имеет простой графический интерфейс и в первую очередь применяется в качестве образовательного инструмента. Приложение включает в себя: панель инструментов, строку меню, панель проводника (со списком схем и инструментов загруженных библиотек), таблицу атрибутов выделенного компонента или инструмента и рабочее окно с компонентами схемы.
Программа Logisim имеет обширную библиотеку. Среди основных элементов можно отметить: блок логических элементов (управляемый инвертор и буфер, НЕ, ИЛИ, И, четность и нечетность и т.д.), элементы проводки (разветвитель, датчик, контакт, согласующий резистор, передаточный вентиль, тоннель и т.д.), элементы ввода/вывода (кнопка, клавиатура, джойстик, светодиод, семисегментный индикатор, терминал, светодиодная матрица и т.д.), набор мультиплексоров, блок арифметических операций (сумматор, множитель, вычитатель, делитель, компаратор, отрицатель и т.д.), элементы памяти (триггеры, регистры, ОЗУ и ПЗУ, счетчики, генераторы случайных чисел и т.д.). Приложение также позволяет рисовать вертикальные/горизонтальные проводники и осуществляет их автоматическое подключение к элементам схем.
Программа Logisim дает возможность не только рисовать цифровые схемы, но и симулировать их поведение. При этом просчет процессов происходит прямо в ходе редактирования схемы – изменяются значения на входах/выходах, элементы вывода отображают соответствующую информацию, обновляется состояние устройств памяти, а провода в зависимости от значений меняют свой цвет. Для схем с тактовыми генераторами моделирование можно осуществлять либо потактово, либо путем установки максимальной тактовой частоты.
Одной из важнейших возможностей программы Logisim является создание подсхем с целью повторного применения уже спроектированных частей, а также для упрощения процесса отладки. Приложение включает небольшой редактор векторной графики, способный менять внешний вид и расположение контактов подсхем при их добавлении в другие схемы. Еще один модуль – «Комбинационный анализ» – позволяет преобразовывать данные между логическими выражениями, логическими схемами и таблицами истинности, давая возможность конвертировать информацию во всех направлениях. Все провода в программе Logisim имеют один из семи цветов, несущих информацию об их назначении. Провода можно собирать в пучки с назначением порядка входа в пучок. Кроме того поддерживается: создание на языке Java пользовательских библиотек компонентов, привязка любого инструмента к определённой комбинации клавиш, вывод полной статистики по количеству и типам компонентов, содержащихся в схеме. Необходимо отметить, что программа Logisim не дает возможности работать с аналоговыми элементами.
Программа Logisim была разработана преподавателем Hendrix College, профессором Карлом Берчем (США, штат Арканзас, город Конуэй). Перевод на русский язык был выполнен Ильей Лиловым. Данный инструмент моделирования логических схем впервые появился в 2001 году, и с тех пор регулярно обновляется и дополняется.
Приложение Logisim является свободным программным обеспечением (лицензия GNU GPL). Софт включает в себя: справку по элементам библиотеки, полное руководство пользователя и краткое пособие для начинающих.
Программа Logisim представлена на русском (включая полную документацию), английском, немецком, испанском, португальском и греческом языках.
Для работы рассматриваемого конструктора схем необходимо наличие пакета Java Runtime Environment (5 версии или более поздней). Программа Logisim является кроссплатформенным программным обеспечением и работоспособна на операционных системах: Microsoft Windows (поддерживаются все последние версии), MacOS, Linux и Solaris. Дистрибутив приложения содержит один исполняемый файл, не требующий установки.
Распространение программы: бесплатная.
Официальный сайт Logisim: http://cburch.com
Форматы файлов Logisim: CIRC
Построение таблицы истинности. СДНФ. СКНФ. Полином Жегалкина.
Онлайн калькулятор позволяет быстро строить таблицу истинности для произвольной булевой функции или её вектора, рассчитывать совершенную дизъюнктивную и совершенную конъюнктивную нормальные формы, находить представление функции в виде полинома Жегалкина, строить карту Карно и классифицировать функцию по классам Поста.
Калькулятор таблицы истинности, СКНФ, СДНФ, полинома Жегалкина
введите функцию или её вектор
Построено таблиц, форм: 280566
Как пользоваться калькулятором
- Введите в поле логическую функцию (например, x1 ∨ x2) или её вектор (например, 10110101)
- Укажите действия, которые необходимо выполнить с помощью переключателей
- Укажите, требуется ли вывод решения переключателем «С решением»
- Нажмите на кнопку «Построить»
Видеоинструкция к калькулятору
Используемые символы
В качестве переменных используются буквы латинского и русского алфавитов (большие и маленькие), а также цифры, написанные после буквы (индекс переменной). Таким образом, именами переменных будут: a , x , a1 , B , X , X1 , Y1 , A123 и так далее.
Для записи логических операций можно использовать как обычные символы клавиатуры ( * , + , ! , ^ , -> , = ), так и символы, устоявшиеся в литературе ( ∧ , ∨ , ¬ , ⊕ , → , ≡ ). Если на вашей клавиатуре отсутствует нужный символ операции, то используйте клавиатуру калькулятора (если она не видна, нажмите «Показать клавиатуру»), в которой доступны как все логические операции, так и набор наиболее часто используемых переменных.
Для смены порядка выполнения операций используются круглые скобки ().
Обозначения логических операций
- И (AND): & • ∧ *
- ИЛИ (OR): ∨ +
- НЕ (NOT): ¬ !
- Исключающее ИЛИ (XOR): ⊕ ^
- Импликация: -> → =>
- Эквивалентность: =
Что умеет калькулятор
- Строить таблицу истинности по функции
- Строить таблицу истинности по двоичному вектору
- Строить совершенную конъюнктивную нормальную форму (СКНФ)
- Строить совершенную дизъюнктивную нормальную форму (СДНФ)
- Строить полином Жегалкина (методами Паскаля, треугольника, неопределённых коэффициентов)
- Определять принадлежность функции к каждому из пяти классов Поста
- Строить карту Карно
- Минимизировать ДНФ и КНФ
- Искать фиктивные переменные
Что такое булева функция
Булева функция f(x1, x2, . xn) — это любая функция от n переменных x1, x2, . xn, в которой её аргументы принимают одно из двух значений: либо 0, либо 1, и сама функция принимает значения 0 или 1. То есть это правило, по которому произвольному набору нулей и единиц ставится в соответствие значение 0 или 1. Подробнее про булевы функции можно посмотреть на Википедии.
Что такое таблица истинности?
Таблица истинности — это таблица, описывающая логическую функцию, а именно отражающую все значения функции при всех возможных значениях её аргументов. Таблица состоит из n+1 столбцов и 2 n строк, где n — число используемых переменных. В первых n столбцах записываются всевозможные значения аргументов (переменных) функции, а в n+1-ом столбце записываются значения функции, которые она принимает на данном наборе аргументов.
Довольно часто встречается вариант таблицы, в которой число столбцов равно n + число используемых логических операций. В такой таблице также первые n столбцов заполнены наборами аргументов, а оставшиеся столбцы заполняются значениями подфункций, входящих в запись функции, что позволяет упростить расчёт конечного значения функции за счёт уже промежуточных вычислений.
Логические операции
Логическая операция — операция над высказываниями, позволяющая составлять новые высказывания путём соединения более простых. В качестве основных операций обычно называют конъюнкцию (∧ или &), дизъюнкцию (∨ или |), импликацию (→), отрицание (¬), эквивалентность (=), исключающее ИЛИ (⊕).
Таблица истинности логических операций
Как задать логическую функцию
Есть множество способов задать булеву функцию:
- таблица истинности
- характеристические множества
- вектор значений
- матрица Грея
- формулы
Рассмотрим некоторые из них:
Чтобы задать функцию через вектор значений необходимо записать вектор из 2 n нулей и единиц, где n — число аргументов, от которых зависит функция. Например, функцию двух аргументов можно задать так: 0001 (операция И), 0111 (операция ИЛИ).
Чтобы задать функцию в виде формулы, необходимо записать математическое выражение, состоящее из аргументов функции и логических операций. Например, можно задать такую функцию: a∧b ∨ b∧c ∨ a∧c
Способы представления булевой функции
С помощью формул можно получать огромное количество разнообразных функций, причём с помощью разных формул можно получить одну и ту же функцию. Иногда бывает весьма полезно узнать, как построить ту или иную функцию, используя лишь небольшой набор заданных операций или используя как можно меньше произвольных операций. Рассмотрим основные способы задания булевых функций:
- Совершенная дизъюнктивная нормальная форма (СДНФ)
- Совершенная конъюнктивная нормальная форма (СКНФ)
- Алгебраическая нормальная форма (АНФ, полином Жегалкина)
Совершенная дизъюнктивная нормальная форма (ДНФ)
Простая конъюнкция — это конъюнкция некоторого конечного набора переменных, или их отрицаний, причём каждая переменная встречается не более одного раза.
Дизъюнктивная нормальная форма (ДНФ) — это дизъюнкция простых конъюнкций.
Совершенная дизъюнктивная нормальная форма (СДНФ) — ДНФ относительно некоторого заданного конечного набора переменных, в каждую конъюнкцию которой входят все переменные данного набора.
Например, ДНФ является функция ¬a bc ∨ ¬a ¬b c ∨ ac, но не является СДНФ, так как в последней конъюнкции отсутствует переменная b.
Совершенная конъюнктивная нормальная форма (КНФ)
Простая дизъюнкция — это дизъюнкция одной или нескольких переменных, или их отрицаний, причём каждая переменная входит в неё не более одного раза.
Конъюнктивная нормальная форма (КНФ) — это конъюнкция простых дизъюнкций.
Совершенная конъюнктивная нормальная форма (СКНФ) — КНФ относительно некоторого заданного конечного набора переменных, в каждую дизъюнкцию которой входят все переменные данного набора.
Например, КНФ является функция (a ∨ b) ∧ (a ∨ b ∨ c), но не является СДНФ, так как в первой дизъюнкции отсутствует переменная с.
Алгебраическая нормальная форма (АНФ, полином Жегалкина)
Алгебраическая нормальная форма, полином Жегалкина — это форма представления логической функции в виде полинома с коэффициентами вида 0 и 1, в котором в качестве произведения используется операция конъюнкции, а в качестве сложения — исключающее ИЛИ.
Примеры полиномов Жегалкина: 1, a, a⊕b, ab⊕a⊕b⊕1
Алгоритм построения СДНФ для булевой функции
- Построить таблицу истинности для функции
- Найти все наборы аргументов, на которых функция принимает значение 1
- Выписать простые конъюнкции для каждого из наборов по следующему правилу: если в наборе переменная принимает значение 0, то она входит в конъюнкцию с отрицанием, а иначе без отрицания
- Объединить все простые конъюнкции с помощью дизъюнкции
Алгоритм построения СКНФ для булевой функции
- Построить таблицу истинности для функции
- Найти все наборы аргументов, на которых функция принимает значение 0
- Выписать простые дизъюнкции для каждого из наборов по следующему правилу: если в наборе переменная принимает значение 1, то она входит в дизъюнкцию с отрицанием, а иначе без отрицания
- Объединить все простые дизъюнкции с помощью конъюнкции
Алгоритм построения полинома Жегалкина булевой функции
Есть несколько методов построения полинома Жегалкина, в данной статье рассмотрим наиболее удобный и простой из всех.
- Построить таблицу истинности для функции
- Добавить новый столбец к таблице истинности и записать в 1, 3, 5. ячейки значения из тех же строк предыдущего столбца таблицы истинности, а к значениям в строках 2, 4, 6. прибавить по модулю два значения из соответственно 1, 3, 5. строк.
- Добавить новый столбец к таблице истинности и переписать в новый столбец значения 1, 2, 5, 6, 9, 10. строк, а к 3, 4, 7, 8, 11, 12. строкам аналогично предыдущему пункту прибавить переписанные значения.
- Повторить действия каждый раз увеличивая в два раза количество переносимых и складываемых элементов до тех пор, пока длина не станет равна числу строк таблицы.
- Выписать булевы наборы, на которых значение последнего столбца равно единице
- Записать вместо единиц в наборах имена переменных, соответствующие набору (для нулевого набора записать единицу) и объединить их с помощью операции исключающего ИЛИ.
Примеры построения различных представлений логических функций
Построим совершенные дизъюнктивную и дизъюнктивную нормальные формы, а также полином Жегалкина для функции трёх переменных F = ¬a b∨ ¬b c∨ca
4 симулятора работы электрических схем на русском
Qucs – удобный симулятор для радиолюбителей
Симулятор с дружелюбным интерфейсом для разработки и расчета электронных цепей и контуров.
Программное обеспечение Quite Universal Circuit Simulator является редактором с графическим интерфейсом с комплексом технических возможностей для конструирования схем. Для управления сложными схемами включена возможность разворачивания подсхем и формирования блоков. Софт включает встроенный текстовый редактор, приложения для расчета фильтров и согласованных цепей, калькуляторы линий и синтеза аттенюаторов. Чертеж можно оформить с обрамлением рамки и стандартного штампа.
Конструктор схем Qucs включает широкую базу современных компонентов, разделенных на категории: дискретные (резисторы, конденсаторы и др), нелинейные (транзисторы и диоды), цифровые (базовые цифровые устройства и логические вентили) и другие (источники, измерители). Особый интерес представляют рисунки и диаграммы.
Qucs может настраиваться на множество языков, включая русский.
Программа функционирует на Mac OS, Linux и Windows XP, Vista, 7 и 8.
Симулятор – конструктор электронных схем “Начала электроники”
Существует очень интересная программа, которая представляет собой несложный симулятор для демонстрации работы электрических схем и работы измерительных приборов. Удобство его не только в наглядности, но и в том, что интерфейс на русском языке. Она позволяет смоделировать на макетнице очень простые принципиальные схемы. Называется программа “Начала электроники”. Ссылка на нее внизу страницы, видео канала Михаила Майорова.
Программа работает, начиная от Windows 98 и заканчивая Windows 7. Интерфейс выглядит следующим образом.
Внизу располагается чертеж печатной платы, но для нас наибольший интерес представляет панелька с макетной платой. Наверху кнопки управления: загрузить схему из файла, сохранить схему, очистка макетной платы, получить мультиметр, получить осциллограф, показать параметры деталей, состояние деталей, справочник, (кратко изложены понятия об электричестве), небольшой список лабораторных работ для самостоятельного их проведения, инструкция по пользованию симулятором, информация об авторах, выход из программы.
На видео о том, как работает симулятор цепи.
Что можно собрать на симуляторе схем?
На этом простом симуляторе можно собрать довольно много интересных вещей. Для начала давайте смоделируем обычный фонарик. Для этого нам потребуется лампочка, две батарейки и, естественно, все это надо будет соединить перемычками. Ну и какой же фонарик без выключателя и лампочки?
Двойным щелчком вызываем окно параметров батарейки. На появившейся вкладке видим напряжение, внутреннее сопротивление, показывающее ее мощность, миниполярность. В данном случае батарейка вечная.
Когда схема собрана, нажимаем два раза выключатель и лампочка почему то сгорает. Почему? Суммарное напряжение последовательно соединенных батареек 3 вольта. Лампочка по умолчанию была на 2,5 вольта, поэтому и сгорела. Ставим 3-вольтовую лампочку и снова включаем. Лампочка благополучно светится.
Теперь берем вольтметр. Вот у него загораются “ладошки”. Это измерительные щупы. Давайте перенесем щупы к лампочке и поставим измерение постоянного напряжения с пределом 20 Вольт. На мониторе показывает 2,97 вольта. Теперь попробуем измерить силу тока. Для этого берем второй мультиметр. Прибор, подсоединенный в схему, показал почти 50 миллиампер.
Практически как на настоящем мультиметре, можно измерить множество параметров. Есть также в симуляторе осциллограф, у которого даже регулируется яркость луча. Кроме того, есть реостат, можно двигать движок. Есть переменный конденсатор, шунты, нагревательная печка, резисторы, предохранители и другое. К сожалению, в данном симуляторе нет транзисторов.
Выводы по программе “Начала электроники”
Для начинающих радиолюбителей это просто замечательная программа, простая и написанная на русском языке, на которой можно научиться многим операциям со схемами, мультиметром и осциллографом. Пригодится она и для разработки оптимальных решений для электрических плат. Скачать программу “Начала электроники”
Для продвинутых задач нужны другие программы, которые также есть в интернете. Одна из популярных – Workbench Electronic.
Logisim – бесплатная программа для создания и имитации цифровых логических схем
Logisim отличается наличием русским языка, у нее несложный графический интерфейс. Прежде всего предназначена для обучения. Приложение включает: панель инструментов, строку меню, панель проводника (со списком схем и инструментов загруженных библиотек), таблицу атрибутов выделенного компонента или инструмента и рабочее окно с компонентами схемы.
Интересной способностью программы Logisim является создание подсхем для решения задачи повторного применения ранее спроектированных частей и облегчения хода отладки. Имеется редактор векторной графики, способный менять внешний вид и расположение контактов подсхем при их добавлении в другие схемы.
Программа Logisim бесплатная. Официальный сайт
Multisim – конструктор электрических схем
Multisim – одна из продвинутых программ для профессионалов и просто людей, которые увлекаются радиотехникой. Программа может сконструировать огромный набор видов электросхем. Если вы стремитесь смоделировать свои электронные задумки и проверить их работоспособность, то скачивайте программу Multisim. В интернете есть варианты на русском языке.
- Автоматическая проверка схемы. Возможность анализировать схему и показывать радио-мастеру информацию о вероятных сбоях.
- Можно импортировать и экспортировать данные в стороннее программное обеспечение.
- Большая база компонентов. Формирование электронных соединений перетягиванием радиодеталей, создание платы.
- Мощная поддержка на форумах, огромное количество пользователей готовы помочь с проблемами.
Знакомство с Multisim