题解 | #奇偶校验#

奇偶校验

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
全部评论

相关推荐

求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
05-13 02:01
已编辑
惠州学院 前端工程师
安静的少年在求佛:建议把公司名字写到标题。以后有人想搜就能直接搜到
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务