首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
不讲武德的芭乐很英俊
吉林大学 集成电路IC设计
关注
已关注
取消关注
@IC修真院:
IC知识干货:一文极速理解数电!(建议收藏)
引 言放心铁子们,本文会从最基础的讲起,适合刚接触电子的童鞋,就算躺在床上,认真看完本文你将无痛地对数字电路有个全面的了解!数电是一块硬骨头,对于很基础的概念我会细说,对于一些进阶的概念我会尽量用语言解释,所以我会尽量把数字电路涉及的知识点都囊括到,旨在让各位先见识数字电路的全貌,为以后的学习打基础!下图是数字电路的知识框架,棕色的知识我会详细说说,大家可以马上掌握,蓝色的知识我会尽量用语言讲明白。希望对大家有帮助。正 文为什么要学数电?毫不夸张地说,数电带来了信息化时代。大家身边所有的电器,里面都会有一块或多块电路板,上面基本都会有若干个芯片,芯片内部里面跑的全是数字信号0和1。作为当代人类最高智慧的结晶,芯片的重要性不言而喻,而芯片的最最基本原理,就是数字电路。各位想要为国家芯片事业做贡献的有志少年,数电一定要学好。数制与编码数 制数电里面跑的全是0和1,所以科学家们引入了二进制。十进制我们熟悉,9之后就进一位;二进制就是1之后就进一位。10这个数字,在二进制里,就是十进制的2,同理1010,在二进制里,就是十进制的 23 + 0 + 21 + 0 = 8 + 2 = 10除了二进制,为了方便表示多位二进制,还有八进制和十六进制。当然只是给一个10我们不知道它是十进制还是二进制,所以一般我们用括号括住数字,然后在右下角表上字母BODH,表示二进制、八进制、十进制和十六进制。这有个小技巧,BODH可以读作“拨电话”,现在你肯定记住啦哈哈。对于这四个进制,要懂得熟练地进行相互转换!二进制当然也可以运算,要引入原码、反码、补码三个概念。反码是除了符号位全部取反,补码是反码+1,对于正数,原码反码补码不变!负数就按照上面规则变换为补码后正常加减,结果再转为原码就是答案,有个技巧是补码取反再+1就是反码。编 码上面说的十进制转为二进制就是一种编码。在数电里有很多的编码方式,都有其意义。这里列出个人觉得挺重要的两个。1、格雷码:任意相邻的两位之间只相差一位!在正常工作电路中,输入时常会变化,若输入突然变化多个位,很容易导致输出不稳定,有毛刺。若把输入编为格雷码,会有不错的效果。格雷码在后面讲到的卡诺图化简中会有极大的用处。2、独热码:这是最简单的一种编码了,每个状态只有一位是1其他都是0,简单且暴力,在后面设计有限状态机的状态变量时常常使用。门电路下面进入门电路,这里会涉及模电的知识。数电是由模电发展而来的,他们之间的紧密关系,就在门电路这章里体现。学过模电那肯定很熟悉MOSFET场效应管。在数电中,1表示高电平,0表示低电平,晶体管都处于开关状态,即可以看成一个开关。用一个NMOS和一个PMOS,NMOS下拉,PMOS上拉,就形成一个CMOS,一个CMOS就是最简单的一个非门!!!咱们看,输入的A为0时,上拉的PMOS导通,输出C为1。输入为1时,下拉的NMOS导通,输出为1,所以这个电路实现输出对输入取反的逻辑功能,就叫其非门。常用的逻辑门还有与门:有0出0;或门:有1出1;与非门:有0出1;或非门:有1出0;下图中左图是与非门,右图是或非门。(技巧:只看下拉的NMOS!串在一起,就是与非门,并在一起,就是或非门。)在数电,逻辑门还有许多许多:大家也要很熟悉右边对应的逻辑符号哦。所以至此,了解了逻辑门的内部构造后,我们可以把它封装成一个个逻辑符号,就如同我们把集成运放电路封装成运放符号一样。接下来,我们就可以放下模电,进入纯逻辑的数字电路!逻辑代数在数电里,我们描述一个电路的功能,有三种方式。逻辑表达式,真值表和逻辑电路图。这仨说的是一个事情!就如同西红柿和番茄。知道了其中任何一个,其他两个你就知道了。但其中最重要的,还是真值表,我们的关注点更多会落在它上面。真值表一写出来,所有东西都明了了。真值表的左边,是变量的所有情况,如果两个变量,那就是有 22=4 种状态,同理三个变量就 23=8种状态。真值表的右边,是不同状态输入电路之后的输出。我们在输出端一般只关注1,像上面的真值表,有三个1,则把他们对应的状态都相或,即写成标准与或式(最小项之和),Y = A ′ B ′ + A ′ B + A B ′经过化简,就是 Y = ( A B ) ′ Y = (AB)'Y=(AB) ′。还有一个技巧,当输出很多1时,我们可以只关注0,那么写出来的就是 Y′的表达式,再取反一下就行!化 简逻辑表达式很复杂时,我们如何化简?常用的有公式法和卡诺图法。公式法:有大名鼎鼎的摩根公式还有下面这个公式也是用得非常非常多,推导的话由左往右推比较难,我们试试由右往左推,则会非常简单。其他公式(图来自网络):卡诺图化简学过数电的童鞋都会惊叹卡诺图的巧妙,它的本质就是前面说的格雷码的逻辑相邻性,我们拿到一个真值表,就可以画出一个卡诺图。三变量的输入有8个状态,然后在对应的状态框框中写上它对应的输出,注意,卡诺图中的变量时用格雷码编码,看下图中的BC就能知道,只有这样才能利用上它的逻辑相邻性,这样,一个卡诺图就画好了,但这只是开始。怎么利用它进行化简?下图中我给分别相邻的两个1画了两个圈圈,圈圈代表里面的状态相或,因为逻辑相邻性,则两个状态只有一位不同,所以由公式法(A+A'=1)可以消去这一位!即现在这两个3位的状态 A′BC′+ABC′可以由一个2位的状态代替,即 BC′!因为前面说过整个输出的逻辑表达式就是所有输出为1的状态相或,所以我们把所有1圈完,得到的BC'+AB'就是输出!所以在卡诺图上画圈圈就可以把一个复杂的表达式化简。前面是最简单的例子,要想正确使用卡诺图化简,要遵守两个游戏规则:1、把1圈完;2、圈大且少。第二个尤为重要,即我们画圈圈时,圈要尽量大,还要尽量少,这样才能最好地化简一个表达式。比如下图这样圈正确吗?大大地错误!没圈完1。下面这样呢?还是不行!因为圈不够大。下面才为正确:两个圈圈搞定,结果是 CD' + AB'组合逻辑电路终于!我们来到了数电的重头戏之一,组合逻辑电路。其实下面我们才真正开始进入数电。在数电中,所有的电路,可以分为两类,一类就是组合逻辑电路,还有一类是时序逻辑电路,这俩占了数电的大半江山。对于组合逻辑电路,定义为输出只由输入决定。你可能会问,那还会由什么决定?还会被状态决定!这就是时序逻辑电路的特性,等下会讲,先搞定这个组合逻辑电路。小规模集成电路SSI如上面这个图,电路全是由基本逻辑门组成,我们称其为小规模集成电路,集成就是逻辑门集成了若干个晶体管嘛,而晶体管是由N型半导体和P型半导体形成,这些半导体是由沙子提炼的硅SI掺杂而成,怎样,模电数电就串起来了。对于SSI,我们无非就搞两件事情,分析和设计。分析:就是给我一个电路图,我对他一顿分析得出它的功能。图→功能设计:就是我想实现一个功能,通过设计画出一个对应电路图。功能→图然后我可以轻松地将他的表达式写出,最好再用上化简知识化简一下:然后由表达式我再轻松列出真值表:由真值表,我们就能分析出它的功能!这回事一个半加器电路(C为进位,S为和),很重要的哦。再看看设计,现在我们拿到一个想要实现的功能:由这个功能我们列出对应的真值表,由真值表轻松地写出相应的逻辑表达式:对着表达式,我们就能画出它的电路图啦!你看,组合逻辑电路的设计是分析的逆过程,就是这么程序化,送分的。中规模集成电路MSI一些逻辑门组合在一起能实现特定的功能,比如上面讲的半加器,我们将其封装起来,就成了MSI。上图就把所有常见的LSI列了出来,编码器:如第一根引脚输入1,则输出为00;第二根引脚输入1,则输出为01,依此类推;译码器:如输入为00,则第一根引脚输出1;如输入为01,则第二根引脚输出1,依此类推;选择器:比较两个输入,如相等就在相等的引脚输出1;加法器:半加器前面讲过,全加器就是输入多了一位以前的进位。译码器和选择器尤为重要,因为它们很常用,且能实现任意的组合逻辑表达式。高规模集成电路LSI同理,就是一些MSI组合在一起能表示一个更全面的功能,就将其封装在一起,变成LSI。不如PLD(可编程逻辑器件)和 FPGA,这章不是重点,但我想说一下FPGA,这个芯片是相对于单片机来说的另一大控制芯片,使用硬件描述语言(HDL)编程,并行执行代码且性能更强大,目前它的缺点就是太贵了,我相信以后随着成本下来,它就逐渐进入我们生活,带来更加智能的世界。触发器正式讲时序逻辑电路之前,要讲讲时序逻辑电路的单位模块,触发器。在平静祥和的日子里,两个普普通通的或非门在路上走着,非常纯真无邪,但是突然,一个科学家对它们做了这样的处理:哈哈哈别害怕这一搞,整个时代向前推进了一大步!因为这就是RS触发器!我们来看看它的真值表:相信大家都能分析出来,先说说输入为11时为什么不允许,因为11会得到输出00,如果这时输入再从11变为00,那问题就出现了,电路会处于不定的状态,这肯定不行,所以就禁止了输入为11的情况。我们重点看看输入为00时,当电路的状态Q为0时,输出为0;当电路的状态Q为1时,输出为1!组合逻辑电路大为震惊,因为明明输入是一样的00,为什么输出会不同?因为电路的状态不同,这就是触发器的魅力,也是时序逻辑电路的基础,也是数电的超级重点!RS是最初的触发器,所以会有一些小问题,随着时代进步,触发器也经历了许多迭代,好奇的童鞋可以从你们的书上了解这段历史,这里我直接列出现在用的最多的两款触发器:D触发器和JK触发器。这两款触发器都有一个时钟端,用于输入时钟脉冲CLK,输出会随着时钟CLK的变化而刷新,且他们的时钟触发方式是边沿触发,即在CLK的上升沿或下降沿触发,非常的方便。上图中下面的公式为触发器的输出方程,对于时序逻辑电路来说就是状态方程,是需要我们记住的,相当于这款触发器的说明书。我们着重关注D触发器!因为它方程最简单,是最易学的。时序逻辑电路Finally,我们来到了数电的重中之中,也是其魅力所在,时序逻辑电路。关于它的意义我可以再举一个例子,有一个机器我每按一下按钮它会依次输出12345,这对于组合逻辑电路来说是不可能的任务,因为每一次输入都是相同的按一下按钮,为什么输出会不同,它不理解,而时序逻辑电路说我可以!因为它能记住当前的状态,从而知道下一步应该怎么走。观察上图能知道时序逻辑电路里面也有组合逻辑电路,是由发展而来,主要是下面的那个存储电路,能把电路的现态(现在的状态)给记住!从而影响次态(下一次触发的状态)。因为时序逻辑电路的主角是触发器,也正是由于触发器,它引入了时钟和状态这俩重要概念,使我们能通过电路实现的功能更加丰富。FSM(有限状态机)对于时序逻辑电路,它所有的状态变换都可以画出来,即状态转换图,就如同真值表描述了整个组合逻辑电路的功能,状态转换图描述了整个时序电路的功能。这样在不同状态之间跳来跳去的电路或机器,我们就叫它有限状态机(Finite State Machine)。(所以FSM肯定是时序逻辑电路)比如下面这个就是一只猫在一天里的状态变化:这是某人一天的状态变化:写专业点(给状态编码),可以是下面这样,先别害怕,很好分析的:FSM的分析和设计各位应该还记得前面组合逻辑电路的分析和设计是多么的简单,FSM的分析和设计与其概念一样,分析就是图→功能,设计就是功能→图,但过程很不一样,也是很简单的!先看分析,现在我拿到一个电路图,由两个D触发器组成,所以我知道这个电路状态变量为2,即有4个状态:由这个电路图我可以写出三个方程,激励方程(输入方程)、状态方程和输出方程。激励方程就是触发器的输入端的方程,D1和D0由图看很容易写出表达式;状态方程就是我们之前背的触发器的“说明书”,有激励方程就能轻松写出Q1n+1和Q0n+1;输出方程最简单,看着输出端Y,写出它的表达式就行。由状态方程和输出方程就可以列出真值表!由真值表就可以画出这个FSM的状态转换图:( X/Y 表示 输入/输出 ,该电路没有输入所以X没有)看着这个状态转换图,我们可以发现它的含义,啊,原来它是我的一天的状态变化,吃饱了就玩,玩累了就睡,睡醒了就感到饿,饿时突然有吃的,我就会“欢呼”。(欢呼代表输出为1)现在来看看设计过程!我有一个功能(我的一天状态变化),现在想画出一个实现该功能的电路:先经过状态编码,将吃编码为00,玩编码为01,饿编码为10,睡编码为11,欢呼定义为输出1,ok,现在就可以画出整个功能的状态转换图了!有状态转换图,我们画出对应的真值表,也叫状态转换真值表:由真值表,我们细心地先看着Y项写出输出方程,再看着Q1n+1和Q0n+1写出状态表达式,再由我们背的触发器“说明书”,写出D1和D0的激励方程,搞定!三个方程有了,电路图轻松画出!进阶至此整个数电最基础的知识我都讲到了,虽然很基础,但是越基础的东西越重要,其实电路的分析和设计也可以搞得很难,上面那些只是便于大家理解最简单的例子,想要深入掌握他们还得靠日积月累的做题和巩固,这篇文章只是帮到大家形成知识框架。74LS160、74LS194之后大家会学到74LS160、74LS194这两个芯片,非常非常的重要,一个是计数芯片,一个是移位芯片,就如译码器和选择器能实现任意组合逻辑电路,它们能实现任意的时序逻辑电路,所以很多题目都会考到它们,让你用这俩芯片之一设计一个现实生活中的功能。施密特触发电路、单稳态电路、多谐振荡电路这三个电路会在波形的发送与转换这一章学习到,三个电路都能用逻辑门手搭出来,实现的电路有多种,但波形就是下面这样,分别是施密特触发电路、单稳态电路、多谐振荡电路。施密特触发电路就是输入增大到一个A值,输出取反,但是输入随后减小到A值时,输出没变化,要继续减小到B值,输出再取反,然后它也还是要增大到A值,输出才变化,这就是这电路的规则,很有意思!单稳态指输出的稳定状态只有一个,输入刺激以下输出可能会变,但过一段时间它会自己回到稳态。超市的门就是单稳态,你推开之后它会自动回到关闭状态。多谐振荡电路一般就是生成一个方波或三角波。555定时器555定时器的重要性就相当于模电中的运放,它每一年的销量都处于芯片的前列,因为它简单且太实用了,上面说到的三个电路也可以通过555搭建出来。因为篇幅有限,555的知识得靠各位从书中理解了。以下分别是555实现施密特触发电路、单稳态电路、多谐振荡电路的电路AD/DA电路AD:模拟到数字转换DA:数字到模拟转换这章你们会学到如何自己手搭一个AD和DA电路。E N D最后再看一下数电所有知识的知识框架,希望能帮助各位对数电形成大致的了解。[诶嘿][诶嘿][诶嘿]整理不易,一键三连哦~
点赞 11
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
03-25 18:57
浙江大学 算法工程师
小米 C++ 二面 攒人品了
二面明显比一面难度上了一个台阶,面试官是组内 senior,开场直接问项目深挖,每个技术决策都要说清楚为什么这么做、有没有更好的方案。八股比例少了,更多是系统设计和场景题,考察你有没有真正在工程里踩过坑。代码题也更偏综合,不是纯算法,而是结合实际场景。整体感受是:说不知道比瞎说好,面试官很容易听出来你是背的还是真懂的。1. 自我介绍 + 项目深挖略(重点准备:项目中遇到的性能瓶颈、你做了什么优化、结果如何量化)2. C++ 内存模型中的 memory order 有哪些?memory_order_relaxed 和 memory_order_seq_cst 的区别?C++11 定义了六种内存序...
C++八股文全集
点赞
评论
收藏
分享
03-26 21:45
门头沟学院 测试开发
米哈游-数据平台 测试开发一面
面试时间:3.9部门:数据平台自我介绍第一段实习拷打:整体介绍一下第一段百度实习的产出实习中针对图片生成效果的评测标准是什么,如何构建评测集?讲解一下测试过程中比较典型的badcase。做测试基建时,你主要负责的功能有哪些?讲解一下agent skill针对ui自动化的实现细节。skill执行结果的执行量和通过率是多少?执行过程中的报错和执行被打断如何处理?前端跳转不同页面之后,如何确保测试的连贯性和结果准确性,上下文衔接如何做的?这部分被狠狠拷打了接近20分钟第二段实习拷打:简单讲解一下这个后端项目的实习内容编写邮件模块时用到的设计模式讲解一下。策略模式具体实现细节。为什么想到从开发转测开,...
查看23道真题和解析
点赞
评论
收藏
分享
03-12 15:35
嘉应学院 Python
双非春招只有小微的命吗
快说谢谢牛牛精灵:
说不定就是下一个寒武纪!
点赞
评论
收藏
分享
03-27 16:20
天津科技大学
腾讯运营岗面试必看:10道高频真题解析,助你轻松拿下offer
“又挂了,腾讯运营岗的面试题也太深了吧!”这是近期在各大求职群里最常听到的心声。作为一名求职者,你是否也曾经历过这样的场景:面试官抛出一个问题,脑子里一片空白,明明平时做了不少准备,但关键时刻就是卡壳?尤其是面对腾讯这样的头部企业,面试竞争激烈,题目设计更是层层深入,稍有不慎就可能错失良机。今天,我们就来系统性地梳理腾讯运营岗的10道常考题目,帮助你提前做好准备。腾讯运营岗常问10道题目解析为什么选择腾讯? 这是腾讯运营岗面试中最基础也最关键的问题。面试官想了解你对公司文化、业务的理解以及你的职业规划。回答时需要结合腾讯的“瑞雪”文化或“用户为本,科技向善”的使命愿景,强调对产品驱动、用户价值...
查看10道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
被笔试耽误了一天day16(为什么携程第三题始终是0呢
1703
2
...
入职互联网厂大半年,我觉得ai时代学历更加重要了
1503
3
...
3.29 pdd笔试
1188
4
...
暑期进展
1084
5
...
还上啥班 直接创业了?
954
6
...
京东后端面经
896
7
...
3.29携程笔试
725
8
...
拼多多笔试A了3道
642
9
...
暑期实习
405
10
...
携程笔试
404
创作者周榜
更多
正在热议
更多
#
你觉得大几开始实习最合适?
#
5695次浏览
59人参与
#
租房前辈的忠告
#
379901次浏览
7487人参与
#
招商银行数字金融训练营
#
45392次浏览
760人参与
#
面试被问到不会的问题,你怎么应对?
#
5195次浏览
45人参与
#
Vibe Coding 会干掉初级岗位吗?
#
5323次浏览
98人参与
#
你见过哪些招聘隐形歧视?
#
3816次浏览
43人参与
#
厦门银行科技岗值不值得投
#
11954次浏览
299人参与
#
你都用vibe coding做过什么?
#
2528次浏览
79人参与
#
做完笔试后你收到面试了吗?
#
5464次浏览
61人参与
#
牛友の3月总结
#
9724次浏览
99人参与
#
大厂实习和小厂实习最大的区别是什么?
#
14122次浏览
94人参与
#
如果人生可以debug你会改哪一行?
#
2664次浏览
58人参与
#
AI Coding实战技巧
#
1801次浏览
48人参与
#
你现在一天AI几次?
#
1597次浏览
49人参与
#
降低公积金和取消房补怎么选
#
29460次浏览
88人参与
#
最难的技术面是哪家公司?
#
71789次浏览
1069人参与
#
百度工作体验
#
319367次浏览
2238人参与
#
小厂实习有必要去吗
#
87065次浏览
413人参与
#
通信硬件公司爆料
#
205329次浏览
552人参与
#
你的房租占工资的比例是多少?
#
93586次浏览
898人参与
#
找AI工作可以去哪些公司?
#
25999次浏览
1095人参与
#
工作经验重要还是工资重要?
#
156604次浏览
1109人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务