
- •Курсова робота
- •(Архітектура mips).”
- •Анотація
- •Технічне завдання
- •Опис risc архітектури комп’ютерів
- •Основними рисами risc архітектури є:
- •Розробка тестової програми
- •Синтез структури одноциклового spim risc комп’ютера
- •Верифікація vhdl моделі комп’ютера
- •Vhdl модель прототипу risc комп’ютера
- •Модуль керування (ctl)
- •Модуль виконання операцій (ехе)
- •Mодуль декодування інструкцій (id)
- •Автоматично згенерований файл (Test Bench)
- •Висновки
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
Національний університет “Львівська політехніка”
Кафедра ЕОМ
Курсова робота
з дисципліни
Проектування комп'ютерних систем та мереж
на тему: “Розробка VHDL моделі комп’ютера
(Архітектура mips).”
Виконав:
Ст. гр. КСМсі-11з
Мархоцький В.С.
Перевірив:
Бачинський Р.В.
Львів-2013
Анотація
В основі даної курсової роботи лежить проектування VHDL-моделі одноциклового RISC комп’ютера з архітектурою SPIM тобто створення власне цієї програмної моделі даного пристрою, а також програмно реалізувати всі складові частини (модулі) з яких складається RISC комп’ютер архітектури SPIM. На кінець потрібно зробити моделювання роботи спроектованого комп’ютера, тестування програми, результати тестування зобразити на часовій діаграмі.
Технічне завдання
Спроектувати VHDL модель одноциклового RISC комп’ютера з архітектурою SPIM (MIPS, DLX) з використанням пакета САПР Xilinx WebPack версії 14_1.
Подати приклад тестової програми і з її допомогою синтезувати і імплементувати VHDL модель RISC комп’ютера. Провести часове симулювання імплементованої моделі комп’ютера і дослідити її поведінку на рівні вентилів. Підтвердити отримані під час синтезу та імплементування досягнуте значення тактової частоти.
ЗМІСТ
ТЕХНІЧНЕ ЗАВДАННЯ 3
ЗМІСТ 4
Вступ 7
1. Опис RISC архітектури комп’ютерів 8
1.1. Розробка тестової програми 9
1.2. Синтез структури одноциклового SPIM RISC комп’ютера 11
1.3. Верифікація VHDL моделі комп’ютера 13
2. VHDL модель прототипу RISC комп’ютера 14
2.1. Топ-файл VHDL моделі комп’ютера 14
2.2. Модуль керування (CTL) 18
2.3. Модуль виконання операцій (ЕХЕ) 20
2.4. Mодуль декодування інструкцій (ID) 20
2.5. Mодуль IF 25
-- IF chip 25
library IEEE; 25
use IEEE.STD_LOGIC_1164.ALL; 25
use IEEE.STD_LOGIC_ARITH.ALL; 25
use IEEE.STD_LOGIC_UNSIGNED.ALL; 25
entity IF_chip is 25
port( clock : in std_logic; 25
reset : in std_logic; 25
PCsrc : in std_logic; 25
Branch_Address : in std_logic_vector(7 downto 0); 25
PCview : out std_logic_vector(7 downto 0); 25
Instruction : out std_logic_vector(31 downto 0); 25
NPC : out std_logic_vector(7 downto 0)); 25
end IF_chip; 25
architecture behav of IF_chip is 25
signal PC : std_logic_vector(7 downto 0); 25
signal Input_PC : std_logic_vector(7 downto 0); 25
signal NPC_temp : std_logic_vector(7 downto 0); 25
-- Test Program 25
constant rom0 : std_logic_vector(31 downto 0) :=x"8c040000"; 25
-- lw $4, 0($0) 25
constant rom1 : std_logic_vector(31 downto 0) := x"8c050001"; 25
-- lw $5, 1($0) 25
constant rom2 : std_logic_vector(31 downto 0) := x"00852020"; 25
-- add $4, $4, $5 25
constant rom3 : std_logic_vector(31 downto 0) := x"ac040000"; 25
-- sw $4, 0($0) 25
constant rom4 : std_logic_vector(31 downto 0) := x"1080fffb"; 25
-- beq $4, $0, -20 25
constant rom5 : std_logic_vector(31 downto 0) := x"1084ffff"; 26
-- beq $4, $4, -4 26
constant rom6 : std_logic_vector(31 downto 0) := x"00000025"; 26
-- or $0, $0, $0 26
constant rom7 : std_logic_vector(31 downto 0) :=x"00000025"; 26
-- or $0, $0, $0 26
begin 26
PCview <= PC; 26
NPC_temp(7 downto 2) <= PC(7 downto 2) + 1; 26
NPC_temp(1 downto 0) <= b"00"; 26
NPC <= NPC_temp; 26
Input_PC <= Branch_Address when PCsrc = '1' else NPC_temp; 26
process 26
begin 26
wait until (clock'event) and (clock='1'); 26
If reset='1' then 26
PC <= x"00"; 26
else 26
PC <= Input_PC; 26
end if; 26
end process; 26
process (PC) 26
begin 26
case PC(7 downto 2) is 26
when "000000" => instruction <= rom0; 26
when "000001" => instruction <= rom1; 26
when "000010" => instruction <= rom2; 26
when "000011" => instruction <= rom3; 26
when "000100" => instruction <= rom4; 26
when "000101" => instruction <= rom5; 26
when "000110" => instruction <= rom6; 26
when "000111" => instruction <= rom7; 26
when others => instruction <= x"00000000"; 27
end case; 27
end process; 27
end behav; 27
2.6. Модуль пам’яті (МЕМ) 27
2.7. Автоматично згенерований файл (Test Bench) 28
Висновки 30
Список використаної літератури 31
1. Норенков И.П. Основы автоматизированного проектирования. 2-е издание. МГТУ им. Н. Э. Баумана. 2006. C. 336 31
2. Сергиенко А. М. VHDL для проектирования вычислительных устройств. ТИД "ДС". 2003. C. 208 31
3. Веб-сторінка компанії Aldec®, Inc [Електронний ресурс] http://www.aldec.com 31
4. Макларов С. В. Моделирование бизнес-процессов. 31
Вступ
Одним з перспективних напрямків проектування цифрових пристроїв є їх синтез на основі поведінкового опису виконаний розробниками на мові програмування класу HDL.
Основними складовими частинами процесу проектування є:
Етап передпроектних досліджень – вивчення потреб науково-технічних досягнень наявних ресурсів.
Технічне завдання включає:
призначення системи;
умови експлуатації виражені якісними або часовими характеристиками;
вимоги до вихідних параметрів, виражені у вигляді умов працездатності.
Технічна пропозиція – визначає основні принципи побудови системи, можливість і доцільність проектування.
Ескізний проект – перевірка коректності основних принципів і положень, що визначають функціональність майбутнього об’єкта.
Технологічний проект – передбачає всебічну розробку частин проекту, конкретних технологічних рішень.
Робочий проект – формування всієї необхідної документації для виготовлення системи, створення і випробування дослідного зразка або пробної партії.
Випробування і ввід в експлуатацію – за результатами випробування в проектну документацію вносять зміни після чого здійснюється впровадження у виробництво.