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

UptoLike

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

10
Каждый сигнал имеет набор так называемых атрибутов, которые
позволяют получить доступ к их дополнительным свойствам. Другими
словами, сигналы, в отличие от переменных в языках программирования,
имеют не только текущее значение, но и свойство изменяться во времени,
что дает возможность обращаться к их предшествующим значениям.
Атрибут ‘event является самымиспользуемым”. Он возвращает
значение
логической истины только в момент изменения сигнала. Таким образом,
если в списке чувствительности имеется несколько разных сигналов,
применение ‘event позволяет определить, с изменением какого из них
связано выполнение текущей итерации процесса. Его применение также
необходимо при описании синхронных схем. В этих случаях атрибут
указывает на тот сигнал, который является
задающим (тактовым)
сигналом.
Из сказанного выше легко понять, как работает описанный в
примере объект. По переднему фронту сигнала CLK выходному сигналу Q
присваивается значение входного сигнала D. Такое поведение
соответствует поведению стандартного элементасинхронного D-
триггера.
Рассмотрим еще несколько примеров, дающих начальное
представление об использовании VHDL для описания простых устройств.
Пример 2. Триггер,
тактируемый передним фронтом, с асинхронным
сбросом и предустановкой.
library IEEE;
use IEEE.std_logic_1164.all;
entity DFF_ASYNC is
port (PRESET,RESET,DATA, CLK: in std_logic;
Q: out std_logic);
end DFF_ASYNC;
architecture DFF_ASYNC_ARCH of DFF_ASYBC is
begin
process (CLK)
begin
if RESET=’0’ then
Q<=’0’;
elsif PRESET=’1’ then
Q<=’1’;
elsif CLK’event and CLK=’1’ then
Q<=DATA;
end if;
end process;
end DFF_ASYNC_ARCH;
D
CLK
Q
PRESET
RESET
                                      10
      Каждый сигнал имеет набор так называемых атрибутов, которые
позволяют получить доступ к их дополнительным свойствам. Другими
словами, сигналы, в отличие от переменных в языках программирования,
имеют не только текущее значение, но и свойство изменяться во времени,
что дает возможность обращаться к их предшествующим значениям.
Атрибут ‘event является самым “используемым”. Он возвращает значение
логической истины только в момент изменения сигнала. Таким образом,
если в списке чувствительности имеется несколько разных сигналов,
применение ‘event позволяет определить, с изменением какого из них
связано выполнение текущей итерации процесса. Его применение также
необходимо при описании синхронных схем. В этих случаях атрибут
указывает на тот сигнал, который является задающим (тактовым)
сигналом.
      Из сказанного выше легко понять, как работает описанный в
примере объект. По переднему фронту сигнала CLK выходному сигналу Q
присваивается значение входного сигнала D. Такое поведение
соответствует поведению стандартного элемента – синхронного D-
триггера.
      Рассмотрим еще несколько примеров, дающих начальное
представление об использовании VHDL для описания простых устройств.

 Пример 2. Триггер, тактируемый передним фронтом, с асинхронным
                     сбросом и предустановкой.
library IEEE;
use IEEE.std_logic_1164.all;
entity DFF_ASYNC is
  port (PRESET,RESET,DATA, CLK: in std_logic;
  Q: out std_logic);
end DFF_ASYNC;
architecture DFF_ASYNC_ARCH of DFF_ASYBC is
  begin
    process (CLK)
                                                      PRESET
      begin
       if RESET=’0’ then
          Q<=’0’;                                      D          Q
       elsif PRESET=’1’ then
          Q<=’1’;                                     CLK
       elsif CLK’event and CLK=’1’ then
          Q<=DATA;                                    RESET
       end if;
     end process;
  end DFF_ASYNC_ARCH;