Sie müssen eine der auf dem PC verfügbaren Hochgeschwindigkeitsschnittstellen auswählen und diese in Ihrem FPGA (oder durch einen Companion-Chip) implementieren, einschließlich aller oberen Protokollschichten, die für den Austausch erforderlich sind Daten mit einer App, die auf dem PC ausgeführt wird.
Eine SERDES allein wird es nicht schneiden. Wenn dies nun ein SERDES wäre, der an einen Ethernet-MAC (oder MAC + PHY) gekoppelt ist, der wiederum mit einem internen MCU / CPU-Kern verwendet werden könnte, würde das langsam Sinn machen. P. >
Bei anderen Optionen haben Sie bereits USB erwähnt. Eine andere Möglichkeit ist die PCI-e oder die parallele PCI in früheren Zeiten. Auf dem Host-PC können Sie mit LibUSB vom Benutzer aus mit dem USB-Material sprechen Raum. Benutzerdefinierte PCI- oder PCI-e-Hardware benötigt einen Kernel-Space-Treiber.
Für einen wirklich hohen Durchsatz (effiziente Nutzung der verfügbaren Bandbreite) müssen Sie Pufferung / Blocktransfers / DMA-Daten implementieren. Die vorhandenen PC-Schnittstellen bieten all das, aber Sie müssen dies auf einem Teil Ihres benutzerdefinierten Geräts unterstützen ...
BEARBEITEN:
Bei einmaligen Laboraufbauten verfügten Unternehmen, die industrielle Schnittstellenkarten für die Datenerfassung für den PC herstellen, tendenziell auch über ein Modell für parallele digitale Hochgeschwindigkeits-E / A. Ich erinnere mich an die PCI-1755 von Advantech (vor langer Zeit aus dem Programm genommen), die 32 Bit bei 20 MHz = 80 MByte pro Sekunde ausführen kann. Der externe Bus wurde über von SCSI ausgeliehene Kabel transportiert. Intern auf dem parallelen PCI-Bus verwendete die Karte Bus-Master-DMA. Heutzutage würde ich einen Blick darauf werfen, ob National Instruments etwas hat, und ich weiß, dass Adlink eine ganze Produktfamilie in diesem Sinne hat.
Die PCI-Schnittstelle auf einer Reihe von industriellen E / A-Karten wurde früher mithilfe von "Slave Bridges" von PLX implementiert (vor Jahren von Avago, jetzt Broadcom, übernommen). Ich erinnere mich an Universalchips wie PCI-9052, PCI-9030, PCI-9056 oder PCI-9656 - die beiden letzteren können BM-DMA. Als PLX assimiliert wurde, sah es so aus, als wären diese Chips zum Scheitern verurteilt. Ich denke, einige wurden sogar auslaufen - und ich bin ziemlich überrascht, dass einige von ihnen von Mouser aufgelistet und auf Lager sind, aber sehen Sie sich die an Preise :-) Ich glaube, dass es früher ähnliche Chips mit einer PCI-e-Schnittstelle gab, aber ich kann mich irren. Zu der Zeit, als es so aussah, als wären diese PLX-Slave-Bridges verschwunden, haben Anbieter wie Advantech viele ihrer Boards neu gestaltet, um FPGAs für eine PCI-Schnittstelle zu verwenden. Dadurch wurden ihre Designs proprietärer und weniger öffentlich dokumentiert. Auf einer Karte, die früher einen PCI-Slave-Bridge-Chip hatte, habe ich bei einer kürzlich durchgeführten Überarbeitung einen Chip von Actel gefunden - der eher wie ein FPGA aussieht. Die Liste der IP-Kerne von Actel enthält mehrere interessante Schnittstellenblöcke, z. B. PCI-e.
Ich habe auch einen eigenständigen SERDES-Transceiver von Texas Instruments gefunden, den TLK2501. Ich frage mich, ob dies mit Ihrem vorhandenen FPGA-Design kompatibel wäre. Koppeln Sie den parallelen lokalen 16-Bit-Bus mit einer DMA-fähigen Slave-Brücke von Broadcom (ex-PLX), und es könnte genauso gut funktionieren ...
Chris Stratton hat SATA erwähnt.Das klingt überhaupt nicht dumm.Ich habe sogar einen SATA-Host-IP-Core für ein Xilinx-FPGA gefunden, der über den erforderlichen Differenzialtreiber und -empfänger verfügt.Sata Target-Chips oder IP-Cores sind jedoch schwer zu finden - wahrscheinlich, weil SATA-Target-Boxen nur von einigen großen Anbietern hergestellt werden: zwei Festplattenmarken und möglicherweise einige DVD-ROM-Hersteller.Eine Reihe von Flash-SSD-Zielcontrollern verfügen über eine SATA-kompatible Schnittstelle ... Die in SATA-Laufwerken (Spinnrost) verwendeten HBA-Chips im Zielmodus werden traditionell von Marvell, LSI und möglicherweise anderen solchen Anbietern hergestellt - einige sind wahrscheinlich private Chipmodelle, wo ein öffentliches Datenblatt nicht einmal verfügbar ist ...