1lytics

Создание демультиплексера 1-в-4 с использованием Lua

Что такое демультиплексер

В цифровой электронике демультиплексер (DEMUX) - это логическое устройство, получающее на входе один двоичный сигнал и передающий его на одну из многих выходных линий. Мультиплексер часто используется в паре с демультиплексером на принимающей сигнал стороне.

Демультиплексер 1-в-4 имеет один входной сигнал, который переключается на одну из четырех выходных линий, и два сигнала выбора (адресные линии), которые используются для выбора выходной линии, на которую будет передан входной сигнал.

Версии Gorgeous Karnaugh с поддержкой Lua

Замечание: Не все версии программного обеспечения Gorgeous Karnaugh поддерживают Lua. Проверьте возможности вашей версии тут.

Написание Lua-скрипта для задания таблицы истинности

На естественном языке можно описать дешифратор 1-в-4, как устройство, которое передает входной сигнал на один из выходов, номер которого задан на адресных входах. Можно задать таблицу истинности для дешифратора вручную, но хорощей идеей является идея перевести описание в Lua-скрипт:

gkAddInputVar('a', 2)
gkAddInputVar('x')
gkAddFunction('y', 4)
MaxInput = gkGetMaxInputVector()
for InputVec = 0, MaxInput do
    addrBits = gkGetBits( InputVec, 1, 2 )
    x = gkGetInputValue( InputVec, 'x' )
    gkSetOutput(InputVec, 0)
    gkSetFunctionValue( InputVec, addrBits, x)
end

Запустите программу Gorgeous Karnaugh, выберите пункт меню “File” — “New” — “Empty set for scripting”. После ввода скрипта нажмите “Alt-Enter” (или выберите пункт меню “Edit” — “Execute Lua script”).

Карты Карно для минимизации

Вышеприведенный Lua-скрипт, формирует следующие карты Карно:

Карта Карно для выхода Y1 демультиплексера 1-в-4 Карта Карно для выхода Y2 демультиплексера 1-в-4 Карта Карно для выхода Y3 демультиплексера 1-в-4 Карта Карно для выхода Y4 демультиплексера 1-в-4

Минимизация карт Карно

Минимизируем карты Карно по 0 для получения КНФ::

Минимизированная по 0 карта Карно для выхода Y1 демультиплексера 1-в-4 Минимизированная по 0 карта Карно для выхода Y2 демультиплексера 1-в-4 Минимизированная по 0 карта Карно для выхода Y3 демультиплексера 1-в-4 Минимизированная по 0 карта Карно для выхода Y4 демультиплексера 1-в-4

получим минимальную форму для выходных функций:

y1 = (!a1) (!a2) (x);
y2 = (!a1) (a2) (x);
y3 = (!a2) (a1) (x);
y4 = (a2) (a1) (x);

Минимизируем карты Карно по 1 для получения ДНФ:

Минимизированная по 1 карта Карно для выхода Y1 демультиплексера 1-в-4 Минимизированная по 1 карта Карно для выхода Y2 демультиплексера 1-в-4 Минимизированная по 1 карта Карно для выхода Y3 демультиплексера 1-в-4 Минимизированная по 1 карта Карно для выхода Y4 демультиплексера 1-в-4

получим минимальную форму для выходных функций:

y1 = !a1 !a2 x;
y2 = !a1 a2 x;
y3 = a1 !a2 x;
y4 = a1 a2 x;

Построение схемы на логических вентилях

В панели “Coverage sets” выберите необходимый набор покрытий. Затем, выберите пункт меню: “Coverages” — “Open Schematic”. В появившемся диалоговом окне выберите нужные параметры генерации схемы, и нажмите кнопку “Ok”. После этого откроется окно со схемой.

Схемы по результатам минимизации по 0 и 1:

Схема демультиплексера 1-в-4 на логических вентилях - минимизация по 0 Схема демультиплексера 1-в-4 на логических вентилях - минимизация по 1

Проверка работоспособности схемы на логических вентилях в симуляторе

Вы можете использовать программу “CEDAR Logic Simulator” для проверки работоспособности вашей схемы. Для этого, выберите пункт меню “File” — “Save for CedarLogic” в программе Gorgeous Schematic, сохраните файл “.CDL” и откройте его в программе “CEDAR Logic Simulator”.

Замечание: Не все версии программного обеспечения Gorgeous Karnaugh поддерживают экспорт схем на логических вентилях в формат программы CedarLogic. Проверьте возможности вашей версии тут.

Версии Gorgeous Karnaugh

Вы можете узнать о возможностях программы Gorgeous Karnaugh и сравнить различия между различными версиями Gorgeous Karnaugh на странице сравнения версий.