Разработка процессорного модуля

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?танный процессорный модуль правильно выполняет предусмотренные заданием действия.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

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;