Курсовая работа: Синтез и анализ логической схемы при кубическом задании булевой функции
X110100
0ZZZZY1
X11X100
0ZZZZYZ
XX11100
ZZZZYZZ
1011010
Полученное минимальное покрытие:
1X1XX11
XX1X1X0
00X0XX0
0X00101
X0X00X0
XX1111X
101XX1X
Cтоимость полученного покрытия равна 36 ( стоимость исходного покрытия равна 53 ).
2. ПОСТРОЕНИЕ ФАКТОРИЗОВАННОГО ПОКРЫТИЯ
Покрытие, полученное на основе простых импликант и выделения из них L-экстремалей, принято называть минимальным. Однако практика показывает, что дополнительная минимизация возможна при помощи факторизации. Таким образом, минимальным следует считать факторизованное покрытие, а не множество L-экстремалей.
Факторизация покрытия основана на операции m-произведения, которая предназначена для выделения общей части двух кубов. Эта операция является поразрядной:
0 при ai = bi = 0, i = 1,n;
ai mbi = 1 при ai = bi = 1, i = 1,n;
m во всех остальных случаях.
Символ m указывает координату исходных кубов, которая различна в них, либо есть Х.
Куб, в котором хотя бы одна координата является m, называется m-кубом и обозначается через еm . Такой куб может участвовать в m-произведении, тогда при умножении на координату m должна получаться координата m.
Стоимость для m-куба определяется путем подсчета числа координат со значениями 0 и 1. Куб с наибольшей стоимостью считается максимальным. Если стоимость равна 0, то m-куб считается пустым, он равен Æ. Покрытие с учетом m-куба записывается в несколько измененном виде: под m-кубом фиксируются соответствующие ему кубы с сохранением тех координат, которые расположены под символами m.
Алгоритм факторизации покрытия является циклическим. Количество циклов равно числу уровней разложения покрытия ( числу m-кубов ). В разложенном по многим уровням покрытии выделяются на i-м цикле m-куб еm i , Mi ( множество кубов с прочерками, соответствующее еm i ), Ci (множество кубов, которые будут рассматриваться на ( i+1)-м цикле).
Алгоритм факторизации можно сформулировать следующим образом:
1. Вычисляются m-произведения всех пар из Сi -1 . В первом цикле С0 = Е. Во втором цикле дело надо иметь с С1 , в третьем – с С2 и т.д.
2. Выбирается m-куб с наибольшей стоимостью еm i . Если несколько кубов имеют одинаковую стоимость, то выбирается первый.