题解 | #奇偶校验#

奇偶校验

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

目录

奇偶校验

Parity Check:在数据位后添加一个校验位,使得所有数位中1的个数为奇数或者偶数。

奇校验

添加校验位后,数位中的1总数是奇数。
比如:0110,奇校验位为1,变为01101。

偶检验

添加校验位后,数位中的1总数是偶数。
比如:0110,偶校验位为0,变为01100。

代码

`timescale 1ns/1ns
module odd_sel(
    input [31:0] bus,
    input sel,
    output check
);
//*************code***********//
    wire tmp;
    assign tmp = ^bus[31:0];
    assign check = sel? tmp:~tmp;
//*************code***********//
endmodule

简析

tmp = ^bus[31:0]等价于tmp = bus[31]^bus[30]^...^bus[0]。如果bus有奇数个1,tmp=1;反之,tmp=0

Verilog篇题解 文章被收录于专栏

本人对牛客网verilog篇题目一些理解

全部评论

相关推荐

joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
11-18 15:57
门头沟学院 Java
起一个响亮的妹子吧:虽然但是,确有其人,重邮同届的,没有技巧,纯纯的个人实力。查看图片
点赞 评论 收藏
分享
27 3 评论
分享
牛客网
牛客企业服务