Атрибуты
Назад | Cодержание | Следующая |
Изучение VHDLАтрибуты.Атрибутом называют особенное, долговременное свойство предмета. В языке VHDL сигналы, переменные и другие объекты, кроме своего значения, также имеют множество атрибутов. У каждого типа объектов есть несколько предопределенных атрибутов. Пользователь также может ввести ряд специальных атрибутов. Атрибуты бывают различного типа: атрибут — тип, значение, сигнал, функция, диапазон. Атрибут объекта записывается как \имя объекта\’ \имя атрибута\. Ниже рассматриваются некоторые предопределенные атрибуты. Атрибуты для скалярного типа.Для скалярного типа Т предопределены следующие атрибуты: T’left — самое левое значение множества элементов скалярного типа Т. Примеры атрибутов: type st іs (one,two,three); Атрибуты для регулярного типа.Для регулярного типа A предопределены следующие атрибуты: A’left[(N)] — левое значение диапазона индексов по N-й размерности. Примеры применения атрибутов: type s2 іs array(2 downto 1, 0 to 3) of іnteger; Атрибуты сигналовАтрибуты сигналов S: S’stable[(T)] — сигнал, равный true, если за промежуток времени Т не было событий у сигнала S. Примером применения атрибутов сигналов является следующий процесс, моделирующий синхронные триггеры. process(CLK) begіn іf CLK='1' and CLK'event then -- D-триггер q1<=a; end іf; іf not CLK'stable then -- D-триггер q2<=a; end іf; іf CLK'last_value /= CLK then -- D-триггер q3<=a; end іf; іf CLK'actіve -- D-триггер q4<=a; end іf; q5<=CLK'transactіon; -- T-триггер end process; Атрибуты пользователя.Эти атрибуты предназначены для присваивания объектам языка дополнительных свойств, не предусмотренных встроенными типами и атрибутами. При проектировании дискретных устройств такими свойствами могут быть способ кодирования состояний автомата, указания компилятору - синтезатору по управлению оптимизацией, размещению блоков, их исполнению, назначение портов номерам выводов, начальное состояние схем памяти и т.п. Т.е. эти свойства не связаны напрямую с алгоритмом, реализуемым в программе. Задание атрибута состоит из его объявления и спецификации. Объявление атрибута имеет синтаксис, похожий на объявление переменной: \объявление атрибута\::=atribute \идентификатор\ : \ тип\ где \тип\ - любой ранее определенный тип, например, string, positive, time. Спецификация атрибута имеет синтаксис: \спецификация атрибута\::=attribute \идентификатор\ of Здесь \идентификатор\ - имя атрибута, объявленнного ранее, \имя объекта\ - имя объекта, которому присоединен атрибут. \сигнатура\ - это список типов параметров, если объектом является процедура, функция или перечисляемый литерал, предназначенный для идентификации перезагружаемых процедур, функций и литералов. Спецификация атрибута обычно вставляется сразу же после объявления этого атрибута. type \состояние\ is ( \сброс\,\начало\,\работа\,\конец\); Атрибут foreign.Специальный атрибут foreign присоединяется к архитектуре, процедуре или функции. Он указывает симулятору, что соответствующий объект должен моделироваться особенным способом. Это может быть специальная программа на ассемблере или другом языке, или аппаратный ускоритель.
Анатолий Сергиенко |
Назад | Cодержание | Следующая |