题解 | #奇偶校验#

奇偶校验

http://www.nowcoder.com/practice/67d4dd382bb44c559a1d0a023857a7a6

`timescale 1ns/1ns
module odd_sel(
input [31:0] bus,
input sel,
output check
);
//*************code***********//
    //为了和波形相同,题目应改为:sel输出校验结果(1输出偶校验,0输出奇校验)
    //结论:奇反偶同
    
    //首先明确bus与check的1的总个数为偶,即偶校验。总个数为奇,即奇校验
    //举个例子简单明了:
    //奇校验:^bus:0且check:1,^bus:1且check:0
    //偶校验:^bus:0且check:0,^bus:1且check:1
    
    //奇反偶同:奇校验时:校验位与异或相反,偶校验时:校验位与异或相同
    
    assign check = sel ? ^bus : ~(^bus);    

//*************code***********//
endmodule
全部评论

相关推荐

头发暂时没有的KFC总裁:找廉价劳动力罢了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务