Bus mit mehren Sendern im FPGA

Gast #4102283
Lesenswert?

Hallo,
ich studiere Elektrotechnik und arbeite zur Zeit an einem FPGA Projekt. 
Leider war in meinem Studium bisher nur sehr wenig VHDL Design dran. Von 
FPGAs haben wir eigentlich nur erfahren, dass es sie gibt. :(

Ich nutze also dieses Projekt um mich selbst intensiv zu belesen.
Ich habe ein Konzept erstellt und schon eine ganze Reihe 
funktionierender Module erstellt (Simuliert und Synthetisiert). Nun ist 
mein Ziel die einzelnen Module zu verbinden.

In meinem Konzept ist ein Bus vorgesehen:
- 30-40 Sender
- ein Empfänger
- 34 Bit breit

Als ich mir das ausgedacht habe dachte ich an inout-Ports und ein cs 
leitung zu jedem Sender. Jetzt habe ich aber gelesen das es die nicht 
innerhalb von FPGAs gibt und ein Multiplexer als einzige Alternative 
bleibt. Das würde doch aber einen riesigen "Verdrahtnungsaufwand" 
bedeuten.

Wie könnte man dieses Problem lösen?
Das Signal seriell übertragen? Oder gibt es ein andere Möglichkeit die 
sich eigenen würde um die Ausgänge der nicht aktiven Sender auf "High 
Impedanz" zu schalten?

Die Platform die ich verwende ist ein ECP3 von Lattice.
Viele Grüße und Danke für eure Hilfe.
Moderator (Firma: Titel) Persönliche Seite #4102333
Lesenswert?

FPGA noob schrieb im Beitrag #4102283:
> Das würde doch aber einen riesigen "Verdrahtnungsaufwand" bedeuten.
Solange der MUX ins FPGA reinpasst ist das doch kein Problem.

Fang das Design doch einfach mal an, und sieh dir an, was daraus wird. 
Wenns dann tatsächlich klemmt kannst du dir immer noch was ausdenken...
Gast #4102517
Lesenswert?

FPGA noob schrieb im Beitrag #4102283:
> Das würde doch aber einen riesigen "Verdrahtnungsaufwand"
> bedeuten.

Richtig, aber das musst du ja nicht von Hand machen. Diesen hässlichen 
Job nimmt dir deine Toolchain ab. Für dich ist der Mux nur ein paar 
Zeilen Code.

Finde ich aber super, dass du dir Gedanken darüber machst. Denn dann 
bist du meiner Meinung nach auf dem richtigen Weg, in das Thema 
einzusteigen.
Wenn du den Blick auf die Hardware nicht verlierst, wirst du guten 
HDL-Code schreiben.
Weiter so und viel Freude beim Lernen :-)
Moderator (Firma: Titel) Persönliche Seite #4102540
Lesenswert?

Christian R. schrieb:
> Sauberer ist es natürlich gleich den Mux zu beschreiben.
Dann kann man nämlich auch gleich die Ports der Komponenten korrekt als 
einen "Eingangsbus" und einen "Ausgangsbus" gestalten und muss nicht in 
der Komponente schon mit einem inout-Port und Tristate-Buffern 
rumpfuschen...
Gast #4103858
Lesenswert?

Hallo,
danke für eure Antworten. Ich hatte irgendwie gehofft das es einen 
"schönen", einfachen Weg gibt. Ich konnte es heute mal ausprobieren und 
bin auf keine Probleme gestoßen. Ich werde es also als Multiplexer 
beschreiben, ohne inout. Mir fehlt leider noch das Gefühl dafür was in 
einem FPGA viel ist und was völlig normal.
Viele Grüße
Moderator (Firma: Titel) Persönliche Seite #4103881
Lesenswert?

FPGA noob schrieb im Beitrag #4103858:
> Mir fehlt leider noch das Gefühl dafür was in einem FPGA viel ist und
> was völlig normal.
Das ist egal.
Wenn du 40 Out-Ports umschalten musst, dann passt der MUX entweder 
rein und ist schnell genug, oder er passt nicht rein oder er ist zu 
langsam. Und nur in den letzten beiden Fällen musst du tatsächlich was 
machen.

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