《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > Xilinx Virtex-5 FPGA 中的CRC模塊
Xilinx Virtex-5 FPGA 中的CRC模塊
摘要: CRC根據一個給定的數據位組算出,然后在傳輸或存儲之前附加到數據幀尾部。接收或檢索到幀后,對其內容重新計算CRC,以此來驗證其有效性,確保數據無誤。本文簡述CRC計算所依據的原理,并且探討用線性
關鍵詞: FPGA Virtex-5 CRC
Abstract:
Key words :
      CRC根據一個給定的數據位組算出,然后在傳輸或存儲之前附加到數據幀尾部。接收或檢索到幀后,對其內容重新計算CRC,以此來驗證其有效性,確保數據無誤。

  本文簡述CRC計算所依據的原理,并且探討用線性反饋移位寄存器實現其硬件的方法。然后,我們把注意力轉向Xilinx Virtex-5 LXT/SXT 器件中存在的 CRC 硬模塊。

  原理

  加法和減法運算是用模2算法執行;也就是說,這兩種運算與“異或”(XOR)運算相同。除了沒有進位,多項式算法中的兩數相加與普通二進制算法中的多數相加相同。

  例如:二進制消息流11001011表達為x7+x6+x3+x+1。傳輸點與接收點約定一個固定多項式,稱為生成器多項式;這是CRC計算的關鍵參數。

  將數據解釋為一個多項式的系數,用一個給定的生成器多項式除這些系數。除得的余數就是CRC。假設有一個m位消息序列和一個r階生成器多項式, 發射器創建一個n位 (n=m+r)序列,稱為幀校驗序列 (FCS),使這個(m+r)位合成幀可以被一個預先確定的序列整除。

  發射器將r個0位附加到m位的消息,并且用生成器多項式除所得 m+r-1階多項式。這樣可得到一個階數等于或小于(r-1)的余數多項式。該余數多項式有r個系數,這些系數形成校驗和。將商丟棄。傳輸的數據是原m位消息后附r位校驗和。

  在接收器上,可以按以下兩種標準方法之一評估所接收數據的有效性:
對收到的前m個位再次計算校驗和,然后與收到的校驗和(收到的后r個位)進行比較。
對收到的全部(m+r)個位計算校驗和,然后與一個0余數進行比較。

  為了說明第二種方法如何得出 0余數,我們做如下約定:
M=消息的多項表達式
R=發射器上所算得余數的多項表達式
G=生成器多項式
Q=用G除M得到的商

  傳輸的數據對應于多項式    Mxr–R。變量xr表示消息為容納校驗和而產生的一個r位移位。

  我們知道:Mxr=QG+R

  在發射器上將校驗和R附加到消息中相當于從消息中減去余數。于是,傳輸的數據變為Mxr-R=QG,這顯然是G的倍數。這就是我們在第二種情況下得到0余數的過程。

  不過,這一過程對所傳輸數據中首0位和尾0位的個數不敏感。換句話說,無論消息插入還是刪除尾0位,余數都保持為0,從而使錯誤漏檢,這表明不會復原成同樣的位序列。下面介紹一種克服這一缺點的變通辦法。

剩余法

  實際上,校驗和經過反演后才附加到消息中。這就使接收器上算出的余數(超過m+r位)不為0。在這類情況下,接收器上得到的余數是一個固定值,稱為多項式的剩余值。

  做一點演算有助于更清楚地說明這一概念。

  假定%符號在下列表達式中表示模運算。

  對于未經反演附加校驗和的情況:
(Mxr–R)xr%G=0

  在這種情況下,接收器會執行與發射器一樣的移位運算。

  現在,考慮校驗和在發射器上經反演后附加到消息流的情況:  (Mxr–Rc)xr% G
其中,Rc表示經過反演的校驗和。

  還可以將其寫成:(Mxr– R +(xr-1+...+x+ 1)) xr% G

  一個位的反碼與其對1異或運算的結果相同。這里的+號表示模2算法中的加法(另請注意,在模2算法中,加法和減法運算相同)。

  在這種情況下,余數與以下表達式相同:(xr-1+...+x+1) xr% G

  對于給定的生成器多項式來說,此表達式的計算結果將是一個常數。

  最常用的CRC 32生成器多項式是G(x) = x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1

  該式在十六進制中是04C11DB7。

  與CRC-32對應的常數剩余值在十六進制中是C704DD7B。對于給定的生成器多項式G來說,無論在輸入端提供何種數據樣式,剩余值仍為常數。

  硬件實現

  CRC校驗和的計算是多項式除法過程。在硬件中實現該過程需要使用一個移位寄存器(亦稱CRC寄存器)。該移位寄存器的長度與生成器多項式的階數相同。

  CRC 計算過程如下:

1.初始化CRC寄存器。
2.持續獲取消息位,直到獲得所有消息位。如果CRC寄存器中的高階位是1,則向左移一位,并且將其結果與G進行異或運算。否則,僅向左移一位。

  對給定消息完成所有這些步驟后,CRC寄存器中剩 下的就是余數。

可以用一種稱為線性反饋移位寄存器(LFSR)的電路執行這些步驟。圖1所示為用CRC32多項式計算 CRC 的 LFSR 實現方法。請注意,異或門的布局取決于生成器多項式中項值為 1 的對應項的系數。圖中的編號方框各代表一個存儲元件(觸發器)。

CRC模塊

    CRC 的硬件實現使用一個簡單的 LFSR。這種電路雖然實現起來簡單,但對于一個n位數據流來說,要占用n個時鐘周期來計算CRC值。在必須以較高速度處理數據幀的高速數據網絡應用中, 這樣的延遲是無法忍受的。這類高速網絡應用迫切需要對并行數據流實現CRC生成和校驗。

CRC的硬件實現使用一個簡單的 LFSR

  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。

CRC硬模塊的應用概況   所收數據包的有效性用剩余法來確定。對于本例中的CRC32多項式來說,剩余值的計算結果將是十六進制的1CDF4421,這其實就是 C704DDB7的位反演和字節反轉值。字節反轉和位反演的概念如圖4所示。

字節反轉和位反演

  圖5所示為正常CRC運算的波形

正常CRC運算的波形

  我們還提供一個LogiCORETM CRC 向導,其中為 Virtex-5 器件中的CRC硬模塊提供一個LocalLink封裝。其內核還提供了一個說明如何使用 CRC 硬模塊的設計實例。此外,內核提供了各種選項,如流水線處理、補數計算和轉置。

  結論

  Xilinx FPGA中的CRC模塊使設計人員能夠輕松地將檢錯機制加入到各種設計中。可以用CORE GeneratorTM軟件中提供的CRC Wizard IP加入符合不同協議(如 Aurora 和 PCI Express)的檢錯功能。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品入口尤物| 在线观看欧美黄色| 另类av导航| 欧美在线视频免费观看| 亚洲一区免费网站| 在线视频亚洲一区| 日韩视频永久免费观看| 亚洲国产精品毛片| 亚洲国产成人久久| 久久精品国产精品亚洲综合 | 99视频精品在线| 亚洲三级电影在线观看| 亚洲国产婷婷综合在线精品 | 久久久久久一区| 久久av二区| 欧美一区二区女人| 久久aⅴ国产欧美74aaa| 久久精品亚洲乱码伦伦中文| 欧美在线一级va免费观看| 欧美一区二区三区视频免费播放| 午夜精品在线观看| 香蕉久久国产| 久久久91精品国产| 欧美在线一二三| 久久久精品五月天| 免费毛片一区二区三区久久久| 猛干欧美女孩| 欧美精品日韩一区| 欧美日韩一区二区三区高清| 国产精品国产三级国产普通话三级| 国产精品久久福利| 国产麻豆日韩| 国内免费精品永久在线视频| 伊人久久久大香线蕉综合直播| 亚洲高清一区二| 日韩一区二区免费高清| 亚洲色在线视频| 午夜激情亚洲| 久久精品亚洲精品国产欧美kt∨| 亚洲欧洲三级| 亚洲图片欧洲图片av| 亚洲免费视频一区二区| 久久国产精品久久国产精品| 久久视频这里只有精品| 欧美国产亚洲另类动漫| 欧美三级电影精品| 国产欧美视频一区二区三区| 精品1区2区| 亚洲精品乱码久久久久| 亚洲中字在线| 亚洲国内自拍| 一区二区三区日韩欧美| 香蕉久久夜色精品国产使用方法| 久久乐国产精品| 欧美精品黄色| 国产精品女主播在线观看| 国产在线一区二区三区四区| 亚洲人成久久| 亚洲综合色丁香婷婷六月图片| 亚洲国产mv| 亚洲午夜视频在线观看| 久久本道综合色狠狠五月| 欧美成人国产va精品日本一级| 欧美午夜一区二区三区免费大片 | 亚洲精品国产视频| 亚洲一区欧美一区| 久久一区二区三区国产精品 | 国产亚洲一区二区三区在线观看 | 欧美激情中文字幕一区二区| 国产精品毛片一区二区三区| 狠狠色伊人亚洲综合成人| 日韩一级免费观看| 亚洲高清网站| 亚洲永久在线| 欧美va亚洲va香蕉在线| 国产精品免费电影| 亚洲国产精品传媒在线观看 | 免费视频亚洲| 国产精品区二区三区日本| 在线免费高清一区二区三区| 亚洲午夜精品一区二区三区他趣| 亚洲激情六月丁香| 欧美亚洲色图校园春色| 欧美久久一级| 伊人久久男人天堂| 先锋影音久久| 亚洲一级免费视频| 欧美韩国在线| 国内久久婷婷综合| 亚洲欧美日韩精品久久久| 一区二区三区av| 美女诱惑黄网站一区| 国产欧美日韩亚洲精品| 一区二区三区蜜桃网| 亚洲另类一区二区| 麻豆成人91精品二区三区| 国产欧美在线| 亚洲一级在线观看| 一本色道久久综合亚洲精品婷婷 | 久久亚洲精品一区二区| 国产精品日韩二区| 日韩视频一区二区三区在线播放| 亚洲电影免费在线观看| 欧美一区二区三区视频在线| 国产精品99免费看| 亚洲美女黄色| 一本大道久久精品懂色aⅴ| 欧美99在线视频观看| 国产在线欧美| 性欧美xxxx视频在线观看| 亚洲一区二区久久| 欧美日韩国产bt| 亚洲人成人99网站| 亚洲日本免费| 欧美本精品男人aⅴ天堂| 国内成+人亚洲| 欧美一区二区三区播放老司机| 欧美一区二区三区视频在线观看 | 亚洲电影观看| 美女黄毛**国产精品啪啪| 国产自产精品| 久久激情五月激情| 久久久精品国产免费观看同学| 国产日韩欧美一区二区| 性色一区二区| 久久国产天堂福利天堂| 国产精品夜夜夜| 午夜精品久久久久久久久久久久久 | 国产精品一区久久| 在线中文字幕一区| 亚洲视频综合在线| 国产精品vvv| 亚洲天天影视| 欧美在线999| 国内精品视频久久| 亚洲激情av| 欧美精品电影| 一个色综合导航| 亚洲欧美日韩成人| 国产美女精品免费电影| 先锋影音久久| 老妇喷水一区二区三区| 亚洲国产精品t66y| 一区二区欧美日韩视频| 国产精品第三页| 午夜精品久久久久久久久久久久| 久久九九免费视频| 伊大人香蕉综合8在线视| 亚洲人成在线免费观看| 欧美日本高清| 亚洲天堂av在线免费观看| 欧美一区激情视频在线观看| 韩日精品中文字幕| 亚洲免费成人av电影| 国产精品啊啊啊| 午夜精品久久久久久久99樱桃| 老牛影视一区二区三区| 亚洲欧洲一区二区三区在线观看| 亚洲视频在线观看网站| 国产毛片一区| 亚洲国产精彩中文乱码av在线播放| 欧美成人在线免费视频| 一区电影在线观看| 久久久综合精品| 亚洲另类春色国产| 午夜精品影院| 一区二区三区在线不卡| 一区二区三区毛片| 国产深夜精品| 99精品视频一区| 国产欧美日韩一区二区三区在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 欧美日韩精品一区二区天天拍小说| 亚洲欧美一区二区在线观看| 欧美成人四级电影| 亚洲免费视频成人| 欧美成人午夜激情| 亚洲欧美日韩精品一区二区| 男男成人高潮片免费网站| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲欧美第一页| 欧美激情第3页| 欧美一级大片在线免费观看| 欧美精品在线免费观看| 欧美在线观看你懂的| 欧美伦理91i| 欧美一区二区视频在线观看| 欧美日韩三级| 亚洲国产精品女人久久久| 国产精品久久久| 亚洲高清自拍| 国产精品综合av一区二区国产馆| 亚洲人成网站精品片在线观看| 国产精品美女主播| 日韩视频永久免费观看| 狠狠色丁香久久综合频道| 亚洲免费视频网站| 91久久中文| 狂野欧美激情性xxxx欧美| 亚洲欧美综合精品久久成人|