Verilog語(yǔ)言實(shí)現(xiàn)并行(循環(huán)冗余碼)CRC校驗(yàn)_第1頁(yè)
Verilog語(yǔ)言實(shí)現(xiàn)并行(循環(huán)冗余碼)CRC校驗(yàn)_第2頁(yè)
Verilog語(yǔ)言實(shí)現(xiàn)并行(循環(huán)冗余碼)CRC校驗(yàn)_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Verilog語(yǔ)實(shí)現(xiàn)并(循環(huán)冗余碼)CRC校驗(yàn)1 前(1) 什么是CRC校驗(yàn)?CRC即循環(huán)冗余校驗(yàn)碼:是數(shù)據(jù)通信領(lǐng)域中最常的種查錯(cuò)校驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。循環(huán)冗余檢查(CRC)是種數(shù)據(jù)傳輸檢錯(cuò)功能,對(duì)數(shù)據(jù)進(jìn)多項(xiàng)式計(jì)算,并將得到的結(jié)果附在幀的后,接收設(shè)備也執(zhí)類(lèi)似的算法,以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。LFSR計(jì)算CRC,可以多項(xiàng)式G(x)表,G(x)= X16+X12+X5+1模型可如下圖所。(2) 校驗(yàn)原理其根本思想就是先在要發(fā)送的幀后附加個(gè)數(shù)(這個(gè)就是來(lái)校驗(yàn)的校驗(yàn)碼,但要注意,這的數(shù)也是進(jìn)制序列的,下同),成個(gè)新幀發(fā)送給接收端。當(dāng)然,這個(gè)附加的數(shù)不是隨意的,它要

2、使所成的新幀能與發(fā)送端和接收端共同選定的某個(gè)特定數(shù)整除(注意,這不是直接采進(jìn)制除法,是采種稱(chēng)之為“模2除法”)。到達(dá)接收端后,再把接收到的新幀除以(同樣采“模2除法”)這個(gè)選定的除數(shù)。因?yàn)樵诎l(fā)送端發(fā)送數(shù)據(jù)幀之前就已通過(guò)附加個(gè)數(shù),做了“去余”處理(也就已經(jīng)能整除了),所以結(jié)果應(yīng)該是沒(méi)有余數(shù)。如果有余數(shù),則表明該幀在傳輸過(guò)程中出現(xiàn)了差錯(cuò)。要校驗(yàn)的數(shù)據(jù)加上此數(shù)據(jù)計(jì)算出來(lái)的crc組成新的數(shù)據(jù)幀,如下圖所。模2除法:模2除法與算術(shù)除法類(lèi)似,但每位除的結(jié)果不影響其它位,即不向上位借位,所以實(shí)際上就是異或。在循環(huán)冗余校驗(yàn)碼(CRC)的計(jì)算中有應(yīng)到模2除法。(3) 步驟CRC校驗(yàn)中有兩個(gè)關(guān)鍵點(diǎn),是預(yù)先確定個(gè)發(fā)

3、送送端和接收端都來(lái)作為除數(shù)的進(jìn)制特串(或多項(xiàng)式),可以隨機(jī)選擇,也可以使國(guó)際標(biāo)準(zhǔn),但是最位和最低位必須為1;是把原始幀與上計(jì)算出的除數(shù)進(jìn)模2除法運(yùn)算,計(jì)算出CRC碼。1.選擇合適的除數(shù)2.看選定除數(shù)的進(jìn)制位數(shù),然后再要發(fā)送的數(shù)據(jù)幀上加上這個(gè)位數(shù)-1位的0,然后新成的幀以模2除法的式除上的除數(shù),得到的余數(shù)就是該幀的CRC校驗(yàn)碼。注意,余數(shù)的位數(shù)定只除數(shù)位數(shù)少位,也就是CRC校驗(yàn)碼位數(shù)除數(shù)位數(shù)少位,如果前位是0也不能省略。3.將計(jì)算出來(lái)的CRC校驗(yàn)碼附加在原數(shù)據(jù)幀后,構(gòu)建成個(gè)新的數(shù)據(jù)幀進(jìn)發(fā)送;最后接收端在以模2除法式除以前選擇的除數(shù),如果沒(méi)有余數(shù),則說(shuō)明數(shù)據(jù)幀在傳輸?shù)倪^(guò)程中沒(méi)有出錯(cuò)。(4) 計(jì)算實(shí)

4、例現(xiàn)假設(shè)選擇的CRC成多項(xiàng)式為G(X) = X4 + X3 + 1,要求出進(jìn)制序列10110011的CRC校驗(yàn)碼。下是具體的計(jì)算過(guò)程:將多項(xiàng)式轉(zhuǎn)化為進(jìn)制序列,由G(X) = X4 + X3 + 1可知進(jìn)制種有五位,第4位、第三位和第零位分別為1,則序列為11001多項(xiàng)式的位數(shù)位5,則在數(shù)據(jù)幀的后加上5-1位0,數(shù)據(jù)幀變?yōu)?01100110000,然后使模2除法除以除數(shù)11001,得到余數(shù)。將計(jì)算出來(lái)的CRC校驗(yàn)碼添加在原始幀的后,真正的數(shù)據(jù)幀為101100110100,再把這個(gè)數(shù)據(jù)幀發(fā)送到接收端。接收端收到數(shù)據(jù)幀后,上選定的除數(shù),模2除法除去,驗(yàn)證余數(shù)是否為0,如果為0,則說(shuō)明數(shù)據(jù)幀沒(méi)有出錯(cuò)。

5、2 流程(2)本次校驗(yàn)?zāi)P蜑镚(x)= X16+X12+X5+1。在在線(xiàn)具中操作相關(guān)選項(xiàng)成模板。模板v件如下:12 / Copyright (C) 1999-2008 Easics NV.3 / This source file may be used and distributed without restriction4 / provided that this copyright statement is not removed from the file5 / and that any derivative work contains the original copyright no

6、tice6 / and the associated disclaimer.7 /8 / THIS SOURCE FILE IS PROVIDED AS IS AND WITHOUT ANY EXPRESS9 / OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED10 / WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.11 /12 / Purpose : synthesizable CRC function13 / * poly

7、nomial: x16 + x12 + x5 + 114 / * data width: 1615 /16 / Info : toolseasics.be17 /1819 module CRC16_D16;2021 / polynomial: x16 + x12 + x5 + 122 / data width: 1623 / convention: the first serial bit is D1524 function 15:0 nextCRC16_D16;2526 input 15:0 Data;27 input 15:0 crc;28 reg 15:0 d;29 reg 15:0 c

8、;30 reg 15:0 newcrc;31 begin32 d = Data;33 c = crc;3435 newcrc0 = d12 d11 d8 d4 d0 c0 c4 c8 c11 c12;36 newcrc1 = d13 d12 d9 d5 d1 c1 c5 c9 c12 c13;37 newcrc2 = d14 d13 d10 d6 d2 c2 c6 c10 c13 c14;38 newcrc3 = d15 d14 d11 d7 d3 c3 c7 c11 c14 c15;39 newcrc4 = d15 d12 d8 d4 c4 c8 c12 c15;40 newcrc5 = d

9、13 d12 d11 d9 d8 d5 d4 d0 c0 c4 c5 c8 c9 c11 c12 c13;41 newcrc6 = d14 d13 d12 d10 d9 d6 d5 d1 c1 c5 c6 c9 c10 c12 c13 c14;42 newcrc7 = d15 d14 d13 d11 d10 d7 d6 d2 c2 c6 c7 c10 c11 c13 c14 c15;43 newcrc8 = d15 d14 d12 d11 d8 d7 d3 c3 c7 c8 c11 c12 c14 c15;44 newcrc9 = d15 d13 d12 d9 d8 d4 c4 c8 c9 c

10、12 c13 c15;45 newcrc10 = d14 d13 d10 d9 d5 c5 c9 c10 c13 c14;46 newcrc11 = d15 d14 d11 d10 d6 c6 c10 c11 c14 c15;47 newcrc12 = d15 d8 d7 d4 d0 c0 c4 c7 c8 c15;48 newcrc13 = d9 d8 d5 d1 c1 c5 c8 c9;49 newcrc14 = d10 d9 d6 d2 c2 c6 c9 c10;50 newcrc15 = d11 d10 d7 d3 c3 c7 c10 c11;51 nextCRC16_D16 = ne

11、wcrc;52 end53 endfunction54 endmodule(3)修改模板最終如下:1 timescale 1ns/1ps2 module crc16_test (3input wireinput wireinput wirei_clk, / 時(shí)鐘;4i_rst_ni_din_valid, / 同步復(fù)位;, / 輸數(shù)據(jù)有效;, / 輸數(shù)據(jù);, / 值有效;/ ;56input wire 15:0 i_din7output wireo_dout_valid8output wire 15:0 o_dout9 );10 reg 15:0 r_dout;11 wire 15:0 d;12

12、 wire 15:0 c;13 assign d = i_din;14 assign c = r_dout;15 always (posedge i_clk) begin16 if (i_rst_n)17r_dout = 16hffff; / ffff;18 else if (i_din_valid)19 begin /計(jì)算邏輯;20212223242526272829303132333435r_dout0 = d12 d11 d8 d4 d0 c0 c4 c8 c11 c12;r_dout1 = d13 d12 d9 d5 d1 c1 c5 c9 c12 c13;r_dout2 = d14

13、d13 d10 d6 d2 c2 c6 c10 c13 c14;r_dout3 = d15 d14 d11 d7 d3 c3 c7 c11 c14 c15;r_dout4 = d15 d12 d8 d4 c4 c8 c12 c15;r_dout5 = d13 d12 d11 d9 d8 d5 d4 d0 c0 c4 c5 c8 c9 c11 c12 c13;r_dout6 = d14 d13 d12 d10 d9 d6 d5 d1 c1 c5 c6 c9 c10 c12 c13 c14;r_dout7 = d15 d14 d13 d11 d10 d7 d6 d2 c2 c6 c7 c10 c1

14、1 c13 c14 c15;r_dout8 = d15 d14 d12 d11 d8 d7 d3 c3 c7 c8 c11 c12 c14 c15;r_dout9 = d15 d13 d12 d9 d8 d4 c4 c8 c9 c12 c13 c15;r_dout10 = d14 d13 d10 d9 d5 c5 c9 c10 c13 c14;r_dout11 = d15 d14 d11 d10 d6 c6 c10 c11 c14 c15;r_dout12 = d15 d8 d7 d4 d0 c0 c4 c7 c8 c15;r_dout13 = d9 d8 d5 d1 c1 c5 c8 c9;r_dout14 = d10 d9 d6 d2 c2 c6 c9 c10;r_dout15 = d11 d10 d7 d3 c3 c7 c10 c11;36 end37 end38 reg r_dout_valid = 0;39 always (posedge i_clk) /計(jì)算,下個(gè)時(shí)鐘輸出;40 begin41 r_dout_valid = i_din_valid;42 end4344 assign o_dout_valid = r_dout_valid;45 assign o_dout = r_dout ;4647 endmodule / end the crc

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論