Розроблення 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
if(not x(3) = '1')
then NEXT_state <=s1; y<="0001";
elsif (x(3) = '1')
then NEXT_state <=s2; y
NEXT_state <=s0; y
if(not x(4) = '1')
then NEXT_state <=s3; y
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.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

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

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Новини