(Using Lattice Diamond with XO2, but should be a generic VHDL issue)
All I want is this : A signal that starts off at 0 on powerup, and gets set to 1 under a specific condition, and then stays there forever.
AIUI, VHDL signals all get set to zero at startup, so it should be simple as doing
if <condition> then startsig<='1'; end if;
within the relevant process.
However what happens is the signal starts off high and stays there.
What I think is happenning is the the synthesiser is only ever seeing an assigment to '1' and never an explicit assignment to '0', and assuming the line needs to be high all the time.
I do get a "Register is stuck at one" warning in the compile report
I've tried using :='0'; at the signal definition but no effect.
Surely there must be some way to force it to know that I want to use the power-up '0' state?
Or another way to do it - preferably without the need for any device-specific features.