基于FPGA的IPV6数字包的拆装实现

2008-11-28 19:33:36来源: 互联网 关键字:FPGA  IPV6  FIFO

  笔者在参加国家“863”重大专题项目“高速密码芯片及验证平台系统”的过程中,遇到了将IPV6数据包的包头和数据部分拆开,然后在数据部分送密码芯片进行加/解密处理,最后再将处理后的数据部分与包头重新封装为数据包的课题。以往对IP包进行拆装多利用软件实现,但本项目涉及到配合高速密码芯片(处理速度在2Gbit/s以上)工作的问题,显然利用软件实现IP包的拆装在速度上达不到要求。为此,笔者运用FPGA(型号为Xilinx公司的XC2VP20-FF86CGB0345)来实现IPV6数据包的拆装。该FPGA内部逻辑框图如图1所示。

基于FPGA的IPV6数字包的拆装实现

  其工作流程为:2.5GHz的标准IPV6数据包串行差分信号通过ROCKETIO高速通道后转换为16位125MHz并行信号,再经信号转换模块进一步转换为66位62.5MHz并行信号后进入FIFO1缓存,然后对其输出数据进行判断,若是报头则送入FIFO3缓存,若是数据部分则送入FIFO2缓存,最后将FIFO2数据送往密码芯片进行处理;经密码芯片处理的数据首先放入FIFO4进行缓存,然后控制FIFO3和FIFO4将一个数据包的头和数据写入FIFO5中,重新封装成一个完整的数据包;重新封装的IPV6数据包经过信号转换模块变为16位125MHz的并行信号,并通过ROCKETIO高速通道转换为2.5GHz高速串行差分信号送出。

  可以看出,经过以上流程,实现了一个数据包的拆分和重新封装。

  1 IPV6数据包的拆分

  用FPGAP实现IPV6数据包的拆分,主要是通过控制几个FIFO的数据输入输出来实现的。FPGA内部的拆分单元电路的物理连接如图2所示,其中FIFO的作用是缓存IPV6数据包,FIFO2的作用是缓存IPV6数据包的数据部分,FIFO3的作用是缓存IPV6数据包的包头。

[1] [2] [3]

关键字:FPGA  IPV6  FIFO

编辑:冀凯 引用地址:http://www.eeworld.com.cn/FPGA/2008/1128/article_357.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于FPGA的高阶QAM调制器的实现
下一篇:卷积码+QPSK的中频调制解调系统的FPGA

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
FPGA
IPV6
FIFO

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved