Методические указания (561962), страница 3
Текст из файла (страница 3)
Преобразователь на стандартных логических элементах может быть построен из двух 4-битовых преобразователей и 3-разрядного сумматора. Если Х0, X1, Х2, Х3 - биты 4-разрядного поля входного слова, Y0, Y1, Y2 - биты выходного слова 4 - битового преобразователя, определяющего двоичный позиционный код числа единиц поля входного слова, то, рассматривая Y0, Y1, Y2 как логические функций переменных Х0, X1, Х2, ХЗ, получим следующие логические выражения выходов преобразователя для реализации на элементах И-НЕ и ИСКЛЮЧАЮЩЕЕ ИЛИ (mod 2):
Преобразователь на восемь разрядов, построенный из двух 4-битовых преобразователей на элементах К155ЛН1, К155ЛП5, К155ЛА4, К155ЛА2, К155ЛА1, К155ИМЗ, содержит двенадцать корпусов вместо одного корпуса ППЗУ.
2.3. РЕГИСТРОВАЯ РЕАЛИЗАЦИЯ УСТРОЙСТВА
Комбинационная реализация разрабатываемого устройства имеет крупный недостаток - объем устройства растет пропорционально длине входного кода. Поэтому целесообразно комбинационную реализацию применять при длине кода не более 32 бит. В ряде практических случаев приходится подсчитывать число единиц в многоразрядных словах, длина которых заранее не определена. Отсюда следует, что преобразователь "числа единиц" в двоичный позиционный код должен быть более гибким, более универсальным.
В основу построения регистрового варианта устройства положим идею преобразования параллельного кода в последовательный с последующим счетом числа единичных символов. Такое преобразование должно начинаться с момента прихода входного кода и сигнала СТРОБ и заканчиваться моментом окончания счета единичных символов с генерацией импульса считывания. Таким образом, задача преобразования распадается на две подзадачи: преобразование параллельного кода в последовательный и получение выходного кода с формированием УСЧИТ.
Первая подзадача решается двумя путями: первый состоит в использовании мультиплексора, второй - сдвигового регистра. Первый вариант требует фиксации входного кода на все время преобразования. Второй вариант является более универсальным. Для его реализации достаточно выставить входной код А{1:32} на время сигнала СТРОБ. В учебном пособии рассмотрим только второй вариант, хотя первый вариант также представляет интерес и может быть проработан в курсовой работе как альтернативный вариант.
Вторую подзадачу - формирование выходного кода - можно решить либо путем создания детерминированной последовательности управляющих сигналов сдвига всех разрядов кода через выходной разряд регистра, либо формированием признака очищения регистра от единичных символов в процессе сдвига. Первый вариант потребует установки дополнительного счетчика циклов, второй вариант - введения схемы анализа содержимого регистра на нулевое значение. При несколько больших затратах второй вариант обеспечивает в среднем более быстрое преобразование, поскольку последние нули кода преобразованию не подвергаются. Примем второй вариант определения конца преобразования в качестве рабочего, тогда, естественно, применение сдвигового регистра становится обязательным.
2.3.1. Разработка схемы алгоритма и составление операционного описания
Схема алгоритма преобразования по выбранному варианту изображена на рис. 2.4.
Составим соответствующее ей операционное описание синтезируемого устройства (рис. 2.5).
В теле процедуры микропрограммы у переменных РГД и СЧЕ опущено поле разрядности. В этом случае его значение берется из раздела описания переменных микропрограммы. Под воздействием сигнала УСЧИТ не выполняется никакой операции. Этот факт отображается записью символа ";" вслед за символом ":", что равносильно введению пустой микрооперации.
Анализ микропрограммы показывает, что сигналы УЗАП и УН эквивалентны и их можно заменить одним сигналом УЗП: УЗП = УЗАП = УН. Проверку на ноль содержимого регистра РГД можно осуществить с помощью операции ИЛИ-НЕ (стрелка Пирса):
Текст микропрограммы, учитывающий вышесказанное, представлен на рис. 2.6.
| Микропрограмма 1 | Микропрограмма 2 | |
| Микропрограмма ЧИСЛО_ЕДИНИЦ; | Микропрограмма ЧИСЛО_ЕДИНИЦ; | |
| Переменные | Переменные | |
| входные: А{1:32}, СТРОБ; | входные: А{1:32}, СТРОБ; | |
| внутренние: РГД{1:32}, СЧЕ{1:6}; | внутренние: РГД{1:32}, СЧЕ{1:6}; | |
| выходные: B{1:6} = CЧЕ{1:6}, УСЧИТ; | выходные: В{1:6} = СЧЕ{1:6}, УСЧИТ; | |
| Признаки: | Признака: | |
| P1 = СТРОБ; | Р1 = СТР0Б; | |
| Р2 = РГД{1:32} = 0; | Р2 = ↓РГД{1:32}; | |
| Р3 = РГД{1}; | Р3 = РГД{1}; | |
| Процедура | Процедура | |
| M1 если ùP1, то M1; | М1 если ùP1, то M1; | |
| УЗАП: РГД = А; | УЗП: РГД = А, СЧЕ = 0; | |
| УН: СЧЕ = 0; | М2 если Р2, то М4; | |
| М2 если Р2, то М4; | если ùР3, то М3; | |
| если ùP3, то М3; | УСЧ: СЧЕ = СЧЕ + 1; | |
| УСЧ: СЧЕ = СЧЕ + 1; | М3 УСДВ: РГД = РГД{2:32}.0; | |
| М3 УСДВ: РГД = РГД{2:32}.0; | идти к М2; | |
| идти к М2; | М4 УСЧИТ: ; | |
| М4 УСЧИТ: ; | конец. | |
| конец. | ||
| Рис. 2.5 | Рис. 2.6 |
2.3.2. Разработка функциональной схемы устройства
Функциональная схема операционного автомата(ОА), составленная в соответствии с микропрограммой 2, изображена на рис. 2.7.
Задачи, решаемые управляющим автоматом, достаточно просты: он генерирует управляющие сигналы сдвига УСДВ до момента появления признака обнуления Р2, после чего формирует импульс считывания УСЧИТ. УА может быть построен как c жесткой логикой, так и с программируемой логикой. Рассмотрим оба способа реализации.
Управляющий автомат с жесткой логикой
УА с жесткой логикой реализуется либо в виде классического конечного автомата, либо в виде распределителя импульсов. Конечный автомат может быть построен и как автомат Мура, и как автомат Мили. Построение графов переходов и выходов УА осуществляется на основании отмеченных граф-схем алгоритмов [15]. На рис. 2.8 построены граф-схемы алгоритмов для автоматов Мура (а) и Мили (б), соответствующие микропрограмме 2 на рис.2.6 и учитывающие тот факт, что сигналы УСЧ и УСДВ являются совместными. Метки ai, отображаются в состояния автоматов, условия P1, Р2, Р3 определяют значения входных сигналов, а управляющие сигналы - значения выходных сигналов автоматов.
Графы переходов для автоматов Мура и Мили, полученные из граф-схем алгоритмов, изображены на рис. 2.9, а и б.
Будем строить УА как автомат Мили, поскольку он имеет только два состояния и реализуется на одном триггере. В качестве последнего возьмем Д-триггер.
Осуществляем построение таблицы переходов и выходов на основании выбранного графа переходов (автомата Мили) – таблица 3.
На основании таблицы переходов и выходов УА (табл. 3) после доопределения запрещенных комбинаций получим функцию возбуждения триггера и выражения для управляющих сигналов:
D = P1 ∙ ùQ + ùP2 ∙ P3 ∙ Q + ùP2 ∙ ùP3 ∙ Q = P1 ∙ ùQ + ùP2 ∙ Q,
УЗП = P1 ∙ùQ,
УСДВ = ùP2 ∙ Q, (2.1)
УСЧИТ = P2 ∙ Q,
УСЧ = ùP2 ∙ Q ∙ P3 = УСДВ ∙ P3.
На основе полученных выражений получаем функциональную схему УА (рис. 2.10), сигнал СБРОС является установочным и формируется при включении питания или от кнопки.
Управляющий автомат с программируемой логикой
Составим каноническую форму микропрограммы синтезируемого операционного устройства с учетом эквивалентности сигналов УЗАП, УН и совместимости сигналов УСЧ, УСДВ в виде табл. 4.
Таблица 4
| Номер | Mетка | Управляющие сигналы | Переход |
| 0 | M1 | Если Р1, то M1 | |
| 1 | УЗП | ||
| 2 | М2 | Если Р2, то М4 | |
| 3 | Еcли РЗ, то МЗ | ||
| 4 | УСЧ, УСДВ | ||
| 5 | Идти к М2 | ||
| 6 | M3 | УСДВ | |
| 7 | Идти к М2 | ||
| 8 | М4 | УСЧИТ | |
| 9 | Конец |
В случае принудительной адресации строки 4 и 5, 6 и 7, 8 и 9 можно объединить. Тогда каноническая форма операционного описания будет на три строки короче (табл. 5).
Таблица 5
| Номер | Mетка | Управляющие сигналы | Переход |
| 0 | M1 | Если Р1, то M1 | |
| 1 | УЗП | ||
| 2 | М2 | Если Р2, то М4 | |
| 3 | Еcли РЗ, то МЗ | ||
| 4 | УСЧ, УСДВ | Идти к М2 | |
| 5 | M3 | УСДВ | Идти к М2 |
| 6 | М4 | УСЧИТ | Конец |
Формат команды с принудительной адресацией имеет вид [12]
| УЗП | УСЧ | УСДВ | УСЧИТ | XP1 | ХР2 | ХР3 | А2 | A1 | А0 |
Для естественной адресации имеется два формата микрокоманд [12]
| 0 | УЗП | УСЧ | УСДВ | УСЧИТ | - | - | - |
| 1 | XP1 | ХР2 | ХРЗ | A3 | A2 | A1 | A0 |
Первый разряд формата микрокоманды УА с естественной адресацией определяет признак микрокоманды: 0 - операционная микрокоманда, 1 - управляющая микрокоманда.
Учитывая, что табл. 4 дает каноническое описание микропрограммы для УА c естественной адресацией, получаем кодовые выражения микропрограмм для УА с естественной адресацией (табл. 6) и с принудительной адресацией (табл. 7):
| Таблица 6 | Таблица 7 | |||
| Адрес | Разряды микрокоманд | Адрес | Разряды микрокоманд | |
| 0000 | 1 1 0 0 0 0 0 0 | 000 | 0 0 0 0 1 0 0 0 0 0 | |
| 0001 | 0 1 0 0 0 0 0 0 | 001 | 1 0 0 0 0 0 0 0 1 0 | |
| 0010 | 1 0 1 0 1 0 0 0 | 010 | 0 0 0 0 0 1 0 1 1 0 | |
| 0011 | 1 0 0 1 0 1 1 0 | 011 | 0 0 0 0 0 0 1 1 0 1 | |
| 0100 | 0 0 1 1 0 0 0 0 | 100 | 0 1 1 0 0 0 0 0 1 0 | |
| 0101 | 1 0 0 0 0 0 1 0 | 101 | 0 0 1 0 0 0 0 0 1 0 | |
| 0110 | 0 0 0 1 0 0 0 0 | 110 | 0 0 0 1 0 0 0 0 0 0 | |
| 0111 | 1 0 0 0 0 1 0 0 | |||
| 1000 | 0 0 0 0 1 0 0 0 | |||
| 1001 | 1 0 0 0 0 0 0 0 | |||
Из сравнения табл. 6 и 7 следует, что для хранения микропрограммы с естественной адресацией требуется 80 бит, а для УА с принудительной адресацией -70 бит. Таким образом, реализация УА с принудительной адресацией в нашем случае более желательна.















