热度 27
2013-10-10 19:18
2222 次阅读|
0 个评论
有认真做上一部分的联系么。现在给出(b)的答案: 1. Y=~A~B~C+A~ B~C+A~BC 2.Y=~B~C+A~B 或 第一种叫做PLA模式。PLA(programmable logic array)就是所谓的可编程逻辑阵列(以后当然会系统的将到FPGA神马的~)。因为各种逻辑门排列的很整齐,有利于芯片的实现。 这里要特别强调一下画图规范哦(在做复杂电路图时很容易把自己搞混,所以养成好习惯必不可少)一般输入都画在左上方,输出在右下方,做到看图纸时一目了然。还有图中的十字线没有圆点的就是不连在一起,T字线交叉口永远连在一起! 接下来,我要引入K图咯~~大名鼎鼎的卡若图(Karnaugh maps)。 实际中设计电路,经常是先得到真值表(就是先确定好输入和输出和自己要的功能之后,进入逻辑电路设计的第一项任务就是画真值表)。 现在,我有一个这样的需要(也就是我想要设计一个有这样功能的回路) 。如果我们有了这个东西的布尔表达式,我们之前学的不就是能用上了~。对的!呵呵,那么我们怎么才能得到布尔表达式呢,以前都是让大家从表达式推出真值表,现在逆向思维的时间到了~。 准备工作(需要引入的知识): 1.大家有没有想到之前我讲过最小项(minterm)和最大项的概念(maxterm)。那里我们处理的是两个变量的输入问题。这里依然要用到那两个概念。 2.这里引入一个叫做格雷码(Gray Code)的东东。说白了就是把二进制的排列顺序变了一下的序列而已。正常的时候(从大到小排列)二进制序列(00,01,10,11),而Gray码是 (00,01,11,10)。精髓就是,Gray序列里的二进制数每一次只变化 一位。这里01到11只有0变成1,所以这有一位变化。同理可以推导到更多bits的序列中去。 好了,下面继续 看我们的需求。我们把真值表写成下列形式 也就是将输入按照Gray码编码,小方块中的是Y就是输出。所谓编码(encoode)就是把一般的字母符号神马的赋予二进制值。这里就是A=1,~A=0。。也就是上面没有一杠的都代表1.接着,我们把一个小方块里的独立表达式写出来,如下图: 。之后把相邻的含1的小方块圈起来, 注意这一条说起来容易让人头晕,所以我放在下一节1.6节K图应应用中讲! 最后一步,观察被圈起来的一小部分的对应输入中, 只要输入中同时出现1,0的输入就要排除在最终表达式之外。而只出现1或0的输入才可以被保留 (灰常重要!!)这里就是说,在所圈起来的小方块中,输入C同时出现0和1,所以扔掉C,而AB都只是0, 所以表达式是 Y=~A~B。 这就是K图咯。用上两部分的定理验证一下结果是否正确:Y=~A~B~C+~A~BC=~A~B(~C+C)=~A~B-------结果毅然吻合! 下一节我们进入K图的应用,会讲到最经典的7段数码管!相信和多人也做了很多设计,但是这个小小数码管背后的理论,很少有学到吧~~~敬请期待。