数字电路基础知识——组合逻辑电路(奇偶校验器、比较器的Verilog设计)

本次主要介绍组合逻辑电路中的奇偶校验电路以及比较器的设计,以及相干的实例来熟悉这两种电路。

一、奇偶校验电路
  1. 奇偶校验码
    奇偶校验码是比较简单的数据校验码,可以检测出一位错误,但是并不能确定错误的位置。
    如果数据中发生多位数据错误就可能检测不出来,更检测不到错误发生在哪一位;

  2. 实现方法
    将有效信息位和校验位读入,判断1 的个数为奇数还是偶数个,在奇校验时,正常的情况下个数应该为奇数个偶校验正常情况下应该时偶数个
    校验码的生成:对于奇校验,判断有效信息的位1的个数,若为偶数,则校验位为1,奇数则校验位为0;偶校验则相反。

  3. 用Verilog设计8bit奇偶校验电路。
    奇偶校验电路,一般多用于UART中接受数据位的校验等。
    通信中发送一个字节的数据,8位,加上一个校验位,一共九位。
    如果是奇校验,8位中1的个数加上,校验位为1的情况,最终1的个数为奇数个。
    如果是偶校验,8位中1的个数加上,校验位为1的情况,最终1的个数为偶数个。

module Odd_Even_Check(input   [7:0]   indata,output          odd_bit,output          even_bit);assign  even_bit   = ^indata;   //偶校验位是所有数据为按位异或得到
assign  odd_bit    = ~even_bit; endmodule
//assign even_bit = ^a;
//等效于 assign even_bit = a[0]^a[1]^a[2]^a[3]^a[4]^a[5]^a[6]^a[7];

实现奇偶检验的算法就是,如果是偶校验,只要将该8位数据第一位和第二位进行异或,然后将得到的结果和第三位异或,依次下去,直到和第七位异或,
这样得到的最后结果,就是偶校验位;如果是奇校验,将上面的偶校验位取反即可。

二、数据比较器
  1. 一位数值比较器
    当A>B,则Y= AB’ = 1
    当A<B,则Y= A’B= 1
    当A=B,则Y= AB’ + A’B = 1
    下面即为一位数值比较器的电路:
  2. 多位数值比较器
    多位数据进行比较时,必须从高位进行比较,并且高位相等时才能比较下一位。
    下图是74LS85逻辑框图。


    可以利用两个4位的比较器扩展成为8位的比较器。
    低四位没有来自更低的位的比较,所以将I(A=B)置1。
    低位的比较结果作为输出接到高位的输入。

数字电路基础知识——组合逻辑电路(奇偶校验电路、数据比较器的设计)相关推荐

  1. 数字电路基础知识——组合逻辑电路实现一些简单逻辑电路 (一)(用Verilog实现:绝对值函数运算(补码问题),取对数函数(移位寄存器),取整函数)

    数字电路基础知识--组合逻辑电路实现一些简单逻辑电路 (一)(用Verilog实现:绝对值函数运算(补码问题),取对数函数(移位寄存器),取整函数) 在数字逻辑设计中,本节介绍绝对值运算函数如何用Ve ...

  2. 数字电路基础知识——组合逻辑电路之乘法器的设计(一)—— 并行、移位相加、加法树、查找表乘法器

    数字电路基础知识--乘法器的设计(一)-- 并行.移位相加.加法树.查找表 乘法器的设计主要应用在数字信号处理和数字通信,本节主要介绍乘法器的四种实现方法.使用并行乘法器.移位相加乘法器.查找表乘法器 ...

  3. 数字电路基础知识—— 组合逻辑电路中的竞争与冒险(竞争与冒险、检验方法、及消除方法)

    在数字逻辑设计中,并不是说最简的逻辑表达式在设计组合逻辑时一定是最优的,可能就会出现本次介绍的竞争与冒险问题,所以需要了解竞争与冒险的检验以及竞争与冒险的避免消除方法. 一.竞争与冒险现象及其形成原因 ...

  4. 数字电路基础知识|时钟和时序

    时钟的概念 时钟对数字电路而言非常重要,没有时钟数字电路就没法工作,其全称是时钟频率,一般由晶振来提供时钟频率. 在数字电路中,所有数据.逻辑单元等状态的更新都是以时钟为基础的,时钟频率在数字电路中起 ...

  5. 数字电路实验一 组合逻辑电路的设计预实验报告

    数字电路实验一 组合逻辑电路的设计 ---用与非门74LS00,74LS20设计制作一个三人表决电路 (验证性实验) 预习要求: 1.查资料画出74ls00和74ls20芯片引脚图排列图,画出逻辑符号 ...

  6. 数字电路基础知识——乘法器的设计(二)( 串行、流水线、有符号数八位乘法器)

    数字电路基础知识--乘法器的设计(二)( 串行.流水线.有符号数八位乘法器) 前面一节关于乘法器的具体实现方式有很多种方法,均有各自的优缺点. 本节将再介绍一下两种乘法器的设计,分别用Verilog语 ...

  7. 数字电路基础知识——格雷码和二进制码的转换的算法和Verilog实现

    数字电路基础知识--格雷码和二进制码的转换的算法和Verilog实现 关于数字电路中的码制问题在这篇博客中已经做了详细分析, 数字电路基础知识--数字IC中的进制问题(原码,反码,补码以及各进制的转换 ...

  8. 数字电路基础(五)算术运算电路

    数字电路基础(五)算术运算电路 一.二进制加法电路 1.半加器和全加器 (1)半加器 半加器是一个只考虑两个一位二进制数相加,而不考虑低位进位的运算电路.如下图所示是半加器的逻辑图: A A A和 B ...

  9. IC验证必备的数字电路基础知识(二):组合逻辑电路

    参考教材:数字电路与逻辑设计(第2版)邬春明 目录 1. 组合逻辑电路分析 2. 组合逻辑电路设计( 重点,设计视角,以练题为主) 3. 竞争冒险 4. 组合逻辑电路 4.1. 编码器 4.2. 译码 ...

最新文章

  1. html5,增加flash插件
  2. APK在AndroidManifest.xml常用权限总结
  3. java getattribute intvalue_Java NodeTree.getAttributeI方法代码示例
  4. 计算机视觉开源库OpenCV添加文字cv2.putText()参数详解
  5. linux常见故障处理,[转载]Linux常见操作和故障处理汇总
  6. CRF++使用简介(windows下非接口)
  7. 【EF学习笔记09】----------使用 EntityState 枚举标记实体状态,实现增删改查
  8. 数据结构(二)---单链表的实现---java版
  9. 圆方圆学院零基础入门学习Python(绝对干货,值得学习)
  10. IntelliJ Idea中使用Java8新特性lambda表达式
  11. 利用SCCM 2012 SP1为客户端进行软件批量自动安装
  12. LeetCode 392 判断子序列
  13. tomcat版本号进行隐藏或者删除
  14. BitTorrent协议规范
  15. oracle 考试结果哪里查,oracle认证考试成绩查询的方法是怎样的?
  16. 【R语言】ggplot2:初次见面,请多多关照!
  17. 看了就会的浏览器帧原理
  18. [组合数学] 容斥原理polya定理
  19. 三.基础部分+asp网站搭建
  20. 如何解决NavigationDuplicated: Avoided redundant navigation to current location:问题

热门文章

  1. 计算机视觉:图像映射与全景拼接
  2. 罗克韦尔L85E plc程序下载和上载
  3. GaussDB200 部署
  4. java冒泡排序打印实时动态图(借鉴+改动)
  5. mac如何升级node版本
  6. 数字图像处理-常考算法代码-详细注释
  7. Refactor this method to reduce its Cognitive Complexity from 65 to the 15 allowed. [+22 locations]
  8. 微信公众号 用户绑定 php,微信公众号开发——网页授权实现简化用户绑定
  9. 东辉职校计算机专业录取分数线,2016年上海东辉职校录取分数
  10. 从ReentrantLock到AQS