Ethernet-соединение с FPGA на ПК - PullRequest
0 голосов
/ 07 мая 2018

Я использую плату FPC VC707, которая включает в себя Virtex 7 серии Xilinx FPGA. Я хочу перенести данные, содержащиеся в памяти DDR3, на ПК, используя соединение Ethernet. Я ищу учебник для этого? У меня нет требований к скорости передачи данных.

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 07 мая 2018

Оказывается, что обмен данными между FPGA и ПК по Ethernet - очень сложный процесс. Большинство людей используют PCI Express для связи между VC707 и ПК.

По моему опыту, PCI Express намного проще в использовании, чем Ethernet, при обмене данными между FPGA и ПК. Во-первых, для настройки PCI Express на стороне FPGA не требуется никакого программного обеспечения - все это делается с хоста. Во-вторых, эталонный дизайн Xilinx PCI Express завершен - если у вас есть эталонный дизайн, у вас есть работающая система. Эталонные схемы Ethernet, которые я нашел на Xilinx.com, даже не показали, как настроить драйвер устройства для MAC, и не подключили MAC к кабелю Ethernet. Пример ethernet / microblaze, приведенный ниже, кажется законченным, но посмотрите, сколько шагов нужно, чтобы он заработал.

Я нашел учебное пособие по настройке Ethernet-связи, в котором для настройки Ethernet-сети используется программный микроблэйзер в FPGA. https://reference.digilentinc.com/learn/programmable-logic/tutorials/arty-getting-started-with-microblaze-servers/start

Я обычно использую ядро ​​PCI Express, потому что я хочу больше контроля над интерфейсом, но PCI Express AXI Bridge очень прост в использовании.

Ответ очень длинный, чтобы включить его здесь.

Если вы не можете подключить vc707 к ПК, а настройка Ethernet слишком сложна, то на ум приходит еще два варианта:

  1. Передача данных через Uart
  2. Добавьте плату FTDI UMFT600X-B FMC FIFO и используйте USB 3 для передачи данных

И UART, и FTDI FIFO являются двунаправленными, поэтому они могут отправлять данные как с ПК на ПЛИС, так и возвращать данные с ПЛИС на ПК.

Обычно я использую UART с RIF и TX FIFO, а не интерфейсом регистра, чтобы упростить интеграцию с RTL.

Учитывая, что у вас нет требования к скорости, и у вас уже есть UART, работающий в одном направлении, вероятно, проще всего использовать UART в обоих направлениях.

...