关于奇偶校验
奇校验(Odd Parity):所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如:
1 0110,0101
0 0110,0101
偶校验(Even Parity):所有传送的数位(含字符的各数位和校验位)中,“1”的个数为偶数,如:
1 0100,0101
0 0100,0101
题目描述
现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果(1输出奇校验,0输出偶校验)
信号示意图
`timescale 1ns/1ns
module odd_sel(
input [31:0] bus,
input sel,
output check
);
//*************code***********//
assign check = sel?(^bus):(~(^bus));
//*************code***********//
endmodule
知识点
单目运算符的结果是一位值;
则 e = &d;//检测d是否全为1(是否含有0)
f = ^d;//奇偶校验(检测1的个数是奇数还是偶数)
g = |d;//检测是否全为0(是否含有1)
三目运算符:三个操作数
a = b?c:d;
表示
if(b==1)
a = c;
else
a = d;