Empfehlungen für PC Anbindung eines FPGA

#3876302
Lesenswert?

Hallo,

ich möchte mich näher mit digitaler Signalverarbeitung beschäftigen, und 
habe dafür mit einem FPGA herumgespielt. Aktuell hakt es bei mir an der 
PC Anbindung, die ich momentan provisorisch mit einem 
USB-Seriell-Wandler realisiert habe.

Grundsätzlich soll die Schnittstelle auf einem Linux PC funktionieren, 
und einfach nur die Ein- und Ausgabedaten weiterleiten.

Rein theoretisch arbeiten die aktuellen Versuche von mir mit einer 
Pipeline mit konstanter Laufzeit (Systemtakt ist so angepasst, dass die 
Schaltzeiten überall passen). In der Pipeline wird jeweils ein Byte pro 
Stufe verarbeitet. Der Takt liegt bei 100MHz, womit ich theoretisch bis 
zu 100 MByte/s als Durchsatz haben könnte.

Nun muss ich das nicht komplett ausreizen, zumal ich auch noch 
Algorithmen ausprobieren möchte, bei denen die Pipeline nicht konstant 
durchläuft, der Durchsatz also nicht konstant ist.

Im Optimalfall hätte ich also eine Lösung, bei der ich jeweils 1 Byte 
Ein- und Ausgabe habe und drei zusätzliche Pins: (1) Flag für "es werden 
Daten gesendet", (2) Es gibt neue Daten im Empfangspuffer und (3) Es 
gibt zu schickende Daten.

Da ich ein begrenztes Budget habe, würde ich ungern Lösungen mit teuren 
IP Cores oder PCIE Eval Boards verwenden, bei denen zusätzlich noch die 
Entwicklungssoftware teuer gekauft werden muss (bspw. Lattice Diamond, 
die nur für die "kleineren" FPGAs kostenlos verfügbar ist).

Die 100MByte müssen nicht wirklich erreicht werden. Auch muss die Lösung 
noch nicht der Weisheit letzter Schluss sein. Ich suche nur etwas, dass 
grundsätzlich mit höheren Geschwindigkeiten arbeitet, um das Verhalten 
mit großen Datenmengen zu testen.

Bisher sind mir Ethernet (bspw. auch eigenes Protokoll mit minimalem 
Header) und USB eingefallen, wobei ich für USB 3.0 keine "fertigen" 
Lösungen in Form von ICs gefunden habe, und die ganze Materie sehr 
kompliziert zu sein scheint. Bei Ethernet habe ich ebenfalls nur 
All-In-One ICs (MAC + PHY) für 10MBit gefunden.

Was könnt ihr mir empfehlen?

Vielen Dank im Voraus!

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