используя переменную, прежде чем она будет определена - PullRequest
1 голос
/ 15 августа 2011
   process is
         variable a_var, b_var : std_logic ?
   begin
         wait until ( rising_edge ( clk ) );

             a_var := x or y ;
             b_var := a_var nor z ;
             res   <= b_var xor y ;

   end process:

В этом случае используется ли переменная b_var до того, как она была определена?Если да, можно ли объяснить, почему.

1 Ответ

1 голос
/ 15 августа 2011

Нет, вы достаточно четко определили это в строке variable. Вы также установили значение b_var, прежде чем использовать его в процессе, что означает, что для него не будет выведен триггер.

Ваш код эквивалентен

FOO: process(clk)
begin
    if rising_edge(clk) then
        res <= ((x or y) nor z) xor y;
    end if;
end process FOO;

(Я пропустил несколько синтаксических ошибок в вашем коде, считая их просто опечатками.)

...