0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【教程分享】FPGA零基础学习:数字电路中的组合逻辑

电子发烧友论坛 来源:未知 2023-04-18 09:15 次阅读

大侠好,欢迎来到FPGA技术江湖。本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子信息通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会。


系统性的掌握技术开发以及相关要求,对个人就业以及职业发展都有着潜在的帮助,希望对大家有所帮助。后续会陆续更新 Xilinx 的 Vivado、ISE 及相关操作软件的开发的相关内容,学习FPGA设计方法及设计思想的同时,实操结合各类操作软件,会让你在技术学习道路上无比的顺畅,告别技术学习小BUG卡破脑壳,告别目前忽悠性的培训诱导,真正的去学习去实战应用,这种快乐试试你就会懂的。话不多说,上货。


数字电路中的组合逻辑

根据逻辑功能的不同特点,可以将数字电路分为两大类,一类称为组合逻辑电路(简称组合电路),另一类称为时序逻辑电路(简称时序电路)。


在组合逻辑电路中,任何时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。这就是组合逻辑电路在逻辑功能上的共同特点。在上一节中,设计的三人表决器就是组合逻辑电路,输出与输入一一对应,和其他无关,输入发生改变,输出立刻跟着改变。


组合逻辑的设计方法在逻辑代数基础中有一定的简单的叙述。


  • 根据现有的资源做出合理的假设(通过为1、还是为0,不同的硬件可能会是不同的结构)。

  • 根据设计要求和假设,列出真值表。

  • 根据真值表得出表达式,并化简(公式化,卡诺图)。有时需要化简为与非的形式或者其他形式。

  • 根据化简后的布尔表达式做出电路结构,并且验证。

  • 如果最后结果出现错误,上述所有步骤都要检查,如果上述步骤都没有问题,可以考虑电路结构中的连接问题或者器件的损坏。


下面利用一个三人表决器的电路设计来说明一些问题。此电路有三个输入(A、B、C),一个输出(Y),只有当两个及两个以上输入赞成时,Y输出赞成。


设赞成为1,不赞成为0。根据设计要求得出如下真值表:


图1 :三人表决器真值表


根据真值表中Y为1的项列出来,对应的A、B、C为1,则留下变量,为0,则留下反变量。


Y = A'BC+AB’C+ABC’+ABC;


根据上述布尔表达式,我们得出逻辑电路图:


图2 :三人表决器的逻辑电路图


如果所有的逻辑都按照这种写法的话,那么很多的逻辑就会变的很复杂,并且会浪费很多的资源。我们考虑一下,电路既然是按照布尔表达式做出来的,那么布尔表达式能不能化简一下呢?


Y = A'BC+AB’C+ABC’+ABC;

= A'BC+ ABC +AB’C+ ABC+ ABC’+ABC;

= BC(A' + A) + AC(B+B') + AB(C+C')

= BC+AC+AB


上述布尔表达式所对应的逻辑电路图如下:


图3 :化简后的布尔表达式所对应的电路图


思考 :半加器、全加器、多路选择器、乘法器、除法器等常用组合逻辑电路的设计与实现?


在设计组合逻辑时,分析和设计都是在输入、输出处于稳定的逻辑电平下进行的。为了保证系统工作的可靠性,有必要再观察一下当输入信号逻辑电平发生变化的瞬间电路的工作情况。


在图1-28所示的与门电路中,稳态下无论A=1、B=0还是A=0、B=1,输出都应该是Y=0;但是输入信号A从1变为0时,如果B从0变为1,由于某些原因(布线的宽度、厚度、温度等),B先从0变为1了,这样在极短的时间内出现了A和B都是1的情况,与门电路就会输出一个极窄的Y=1的尖峰脉冲,或称为电压毛刺。这个尖峰脉冲不符合门电路稳态下的逻辑功能,因而它是系统内部的一种噪声。


图4 :与门由于竞争而产生的尖峰脉冲


将门电路两个输入信号同时向相反的逻辑电平跳变(一个从1变为0,另一个从0变为1)的现象称为竞争。


在有竞争时,不一定都会产生尖峰脉冲。例:在上述的与门中,如果A先于B发生了改变,此时就不会产生尖峰脉冲。


思考:可以尝试分析一下或门,分析或门是否有可能会产生尖峰脉冲?


与门和或门在竞争时,都有可能产生尖峰脉冲。与门和或门是复杂数字逻辑电路中的两个基本门电路,A、B经过不同的传输途径达到,那么在设计时往往难于准确知道A、B到达次序的先后,以及它们在上升时间和下降时间上的细微差异。因此,我们只能说只要存在竞争现象,输出就有可能出现违背稳态下逻辑关系的尖峰脉冲。


由于竞争而在电路输出端可能产生尖峰脉冲的现象称为竞争-冒险。


如果后续电路是一个对尖峰脉冲敏感的电路,那么这种尖峰脉冲将可能使后续电路发生误动作。


思考:如果存在竞争冒险现象的话,应该怎么避免?


  • 可以在输出端接入滤波电容;由于竞争-冒险而产生的尖峰脉冲一般都很窄,所以在输出端并接一个很小的滤波电容就足以把尖峰脉冲的幅度削弱至门电路的阈值电压一下。这种方法简单易行,而缺点是增加了输出电压波形的上升时间和下降时间,使波形变坏。

  • 引入选通脉冲;由于电路的延迟产生的尖峰脉冲是极窄的,如果在输入(输出)信号稳定后,我们再去选取结果作为输出,此时的结果就是正确的。那么此时的选通脉冲就必须要要在稳定后再能出现,否则也无济于事。

  • 修改逻辑设计;此方法的局限性比较大,不再做过多介绍。


通过对组合逻辑的认识,感觉自己已经可以设计任何电路。只要按照标准的设计流程,我们都可以很快的做出电路。


思考 :目前需设计一个自动售货机,贩卖售价为三元的饮料,要求每次只能投入一个一元的硬币。可想而知,我们投入第一个硬币没有反应;投入第二个硬币没有反应;当我们投入第三个硬币时,售货机会给我们一瓶饮料。如果内部是组合逻辑的话,三次投硬币的输入并没有任何改变,但是产生了不同的结果,显然内部结构不是单纯的组合逻辑。内部的功能有一定的记忆性功能,能够清楚的记得之前我们投入的硬币的数量。此时我们应该如何去设计电路。


组合逻辑电路中,任一时刻的输出信号仅取决于当时的输入信号。




声明本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com。


更多热点文章阅读

  • 龙芯架构首款面向嵌入式应用的开发板,2K500开发应用实例

  • 基于32位RISC-V设计的互联型微控制器,沁恒微CH32V307开发样例

  • RK3568!四核64位ARMv8.2A架构,汇聚编译源码及实战样例

  • 尺寸仅有21mm*51mm,板边采用邮票孔设计,合宙 Air105 核心板开发总结

  • 基于32位RISC-V高集成SoC,ADP-Corvette-T1开发板样例及源码!


原文标题:【教程分享】FPGA零基础学习:数字电路中的组合逻辑

文章出处:【微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:【教程分享】FPGA零基础学习:数字电路中的组合逻辑

文章出处:【微信号:gh_9b9470648b3c,微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA零基学习系列精选:半导体存储器和可编程逻辑器件简介

    大侠好,欢迎来到FPGA技术江湖。本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、
    发表于 03-28 17:41

    什么是组合逻辑电路和时序逻辑电路?它们之间的区别是什么

    什么是组合逻辑电路和时序逻辑电路?时序逻辑电路组合逻辑电路的区别是什么 
    的头像 发表于 03-26 16:12 385次阅读

    数字电路逻辑设计

    电子发烧友网站提供《数字电路逻辑设计.ppt》资料免费下载
    发表于 03-11 09:21 1次下载

    常用的组合逻辑电路

    组合逻辑电路和时序逻辑电路数字电路中两种重要的逻辑电路类型,它们主要区别在于其输出信号的依赖关系和对时间的敏感性。
    的头像 发表于 02-04 16:00 1055次阅读

    数字电路逻辑门的电路符号图

    把基本逻辑运算的电子电路称之为逻辑电路。在数字电路关系应用中,逻辑
    的头像 发表于 02-04 14:58 1020次阅读
    <b class='flag-5'>数字电路</b>中<b class='flag-5'>逻辑</b>门的<b class='flag-5'>电路</b>符号图

    数字电路中的逻辑电路分类

    数字电路中的逻辑电路分类 数字电路是计算机系统中的重要组成部分,它们由逻辑电路构成。
    的头像 发表于 02-04 09:14 1196次阅读

    FPGA/CPLD数字电路设计经验分享

    电子发烧友网站提供《FPGA/CPLD数字电路设计经验分享.pdf》资料免费下载
    发表于 11-21 11:03 3次下载
    <b class='flag-5'>FPGA</b>/CPLD<b class='flag-5'>数字电路</b>设计经验分享

    数字电路是什么

    数字电路是什么? 数字电路不同与模拟电路的连续信号,它是离散信号,在使用中只有两种波形,一种是高的,一种是低的。它具有逻辑运算和逻辑处理功能
    的头像 发表于 11-06 17:25 1261次阅读
    <b class='flag-5'>数字电路</b>是什么

    建立/保持时间对数字电路的影响

    建立/保持时间对数字电路的影响 数字电路是指使用数字信号进行连接和处理信息的电路数字电路是由一系列数字
    的头像 发表于 10-29 14:21 401次阅读

    数字电路的定义、应用及分类

    数字形式,并通过逻辑门的组合和触发器的状态变化来实现各种逻辑功能和运算。数字电路的设计和实现是基于二进制系统的,其中的信号只有两个状态,即
    的头像 发表于 07-31 11:46 6496次阅读

    FPGA零基学习之Vivado-按键使用教程

    大侠好,欢迎来到FPGA技术江湖。本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、
    发表于 06-13 18:33

    单片机入门之数字电路学习

    单片机是一种可编程的数字电路芯片。数字电路是单片机的基础,单片机是数字电路的发展。
    发表于 06-06 11:34 935次阅读
    单片机入门之<b class='flag-5'>数字电路</b><b class='flag-5'>学习</b>

    组合逻辑电路的相关知识

    本篇内容主要回顾第三章组合逻辑电路的知识,虽然前面提到过组合逻辑电路数字电路中很重要的一部分,但是学习
    的头像 发表于 05-24 14:38 1326次阅读
    <b class='flag-5'>组合</b><b class='flag-5'>逻辑电路</b>的相关知识

    FPGA零基学习数字电路中的时序逻辑

    大侠好,欢迎来到FPGA技术江湖。本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、
    的头像 发表于 05-11 11:48 686次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>零基</b>础<b class='flag-5'>学习</b>:<b class='flag-5'>数字电路</b>中的时序<b class='flag-5'>逻辑</b>

    数字电路基础知识分享1

    数字芯片本质是0-1逻辑。我们将用系列文章来一起学习数字电路基础。我们的目标不是求大求全,而是整理一些面试过程跟数字电路基础相关的知识点,以
    的头像 发表于 05-04 15:00 753次阅读