循環(huán)冗余校驗(yàn)(crc)模塊設(shè)計(jì)_第1頁
循環(huán)冗余校驗(yàn)(crc)模塊設(shè)計(jì)_第2頁
循環(huán)冗余校驗(yàn)(crc)模塊設(shè)計(jì)_第3頁
循環(huán)冗余校驗(yàn)(crc)模塊設(shè)計(jì)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)十三循環(huán)冗余校驗(yàn)(CRC)模塊設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)使用FPGA器件完成數(shù)據(jù)傳輸中的差錯(cuò)控制;2、了解循環(huán)冗余校驗(yàn)CRC模塊的工作原理3、應(yīng)用VHDL語言設(shè)計(jì)循環(huán)冗余校驗(yàn) CRC模塊,實(shí)現(xiàn)在數(shù)字傳輸中的校驗(yàn)和 糾錯(cuò)功能。3、學(xué)習(xí)實(shí)驗(yàn)環(huán)節(jié)的設(shè)計(jì)與實(shí)現(xiàn)。二、實(shí)驗(yàn)儀器計(jì)算機(jī)、Max+plusll或Quartusll軟件、EDA試驗(yàn)箱、示波器。三、實(shí)驗(yàn)內(nèi)容原理:CRC即Cyclic Redundancy Check循環(huán)冗余校驗(yàn),是一種數(shù)字通信中的信 道編碼技術(shù)。經(jīng)過CRC方式編碼的串行發(fā)送序列碼,可稱為CRC碼,共由兩部 分構(gòu)成:k位有效信息數(shù)據(jù)和r位CRC校驗(yàn)碼。其中r位CRC校驗(yàn)碼是通過k

2、位有效信息序列被一個(gè)事先選擇的 葉1位生成多項(xiàng)式”相除”后得到的(r位余數(shù) 即是CRC校驗(yàn)碼),這里的除法是 模2運(yùn)算” CRC校驗(yàn)碼一般在有效信息發(fā)送 時(shí)產(chǎn)生,拼接在有效信息后被發(fā)送;在接收端,CRC碼用同樣的生成多項(xiàng)式相除,除盡表示無誤,棄掉r位CRC校驗(yàn)碼,接收有效信息;反之,則表示傳輸 出錯(cuò),糾錯(cuò)或請求重發(fā)。本設(shè)計(jì)完成 12位信息加5位CRC校驗(yàn)碼發(fā)送、接收, 由兩個(gè)模塊構(gòu)成,CRC校驗(yàn)生成模塊(發(fā)送)和CRC校驗(yàn)檢錯(cuò)模塊(接收),采用輸 入、輸出都為并行的CRC校驗(yàn)生成方式。圖12.1的CRC模塊端口數(shù)據(jù)說明如 下:sdata 12位的待發(fā)送信息;datald: sdata的裝載信號

3、;error:誤碼警告信號;datafini :數(shù)據(jù)接收校驗(yàn)完成;rdata:接收模塊(檢錯(cuò)模塊)接收的12位有效信息數(shù)據(jù);clk:時(shí)鐘信號;datacrc附加上5位CRC校驗(yàn)碼的17位CRC碼,在生成模塊被發(fā)送,在接收 模塊被接收;hsend hrecv:生成、檢錯(cuò)模塊的握手信號,協(xié)調(diào)相互之間關(guān)系; 實(shí)驗(yàn)要求:1、設(shè)計(jì)CRC校驗(yàn)生成模塊,采用的CRC生成多項(xiàng)式為X5+X4+X2+1,校驗(yàn)碼 為5位,有效信息數(shù)據(jù)為12位。2、設(shè)計(jì)CRC校驗(yàn)查錯(cuò)模塊,并將CRC校驗(yàn)生成模塊和CRC校驗(yàn)查錯(cuò)模塊連接 在一起,協(xié)調(diào)工作。3、估計(jì)實(shí)驗(yàn)使用的硬件資源,自行設(shè)定測試方法和測試內(nèi)容。4、自行設(shè)定測試方案和測

4、試步驟。5、自行設(shè)定實(shí)驗(yàn)步驟和設(shè)計(jì)紀(jì)錄方式,完成實(shí)驗(yàn)報(bào)告。四、實(shí)驗(yàn)研究與思考1、如果輸入數(shù)據(jù)、輸出CRC碼都是串行的,設(shè)計(jì)該如何實(shí)現(xiàn)(提示:采用LFSR)。3、在例子程序中需要8個(gè)時(shí)鐘周期才能完成一次 CRC校驗(yàn),試重新設(shè)計(jì)使得在 一個(gè)elk周期內(nèi)完成。實(shí)驗(yàn)vhdl程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ un sig ned.ALL;USE IEEE.STD_LOGIC_arith.ALL;ENTITY crcm ISPORT( clk,hrecv,datald:IN STD_LOGIC;sdata:IN

5、STD_LOGIC_VECTOR(11 DOWNTO 0);datacrco:out STD_LOGIC_VECTOR(16 DOWNTO 0);datacrci:in STD_LOGIC_VECTOR(16 DOWNTO 0);rdata:out STD_LOGIC_VECTOR(11 DOWNTO 0);datafi ni:out std_logic; ERROR0,hse nd:out std_logic);END crcm;ARCHITECTURE comm OF crcm IScon sta nt multi_coef : std_logic_vector(5 dow nto 0)

6、:= "110101"sig nal cn t,rc nt :std_logic_vector(4 dow nto 0);sig nal dtemp,sdatam,rdtemp:std_logic_vector(11 dow nto 0);sig nal rdatacrc:std_logic_vector(16 dow nto 0);sig nal st,rt :std_logic;begi nprocess(clk)variable crcvar : std_logic_vector(5 dow nto 0);begi n if(clk'eve nt and cl

7、k = '1')the nif(st='0'a nd datald='1')the n dtemp<=sdata;sdatam<=sdata;c nt<=(others=>'0');hse nd<='0'st<='1'elsif(st='1' and cn t<7)the n cn t<=c nt+1;if(dtemp(11)='1')the n crcvar:=dtemp(11 dow nto 6)xor multi_

8、coef;dtemp<=crcvar(4 dow nto 0)& dtemp(5 dow nto 0) & '0'else dtemp<=dtemp(10 dow nto 0) & '0'end if;elsif(st='1' and cn t=7)the n datacrco<=sdatam & dtemp(11 dow nto 7);hse nd<='1'c nt<=c nt+1;elsif(st='1' and cnt=8) then hsen d

9、<='0' st<='0'end if;end if;end process;process(clk,hrecv)variable rcrcvar : std_logic_vector(5 dow nto 0);beginif(clk'event and elk = '1')then6)xorif(rt='O'a nd hrecv='1')the n rdtemp<=datacrci(16 DOWNTO 5); rdatacrc<=datacrci;rc nt<=(others

10、=>'0');errorO<='0'rt<='1'elsif(rt='1'a ndren t<7)the ndatafi ni<='O'rc nt<=rc nt+1;rcrcvar:=rdtemp(11dow ntomulti_coef;if(rdtemp(11)='1')the n rdtemp<=rcrcvar(4 down to 0) & rdtemp(5 dow nto 0) & 'O' else rdtemp<

11、=rdtemp(10 dow nto 0) & 'O'end if;elsif(rt='1' and ren t=7)the n datafi ni<='1:rdata<=rdatacrc(16 dow nto 5);rt<='0'if(rdatacrc(4 dow nto 0) /=rdtemp(11 dow nto 7) the n errorO <='1'end if; end if; end if;end process;end comm;以下內(nèi)容為上面的源代碼生成的 tesh ba

12、nch模板文件,這個(gè)時(shí)候該怎么修改!LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY crcm_vhd_tst ISEND crcm_vhd_tst;ARCHITECTURE crcm_arch OF crcm_vhd_tst ISSIGNAL clk : STD_LOGIC;SIGNAL datacrci : STD_LOGIC_VECTOR(16 DOWNTO 0);SIGNAL datacrco : STD_LOGIC_VECTOR(16 DOWNTO 0);SIGNAL datafi ni : STD_LOGIC;SIGNAL datald

13、 : STD_LOGIC;SIGNAL ERROR0 : STD_LOGIC;SIGNAL hrecv : STD_LOGIC;SIGNAL hse nd : STD_LOGIC;SIGNAL rdata : STD_LOGIC_VECTOR(11 DOWNTO 0);SIGNAL sdata : STD_LOGIC_VECTOR(11 DOWNTO 0); COMPONENT crcmPORT (clk : IN STD_LOGIC;datacrci : IN STD_LOGIC_VECTOR(16 DOWNTO 0); datacrco : OUT STD_LOGIC_VECTOR(16

14、DOWNTO 0); datafi ni : OUT STD_LOGIC;datald : IN STD_LOGIC;ERROR0 : OUT STD_LOGIC;hrecv : IN STD_LOGIC;hse nd : OUT STD_LOGIC;rdata : OUT STD_LOGIC_VECTOR(11 DOWNTO 0); sdata : IN STD_LOGIC_VECTOR(11 DOWNTO 0) );END COMPONENT;BEGINi1 : crcmPORT MAP (clk => clk,datacrci => datacrci,datacrco => datacrco, datafi ni => datafi

溫馨提示

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

最新文檔