4-х разрядное слово представлено целыми числами с фиксированной запятой в прямом коде. Старший разряд отводится под знак числа. Результат операции умножение - двойное слово, операции установки бита - одинарное слово.
$$[A]_{\text{п}} = a_3, a_2 a_1 a_0$$ $$[R]_{\text{п}} = r_7, r_6 r_5 r_4 r_3 r_2 r_1 r_0$$Умножение выполняется по алгоритму умножения с младших разрядов множителя и сдвигом суммы частичных произведений вправо с одним корректирующим шагом. Данный алгоритм при представлении сомножителей в прямом коде можно выразить следующей формулой:
Рассмотренный алгоритм умножения представлен на рисунке .
Операция проверяет бит в RB на позиции RA, устанавливает флаг CF, если значение бита в операнде 1, значение бита в операнде устанавливается в 1.
Функциональная схема блока операций представлена на рисунке , в таблице приведены все элементы функциональной схемы блока операций с их функциями и назначением.
| Обозначение блока | Назначение |
|---|---|
| RA | Регистр первого операнда, 4 разряда, хранение, параллельная загрузка A |
| RB | Регистр второго операнда / младшей части результата, 4 разряда, хранение, параллельная загрузка B, логический сдвиг вправо, формирование сигнала F0 |
| RR | Регистр старшей части результата, 4 разряда, хранение, параллельная загрузка, логический сдвиг вправо с переносом в RB, синхронный сброс в 0 |
| CS1 | Формирование знака произведения |
| CS2 | Формирование флага CF (значения бита из B на позиции A) |
| CS3 | Формирование нового значения B с установленным битом на позиции A |
| CS4 | Выбор данных для загрузки в RB: B или CS3 |
| SM | Сумматор, 4 разряда |
| TCF | Регистр флага CF (значения бита из B на позиции A), 1 разряд, хранение, загрузка |
Данный регистр является четырёхразрядным регистром хранения. Наиболее подходящим для реализации функций регистра RA является регистр FD4CE.
| Обозначение | Назначение |
|---|---|
| Y1 | |
| 0 | Хранение |
| 1 | Параллельная загрузка |
Данный регистр должен выполнять микрооперации хранения, параллельной загрузки и логического сдвига вправо (с заполнением старшего бита младшим разрядом из RR). Для реализации выбран универсальный сдвиговый регистр SR4CLE. Младший бит выхода RB_Q0 формирует сигнал F0.
| Обозначение | Назначение | |
|---|---|---|
| Y2 | Y3 | |
| 0 | 0 | Хранение |
| 1 | x | Параллельная загрузка |
| 0 | 1 | Логический сдвиг вправо |
Данный регистр должен выполнять микрооперации хранения, параллельной загрузки, логического сдвига вправо (c коммутацией младшего бита в старший разряд RB) и синхронного сброса в 0. Для реализации выбран универсальный сдвиговый регистр SR4RLE.
| Обозначение | Назначение | ||
|---|---|---|---|
| Y4 | Y5 | Y6 | |
| 0 | 0 | 0 | Хранение |
| 1 | x | 0 | Параллельная загрузка |
| 0 | 1 | 0 | Логический сдвиг вправо |
| x | x | 1 | Синхронный сброс в 0 |
Отвечает за хранение значения бита операнда B на позиции A.
| Обозначение | Назначение |
|---|---|
| Y8 | |
| 0 | Хранение |
| 1 | Загрузка |
Отвечает за формирование знака произведения.
4-х битный сумматор ADD4.
Отвечает за формирование флага CF (бита из B на позиции A).
Отвечает за формирование нового значения B с установленным битом на позиции A.
Отвечает за выбор данных для загрузки в RB: B или CS3.
| Сигнал | Операция |
|---|---|
| Y1 | Загрузка A в RA |
| Y2 | Загрузка CS4 в RB |
| Y3 | Логический сдвиг вправо RB |
| Y4 | Загрузка значения на выходе SM в RR |
| Y5 | Логический сдвиг вправо RR |
| Y6 | Синхронный сброс RR |
| Y7 | Вход EN для CS1 |
| Y8 | Загрузка признака на выходе CS2 в TCF |
| Y9 | Выбор данных для загрузки в RB: B или CS3 |
| Сигнал | Операция |
|---|---|
| F1 | Младший разряд B |
Пример 1 микрооперации УМНОЖЕНИЕ приведен в таблице .
Пример 2 микрооперации УМНОЖЕНИЕ приведен в таблице .
Для реализации местного устройства управления MUU с "жёсткой" логикой разработана функциональная схема, представленная на рисунке .
Для реализации местного устройства управления алгоритмы выполнения операций должны быть изменены. На рисунках и приведены модифицированные схемы алгоритма микропрограмм выполнения операций УМНОЖЕНИЕ и УСТАНОВКА БИТА.
Для реализации датчика состояний необходимо по модифицированным алгоритмам выполнения операций спроектировать граф состояний автомата датчика состояний, который будет определять логическую реализацию местного устройства управления.
Автомат начинает свою работу с приходом сигнала SNO. В каждом состоянии формируются определенные для этого состояния сигналы Yi и Yct для продвижения счетчика тактов CT.
После выполнения всех операций автомат переходит в начальное состояние, генерируя сигнал конца операции SKO, и остается в этом состоянии до следующего запроса SNO.
В момент времени после сигнала SKO и до сигнала SNO граф находится в состоянии IDLE, при котором никакие сигналы Y не установлены. Графы операций представлены на рисунках и .
Состояния будут храниться в 2-х битном регистре с параллельной загрузкой, состояния P1, P2, P3 соответсвуют своим номерам в двоичном виде, состояние IDLE = 00 - начальное. Явно возвращаться в него после формирования SKO не нужно, тк происходит синхронный сброс датчика состояний по сигналу SKO.
В таблице отражены сигналы Yi и Yct, подающиеся на выход MUU в каждом состоянии. Часть функций являются подмножествами других функций, поэтому они минимизироватся не будут.
На рисунке представлена синтезированная логическая схема местного устройства управления.
Получен отчет статического анализа времени предварительной установки с помощью программы "Timing Analyzer", который представлен на рисунке . По полученным данным можно судить о минимальном периоде работы генератора АЛУ, вычисленном программой на рисунке .
Используя результат работы "Timing Analyzer" - период 23.4ns как отправную точку, в режиме временного моделирования был определен минимальный период (25.6ns), не вызывающий состязаний. На рисунке представлена временная диаграмма с путем сигнала, на рисунке представлено внутреннее устройство схем, участвующих в критическом пути сигнала.
Критический путь равен:
4(MUU_Q0) + 4.4(MUU_Y4) + 12.5(BO_RR_D1) + 4.7(tуст BO_RR_Q1) = 25.6ns.
В таблице приведены параметры быстродействия АЛУ.
Для подключения АЛУ к стэнду задействовано количество элементов, приведенное на рисунке . На рисунке представлена схема размещения элементов на кристалле ПЛИС.
Схема управления АЛУ на стенде представлена в таблице и на рисунке .