N:1 Producer-Consumer Muster in VHDL

Gast #1003969
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
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
> 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
@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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.