2016-04-09 2 views
-1

- любая возможность сбросить вектор флип-флопа на разное значение, чем все 0? что-то вроде:Сброс триггера VHDL отличается от 0

PROCESS (clk) 
    BEGIN 
     IF RISING_EDGE(clk) THEN 
      IF rst = '1' THEN 
       ff <= INPUT_VALUE; 
... 

Это не выживают синтез. Я хочу получить значение ff только при сбросе, а затем меняю его - он работает как счетчик с первым значением, установленным с ввода.

+1

Это должно быть синтезируемо, поскольку оно выглядит как синхронная нагрузка. Пожалуйста, дайте полный пример и укажите инструмент синтеза, который вы используете. –

+0

Полный процесс 'код ПРОЦЕСС (CLK) НАЧАТЬ \t ЕСЛИ RISING_EDGE (CLK) ТОГДА \t \t ЕСЛИ сначала = '1', то \t \t \t iv_reg <= IV; \t \t ИНАЧЕ \t \t \t ЕСЛИ input_change = '1', то \t \t \t \t \t iv_reg <= std_logic_vector (UNSIGNED (iv_reg) + 1); \t \t \t \t ИНАЧЕ \t \t \t \t \t iv_reg <= iv_reg; \t \t \t END IF; \t \t END IF; \t END IF; КОНЕЦ ПРОЦЕСС; ' Синтезируемый XST – scarabeus

+1

Функционально он выглядит идеально. Что вы имеете в виду, не «переживает синтез»? –

ответ

0

Как насчет внедрения нормального сброса, а затем использовать загрузить сигнал установить счетчик на что-то еще? Это для меня было бы стандартным способом.