久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

8位數(shù)據(jù)的奇偶校驗verilog程序

 ljh605 2017-04-07
利用Verilog語言實現(xiàn)對一個8位數(shù)據(jù)進行奇偶檢驗,具體方法如下,,
實現(xiàn)奇偶檢驗的算法就是,,如果是偶校驗,只要將該8位數(shù)據(jù)第一位和第二位進行異或,,然后將得到的結果和第三位異或,,依次下去,直到和第七位異或,,
這樣得到的最后結果,,就是偶校驗位;如果是奇校驗,,將上面的偶校驗位取反即可,。下面的一段小程序就是實現(xiàn)該功能的代碼。


module modelsim_test (even_bit,odd_bit,a);
 input[7:0] a;
 output even_bit,odd_bit;
 assign even_bit = ^a;
 assign odd_bit = ~even_bit;
endmodule


然后利用modelsim測試一下得到波形如下圖,。


可以看到實現(xiàn)了奇偶校驗的效果,。但是一直對,assign even_bit = ^a;這段不明白,。
^是按位異或,,是二目運算符,這里怎么只用一個操作數(shù)呢,?

其實在verilog中,,與,或,,非,,異或,,同或,這5個運算符,,除了非以外,,其他4個都是二目運算符,也即是需要兩個操作數(shù),,然后中間加上相應的運算符,。

但是這里有一種稱作,一元約減運算符,,就是說,,與,或,,異或,,同或,這4個運算符可以作為一元約減運算符,,也即是只需要一個操作數(shù),,例如:even_bit = ^a;
不過運算的過程,,和二目運算符不同了,,
一元約減運算符的運算過程是:首先將操作數(shù) 的第一位和第二位進行與、或,、非運算,;然后再將運算結果和第三位進行與、或,、非運算,; 依次類推直至最后一位。
就是說,,
assign even_bit = ^a;等效于 assign even_bit = a[0]^a[1]^a[2]^a[3]^a[4]^a[5]^a[6]^a[7];


最后提到一下C語言 &=,,^=|=,,運算符,,例如:b^=a;等效于b=b^a;這個和上面提到的,,不是同一個東西,,注意不要混淆。我第一次看到那個語句的時候,,就是利用C語言的方式來理解的,,百思不得其解。


    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多