Проектирование цифровых устройств с помощью языка описания аппаратуры VHDL. Бобрешов А.М - 9 стр.

UptoLike

Составители: 

9
После объявления используемых пакетов идет раздел, называемый
интерфейсом объекта. Объект проекта может представлять всю
проектируемую систему, некоторую подсистему, устройство, узел, стойку,
плату, кристалл, макроячейку, логический элемент и т.п. Раздел
начинается с ключевого слова entity, после которого следует произвольное
название, или имя объекта. В этом разделе объект описывается в виде
черного ящика”, то есть определяются сигналы, которыми он
обменивается с окружающими объектами, их тип и направление. В нашем
примере схемотехнический объект имеет 2 входных сигнала D и CLK и
один выходной сигнал Q. Сигналы, определяемые в разделе интерфейса,
называются портами. Входные порты помечаются ключевым словом in,
выходныеout. Существуют двунаправленные порты, которые
доступны
как для управления, так и для опроса. Такие порты помечаются ключевым
словом inout. Заканчивается раздел ключевым словом end, за которым
следует имя объекта.
Следующий раздел начинается с ключевого слова architecture и
называется архитектурным телом, которое содержит функциональное
описание объекта. Каждый объект должен иметь как минимум одну
архитектуру. Архитектура должна
иметь уникальное имя (в
рассматриваемом примере это DFF_ARCH). Собственно
функционирование объекта описывается с помощью операторов,
расположенных между ключевыми словами begin и end <имя
архитектуры>. Между ключевыми словами architecture и begin
располагается раздел деклараций архитектуры, в котором определяются
константы, пользовательские типы, сигналы, описываются компоненты
используемых объектов. В нашем простейшем примере объявления новых
типов
, сущностей и объектов не используется (для более полного
знакомства со структурой проектов VHDL рекомендуется рассмотреть
пример в конце пособия). Собственно архитектурное тело содержит набор
операторов, которые могут быть простыми или составными. Типичным
составным оператором является оператор процесса. В нашем случае
архитектура содержит всего один процесс, который начинается с
ключевого слова process
и заканчивается end process. Тело любого
процесса выполняется каждый раз, когда происходит любое изменение
сигналов, перечисленных в его списке чувствительности (в скобках после
ключевого слова process). В теле процесса рассматриваемого примера
происходит проверка условия и присваивание нового значения сигналу Q в
зависимости от его выполнения:
if CLK’event and CLK=’1’ then
Q<=DATA;
end if;
                                   9
      После объявления используемых пакетов идет раздел, называемый
интерфейсом объекта. Объект проекта может представлять всю
проектируемую систему, некоторую подсистему, устройство, узел, стойку,
плату, кристалл, макроячейку, логический элемент и т.п. Раздел
начинается с ключевого слова entity, после которого следует произвольное
название, или имя объекта. В этом разделе объект описывается в виде
“черного ящика”, то есть определяются сигналы, которыми он
обменивается с окружающими объектами, их тип и направление. В нашем
примере схемотехнический объект имеет 2 входных сигнала D и CLK и
один выходной сигнал Q. Сигналы, определяемые в разделе интерфейса,
называются портами. Входные порты помечаются ключевым словом in,
выходные – out. Существуют двунаправленные порты, которые доступны
как для управления, так и для опроса. Такие порты помечаются ключевым
словом inout. Заканчивается раздел ключевым словом end, за которым
следует имя объекта.
      Следующий раздел начинается с ключевого слова architecture и
называется архитектурным телом, которое содержит функциональное
описание объекта. Каждый объект должен иметь как минимум одну
архитектуру. Архитектура должна иметь уникальное имя (в
рассматриваемом       примере      это      DFF_ARCH).        Собственно
функционирование объекта описывается с помощью операторов,
расположенных между ключевыми словами begin и end <имя
архитектуры>. Между ключевыми словами architecture и begin
располагается раздел деклараций архитектуры, в котором определяются
константы, пользовательские типы, сигналы, описываются компоненты
используемых объектов. В нашем простейшем примере объявления новых
типов, сущностей и объектов не используется (для более полного
знакомства со структурой проектов VHDL рекомендуется рассмотреть
пример в конце пособия). Собственно архитектурное тело содержит набор
операторов, которые могут быть простыми или составными. Типичным
составным оператором является оператор процесса. В нашем случае
архитектура содержит всего один процесс, который начинается с
ключевого слова process и заканчивается end process. Тело любого
процесса выполняется каждый раз, когда происходит любое изменение
сигналов, перечисленных в его списке чувствительности (в скобках после
ключевого слова process). В теле процесса рассматриваемого примера
происходит проверка условия и присваивание нового значения сигналу Q в
зависимости от его выполнения:
if CLK’event and CLK=’1’ then
    Q<=DATA;
end if;