本文主要是介绍VL3 奇偶校验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
奇偶校验
定义:
这里的奇偶是数据中,1的个数
比如奇校验为1 ,就是说数据中1的个数是奇数个。
同理 偶校验为0.就是说数据中1的个数不是偶数个。
那么就说:奇校验为1 与 偶校验为0 互为否的关系(not)这里再说一下如何校验,说白了就是说如何统计1出现奇数个还是偶数个。
这里需要按位异或的操作。
直接看例子:
假设我们有一个数据1010,现在用奇校验,我们使用按位异或操作,那么先从左边开始,1与0异或得1,现在是110,再1与1异或得0,现在是00,再进行0与0异或,得0 。最终结果是0 。
我们额可以看到1010奇校验为0。那么1010偶校验就是1。
代码:
`timescale 1ns/1ns
module odd_sel(
input [31:0] bus,
input sel,
output check
);
//*************code***********//
assign check = (sel == 1) ? ^bus:!(^bus);//*************code***********//
endmodule
这篇关于VL3 奇偶校验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!