题解 | #奇偶校验#

奇偶校验

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


`timescale 1ns/1ns
module odd_sel(
input [31:0] bus,
input sel,
output check
);
//*************code***********//
/*异或操作符^是一个双目运算符,但其可以进行单目运算
例如b=^a,是将a中的每一位按位逐一进行异或,例如a=4'b1010,则b=1^0^1^0=0,由此可以判断a中为1的位数是奇数还是偶数
又有d=3'b100; e=&d=d[2]&d[1]&d[0]=1'b0;
*/
    reg weishu;
    reg result;

    always@(*) begin
        weishu = ^bus;
                 if(sel == 0) begin
                     
                         result = ~weishu;

                 end
                else if(sel ==1 ) begin

                        result = weishu;
                    end
    
    end
    
    assign check = result;
                        
//*************code***********//
endmodule

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务