新聞中心

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

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

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

          剩余法

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

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

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

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

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

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

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

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

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

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

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

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

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

          硬件實(shí)現(xiàn)

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

          CRC 計(jì)算過程如下:

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

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


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



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

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 抚远县| 海安县| 抚宁县| 仁化县| 涿州市| 平泉县| 林西县| 永善县| 雷山县| 勃利县| 滦平县| 衡阳县| 遂昌县| 嘉义市| 洛宁县| 辛集市| 乐安县| 泸水县| 康平县| 徐闻县| 闻喜县| 涪陵区| 沙湾县| 金山区| 宁陵县| 乃东县| 晋州市| 彩票| 拜泉县| 临海市| 万盛区| 定安县| 沂源县| 瑞昌市| 仙居县| 天祝| 临高县| 望奎县| 察雅县| 福州市| 时尚|