Multiple processes value of signal
If both processes are triggered by the same event, y should get the value of address_regIM before the event occurred.  If the process containing y is somehow triggered by the actions of the process that changed address_regIM, it will get the incremented value.  For each tick, it goes evaluate then assign, since if assignment triggered reevaluation on the same tick, you could get into infinite loops by (for example) putting x &lt;= y in one process, and y &lt;= not x in another.