通过上面其他章节的介绍,网口千兆通信,可以使用TCP或者UDP协议,可以外挂PHY片或者不挂PHY片,总结下来就有下面几种方式完成通信;
图8‑17基于FPGA的网口通信实例设计分类
说明:
1、外挂PHY也可以实现光通信,这里为了和不外挂PHY进行区分,所以就不进行演示;
2、这里的TCP协议都不是用硬件语言实现的,因为本人觉得,利用FPGA进行通信的主要目的就是进行高速传输,TCP协议的复杂程度通过上面分析大家应该会了解,单纯论代码量来说就应该是UDP协议的几倍,如果你为了实现这个协议而升级芯片(比如从A7àK7),这个价格比实在是太低了,所以不太建议用纯硬件语言进行TCP协议的开发,当然这也可能是本人的愚见。
所以总结一下上面的历程:
表8‑6基于FPGA的网口通信实例设计分类
例程 | 说明 | 备注 |
---|---|---|
00 | 基于UDP/IP协议的电口通信 | |
01 | 基于UDP/IP协议的光口通信 | |
02 | 基于TCP/IP协议的电口通信 | |
03 | 基于TCP/IP协议的光口通信 | 无应用背景,目前无计划 |
04 | Aurora 8B/10B光口通信 | 光通信里非常常见和简单的IP核的应用 |
05 | GMII—>RGMII IP核使用设计举例 | 比较常用的IP核,简单介绍并应用 |
说明:以上大部分的实例都可以在Xilinx官网找到,后面也会给出官网的设计源码。