Sensitivity List eines Prozesses

Gast #953044
Lesenswert?

Der Prozess wird abgearbeitet, und das sofort ohne dass die Zeit 
fortschreitet. Es kann sich während des Abarbeitens nichts ändern. Mach 
dir am besten mal den Unterschied zwischen einer Programmiersprache und 
einer Hardware-Beschreibungssprache klar und überleg dir, was für eine 
Hardware aus deinem Prozess rauskommt.
#953082
Lesenswert?

@ DS (Gast)

>Wenn ich aber innerhalb eines Prozesses eine Schleife hab, werden die
>Schleifendurchläufe ja wohl kaum gleichzeitig abgearbeitet, oder?

Und ob. Denn es sind KEINE sequentiellen Abläufe zur Laufzeit, wie in 
einer normalen Programmiersprache vorkommen, sondern der Compiler 
durchläuft alle Schleifen zur Compilezeit und berechnet daraus EINE 
parallel arbeitende Logik. Siehe VHDL.

MFG
Falk
Gast #953963
Lesenswert?

Was VHDL angeht, muss man eben objektorientiert denken. Was an Schleifen 
exisitert, wird aus simulationstechnischer Sicht in getrennte Veriablen 
und damit in ein Array überführt. Praktisch existieren die Zustände also 
parallel.
#954093
Lesenswert?

>>Wenn ich aber innerhalb eines Prozesses eine Schleife hab, werden die
>>Schleifendurchläufe ja wohl kaum gleichzeitig abgearbeitet, oder?
>
> Und ob. Denn es sind KEINE sequentiellen Abläufe zur Laufzeit, wie in
> einer normalen Programmiersprache vorkommen, sondern der Compiler
> durchläuft alle Schleifen zur Compilezeit und berechnet daraus EINE
> parallel arbeitende Logik. Siehe VHDL.
>

Hallo ich glaub, hier geht was durcheinander.

Im VHDL Code existieren, Prozesse, Sensitivlisten und z.B. Schliefen.
In der Simulation des VHDL Codes werden die Schleifen sequentiell 
durchlaufen; so wie in C auch. Das kann man beim Debuggen in Modelsim 
sehr gut sehen. Man sieht auch, dass der Prozess erst vollständig 
abgearbeitet wird bevor auf ein sich änderndes Signal in der 
Prozessliste reagiert wird und der Prozess neu aufgerufen wird.

Aber, in der Synthese wird die Schleife "ausgerollt" und zu einer 
Netzliste, deren Pfade parallel abgearbeitet werden. Ab hier sind dann 
die ursprünglichen Prozesse, Sensitivlisten und Schleifen nicht mehr 
vorhanden. Debuggen kann man das auch noch aber das macht keinen Spass 
;-).

Gruß DaMicha.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren