Изучение VHDL



         

Изучение VHDLОператор процесса. - часть 2


sin(x) = c1x+c2x3+c3x5+c4x7.

Процесс выглядит следующим образом:

process

    type tabl is array(0 to 3) of real;

    constant c:tabl:=(0.99999, -0.16666, 0.00831, -0.00019);

    variable xtmp, p: real:=0.0;

begin

   xtmp:=x;

   p:=c(0)*xtmp;

   for i in 1 to 3 loop         

        p:=p+c(i)*xtmp*x*x;

   end loop;

   y<=p;

   wait on x;

end process;

При моделировании логических схем в список чувствительности процесса необходимо вносить все входные сигналы, иначе моделирование схемы будет отличаться от ожидаемого. Например, процесс

process(A)  begin

    c<= A or B;

  end process;

при моделировании дает графики как на рис. Из графиков видно, что изменение результирующего сигнала С происходит только в моменты изменения сигнала A,  т.е. процесс моделирует некоторую триггерную схему, а не схему ИЛИ.


Если в процессе запрограммирован алгоритм функционирования триггерной схемы, например, регистра, то допускается в списке чувствительности оставлять только сигналы управления записью и разрешения чтения, например, сигналы сброса и  синхросерии.

При синтезе списки чувствительности игнорируются компилятором.

Анатолий Сергиенко
E-mail: aser@comsys.ntu-kpi.kiev.ua



Содержание  Назад  Вперед