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

2008-11-28 19:33:36来源: 互联网

  笔者在参加国家“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
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA
IPV6
FIFO

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

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

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