Разработка процессорного модуля
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
0001010000S90000001101000S100000001010000S110000000000000S120000000000000S1300000000000001.
.
.
.
.
.
.
.
.
.
.
.
.
Таким образом подмножества непересекающихся микроопераций будут следующими:
Получим матрицу включений R для полученных подмножеств микроопераций:
Таблица 3.2 - Матрица включений R
y12345678910111213Y11000011000111Y20100000101000Y30010000010000Y40001000000000Y50000100000000
Количество бит, необходимое для кодирования управляющих сигналов {yi} для каждого подмножества Yj будет составлять (с учетом состояни, при котором не должна выполняться ни одна операция из подмножества):
= 3;nY2 = 2;nY3 = 2; nY4 = 1 nY5 = 1
Таким образом, длина операционной части микрокоманды:ОЧ = 3+2+2+1+1 = 9.
. Определим формат адресной части микрокоманды.
Количество бит, необходимое для кодирования адреса команды:
.
Количество бит, необходимое для кодирования всех логических условий:
.
Таким образом, длина адресной части микрокоманды:АЧ = 3 + 2*4 = 11.
. Для проектирования управляющего автомата необходимо использовать уточненную ГСА, которая учитывает тип операционного автомата.
Преобразование объединенной ГСА в уточненную включает следующие действия:
Замена микроопераций их условными обозначениями yi;
Разметка состояний управляющего автомата в соответствии с выбраным типом адресации;
Уточненная ГСА алгоритма приведена на рисунке 3.4.
Рисунок 3.4 - Уточненная ГСА
. Составим кодированную программу функционирования Р-автомата
Таблица 3.3 Кодированная программа функционирования Р-автомата
AiY1Y2Y3 Y4 Y5XA10A0y1y2y3y5y6x1A1A2A1-----x2A6A7A2-----x2A3A4A3y6-----A4A4A4y7y8y9--x3A5A2A5y3-----A0A0A6y6-----A7A7A7y7y10y9--x4A8A9A8y8----x3A10A1A9y11----x3A10A0A10-----x5A11A5A11y12-----A5A5
. Составим карты программирования памяти в соответствии с кодами выполняемых микроопераций и проверяемых логических условий:
Таблица 3.4 - Коды микроопераций подмножества Y1
Y1y1y6y7y11y12y13K(Y1)001010011100101110
Таблица 3.5 - Коды микроопераций подмножества Y2
Y2y2y8y10K(Y2)011011
Таблица 3.6 - Коды микроопераций подмножества Y3
Y3y3y9K(Y3)0110
Таблица 3.7 - Коды микроопераций подмножества Y4
Y4y4K(Y3)1
Таблица 3.8 - Коды микроопераций подмножества Y5
Y5y5K(Y3)1
Таблица 3.9 - Коды логических условий Х
Xx1x2x3x4x5K(X)001010011100101
Согласно кодам микроопераций, логических условий и кодированной микропрограмме составим матрицу программирования памяти:
Таблица 3.10 - Матрица программирования памяти
Y1Y2Y3Y4Y5XA(0)A(1)00000001010111001001000011000100000000001001110110200100000000000100100001130011010000000000010001004010001110100001100100101501011100000000000000000060110010000000000011101117011101111100010010011000810000001000000110001101091001100000000011000010101010100000000001010101101111101110100000000001010101
. Построение схемы управляющего автомата уровня регистровых передач.
Согласно обобщенной структуре управляющего автомата для построения схемы используются следующие элементы:
PROM - постоянное запоминающее устройство, которое хранит набор выполняемых команд;
Т-триггер для разрешения чтения из постоянного запоминающего устройства PROM;
регистр RG, хранящий текущую микрооперацию;
DC - декодирующее устройство, преобразующее позиционный двоичный код;
MX1 - мультиплексор, выбирающий одно из проверяемых логических условий;
MX2 - мультиплексор, формирующий адрес следующей микрокоманды.
Рисунок 3.5 - Схема управляющего устройства уровня регистровых передач
4. ПРОЕКТИРОВАНИЕ ПРОЦЕССОРНОГО МОДУЛЯ
Согласно декомпозиции процессорного модуля, представленной на рисунке 1.1, проектирование заключалось в выполнении двух этапов: проектирование операционного устройства и управляющего автомата.
Очевидно, что полученный процессорный модуль является соединением двух отедльных устройств - ОА и УА. На входы всего процессорного модуля подаются операнды (D1, D2), условие выбора операции (ОРP или D3) и управляющие сигналы (Clk1, Clk2, Start, Stop, Reset). Внутреннее взаимодействие между ОА и УА заключается во взаимопередаче сигналов: ОА генерирует значения вычисленных логических условий {X} на каждом такте, УА формирует сигналы выполнения необходимых на данном такте микроопераций {Y}. Также операционное устройство формирует результат выполнения заданного значением регистра ОРP действия, который подается на выходную шину R.
Помимо схем ОА и УА уровня регистровых передач результатом выполнения курсового проекта являются тексты VHDL-моделей управляющего устройства, операционного автомата и процессорного модуля. VHDL-модель процессорного модуля включает в себя в качестве компонентов модели ОА и УА.
Стоит отметить, что при проектировании VHDL-модели процессорного модуля сигнал синхронизации Clk подавался УА и ОА в противофазе, т.к. это обеспечивает согласованную работу обоих устройств. В другом случае могли иметь место конфликты между компонентами.
5. АНАЛИЗ РЕЗУЛЬТАТОВ СИНТЕЗА
В результате автоматизированного синтеза были получены модели операционного автомата, управляющего устройства и всего процессорного модуля. Оценить работу разработанных компонентов можно с помощью полученных временных диагрмм, построенных в среде проектирования.
5.1 Тестирование VHDL-модели операционного устройства
После разработки VHDL-модели ОА была получена временная диаграмма работы устройства, представленная на рисунке 5.1.
Рисунок 5.1 - Временная диаграмма работы VHDL-модели ОА
Моделирование работы ОА осуществлялось при подаче на входы устройства входных данных (d1, d2, d3), тек