M
Maxim
Hi everyone!
I am trying to code a watchdog timer in VHDL, but the simulator
(ModelSim) says there are multiple drivers for signal timer_reg. The
timer is described as :
timer : process(clk) is
begin
if rising_edge(clk) and state_next = dps then -- dps state used
as enable
if fall_edge = '1' then -- falling edge tick used as set
signal
timer_reg <= "0111";
else
timer_reg <= timer_reg-1;
end if;
end if;
end process timer;
The timer is charged OK to "0111" value, then is stuck at this value
and refuses to decrement... even though an assert put in the else
statement confirms it is visited at each rising_edge of the clk when
state_next = dps. Any thoughts about what I'm not doing right?
Thank you very much.
I am trying to code a watchdog timer in VHDL, but the simulator
(ModelSim) says there are multiple drivers for signal timer_reg. The
timer is described as :
timer : process(clk) is
begin
if rising_edge(clk) and state_next = dps then -- dps state used
as enable
if fall_edge = '1' then -- falling edge tick used as set
signal
timer_reg <= "0111";
else
timer_reg <= timer_reg-1;
end if;
end if;
end process timer;
The timer is charged OK to "0111" value, then is stuck at this value
and refuses to decrement... even though an assert put in the else
statement confirms it is visited at each rising_edge of the clk when
state_next = dps. Any thoughts about what I'm not doing right?
Thank you very much.