<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 在Virtex-5 FPGA芯片中使用CRC硬模塊

在Virtex-5 FPGA芯片中使用CRC硬模塊

作者: 時(shí)間:2010-07-01 來(lái)源:網(wǎng)絡(luò ) 收藏

  剩余法

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

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

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

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

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

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

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

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

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

  對于給定的生成器多項式來(lái)說(shuō),此表達式的計算結果將是一個(gè)常數。

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

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

  與-32對應的常數剩余值在十六進(jìn)制中是C704DD7B。對于給定的生成器多項式G來(lái)說(shuō),無(wú)論在輸入端提供何種數據樣式,剩余值仍為常數。

  硬件實(shí)現

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

  CRC 計算過(guò)程如下:

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

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


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



關(guān)鍵詞: FPGA Virtex Xilinx CRC

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>