×

如何使用FPGA实现TCP IP协议

消耗积分:1 | 格式:pdf | 大小:3.30 MB | 2019-08-15

MZAA

分享资料个

  随着通信技术的进步,网络带宽以平均每 6 个月增长 1 倍的速度提高,然而 CPU 运算性能的增长速度却远远无法满足高速网络数据处理的需求。在传统处理 TCP/IP 协议的方法中,CPU 的处理负担大部分来自对 TCP/IP 协议数据的处理,因此 CPU 的运算性能逐渐地成为高性能网络通信发展的瓶颈。在这一形势下,为将 CPU 从繁重的 TCP/IP 协议处理负担中解放出来,本论文提出了一种实现 TCP/IP 协议处理的硬件解决方案,即利用 FPGA 本身所具有的密度高、速度快、小型化、设计灵活、高度并行处理等优点,在 FPGA 中实现 TCP/IP 协议的基本功能。

  本论文首先对 TCP/IP 协议栈的基本原理进行了详细的介绍,其中包括 TCP/IP 的网络分层模型、分层模型下协议数据包的封装和分用、协议栈中各协议的基本原理以及各协议的数据帧格式等。其次在对 TCP/IP 协议内容深入掌握的基础上,对协议栈功能进行了合理的裁剪,并依据自顶向下的设计方法,对裁剪后的 TCP/IP 协议处理功能进行模块划分。然后论文对各功能子模块的设计与实现的具体细节进行了详细介绍,尤其针对 TCP 的可靠性传输进行了重点说明。论文选用 Xilinx ML505 开发板作为硬件开发平台,运用 Verilog HDL 硬件描述语言将各子模块的设计方案转化为逻辑代码,经过 Xilinx ISE 开发套件的综合、布局布线、静态分析等处理后,最终得到相应的 FPGA 配置文件,并通过配置 FPGA 完成实际开发工作。开发过程中,利用 Chipscope 在线逻辑分析仪、Wireshark 网络数据包捕获软件、自编 MFC 测试软件等工具对数据传输过程中涉及到 FPGA 中 TCP/IP 协议处理功能的各个细节进行观察、分析和测试。

  本论文设计方案实现了 ARP 请求/应答、ICMP 应答、IP 数据传输、TCP 的客户端及服务器模式下的数据传输、TCP 可靠性传输等功能,并提出了一种新颖的基于状态机嵌套结构的 TCP/IP 协议数据包封装方法。经过分析及实测,该方案具有高效率、少缓存、低成本、可靠性强的优点,满足论文的预期目标和需求。

  论文的章节安排

  论文共由五部分内容组成,组织结构如下:

  第一章:围绕 TCP/IP 协议的 FPGA 实现,简要阐述了研究背景及意义,并详细叙述了目前在该领域的研究现状,其中列举了部分具有代表性的公司、相关产品以及已发表的相关文献,最后对论文进行初步的简介。

  第二章:本章主要对 TCP/IP 协议栈的基本原理进行详细介绍,针对论文涉及到的网络分层模型及各协议的内容、报文帧格式进行了说明,具体包括以太网协议、ARP、IP、ICMP、TCP。特别针对 TCP 的可靠性传输原理进行了详细的介绍。

  第三章:本章详细阐述了 FPGA 实现 TCP/IP 协议的具体设计及细节,其中包含开发环境及开发工具的介绍、功能模块划分的说明以及对各子模块的设计和实现的详细说明,并提出了一种 TCP/IP 协议数据包的封装方法,这也是论文的创新点之一。最后利用 ISE 开发套件对 FPGA 设计的性能从“速度”、“面积”、时序三方面进行分析说明。

  第四章:本章主要完成设计的功能验证和分析,首先介绍测试平台及测试环境,然后针对不同的功能设计了测试方案。经过详细的测试和分析,得出各个功能均符合设计目标和需求的结论。

  第五章:在客观总结论文主要工作的基础上,对本论文的优化思路及发展前景进行展望。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !