Разработка процессорного модуля
Электронная система, реализующая сложный алгоритм обработки данных. Общая структура устройства управления. Проектирование процессорного модуля. Основные операционные элементы. Общие вопросы функционирования устройств управления с программируемой логикой.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 29.06.2011 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПЕРЕЧЕНЬ УСЛОВНЫХ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ
ОА - операционный автомат
УА - управляющий автомат
УУ - устройство управления
Р-автомат - управляющий автомат в программируемой логикой
ГСА - граф-схема алгоритма
ВВЕДЕНИЕ
Высокий уровень внедрения компьютерных систем в жизнь человека требует от специалистов по компьютерной технике все больше практических знаний и умений в построении сложных компьютерных систем.
В современном мире информации становится все больше: контент производится пользователями компьютеров ежесекундно и в огромном количестве. Вместе с количеством информации растет и ее ценность. Соответственно, человечеству необходимо все больше устройств обработки информации, выполняющих разнообразные задачи и имеющих следующие характеристики: высокую отказоустойчивость, надежность, производительность.
Очевидно, что задача обработки информации является комплексной и может быть разбита на несколько подзадач: организация именно обработки информации, повышение надежности системы, улучшение функциональных характеристик. Все эти задачи обуславливают потребность в профессиональных инженерах, которые будут заниматься проектированием электронных систем, выполняющих обработку инфорамции.
Обработка информации - очень обобщенный термин, который включает в себя множество всевозможных операций. Совокупность многих операций и закон их последовательного выполнения могут быть описаны граф-схемой алгоритма (ГСА), в которой присутствуют операторные (изменение информации) и условные вершины (реализация ветвлений алгоритма).
В процессе выполнения данного курсового проекта будет осуществлено проектирование процессорного модуля - независимого устройства, которое может выполнять два заданных действия над операндами. Результатом проекта будет схема устройства, отвечающего требованиям к системам обработки информации.
1 АНАЛИЗ ЗАДАЧИ
Электронная система, реализующая сложный алгоритм обработки данных, может быть условно разделена на две функционально связанные подсистемы - управляющий и операционный автомат. Взаимодействие двух этих подсистем приведено на рисунке 1.1.
процессный модульоперационный программируемый
Рисунок 1.1 - Декомпозиция электронной системы на операционный и управляющий автомат.
Управляющий автомат определяет порядок реализации вычислительных операций и отображает граф-схему функционирования электронной системы. Входной информацией для управляющего автомата является множество осведомительных сигналов {X} и множество внешних флагов ветвления {F}, результатом функционирования - множество признаков выполняемых микроопераций {Y}.
Операционный автомат осуществляет вычислительные действия над операндами. Структурно операционный автомат состоит из элементов памяти (регистров), осуществляющих хранение значений операндов, и комбинационных схем, отвечающих за выполнение микроопераций. Входной информацией для операционного автомата являются линии данных {D} и множество выполняемых в данном такте микроопераций {Y}, выходами являются линии результата {R} и выработанные признаки результата {X}, используемые в управляющем автомате.
Согласно полученного задания необходимо реализовать процессорный модуль, выполняющий алгоритмы следующих действий: умножение целых двоичных беззнаковых чисел, начиная с младших разрядов множителя, умножение целых двоичных знаковых чисел.
На рисунках 1.2 и 1.3 приведены ГСА действий, которые должен выполнять проектируемый процессорный модуль.
0
1
0
1
Рисунок 1.2 - ГСА умножения целых двоичных беззнаковых чисел, начиная с младших разрядов множителя
Размещено на http://www.allbest.ru/
Рисунок 1.3 - ГСА умножения целых двоичных знаковых чисел
Для выполнения поставленной задачи необходимо объединить две ГСА, т.к. проектируемый процессорный модуль должен выполнять две операции. Для выбора одной из операций в объединенную ГСА, которая изображена на рисунке 1.4 добавлена условная вершина проверяющего состояние регистра OРP (operation). Данные в ОРР являются, как и операнды, входной информацией для проектируемого процессорного модуля.
Таким образом, при проектировании процессорного модуля необходимо использовать объединенную ГСА, описывающую алгоритмы выполнения предусмотренных действий. Процессорный модуль будет логически разбит на две подсистемы - операционный автомат (ОА) и управляющий автомат ( УА), которые будут проектироваться как независимые устройства.
2 ПРОЕКТИРОВАНИЕ ОПЕРАЦИОННОГО АВТОМАТА
2.1 Общие вопросы функционирования операционных атоматов
Функции ОА сводятся к вводу-выводу и хранению слов информации, выполнению микроопераций и вычислению логических условий. Чтобы реализовать эти действия, необходим набор элементов, достаточный для построения структур с заданными функциями. Такой набор элементов называется структурным базисом ОА.
Основными операционными элементами, используемыми в ОА, являются:
- управляемые шины, обеспечивающие передачу информации;
- регистры;
- комбинационные схемы, используемые для выполнения преобразований и формирования логических условий.
В общем виде структура ОА представлена на рисунке 2.1, где Ф - комбинационные схемы, выполняющие преобразование, S - память, ? - комбинационные схемы, формирующие осведомительные сигналы.
Рисунок 2.1 - Общая структура ОА
2.2 Структурная организация I-автоматов
Согласно задания, ОА для проектируемого процессорного модуля должен быть типа I. ОА, структура которых обеспечивает возможность одновременного выполнения всех функционально совместимых микроопераций при использовании минимально возможного количества комбинационных схем, называются I-автоматами. Тоесть особенностью I-автомата является то, что каждый регистр обслуживается своей еомбинационной схемой.
Обобщенная структура используемого автомата представлена на рисунке 2.2.
Рисунок 2.2 - Обобщенная структура ОА типа I
2.3 Проектирование I-автомата
Синтез I-автомата сводится к преобразованию заданого набора микроопераций в совокупность обобщенных операторов, которая используется в качестве формы для построения структурной схемы I-автомата. Рассотрим порядок проектирования I-автомата для ГСА, изображенной на рисунке 1.4.
Таблица 2.1 Список реализуемых микроопераций и условий перехода
y1: A (n-1 : 0) := D1 y2: B (n-1 : 0) := D2 y3: COP : = D3 y4: C (n : 0) : = 0 y5: CnT (m-1 : 0): = n10 y6: C (n-1 : 0) : = C (n-1 : 0) + A (n-1 : 0) y7: B (n-1 : 0) : = R1 (C(0). B (n-1 : 1)) y8: C (n-1 : 0) : = R1 (CF. C (n-1 : 1)) y9: CnT : = CnT -1 y6: C (n-1 : 0) : = C (n-1 : 0) + A (n-1 : 0) y10: TgB : = B(0) y7: B (n-1 : 0) : = R1 (C(0). B (n-1 : 1)) y8: C (n-1 : 0) : = R1 (CF. C (n-1 : 1)) y11: C (n-1 : 0) : = R1 (C(n-1). C (n-1 : 1)) |
_______ y12: C (n-1 :0) := C(n-1 :0) + A(n-1 :0) +1 y13: R (2n-1 : 0) : = C ( n-1 : 0). B(n-1 : 0) x1: COP x2: B(0) x3: CnT = 0 x4: OF x5: TgB |
Разработка структуры I-автомата подразумевает выполнение следующих этапов:
1. Для автомата выбираются регистры, которые будут хранить результаты микроопераций и устанавливается их разрядность:
А (7 : 0); В (7 : 0); С (8 : 0); CnT (3 : 0); TgB; COP;
2. Все множество микроопераций разбивается на подмножества, соответствующие регистрам.
A: {y1}; CnT: {y5, y9 };
B: {y2, y7}; TgB: {y10};
C: {y4, y6, y8, y11, y12}; COP: {y3};
3. На выделеных подмножествах определяются классы эквивалентных микроопераций.
KA1 = {y1}; KB1 = {y2}; KB2 = {y7};
KC1 = {y4}; KC2 = {y6,y12}; KC3 = {y8, y11};
KCOP = {y3}; KCnT1 = {y5}; KCnT2 = {y9};
KTgB = {y10};
4. Для каждого класса, содержащего не менее двух микроопераций, находим обобщенную микрооперацию
C (n-1 : 0) := C (n-1 : 0) + F1 + F2;
F1 = A (n-1 : 0) , y6 = 1;
________
F1 = A (n-1 : 0) , y12 = 1;
F2 = 0, y6 = 1 ;
F2 = 1, y12 = 1;
C (n-1 : 0) := R1 (F3. C (n-1 : 1))
F3 = CF, y8 = 1;
F3 = C(n-1), y11 = 1;
5. Строится схема I-автомата уровня регистровых передач, которая представлена на рисунке 2.3.
Рисунок 2.3 - Схема I-автомата уровня регистровых передач
3 ПРОЕКТИРОВАНИЕ УПРАВЛЯЮЩЕГО АВТОМАТА
3.1 Общие вопросы функционирования устройств управления с программируемой логикой (Р-автоматы)
Под УУ понимается совокупность блоков и узлов процессора, обеспечивающих координирование работы всех устройств ЭВМ и управление ими для всех принятых режимов. УУ, реализуя программы, организовывают все необходимые действия по приёму, оценке и преобразованию исходной информации с целью получения и выдачи необходимых результатов. Таким образом, УУ может считаться преобразователем первично-командной информации, представленной командами системы, во вторично-командную информацию, представленную формируемыми УУ исполнительными адресами, кодами и управляющими сигналами, воздействие которых на соответствующие узлы и блоки приводит к выполнению заданных операций. Общая структура УУ показана на рисунке 3.1.
Рисунок 3.1 - Общая структура устройства управления
Управляющий автомат может быть построен на основе принципа программного управления, использующего операционно-адресную структуру управляющих слов. Управляющее слово определяет порядок функционирования устройства в течение одного такта и называется микрокомандой. Совокупность микрокоманд образует массив МК[0…P], отдельные микрокоманды в котором выделяются посредством адреса, равного номеру 0, 1, … Р элемента массива МК. Микрокоманда содержит информацию о микрооперациях, которые должны выполняться в данном такте работы устройства, и информацию об адресе следующей микрокоманды. Также в микрокоманде должны быть указаны логические условия, значение которых влияет на выбор адреса следующей микрокоманды.
Согласно задания, необходимо спроектировать Р-автомат с принудительной адресацией и полным форматом микрокоманды. В таком случае, для формирования адреса следующей микрокоманды отводится два поля А(0) и А(1). Если поле Х = 0, то значение А(0), безусловно, определяет адрес следующей микрокоманды. Если Х 0, то адрес следующей микрокоманды равен значению А(1). Р-втомат функционирует как автомат Мура, и структурно его можно представить, как показано на рисунке 3.2.
Рисунок 3.2 - Структурная схема Р-автомата с программируемой логикой
СУ - схема управления;
СФУС - схема формирования управляющего сигнала;
СВЗОС - схема выделения значений осведомительных сигналов;
СФАМК - схема формирования адресной МК;
СО - сигнал обращения;
РА - регистр адреса;
EPPROM - память.
3.2 Проектирование управляющего автомата
Разработка структуры УА (Р-автомата) подразумевает выполнение следующих этапов:
1. Опеределение формата микрокоманды:
Y1 |
… |
YV |
X |
А(0) |
А(1) |
Рисунок 3.3 - Формат микрокоманды
2. Определение формата операционной части микрокоманд. Для разбиения множества микроопераций на непересекающиеся (по совместимости команд) подножества будем использовать алгоримт прямого включения.
Таблица 3.1 - Матрица совместимости микроопераций S
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
||
S1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
S2 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
S3 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
S4 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
S5 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
S6 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
S7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
|
S8 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
|
S9 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
|
S10 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
|
S11 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
S12 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
S13 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Таким образом подмножества непересекающихся микроопераций будут следующими:
Получим матрицу включений R для полученных подмножеств микроопераций:
Таблица 3.2 - Матрица включений R
y |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
|
Y1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
Y2 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
|
Y3 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
|
Y4 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Y5 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Количество бит, необходимое для кодирования управляющих сигналов {yi} для каждого подмножества Yj будет составлять (с учетом состояни, при котором не должна выполняться ни одна операция из подмножества):
nY1 = 3; nY2 = 2; nY3 = 2; nY4 = 1 nY5 = 1
Таким образом, длина операционной части микрокоманды:
nОЧ = 3+2+2+1+1 = 9.
3. Определим формат адресной части микрокоманды.
Количество бит, необходимое для кодирования адреса команды:
.
Количество бит, необходимое для кодирования всех логических условий:
.
Таким образом, длина адресной части микрокоманды:
nАЧ = 3 + 2*4 = 11.
3. Для проектирования управляющего автомата необходимо использовать уточненную ГСА, которая учитывает тип операционного автомата.
Преобразование объединенной ГСА в уточненную включает следующие действия:
- Замена микроопераций их условными обозначениями yi;
- Разметка состояний управляющего автомата в соответствии с выбраным типом адресации;
Уточненная ГСА алгоритма приведена на рисунке 3.4.
Рисунок 3.4 - Уточненная ГСА
4. Составим кодированную программу функционирования Р-автомата
Таблица 3.3 Кодированная программа функционирования Р-автомата
Ai |
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
X |
A |
||
1 |
0 |
||||||||
A0 |
y1 |
y2 |
y3 |
y5 |
y6 |
x1 |
A1 |
A2 |
|
A1 |
- |
- |
- |
- |
- |
x2 |
A6 |
A7 |
|
A2 |
- |
- |
- |
- |
- |
x2 |
A3 |
A4 |
|
A3 |
y6 |
- |
- |
- |
- |
- |
A4 |
A4 |
|
A4 |
y7 |
y8 |
y9 |
- |
- |
x3 |
A5 |
A2 |
|
A5 |
y3 |
- |
- |
- |
- |
- |
A0 |
A0 |
|
A6 |
y6 |
- |
- |
- |
- |
- |
A7 |
A7 |
|
A7 |
y7 |
y10 |
y9 |
- |
- |
x4 |
A8 |
A9 |
|
A8 |
y8 |
- |
- |
- |
- |
x3 |
A10 |
A1 |
|
A9 |
y11 |
- |
- |
- |
- |
x3 |
A10 |
A0 |
|
A10 |
- |
- |
- |
- |
- |
x5 |
A11 |
A5 |
|
A11 |
y12 |
- |
- |
- |
- |
- |
A5 |
A5 |
5. Составим карты программирования памяти в соответствии с кодами выполняемых микроопераций и проверяемых логических условий:
Таблица 3.4 - Коды микроопераций подмножества Y1
Y1 |
y1 |
y6 |
y7 |
y11 |
y12 |
y13 |
|
K(Y1) |
001 |
010 |
011 |
100 |
101 |
110 |
Таблица 3.5 - Коды микроопераций подмножества Y2
Y2 |
y2 |
y8 |
y10 |
|
K(Y2) |
01 |
10 |
11 |
Таблица 3.6 - Коды микроопераций подмножества Y3
Y3 |
y3 |
y9 |
|
K(Y3) |
01 |
10 |
Таблица 3.7 - Коды микроопераций подмножества Y4
Y4 |
y4 |
|
K(Y3) |
1 |
Таблица 3.8 - Коды микроопераций подмножества Y5
Y5 |
y5 |
|
K(Y3) |
1 |
Таблица 3.9 - Коды логических условий Х
X |
x1 |
x2 |
x3 |
x4 |
x5 |
|
K(X) |
001 |
010 |
011 |
100 |
101 |
Согласно кодам микроопераций, логических условий и кодированной микропрограмме составим матрицу программирования памяти:
Таблица 3.10 - Матрица программирования памяти
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
X |
A(0) |
A(1) |
|||||||||||||||
0 |
0000 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
|
1 |
0001 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
|
2 |
0010 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
|
3 |
0011 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
|
4 |
0100 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
|
5 |
0101 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
6 |
0110 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
|
7 |
0111 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
|
8 |
1000 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
|
9 |
1001 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
|
10 |
1010 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
|
11 |
1011 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
6. Построение схемы управляющего автомата уровня регистровых передач.
Согласно обобщенной структуре управляющего автомата для построения схемы используются следующие элементы:
- 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), текущей микрокоманды и сигналов синхронизации (clk) и асинхронного сброса (rst). В результате моделирования и отладки был сделан вывод о соответствии работы устройства требованиям к ОА. (Текст VHDL-модели операционного автомата - в приложении 1).
5.2 Тестирование VHDL-модели управляющего устройства
После разработки VHDL-модели УА была получена временная диаграмма работы устройства, представленная на рисунке 5.2
.
Рисунок 5.2 - Временная диаграмма работы VHDL-модели УА
Для моделирования работы управляющего устройства на входы устройства были поданы сигналы синхронизации (clk) и асинхронного сброса (rst) а также значения вычисленных операционным автоматом логических условий. (Текст VHDL-модели управляющего автомата - в приложении 2).
Особенностью VHDL-модели является то, что для реализации преобразования кодов логических условий и микроопераций из команд в унарные коды использовалась функция conv_integer(). Т.к. при нулевых значения векторов функция возвращает 0, пришлось ввести дополнительный нулевой бит во входной вектор логических условий и выходной вектор микроопераций.
Моделирование работы устройства осуществлялось по стратегии обхода всех дуг. В результате моделирования был сделан вывод о работоспособности модели, т.к. во всех состояниях УА в качестве выходного вектора подавались сигналы микроопераций, соответствующие отмеченным в уточненной ГСА.
5.3 Тестирование VHDL-модели процессорного модуля
После разработки VHDL-модели УА были получены временные диаграммы выполнения двух действий, представленные на рисунках 5.3 и 5.4. Для моделирования на входы модели процессорного модуля были поданы сигналы синхронизации и асинхронного сброса, входные данные для выполняемого действия (d1,d2 - операнды; d3 - код выполняемой операции). Результат выполнения операции был получен на выходной шине r.
Рисунок 5.3 - Временная диграмма работы прцессорного модуля: выполнение операции умножения целых двоичных беззнаковых чисел, начиная с младших разрядов множителя
Проверка результатов моделирования работы, представленных на рисунке 5.3 (умножение целых беззнаковых чисел):
33*AA=21DE16
00110011*10101010=00100001110111102
При моделировании получен верный результат.
Проверка результатов моделирования работы, представленных на рисунке 5.4 (умножение целых заковых чисел):
-25*18=-45010 = F3E316
11100111*00010010=11111110001111102
При моделировании получен верный результат.
Рисунок 5.4 - Временная диграмма работы прцессорного модуля: выполнение умножения целых заковых чисел
ВЫВОДЫ
Целью выполнения данного курсового проекта является проектирование процессорного модуля - устройства, которое в соответствии с входными данными выполняет одно из двух действий: умножение целых беззнаковых чисел и преобразование двоичного числа в двоично-десятичное.
Исходными данными к проектированию были граф-схемы алгоритмов заданных действий и рзарядность операндов.
При проектировании всего процессорного модуля были обобщены и структурированы знания по дисциплине Компьютерная схемотехника: углублены теоретические знания по организации и функционированию сложных цифровых систем обработки информации, получены практические навыки по проектированию данных систем с использованием языка VHDL. При проектировании УА для разбиения множества микроопераций на непересекающиеся подмножества в соответствии с матрицей совместимости S был использован алгоритм прямого включения.
В соответствии с заданием к проекту был спроектирован процессорный модуль, выполняющий заданные действия. Полученный процессорный модуль состоит из двух устройств: операционного и управляющего автоматов. Проектирование каждого из устройств проводилось отдельно в соответствии с заданием. Спроектирован ОА типа I; УА является устройством с принудительной адресацией и сполнымным форматом микрокоманды.
В результате анализа автоматизированного синтеза устройств можно сделать вывод о правильном и полном выполнении задания к курсовому проектированию, т.к. разработанный процессорный модуль правильно выполняет предусмотренные заданием действия.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Кораблев Н. М. - Конспект лекций по дисциплине «Компьютерная схемотехника» - Харьков, 2010 г.
2. Кораблев Н.М., Саранча С. Н., Саранча О. Н. - Методические указания к лабораторным работам по дисциплине «Компьютерная схемотехника»: Часть 2 «Проектирование сложных систем» - Харьков: ХНУРЭ, 2006 г.
3. Кораблев Н.М., Саранча С. Н., Чиженков Ю. Я. - Методические указания к лабораторным работам по дисциплине «Цифровые ЭВМ»: Часть 1 «Проектирование отдельных функциональных узлов» - Харьков: ХНУРЭ, 2006 г.
4. Угрюмов Е.П. Цифровая схемотехника. Учебн. пособие.- СПб.: БХВ - Петербург., 2000.-528 с.
5. Организация ЭВМ и систем. Однопроцессорные ЭВМ. Часть 1.: Конспект лекций / И.В. Хмелевский, В.П. Битюцкий. 2-е изд., испр. и допол. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2005. 87 с.
6. Бибило П.Н. Синтез логических схем с использованием языка VHDL.- М.: СЛОН-Р, 2002.- 384 с.
7. http://vhdl-1.ru/
8. http://ru.wikipedia.org/
ПРИЛОЖЕНИЕ 1
VHDL-модель операционного автомата
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_unsigned.all;
entity OA is
port(
clk,rst : in STD_LOGIC;
y : in STD_LOGIC_VECTOR(13 downto 0);
d1 : in STD_LOGIC_VECTOR(7 downto 0);
d2 : in STD_LOGIC_VECTOR(7 downto 0);
d3 : in STD_LOGIC;
r: out STD_LOGIC_VECTOR(15 downto 0);
x: out STD_LOGIC_VECTOR(5 downto 0)
);
end OA;
architecture OA of OA is
signal A,B,Bin,Ain: STD_LOGIC_VECTOR(7 downto 0);
signal Cnt, Cntin: integer;
signal C,Cin: STD_LOGIC_VECTOR(8 downto 0);
signal COP, TgB, TgBin: STD_LOGIC;
signal res: STD_LOGIC_VECTOR(15 downto 0);
begin
process(clk,rst)is
begin
if rst='0' then
A<=(others=>'0');
B<=(others=>'0');
C<=(others=>'0');
elsif rising_edge(clk)then
A<=Ain;
B<=Bin;
C<=Cin;
r<=res;
Cnt<=Cntin;
TgB<=TgBin;
end if;
end process;
COP<=d3 when y(3)='1'
else COP;
Ain<=d1 when y(1)='1'
else A;
Bin<=d2 when y(2)='1'
else C(0) & B(7 downto 1) when y(7)='1'
else B;
Cin<="000000000" when y(4)='1'
else C + A(7 downto 0) when y(6)='1'
else "0" & C(8 downto 1) when y(8)='1'
else "0" & C(7) & C(7 downto 1) when y(11)='1'
else C + not(A(7 downto 0)) + 1 when y(12)='1'
else C;
Cntin<=8 when y(5)='1'
else Cnt-1 when y(9)='1'
else Cnt;
res(15 downto 0)<= C(7 downto 0) & B(7 downto 0) when y(13)='1'
else res;
TgBin<= B(0) when y(10)='1'
else TgB;
--Formirovanie priznakov rezultata
x(1)<=COP;
x(2)<='1' when B(0)='1' else '0';
x(3)<='1' when Cnt=0 else '0';
x(4)<='1' when C(8)='1' else '0';
x(5)<='1' when TgB='1' else '0';
end OA;
ПРИЛОЖЕНИЕ 2
VHDL-модель управляющего автомата
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_unsigned.all;
entity YA is
port(
clk, rst : in STD_LOGIC;
x : in STD_LOGIC_VECTOR(5 downto 0);
y : out STD_LOGIC_VECTOR(13 downto 0)
);
end YA;
architecture YA of YA is
subtype TCommand is std_logic_vector(19 downto 0);
type TROM is array(0 to 11) of TCommand;
constant ROM:TROM := (
--yyyyyyyyyxxxaaaaaaaa
"00101011100100100001", --0
"00000000001001110110", --1
"00000000001001000011", --2
"01000000000001000100", --3
"01110100001100100101", --4
"11000000000000000000", --5
"01000000000001110111", --6
"01111100010010011000", --7
"00010000001100011010", --8
"10000000001100011010", --9
"00000000010101011011", --10
"10100000000001010101" --11
);
signal RegCom:TCommand;
type TY is array(0 to 6) of INTEGER;
constant Y1: TY :=(0,1,6,7,11,12,13);
constant Y2: TY :=(0,2,8,10,0,0,0);
constant Y3: TY :=(0,3,9,0,0,0,0);
constant Y4: TY :=(0,4,0,0,0,0,0);
constant Y5: TY :=(0,5,0,0,0,0,0);
signal yConv: STD_LOGIC_VECTOR(13 downto 0);
begin
process(rst,clk) is
begin
if rst='0' then
RegCom<=(others=>'0');
elsif rising_edge(clk) then
if x(conv_integer(RegCom(10 downto 8))) ='0' then
RegCom<=ROM(conv_integer(RegCom(7 downto 4)));
else RegCom<=ROM(conv_integer(RegCom(3 downto 0)));
end if;
end if;
end process;
process (RegCom) is
begin
yConv<=(others=>'0');
yConv(Y1(conv_integer(RegCom(19 downto 17))))<='1';
yConv(Y2(conv_integer(RegCom(16 downto 15))))<='1';
yConv(Y3(conv_integer(RegCom(14 downto 13))))<='1';
yConv(Y4(conv_integer(RegCom(12 downto 12))))<='1';
yConv(Y5(conv_integer(RegCom(11 downto 11))))<='1';
end process;
y<=yConv;
end architecture YA;
ПРИЛОЖЕНИЕ 3
VHDL-модель процессорного устройство
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_unsigned.all;
entity PM is
port(
clk, rst : in STD_LOGIC;
d1 : in STD_LOGIC_VECTOR(7 downto 0);
d2 : in STD_LOGIC_VECTOR(7 downto 0);
d3 : in STD_LOGIC;
r:out STD_LOGIC_VECTOR(15 downto 0)
);
end PM;
architecture PM of PM is
component OA is
port(
clk,rst : in STD_LOGIC;
y : in STD_LOGIC_VECTOR(13 downto 0);
d1 : in STD_LOGIC_VECTOR(7 downto 0);
d2 : in STD_LOGIC_VECTOR(7 downto 0);
d3 : in STD_LOGIC;
r:out STD_LOGIC_VECTOR(15 downto 0);
x: out STD_LOGIC_VECTOR(5 downto 0)
);
end component;
component YA is
port(
clk, rst : in STD_LOGIC;
x : in STD_LOGIC_VECTOR(5 downto 0);
y : out STD_LOGIC_VECTOR(13 downto 0)
);
end component;
signal nclk: std_logic;
signal y: STD_LOGIC_VECTOR (13 downto 0);
signal x: STD_LOGIC_VECTOR (5 downto 0);
begin
nclk<= not clk;
OA_I: OA port map(clk, rst, y(13 downto 0), d1, d2, d3, r, x);
YA_P: YA port map(nclk, rst, x, y);
end PM;
Размещено на Allbest.ru
Подобные документы
Проектирование процессорного модуля как независимого устройства, которое может выполнять два заданных действия над операндами. Порядок и принципы, главные этапы разработки схемы устройства, отвечающего требованиям к системам обработки информации.
курсовая работа [3,5 M], добавлен 16.06.2011Функционально-модульная структура программного обеспечения контроллера домофона. Электронная схема электронного замка, модуля микрофона и динамика. Выбор комбинированного источника питания. Разработка программного модуля. Программа управления домофоном.
курсовая работа [484,7 K], добавлен 29.03.2017Краткая характеристика PI System и контура управления tic-104. Анализ и планирование требований к модулю tic-104. Проектирование модуля tic-104. Внедрение модуля в приложение PI ProcessBook. Доступ к данным временных рядов PI. Модульная база данных.
курсовая работа [38,1 K], добавлен 09.05.2011Разработка модуля для вычисления значения функции, который впоследствии подключается к программе ввода исходных данных с контролем допусимого значения в таблицу. Проектирование модуля для работы со строками и для обработки массивов текстовой информации.
курсовая работа [17,8 K], добавлен 24.09.2010Разработка концептуальной модели базы данных. Реализация алгоритмов и разработка управляющей программы. Разработка структуры системы управления данными. Методика проведения и результаты тестирования. Функционирование разработанного программного модуля.
курсовая работа [550,5 K], добавлен 08.06.2023Принцип микропрограммного управления. Управляющие автоматы с жесткой и программируемой логикой. Граф-схемы алгоритмов. Синтез управляющего автомата по граф-схеме алгоритма. Построение управляющего автомата с программируемой логикой на основе ПЗУ.
курсовая работа [263,8 K], добавлен 25.01.2011Расчет статического модуля оперативной памяти и накопителя. Построение принципиальной схемы и временной диаграммы модуля оперативного запоминающего устройства. Проектирование арифметико-логического устройства для деления чисел с фиксированной точкой.
курсовая работа [3,2 M], добавлен 13.06.2015Определение иерархии системы управления и контроля, а также структуры АСКУЭ. Разработка программного модуля обработки данных счётчиков электроэнергии. Определение технико-экономической актуальности, необходимости и возможности модернизации системы.
дипломная работа [1,0 M], добавлен 20.05.2017Разработка структурной схемы и алгоритма функционирования микропроцессорного модуля программного обеспечения автоматизированной информатизационно-измерительной системы. Характеристика принципиальной схемы модуля, распределения памяти и задание портов.
курсовая работа [1,2 M], добавлен 28.08.2012Особенности разработки и реализации модулей двухмерной и трехмерной визуализации. Основные задачи трехмерного модуля управления. Анализ функций модуля управления ParamColorDrawer. Характерные особенности схемы функционирования программного средства.
реферат [2,2 M], добавлен 07.03.2012