<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

可編程芯片中實現ip包頭快速頭校驗方法及其頭校驗模塊的制作方法

文檔序號:7746825閱讀:407來源:國知局
專利名稱:可編程芯片中實現ip包頭快速頭校驗方法及其頭校驗模塊的制作方法
技術領域
一種可編程芯片中實現IP包頭快速頭校驗方法及其頭校驗模塊,屬于IP包頭頭校驗技術領域。
IP包頭一共是5個數據周期,每個周期4個字節,高位兩個字節組成一個16位的元組,低位兩個字節組成另一個16位的元組,故每個周期有2個16位元組,整個IP包頭是10個16位元組。頭校驗要求將這10個16位元組加在一起,得到一個“和”,如果該“和”超過16位,則把超過16位的進位加回到“和”的最低位,得到一個新的“和”。若該新“和”仍然超過16位,則重復進行上述步驟,直到最后沒有進位為止。此時查看該“和”,若等于16進制的“FFFF”,則頭校驗通過,否則頭校驗失敗,認為該包受到損傷,予以丟棄。用可編程芯片解決有兩個難點一是相加邏輯比較復雜,二是進位具有不可預知性,故判斷邏輯也比較復雜。從而影響可編程芯片的效率,大大降低了其時鐘的運行頻率,制約網絡處理器的性能。
在RFC(Request for Comments請求評注)中提到不少關于IP包頭頭校驗的技術,但主要討論的是上層軟件頭校驗的方法以及校驗域更新的技巧。在RFC1936中,提到一種硬件實現IP包頭頭校驗的方法,但該方法面向底層硬件,方法不直觀,實現不方便,不適合于目前可編程芯片。
本發明所述的可編程芯片中實現IP包頭快速頭校驗的方法,其特征在于它依次含有以下步驟(1)首先把IP包頭5個數據周期中每個數據周期的兩個16位元組相加,得到它們的和;(2)在步驟(1)中,若有一位進位,則直接把該進位加到該“和”的最低位,得到一個新的“和”;(3)再按步驟(1)所述的方法把上述步驟(1),(2)得到的5個數據周期的5個這樣的“和”用流水線的方法再分次的把它們兩兩加到一起,最后得到校驗和;(4)若步驟(3)得到的校驗和等于16進制的“FFFF”,則頭校驗通過;否則,則反之。
根據本發明提出的可編程芯片中實現IP包頭快速頭校驗方法而得到的頭校驗模塊,其特征在于,它含有輸入端都經數據入口分別與32位數據線,包頭標志信號線,包尾標志信號線相連,而輸出端分別為輸出上述信號的數據出口和頭校驗通過指示信號輸出端的數據延遲通道和流水線頭校驗通道;其中數據延遲通道由寄存器串接而成,流水線頭校驗通道由帶進位的17位加法器和核心流水線依次串接而成;核心流水線由已經把進位加到“和”的最低位的5個數據周期的5個這樣的“和”的5個17位寄存器a’,b’,c’,d’和e’,在兩個分別管理著前后各5個周期且又相互頭尾銜接的狀態機Sa,Sb的配合下,按照下述連接方式構成,即前5個周期內把a’,b’,c’等寄存器的內容兩兩相加后向后5個周期輸出同時又把前5個周期清零,而在后5個周期內把d’,e’寄存器的內容相加后再和前5個周期的輸出相加以得到校驗和。
使用說明它是一種硬件快速實現IP包頭頭校驗的方法。
在圖2~圖3中,32位數據總線傳輸IP包的內容,“包頭指示”指示IP包的包頭,高有效;“包尾指示”指示IP包的包尾,也是高有效。
在圖4中,“IP包頭頭校驗模塊”主要由“流水線校驗通道”和“數據延遲通道”構成。在校驗模塊入口處,數據被拷貝成兩份分別進入這兩個通道,“流水線校驗通道”完成頭校驗,并送出“校驗通過指示”信號;“數據延遲通道”由寄存器組構成,其作用是將數據延遲送出,以便數據與“校驗通過指示”信號同步。“流水線校驗通道”的第一步是將同一個數據周期的兩個16位的元組相加,得到一個17位的“和”,然后這個“和”再進入“核心流水線”,計算校驗和。
在圖5中,每個小方框代表一個17位的寄存器,a,b,c,d,e表示IP包頭的5個數據周期各自被預處理相加得到的17位和,帶“’”的表示把進位回加到最低位得到的結果。從圖5可知,第10個周期以后,“校驗通過指示”才有結果,一共需要10個周期來完成一次頭校驗。本發明使用如圖6所示的兩個狀態機來分解著10個周期。第一個狀態機管理前5個周期,第二個狀態機管理后5個周期,這樣相當于只需5個周期就完成頭校驗。在圖6中,Sa表示第一個狀態機,Sa_1表示Sa的第一個狀態,以后以次類推。通過狀態機和流水線的配合工作,可快速完成頭校驗工作。狀態機最后在硬件上的實現一般視為觸發器和連線的集合,當特定的信號到來的時候,觸發器被出發,引起連鎖動作,然后通過連線控制其他的信號。
圖7表示了流水線,狀態機和數據延遲通道的配合關系,它顯示了整個頭校驗模塊的工作時序。
本發明的邏輯復雜度是狀態機控制下的流水線,而流水線的復雜度是完成兩個16位數的加法,因此整個設計復雜度很小,可以運行在較高的時鐘頻率上。又由于狀態機的配合使用,使得實際上每5個周期就可以完成一次頭校驗,也就是說即使只有20字節的IP包,也能完全達到線速。
本發明在Xilinx公司的FPGA芯片Xcv600E-6上實現并得到驗證。該模塊的最大時鐘延遲小于9ns,也就是說時鐘可以跑到110Mhz以上。在數據寬度為32位時,吞吐量達到3.5Gbit/s,足以應付OC-48(2.5Gbit/s)鏈路速度。
權利要求
1.可編程芯片中實現IP包頭快速頭校驗的方法,含有把IP包頭中各數據周期的高、低兩字節的各16位元組用可編程芯片求“和”,把超過16位的進位加回到“和”的最低位并校驗“和”的步驟,其特征在于,它依次含有以下步驟(1)首先把IP包頭5個數據周期中每個數據周期的兩個16位元組相加,得到它們的和;(2)在步驟(1)中,若有一位進位,則直接把該進位加到該“和”的最低位,得到一個新的“和”;(3)再按步驟(1)所述的方法把上述步驟(1),(2)得到的5個數據周期的5個這樣的“和”用流水線的方法再分次的把它們兩兩加到一起,最后得到校驗和;(4)若步驟(3)得到的校驗和等于16進制的“FFFF”,則頭校驗通過;否則,則反之。
2.根據權利要求1所述的可編程芯片中實現IP包頭快速頭校驗方法而得到的頭校驗模塊,它是可編程芯片中主要用于IP包頭頭校驗的一個模塊,其特征在于,它含有輸入端都經數據入口分別與32位數據線,包頭標志信號線,包尾標志信號線相連,而輸出端分別為輸出上述信號的數據出口和頭校驗通過指示信號輸出端的數據延遲通道和流水線頭校驗通道;其中數據延遲通道由寄存器串接而成,流水線頭校驗通道由帶進位的17位加法器和核心流水線依次串接而成;核心流水線由已經把進位加到“和”的最低位的5個數據周期的5個這樣的“和”的5個17位寄存器a’,b’,c’,d’和e’,在兩個分別管理著前后各5個周期且又相互頭尾銜接的狀態機Sa,Sb的配合下,按照下述連接方式構成,即前5個周期內把a’,b’,c’等寄存器的內容兩兩相加后向后5個周期輸出同時又把前5個周期清零,而在后5個周期內把d’,e’寄存器的內容相加后再和前5個周期的輸出相加以得到校驗和。
全文摘要
可編程芯片中實現IP包頭快速頭校驗方法及其頭校驗模塊,屬于IP包頭頭校驗技術領域。其特征在于先把IP包頭5個數據周期中每個數據周期的兩個16位元組相加求“和”,若有一位進位,則直接把該進位加到“和”的最低位,得一個新的“和”;再把得到的5個數據周期的5個這樣的“和”用流水線的方法分次地把它們兩兩相加到一起,得到校驗和,檢查其是否等于16進制的“FFFF”,若是,則通過校驗。其頭校驗模塊的特征在于數據延遲通道和流水線頭校驗通道,后者由帶進位的17位加法器和核心流水線串接而成,后者在兩個分別管理著前、后各5個周期且又首尾銜接的狀態機配合下完成把5個周期的已經把進位加到“和”的最低位的5個“和”再分次地兩兩相加的任務。經在芯片Xcv600E-6上實現并驗證,它可快速地進行頭校驗。
文檔編號H04L12/26GK1457179SQ02117629
公開日2003年11月19日 申請日期2002年5月10日 優先權日2002年5月10日
發明者劉斌, 李旭東 申請人:清華大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影