Синтез цифровых устройств.
Задача синтезазаключается в построении из заданного набора логических элементов комбинационной схемы, реализующей заданную систему булевых функций. Порядок синтеза включает несколько этапов: 1. Работа проектируемого логического устройства описывается сначала словесно ил в виде булевой функции, затем преобразуется в виде таблицы истинности. 2. С использованием методов минимизации определяется минимальная ДНФ (минимизация по единицам) или минимальная КНФ (минимизация по нулям). Из полученных двух минимальных форм выбирается форма с минимальным количеством логических элементов. 3. Булеву функцию в минимальной форме переводят в заданный (или выбранный разработчиком) базис. 4. По представлению функции в заданном базисе строят комбинационную схему. 5. Тестируют полученную схему сначала в программах-симуляторах (например, EWB), затем на реальном устройстве.
Пример. Пусть следует синтезировать устройство в базисе ИЛИ-НЕ, реализующее следующую булеву функцию y = x3 + x2 * x1 + x3 * x1 + x4 * x1 Примечание: Черта под аргументом означает инверсию. 1. Рассчитываем таблицу истинности, для чего последовательно подставляем наборы значений аргументов (0,0,0,0; 0,0,0,1; 0,0,1,0, и т.д.) и вычисляем значения функции. у0 = 0 + 0*0 + 0*0 + 0*0 = 1+1*0 + 0*0 + 1*0 = 1 у1 = 0 + 0*1 + 0*1 + 0*1 = 1+1*1 + 0*1 + 1*1 = 1 и т.д. Результаты заносим в таблицу истинности.
2. Преобразуем таблицу истинности в карту Карно
Минимизируем функцию по единицам. Карта Карно содержит одну группу из восьми единиц и две группы из четырех единиц. Для каждой группы запишем произведение только тех аргументов, которые в соседних клетках не изменяют своего значения. Переменные входят в произведение в прямом виде, если их значение в соседних клетках равно 1, в противном случае в инверсном виде. Полученные произведения складываются по ИЛИ в искомую ДНФ. Обрабатываем восьмерку: для всех единиц этой группы аргументы (координаты) х4, х3 и х2 будут различны – или ноль, или единица, поэтому в конечную функцию войдет только х4*х3. Аналогично верхняя четверка даст х4*х3 (инверсия, т.к. аргументы равны нулю). Нижняя четверка даст х4*х3. Окончательный результат получаем суммированием трех полученных функций: У1 = х4*х3 + х4*х3 + х1
Минимизируем по нулям. Карта содержит одну группы в четыре нуля. Для группы записываем сумму только тех аргументов, которые в соседних клетках не изменяют своего значения. Переменные входят в сумму в прямом виде, если их значение в соседних клетках равно 0, в противном случае в инверсном виде. Если сумм несколько, то полученные суммы перемножаются по И в искомую КНФ. У0 = х3+х1
3. Преобразуем в базис ИЛИ-НЕ обе функции, для чего воспользуемся двойной инверсией и правилом де Моргана. У1 = х4*х3 +х4*х3 + х1 = х4+х3 + х4+х3 + х1
У0 = х3+х1
4. Строим комбинационную схему по У0
5. Тестируем схему в симуляторе EWB 5.12
Задание: синтезировать устройство, реализующее следующую булеву функцию.
1. x0+x2x1+x3x1+x0x1 2.
3. ва 4. орпа 5. ц 6.
7.
8. 9. йцу 10.вапр 11.орпа 12.ген 13.дол 14.пва 15.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|