
Проблема заключается в следующем:
при моделировании в Modelsim выдается ошибка
# ** Fatal: (vsim-3421) Value -1 for counter2_fk is out of range 0 to 2047.
# Time: 262500 ps Iteration: 6 Process: ...
# Fatal error in Process line__457 at ...
Код приведен ниже:
Код
PROCESS (reset, f1m, load_fk, set_fk)
BEGIN
IF reset = '0' THEN
counter2_fk <= 0;
fk <= '0';
sign <= '0';
ELSIF (f1m'EVENT AND f1m = '1') THEN
IF load_fk = '1' THEN
counter2_fk <= Conv_Integer(fk_data);
sign <= fk_sign;
ELSE counter2_fk <= counter2_fk - 1;
END IF;
IF counter2_fk = 0 THEN fk <= '0'; counter2_fk <= 2047;
END IF;
IF set_fk = '1' THEN fk <= '1';
END IF;
ELSE counter2_fk <= counter2_fk;
END IF;
END PROCESS;
BEGIN
IF reset = '0' THEN
counter2_fk <= 0;
fk <= '0';
sign <= '0';
ELSIF (f1m'EVENT AND f1m = '1') THEN
IF load_fk = '1' THEN
counter2_fk <= Conv_Integer(fk_data);
sign <= fk_sign;
ELSE counter2_fk <= counter2_fk - 1;
END IF;
IF counter2_fk = 0 THEN fk <= '0'; counter2_fk <= 2047;
END IF;
IF set_fk = '1' THEN fk <= '1';
END IF;
ELSE counter2_fk <= counter2_fk;
END IF;
END PROCESS;
Что надо изменить чтобы от нее избавиться? Вроде бы все правильно?
На работу схемы она не влияет, но хотелось бы ее убрать.