Здавалка
Главная | Обратная связь

Синтез цифровых устройств.

 

Задача синтезазаключается в построении из заданного набора логических элементов комбинационной схемы, реализующей заданную систему булевых функций.

Порядок синтеза включает несколько этапов:

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

и т.д.

Результаты заносим в таблицу истинности.

 

Х4 Х3 Х2 Х1 У

 

2. Преобразуем таблицу истинности в карту Карно

 

х2х1 00 01
х4х3
00 1
1

 

Минимизируем функцию по единицам. Карта Карно содержит одну группу из восьми единиц и две группы из четырех единиц.

Для каждой группы запишем произведение только тех аргументов, которые в соседних клетках не изменяют своего значения. Переменные входят в произведение в прямом виде, если их значение в соседних клетках равно 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

                   
 
х4 х3 х2 х1
 
         

 

 


У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 Все права принадлежат авторам размещенных материалов.