Практичні завдання по vhdl

Як всім відомо вивчити мову програмування без практики не можна, і VHDL (хоч це не мова програмування) має таке ж властивість. Тому я вирішив викласти завдання з відповідями, які я отримував в минулому семестрі на курсі «Технічна інформатика» в університеті міста Дармштадт (Німеччина).

Практичне завдання 1.


завдання 1.1
Накресліть блок схему повного суматора, використовуючи два полусумматора і один логічний АБО-елемент.
Відзначте входи (А, В, Сin) а так же виходи (S, Cout).

завдання 1.2
Тепер спроектуйте повний суматор за допомогою VHDL.
Додайте до вашого проекту новий VHDL-модуль (Project → NewSource.) З назвою FADD. Для назви входів і виходів використовуйте назви з підпункту 1.1. Наступним кроком вам треба створити 2 полусумматора. Для цього додайте в розділ Architecture вашого FADD опис компонента полусумматор HADD. Завдяки цьому опису у вас з'явилася можливість створити два об'єкти полусумматора в тілі FADD. З'єднайте виходи і входи FADD з виходами і входами ваших полусумматора і змоделюймо внутрішнє з'єднання за допомогою сигналів (signal). Логічне АБО можна реалізовувати за допомогою команди or. яка працює на рівні сигналів.

завдання 2.1
Накресліть блок схему 4-х бітового сумматора Ripple-Carry, використовуючи повні суматори з минулого завдання. Відзначте входи як Аi і Bi а виходи як Cj, де i = а j =. Індекси задають місце в бітовому векторі сигналів, а індекс 0 показиваетLeast Significant Bit.

завдання 2.2
Тепер спроектуйте Ripple-Carry суматор за допомогою VHDL.
Додайте до вашого проекту новий VHDL-модуль (Project → NewSource.) З назвою FADD4. Входи і виходи є шиною (Bus), тому потрібно задати Most Significant Bit (MSB) і Least Significant Bit (LSB). Це можна зробити натисканням на Bus-Checkbox і вибрати 3 для MSB і 0 для LSB. Створимо два входи з ім'ям A і B. створимо вихід з ім'ям C і MSB = 4 і LSB = 0.
Додайте тепер опис компонента FADD. Створіть потрібну кількість об'єктів FADD і з'єднайте їх виходячи з вашої блок схеми.

Схожі статті