КАТЕГОРИИ: Архитектура-(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/
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; Просмотров: 299; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |