奇偶校验
定义:
这里的奇偶是数据中,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