<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPGA的IPV6數字包的分離與封裝的實(shí)現

基于FPGA的IPV6數字包的分離與封裝的實(shí)現

作者: 時(shí)間:2012-05-23 來(lái)源:網(wǎng)絡(luò ) 收藏

筆者在參加國家“863”重大專(zhuān)題項目“高速密碼芯片及驗證平臺系統”的過(guò)程中,遇到了將數據包的包頭和數據部分拆開(kāi),然后在數據部分送密碼芯片進(jìn)行加/解密處理,最后再將處理后的數據部分與包頭重新為數據包的課題。以往對IP包進(jìn)行拆裝多利用軟件,但本項目涉及到配合高速密碼芯片(處理速度在2Gbit/s以上)工作的問(wèn)題,顯然利用軟件IP包的拆裝在速度上達不到要求。為此,筆者運用(型號為Xilinx公司的XC2VP20-FF86CGB0345)來(lái)數據包的拆裝。該內部邏輯框圖如圖1所示。

本文引用地址:http://dyxdggzs.com/article/149011.htm

  其工作流程為:2.5GHz的標準數據包串行差分信號通過(guò)ROCKETIO高速通道后轉換為16位125MHz并行信號,再經(jīng)信號轉換模塊進(jìn)一步轉換為66位62.5MHz并行信號后進(jìn)入FIFO1緩存,然后對其輸出數據進(jìn)行判斷,若是報頭則送入FIFO3緩存,若是數據部分則送入FIFO2緩存,最后將FIFO2數據送往密碼芯片進(jìn)行處理;經(jīng)密碼芯片處理的數據首先放入FIFO4進(jìn)行緩存,然后控制FIFO3和FIFO4將一個(gè)數據包的頭和數據寫(xiě)入FIFO5中,重新成一個(gè)完整的數據包;重新的IPV6數據包經(jīng)過(guò)信號轉換模塊變?yōu)?6位125MHz的并行信號,并通過(guò)ROCKETIO高速通道轉換為2.5GHz高速串行差分信號送出。

  可以看出,經(jīng)過(guò)以上流程,實(shí)現了一個(gè)數據包的拆分和重新封裝。
1 IPV6數據包的拆分

  用P實(shí)現IPV6數據包的拆分,主要是通過(guò)控制幾個(gè)FIFO的數據輸入輸出來(lái)實(shí)現的。FPGA內部的拆分單元電路的物理連接如圖2所示,其中FIFO的作用是緩存IPV6數據包,FIFO2的作用是緩存IPV6數據包的數據部分,FIFO3的作用是緩存IPV6數據包的包頭。

  圖中的三個(gè)FIFO都是由Xilinx公司的開(kāi)發(fā)工具ISE6.1自帶的Core IP生成的。其中FIFO1和FIFO3是同步FIFO,工作時(shí)鐘為頻率62.5MHz,輸入輸出數據寬度都是66bit;FIFO2是異步FIFO,輸入時(shí)鐘頻率為62.5MHz,輸出時(shí)鐘頻率為50MHz(密碼芯片的工作時(shí)鐘頻率為50MHz),輸入輸出數據寬度都是64bit。

基于FPGA的IPV6數字包的拆裝實(shí)現

  FIFO1的輸入數據為IPV6數據包??梢钥闯?,該數據是以并行的66bit信號傳輸的,即每一時(shí)鐘周期并行傳送66bit數據,其中每個(gè)周期的高兩位(即65位和64位)為數據包的頭尾標志,這是IPV6路由器內部根據實(shí)際處理需要加上的,“10”表示一個(gè)完整數據包的第一周期,“11”表示數據包的中間內容,“01”表示一個(gè)完整數據包的最后一個(gè)周期。因為IPV6數據包的包頭是固定長(cháng)度的,為40字節(等于5×64bit),故數據的前五個(gè)周期為IPV6數據包的包頭,包頭后面跟的就是數據包的數據部分。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>