Verilog设计-奇偶校验

一、奇偶校验介绍

为了减少代码在形成传输和接收过程中产生错误的可能,常常采用可靠性编码技术,格雷码和奇偶校验码都是都是遵照可靠性事项编制出来的编码技术。格雷码的目的在于不易出错,如果数据已经造成了错误,则希望容易发现错误,甚至能发现出错代码的位置并予以纠正,前者称为检错能力,后者成为纠错能力。奇偶检验码就是一种具有检错能力的可靠性代码。

奇偶校验码分为奇校验码和偶校验码两种,均由信息位和校验位两部分组成。

所谓奇校验码是指,在信息位和校验位中,1的个数之和为奇数;

偶校验码是指在信息位和校验位中,1的个数之和为偶数。

奇偶校验码只能可靠的检一位错,如果由信息位中由多位发生了变化,则可能检不出错。

二、Verilog设计

对于一个n输入异或门(或者n个数据相异或,后文同此)来说:

输入(信息位)中有奇数个1时,输出值(校验位)为1,1的总个数为偶数,满足偶校验定义因此n输入异或门的输出值可以作为偶校验的校验位;

输入(信息位)中有偶数个1时,输出值(校验位)为0,不满足奇校验定义,但将输出值取反的话则满足奇校验的定义,且当输入位中有奇数个1时,输出值取反也满足奇校验的定义,因此可将n输入异或门输出值取反然后将其作为奇校验的校验位。

module ParityGnerator #(parameter N=8
  )(
   input  [N-1:0] Din,
   input          ParitySelect,
   output         ParityBit
);
   
   //ParitySelect = 0, even check;ParitySelect = 1, odd check;
   assign PariytBit = ParitySelect ? (~ (^Din)):(^Din);

endmodule

三、参考资料

1. 杨淙锟 《数字电子技术基础》第二版 P12,P23.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值