Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Gen_Defs




Додаток

Список літератури

Цикл виконання (Execute cycle - EX)

У даному циклі керуючі сигнали залежать від інструкції, це зумовлено відмінністю в множині мікрооперацій, виконуваних інформаційним трактом, для конкретної інструкції. Інструкції виконуються формуванням сигналів alu_op, inc_pc, jump_pc, sel_addr, write. Розглянемо типові приклади формування керуючих сигналів для інструкції групи:

• ADD_DIR (група арифметико-логічних операцій):

sel_addr=0

read=0

write=0

ld_ir=0

inc_pc=0

jump_pc=0

mx3<="01";

alu_op=010 (ADD_OP)

перехід до циклу IF

• LOAD (група операцій збереження результату)

sel_addr=1

read=1

write=0

ld_ir=0

inc_pc=0

jump_pc=11

mx3<="01";

alu_op <= PASS_OP;

перехід до циклу IF


Висновки

 

У процесі виконання курсової роботи проектував структурну схему мікропроцесора Gnome та структурні схеми до двох зовнішніх спеціалізованих пристроїв. Паралельно розробляв програмну модель цієї системи за допомогою засобів автоматизованого проектування Active-HDL, що працює з мовою опису апаратних засобів VHDL.

Ознайомився з основними прийомами опису керуючого та операційного автоматів, складових пристроїв, таких як мультиплексор, лічильник, компаратор, регістр, дешифратор, суматор, АЛП, регістровий файл.

 

 

1. Методичні вказівки до циклу лабораторних робіт з курсу «Теорія та проектування комп`ютерних систем та мереж» для підготовки спеціалістів та магістрів на базі напрямку «Комп`ютерна інженерія»/Укл.Дунець Б.Р., Мельник А.О., Троценко В.В. – Львів: Видавництво ДУ «Львівська політехніка», 1999.— 25с.

2. J,H, Henness, D/A/ Patterson: Computer Architecture A Quantitative Approach. Morgan Kaufman Publishers, 1990.

3. Інтернет сайт фірми Aldec Inc.http://www.aldec.com/

  1. Курс лекцій з дисципліни «Мови опису апаратних засобів».

 

 

ibrary IEEE;

use IEEE.STD_LOGIC_1164.all;

 

package Gen_Defs is

-- Asynchronous level-sensetive memory type

type memory is array (0 to 127) of std_logic_vector(7 downto 0);

type REGFILE is array (0 to 15) of std_logic_vector(3 downto 0);

 

-- MCU Instruction Set

constant CLEAR_C: std_logic_vector(7 downto 0):= "00000000";

constant SET_C: std_logic_vector(7 downto 0):= "00000001";

constant SKIP_C: std_logic_vector(7 downto 0):= "00000010";

constant SKIP_Z: std_logic_vector(7 downto 0):= "00000011";

constant read_fifo: std_logic_vector(7 downto 0):= "00000111";

constant LOAD_IMM: std_logic_vector(3 downto 0):= "0001";

constant ADD_IMM: std_logic_vector(3 downto 0):= "0010";

constant STORE_DIR: std_logic_vector(3 downto 0):= "0011";

constant LOAD_DIR: std_logic_vector(3 downto 0):= "0100";

constant ADD_DIR: std_logic_vector(3 downto 0):= "0101";

constant XOR_DIR: std_logic_vector(3 downto 0):= "0110";

constant TEST_DIR: std_logic_vector(3 downto 0):= "0111";

constant JUMP: std_logic:= '1';

 

-- ALU Operation Codes

constant NOP_OP: std_logic_vector(2 downto 0):= "000"; -- translate A

constant PASS_OP: std_logic_vector(2 downto 0):= "001"; -- translate B

constant ADD_OP: std_logic_vector(2 downto 0):= "010"; -- OUT = A + B + Ci; form C

constant XOR_OP: std_logic_vector(2 downto 0):= "011"; -- OUT = A ^ B

constant AND_OP: std_logic_vector(2 downto 0):= "100"; -- OUT = A & B; form Z

constant SET_CARRY_OP: std_logic_vector(2 downto 0):= "101"; -- C = 1

constant CLR_CARRY_OP: std_logic_vector(2 downto 0):= "110"; -- C = 0

end Gen_Defs;

 

SysMemory

library IEEE;

use IEEE.STD_LOGIC_1164.all;

use IEEE.STD_LOGIC_ARITH.all;

use IEEE.STD_LOGIC_UNSIGNED.all;

use WORK.GEN_DEFS.all;

 

entity SysMemory is

port(

ADDRESS: in std_logic_vector(6 downto 0);

nCSB: in std_logic;

nOEB: in std_logic;

DATA: out std_logic_vector(7 downto 0)

);

end SysMemory;

architecture Behavior of SysMemory is

begin

Read_Write:

process (ADDRESS, nCSB, nOEB)

variable mem_array: Memory:= (others => "00000000");

-- variable sel: std_logic_vector(1 downto 0);

variable index: integer range 0 to 127;

begin

-- ROM program.

--- counter status

mem_array(5):= CLEAR_C; -- clear_c

mem_array(6):= READ_FIFO; -- READ_FIFO

mem_array(7):= STORE_DIR & "0000"; -- store_dir r0 r0- counter

mem_array(8):= read_fifo; -- READ_FIFO

mem_array(9):= STORE_DIR & "0001"; -- store_dir r1 r1- data register

mem_array(10):= LOAD_DIR & "0000"; -- load_dir r0

 

-- Memory behavior description

index:= CONV_INTEGER(ADDRESS);

if nCSB = '1' then

DATA <= "ZZZZZZZZ";

else

if nOEB = '0' then

DATA <= mem_array(index);

else DATA <= "ZZZZZZZZ";

end if;

end if;

 

end process;

end Behavior;

---------------------------------------------------------------------------------------------------




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 277; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.