При кодировании состояний воспользуемся специальным алгоритмом кодирования состояний для D-триггеров:
При кодировании состояний исходят из того, что сложность схем формирования функции возбуждения находится в пропорциональной зависимости от количества единиц в коде состояний.
Поступают следующим образом:
1) Каждому состоянию an ставиться в соответствие число Nm равное количеству переходов в это состояние.
2) Упорядочивается последовательность N1 N2 … NM по убыванию.
3) Коду as у которого Ns=max{ N1 N2 … NM} присваиваем значение Kas=00…0.
4) Следующим кодом r разрядностью R присваиваются значения:
000…001
000…010
000…100
…………
001…000
010…000
100…000
Затем будем искать коды, содержащие меньшее число единиц. Чем чаще используется состояние, тем меньше в нем единиц.
| 
   ai  | 
  
   Количество переходов в ai  | 
  
   код  | 
 
| 
   a1  | 
  
   4  | 
  
   000  | 
 
| 
   a2  | 
  
   1  | 
  
   101  | 
 
| 
   a3  | 
  
   2  | 
  
   010  | 
 
| 
   a4  | 
  
   2  | 
  
   100  | 
 
| 
   a5  | 
  
   4  | 
  
   001  | 
 
| 
   a6  | 
  
   1  | 
  
   110  | 
 
| 
   a7  | 
  
   1  | 
  
   111  | 
 
| 
   a8  | 
  
   2  | 
  
   011  | 
 
Составим по таблице аналитические выражения функций сигналов возбуждения и выходов в базисе 2-ИЛИ-НЕ.
При преобразовании функций будем использовать следующие правила алгебры логики:
1) ab = ![]()
2) ![]()
3) ![]()
4) ![]()
1) функции возбуждения:


![]()
2) выходные сигналы:
![]()
![]()
![]()
![]()
![]()

![]()
![]()
![]()
![]()

6. Разработка устройства управления выполнением операции (управляющего автомата) с программируемой логикой
Принцип микропрограммного управления был предложен Wilkes в 1951 г.
И впервые был реализован IBM 8/360.
Последовательность управляющих сигналов в таком устройстве задаётся микропрограммой хранимой в постоянном запоминающем устройстве (ПЗУ).
![]()  | 
 
накопитель
УУ с программируемой логикой содержит:
1) Регистр адреса микрокоманд.
2) Регистр микрокоманд.
3) Схему формирования адреса следующей микрокоманды.
Отметим закодированную ГСА методом вертикального кодирования для принудительной адресации. Тогда количество бит, используемых под ПЗУ = 17 бит/ команда * 17 м/к =289 бит.
Если отметить граф для естественной адресации, и после сравнить число триггеров необходимых для ПЗУ (15 бит/команда * 24 м/к = 360 бит), то мы обнаружим что автомат с принудительной адресацией использовать выгоднее, к тому же такой автомат быстродейственнее.
Узнаем формат ячейки ПЗУ:
Поскольку наш операционный автомат относится к классу I-автоматов, то Тогда формат ячейки будет таков:
| 
   Y1  | 
  
   Y2  | 
  
   Y3  | 
  
   X  | 
  
   A  | 
 ||||||||||||
| 
   1  | 
  
   2  | 
  
   3  | 
  
   4  | 
  
   5  | 
  
   6  | 
  
   7  | 
  
   8  | 
  
   9  | 
  
   10  | 
  
   11  | 
  
   12  | 
  
   13  | 
  
   14  | 
  
   15  | 
  
   16  | 
  
   17  | 
 
Необходимо разбить м/о по полям операционной части м/к так, что внутри каждого поля они были несовместимы между собой.
| 
   Y1  | 
  
   Y2  | 
  
   Y3  | 
 |
| 
   001  | 
  
   y1  | 
  
   y2  | 
  
   y5  | 
 
| 
   010  | 
  
   y3  | 
  
   y4  | 
  
   y8  | 
 
| 
   011  | 
  
   y7  | 
  
   y12  | 
  
   y6  | 
 
| 
   100  | 
  
   y10  | 
  
   y9  | 
  
   y11  | 
 
| 
   101  | 
  
   y13  | 
  
   y14  | 
  
   ----  | 
 
| 
   110  | 
  
   ----  | 
  
   ----  | 
  
   ----  | 
 
| 
   111  | 
  
   ----  | 
  
   ----  | 
  
   ----  | 
 
Закодируем ПЗУ:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.