Процессорный модуль

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Введение

Процессорный модуль представляет собой функционально законченное устройство со встроенной функцией отладки целевого программного обеспечения. Он содержит разъемы, на которые выведены все контакты микропроцессора. Процессорный модуль обеспечивает корректный старт и инициализацию микропроцессора после аппаратного сброса. Он может функционировать под управлением инструментального компьютера или без него. Взаимодействие инструментального компьютера и процессорного модуля осуществляется посредством отладочного интерфейса.

Модуль не содержит ничего необычного для микропроцессорной системы и использует только те свойства микропроцессора, которые являются общими для большинства из них. Благодаря этому достигается независимость структуры модуля от выбора микропроцессора. Разработчику предлагается строить целевую микропроцессорную систему на основе процессорного модуля со встроенными функциями отладки и начальной загрузки.

Метод проектирования микропроцессорной системы с использованием отладочного процессорного модуля позволяет ускорить и удешевить процесс разработки целевой системы. Использование метода позволяет обойтись без затрат связанных с приобретением внутрисхемного эмулятора, эмулятора ПЗУ и программной модели микропроцессора, упростить технологию разработки и отладки частей целевой системы связанных непосредственно с микропроцессором. Пользователь приобретает сразу часть целевой системы со встроенными функциями отладки и диагностики.

В процессе выполнения данного курсового проекта будет осуществлено проектирование процессорного модуля — независимого устройства, которое может выполнять два заданных действия над операндами. Результатом проекта будет схема устройства, отвечающего требованиям к системам обработки информации.

1. Анализ задания

процессорный модуль обработка информация

Электронная система, реализующая сложный алгоритм обработки данных, может быть условно разделена на две функционально связанные подсистемы — управляющий и операционный автомат. Взаимодействие двух этих подсистем приведено на рис. 1.1.

Рисунок 1.1 — Декомпозиция электронной системы на операционный и управляющий автомат

Управляющий автомат определяет порядок реализации вычислительных операций и отображает граф-схему функционирования электронной системы. Входной информацией для управляющего автомата является множество осведомительных сигналов {X} и множество внешних флагов ветвления {F}, результатом функционирования — множество признаков выполняемых микроопераций {Y}.

Операционный автомат осуществляют вычислительные действия над операндами. Структурно операционный автомат состоит из элементов памяти (регистров), осуществляющих хранение значений операндов, и комбинационных схем, отвечающих за выполнение микроопераций. Входной информацией для операционного автомата являются линии данных {D} и множество выполняемых в данном такте микроопераций {Y}, выходами являются линии результата {R} и выработанные признаки результата {X}, используемые в управляющем автомате.

Согласно полученного задания необходимо реализовать процессорный модуль, выполняющий алгоритмы следующих действий: умножение целых двоичных беззнаковых чисел, начиная с младших разрядов множителя, преобразование двоично-десятичного числа в двоичное.

На рисунках 1.2 и 1.3 приведены ГСА действий, которые должен выполнять проектируемый процессорный модуль.

Рисунок 1.2 — Умножение целых двоичных беззнаковых чисел, начиная с младших разрядов множителя

Рисунок 1.3 — Умножение целых двоичных беззнаковых чисел, начиная со старших разрядов множителя

Для выполнения поставленной задачи необходимо объединить две ГСА, т. к. проектируемый процессорный модуль должен выполнять две операции. Для выбора одной из операций в объединенную ГСА, которая изображена на рисунке 1.4 добавлена условная вершина, проверяющего состояние регистра COP (code of operation). Данные в СОР являются, как и операнды, входной информацией для проектируемого процессорного модуля.

В объединенной ГСА относительно исходных алгоритмов была изменена операция обнуления регистра С. Обнуление младших восьми разрядов регистра было изменено на обнуление всех разрядов, т. к. это при проектировании управляющего автомата позволит сократить количество признаков выполняемых микроопераций {Y}. С той же целью была создана общая для обеих ГСА вершина вывода результата.

Таким образом, при проектировании процессорного модуля необходимо использовать объединенную ГСА, описывающую алгоритмы выполнения предусмотренных действий. Процессорный модуль будет логически разбит на две подсистемы — ОА и УА, которые будут проектироваться как независимые устройства.

Рисунок 1.4 — Общая ГСА

2. Проектирование операционного автомата

2.1 Общие вопросы функционирования операционных атоматов

Функции ОА сводятся к вводу-выводу и хранению слов информации, выполнению микроопераций и вычислению логических условий. Чтобы реализовать эти действия, необходим набор элементов, достаточный для построения структур с заданными функциями. Такой набор элементов называется структурным базисом ОА.

Основными операционными элементами, используемыми в ОА, являются:

— управляемые шины, обеспечивающие передачу информации;

— регистры;

— комбинационные схемы, используемые для выполнения преобразований и формирования логических условий.

В общем виде структура ОА представлена на рисунке 2. 1, где Ф — комбинационные схемы, выполняющие преобразование, S — память,? — комбинационные схемы, формирующие осведомительные сигналы.

Рисунок 2.1 — Общая структура ОА

процессорный модуль обработка информация

2.2 Структурная организация М-автоматов

Согласно заданию, ОА для проектируемого процессорного модуля должен быть типа М. М-автоматом называется такой ОА, который синтезируется на основе принципа обобщения комбинационных схем, используемых для выполнения всех микроопераций. М-автомат имеет наименьшие аппаратные затраты, однако недостатком М-автомата является то, что он не может выполнять больше одной микрооперации преобразования за один такт работы. Следовательно, производительность М-автомата невысока.

Принцип обобщения комбинационных схем обуславливает структуру автомата, представленную на рисунке 2.2.

Рисунок 2.2 — Обобщенная структура ОА типа М

В такой структуре микрооперации, связанной с преобразованием yp: Sk:

?m (Si, Sj), ставится в соответствие следующий набор операторов:

ai: A1: =Si;

bi: A2: =Sj;

?m: z:= ?m (A1, A2);

dk: Sk: =z;

yp= {ai, bi, ?m, dk}.

2.3 Проектирование М-автомата

Разработка структуры М-автомата подразумевает выполнение следующих этапов:

1. Для автомата выберем регистры, которые будут хранить результаты микроопераций:

A (7: 0), B (7: 0), C (15: 0), CnT (3: 0), COP.

2. Распределим регистры по двум шинам А1 и А2:

Arg1 = {C}, Arg1 (15: 0);

Arg2 = {A, B}, Arg2 (7: 0).

3. Определим микрооперации, выполняемые М-автоматом:

Таблица 2.1 — Операции для М-автомата

Y

Микрооперация

Arg1

Arg2

Z

Результат

y1

A (7: 0):=D1

-

-

A: =D1

y2

B (7: 0):=D2

-

-

B: =D2

y3

C (15: 0):=0

-

-

C: =0

y4

CnT (3: 0):=8

-

-

CnT: =8

y5

COP: =D3

-

-

COP: =D3

y6

C (15: 0):=C (15: 0)+A (7: 0)

C

A

Z=Arg1 (15: 0)+Arg2 (7: 0)

C: =Z

y7

B (7: 0):=R1 (C (0).B (7: 1))

C

B

Z=R1 (Arg1 (0). Arg2 (7: 1))

B: =Z

y8

C (7: 0):=R1 (CF.C (7: 1))

C

-

Z=R1 (CF. Arg1 (7: 1))

C: =Z

y9

CnT: =CnT-1

-

-

CnT: =CnT-1

y10

R (15: 0):=C (7: 0).B (7: 0)

-

-

R: =C

y11

C (15: 0):=L1 (C (14: 0). 0)

C

-

Z=L1 (Arg1 (14: 0). 0)

C: =Z

y12

B (7: 0):=L1 (B (6: 0). 0)

-

B

Z=L1 (Arg2 (6: 0). 0)

B: =Z

y13

R (15: 0):=C (15: 0)

-

-

R: =C

4. Выделим классы эквивалентных микроопераций и найдем для них обобщенные микрооператоры:

5. Построим схему М-автомата уровня регистровых передач:

Рисунок 2.3 — Схема М-автомата уровня регистровых передач

3. Проектирование управляющего автомата

3.1 Общие вопросы функционирования устройств управления с жёсткой логикой

Под УУ понимается совокупность блоков и узлов процессора, обеспечивающих координированные работы всех устройств ЭВМ и управление ими для всех принятых режимов.

УУ, реализуя программы, организовывают все необходимые действия по приёму, оценке и преобразованию исходной информации с целью получения и выдачи необходимых результатов. Т. о. УУ может считаться преобразованием первично-командной информации, представленной командами системы, во вторично-командную информацию, представленную формируемыми УУ, исполнительными адресами, кодами и управляющего сигнала, воздействие которых на соответствующие узлы и блоки приводит к выполнению заданных операций.

Последовательность выполнения программы:

выбор команды из ОП

декодирование операций

определение исполнительных адресов операндов

выборка операндов в кэш

выполнение операций

загрузка результатов в память

Рисунок 3.1 — Общая структура УУ

БУК осуществляет хранение считанной из памяти команды и формирует адреса следующей команды. Считывание из памяти очередной команды, преобразование адресной и операционной частей команды осуществляет БУО.

Для выработки синхронизирующих сигналов и согласования работы БУК и БУО используется БМУ.

При использовании «жёсткой» логики УА строятся из разрозненных комбинационных схем и элементов памяти. Закон функционирования УА определяется порядком соединения элементов между собой.

Основными элементами, с помощью которых могут быть построены УА, являются:

1 Элементы задержки (D-триггер)

2 Распределители сигналов (сдвигающие регистры)

3 Как цифровой автомат

3.2 Уточненная граф-схема алгоритма

Для проектирования управляющего автомата необходимо использовать уточненную ГСА, которая учитывает тип операционного автомата.

Преобразование объединенной ГСА в уточненную включает следующие действия:

1. замена микроопераций их условными обозначениями yi;

2. разделение операционных вершин с n микрооперациями преобразования на n операционных вершин, т. к. ОА типа М не может выполнять больше одной микрооперации преобразования за один такт работы;

3. разметка состояний управляющего автомата по правилам:

Состояние после «начала» и перед «концом» должно иметь метку

Состояние после каждой операторной вершины должно иметь метку

Рисунок 3.2 — Уточненная (размеченная) ГСА

3.3 Проектирование управляющего автомата с жёсткой логикой

Разработка структуры УА подразумевает выполнение следующих этапов:

По размеченной ГСА строится граф переходов алгоритма:

Рисунок 3.3 — Граф переходов управляющего автомата

Далее необходимо синтезировать функции переходов и выходов с помощью структурной таблицы переходов. Перед этим необходимо закодировать состояния, в зависимости от количества входов в каждое состояние:

Таблица 3.1 — Кодирование состояний

Состояние

Количество входов

Кодировка

a0

2

0001

a1

1

1000

a2

1

0011

a3

4

0000

a4

1

0110

a5

1

0101

a6

2

0010

a7

2

0100

a8

1

0111

Таблица 3.2 — Структурная таблица переходов управляющего автомата

1

a0

0000

a1

1000

1

y1y2y3y4

D3

2

a1

1000

a2

0011

1

y5

D1D0

3

a2

0011

a3

0000

y6

-

4

a3

0000

-

-

5

a6

0010

y11

D1

6

a3

0000

a4

0110

1

y7

D2D1

7

a4

0110

a5

0101

1

y8y9

D2D0

8

a5

0101

a0

0001

y10

D0

9

a3

0000

y6

-

10

a3

0000

-

-

11

a6

0010

a7

0100

y6

D2

12

a7

0100

-

D2

13

a7

0100

a8

0111

1

y9y12

D2D1D0

14

a8

0111

a6

0010

y11

D1

15

a0

0001

y13

D0

— исходное состояние

— двоичный код исходного состояния

— результирующее состояние

— двоичный код результирующего состояния

— условие перехода

— формируемый выход

— функции возбуждения

Из данной таблицы можно получить следующие зависимости:

— для дешифратора состояний:

— для функций выхода

— для функции возбуждения триггеров

Построим схему УА уровня регистровых передач:

Согласно обобщенной структуре управляющего автомата для построения схемы используются следующие элементы:

— Т-триггер

— DC — декодирующее устройство, преобразующее позиционный двоичный код;

— MX — мультиплексор, выбирающий одно из проверяемых логических условий;

Рисунок 3.4 — Схема У А уровня регистровых передач

4. Проектирование процессорного модуля

Согласно декомпозиции процессорного модуля, представленной на рисунке 1. 1, проектирование заключалось в выполнении двух этапов: проектирование операционного устройства и управляющего автомата.

Очевидно, что полученный процессорный модуль является соединением двух отдельных устройств — ОА и УА. На входы всего процессорного модуля подаются операнды (D1, D2), условие выбора операции (СОР или D3) и управляющие сигналы (Clk, Start, Stop, Reset). Внутреннее взаимодействие между ОА и УА заключается во взаимопередаче сигналов: ОА генерирует значения вычисленных логических условий {X} на каждом такте, УА формирует сигналы выполнения необходимых на данном такте микроопераций {Y}. Также операционное устройство формирует результат выполнения заданного значением регистра СОР действия, который подается на выходную шину R.

Помимо схем ОА и УА уровня регистровых передач результатом выполнения курсового проекта являются тексты VHDL-моделей управляющего устройства, операционного автомата и процессорного модуля. VHDL-модель процессорного модуля включает в себя в качестве компонентов модели ОА и УА.

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).

Моделирование работы устройства осуществлялось по стратегии обхода всех дуг. В результате моделирования был сделан вывод о работоспособности модели, т. к. во всех состояниях УА в качестве выходного вектора подавались сигналы микроопераций, соответствующие отмеченным в уточненной ГСА.

5. 3 Тестирование VHDLодели процессорного модуля

После разработки VHDL-модели УА были получены временные диаграммы выполнения двух действий, представленные на рисунках 5.3 и 5.4. Для моделирования на входы модели процессорного модуля были поданы данные для выполняемого действия (d1, d2 — операнды; d3 — код выполняемой операции). Результат выполнения операции был получен на выходной шине r.

Рисунок 5.3 - Умножение целых двоичных беззнаковых чисел, начиная с младших разрядов множителя

Проверка результатов моделирования работы, представленных на рисунке 5. 3:

28 * 10 = 280, или

11 100 * 1 010 =100 011 000.

При моделировании получен верный результат.

Рисунок 5.4 - Умножение целых двоичных беззнаковых чисел, начиная со старших разрядов множителя

При моделировании получен верный результат.

Выводы

Результатом выполнения курсового проекта является процессорный модуль, состоящий из операционного М-автомата и управляющего автомата с жёсткой логикой типа Мили, и выполняющий действия, согласно заданию: умножение целых двоичных беззнаковых чисел, начиная со старших разрядов множителя и умножение целых двоичных беззнаковых чисел, начиная с младших разрядов множителя

Исходными данными к проектированию были граф-схемы алгоритмов заданных действий, типы ОА и УА и разрядность операндов.

При выполнении курсового проекта были получены знания по организации и функционированию сложных цифровых систем обработки информации, получены практические навыки по проектированию процессорного модуля с использованием языка VHDL.

В результате анализа автоматизированного синтеза устройств можно сделать вывод о правильном и полном выполнении задания к курсовому проектированию, т. к. разработанный процессорный модуль правильно выполняет предусмотренные заданием действия.

Список использованных источников

1. Кораблев Н. М. — Конспект лекций по дисциплине «Компьютерная схемотехника» — Харьков, 2010 г.

2. Кораблев Н. М., Саранча С. Н., Саранча О. Н. — Методические указания к лабораторным работам по дисциплине «Компьютерная схемотехника»: Часть 2 «Проектирование сложных систем» — Харьков: ХНУРЭ, 2006 г.

3. Бибило П. Н. Синтез логических схем с использованием языка VHDL. — М.: СЛОН-Р, 2002. — 384 с.

4. http: //vhdl-1. ru/

5. http: //www. vhdl-1. ru/compon. html

6. http: //www. bsuir. by/vhdl/index. php? section=main

Приложение 1

VHDL-модель операционного автомата

library IEEE;

use IEEE. STD_LOGIC_1164. all;

use IEEE. STD_LOGIC_unsigned. all;

entity OA_M is

port (

clk, rst: in STD_LOGIC;

y: in STD_LOGIC_VECTOR (13 downto 1);

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 (4 downto 0)

);

end OA_M;

architecture arch of OA_M is

— объявление внутренних сигналов

signal A, B, Arg2: STD_LOGIC_VECTOR (7 downto 0);

signal CF: STD_LOGIC_VECTOR (8 downto 0);

signal C, Arg1, Z: STD_LOGIC_VECTOR (15 downto 0);

signal Cnt: INTEGER;

signal COP: STD_LOGIC;

— сигналы A, B, C, COP — входы соответствующих регистров

— сигналы Arg1, Arg2 — шины аргументов

— сигнал Cnt — счётчик

begin

process (clk, rst) is

begin

if rst='0' then

— асинхронный сброс

A< =(others=>'0');

B< =(others=>'0');

C< =(others=>'0');

Cnt< =0;

COP< ='0';

elsif rising_edge (clk) then

— синхронная записаь в регистр А

if y (1)='1' then A< =d1;

end if;

— синхронная записаь в регистр В

if y (2)='1' then B< =d2;

elsif (y (7) or y (12))='1' then B< =Z (7 downto 0);

end if;

— синхронная записаь в регистр С

if y (3)='1' then C< =(others=>'0');

elsif (y (6) or y (8) or y (11))='1' then C< =Z;

end if;

— синхронная запись результата

if y (10)='1' then r< =C (7 downto 0)&B (7 downto 0);

elsif y (13)='1' then r< =C;

end if;

— синхронная запись в счетчик

if y (4)='1' then Cnt< =8;

elsif y (9)='1' then Cnt< =Cnt-1;

end if;

— синхронная запись в регистр СОР

if y (5)='1' then COP< =d3;

else COP< ='0';

end if;

end if;

end process;

— Шина аргумента 1

arg1<= C when (y (6) or y (7) or y (8) or y (11))='1'

else (others=> '0');

— Шина аргумента 2

arg2<= A when y (6)='1'

else B when (y (7) or y (12))='1'

else (others=> '0');

— Формирование флага переноса

CF< =('0'&A (7 downto 0))+('0'&B (7 downto 0)) when y (8)='1';

— Шина результата

Z< =Arg1 (15 downto 0)+arg2 (7 downto 0) when y (6)='1'

else «0"& Arg1 (0)& Arg2 (7 downto 1) when y (7)='1'

else «0"& CF (8)&Arg1 (7 downto 1) when y (8)='1'

else Arg1 (14 downto 0)& '0' when y (11)='1'

else «0"& Arg2 (6 downto 0)& '0' when y (12)='1'

else (others=> '0');

— формирование признаков результата

x (1)< =COP;

x (2)< ='1' when B (0)='1' else '0';

x (3)< ='1' when Cnt=0 else '0';

x (4)< ='1' when B (7)='1' else '0';

x (0)< ='0';

end arch;

Приложение 2

VHDL-модель управляющего автомата

library IEEE;

use IEEE. STD_LOGIC_1164. all;

entity ua_mili is

port (

clk: in STD_LOGIC; - вход синхронизации

rst: in STD_LOGIC; - вход сброса

x: in STD_LOGIC_VECTOR (4 downto 1); - входы логических условий

y: out STD_LOGIC_VECTOR (13 downto 1) — выходы микроопераций

);

end ua_mili;

architecture arch of ua_mili is

type TState is (a0, a1, a2, a3, a4, a5, a6, a7, a8); - множество внутренних состояний

signal State: TState;

begin

process (clk, rst) is — функция переходов

begin

if rst='0' then state< =a0;

elsif rising_edge (clk) then

case state is

when a0=> state<=a1;

when a1=> state<=a2;

when a2=> if x (1)='1' then state< =a3;

else state< =a6;

end if;

when a3=> state<=a4;

when a4=> state<=a5;

when a5=> if x (3)='1' then state< =a0;

else state< =a3;

end if;

when a6=> state<=a7;

when a7=> state<=a8;

when a8=> if x (3)='1' then state< =a0;

else state< =a6;

end if;

end case;

end if;

end process;

process (state) is — функция выходов

begin

y<= «0»;

case state is

when a0=> y (1)<='1'; y (2)< ='1'; y (3)< ='1'; y (4)< ='1';

when a1=> y (5)<='1';

when a2=> if x (1)='1' then

if x (2)='1' then y (6)< ='1';

end if;

else y (11)< ='1';

end if;

when a3=> y (7)<='1';

when a4=> y (8)<='1'; y (9)< ='1';

when a5=> if x (3)='1' then y (10)< ='1';

else if x (2)='1' then y (6)< ='1';

end if;

end if;

when a6=> if x (4)='1' then y (6)< ='1';

end if;

when a7=> y (9)<='1'; y (12)< ='1';

when a8=> if x (3)='1' then y (13)< ='1';

else y (11)< ='1';

end if;

end case;

end process;

end arch;

architecture struct of ua_mili is

signal D, Q: std_logic_Vector (3 downto 0); - входы и выходы регистра состояния

signal a0, a1, a2, a3, a4, a5, a6, a7, a8: STD_LOGIC;

begin

process (clk, rst) is — процесс описывает 4-хразрядный регистр

begin

if rst ='0'then Q<= «0001»;

elsif rising_edge (clk) then

Q< =D;

end if;

end process;

— дешифратор состояний

a0< =(not Q (3)) and (not Q (2)) and (not Q (1)) and Q (0);

a1< =Q (3) and (not Q (2)) and (not Q (1)) and (not Q (0));

a2< =(not Q (3)) and (not Q (2)) and Q (1) and Q (0);

a3< =(not Q (3)) and (not Q (2)) and (not Q (1)) and (not Q (0));

a4< =(not Q (3)) and Q (2) and Q (1) and (not Q (0));

a5< =(not Q (3)) and Q (2) and (not Q (1)) and Q (0);

a6< =(not Q (3)) and (not Q (2)) and Q (1) and (not Q (0));

a7< =(not Q (3)) and Q (2) and (not Q (1)) and (not Q (0));

a8< =(not Q (3)) and Q (2) and Q (1) and Q (0);

— функции возбуждения триггеров

D (0)< =a1 or a4 or (a5 and x (3)) or a7 or (a8 and x (3));

D (1)< =a1 or (a2 and not x (1)) or a3 or a7 or (a8 and not x (3));

D (2)< =a3 or a4 or (a6 and x (4)) or (a6 and not x (4)) or a7;

D (3)< =a0;

— функции выходов

y (1)< =a0; y (2)< =a0; y (3)< =a0; y (4)< =a0; y (5)< =a1;

y (6)< =(a2 and x (1) and x (2)) or (a5 and not x (3) and x (2)) or (a6 and x (4));

y (7)< =a3; y (8)< =a4; y (9)< =a4 or a7; y (10)< =a5 and x (3);

y (11)< =(a2 and not x (1)) or (a8 and not x (3));

y (12)< =a7; y (13)< =a8 and x (3);

end struct;

Приложение 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_M is

port (

clk, rst: in STD_LOGIC;

y: in STD_LOGIC_VECTOR (13 downto 1);

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 (4 downto 1)

);

end component;

— компонент — управляющий автомат с жесткой логикой типа Мили

component ua_mili is

port (

clk, rst: in STD_LOGIC;

x: in STD_LOGIC_VECTOR (4 downto 1);

y: out STD_LOGIC_VECTOR (13 downto 1)

);

end component;

— сигналы, которыми обмениваются ОА и УА.

signal y: STD_LOGIC_VECTOR (13 downto 0);

signal x: STD_LOGIC_VECTOR (3 downto 0);

begin

OA: OA_M port map (clk, rst, y (13 downto 1), d1, d2, d3, r, x);

UA: ua_mili port map (clk, rst, x, y (13 downto 1));

end PM;

ПоказатьСвернуть
Заполнить форму текущей работой