1lytics

Создание приоритетного шифратора 8-в-3 с использованием Lua

Что такое приоритетный шифратор, вы можете найти в статье приоритетный шифратор 4-в-2.

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

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

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

Так как таблица истинности для 8 входных переменных будет содержать 256 строк и потребует слишком много ручной работы для ее заполнения, используем возможности программы Gorgeous Karnaugh по заданию таблицы истинности при помощи скрипта Lua. Запустите программу Gorgeous Karnaugh, выберите пункт меню “File” — “New” — “Empty set for scripting” и введите приведенный ниже скрипт:

gkAddInputVar('x', 8)
gkAddFunction('v')
gkAddFunction('y', 3)
MaxInput = gkGetMaxInputVector()
for InputVector = 0, MaxInput do
    if InputVector>127 then
       gkSetOutput(InputVector, 7)
    elseif InputVector>63 then
       gkSetOutput(InputVector, 6)
    elseif InputVector>31 then
       gkSetOutput(InputVector, 5)
    elseif InputVector>15 then
       gkSetOutput(InputVector, 4)
    elseif InputVector>7 then
       gkSetOutput(InputVector, 3)
    elseif InputVector>3 then
       gkSetOutput(InputVector, 2)
    elseif InputVector>1 then
       gkSetOutput(InputVector, 1)
    elseif InputVector>0 then
       gkSetOutput(InputVector, 0)
    else
       gkSetOutputUndefined(InputVector)
    end
    if InputVector>0 then
       gkSetFunctionValue( InputVector, 'v', 1 )
    else
       gkSetFunctionValue( InputVector, 'v', 0 )
    end
end

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

После выполнения скрипта Lua будут получены следующие карты Карно:

Карта Карно для выхода V приоритетного шифратора 8-в-3 Карта Карно для выхода Y1 приоритетного шифратора 8-в-3
Карта Карно для выхода Y2 приоритетного шифратора 8-в-3 Карта Карно для выхода Y3 приоритетного шифратора 8-в-3

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

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

Минимизированная по 0 Карта Карно для выхода V приоритетного шифратора 8-в-3 Минимизированная по 0 Карта Карно для выхода Y1 приоритетного шифратора 8-в-3
Минимизированная по 0 Карта Карно для выхода Y2 приоритетного шифратора 8-в-3 Минимизированная по 0 Карта Карно для выхода Y3 приоритетного шифратора 8-в-3

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

v = (x1|x2|x3|x4|x5|x6|x7|x8);
y1 = (x1|x2|x3|x4);
y2 = (x1|x2|x5|x6) (x1|x2|!x3) (x1|x2|x3|!x4);
y3 = (x1|x3|x5|!x6) (x1|x3|x5|x7) (x1|x2|x3|!x4) (x1|!x2);

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

Минимизированная по 1 Карта Карно для выхода V приоритетного шифратора 8-в-3 Минимизированная по 1 Карта Карно для выхода Y1 приоритетного шифратора 8-в-3
Минимизированная по 1 Карта Карно для выхода Y2 приоритетного шифратора 8-в-3 Минимизированная по 1 Карта Карно для выхода Y3 приоритетного шифратора 8-в-3

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

v = !x2 !x3 !x4 x5 | !x2 !x4 !x6 x7 | !x2 x3 | !x3 !x4 x6 | x2 | x4 | x8 | x1;
y1 = !x2 x3 | x2 | x4 | x1;
y2 = !x2 !x3 !x4 x5 | !x3 !x4 x6 | x2 | x1;
y3 = !x2 !x3 !x4 x5 | !x2 !x4 !x6 x7 | !x2 x3 | x1;

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

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

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

Схема приоритетного шифратора 8-в-3 на логических вентилях - минимизация по 0 Схема приоритетного шифратора 8-в-3 на логических вентилях - минимизация по 1

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

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

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

Версии Gorgeous Karnaugh

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