โครงการนี้สร้างโมดูลที่สามารถใช้ในการเชื่อมต่อกับอีเธอร์เน็ต Phy สำหรับการส่งแพ็กเก็ต UDP รองรับเฉพาะการส่งสัญญาณและไม่มีตัวรับสัญญาณใน FPGA
โมดูลถูกสร้างขึ้นโดยเฉพาะสำหรับการสตรีมข้อมูลความกว้างคงที่จาก FPGA ตัวอย่างเช่นโมดูลทำงานได้ดีสำหรับการสตรีมข้อมูลตัวอย่างบน ADC หรือข้อมูลที่สร้างขึ้นโดยกระบวนการบางอย่าง แม้ว่าโมดูลสามารถจัดการข้อมูลขนาดตัวแปรได้บ้าง แต่ก็ไม่ได้รับการสนับสนุนโดยตรง ในการส่งข้อมูลขนาดตัวแปรแต่ละจุดข้อมูลจะต้องเบาะเป็นขนาดของจุดข้อมูลที่ใหญ่ที่สุดที่จะส่ง ขนาดของจุดข้อมูลจะต้องประกาศล่วงหน้าและโมดูลรับประกันได้ว่าจุดข้อมูลเดียวจะไม่ถูกแยกส่วนหลายแพ็กเก็ต
โครงการนี้ถูกสร้างขึ้นโดยเฉพาะและทดสอบใน Digilent Arty A7 ซึ่งใช้ XILINX ARTIX-7 XC7A100T FPGA และมี Texas Instruments DP83848J Ethernet Phy Controller อย่างไรก็ตามมาตรฐาน MII จะทำงานกับ Phy ใด ๆ
คุณ ควร ใช้โมดูลนี้หาก
คุณ ไม่ควร ใช้โมดูลนี้หาก
ในการใช้โมดูลนี้ในโครงการมีสองไฟล์ที่ต้องรวม
src/hdl/eth_udp.svsrc/ip/eth_udp_fifo_async/eth_udp_fifo_async.xci โมดูล ethernet_udp_transmit จะถูกสร้างอินสแตนซ์และใช้ eth_udp_fifo_async IP ภายใน
หาก Xilinx IP ถูกล็อคก็เป็นไปได้ว่า IP ได้รับการกำหนดค่าสำหรับส่วนอื่น ตรวจสอบสิ่งนี้โดยเรียกใช้ report_ip_status ในคอนโซล TCL และการแก้ไขคือการเรียกใช้ upgrade_ip [get_ips *]
เปิด Xilinx Vivado และเลือก Tools > Run Tcl Script... จากนั้นเลือกสคริปต์ generate_project.tcl ในไฟล์ Exporer สคริปต์จะดำเนินการและผลิตโครงการ Vivado ใน proj/ ไดเรกทอรีใหม่โดยการนำเข้าแหล่งที่มาโครงการทั้งหมด หากโครงการไม่สามารถสร้างได้เป็นไปได้มากที่สุดที่ proj/ Directory มีอยู่แล้ว
โครงการสามารถทดสอบได้โดยใช้โปรแกรม ether_tester เครื่องทดสอบสร้างลำดับหลอกของไบต์บน FPGA เพื่อส่งผ่าน UDP และโปรแกรมทดสอบตรวจสอบว่าลำดับที่ได้รับนั้นถูกต้อง
ในการใช้โปรแกรมทดสอบตรวจสอบให้แน่ใจว่ามีการติดตั้งสินค้าสำหรับรวบรวมโปรแกรมสนิมจากนั้นนำทางไปยังไดเรกทอรี ether_tester และเรียกใช้
cargo buildเพื่อดาวน์โหลดการพึ่งพาและสร้างโครงการ หากต้องการดูข้อมูลความช่วยเหลือของโปรแกรม Run
cargo run -- -hตัวอย่างการเรียกใช้โปรแกรมคือ
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
-r1000ตามลำดับอาร์กิวเมนต์หมายถึงสิ่งต่อไปนี้