同步时序逻辑电路设计的教学方法探讨

更新时间:2023-07-29 04:55:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

同步时序逻辑电路设计的教学方法探讨

同步时序逻辑电路设计的教学方法探讨

O 李澄举

(嘉应大学 计算机系, 广东 梅州 514015)

摘要:本文对“数字逻辑”课程中同步时序逻辑电路设计的教学方法进行了探讨,提出了根据二进制状态表导出激励函数的行之有效的简化方法及卡诺图的变换。

关键词:数字逻辑,同步时序逻辑电路,卡诺图

一、引言

作为功能部件级的逻辑电路设计的教学,难度最大的莫过于时序逻辑电路了。对于难点的教学,力求在讲述过程上有一个清晰的思路,教给学生一个简单有效的设计方法,尽量避免烦琐的推导和计算。本文就设计过程中的“由给定的二进制状态表确定触发器的激励函数和输出函数”的一个环节来说明这个问题。

二、根据二进制状态表求指定触发器激励表的简化方法

这个环节通常是用触发器的激励表来转换的。这种转换无疑对熟练激励表的应用有好处,但繁琐的转换工作增加了很多工作量,降低了设计工作的效率,不利于教学任务进度的完成。

例如,在给出的二进制状态表的情况下,用触发器的激励表的转换,求出选用J -K 触发器时的激励函数和输出函

数表达式就比较麻烦。

设二进制状态表如下

表1所示,J -K 触发器的

激励表如表2所示。

因为给出的状态表有4个状态,它需要2个J -K 触发器。

要求的激励函数有J 2、K 2、J 1、K 1等4个,一个输出函数1

个Z ,总共需要画5个卡诺图来求解。

由于输出函数与激励表无关,可直接根据状态表填出3

变量卡诺图求解:

观察输出函数Z 的卡诺图,它就是按状态表的行列顺序

直接填写的,具有很强的

直观性。根据这个卡诺图

可求出输出函数表达式

为:

112xy y y Z +=

求激励函数J 2、K 2、

J 1、K 1的表达式则需要根

O [作者简介]:李澄举(1949 - ),男,广东梅县人,嘉应大学计算机系,副教授

同步时序逻辑电路设计的教学方法探讨

据状态表和激励表按步骤填写。

一、求J 2、K 2时,在状态表中只保留y 2和y 2n+1的对应状态,求J 1、K 1时则保留y 1和y 1n+1的对应状态列,保留后的状态表如表3和表4所示。

二、根据表2(激励表)和表3(或表4)填写求J 2、K 2(或J 1、K 1)的卡诺图。如图2所示。

这样,根据图2所示的卡诺图,激励函数才能求出来:

x J 2=2y ;x K 2= ;1J 1= ;1K 1=

当然,二进制状态表的现态排列秩序必须按格雷码排列,如本例按00、01、11、10排列,否则在填写卡诺图前须先作好格雷码排列。在熟练的时候,只用状态表1,表3和表4是不必作出来的,心里知道就行了,可直接填写出图2所示的各激励函数的卡诺图。但由于各种状态混合在一个状态表内,,若触发器数目较多时,或精神稍有不济,应用激励表填卡诺图出错的机会比较多,卡诺图错了,当然会得出错误的激励函数表达式。

实际上,多数时序电路所用的触发器数目较多,不可能用上述烦琐的方法,或者说设计方法需要简化,以提高设计效率。

由于激励函数是外部输入x 和触发器状态y 的函数,并且二进制状态表就包含了这几项,我们就有理由可以用求输出函数Z 的类似方法直观而快捷地得出激励函数的表达式。为此,将状态表稍加整理,并根据J -K 触发器的次态方程

22221n 2y K y J y +=+ 及 11111n 1y K y J y +=+

避开激励表,求出激励函数。

仿照求输出函数Z 的方法,求J 2、K 2时,我们将状态表中的1n 1y +列和Z 列去掉,直接

得到一个三变量的求1n 2y +的卡诺图(若求J 1、K 1,则将状态表中的1n 2y +列和Z 去掉,得出

求1n 1y +的卡诺图),如图3所示。

同步时序逻辑电路设计的教学方法探讨

可得状态方程:

1n 2y +=x 1y 2y +x y 2 及 1n 1y += 1y (或=1·1y +1·y 1) 。

对比次态方程

22221n 2y K y J y +=+ 及 11111n 1y K y J y +=+。

各项的系数,同样可得

x J 2=2y ;x K 2= 及 1J 1= ;1K 1=。

由此可见,设计方法得到了简化,提高了设计效率。

用这种方法,适用于基本触发器,例如D 触发器和J-K 触发器等。T 触发器不是基本触发器,它是由J -K 触发器的J 、K 端并接而成T 端的,处理T 触发器时会遇到问题:用图3的方法得到的状态方程对比T 触发器的次态方程

22221n 2y T y T y +=+ 及 11111n 1y T y T y +=+

T 1=1的结果正确,因为1n 1y += 1·1y +1·y 1。

求T 2时,对比1n 2y +=x 1y 2y +x y 2 有T 2=x 1y 和2T = x ,这样,T 2就有两个值:x 1

y 和x ,这不合符事实。这是因为x 1y 和x 本来是基本J -K 触发器的J 2和K 2的值,不是T 2的值。

当J 2≠K 2时,用对比的方法显然不能得到T 触发器的T 值,需找出T 2和J 2、K 2之间的关系进行转换。

T 触发器和J -K 触发器的次态方程分别为:

y T y 1n ⊕=+, y K y J y 1n +=+,

因为是同一个状态表,故可令

y T ⊕=y K y J +

利用异或运算因果互换律可得

T =(y K y J +y )⊕

=(y K y J +)y K y J y ++ y

=y y K y J y J ??+

=Ky y J y J ?+=Ky )1J (y J Ky Ky J y J Ky )y J (y J ++=++=++ =Ky y J +

推导过程也可用卡诺图,如图4所示。先令P 1=y K y J +、P 2= y ,再画出P 1和P 2的卡诺图,然后在卡诺图中进行T =P 1⊕P 2的运算,最后得出结果。

同步时序逻辑电路设计的教学方法探讨

显然,当J 1=K 1=1时,T 1=11y y +=1; 当x J 2=y 、x K 2=时,T 2 =(x y 2)y 2+x y 2=x y 2+x y 2 = x 。

故用状态表求T 触发器的激励方程时,应先求出J-K 触发器的激励方程J 和K 的表达式,然后直接用公式T =Ky y J +转换。当然我们也可用状态表和T 触发器的激励表填写出求激励方程的卡诺图,但效率低下。读者不妨试一试。

三、求多触发器激励方程的卡诺图变换

如前所述,一个时序逻辑电路如果用到两个相同的触发器,可直接用二进制状态表填写求激励方程的卡诺图,这样的卡诺图是4行2列。但电路用到三个相同的触发器时,如果

再直接用二进制状

态表填写求激励方

程的卡诺图时,这样

的卡诺图将是8行2

列,会给用卡诺图化

简激励函数表达式

时因相邻关系不明

显带来麻烦。这时我

们可以将8行2列的

卡诺图转化成4行4

列的卡诺图。作为例

子,仍以图3中4

行2列的卡诺图(重

画后加上一些标注,

如图5a 所示)转化

为2行4列的卡诺图

为例。

当这2行4列的卡诺图的横坐标

同步时序逻辑电路设计的教学方法探讨

为x y 2、纵坐标为y1时,填图的顺序如图5 b所示;如若横坐标为x y 1、纵坐标为y2时,填图的顺序如图5 c所示。

当8行2列的卡诺图转化成4行4列的卡诺图时,最好采用图5b的转换方法。

如下图5a是同步时序电路Moore型二进制状态表,由于纵坐标是按二进制数从小到大排列的,没有按照循环格雷码排列,即使按8行2列的卡诺图,也不能直接填写,故应调整一些行的位置,使之按照格雷码000、001、011、010、110、111、101、100的顺序排列,如图5b所示。

当电路的触发器数目超过3个时,例如4个,则需设计5个变量的卡诺图。这超出了本课程的讲授范围,但设计方法基本上是一样的,这里仅举一例加以说明。

假设有一个四位二进制加、减法计数器(或称模16计数器),当x输入1时,实现加1计数;当x输入0时,实现减1计数。则该同步时序电路需用4个触发器,它的Moore型状态表为:

同步时序逻辑电路设计的教学方法探讨

将5变量卡诺图转换计成4行8列。现仅画出求其中一个次态的卡诺图填图走向。

在这个4行8列的卡诺图中,行的相邻容易看出,列的相邻则要注意除了几何相邻之外,还有三对逻辑相邻的列:001和101、011和111、000和100。利用这个卡诺图简化逻辑表达式时应该注意。

本文来源:https://www.bwwdw.com/article/7bdm.html

Top