热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

逻辑门电路详解

原文链接:https:mp.weixin.qq.comsBDe_OMK-r7ATZVSXrpAguw?逻辑门(LogicGates)是集成电路设计的基本组件。通过晶体管或MOS管组

原文链接:https://mp.weixin.qq.com/s/BDe_OMK-r7ATZVSXrpAguw?

逻辑门(Logic Gates)是集成电路设计的基本组件。通过晶体管或MOS管组成的简单逻辑门,可以对输入的电平(高或低)进行一些简单的逻辑运算处理,而简单的逻辑门可以组合成为更复杂的逻辑运算,是超大规模集成电路设计的基础。

最基本的逻辑门有三种,即“与”、“或”、“非”,其符号如下图所示:



至于它们的逻辑作用这里不再列出了,免得大家说编剧我灌水,为了显得我能勉强高逼格一点,我们仔细看看逻辑门芯片中有哪些信息值得我们关注,Follow me!

如果你仔细观察过74HC系列与、或、非逻辑器件数据手册(datasheet)的逻辑原理图(Logic Diagram),我们会发现上面三个门会是下图那样的:



我们利用以前教材上的知识来化简一下这三个组合逻辑,如下所示:


果然还是“与”、“或”、“非”逻辑,有心人可能立马就发现其中的奥秘:这些逻辑全都被表达成“与非”、“或非”!原来以前在学校做的那些将逻辑表达式化成“与非”、“或非”的题目在这里就有呀,真是学以致用呀,我太兴奋了,我太有才了,我太…

打住,今天我来这不是让你来做这些简单的表达式化简,而是想问你们两个问题:

(1)为什么这么简单且基本得不能再基本的逻辑运算要做得这么复杂?或者换句话说,为什么学校的书本上有那么多将逻辑表达式化成“与非”、“或非”的题目?

(2)为什么插入那么多非门?好像不要钱似的!

这两个问题涉及到集成电路的设计,我们首先来看看在CMOS集成电路设计中是如何将这三个逻辑设计出来的,如下图所示的“非门”逻辑构造:


上面带圆圈的是PMOS晶体管,下面是NMOS晶体管,从开关的角度来看,PMOS管相当于PNP三极管,输入为“1”时截止,输入为“0”时导通;而NMOS则相当于NPN三极管,输入为“1”时导通,输入为“0”时截止(这个比喻可能不太合适,但你可以这么去理解这个开关行为,因为相对于MOS管,可能更多人对三极管更熟悉,如果不是的话,可以忽略这个比喻)。

当输入为“0”时,下面的NMOS截止,而上面的PMOS导通将输出拉为高电平,即输出“1”。当输入为“1”时,上面的PMOS截止,而下面的NMOS导通将输出拉为低电平,即输出“0”,很明显,这就是个“非门”逻辑。

OK,我们再看看“与非门”逻辑的结构:


    当上图中的任何一个输入(A或B)为低时,都将有一只PMOS导通,从而将输出Y拉高,因此该电路是“与非门”逻辑,那么“与门”逻辑就是在“与非门”后面加一级“非门”了,如下图所示:


有些人就会叫起来:编剧你脑残了,这不是乱盖吗?我下面设计的电路不是更省逻辑吗?


你自己看看,只有当输入A与B都为高电平时,输出Y才被上拉为高电平,而只要有任何一个输入为低电平时,输出Y就被拉为低电平,不是吗?我太有才了!你们电子制作站微信订阅号的老师水平真是太差了!

但是,对MOS管有较深理解的人都会知道,NMOS可以高效传输低电平,而PMOS可以高效传输高电平,两者配合可以达到轨对轨输出,而相反却不可以(会有损耗),因此你设计的逻辑电路从书本上看是合格的,但实际应用中不会有这种电路。

这样你发现了什么没有?在CMOS集成电路设计中,构建一个“与门”逻辑竟然比“与非门”逻辑还要多花费两个MOS晶体管,CMOS门在本质上是反相位的,也就是说每一个基本的逻辑门都自带了一个逻辑非,所以说,在学校里老师让你将复杂的表达式化成“与非”或“或非”逻辑,不仅仅是让你考试拿分的一道题,而是在CMOS集成电路设计当中,用“与非”、“或门”这样的设计可以充分地利用CMOS门本身的“逻辑非”。

这么一个“与门”逻辑与“与非门”逻辑之间的差距虽然仅有两个MOS管,但是在成千上万的大规模集成电路设计时(如奔腾处理器),省下来的面积就非常可观了。

下面是“或非门”逻辑的结构,读者有兴趣可以推导一下


你可能认为这只是巧合而已,那你可以看看更复杂的逻辑芯片的逻辑原理图,大多数都是用“与非门”、“或非门”、“非门”,当然,有些也不是,毕竟只是上层的逻辑原理框图,但是底层的CMOS实现肯定是一样的

这样第一个问题就已经解答了,那么第二个问题呢?首先要说的是:插入的非门肯定是要花钱的,但是既然这么做,就一定有道理。有人说输入插入非门是为了整形,输出插入非门是为了增强带负载能力,难道“与非门”或“或非门”的带负载能力会比“非门”差?都是一样的构造,只有“非门”可以对输入电平进行整形?

其实插入“非门”的主要目的是为了提升速度,即优化逻辑门的延时!虾米?编剧你这次又被我抓到了吧?我插入两个非门就多了两级逻辑,不就更慢了吗?地球人都知道呀!

But,我只想告诉你,这只是一般人的想法(我们是高逼格的人JJ),大多数人都会认为每一级逻辑都有一个“门延时”,因此会通过计算总的逻辑级数来计算总的延时,也就是说,逻辑级数越少的电路就是速度最快的,然而,门延时实际上取决于电气努力(这个不好解释,知道这个名词就行了),所以采用较少的逻辑级数往往会导致更大的延时(这有点类似时序逻辑的“流水线”结构)。

CMOS集成电路设计里有一个“最优级数”的概念,不是这个专业的不需要深究,我们只举个最简单的例子就可以说明白这个问题,如下图所示:


这三个“非门”逻辑当中哪个延时最小呢?你可能认为是第一个,但实际上第二个方案是延时最小的,这就解释了:为什么这些厂家都不要钱似的插入“非门”逻辑了吧?插入这么多的“非门”就是为了获得更快的速度,然后卖个更好的价钱,正所谓:天下熙熙,皆为利来;天下攘攘,皆为利往,这个道理永远是正确的,在集成电路设计里也不例外。

好的,本节就此结束了,下一节我们谈谈逻辑电平,想听的记得带上板凳呀



推荐阅读
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • jmeter实践:从csv中获取带引号的数据详情的技巧和运行全部数据的方法
    本文分享了jmeter实践中从csv中获取带引号的数据的解决办法,包括设置CSV Data Set Config和运行脚本获取数据的方法。另外还介绍了循环运行csv中全部数据的解决方法,避免每次修改csv用例都需要修改脚本的麻烦。通过了解和掌握工具的细节点,可以更好地解决问题和提高技术水平。 ... [详细]
  • 仙贝旅行是日本最大的旅游服务平台之一,为广大用户提供优质的日本定制游服务。随着用户数量的增长,仙贝旅行决定与智齿科技合作,全面替换原有客服系统,打造全新的在线客服体系。该体系具备多渠道快速接入的能力,让仙贝旅行轻松与各个渠道的接入用户完成沟通。同时,机器人与人工协同发力,提升客户服务水平。 ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • Go语言实现堆排序的详细教程
    本文主要介绍了Go语言实现堆排序的详细教程,包括大根堆的定义和完全二叉树的概念。通过图解和算法描述,详细介绍了堆排序的实现过程。堆排序是一种效率很高的排序算法,时间复杂度为O(nlgn)。阅读本文大约需要15分钟。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 智能消息服务数字短信使用FAQ
    本文介绍了智能消息服务数字短信的开通流程和操作步骤,包括开通数字短信的路径、申请流程、控制台操作以及API接口对接模式。同时还介绍了数字短信模板的创建规则和要求,包括审核状态的说明和建议。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 微信开放外链的第二阶段:腾讯和阿里巴巴的博弈
    2021年11月30日,微信开始进行“开放外链”的第二阶段,允许在微信个人会话中打开外部链接和在微信群中打开电商链接。虽然这是腾讯和阿里巴巴都能接受的阶段性结果,但双方都不会太满意。接下来几个月,腾讯和阿里将展开复杂的博弈,我们作为外人很难看清全过程。工信部从未要求腾讯无条件开放微信API,本次开放的也只是普通的HTTP链接。 ... [详细]
  • 小程序获取用户信息按钮返回中文地址
    1.我是根据官方文档中描述去写的按钮 可以看到button中加了zh_CNopen-typegetUserInfobindgetuserinfogetU ... [详细]
  • 微信朋友圈屏蔽设置教程,轻松屏蔽无关信息
    自从微信朋友圈越来越受欢迎,很多人想知道如何屏蔽一些不想看的朋友圈信息。本文提供了屏蔽设置教程,通过点击「我」-「相册」-「…」选项 -「消息列表」,左滑即可选择「不再通知」和「删除」某条朋友圈评论或点赞。想重新接收信息时,只需左滑即可。通过这些简单操作,您可以轻松屏蔽无关信息。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
author-avatar
茶香未散尽_385_312
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有