给出上一节最后的答案:
1.一般的实现:
2.用宇称门的实现:
好了,进入今天的主题,今天要说一个很重要的在电子领域的思想(包括编程),那就是封装。我们之前掌握了好多的设计方法,譬如7段数码管的解码器,优先权回路中的逻辑门的应用。现在大家应该有信心的说,给你一个静态的需求(不含时序),你就能做出真值表,设计出CMOS级别的电路了!如果还做不到,请多次看之前的内容。由于我让大家动手用笔画这些图,会感觉到有一些画起来很麻烦。是的,电路的复杂度会随着输入和输出的增多变得很复杂的。那么在设计稍微大型一点的系统怎么办呢?那就是把这些小的东西总结起来,形成一个相对比较大的积木块(原来咱们搭一个房子,一砖一瓦的盖,但是现在我们直接可以放一堵墙,提高效率,减少失误率),然后再来用这些小的(框架)来建立大型的系统(哈哈,写过代码的的人都会感觉做框架的人很“牛”。是的,因为这是理论的力量,但是只要你懂了,你可以超越他们。以后会在其他系列里讲到)。
好了,那么我们现在都有神马框架了呢,回想一下:1 .MUX(前面讲的叫做2:1MUX,因为2个输入,1个输出嘛,同样有 4:1,16:1等等的宽MUX,), 2. 7段数码管解码器(或者就叫做N:2^N解码器,就是N个输入,2^N输出的解码器),3.优先权回路
那么现在留个大家几个小任务
1.用之前的2:1MUX实现4:1MUX(想要多巩固一下的可以画一般逻辑门的线路图和三态的图哦)
2.用4:1MUX实现8:1MUX,就是当现实中没有8:1MUX的时候怎么用4:1MUX替代
3.画出2:4解码器的原理图(逻辑回路),这个很重要因为ROM的实现与它的理念息息相关!
下面先给出3的答案:
第一步确定输入输出(需求分析):
第二部做真值表:
第三步实现逻辑回路:
现在让我们运用封装的思想,设计一个XNOR(不知道是神马?NOR的 非,就是 非异或)的逻辑回路吧。首先看下图:
。注意2:4解码器的输出由真值表可以得出相应的布尔表达式,回忆起最小项的定义就可以得到上图输出的表达式。这样我们把Y3和Y0 或 以下就能得到Y=~(A X B)咯。
看到最小项,经过之前的学习,我们一下就要反应过来这就是和SOP(不知道?1。5节大标题)有关嘛~。以后设计复杂的系统时,身边只有解码器和一些逻辑门(可以拼成OR门啊)的时候,怎么办?简单!我们把需求写成SOP的形式,再用OR门一组合,OK,成了。
有兴趣的人可以总结一下解码器的应用:如果我们想建立一个系统,画出其真值表,其中有N个输入,一个输出Y(输出可以任意多,只要有任意多的等同于OR门的逻辑门)。表内有M个1。那么我们就可以用N:2^N的解码器,和一个M输入的OR门把所有包含”1“的最小项连接起来实现输出(有点抽象,不过看上面的例子,对照着想就能明白---其实这个就是ROMs, Read Only Memories的理念所在)。------能看懂这个总结的人会比跳过去的人多练习一次抽象的思维能力(就是说,跳过这段话的人是思维的懒人。。。离大师就远了一点,而通过这个总结学会自己主动去总结一些抽象的东西的时候,你就离大师进了一步)。
总结一下:这节之前我们所学的都是所谓 组合逻辑回路。逻辑电路中主要分为 组合逻辑回路
(符号是CL -- combination logic 图里那个3,2就是代表3:2,而一斜杠就是为了减少作图时间,代表多根导线~,话说那个多根导线就是所谓的 总线--BUS。) 和 时序回路。组合逻辑回路自然是静态的咯,即其输入不依赖与上一次输入的内容,只依赖于当前的输入内容(无反馈,无记忆,单输入的逻辑回路块只能接受单输入---这个样子是不行的,因为每个逻辑回路块都有延迟,会导致最终结果无法处于定态)例子的话,我们之前讲的各种回路都是假定一给输入马上就有相应的输出,而实际上当然会有延迟~,自然我们要处理现实的问题,就会用时序分析的手段咯。自然我们下一节进入时序回路,从静态走进动态~。
文章评论(0条评论)
登录后参与讨论