亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的CRC32校驗(yàn)查找表算法的設(shè)計(jì)

        2016-09-06 09:35:54時(shí)亞麗中國電子科技集團(tuán)公司第三十八研究所合肥230088
        山東工業(yè)技術(shù) 2016年10期
        關(guān)鍵詞:左移鏡像寄存器

        時(shí)亞麗(中國電子科技集團(tuán)公司第三十八研究所,合肥 230088)

        基于FPGA的CRC32校驗(yàn)查找表算法的設(shè)計(jì)

        時(shí)亞麗
        (中國電子科技集團(tuán)公司第三十八研究所,合肥230088)

        循環(huán)冗余碼校驗(yàn)CRC廣泛應(yīng)用于數(shù)字通信和數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)檢錯(cuò)。CRC校驗(yàn)分為串行方式校驗(yàn)、并行方式校驗(yàn)。串行方式校驗(yàn)采用串行移位寄存器,每1個(gè)clk計(jì)算1bit,處理速度慢。并行方式采用查找表算法,處理速度快。本文介紹了CRC32校驗(yàn)算法的FPGA實(shí)現(xiàn)方法,并通過Modelsim仿真,驗(yàn)證了算法的可行性和正確性。

        循環(huán)冗余校驗(yàn)碼;CRC32;FPGA

        0 引言

        循環(huán)冗余校驗(yàn)碼CRC是一種實(shí)現(xiàn)簡單、校驗(yàn)?zāi)芰?qiáng)、在串行通信領(lǐng)域廣泛采用的校驗(yàn)編碼[1]。CRC校驗(yàn)的基本思想是利用線性編碼理論,在發(fā)送端,對(duì)要傳送的k位二進(jìn)制碼序列,以一定的規(guī)則產(chǎn)生一個(gè)校驗(yàn)用的監(jiān)督碼(即CRC碼)r位,附在信息后邊,構(gòu)成了一個(gè)新的二進(jìn)制碼序列數(shù)共(k+r)位,然后發(fā)送出去[2]。在接收端,則根據(jù)信息碼和CRC碼之間所遵循的規(guī)則進(jìn)行校驗(yàn),以確定傳送中是否出錯(cuò)。

        1 CRC32生成查找表和CRC32數(shù)據(jù)校驗(yàn)

        CRC32校驗(yàn)查找表算法采用正規(guī)查詢表查詢,該查詢表是將“直接查詢表”的索引值和表值直接鏡像,正規(guī)查找表多項(xiàng)式POLY是0x04C11DB7。生成查找表的流程是首先對(duì)索引值0到0xFF數(shù)值鏡像。以索引值1為例,鏡像值為0x80,已對(duì)該8bit鏡像值0x80左移24位變成32位CRC32值。對(duì)該值一次左移1位,移出的值若為1,則對(duì)移后的CRC32值與POLY進(jìn)行異或操作得到新的CRC32值,否則不做運(yùn)算。進(jìn)行8次左移運(yùn)算,最后的CRC32值在做鏡像后的值即為索引值1的CRC32查找表值,按照該算法進(jìn)行256次操作,可得到256 個(gè)CRC32查找表值。

        得到查找表后,則對(duì)數(shù)據(jù)進(jìn)行CRC校驗(yàn),其校驗(yàn)步驟是將待校驗(yàn)數(shù)據(jù)與32位寄存器的低8位做XOR運(yùn)算得到一個(gè)指向查詢表的索引值,將所將索引所指的表值與寄存器的高24位做XOR運(yùn)算,得到的值更新到32位寄存器中,同時(shí)該值也為校驗(yàn)過的值,如數(shù)據(jù)沒有全部處理完,則跳到開始進(jìn)行運(yùn)算。

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

        FPGA實(shí)現(xiàn)CRC32校驗(yàn)時(shí),一種方法是校驗(yàn)之前將CRC32生成的查找表值直接存入ROM中,按照索引值去取表內(nèi)值。第二種方法是在校驗(yàn)前根據(jù)算法生成CRC32的查找表值,依次存入RAM中,生成查找表之后再按照索引值去取表內(nèi)值。本文是按照第二種方式進(jìn)行校驗(yàn)。這種方式的優(yōu)點(diǎn)是靈活、易于操作。FPGA實(shí)現(xiàn)的流程圖如圖1所示,待校驗(yàn)數(shù)據(jù)Din與CRC32低8位異或的值產(chǎn)生查找表的索引值,由于查找表是RAM存儲(chǔ)器,為了數(shù)據(jù)輸出穩(wěn)定,輸出寄存一拍,從RAM出來的值會(huì)有兩拍延遲。Din數(shù)據(jù)寄存一拍,CRC32數(shù)據(jù)輸出寄存一拍,共有4拍數(shù)據(jù)延遲,所以CRC32會(huì)比串行校驗(yàn)提高8倍時(shí)鐘周期。

        圖1 FPGA實(shí)現(xiàn)CRC32校驗(yàn)的流程圖

        生成查找表值代碼段如下,其中tab_cnt_next一個(gè)周期的高電平將tab_cnt_refl ect鏡像值更新到crc32_table,ulPolynomial是校驗(yàn)多項(xiàng)式值32'h04C11DB7,循環(huán)256次,并將256個(gè)crc32_table值鏡像之后存入RAM中。

        if(tab_cnt_next==1'b1)

        crc32_table <={tab_cnt_refl ect,24'h0};

        else if(crc32_table[31]==1'b1)

        crc32_table <={crc32_table[30:0],1'b0}^ulPolynomial;

        else crc32_table <={crc32_table[30:0],1'b0};

        對(duì)Din數(shù)據(jù)進(jìn)行校驗(yàn)的主要代碼如下,dat_valid是一個(gè)周期的高電平,crc_value初始值為0,tab_index是RAM的讀地址,兩拍后從RAM讀的值rd_ram_data和crc_value高24位異或更新到新的crc_ value值。

        if(dat_valid==1'b1)

        tab_index <=crc_value[7:0]^din;

        else if(dat_valid_2d==1'b1)

        crc_value <=rd_ram_data ^crc_value[31:8];

        3 CRC32的仿真驗(yàn)證

        CRC32生成查找表要循環(huán)256次完成查找表所有值的遍歷,其用Modelsim仿真如圖2所示,crc32_table的鏡像值crc32_table_ refl ect即為查找表的值,圖2中顯示的32’h0、32’h 77073096、32’hEE0E612C、32’h 990951BA即為CRC32正規(guī)查詢表值0到3的值。選取待校驗(yàn)值0xAA,0x44,0x13其CRC32校驗(yàn)值crc_value如圖3所示,最后一個(gè)值0xc4441369即為校驗(yàn)值,經(jīng)驗(yàn)證正確。

        圖2 CRC32生成查找表的Modelsim仿真圖

        圖3 CRC32校驗(yàn)的Modelsim仿真圖

        4 結(jié)束語

        本文介紹了CRC32校驗(yàn)算法的FPGA實(shí)現(xiàn)方法,詳細(xì)介紹了CRC32查找表的生成、CRC32的數(shù)據(jù)校驗(yàn),并列出了FPGA實(shí)現(xiàn)的verilog代碼和仿真時(shí)序圖。經(jīng)過驗(yàn)證可以證明此方法的可行性,并提高了CRC32校驗(yàn)的速率。

        [1]葉懋,劉宇紅,劉橋.CRC碼的FPGA實(shí)現(xiàn)[J].重慶工學(xué)院學(xué)報(bào)(自然科學(xué)版),2007(03).

        [2]莫元?jiǎng)?,黃水永.并行CRC在FPGA上的實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011(15).

        10.16640/j.cnki.37-1222/t.2016.10.188

        時(shí)亞麗(1988-),女,安徽合肥人,碩士,助理工程師。

        猜你喜歡
        左移鏡像寄存器
        華容道玩法大解密
        鏡像
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        鏡像
        小康(2018年23期)2018-08-23 06:18:52
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        鏡像
        小康(2015年4期)2015-03-31 14:57:40
        鏡像
        小康(2015年6期)2015-03-26 14:44:27
        C語言位運(yùn)算中鮮為人知的事
        軟件工程(2014年5期)2014-09-24 11:53:38
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        一種可重構(gòu)線性反饋移位寄存器設(shè)計(jì)
        日本妇女高清一区二区三区 | 欧洲熟妇色xxxx欧美老妇多毛网站| 女人体免费一区二区| 台湾自拍偷区亚洲综合| 中文字幕第一页人妻丝袜| 一本一道人人妻人人妻αv| 夜爽8888视频在线观看| 亚洲色拍拍噜噜噜最新网站| 日本淫片一区二区三区| 欧美老熟妇乱xxxxx| 精品国精品无码自拍自在线| 国内精品久久久久久久亚洲| 91精品亚洲熟妇少妇| 久久婷婷五月综合色丁香| 人妻少妇看a偷人无码精品| av中文字幕少妇人妻| 日韩av中文字幕波多野九色| 成人麻豆日韩在无码视频| 99热久久这里只精品国产www| 亚洲AV秘 无码一区二区三区| 美女被内射中出在线观看| 国产综合色在线视频区| 久久精品亚洲乱码伦伦中文| 人妻丰满熟妇av一区二区 | 被灌醉的日本人妻中文字幕| 国产精品vⅰdeoxxxx国产| 欧美一片二片午夜福利在线快 | 蜜桃成人无码区免费视频网站| 国产真实乱对白在线观看| 国产色av一区二区三区| 国产无套粉嫩白浆在线观看| 中文在线а√天堂官网| av永远在线免费观看| av中文字幕一区不卡| 国产亚洲精品bt天堂精选| 亚洲 无码 制服 丝袜 自拍 | 国产精品视频自拍在线| 欧美日韩一区二区综合| 99久久国产综合精品女乱人伦| 最近中文字幕精品在线| 99久久人妻无码精品系列|