之前有总结过设计思路《基于FPGA的网口通信实例设计》,趁着这波假期把实例弄一下,详细地址:
https://github.com/suisuisi/FPGAandLAN
也可阅读原文跳转。
百度网盘链接:
链接:https://pan.baidu.com/s/1bXcWU9FMItBeEJIliVtHgw
提取码:open
最近几天虽然放假了,不过也比较忙,时间仓促,有什么问题烦请多担待。
通过上面其他章节的介绍,网口千兆通信,可以使用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官网找到,会给出官网的设计源码。