Разработка процессорного модуля
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?танный процессорный модуль правильно выполняет предусмотренные заданием действия.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Кораблев Н. М. - Конспект лекций по диiиплине Компьютерная схемотехника - Харьков, 2010 г.
. Кораблев Н.М., Саранча С. Н., Саранча О. Н. - Методические указания к лабораторным работам по диiиплине Компьютерная схемотехника: Часть 2 Проектирование сложных систем - Харьков: ХНУРЭ, 2006 г.
. Кораблев Н.М., Саранча С. Н., Чиженков Ю. Я. - Методические указания к лабораторным работам по диiиплине Цифровые ЭВМ: Часть 1 Проектирование отдельных функциональных узлов - Харьков: ХНУРЭ, 2006 г.
. Угрюмов Е.П. Цифровая схемотехника. Учебн. пособие.- СПб.: БХВ - Петербург., 2000.-528 с.
. Организация ЭВМ и систем. Однопроцессорные ЭВМ. Часть 1.: Конспект лекций / И.В. Хмелевский, В.П. Битюцкий. 2-е изд., испр. и допол. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2005. 87 с.
. Бибило П.Н. Синтез логических схем с использованием языка VHDL.- М.: СЛОН-Р, 2002.- 384 с.
.
.
.
ПРИЛОЖЕНИЯ
Приложение 1
модель операционного автоматаIEEE;IEEE.STD_LOGIC_1164.all;IEEE.STD_LOGIC_unsigned.all;OA_M is(,rst : in STD_LOGIC;: in STD_LOGIC_VECTOR(16 downto 1);: in STD_LOGIC_VECTOR(7 downto 0);: in STD_LOGIC_VECTOR(7 downto 0);: in STD_LOGIC;: out STD_LOGIC_VECTOR(15 downto 0);: out STD_LOGIC_VECTOR(3 downto 0)
);OA_M;OA_M of OA_M is
объявление внутренних сигналовA,B,Arg2: STD_LOGIC_VECTOR(7 downto 0);C,Arg1,Rez: STD_LOGIC_VECTOR(15 downto 0);Cnt: INTEGER;COP: STD_LOGIC;
сигналы А, В, С, СОР - входы соответствующих регистров
сигналы Arg1, Arg2 - шины аргументов
сигнал Rez - результат выполнения микрооперации
сигнал Cnt - счетчик(clk,rst)isrst='0' then
-асинхронный сброс'0');<=0;<='0';rising_edge(clk)then
-синхронная запись в регистр Аy(1)='1' then A<=d1;y(12)='1' then A<=Rez(7 downto 0);if;
-синхронная запись в регистр Вy(2)='1' then B<=d2;y(13)='1' then B<=C(7 downto 0);y(7)='1' then B<=Rez(7 downto 0);if;
-синхронная запись в регистр Сy(3)='1' then C'0');(y(5) or y(6) or y(10) or y(11) or y(14))='1' then C<=Rez;if;
синхронная запись результатаy(15)='1' then r<=C;if;
синхронная запись в счетчикy(4)='1' then Cnt<=8;y(9)='1' thenCnt<=1;y(8)='1' then Cnt<=Cnt-1;if;
синхронная запись в регистр СОРy(16)='1' then COP<=d3;COP<='0';if;if;process;
Шина аргумента 2'0');
Шина аргумента 1'0');
Шина результата'0');
формирование признаков результата(1)<=COP;(2)<='1' when B(7)='1' else '0';(3)<='1' when Cnt=0 else '0';(0)<='0';OA_M;
Приложение 2
модель управляющего автоматаIEEE;IEEE.STD_LOGIC_1164.all;IEEE.STD_LOGIC_unsigned.all;YA_P is(, rst : in STD_LOGIC;: in STD_LOGIC_VECTOR(3 downto 0);: out STD_LOGIC_VECTOR(16 downto 0)
);YA_P;YA_P of YA_P is
-подтип КомандаTCommand is std_logic_vector(15 downto 0);
-тип для имитации ПЗУTROM is array(0 to 16) of TCommand;
-заполнение информации о командахROM:TROM := (
-yyyyyyyxxaaaaa
"1010000000100001",--0
"0001001110000011",--1
"0001011100000111",--2
"0010000001000101",--3
"1001000000000000",--4
"0100010001100011",--5
"0011000000000101",--6
"0101000001101000",--7
"0110000000001010",--8
"1001000000000000",--9
"0111000000001011",--10
"0111100000001100",--11
"0110000000001101",--12
"0111000000001110",--13
"0110000000001111",--14
"0111000000010000",--15
"1000010000000111"--16
);RegCom:TCommand;TY is array(0 to 10) of INTEGER;
-подмножества множества микроопераций, непересекающихся по совместмостиY1: TY :=(0,1,5,6,7,10,11,12,14,15,16);Y2: TY :=(0,2,8,9,13,0,0,0,0,0,0);Y3: TY :=(0,3,0,0,0,0,0,0,0,0,0);Y4: TY :=(0,4,0,0,0,0,0,0,0,0,0);
-вспомогательный сигнал выходов уyConv: STD_LOGIC_VECTOR(16 downto 0);(rst,clk) isrst='0' then
-асинхронный сброс'0');rising_edge(clk) then
-формирование следующей командыx(conv_integer(RegCom(6 downto 5))) ='0' then --
RegCom<=ROM(conv_integer(RegCom(4 downto 0)));else RegCom<=ROM(conv_integer(RegCom(4 downto 0))+1);if;if;process;(RegCom) is
-преобразование сокращенного кода команды в унарный выходной код'0');(Y1(conv_integer(RegCom(15 downto 12))))<='1';(Y2(conv_integer(RegCom(11 downto 9))))<='1';(Y3(conv_integer(RegCom(8 downto 8))))<='1';(Y4(conv_integer(RegCom(7 downto 7))))<='1';process;<=yConv;architecture YA_P;
Приложение 3
модель процессорного устройствоIEEE;IEEE.STD_LOGIC_1164.all;IEEE.STD_LOGIC_unsigned.all;PM is(, rst : in STD_LOGIC;: in STD_LOGIC_VECTOR(7 downto 0);: in STD_LOGIC_VECTOR(7 downto 0);: in STD_LOGIC;:out STD_LOGIC_VECTOR(15 downto 0)
);PM;PM of PM is
компонент - операционный автомат типа МOA_M is(,rst : in STD_LOGIC;: in STD_LOGIC_VECTOR(16 downto 1);: in STD_LOGIC_VECTOR(7 downto 0);: in STD_LOGIC_VECTOR(7 downto 0);: in STD_LOGIC;:out STD_LOGIC_VECTOR(15 downto 0);: out STD_LOGIC_VECTOR(3 downto 0)
);component;
компонент - управляющий автомат с программируемой логикойYA_P is(, rst : in STD_LOGIC;: in STD_LOGIC_VECTOR(3 downto 0);: out STD_LOGIC_VECTOR(16 downto 0)
);component;nclk: std_logic;
сигналы, которомы обмениваются ОА и УУ.y: STD_LOGIC_VECTOR (16 downto 0);x: STD_LOGIC_VECTOR (3 downto 0);<= not clk;: OA_M port map(clk, rst, y(16 downto 1), d1, d2, d3, r, x);: YA_P port map(nclk, rst, x, y);PM;