Forum: FPGA, VHDL & Co. Handshake zwischen VHDL prozessen


von Knoepfle (Gast)


Lesenswert?

Hallo,

hat evtl. mal jemand einen Codeschnipsel für die synchronisation
zwischen zwei VHDL - Prozessen ?

Ich möchte - sagen wir -
ein Byte über eine interne Schnittstelle auslesen.

Wenn ich flankenorientiert arbeite und Prozess A signalsiert Prozess B 
das ein Datum abzuholen ist mit einer Flanke, dann könnte Prozess B 
durch eine Flanke dem Prozess A signalsieren, dass das Datum abgeholt 
wurde.
Kostet zwei Signale.

Macht man das so ?

Ich hätte es gerne lieber Level-Orientiert, weil ich da sicherer bin das 
diese Mimik nicht durcheinander kommt. Aber das ist auch nicht so 
einfach.

A signalisiert B durch "H" - Level das vorhandensein eines Datums.
Prozess B arbeitet Datum ab und signalisiert durch "H" - Level
das die Bearbeitung beendet ist. Und dann ?

Zuerst A auf "L" - Level - wenn dann B ein "L" sieht -- B auch auf "L" ? 
Wenn A sieht das B auch auf low ist gehts wieder von vorne los.
Kostet auch zwei Signale.

Wie macht Ihr das ?
Was ist am einfachsten und Narrensicher ?

Gruß

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


Lesenswert?

Knoepfle schrieb:
> A signalisiert B durch "H" - Level das vorhandensein eines Datums.
> Prozess B arbeitet Datum ab und signalisiert durch "H" - Level
> das die Bearbeitung beendet ist. Und dann ?
Nimmt A seinen H-Pegel weg.
B erkennt das und nimmt seinen H Pegel weg.
Ruhezustand: beide sind L.

Das geht am einfachsten in einer State-Machine...

von FPGASchubser (Gast)


Lesenswert?

Danke,

ich wollte nur hören, dass es die Profis es auch so machen.

Gruß

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.