Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсова Бачинський.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
489.47 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

Національний університет “Львівська політехніка”

Кафедра ЕОМ

Курсова робота

з дисципліни

Проектування комп'ютерних систем та мереж

на тему:Розробка 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.

Основними складовими частинами процесу проектування є:

  1. Етап передпроектних досліджень – вивчення потреб науково-технічних досягнень наявних ресурсів.

  2. Технічне завдання включає:

  • призначення системи;

  • умови експлуатації виражені якісними або часовими характеристиками;

  • вимоги до вихідних параметрів, виражені у вигляді умов працездатності.

  1. Технічна пропозиція – визначає основні принципи побудови системи, можливість і доцільність проектування.

  2. Ескізний проект – перевірка коректності основних принципів і положень, що визначають функціональність майбутнього об’єкта.

  3. Технологічний проект – передбачає всебічну розробку частин проекту, конкретних технологічних рішень.

  4. Робочий проект – формування всієї необхідної документації для виготовлення системи, створення і випробування дослідного зразка або пробної партії.

  5. Випробування і ввід в експлуатацію – за результатами випробування в проектну документацію вносять зміни після чого здійснюється впровадження у виробництво.