Ревизии языка: IEEE Standard VHDL Language Reference Manual
Связанные стандарты:
Описывать ЦУ можно, используя разные стили:
A <= B and C;
Приоритет | Классы операторов |
Операторы |
---|---|---|
0 (низкий) | Логические | and, or, nand, nor, xor, xnor |
1 | Отношения | =, <, >, <=, >=, /= |
2 | Сдвиги | sll, srl, sla, sra, rol, ror |
3 | Сложение | +, –, & |
4 | Унарные | +, – |
5 | Умножение | *, /, mod, rem |
6 (высокий) | Вспомогательные | **, abs, not |
Описание системы на VHDL реализуется в двух основных частях:
Подключение библиотеки IEEE и пакета std_logic_1164 из неё. | library ieee; use ieee.std_logic_1164.all; |
интерфейс (entity) – описание взаимодействия между системой и ее окружением |
entity block2 is port ( x : in std_logic_vector(2 downto 0); y : out std_logic_vector(1 downto 0)); end block2; |
архитектура (architecture) – описание поведения (функциональности) системы | architecture beh of block2 is begin -- beh y(0) <= (not x(2) and not x(1)) or (x(1) and not x(0)); y(1) <= not x(1) and not x(0); end beh; |
when..else
architecture tabl of block1 is begin -- комментарий y <= "11" when x = "000" else "01" when x = "001" else "01" when x = "010" and x = "110" else "00"; end tabl; * важен порядок, срабатывает первое верное условие
Сигнал типа std_logic может принимать значения:
Особенности: