是的,可以 ping 自己。请注意,linux 在与自身通信时确实或至少曾经绕过硬件,并会在 IP 堆栈中进行环回。我最近看到有人在终端(窗口、命令行)中隔离一个网络接口,然后隔离另一个网络接口,然后使用 ping 和 iperf 等常用工具来测试链接是微不足道的。
不过,在此之前,您的 serdes 应该具有 PRBS 功能(出于某种原因),有些可能具有内部范围,例如允许您提取眼睛或至少指示眼睛质量的数字的功能。marvell phy 也应该具有此功能,您可以使用环回与自己交谈,使用各种 prbs 长度来检查链接的质量(在这么多 10 到 14 位或任何您想要的质量中少于一个错误) ,然后在连接到 Marvell 时重复该操作。
在做所有这些之前,软件通常是最困难的部分,你需要确保它首先工作,所以你可能希望在 fpga 内部进行没有模拟问题的环回,然后让软件得到解决,然后在 serdes在 fpga 的边缘,它们可能在两个方向上都有环回,marvell 也可能在两个方向上都有环回,因此您可以例如直接 fpga 到 marvell 一个是 tx,一个是 rx,反之亦然,或者您可以启用marvell 上的 lan 侧浅环回并与自己交谈。
同样取决于这些速度,手工制作的环回可能会很嘈杂,因此有时可能希望部署基于 pcb 的环回(也必须设计)。
你能ping通自己,绝对。您可以使用其他低级网络接口(如套接字)来制作原始数据包并通过这些接口与自己对话。Ping、ping flood、iperf、netperf 等都是在开发和制造测试期间锻炼或获得对接口的温暖模糊的好方法。
作为一个 fpga,你当然可以有一个测试设计,你可以将它加载到 fpga 中,它会推送外部接口并报告误码率。