Проблема моделирования VHDL Modelsim, когда я использую оператор "GENERATE" - PullRequest
0 голосов
/ 19 октября 2019

У меня есть простой VHDL-код с оператором «GENERATE», но когда я выполняю симуляцию, что-то не работает должным образом. У меня есть 2 входных сигнала, когда немного из них изменяется, выходной сигнал "num_type", созданный внутри GENERATE, также должен измениться. Но это случается несколько раз, тогда это больше не происходит. Вы можете увидеть кадр симуляции ниже.

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.numeric_std.all;

ENTITY precomputation_conv IS
GENERIC(    N                    : NATURAL:=25); -- CONSTANT number of elements to evaluate
PORT(       in_1, in_2      : IN STD_LOGIC_VECTOR(N-1 DOWNTO 0); -- in_1 = ingresso, in_2 = peso
              EN            : IN STD_LOGIC;
            EN_OP                : OUT STD_LOGIC);
END precomputation_conv;

ARCHITECTURE behavior OF precomputation_conv IS

------------ SIGNALS -----------------
TYPE    array_of_2 IS ARRAY(N-1 DOWNTO 0) OF STD_LOGIC_VECTOR(1 DOWNTO 0);
SIGNAL num_type         : array_of_2;

BEGIN

circuit_gen: FOR i IN 0 TO N-1 GENERATE
    num_type(i) <= NOT(in_2(i)) & (in_1(i) XOR in_2(i));
END GENERATE circuit_gen;

END behavior;

Выходы num_type не меняются, когда входы имеют ту же конфигурацию, что и в начальной точке.

Вот снимок экрана симуляции: кадр моделирования

...