Forum: FPGA, VHDL & Co. process jetzt sequentiell oder nicht?


von MB (Gast)


Lesenswert?

Hallo zusammen!

Hätte da eine Frage zum process statement in VHDL.

In diesem Thread: Beitrag "Process in VHDL, wie funktioniert das genau??" wird 
erklärt, die Anweisungen in einem Process werden alle gleichzeitig in 
der Zeit 0 ausgeführt.

Warum liest man dann überall, dass die Anweisungen in einem process 
sequentiell abgearbeitet werden? z.B. hier 
http://www.nt-nv.fh-koeln.de/Labor/VhdlEasy/Kap8/k821.html

Wie passt das zusammen?


Besten dank

von Andreas B. (andreas_b77)


Lesenswert?

Die Anweisungen werden sequentiell abgearbeitet, dabei vergeht aber 
keine Zeit. Signalzuweisungen geschehen aber immer erst nach einer 
gegebenen Zeit, falls kein Delay angegeben ist, nach der delta-Zeit 
(also "null, aber nicht jetzt").

Für Signalzuweisungen an unterschiedliche Signale ist die Reihenfolge 
also irrelevant, es zählt nur das Delay. Bei mehrfacher Zuweisungen an 
ein Signal kann ein bestehendes Event überschrieben werden (je nach 
Delay), dann gewinnt also die letzte Zuweisung. In dem Fall ist die 
Reihenfolge wichtig, im Normalfall nicht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

MB schrieb:
> Warum liest man dann überall, dass die Anweisungen in einem process
> sequentiell abgearbeitet werden?
Die Anweisungen im Prozess werden (vom Simulator und vom Synthesizer) 
nacheinander von oben her abgearbeitet (klar: der PC, auf dem der 
simualtor läuft, MUSS das zwangsläufig so machen). Während dieser 
Bearbeitung bleibt die Uhr des Simulators stehen. Am Ende des Prozesses 
ist keine Simulations-Zeit vergangen.

In der realen Hardware wird das alles gleichzeitig bearbeitet. Und 
deshalb ist alles gleichzeitig vorhanden.

von Klaus (Gast)


Lesenswert?

Ein Process ist einfach eine sequenzielle Beschreibung von paralleler 
Hardware.

Das heißt nichts anderes, also dass du zwar dein Verhalten des Prozesses 
mit sequenziellen Anweisungen beschreibst, aber die Tools erzeugen 
daraus parallele Hardware, die das gleiche Verhalten hat, wie dein 
Prozess.

von MB (Gast)


Lesenswert?

OK, sehr gut.

Das würde bedeuten, dass ich wenn ich Aktionen der Hardware tatsächlich 
sequentiell ausgeführt haben will, dafür eine Zustandsmaschine 
beschreiben muss?


Danke

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ja, genau so ist es.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.