Автор работы: Пользователь скрыл имя, 06 Июня 2013 в 21:06, курсовая работа
Процессорный модуль представляет собой функционально законченное устройство со встроенной функцией отладки целевого программного обеспечения. Он содержит разъемы, на которые выведены все контакты микропроцессора. Процессорный модуль обеспечивает корректный старт и инициализацию микропроцессора после аппаратного сброса. Он может функционировать под управлением инструментального компьютера или без него. Взаимодействие инструментального компьютера и процессорного модуля осуществляется посредством отладочного интерфейса.
ВВЕДЕНИЕ 7
1 ПОСТАНОВКА ЗАДАЧИ ПРОЕКТИРОВАНИЯ 9
2 ПРОЕКТИРОВАНИЕ ОПЕРАЦИОННОГО АВТОМАТА 12
3 ПРОЕКТИРОВАНИЕ УПРАВЛЯЮЩЕГО АВТОМАТА 19
4 ПРОЕКТИРОВАНИЕ ПРОЦЕССОРНОГО МОДУЛЯ 25
ВЫВОДЫ 28
ПЕРЕЧЕНЬ ССЫЛОК 29
elsif (y(12) = '1') then
C(n-1 downto 0) <= F & C(n-1 downto 1);
elsif (y(13) = '1') then
C(n-1 downto 0) <= C(n-1) & C(n-1 downto 1);
elsif (y(14) = '1') then
C(n-1 downto 0) <=
IEEE.std_logic_unsigned."+"(C(
C(n-1 downto 0) <=
IEEE.std_logic_unsigned."+"(C(
end if;
-- начало формирования
if (y(10) = '1') then
TgB <= B(0);
end if;
-- начало формирования
if (y(7) = '1') then
Cnt <= Cnt-1;
end if;
end if;
end process;
-- запись результата в реигстр
R <= C(2*n-1 downto 0) when y(8) = '1' else
C(n-1 downto 0)& B(n-1 downto 0) when y(15) = '1' else (others => 'Z');
X(0) <= F;
X(1) <= '1' when B = "00000" else '0';
X(2) <= '1' when CnT = 0 else '0';
X(3) <= '1' when B = "000000" else '0';
X(4) <= '1' when F = '1' else '0';
X(5) <= '1' when CnT = 0 else '0';
X(6) <= '1' when TgB = '1' else '0';
end architecture;
2.3. Верификация операционного автомата класса I приведена на рисунке 2.1
Рисунок 2.1 –
Верификация операционного
Результаты построения схемы и синтеза операционного автомата показаны на рис. 2.1.
Рисунок 2.1 – Результаты построения и синтеза схемы операционного автомата
Рисунок 3.1 –Закодированная ГСА с разметкой для проектирования автомата Мура
3.2. Построение отмеченной ГСА автомата Мура
Если необходимо построить микропрограммный автомат Мура, то содержательная ГСА управляющего автомата размечается в соответствии со следующими правилами:
1) символом a0 отмечаются вершины «Начало» и «Конец»;
2) различные
операторные вершины
3) все операторные вершины должны быть отмечены.
4) содержательные
термины микроопераций и
ГСА после разметки по приведенному алгоритму представлена на рис. 3.1
После получения
отмеченной ГСА строится граф переходов
автомата. Он имеет столько различных
вершин, сколько различных букв аi
с индексами имеется в
Между двумя вершинами графа имеется дуга, если на отмеченной ГСА между вершинами с метками ai и ak, имеется путь. Над дугой ставится входной сигнал, равный конъюнкции логических условий соответствующего пути в отмеченной ГСА. При этом выполнению логического условия соответствует переменная без отрицания, а невыполнению логического условия - переменная с отрицанием на соответствующей дуге графа переходов автомата.
Если в отмеченной ГСА между упомянутыми вершинами с метками ai и аk имеется несколько путей, то в графе переходов автомата на дуге, связывающей аi и аk через символ дизъюнкции перечисляются все конъюнкции, соответствующие имеющимся путям.
Если строится граф переходов автомата Мура, то символы микроопераций (выходные сигналы управляющего автомата) записываются около соответствующих его вершин. Для автомата Мили символы микроопераций записываются на соответствующих дугах при конъюнкциях логических условий, описывающих путь через операторную вершину с рассматриваемой микрооперацией.
Если в отмеченной ГСА имеется безусловный переход между операторными вершинами, т.е. путь, не проходящий ни через какие условные вершины, то на графе переходов автомата ему соответствует дуга, которой приписывается входной сигнал «1», показывающий, что данный переход в автомате осуществляется при поступлении очередного синхросигнала.
В дальнейшем синтез проводится с помощью описанного ранее метода структурного синтеза. Подчеркнем, что входными сигналами синтезируемого структурного автомата являются конъюнкции булевых переменных (или дизъюнкции конъюнкций), каждая из которых отображает путь через соответствующие условные вершины отмеченной ГСА, а выходными сигналами - микрооперации, обозначающие либо вершины, либо дуги графа переходов автомата, в зависимости от его типа. Используя канонический метод структурного синтеза, можно построить функциональную схему автомата.
3.2. Реализация
микропрограммы управляющего
Листинг 3.1 – Исходный код управляющего автомата с жесткой логикой типа Мура
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity ua is
port(
clk : in STD_LOGIC; -- вход синхронизации
rst : in STD_LOGIC; -- вход сброса
x : in STD_LOGIC_
y : out STD_LOGIC_
);
end ua;
architecture ua of ua is
type TState is(s0,s1,s2,s3,s4,
signal State: TState;
begin
process(clk,rst)is --функция переходов
begin
if rst='0' then state<=s0;
elsif rising_edge(clk) then
case state is
when s0=>state<=s1;
when s1=>if x(1)='0' then
else if x(4)=
else state<=s7;
end if;
end if;
--when s1=>if x(3)='1' then state<=s6;
--else state<=s7;
--end if;
when s2=>if x(2)='1'
else state<=s3;
end if;
when s3=>state<=s4;
when s4=>if x(3)='1' then
else state<=s2;
end if;
when s5=>state<=s0;
when s6=>state<=s7;
when s7=>if x(5)='1' then
else state<=s9;
end if;
when s8=>if x(6)='0'
if x(4)='0'
else state<=
end if;
else if x(7)='
else state<=
end if;
end if;
when s9=>if x(6)='0'
if x(4)='0'
else state<=
end if;
else if x(7)='
else state<=
end if;
end if;
when s10=>state<=s11;
when s11=>state<=s0;
end case;
end if;
end process;
process(state)is -- функция выходов
begin
y<="000000000000000";
case state is
when s0=>Y<="
when s1=>y(1)<='1'; y(2)<='1'; y(3)<='1';
when s2=>y(4)<='1';
when s3=>y(5)<='1';
when s4=>y(6)<='1';y(7)<='1'
when s5=>y(8)<='1';
when s6=>y(9)<='1';
when s7=>y(10)<='1'; y(11)<='1';
when s8=>y(12)<='1';
when s9=>y(13)<='1';
when s10=>y(14)<='1';
when s11=>y(15)<='1';
end case;
end process;
end UA;
3.3. Верификация управляющего автомата
Верификация управляющего автомата с жесткой логикой типа Мура приведена на рисунке 3.2
Рисунок 3.2 - Верификация управляющего автомата с жесткой логикой типа Мура
Рисунок 4.1 – Результат синтеза арифметически – логического устройства, состоящего из операционной и управляющей части
4.2. Реализация процессорного модуля на VHDL.
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use work.all;
entity cpu is
generic (n: natural:=6);
port (clk, reset: in std_logic;
D1: in std_logic_vector(n-1 downto 0);
D2: in std_logic_vector(n-1 downto 0);
f: in std_logic;
R: out std_logic_vector(2*n - 1 downto 0));
end cpu;
--}} End of automatically maintained section
architecture cpu of cpu is
component OA
generic (n: natural:=6);
port (clk, reset: in std_logic;
D1: in std_logic_vector(n-1 downto 0);
D2: in std_logic_vector(n-1 downto 0);
f: in std_logic;
R: out std_logic_vector(2*n - 1 downto 0);
y:in std_logic_vector(15 downto 1);
x:out std_logic_vector(6 downto 0) );
end component ;
component ua
port(
clk : in STD_LOGIC; -- âõîä ñèíõðîíèçàöèè
rst : in STD_LOGIC; -- âõîä ñáðîñà
x : in STD_LOGIC_VECTOR(1 to 7); -- âõîäû ëîãè÷åñêèõ óñëîâèé
y : out STD_LOGIC_VECTOR(1 to 15) -- âûõîäû ìèêðîîïåðàöèé
);
end component ;
signal y: std_logic_vector (15 downto 1);
signal x: std_logic_vector (6 downto 0);
signal nclk: std_logic;
begin
nclk <= not clk;-- after 10 ns;
dd1: oa port map (nclk,reset,D1,D2,f,R,y,x);
dd2: ua port map (clk,reset,x,y);
end cpu;
При моделировании
Рисунок 4.2 – Результаты верификации процессорного модуля
Данный курсовой проект разработан для изучения современных средств проектирования цифровых вычислительных машин. В этом проекте был разработан двухуровневый процессорный модуль, который был спроектирован на основе управляющего автомата Мура и операционного автомата класса I. С помощью данного устройства можно выполнять такие микрооперации, как сложение, умножение и деление двоичных знаковых и беззнаковых чисел. Автомат Мура является автоматом с жесткой логикой. Для таких автоматов затраты оборудование меньше (при сложных микрокомандах), чем в автоматах с принудительной адресацией. Чем сложнее микропрограмма, тем меньше аппаратные затраты.
Управляющие автоматы и автоматы с
жесткой логикой отличаются степенью
гибкости. Автоматы с жесткой логикой
используются в современных
ПЕРЕЧЕНЬ ССЫЛОК
1. Майоров С.А., Новиков Г.И. Структура
электронных вычислительных
2. Угрюмов Е. Цифровая
3. Семенец В.В., Хаханова И.В., Хаханов В.И. Проектирование цифровых систем с использованием языка VHDL. – Харьков, ХНУРЭ, 2003. – 492 с.
4. Самофалов К.Г. Прикладная
5. Кобяк И.П. Процессоры компьютерных систем. Синтез операционных автоматов: Метод. пособие по курсовому и дипломному проектированию по ТиП ЭВМ и СиФО ЭВМ для студентов специальности 40 02 01 «Вычислительные машины, системы и сети» дневной формы обучения / И.П. Кобяк. – Мн.: БГУИР, 2003. – 83 с.
6. Савельев А.Я Арифметические и логические основы цифровых автоматов - Высшая школа – 1980. – 255с.
7. Захаров Н.Г., Рогов В.Н. Синтез
цифровых автоматов: Учебное
8. Уилкинсон, Барри. Основы проектирования цифровых схем – Вильямс – 2004. – 320с.