在Virtex-5 FPGA芯片中使用CRC硬模塊
CRC模塊
CRC 的硬件實現使用一個簡單的 LFSR。這種電路雖然實現起來簡單,但對于一個n位數據流來說,要占用n個時鐘周期來計算CRC值。在必須以較高速度處理數據幀的高速數據網絡應用中,這樣的延遲是無法忍受的。這類高速網絡應用迫切需要對并行數據流實現CRC生成和校驗。
Virtex-5 LXT/SXT器件中實現的CRC模塊可幫助設計人員加速校驗和計算。
Virtex-5 LXT/SXT器件中的 CRC硬模塊基于CRC32多項式。Virtex-5 FPGA含有CRC32和 CRC64 兩種硬模塊,能以一個時鐘周期的延遲為4位和8位數據輸出生成CRC。其界面簡單易用。硬模塊對給定的消息流起著CRC計算器的作用,同時提供一些針對 CRC的參數作為輸入。CRC的比較功能已經超出硬模塊的范圍,應集成到FPGA架構中。
FPGA 中的每個CRC硬模塊異步計算一個32位校驗和。
圖2是說明硬模塊架構的模塊級圖。CRC硬模塊提供一個位反演和字節反轉的輸出。
圖3所示為CRC硬模塊的應用概況。在發射器上,CRC經計算后附加到給定數據包的尾部。在接收器上,對連帶發射器所附加的CRC一起接收到的整個數據包重新計算CRC。
評論