Type STD_LOGIC
· 9 logic value system ('U', 'X', '0', '1', 'Z', ‘W', ‘L', ‘H','-')
¨ 'W, 'L, 'H’ – «мягкие» величины (не поддерживаются при синтезе)
¨ 'X' - used for unknown
¨ 'Z' - (not 'z') used for tri-state
¨ '-' Don't Care
· Resolved type: supports signals with multiple drives
Type STD_ULOGIC
· Same 9 value system as STD_LOGIC
· Unresolved type: Does not support multiple signal drives;
· Error will occur
Пакеты пользователя могут располагаться в тех же каталогах, что и проект. В этом случае они входят в состав библиотеки WORK:
LIBRARY WORK; --optional
USE WORK.<package name>.all;
Пакеты могут располагаться в других каталогах:
LIBRARY <any_name>;
USE <any_name>.<package_name>.all;
Содержание раздела:
- Основы концепции и использование сигналов
· Signal Assignments – назначение сигналов
· Concurrent Signal Assignment statements – операторы конкурентного назначения сигналов
· Signal Delays – задержки сигналов
- Processes - процессы
· Implied -неявные
· Explicit – явно определенные
- Основы концепции и использование переменных
- Sequential Statement – последовательностные операторы
· If-Then
· Case
· Loops
Сигналы имитируют физическую связь (провода), которые осуществляют контакт между процессами/функциями (модулями устройства).
- Сигналы могут быть объявлены вPackages, Entity и Architecture
SIGNAL temp : STD_LOGIC_VECTOR (7 downto 0);
• All bits:
temp <= "10101010";
temp <= x"AA" ; (1076-1993)
• Single bit:
temp(7) <= ‘1’;
• Bit-slicing:
temp (7 downto 4) <= "1010";
• Single-bit: single-quote (')
• Multi-bit: double-quote (“)
- Для определения значения сигнала используется запись: <=
- Назначение сигнала подразумевает процесс (функцию), в которых этот сигнал будет имплементирован при синтезе схемы
Три варианта назначения сигнала:
Простое назначение - Simple Signal Assignment
Условное назначение - Conditional Signal Assignment
Назначение по выбору - Selected Signal Assignment
Формат:
<signal_name> <= <expression>;
Пример: введем в модель вспомогательный сигнал qa
qa<= r or t;
qb<= (qa and not (g xor h)); Þ implied process
Для описания процесса используются операторы VHDL
Тип оператора |
Обозначение оператора |
Логические |
and or nand nor xor xnor (1) |
Отношения |
= /= < <= > >= |
Сложение/вычитание |
+ - & |
Присвоение знака |
+ - |
Умножение/деление |
* / mod rem |
Другие |
** abs not |
(1) Поддерживаются только в VHDL '93
VHDL определяет функции Arithmetic & Booleanfunctions только для встроенных типов данных built-indatatypes, определенных вStandard package
- Арифметические операторы такие как +, -, <, >, <=, >= определены только для типа INTEGER
- Логические операторы такие как AND, OR, NOT определены только для типа BIT
Библиотекой VHDL по умолчанию (implicit library, built-in) является Library STD.
Типы, определенные в Standard package:
BIT, BOOLEAN, INTEGER
Примечание: элементы в этой библиотеки можно не объявлять, они являются встроенными.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.