1 卡诺图的应用
1.1 利用卡诺图结构帮助记忆格雷码
格雷码是一种常用的无权BCD码,相邻两码之间只有一位二进制数码不同。常用于模拟量的转换中,当模拟量发生微小变化而可能引起数字量发生变化时,格雷码仅改变1位,这样与其他码同时改变两位或多位的情况相比更为可靠,可减少出错的可能性,提高电路的抗干扰能力,它是一种典型的可靠性代码,这种码制在数控装置中有着广泛的应用。但由于这种编码所具有的独特性,实际应用中很难记忆。经研究和探讨,我们观察到利用卡诺图按照一定规律取值,可用于实现记忆格雷码。这种独特的记忆方式,可帮助学生方便、轻松地记住该编码,并应用于实际中。
选用四变量卡诺图并令:G3G2G1G0分别作为四位格雷码的输入变量。将变量G3G2作为高位,GlGO作为低位。画出四变量卡诺图。从四变量卡诺图中我们可见,卡诺图中四变量若按箭头所示的方向顺序取值,其所取的值变化顺序正好即为四位格雷码的编码表,如图1格雷码的卡诺图表示法所示。十进制数从0~15,对应四位格雷码的输入代码依次分别为0000—0001—0011——1001一1000,如表l所示格雷吗码的编码表。
1.2 卡诺图在组合逻辑电路竞争冒险中的应用
竞争冒险,是数字电路中一种特有的现象。不同的门电路有着不同的延迟时间,输入信号经过不同的途径进行传输,到达输出端的时间有早有迟,状态变化有先有后,存在时差。这种状态变化存在时差的现象就叫做“竞争”。如果竞争结果是使稳态输出的逻辑关系受到短暂破坏,出现不应有的尖峰脉冲,这种现象就叫做“冒险”。冒险可能使电路产生暂时或永久的逻辑错误。
在进行逻辑电路设计时,我们必须应发现和判别出产生竞争冒险的可能,并采取积极有效的措施将竞争冒险予以消除。判断和消除竞争冒险的方法很多,最简便和最直观的方法就是使用卡诺图。
使用卡诺图判断一个组合逻辑电路是否存在着竞争冒险的一般步骤是:首先画出该电路逻辑函数的卡诺图,然后在函数卡诺图上画出与表达式中所有乘积项相对应的卡诺圈,如果图中有相切的卡诺圈,则该逻辑电路存在着竞争冒险如图2所示,所谓卡诺圈相切即两个卡诺圈之间存在不被同一卡诺圈包含的相邻最小项。
如果逻辑函数的卡诺图中存在着相切的卡诺圈,该逻辑电路就存在着竞争冒险;那么,只要使函数的卡诺图中消除相切的卡诺圈,即可消除竞争冒险现象。在卡诺图上,加上一个与两相切卡诺圈相交的一个圈(一项),破坏卡诺圈的单独相切性。加上此圈后,逻辑函数多了一个冗余项,冗余项的加入并不改变原逻辑函数的逻辑值,但冗余项的加入却可以有效地消除冒险。
例如图3所示的卡诺图中,有两处存在卡诺圈相切现象,故其表示的逻辑函数式F=ABC十ABD+AD存在冒险。可加两个卡诺圈(虚线圈)破坏其相切性,也即增加两个冗余项BCD和ACD,消除竞争冒险后,该逻辑函数的表达式如下所示:
由此可见,使用卡诺图判断和消除数字电路中的竞争冒险,简便直观,易于操作。
1.3 用卡诺图完成两逻辑函数的逻辑运算
首先将逻辑函数F1和F2在同一张卡诺图中表示出来。为区别起见,将函数F1出现的l填在卡诺图小方格的左上角,将另一函数F2出现的l填在卡诺图小方格的左下角。