N:1 Producer-Consumer Muster in VHDL

Gast #1003969
Lesenswert?
• ▲
▼
Hallo zusammen,

Der Datenaustausch in einer 1:1 Producer-Consumer Beziehung kann durch
ein einfaches Protokoll oder ein FIFO erfolgen. Was ist aber ein guter
Ansatz für eine N:1 (oder auch 1:N, M:N) Beziehung?

Wie wären folgende Ansätze:
Protokoll: Der Consumer kommuniziert immer nur mit einem Producer,
die anderen werden z.B. per ENABLE-Signal bzgl. Kommunikation
deaktiviert.
FIFO: Jedem Producer wird ein FIFO zugeordnet. Der Consumer arbeitet
reihum die FIFOs ab.

Und wie würde ich bei einer M:N-Beziehung vorgehen?

Gruss und Danke,

Jörg
Gast #1004028
Lesenswert?
• ▲
▼
Mehrdimensionaler Philosphenprozess nach Dijkstra mit zwei 
Semaphorschichten: Eine für die Readergruppe eine für die Writergruppe. 
Läuft in FPGAs faktisch auf n Fifos mit n Eingangsdekodern und einem n 
zu m Multiplexer auf m Ausgangsfifos hinaus. Anders, als in reinen 
SW-Prozessen, kann das tatsächlich paralle läufen und man kann bei 
sollsynchronem Betrieb eine Semaphorschicht unter den Tisch 
fallenlassen.
Moderator (Firma: Titel) Persönliche Seite #1004119
Lesenswert?
• ▲
▼
> Und wie würde ich bei einer M:N-Beziehung vorgehen?
Ich würde eine M:W Beziehung (auf neudeutsch M:F) eingehen, und nach 
entsprechender Augabenverteilung den Counterpart für zuständig erklären 
;-)

@  Jörg (Gast)
WAS willst du fragen?
Gibt es dafür eine deutsche oder wenigstens englische Erklärung?
Wird hier etwas Einfaches einfach umständlich formuliert?
Gast #1004218
Lesenswert?
• ▲
▼
@Ingenieur (Gast),

die Idee mit einer zweischichtigen FIFO-Architektur ist ja sehr
interessant: So hat jeweils der Producer und der Consumer nur die
Sicht auf jeweils EINEN anderen (virtuellen) Partner und die
multidimensionale Beziehung bleibt für beide Seiten vollständig
transparent.
Das einzige Problem das noch bleibt ist der M:N-Mux zwischen
beiden FIFO-Ebenen (würde ich aber eher Dispatcher nennen). Das
werde ich hoffentlich aber selbst hinbekommen.

Gruss und Danke,

Jörg

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