DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт про виконання лабораторної роботи № 5: Розробка та моделювання паралельного регістру та регістру зсуву

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт
Предмет:
Моделювання комп ютерних систем
Група:
КІ-22
Коротко про документ

Про що ця робота

У звіті наведено розробку та моделювання паралельного регістру і регістру зсуву засобами мови VHDL. Описано принципи роботи синхронізованих процесів та використання циклічних операторів.

У роботі розглядаються

  • Моделювання комп’ютерних систем
  • Мова VHDL
  • Регістр зсуву
  • Циклічні оператори
  • Процеси та синхронізація

Зміст і розділи

  1. Мета роботи
  2. Теоретичні відомості
  3. Текст VHDL-коду паралельного регістра
  4. Текст VHDL-коду регістра зсуву
  5. Висновок
Для кого:Студенти технічних спеціальностей та вивчаючі проектування апаратних систем.
Викладачі:Викладач кафедри ЕОМ

Ключові поняття

VHDLрегістр зсувусинхронізовані процесиоператор циклуwhileforentityarchitecturesignal

Частина тексту файла (без зображень, графіків і формул):

Міністерство Освіти і Науки Національний Університет «Львівська політехніка» кафедра ЕОМ Звіт про виконання лабораторної роботи №5 з предмету «Моделювання комп’ютерних систем» на тему : «Розробка та моделювання паралельного регістру та регістру зсуву» Мета роботи: Засвоїти принципи роботи паралельного та зсувного регістрів. Навчитися описувати синхронізовані процеси та використовувати циклічні оператори при описі поведінки об'єктів за допомогою VHDL. У VHDL існує два оператора цикла: оператор циклу з умовою while ... loop ... оператор циклу з лічильником for ... loop ... . Оператор умовного циклу починається з логічної умови. Цикл повторюється до тих пір, поки виконується умова на початку циклу. Спочатку перевіряється умова, і, якщо вона істинна, виконуються оператори всередині циклу. Якщо ж умова хибна, цикл вважається закінченим і керування передається першому оператору, що знаходиться після циклу. Цикл з лічильником не містить явної булевої умови. Замість цього задається дискретний лічильник із діапазоном значень і цикл повторюється до тих пір, поки цей лічильник не вийде за межі діапазона. Після кожної ітерації циклу лічильнику присвоюється наступне значення із заданого діапазону. Лічильник, який не обов'язково декларувати (його специфікація в заголовку циклу прирівнюється до декларації) всередині циклу вважається константою і може використовуватись в присвоєннях, індексах виразів, але не може бути змінене. Більше того, лічильник існує тільки всередині циклу, в якому він задекларований. Текст VHDL – коду, який описує роботу паралельного регістру: library IEEE; use IEEE.STD_LOGIC_1164.all; entity ParalRgInt is port( CLK : in STD_LOGIC; WE : in STD_LOGIC; RE : in STD_LOGIC; Data_In : in STD_LOGIC_Vector (7 downto 0) :="00000000"; Data_Out : out STD_LOGIC_VECTOR(7 downto 0) ); end ParalRgInt; --}} End of automatically maintained section architecture ParalRGAch of ParalRgInt is signal temp : std_logic_vector (7 downto 0) ; -- Використовується для зберігання всередині регістра begin Proc : process (CLK) begin if RE = '0' and WE = '1' then temp<=Data_In ; elsif RE = '1' and WE = '0' then Data_Out <= temp; else Data_Out <= "ZZZZZZZZ"; end if; end process Proc; end ParalRGAch; Поведінка паралельного регістра при записі зображена на рис.№1 : / Рис.№1 Поведінка паралельного регістра при зчитуванні зображена на рис.№2 / Рис.№2 Поведінка паралельного регістра в режимі збереженні інформації зображена на рис.№3 / Рис.№3 Текст VHDL коду для регістра зсуву : library IEEE; use IEEE.STD_LOGIC_1164.all; entity SsyvRgInt is port( Data_In : in STD_LOGIC; CLK : in STD_LOGIC; WE : in STD_LOGIC; RE : in STD_LOGIC; Data_Out : out STD_LOGIC_VECTOR(7 downto 0) ); end SsyvRgInt; --}} End of automatically maintained section architecture SsyvRgArch of SsyvRgInt is signal temp : std_logic_vector (7 downto 0):="00000000" ; -- Використовується для зберігання всередині регістра -- signal i: integer :=6; begin Proc : process (CLK) begin if RE = '0' and WE = '1' then -------------- for i in 6 downto 1 loop temp(i) <= temp(i-1); end loop; temp(0) <= Data_In; -------------- elsif RE = '1' and WE = '0' then Data_Out <= temp; else Data_Out <= "ZZZZZZZZ"; end if; end process Proc; end SsyvRgArch; Поведінка регістра зсуву в режимі запису інформації зображена на рис.№4. / Рис.№4 Поведінка регістра зсуву в режимі зчитування інформації зображена на рис.№5. / Рис.№5 Поведінка регістра зсуву в режимі збереження інформації зображена на рис.№6. / Рис.№6 Висновок : засвоїли принципи роботи паралельного та зсувного регістрів. Навчились описувати синхронізовані процеси та та використовувати циклічні оператори при описі поведінки об’єктів допомогою VHDL.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!