logo
mat_mod

52. Атрибуты сигналов в языке vhdl.

Атрибутом называют особенное, долговременное свойство предмета. В языке VHDL сигналы, переменные и другие объекты, кроме своего значения, также имеют множество атрибутов. У каждого типа объектов есть несколько предопределенных атрибутов. Пользователь также может ввести ряд специальных атрибутов. Атрибуты бывают различного типа: атрибут - тип, значение, сигнал, функция, диапазон.

Атрибут объекта записывается как \имя объекта\' \имя атрибута\.

Атрибуты сигналов S: S'stable[(T)] - сигнал, равный true, если за промежуток времени Т не было событий у сигналаS. S'transaction - сигнал типа bit, меняет значение на противоположное в циклах моделирования, в которых было присваивание нового значение сигналу S. S'event - сигнал, равный true, если произошло событие в сигнале S в данном цикле моделирования. S'active - сигнал, равный true, если произошло присваивание нового значение сигналу S в данном цикле моделирования. S'last_value - сигнал такого же типа, что и S, содержащий значение S до последнего события в нем.

Примером применения атрибутов сигналов является следующий процесс, моделирующий синхронные триггеры.

process(CLK) begin

if CLK='1' and CLK'event then-- D- триггер

q1<=a;

end if;

if not CLK'stable then -- D- триггер

q2<=a;

end if;

if CLK'last_value /= CLK then-- D- триггер

q3<=a;

end if;

if CLK'active -- D- триггер

q4<=a;

end if;

q5<=CLK'transaction; -- T- триггер

end process;