新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的IPV6數(shù)字包的拆裝實現(xiàn)

        基于FPGA的IPV6數(shù)字包的拆裝實現(xiàn)

        作者: 時間:2008-11-28 來源:網(wǎng)絡 收藏

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

        基于FPGA的IPV6數(shù)字包的拆裝實現(xiàn)

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

          可以看出,經(jīng)過以上流程,實現(xiàn)了一個數(shù)據(jù)包的拆分和重新封裝。

          1 IPV6數(shù)據(jù)包的拆分

          用P實現(xiàn)IPV6數(shù)據(jù)包的拆分,主要是通過控制幾個FIFO的數(shù)據(jù)輸入輸出來實現(xiàn)的。FPGA內(nèi)部的拆分單元電路的物理連接如圖2所示,其中FIFO的作用是緩存IPV6數(shù)據(jù)包,F(xiàn)IFO2的作用是緩存IPV6數(shù)據(jù)包的數(shù)據(jù)部分,F(xiàn)IFO3的作用是緩存IPV6數(shù)據(jù)包的包頭。


        上一頁 1 2 3 下一頁

        關鍵詞: FPGA IPV6 FIFO

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 陵水| 田阳县| 余庆县| 平安县| 阿克苏市| 烟台市| 公主岭市| 沁阳市| 天峻县| 兴海县| 金乡县| 景东| 富川| 工布江达县| 宜州市| 偃师市| 郑州市| 常德市| 开封县| 太仆寺旗| 仁寿县| 淄博市| 靖宇县| 东海县| 微博| 济宁市| 雷州市| 潜江市| 行唐县| 迁安市| 郁南县| 济源市| 三河市| 保山市| 讷河市| 三台县| 固原市| 海盐县| 巫溪县| 门源| 卓资县|