网站搜索:
第5节 键值变量
文章出处:与非网
更新于2008-05-16 11:58:46

在完整表述给定组合逻辑电路的行为特性时,真值表是最好的一种机制,而K图是对数字逻辑电路输入输出关系进行显化和最简化的最好机制。到目前为止,我们已经演示了真值表中的输入变量在K图中的位置是其上边界和左边界。这样,根据真值表中每行的1和0输入形式,或根据K图中的二进制编码,来确定每个输出信号的状态。在不损失任何信息的情况下,通过将真值表中左上的输入变量移到输出列,或是将K图的外围移到K图的内部单元,就可以将真值表或K图转化为压缩方式。在后面的章节之前,这种压缩可能看起来不是很明显,但在后面的章节里,使用键值变量和压缩真值表、K图会让多变量系统的显化和最简化变得简单。
下图中演示了这一转化机制,16行的真值表压缩成8行和4行的压缩表。在8行真值表中,变量D不再作为输入列。相反,它出现在了输出列,这里每两行的输出逻辑与变量D被一起编码并表示在输出列中。在4行真值表中,变量C和D都不再作为输入列,而是作为输出列。起输出值为每4行的输出逻辑值与输入变量C和D的关系编码。

如右图所示,重新构造了4单元K图,这次所含有的子图表明了每4行值中A、B变量和C、D变量之间的关系。对于任何有键值变量的K图,用子图方式去考虑(或是实际绘制出子图)可以帮助确定正确的键值变量编码方式。注意,根据K图的索引码可以将真值表中的行号映射到子图单元中去。从超级图开始码开始,然后加上子图码。比如,图中子图阴影部分的原输入变量编码就是1110。

下面演示了同样的映射压缩,表明了从非压缩的K图直接到压缩K图之间的映射关系。彩色部分显示了如何将非压缩图中的单元转化到了压缩图中的单元。注意,16单元图中的两个单元压缩成了8单元图中的一个单元,16单元图中的4个单元压缩成了4单元图中的一个单元。

如下所示中,也可以用最小项SOP等式和最大项POS等式来直接转化为键值变量K图(K图中单元内底部的小数字表示分配给该单元的最小项或最大项的号码)。输入变量的最少数量根据K图的最小项、最大项编码来确定。比如,如果最小项数有14个,那么输入变量就需要4个。

对键值变量K图进行环型画圈遵循普通1-0图画圈通用法则-在SOP电路中是分组1和键值变量(EVs),在POS电路中,是分组0和键值变量(EVs)。规则是相同的:即所有的EVs和1(或0)要划分在最大可能的“2的次方”大小的方形内,当所有的EVs和1(或0)都有其正确分组时,划分就完成了。唯一不同点就是,画圈时,EVs既可以和自身画为一组,也可以和1(或0)划为一组。尤其特别注意当EVs和1(或0)划为一组时,这是因为在图单元中,1(或0)表示了EV的所有可能组合。这样,如果环型圈内既有1(或0),也有EVs,那么其组合就必然包含有所有EV组合的子集(这个下图中将有演示)。当所有最小项或最大项都包括在了合适的组中,那么对EV的K图环型画圈就完成了。也许这当中最有挑战难度的就是对于单元中包含1(或0)的,要保证所有的EV组合都被数列举出来。
为了帮助理解在EV的K图中进行环型画圈,在每个K图单元中使用子图是很有用的。如下图所示,根据“1-0环型圈信息,K图的变量就可以进入到子图的单元中去。在EV的K图中,包含1(或0)的邻近单元的环型可以出现在子图中同样的位置。
当阅读环型圈等式时,每组环型圈的SOP乘积项必须要包括有环型圈内定义了该环型圈区域和EVs的变量。比如,在下面第一个例子中,第一个SOP项 就包括了环型区域 和键值变量D。

键值变量图中的单元有时包含单个的键值变量,有时是两个或多个输入变量组成的表达式。当在圈含有逻辑表达式的单元时候,就可以帮助我们区别出SOP和POS环型圈机制。与单个EV的K图单元相比,单元中的乘积项使用了更少的SOP变量域,这是因为乘积项中的与门变量越多,定义的逻辑域就越少。而和项却表示更多的SOP变量域,因为在和项中,使用越多或变量,定义的逻辑域就越大。当在EV图中对SOP进行环型画圈时,子图中含有乘积项的单元中的1要比含有单个EV的单元中的1要少。而含有和项的单元中的1却要多。同样的,当在EV图中对POS等式进行环型画圈时,子图中含有和项的单元中的0要比含有单个EV的单元中的0要少。而含有乘积项的单元中的0却要多。
键值变量K图中的无关项与普通“1-0图的作用是一样的;它们都是代表输入情况不可能发生,或是不相关的。同样的,它们可以分组在1中,也可以分组在0中,还可以分组在键值变量中,从而达到最简化逻辑的目的。如下图所示,在任何环型圈内,无关项既可以表示1,也可以表示0,还可以表示键值变量。

 

<<上一节    下一节>>



关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaoquan@eefocus.com  联系电话: 010-58859035-8012
Powered by eefocus.com