FPGA interne Bus

OP #3296790
Lesenswert?

Hallo Leute,
ich stehe vor einem Problem.
In meinem FPGA sind derzeit mehrere Module eingebaut. Zu diesen zählt 
unter anderem ein Microblaze.
Die Module sollen un im nächsten Schritt miteinander kommunizieren 
können.
Ich dachte da an einen bidirektionalen Bus!
Dies ist aber, wie ich vernommen habe nicht möglich(kein tristate im 
FPGA).
Welche Möglichkeiten bieten sich noch an?
...

Vielen Dank
#3296848
Lesenswert?

ich würde nen Controller-Modul(ne Art von Arbiter) schreiben, welches 
Schreib- und Leseanfragen verarbeitet und entsprechend deiner eigenen 
Prioriäten dann Schreib- und Leserechte an die einzelnen Busteilnehmer 
vergibt. Ist ein bissel extra Arbeit und die Businterface(s? = Plural??) 
müssen um entsprechende Logik und Signale erweitert werden, aber mir 
fällt nichts mit mehr Kontrolle und Sicherheit ein.
Gast #3296874
Lesenswert?

Tim S. schrieb:
> Und wie ist es mit Wishbone ...
Würde gehen. Du mußt trotzdem sicherstellen, das nur ein Master den 
Buszugriff genehmigt bekommt.

> das würde doch dann beudeuten meine
> Module anzupassen?
Ja. Die brauchen dann eine Wishbone-Master und eine Wishbone-Slave 
Schnittstelle.

Duke
#3296876
Lesenswert?

Tim S. schrieb:
> In meinem FPGA sind derzeit mehrere Module eingebaut. Zu diesen zählt
> unter anderem ein Microblaze.
> Die Module sollen un im nächsten Schritt miteinander kommunizieren
> können.

Vielleicht beschreibst Du uns eine bischen genauer was Du machen 
möchtest?
Miteinander kommunizieren kann vieles bedeuten, das reicht vom Austausch 
kleiner Pakete bis zu einer schnellen Datenübertragung mit MB/s und 
Mbytes an Daten.
Das macht einen Unterschied.

Außerdem :
Du sprichst von einem Multimastersystem unter anderem mit Microblaze.
Wie soll aber der MB als Slave reagieren? Man kann einen Speicher als 
Slave haben, aber nicht einen Prozessor.
OP #3296889
Lesenswert?

> Du sprichst von einem Multimastersystem unter anderem mit Microblaze.
> Wie soll aber der MB als Slave reagieren? Man kann einen Speicher als
> Slave haben, aber nicht einen Prozessor.
Da hast du recht daran habe ich nicht gedacht!
Hier sei noch gesagt, dass es nur einen Prozessor geben wird. Dieser 
wird dann halt nur Master sein.

> Miteinander kommunizieren kann vieles bedeuten, das reicht vom Austausch
> kleiner Pakete bis zu einer schnellen Datenübertragung mit MB/s und
> Mbytes an Daten.
Es handelt sich nur um kleine Pakete.


> Ja. Die brauchen dann eine Wishbone-Master und eine Wishbone-Slave
> Schnittstelle.
Wie groß ist da der Aufwand.
Gast #3297261
Lesenswert?

Warum eigentlich alles neu erfinden? Alles wichtige steht doch schon 
oben:
Mit dem Microblaze verwendet man am besten den xilinx AXI4 Bus. Bei 
einem FPGA der älter als ein Spartan6 ist eben den PLB-Bus.
Alles andere (Arbiter, Bus-Mastering) erübringt sich.
Wenn man nur Single-Word Zugriffe macht (kein Bursts) sind eigen 
IP-Module sehr schnell angepasst. Stichwort ist Xilinx IPIF.
#3297394
Lesenswert?

Tim S. schrieb:
> Ich stehe jetzt vor der Entscheidung:
> Wishbone Interface an meine Module anbinden
> oder
>> ein Sack voll Multiplexer
> und eignen Arbiter
>

Ich kenne Wishone nicht, aber wenn man sich

http://en.wikipedia.org/wiki/Wishbone_%28computer_bus%29

ansieht, und Du wirklich 10 Master hast, dann wird die Crossbar ziemlich 
aufwändig.

> Wie schätzt ihr den Aufwand?
Wie ist Dein Kenntnisstand?
Gast #3298079
Lesenswert?

Ich versuche möglichtst immer mit Wishbone zu arbeiten. Zum Einen finde 
ich den recht schlank und übersichtlich, einfach handhabbar und meist 
völlig ausreichend. Zum Anderen haben eben viele OS-Cores ein 
WB-Interface. Im Falle eine Microblaze mache ich dann eine Umsetzung von 
AXI/PLB auf Wishbone.
Gast #3298431
Lesenswert?

Thomas schrieb:
> Lothar Miller schrieb:
>> Wozu braucht man eigentlich innerhalb eines FPGAs einen
>> Multimasterbus?
>
> DMA wäre wohl ein klassischer Fall.

Kann man auch gut abseits vom Master bus implementieren. D.h. einen 
parallel laufenden DMA-Bus ziehen. Bringt mehr Performance, vereinfacht 
einiges und die meisten FPGAs schaffen das von den Resourcen her.

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