[Из песочницы] Пример проектирования цифрового устройства «на пальцах»

Привет, Хабр! Это начало небольшого цикла из двух статей с пошаговым проектированием цифрового устройства с уклоном на практику. Минимум «воды» и максимум практики!

3tcq3ggjrajrjlol7900ljl8w2m.png

Для начала работы возьмем следующие выходные параметры: 0000110001110001

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

Инструменты, материалы и прочее:


  • Electronics Workbench
  • Линейка, ручка и листок (для общих расчетов)
  • Базовые знания дискретной математики, цифровой схемотехники и принципа работы представленных программ
  • Условное графическое обозначение микросхем 7404 (аналог К155ЛН1), 7410 (аналог К155ЛА4), 7410 (аналог К155ЛА4) и 7420 (аналог К155ЛА1)
  • Фактическое изображение микросхем 7404 (аналог К155ЛН1), 7410 (аналог К155ЛА4), 7410 (аналог К155ЛА4) и 7420 (аналог К155ЛА1)


Начало работы


1. Построение таблицы истинности и нахождение совершенной дизъюнктивной нормальной формы (СДНФ)


Первым делом необходимо составить таблицу истинности по формуле

-g0rf8iielc6qqpxhz0alcevyi4.png


где N — количество возможных вариантов, а i — количество выходных сигналов.

В представленном случае это будет выглядеть так:

hfpzigmhasncllytgh73mrzv2e0.png


На основе полученных данных можно перейти к построению таблицы истинности. Для наглядности входные сигналы были обозначены как A, B, C и D, выходной как F.

jqbo5jon4ma1mlev8iatlxwho_0.png


После построения таблицы истинности можно приступать к получению СДНФ. Это выполняется в два шага:

  1. Выделяются строчки таблицы истинности, в которых F=1.
  2. Выписывается конъюнкция переменных у всех выделенных строк по следующей формуле: если значение переменной равно 1, то в конъюнкцию включается сама переменная. Если значение равно 0, то включается отрицание переменной. Полученные конъюнкции нужно связать в дизъюнкцию.


По итогу выходит такая СДНФ:

lfrvvpesacx_6wqu8dgefpzm4jy.png

Более наглядно:
vmxeagvlllznz0i7q6oqu-vc5rq.png


2. Создание карты Карно, минимизация и приведение к базису И-НЕ


Полученную СДНФ необходимо сократить при помощи карт Карно.

Три шага для построения карт Карно:

  1. так как используются четыре переменные (A, B, C и D), то строится таблица 5×5 клеток;
  2. таблица заполняется на основе «координат» из таблицы истинности (из строк, в которых F=1) или СДНФ (суть одна. Просто кому как удобнее);
  3. в заключение смежные клетки объединяются в группы. Группы не должны содержать нули. Группы должны быть кратны двум. Группы могут пересекаться.


В итоге получилось 4 группы:

5e3rrabjnyn2ndkrz1-g3wmc9na.png

Более наглядно:
5n_gowyqjew1wuyrftrlpy68o5c.png


Следующее действие — минимизация полученных групп. Общий принцип можно свести к следующему:
Если 11 — значение не меняется;
Если 00 — присваивается отрицание;
Если 01 (или 10) — вычеркивается.

rwisjgp8cir_29r_xcgdfqqls2m.png

Полученные произведения связываются в дизъюнкцию:

2mefmtwi7c_ymnwlqoo3vhwji9u.png

После чего составленное выражение приводится к базису И-НЕ при помощи закона де Моргана (отрицание конъюнкции есть дизъюнкция отрицаний, отрицание дизъюнкции есть конъюнкция отрицаний):

93wcnoo_zg84ftg86zdia7ppneg.png

Обратите внимание на изменения — появилось двойное отрицание (по одной на «группу» и одно общее) и изменились знаки.

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

Пример логической схемы:

q14x7tbcw-hwtgid7knrzzxqnw4.png

3. Электронная схема на основе логических элементов


Основные расчеты завершены. Теперь можно отложить листок с ручкой и линейкой. Переходим в Electronics Workbench.

В данном случае этот этап выступает «промежуточным» и упрощает процесс перехода от выражения в базисе И-НЕ к электронной схеме на основе микросхем.

ryftkn_t7nn7lkvtqb_zsumcnzu.png

Более наглядно:
luhvkwx-r6gvopeen9anveemph0.png

1 — Питание;
2 — Переключатели, используемые для подачи сигналов;
3 — Индикаторы (применяются для наглядной проверки работоспособности);
4 — Логические элементы типа «НЕ»;
5 — Логические элементы типа »3И-НЕ»;
6 — Логический элемент типа »4И-НЕ»;
7 — Заземление.


Как можно заметить, логические элементы электронной схемы внешне отличаются от тех, что были представлены ранее (в логической схеме). Это связано с тем, что в Electronics Workbench условное графическое обозначение логических элементов выполнено по стандартам ANSI, тогда как показанная ранее логическая схема была выполнена в соответствии ГОСТ 2.743–91.

tgoaaynr0sw3utt31visixxjixk.png

Идем дальше.

Работоспособность электронной схемы проверяется по таблице истинности. Для этого нужно нажать кнопку запуска

ih3zdumpaoihhgevg1p96xvzec0.png

и начать производить переключения, проводя сравнение с таблицей истинности.

Пример:

h-wcz1fsd4z3lslsg-o7_vlmwfw.gif

ВАЖНО: нужно проверять каждую строчку. Выборочная проверка ничего не даст.

4. Электронная схема на основе микросхем


На базе имеющихся данных производится построение электронной схемы на основе микросхем (также по полученной схеме можно будет ориентироваться во время проектирования печатной платы).

zo9w-x_-ezjuovljylpvbp0p6aq.png

Как можно заметить, в полученной электронной схеме использовано 4 микросхемы — 7404 (аналог К155ЛН1), 7410 (аналог К155ЛА4), 7410 (аналог К155ЛА4) и 7420 (аналог К155ЛА1). Для того чтобы понять, как происходит подключение, следует обратиться к фактическому изображению микросхем.

Фактические изображения:


Сначала это может показаться сложным, но со временем вы поймете, что это не так уж и трудно.
ВАЖНО: не забывайте делать проверку.

Продолжение следует…

© Habrahabr.ru