Міносвіти Росії
Федеральне державне автономне освітня установа вищої професійної освіти
«ПІВДЕННИЙ федеральний університет»
ІНЖЕНЕРНА ТЕХНОЛОГІЧНА АКАДЕМІЯ В г.Таганрога
(ТРТІ Південного федерального університету)
Факультет автоматики та обчислювальної техніки
Кафедра ОБЧИСЛЮВАЛЬНОЇ ТЕХНІКИ
ЗВІТ
Лабораторна робота №4
«Розробка і функціонально-тимчасове моделювання засобами САПР QUARTUS II блоку регістрів загального призначення і його схемотехнического оточення»
з навчальної дисципліни: «Мікропроцесорні системи»
Перевірив:
к.т.н., доцент, Пьявченко Олексій Олегович
Виконав:
студент гр. А - 41, Фетисов А.В.
Таганрог, 2014
Мета роботи:
Вивчення основ побудови із застосуванням VHDL і методики налагодження в САПР Quartus II реєстрових запам'ятовуючих пристроїв загального призначення, що володіють необхідними параметрами і входять до складу обчислювальних блоків мікропроцесорів.
Постановка завдання.
У відповідності з варіантом завдання розробити в базисі ПЛІС Altera VHDL-опис моделі реєстрового запам'ятовуючого пристрою загального призначення, що володіє необхідними параметрами. Пристрій входить до складу проектованого в рамках циклу лабораторних робіт обчислювального блоку мікропроцесора. При розробці компонентів і всього РЗУ в цілому допускається змішане VHDL-опис проекту, тобто як структурний, так і поведінковий опис.
Здійснити перевірку розроблених моделей, виконавши їх функціонально-тимчасове моделювання засобами САПР Quartus II.
Результати розробки проекту РЗУ на VHDL оформити у вигляді бібліотечного компонента (пакету).
В якості вихідних даних студенту перед проектуванням задаються:
? n - число розрядів регістра загального призначення зі складу РЗУ;
? М - кількість n-розрядних реєстрових осередків загального призначення (РОН), складових РЗУ;
? Pin - число вхідних інформаційних шин (портів) РЗУ, використовуваних для запису даних у його внутрішні n-розрядні комірки;
? SHin - число встановлених по входах РЗУ паралельних багаторозрядних сдвігатель (не перевищує числа вхідних портів);
? n1 - кількість сдвігатель в схемі на входах або виходах блоку РОН;
? n2 - число розрядів, на які сдвігатель може зрушити двійковий код, встановлений на його вході. Причому загальному випадку n2 може приймати числове значення від 0 до n (розрядність інформаційної шини порту РЗУ);
? Us - напрям зсуву, якщо останній дозволений, яке визначається як R/L/U (вправо/вліво/універсально (або вліво/або вправо));
? Ts - тип зсуву A/Ma/L.1/L.0/C/CC (арифметичний (A), модифікований арифметичний (Ma), логічний з установкою 1 (L.1) або 0 (L.0) в вивільнювані розряди , циклічний (С), циклічний через ознака С (CC));
? Pout - число вихідних інформаційних шин (портів) РЗУ, використовуваних для зчитування даних з його внутрішніх n-розрядних осередків;
? SHout - число встановлених по виходах РЗУ паралельних багаторозрядних сдвігатель (не перевищує числа вхідних портів);
? OEZ - наявність буферів з Z-станом по виходу.
Завдання.
VHDL код РОН 32 на 8:
- РОН 6 регістрів ieee; ieee.std_logic_1164.all; ieee.std_logic_arith.all; ieee.std_logic_signed.all;
entity RonParam is (: natural:=7
); (AI: in std_logic_vector (nR downto 0); - вхідна даних шина A: in std_logic_vector (nR downto 0); - вхідна даних шина B_AI: in std_logic_vector (4 downto 0) ; - адреса записи А_BI: in std_logic_vector (4 downto 0); - адреса записи В_AO: in std_logic_vector (4 downto 0); - адреса читання А_BO: in std_logic_vector (4 downto 0); - адреса читання В_AI: in std_ulogic; - дозвіл запису А_BI: in std_ulogic; - дозвіл запису В_AO, EN_BO: in std_ulogic; - дозвіл читання, RST: in std_ulogic ;: out std_logic_vector (nR downto 0); - вихідна шина А: out std_logic_vector ( nR downto 0) - вихідна шина В
); RonParam; RON of RonParam is TOutReg is array (0 to 31) of std_logic_vector (nR downto 0); WR_RgB: std_logic_vector (31 downto 0);- Вибір регістра для запису за ВWR_RgA: std_logic_...