http://blog.sina.com.cn/s/blog_6c7b6f030101hj8p.html

1、奇偶校验位于数据位之后,占1位,用于表示串口通信中的校验方式。该位有用户根据需要决定,有奇校验,偶校验,无校验三种。一般都采用无奇偶校验的方式
2、所谓奇校验,就是判断发送方的数据位中1的个数是否是奇数。选择奇校验时,首先将数据位的各位进行“异或”操作,然后将结果与1相“异或”,得到的结果就是奇校验位的值。
说白了,奇校验就是确保发送的数据位中1的个数为奇数,如果数据位中1的个数是偶数,那就给校验位赋值1,如果数据位中1的个数是奇数,那就给校验位赋值0.这样就确保发送的数据中1的个数是奇数
3、偶校验跟奇校验相反,但处理步骤是一样的。偶检验位的计算方法是首先将数据位的各位进行“异或”操作,然后将结果与0相“异或”,得到的结果就是奇校验位的值。
4、串口发送时,先把奇偶校验位的值写入TB8,然后再将要发送的数据写入发送缓冲器SBUF
5、串口接收时,先接受数据缓冲器SBUF里面的数,并计算接收数据中的1的个数,然后读取RB8的值,进行比较,根据奇偶校验规则判断接收数据是否正确。
6、为什么奇偶校验不常用?
数据通信中的数据只能是1或者0,如果一个数据中的1位发生错误,那1的个数肯定就从奇数变为偶数(或者偶数变为奇数)。
但是如果数据中有多个数据位都发生错误了呢。举例来说,我们要发送11110000.如果有两位发生了错误,比如变成了11000000,那么1的个数还是偶数,那奇偶校验就检测不出来错误了。 
所以说:如果数据中发生多位数据错误就可能检测不出来,更检测不到错误发生在哪一位;
7、关于TB8和RB8,这两位既可以作奇偶校验位。也可以做多机通信的数据,地址选择位

module parity(even_numbits,odd_numbits,input_bus);

output   even_numbits,odd_numbits;

input  [7:0]  input_bus;

assign  odd_numbits = ^input_bus;

assign even_numbits=~odd_numbits;

endmodule

转载于:https://www.cnblogs.com/agllero/p/4444564.html

Verilog奇偶校验_zt相关推荐

  1. 【数字IC】从零开始的Verilog UART设计

    从零开始的UART协议设计 一.写在前面 1.1 协议标准 1.2 数字IC组件代码 二.设计要求 三.模块划分 四.全局参数 五.整体结构 六.波特率生成器 6.1 设计文件 6.2 仿真文件 6. ...

  2. 奇偶校验verilog

    题目描述: 现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果(0输出奇校验,1输出偶校验) 信号示意图: `timescale 1ns/1ns module odd_sel( input ...

  3. hls fifo_【FCCM2020】HLS 高手对比 Verilog 高手,到底输哪了?

    防秒退提醒:如果你不懂 HLS 但是懂 FPGA,也可以读一下 Verilog 层面的优化手段. 高级综合(high-level synthesis,简称 HLS)能自动把 C/C++ 之类的高级语言 ...

  4. FPGA学习之路—接口(1)—URAT Verilog程序设计

    FPGA学习之路--URAT Verilog程序设计 UART(Universal Asynchronous Receiver Transmitter,通用异步收发器)是广泛使用的异步串行数据通信协议 ...

  5. (48)VHDL实现8位奇偶校验电路(process语句语句)

    (48)VHDL实现8位奇偶校验电路(process语句语句) 1.1 目录 1)目录 2)FPGA简介 3)VHDL简介 4)VHDL实现8位奇偶校验电路(process语句语句) 5)结语 1.2 ...

  6. (47)VHDL实现8位奇偶校验电路(for loop语句)

    (47)VHDL实现8位奇偶校验电路(for loop语句) 1.1 目录 1)目录 2)FPGA简介 3)VHDL简介 4)VHDL实现8位奇偶校验电路(for loop语句) 5)结语 1.2 F ...

  7. (49)VHDL实现8位奇偶校验电路(while loop语句)

    (49)VHDL实现8位奇偶校验电路(while loop语句) 1.1 目录 1)目录 2)FPGA简介 3)VHDL简介 4)VHDL实现8位奇偶校验电路(while loop语句) 5)结语 1 ...

  8. 基于Flash的ECC纠错算法基本原理及软件C语言算法和硬件Verilog实现(PPT在主页可下载)

    目录: 1: ECC原理 2: ECC校验-列校验 3: ECC校验-行校验 4: ECC校验结果的分析 5: 算法实现 6: 实例分析 7: 校验流程总结 8:硬件verilog代码 1.ECC校验 ...

  9. Verilog实现UART串口收发器数字电路

    阿群的笔记 Verilog实现串口的思路: 节拍生成器:开发板自带晶振频率50MHz,串口波特率≈115200比特/秒,设计一个节拍生成器=16拍/比特,计算节拍生成器的计数最大值=50MHz÷(11 ...

  10. 再说System Verilog 与 Verilog 的关系

    System Verilog 与 Verilog 的关系 标准 当前的System Verilog标准是由IEEE(国际电子电气工程师协会)和Accellera(基于工业的标准协会)两个国际组织制定的 ...

最新文章

  1. c语言错误2015,C语言2015(回答).doc
  2. Java_Object类
  3. 在linux学习中遇到的问题
  4. netty系列之:Event、Handler和Pipeline
  5. 通达信版弘历软件指标_中线公式指标(副图 通达信 贴图)明确文字提示,辅助判断中线走势下载_通达信公式...
  6. Android官方开发文档Training系列课程中文版:线程执行操作之定义线程执行代码
  7. 订单结算中最佳优惠券组合推荐策略分析
  8. 4步教你玩转可视化大屏设计|内附实际操作
  9. openwrt php 吃内存,ipkg, opkg 与 openWrt
  10. C++串行编程步骤介绍
  11. Java基础知识学习06-封装、继承
  12. putty远程登录linux无ssh,收集的linux远程ssh连接putty失败解决办法!
  13. 基于微信小程序点餐系统的设计与实现(含word论文)
  14. Leetcode-1436: 旅行终点站(6行简单解法)
  15. 巴马冷泉、巴马水到底是个什么?有市场吗?
  16. 我梦想中的学习组织-勤学会
  17. 英特尔多核平台编码优化大赛就顺便试试身手了
  18. 我是如何用微信抢红包一年抢了一千万的
  19. [产品经理]产品管理职位的级别
  20. 主板外形尺寸 ATX 介绍

热门文章

  1. matlab练习程序(非负矩阵分解)
  2. Qtcrreator 4 (Qt5.7) on rhel 7 x86_64 添加配置astyle,美化代码配置方法
  3. windows 安装python2.7
  4. Django:(02)项目配置
  5. apt update时出现签名无法验证,公钥失效的解决办法
  6. 在 Angular 8 中,我们可以期待些什么
  7. table中td内容过长自动换行
  8. NodeJS写模块和引入模块的例子
  9. Ionic在Android上部署app步骤
  10. 搭建本地LNMP开发环境(2.5)-安装vim