> Beim Synthetisieren bekommst du damit eine "warning: found latch" und in
> Hardware wird sich diese Zuweisung im Allgemeinen anders verhalten als
> in der Simulation.
Nein, das wird kein Latch, sondern durch die steigende Flanke ein
Register...
> Merke: Wenn du ein Flipflop beschreiben willst, dann brauchst du in VHDL
> einen Prozess der genau das macht, alle anderen Beschreibungen sind
> nicht für Hardware geeignet.
Die Synthese kann schon einiges erkennen, aber ich würde die
Beschreibung auch als grenzwertig einstufen. Man könnte es sogar noch
weiter treiben und ein Reset und ein Enable einführen:
1 | a <= '0' when b='1' else c and d when e='1' and rising_edge(clk);
|
Daraus macht die Synthese dann die erwartete Funktion (Anhang).