Handshake zwischen VHDL prozessen

Gast #1984435
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ß
Moderator (Firma: Titel) Persönliche Seite #1984442
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...

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