Question: vhdl how to avoid latches?
Answer: Don't read from the signals to which you write. Have a correct sensitivity list (all signals that you read should be in the sensitivity list) Make sure that all signals to which your write are assigned in every path.