Розроблення VHDL-моделей цифрових автоматів

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Кібербезпека
Кафедра:
Кафедра безпеки інформаційних технологій

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

Рік:
2020
Тип роботи:
Лабораторна робота
Предмет:
Комп’ютерні методи аналізу та проектування електронних засобів
Група:
КББІ
Варіант:
1 10 13

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра БІТ / З В І Т до лабораторної роботи №2 з курсу «Комп’ютерні методи аналізу та проектування електронних засобів» на тему: «Розроблення VHDL-моделей цифрових автоматів» Варіант схеми №1 Львів 2020 Мета роботи – ознайомитись з типами даних, об’єктами та базовими конструкціями мови VHDL, навчитись розробляти програмні моделі синхронних цифрових автоматів на мові VHDL. Завдання Ознайомитись з теоретичними відомостями. З поданих нижче варіантів ГСА алгоритму вибрати схему за формулою: V = ( S mod 7 ) + 1, де V – номер ГСА (від 1 до 7); S – номер студента в списку у журналі викладача. Згідно з варіантом завдання здійснити перехід від ГСА до графа автомата Мілі (для студентів з парними номерами) або Мура (з непарними номерами); Написати і відкомпілювати в середовищі проектування Aldec Active HDL програмну модель цифрового автомата. Виконати функціональну симуляцію програмної моделі автомата і замалювати отримані часові діаграми. / Рис. 1. ГСА / Рис. 2. Граф автомата Мура Лістинг програми мовою VHDL library ieee; use ieee.std_logic_1164.all; entity Mura is port (x:in bit_vector(4 downto 0); clk, rst: in bit; y: out bit_vector (4 downto 1)); end Mura; architecture lab2 of Mura is type T_state is (s0, s1, s2, s3, s4); signal NEXT_state, state: T_state; begin NS: process(state, x) begin case state is when s0 => if (x(0) = '1') then NEXT_state <=s0; y<="0000"; elsif ((x(1) and not x(2)) = '1') then NEXT_state <=s0; y<="0000"; elsif (not (x(0) and x(1) and x(2) and not x(3)) = '1') then NEXT_state <=s1; y<="0001"; elsif (not (x(0) and x(1) and x(2) and x(3)) = '1') then NEXT_state <=s2; y<="0010"; elsif (not (x(0) and not x(1)) = '1') then NEXT_state <=s3; y<="0100"; elsif (not (x(0) and not x(1) and x(4)) = '1') then NEXT_state <=s4; y<="1000"; end if; when s1 => if(not x(3) = '1') then NEXT_state <=s1; y<="0001"; elsif (x(3) = '1') then NEXT_state <=s2; y<="0010"; end if; when s2 => NEXT_state <=s0; y<="0000"; when s3 => if(not x(4) = '1') then NEXT_state <=s3; y<="0100"; end if; when s4 => NEXT_state <=s0; y<="0000"; end case; end process NS; state <= s0 when rst ='1' else NEXT_state when clk'event and clk = '1' else state; end lab2; / Рис. 3. Часові діаграми роботи схеми Висновок: ознайомився з типами даних, об’єктами та базовими конструкціями мови VHDL, навчитись розробляти програмні моделі синхронних цифрових автоматів на мові VHDL.
Антиботан аватар за замовчуванням

15.12.2020 20:12-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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