https://blog.csdn.net/vivid117/article/details/100653875
1.奇偶校驗電路
奇偶校驗碼
奇偶校驗碼是比較簡單的數據校驗碼,可以檢測出一位錯誤,但是並不能確定錯誤的位置。
如果數據中發生多位數據錯誤就可能檢測不出來,更檢測不到錯誤發生在哪一位;
實現方法
將有效信息位和校驗位讀入,判斷1 的個數為奇數還是偶數個,在奇校驗時,正常的情況下個數應該為奇數個,偶校驗正常情況下應該時偶數個。
校驗碼的生成:對於奇校驗,判斷有效信息的位1的個數,若為偶數,則校驗位為1,奇數則校驗位為0;偶校驗則相反。
用Verilog設計8bit奇偶校驗電路。
奇偶校驗電路,一般多用於UART中接受數據位的校驗等。
通信中發送一個字節的數據,8位,加上一個校驗位,一共九位。
如果是奇校驗,8位中1的個數加上,校驗位為1的情況,最終1的個數為奇數個。
如果是偶校驗,8位中1的個數加上,校驗位為1的情況,最終1的個數為偶數個。
module Odd_Even_Check(
input [7:0] indata,
output odd_bit,
output even_bit
);
assign even_bit = ^indata; //偶校驗位是所有數據為按位異或得到
assign odd_bit = ~even_bit;
endmodule
實現奇偶檢驗的算法就是,如果是偶校驗,只要將該8位數據第一位和第二位進行異或,然后將得到的結果和第三位異或,依次下去,直到和第七位異或,
這樣得到的最后結果,就是偶校驗位;如果是奇校驗,將上面的偶校驗位取反即可。
2.數據比較器
一位數值比較器
當A>B,則Y= AB’ = 1
當A<B,則Y= A’B= 1
當A=B,則Y= AB’ + A’B = 1
下面即為一位數值比較器的電路:

多位數值比較器
多位數據進行比較時,必須從高位進行比較,並且高位相等時才能比較下一位。
下圖是74LS85邏輯框圖。

————————————————
版權聲明:本文為CSDN博主「擺渡滄桑」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/vivid117/article/details/100653875
