一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA奇偶校驗的基本原理及實現(xiàn)方法

CHANBAEK ? 來源:FPGA入門到精通 ? 作者:未可知摩爾 ? 2023-05-14 14:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)字電路中,數(shù)據(jù)的正確性非常重要。 為了保證數(shù)據(jù)的正確性,在傳輸數(shù)據(jù)時需要添加一些冗余信息,以便在接收端進行校驗。 其中一種常用的校驗方式是奇偶校驗(Parity Check)。 本文將介紹奇偶校驗的基本原理及實現(xiàn)方法,并給出FPGA實現(xiàn)的代碼示例。

一、奇偶校驗原理

奇偶校驗是一種基本的數(shù)據(jù)校驗方式,其原理是在數(shù)據(jù)的尾部添加一個位,使得該位和數(shù)據(jù)中所有1的個數(shù)之和為奇數(shù)或偶數(shù)。 由于校驗位的加入,使得數(shù)據(jù)傳輸中一旦數(shù)據(jù)錯誤就能夠被檢測出來,從而保證了數(shù)據(jù)的正確性。

奇偶校驗可以采用兩種方式:奇校驗和偶校驗。

奇校驗::全部數(shù)據(jù)和該校驗位中“1”的總數(shù)為奇數(shù),則表示數(shù)據(jù)無誤,否則數(shù)據(jù)錯誤

偶校驗:全部數(shù)據(jù)和該校驗位中“1”的總數(shù)為偶數(shù),則表示數(shù)據(jù)無誤,否則數(shù)據(jù)錯誤

奇偶校驗的優(yōu)點是簡單、快速,不需要大量計算。 但是奇偶校驗只能檢測出錯誤,不能糾正錯誤,因此在實際應用中很少單獨使用,通常與其它更加強大的校驗方式結合起來使用。

以輸出一組16bit數(shù)據(jù)為“1100_0011_1101_0100”為例,這組數(shù)據(jù)中有8個“1”。

如果使用奇校驗,則校驗位為1,傳輸數(shù)據(jù)實際為16bit數(shù)據(jù)+1bit奇校驗位,即“1100_0011_1101_0100_1”。

如果使用偶校驗,則校驗位為0,傳輸數(shù)據(jù)實際為16bit數(shù)據(jù)+1bit偶校驗位,即“1100_0011_1101_0100_0”。

二、FPGA奇偶校驗設計

1、多位輸入,分別用每位做:與、或、異或

module test( 
    input [3:0] in,
    output out_and,
    output out_or,
    output out_xor
);
    //方法一
    assign out_and = in[0] & in[1] & in[2] & in[3];
    assign out_or  = in[0] | in[1] | in[2] | in[3];
    assign out_xor = in[0] ^ in[1] ^ in[2] ^ in[3];

    //方法二
    assign out_and = ∈
    assign out_or = |in;
    assign out_xor = ^in;

endmodule

2、奇偶校驗測試

奇偶校驗只要求出其中一個,另一個取反即得到了。

module parity_check(
input [7:0] data_in,
input sel,
output check
);

wire even;// 偶校驗
wire odd;// 奇校驗

assign even = ^data_in;
assign odd = ~even;

assign check = (sel)?odd : even;

endmodule

測試激勵

module sim(

    );
	
reg clk;
reg [7:0] data_in;

parity_check u_parity_check (
  .data_in(data_in),
  .sel(1'b0)
);

initial begin
    data_in = 0;
    
    #10 data_in = 8'b1011_1000;
    #10 data_in = 8'b1011_0000;
    #10 data_in = 8'b1111_1000;
    #10 data_in = 8'b1011_1100;
    #10 data_in = 8'b1011_1010;
    #10 data_in = 8'b1111_1010;
    #10 data_in = 8'b1011_1001;
    #10 data_in = 8'b1011_1101;
    #10 data_in = 8'b1011_1011;
    
    #10 $finish;
end
	
	
endmodule

仿真測試結果圖:

從圖中可以看出,仿真測試結果與預期一致。

三、總結

奇偶校驗算法很簡單,實現(xiàn)起來也很容易,本文提供了一個比較簡單的方法實現(xiàn),大家可以參考下。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1645

    文章

    22050

    瀏覽量

    618609
  • 仿真
    +關注

    關注

    52

    文章

    4289

    瀏覽量

    135880
  • 數(shù)字電路

    關注

    193

    文章

    1639

    瀏覽量

    81932
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

    70758
  • 奇偶校驗
    +關注

    關注

    0

    文章

    15

    瀏覽量

    8330
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    串口調(diào)試助手的奇偶校驗測試方法

    很多串口調(diào)試助手感覺奇偶校驗功能都是形同虛設的(我設置奇校驗和偶校驗都能收到數(shù)據(jù))。是不是我測試方法有誤呢?串口助手校驗失敗會有什么現(xiàn)象?。?/div>
    發(fā)表于 04-28 15:11

    奇偶校驗

    奇偶校驗碼   奇偶校驗碼是一種開銷最小,能發(fā)現(xiàn)數(shù)據(jù)代碼中一位出錯情況的編碼,常用于存儲器讀寫檢查,或ASCII字符、其它類
    發(fā)表于 10-13 16:42 ?5572次閱讀

    奇偶校驗器,奇偶校驗器是什么意思

    奇偶校驗器,奇偶校驗器是什么意思 奇偶校驗器定義 為了系統(tǒng)的可靠性,對于位數(shù)
    發(fā)表于 03-08 17:32 ?2398次閱讀

    奇偶校驗碼,奇偶校驗碼原理是什么?

    奇偶校驗碼,奇偶校驗碼原理是什么? 奇偶校驗碼是奇校驗碼和偶校驗碼的統(tǒng)稱,是一種最基本的檢錯碼。它是由n-1位信息元和1位
    發(fā)表于 03-17 17:39 ?6.3w次閱讀

    奇偶校驗器_奇偶校驗設計程序

    本內(nèi)容提供了奇偶校驗器_奇偶校驗設計的程序代碼,希望對大家有幫助
    發(fā)表于 11-11 10:04 ?5875次閱讀

    stm32串口奇偶校驗

    STM32串口通信使用奇偶校驗的時候應該設置數(shù)據(jù)位長度9bit,奇偶校驗是硬件完成的,并且stm32用校驗位時,數(shù)據(jù)位要選9位,8位會出現(xiàn)故障可能。
    的頭像 發(fā)表于 07-23 09:26 ?1.2w次閱讀

    stm32 usart奇偶校驗如何配置

    stm32 usart奇偶校驗如何配置?或許你在stm32 usart奇偶校驗過程中會遇到如下一些坑,stm32 usart偶校驗錯誤標志位以及出現(xiàn)偶校驗錯誤,
    的頭像 發(fā)表于 07-23 09:55 ?8157次閱讀
    stm32 usart<b class='flag-5'>奇偶校驗</b>如何配置

    奇偶校驗的優(yōu)缺點及奇偶校驗代碼實現(xiàn)

    奇偶校驗需要一位校驗位,即使用串口通信的方式2或方式3(8位數(shù)據(jù)位+1位校驗位)。 奇校驗(odd parity) :讓傳輸?shù)臄?shù)據(jù)(包含校驗
    的頭像 發(fā)表于 06-18 18:14 ?1.6w次閱讀
    <b class='flag-5'>奇偶校驗</b>的優(yōu)缺點及<b class='flag-5'>奇偶校驗</b>代碼<b class='flag-5'>實現(xiàn)</b>

    增強FIFO模式下的奇偶校驗

    自昊芯推出專題講解SCI串口通訊奇偶校驗,分為兩期講解,上期主要講解標準SCI模式下的奇偶校驗,本期主要講解增強FIFO模式下的奇偶校驗。
    的頭像 發(fā)表于 11-02 09:30 ?1409次閱讀

    介紹FPGA奇偶校驗基本原理實現(xiàn)方法

    在數(shù)字電路中,數(shù)據(jù)的正確性非常重要。為了保證數(shù)據(jù)的正確性,在傳輸數(shù)據(jù)時需要添加一些冗余信息,以便在接收端進行校驗。
    發(fā)表于 05-22 14:27 ?2412次閱讀
    介紹<b class='flag-5'>FPGA</b><b class='flag-5'>奇偶校驗</b>的<b class='flag-5'>基本原理</b>及<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>方法</b>

    奇偶校驗器的設計方法和特點

    奇偶校驗是一種簡單、實現(xiàn)代價小的檢錯方式,常用在數(shù)據(jù)傳輸過程中。對于一組并行傳輸?shù)臄?shù)據(jù)(通常為8比特),可以計算岀它們的奇偶校驗位并與其一起傳輸。接收端根據(jù)接收的數(shù)據(jù)重新計算其奇偶校驗
    的頭像 發(fā)表于 09-05 10:40 ?3414次閱讀
    <b class='flag-5'>奇偶校驗</b>器的設計<b class='flag-5'>方法</b>和特點

    什么是奇偶校驗 奇偶校驗基本原理 奇偶校驗電路什么意思

    什么是奇偶校驗 奇偶校驗基本原理 奇偶校驗電路什么意思? 奇偶校驗是一種用于檢測二進制數(shù)據(jù)中錯誤的方法
    的頭像 發(fā)表于 10-17 16:16 ?4832次閱讀

    什么是奇偶校驗電路?奇偶校驗器是時序邏輯電路嗎?

    。當數(shù)據(jù)傳輸時,校驗電路會對傳輸?shù)臄?shù)據(jù)進行計算并比較校驗位和傳輸字節(jié)中1的數(shù)量是否是偶數(shù)或奇數(shù),如果與規(guī)定的奇偶位不符,則認為數(shù)據(jù)發(fā)生錯誤。 奇偶校驗電路的
    的頭像 發(fā)表于 10-17 16:16 ?4297次閱讀

    什么是奇校驗和偶校驗?常見的奇偶校驗方式有哪些?

    校驗,以保證正確性。常用的校驗方法奇偶校驗、循環(huán)冗余校驗(CRC)、海明碼等。 2. 奇偶校驗是一種最簡單的
    的頭像 發(fā)表于 10-17 16:28 ?1.2w次閱讀

    奇偶校驗和crc校驗的區(qū)別 CRC校驗奇偶校驗之間有什么關系?

    奇偶校驗和crc校驗的區(qū)別 CRC校驗奇偶校驗之間有什么關系? 奇偶校驗和 CRC(Cyclic Redundancy Check)
    的頭像 發(fā)表于 10-17 16:28 ?4118次閱讀