Felix O. schrieb:
> Aber einen Sinn warum das mit dem with/select nicht geht gibt es nicht
> oder? Das ist einfach von den Synthesetools so festgelegt?
Doch, denn gibt es. Das eine ist ein sequentielles Konstrukt,
(nacheinander abarbeiten der Bedingungen) das anders ein paralleles
(concurruent), bedingungen werden gleichzeitig abgearbeitet.
Bei der uC programmierung ist fast alles sequential, alle Befehle werden
nacheinander abgearbeitet, in der Hardware dagegen gibt bei der
Beschreibung von Kombinatorik (Logikgatter) den Fall das alle bedingung
gleichzeitig abgearbeitet werden.
In Hardwarebeschreibungssprachen wird also nicht nur die Abbildung
Ausgangvector = F(Eingangsvektor) beschrieben, sondern auch wie diese
Abbildung in der Zeitebene gebildet wird.
bei einem Process kann man festlegen mit welchen signal der Process
abgearbeitet wird (wenn das in der senseliste sich ändert); bei with ..
select werden die bedingungen immer dann abgecheckt und abgearbeit wenn
sich das Signal hinter with ändert.
Man kann es so verkürzen,
alles wo FF im Spiel sind (FSM) -> Process(clk) mit case
reine kombinatorik bspw encoder -> ausserhalb Process mit with oder
Process mit allen encode eingängen in
der sense liste und case im process.
MfG