ВУЗ:
Составители:
8
Пример 1. Синхронный D-триггер, тактируемый передним фронтом
library IEEE;
use IEEE.std_logic_1164.all;
entity DFF is
port (DATA, CLK: in std_logic;
Q: out std_logic);
end DFF;
architecture DFF_ARCH of DFF is
begin
process (CLK)
begin
if CLK’event and CLK=’1’ then
Q<=DATA;
end if;
end process;
end DFF_ARCH;
Пример начинается с подключения пакета, называемого
std_logic_1164 и содержащего стандартные расширения языка VHDL.
Пакет представляет собой набор объявлений, схемотехнических
компонентов и подпрограмм, которые могут быть использованы в разных
проектах. В частности, в пакете std_logic_1164 размещено объявление
типов std_logic и std_logic_vector, которые, как будет показано ниже,
являются основными типами определения сигналов и
шин. Определения
пакетов содержатся в библиотеках. Соответственно, сначала требуется
подключить библиотеку с помощью конструкции library <имя
библиотеки>. Затем с помощью ключевого слова use можно подключить
необходимый пакет из библиотеки. Поскольку на практике пакеты могут
иметь много объявлений, в том числе вложенных пакетов, можно явно
указать, какие из объявлений необходимо включать в
проект. Для того
чтобы подключить все доступные объявления на указанном иерархическом
уровне, используется ключевое слово all. Например, запись use
IEEE.std_logic_1164.all означает, что необходимо подключить все
объявления пакета std_logic_1164, входящего в библиотеку IEEE. По
возможности следует избегать подключения лишних объявлений.
Например, конструкция use IEEE.all приведет к подключению всего
содержимого библиотеки IEEE. С одной стороны
, это приведет к
увеличению времени обработки проекта. С другой, поскольку разные
пакеты могут содержать объявления с одинаковыми именами, это может
привести к конфликтным ситуациям, что потребует в явном виде
указывать имена пакетов при использовании таких деклараций.
D
CLK
Q
8 Пример 1. Синхронный D-триггер, тактируемый передним фронтом library IEEE; use IEEE.std_logic_1164.all; entity DFF is port (DATA, CLK: in std_logic; Q: out std_logic); end DFF; D Q architecture DFF_ARCH of DFF is begin CLK process (CLK) begin if CLK’event and CLK=’1’ then Q<=DATA; end if; end process; end DFF_ARCH; Пример начинается с подключения пакета, называемого std_logic_1164 и содержащего стандартные расширения языка VHDL. Пакет представляет собой набор объявлений, схемотехнических компонентов и подпрограмм, которые могут быть использованы в разных проектах. В частности, в пакете std_logic_1164 размещено объявление типов std_logic и std_logic_vector, которые, как будет показано ниже, являются основными типами определения сигналов и шин. Определения пакетов содержатся в библиотеках. Соответственно, сначала требуется подключить библиотеку с помощью конструкции library <имя библиотеки>. Затем с помощью ключевого слова use можно подключить необходимый пакет из библиотеки. Поскольку на практике пакеты могут иметь много объявлений, в том числе вложенных пакетов, можно явно указать, какие из объявлений необходимо включать в проект. Для того чтобы подключить все доступные объявления на указанном иерархическом уровне, используется ключевое слово all. Например, запись use IEEE.std_logic_1164.all означает, что необходимо подключить все объявления пакета std_logic_1164, входящего в библиотеку IEEE. По возможности следует избегать подключения лишних объявлений. Например, конструкция use IEEE.all приведет к подключению всего содержимого библиотеки IEEE. С одной стороны, это приведет к увеличению времени обработки проекта. С другой, поскольку разные пакеты могут содержать объявления с одинаковыми именами, это может привести к конфликтным ситуациям, что потребует в явном виде указывать имена пакетов при использовании таких деклараций.
Страницы
- « первая
- ‹ предыдущая
- …
- 6
- 7
- 8
- 9
- 10
- …
- следующая ›
- последняя »