奇偶校验位产生器

本文详细介绍了奇偶校验位的概念,包括奇校验和偶校验的工作原理,并通过实例展示了如何计算一组数据的奇偶校验位。同时,提供了Verilog代码实现,并分享了相关仿真结果,加深了对奇偶校验位的理解。
摘要由CSDN通过智能技术生成

1、如果数据位中包含偶数个1 校验位(P)就会置1,如果数据位中包含奇数个1,校验位(P)就会置0。数据位中1的个数加上校验位(P)总为奇数,这就是奇校验。

例:

0010_0001, P = 1  ===>Reslut=1_0010_0001,在Reslut中所有“1”加起为奇数

0000_0001, P = 0  ===>Reslut=0_0000_0001,在Reslut中所有“1”加起为奇数

2、如果数据位中包含偶数个1 校验位(P)就会置0,如果数据位中包含奇数个1,校验位(P)就会置1。数据位中1的个数加上校验位(P)总为偶数,这就是偶校验。

例:

0010_0001, P = 0  ===>Reslut=0_0010_0001,在Reslut中所有“1”加起为偶数

0000_0001, P = 1  ===>Reslut=1_0000_0001,在Reslut中所有“1”加起为偶数

3、如何求一组数据中的奇偶校验位(P)?

例偶校验:

(1)、a[3:0] = 0001;

a[0]与a[1]异或得1,1在与a[2]异或得1,1在与a[3]异或得1,那么P=1; 即P = a[0]^a[1]^a[2]^[3];Verilog 中可以这样写,p=^a;  why?

(2)、b[3:0] = 0101;
b[0]与b[1]异或得1,1在与b[2]异或得0,0在与b[3]异或得0,那么P=0;同理p=^b;

好奇怪啊,书上说异或属于双目运算符,p=^a,那a跟谁异或呢?

摘自一位网友的解释“与、或、非以及异或等既可以作为位运算符,也可以作为一元约减运算符。作为位运算符时,除了“非”以外都是双目运算符,需要两个操作数;作为一元约减运算符时是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值