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

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

  原理

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

  例如:二進(jìn)制消息流11001011表達(dá)為x7+x6+x3+x+1。傳輸點(diǎn)與接收點(diǎn)約定一個固定多項式,稱為生成器多項式;這是CRC計算的關(guān)鍵參數(shù)。

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

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

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

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

  傳輸?shù)臄?shù)據(jù)對應(yīng)于多項式    Mxr–R。變量xr表示消息為容納校驗和而產(chǎn)生的一個r位移位。

  我們知道:Mxr=QG+R

  在發(fā)射器上將校驗和R附加到消息中相當(dāng)于從消息中減去余數(shù)。于是,傳輸?shù)臄?shù)據(jù)變?yōu)镸xr-R=QG,這顯然是G的倍數(shù)。這就是我們在第二種情況下得到0余數(shù)的過程。

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

剩余法

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

  做一點(diǎn)演算有助于更清楚地說明這一概念。

  假定%符號在下列表達(dá)式中表示模運(yùn)算。

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

  在這種情況下,接收器會執(zhí)行與發(fā)射器一樣的移位運(yùn)算。

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

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

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

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

  對于給定的生成器多項式來說,此表達(dá)式的計算結(jié)果將是一個常數(shù)。

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

  該式在十六進(jìn)制中是04C11DB7。

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

  硬件實現(xiàn)

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

  CRC 計算過程如下:

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

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

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

CRC模塊

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

CRC的硬件實現(xiàn)使用一個簡單的 LFSR

  Virtex-5 LXT/SXT器件中實現(xiàn)的CRC模塊可幫助設(shè)計人員加速校驗和計算。

  Virtex-5 LXT/SXT器件中的 CRC硬模塊基于CRC32多項式。Virtex-5 FPGA含有CRC32和 CRC64 兩種硬模塊,能以一個時鐘周期的延遲為4位和8位數(shù)據(jù)輸出生成CRC。其界面簡單易用。硬模塊對給定的消息流起著CRC計算器的作用,同時提供一些針對 CRC的參數(shù)作為輸入。CRC的比較功能已經(jīng)超出硬模塊的范圍,應(yīng)集成到FPGA架構(gòu)中。

  FPGA 中的每個CRC硬模塊異步計算一個32位校驗和。

  圖2是說明硬模塊架構(gòu)的模塊級圖。CRC硬模塊提供一個位反演和字節(jié)反轉(zhuǎn)的輸出。

硬模塊架構(gòu)的模塊級圖

  圖3所示為CRC硬模塊的應(yīng)用概況。在發(fā)射器上,CRC經(jīng)計算后附加到給定數(shù)據(jù)包的尾部。在接收器上,對連帶發(fā)射器所附加的CRC一起接收到的整個數(shù)據(jù)包重新計算CRC。

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

字節(jié)反轉(zhuǎn)和位反演

  圖5所示為正常CRC運(yùn)算的波形

正常CRC運(yùn)算的波形

  我們還提供一個LogiCORETM CRC 向?qū)?,其中?Virtex-5 器件中的CRC硬模塊提供一個LocalLink封裝。其內(nèi)核還提供了一個說明如何使用 CRC 硬模塊的設(shè)計實例。此外,內(nèi)核提供了各種選項,如流水線處理、補(bǔ)數(shù)計算和轉(zhuǎn)置。

  結(jié)論

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久亚洲春色中文字幕久久久| 欧美日韩岛国| 日韩网站免费观看| 亚洲国产免费看| 欧美在线一二三| 欧美中文字幕视频| 欧美影院成人| 性做久久久久久久免费看| 亚洲一区在线观看免费观看电影高清 | 国产亚洲精品aa午夜观看| 国产精品免费看| 国产精品久久久久久久久久直播| 国产精品h在线观看| 欧美日韩中文字幕在线| 欧美日韩天堂| 国产精品国产三级国产专区53 | 久久er99精品| 久久精品国产亚洲高清剧情介绍| 欧美专区亚洲专区| 久久精品亚洲一区二区| 亚洲国产合集| 亚洲精品国产品国语在线app| 亚洲人成7777| 亚洲乱码精品一二三四区日韩在线| 亚洲美女尤物影院| 制服丝袜亚洲播放| 亚洲特级片在线| 午夜精品久久久久久久久久久久久 | 正在播放亚洲一区| 亚洲影院色在线观看免费| 午夜精品久久久| 欧美一级播放| 久久精品免费看| 亚洲伦伦在线| 亚洲男人第一网站| 久久精品欧洲| 欧美国产日韩一区二区三区| 欧美日韩精品是欧美日韩精品| 欧美性猛交xxxx免费看久久久| 国产精品视频xxxx| 精品91久久久久| 亚洲精品一区在线| 亚洲永久精品国产| 亚洲福利视频一区二区| 亚洲精品一区二区三区在线观看 | 欧美日在线观看| 国产精品一卡二卡| 一区精品在线播放| 日韩视频免费看| 亚洲免费视频网站| 亚洲精品1234| 亚洲女同性videos| 久久久久久一区| 欧美久久久久免费| 国产欧美一区二区色老头| 在线电影一区| 亚洲网站在线观看| 亚洲第一黄网| 亚洲一区二区三区午夜| 久久精品一区二区三区中文字幕| 欧美大成色www永久网站婷| 欧美午夜不卡| 好吊色欧美一区二区三区四区| 亚洲精品乱码久久久久久黑人| 亚洲免费中文| 日韩亚洲在线观看| 久久久精品一品道一区| 欧美日韩视频在线| 激情久久综艺| 亚洲图片在线观看| 日韩视频在线你懂得| 欧美专区18| 欧美日韩国产成人在线91| 国产亚洲网站| 中文在线资源观看网站视频免费不卡 | 亚洲激情第一区| 午夜精品区一区二区三| 男人的天堂亚洲在线| 国产精品美女久久久浪潮软件| 在线欧美三区| 欧美一区二区播放| 亚洲午夜电影网| 麻豆国产精品一区二区三区| 国产精品一卡二卡| 99精品欧美一区| 亚洲日本成人| 久久久国产成人精品| 欧美亚州一区二区三区| 亚洲第一福利视频| 欧美自拍偷拍| 性刺激综合网| 欧美日韩调教| 亚洲全部视频| 亚洲国产成人tv| 久久成人免费日本黄色| 欧美天堂亚洲电影院在线观看| 亚洲国产精品成人综合| 欧美在线播放高清精品| 欧美亚洲尤物久久| 国产精品久久久久久久午夜片| 亚洲国产综合91精品麻豆| 久久精品国语| 久久久噜噜噜久久| 国产日韩欧美成人| 亚洲欧美日韩国产中文在线| 亚洲制服丝袜在线| 欧美日韩美女在线| 亚洲国产你懂的| 亚洲经典在线看| 久色婷婷小香蕉久久| 国产亚洲一区二区三区在线观看 | 国产日韩欧美一区二区| 亚洲一区二区三区免费观看| 在线一区亚洲| 欧美日韩精品二区第二页| 亚洲激情av| 99国产精品99久久久久久粉嫩| 欧美成人午夜| 亚洲大胆人体视频| 亚洲日韩欧美一区二区在线| 嫩草成人www欧美| 亚洲国产成人午夜在线一区| 亚洲国产二区| 欧美a级一区| 亚洲人成毛片在线播放| 99一区二区| 欧美日韩亚洲精品内裤| 夜久久久久久| 亚洲欧美日韩另类精品一区二区三区| 欧美视频日韩视频| 亚洲手机成人高清视频| 亚洲欧美视频| 国产欧美一区二区精品性| 性色av一区二区三区红粉影视| 久久激五月天综合精品| 国产亚洲激情在线| 亚洲国产精品专区久久| 欧美夫妇交换俱乐部在线观看| 最近看过的日韩成人| 在线视频日本亚洲性| 国产精品久久久久久久久久尿 | 嫩草影视亚洲| 最新日韩中文字幕| 亚洲网址在线| 国产精品一区视频| 久久精品视频在线看| 免费中文日韩| 99精品视频免费全部在线| 亚洲欧美成人一区二区三区| 国产女人18毛片水18精品| 久久成人久久爱| 欧美高清不卡| 一区二区三区 在线观看视频| 午夜精品婷婷| 精久久久久久| 国产精品99久久久久久宅男| 国产精品一区二区久久久| 欧美中文字幕在线观看| 欧美韩日一区二区| 亚洲图片自拍偷拍| 久久这里只有精品视频首页| 亚洲激情另类| 欧美一区二区三区四区在线观看地址| 国产在线乱码一区二区三区| 日韩视频一区二区在线观看| 国产精品日韩精品| 亚洲国产日韩欧美在线动漫| 欧美日韩一区二区三区四区五区| 亚洲欧美在线播放| 欧美高清在线| 午夜精品理论片| 欧美激情女人20p| 亚洲免费中文| 欧美国产高潮xxxx1819| 亚洲婷婷在线| 欧美肥婆bbw| 亚洲欧美日本日韩| 欧美经典一区二区三区| 亚洲伊人一本大道中文字幕| 欧美成年人视频网站| 亚洲一二区在线| 欧美jizz19hd性欧美| 亚洲欧美日韩第一区| 欧美精品一区二区三区一线天视频| 午夜欧美电影在线观看| 欧美日韩国产系列| 久久狠狠久久综合桃花| 欧美三级乱人伦电影| 久久不射2019中文字幕| 欧美日韩在线另类| 亚洲激情小视频| 国产欧美短视频| 亚洲无线观看| 91久久亚洲| 久久综合网hezyo| 亚洲欧美久久久久一区二区三区| 欧美激情网站在线观看| 欧美一级一区| 国产精品av免费在线观看 | 欧美中文字幕在线观看|