描述
题目描述:
现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果(1输出奇校验,0输出偶校验)
信号示意图:
波形示意图:
输入描述:
输入信号 bus sel
类型 wire
输出描述:
输出信号 check
类型 wire
解题分析:
通常所说的奇偶校验:
奇校验:对输入数据添加1位0或者1,使得添加后的数包含奇数个1;比如:0110,奇校验位为1,变为01101。
偶校验:对输入数据添加1位0或者1,使得添加后的数包含偶数个1;
比如:0110,偶校验位为0,变为01100。
奇、偶校验位的计算方式:
even_bit = ^bus;
odd_bit = ~even_bit;
代码如下:
`timescale 1ns/1ns
module odd_sel(
input [31:0] bus,
input sel,
output check
);
//*************code***********//
assign check = sel? ^bus:~(^bus);
//*************code***********//
endmodule
波形图如下: