Proyek ini membuat modul yang dapat digunakan untuk berinteraksi dengan Ethernet PHY untuk mengirimkan paket UDP. Hanya transmisi yang didukung, dan tidak ada penerima yang diterapkan pada FPGA.
Modul ini dibangun khusus untuk streaming data lebar tetap dari FPGA. Misalnya, modul bekerja dengan baik untuk streaming data yang diambil sampelnya pada ADC atau data yang dihasilkan oleh beberapa proses. Meskipun modul dapat menangani data berukuran variabel, itu tidak didukung secara langsung. Untuk mengirim data berukuran variabel, setiap titik data harus di -empuk ke ukuran titik data terbesar yang akan dikirim. Ukuran titik data harus dinyatakan di muka dan modul menjamin bahwa titik data tunggal tidak akan pernah terfragmentasi beberapa paket.
Proyek ini secara khusus dibangun untuk dan diuji pada Digilent Arty A7, yang menggunakan Xilinx Artix-7 XC7A100T FPGA dan memiliki Texas Instruments DP83848J Ethernet PHY Controller. Namun, standar MII akan bekerja dengan PHY apa pun.
Anda harus menggunakan modul ini jika
Anda tidak boleh menggunakan modul ini jika
Untuk menggunakan modul ini dalam suatu proyek, ada dua file yang harus disertakan
src/hdl/eth_udp.svsrc/ip/eth_udp_fifo_async/eth_udp_fifo_async.xci Modul ethernet_udp_transmit harus dipakai, dan secara internal menggunakan IP eth_udp_fifo_async .
Jika IP Xilinx terkunci, maka kemungkinan IP dikonfigurasi untuk bagian yang berbeda. Periksa ini dengan menjalankan report_ip_status di konsol TCL, dan perbaikannya adalah menjalankan upgrade_ip [get_ips *] .
Buka Xilinx Vivado dan pilih Tools > Run Tcl Script... , lalu pilih skrip generate_project.tcl di file Exporer. Script akan berjalan dan memproduksi proyek Vivado di proj/ Direktori baru dengan mengimpor semua sumber proyek. Jika proyek gagal dibuat, kemungkinan besar bahwa proj/ direktori sudah ada.
Proyek ini dapat diuji menggunakan program ether_tester . Tester menghasilkan urutan pseudo-acak byte pada FPGA untuk dikirim melalui UDP, dan program pengujian memverifikasi bahwa urutan yang diterimanya benar.
Untuk menggunakan program pengujian, pastikan kargo diinstal untuk menyusun program karat, lalu navigasikan ke direktori ether_tester dan jalankan
cargo builduntuk mengunduh dependensi dan membangun proyek. Untuk melihat informasi bantuan program, jalankan
cargo run -- -hDoa sampel dari program ini
cargo run --
-b256
--serial-port=/dev/ttyUSB1:115200
--src=8.8.8.8:4096,aa:bb:cc:dd:ee:ff
--dest=1.2.3.4:4096,00:11:22:33:44:55
-r1000Secara berurutan, argumen berarti berikut ini.