题解 | #奇偶校验#

奇偶校验

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篇题目一些理解

全部评论

相关推荐

小米 手机电路工程师 年薪17万,显示驱动方向22.5万
点赞 评论 收藏
分享
想去夏威夷的小哥哥在度假:5和6才是重点
点赞 评论 收藏
分享
27 3 评论
分享
牛客网
牛客企业服务