Presentation is loading. Please wait.

Presentation is loading. Please wait.

§3.同步时序电路的设计 设计:文字描述 状态图(状态表) 逻辑图 同步计数器的设计步骤 (典型的同步时序电路)

Similar presentations


Presentation on theme: "§3.同步时序电路的设计 设计:文字描述 状态图(状态表) 逻辑图 同步计数器的设计步骤 (典型的同步时序电路)"— Presentation transcript:

1 §3.同步时序电路的设计 设计:文字描述 状态图(状态表) 逻辑图 同步计数器的设计步骤 (典型的同步时序电路)
设计:文字描述 状态图(状态表) 逻辑图 同步计数器的设计步骤 (典型的同步时序电路) 写出计数器状态图或状态表 选定触发器,求控制函数(用卡诺图、激励表) 判断能否自启动,修改设计 画逻辑图 同步时序电路的设计步骤 (自学解决) 形成原始状态图和状态表 状态化简与状态分配 求控制函数和输出函数 (由特殊(计数器) 到一般的学习方法) 同步时序电路的概念:

2 同步二进制计数器的设计 计数器的设计考虑 快速进位逻辑 Load(并行预置数功能) 扩展(组成多位计数器时,低位计满高位才计数)
清零方式(同步?/异步?) 核心问题是进位逻辑的设计,再扩充其它功能。 例题:分别用J-K和D触发器实现4位二进制计数器. 第一步:写状态表, 4位二进制共有16个状态(见下表) 第二步:选触发器,求控制函数表达式 1 直接从状态表上观察分析得到控制函数表达式 2 用激励表、卡诺图化简得到控制函数表达式 第三步:画逻辑图

3 4位二进制计数器的状态转换表 由于计数器的状态转换是有规律的,只写出左侧一组计数状态的顺序就可以。 为简单起见,用
N Q3 Q2 Q1 Q0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Q’3 Q’2 Q’1 Q’0 1 由于计数器的状态转换是有规律的,只写出左侧一组计数状态的顺序就可以。 为简单起见,用 Q3 Q2 Q1 Q0 表示现态Q3n Q2 nQ1n Q0n, 用Q’3 Q’2 Q’1 Q’0表示次态Q3n+1Q2n+1Q1n+1 Q0n+1

4 观察分析求J-K触发器的表达式 因为JK触发器有计数、保持、置1、置0四个功能,从状态表上找规律,利用JK的计数功能以简化设计。
N Q3 Q2 Q1 Q0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 因为JK触发器有计数、保持、置1、置0四个功能,从状态表上找规律,利用JK的计数功能以简化设计。 Q0计数的条件,每次都计数,JK=1 Q1计数的条件, Q0=1; Q2计数的条件, Q1 Q0 =1; Q3计数的条件, Q2 Q1 Q0 =1 ; J0=K0=1; J1=K1=Q0; J2=K2=Q1Q0; J3=K3=Q2Q1Q0

5 观察分析求D触发器的表达式 D触发器的功能与J-K不同,D没有计数功能,因此不能象J-K一样去找状态变化的条件。
N Q3 Q2 Q1 Q0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 D触发器的功能与J-K不同,D没有计数功能,因此不能象J-K一样去找状态变化的条件。 D的状态方程: Qn+1=D 应该寻找使Qn+1置1的逻辑条件. Q0置1的条件是Q’0=1; Q1置1的条件是:Q’0 Q’1=10或01 Q2置1的条件是: Q2=1,且Q1 Q0<>11 Q2=0,且Q1 Q0=11 Q’2 = Q2 Q1 Q0 + Q2 Q1 Q0 = Q2 + (Q1 Q0) Q’3= Q3+ (Q2Q1 Q0)

6 用状态表和卡诺图化简求D触发器表达式 Q1Q0 4位二进制计数器的状态表,表示由现态Q3Q2 Q1Q0转换为Q’3Q’2 Q’1Q’0 ;4个变量的卡诺图在一起看不清楚,因此分解为4个独立的卡诺图,便于化简. Q3Q2 00 01 11 10 0001 0010 0100 0011 0101 0110 1000 0111 1101 1110 0000 1111 1001 1010 1100 1011 Q’3Q’2 Q’1Q’0 Q1Q0 Q1Q0 Q1Q0 Q1Q0 Q3Q2 Q3Q2 Q3Q2 Q3Q2 00 01 11 10 1 00 01 11 10 1 00 01 11 10 1 00 01 11 10 1 Q’3 (D3) Q’2 (D2) Q’0(D0) Q’1 (D1)

7 用状态表和卡诺图化简求D触发器表达式 00 01 11 10 经卡诺图化简,整理后的表达式如下:
Q1Q0 Q3Q2 经卡诺图化简,整理后的表达式如下: 00 01 11 10 0001 0010 0100 0011 0101 0110 1000 0111 1101 1110 0000 1111 1001 1010 1100 1011 Q’3Q’2 Q’1Q’0 (D3D2 D1D0) 熟练以后也可以不用分解到4个独立的卡诺图,直接在4变量卡诺图上化简。

8 用状态表和卡诺图化简求JK触发器表达式 求JK触发器的表达式,要从激励表入手.因为激励表反映了由现态Qn变化到次态Qn+1时J-K输入端对应的取值。x表示取值任意,在化简中作为“不管项”处理。 从已经分解的4个独立卡诺图开始,对每个卡诺图利用激励表画出一个包含JK取值的卡诺图.这是一个2变量卡诺图,可以分别画出J和K. 实际化简时,总是让J=K。 x 1 x x K Qn Qn+1 J J-K触发器激励表 Q1Q0 Q1Q0 Q1Q0 Q3Q2 Q3Q2 Q3Q2 00 01 11 10 1 x 1 00 01 11 10 00 01 11 10 1x x1 J0 K0 J0=1 Q’0 置0 置1 J0K 0 k0=1 ( 略)

9 用状态表和卡诺图化简求JK触发器表达式 保持1 保持0 置0 置1 置1 置0
Q1Q0 Q1Q0 Q1Q0 Q3Q2 保持1 Q3Q2 Q3Q2 00 01 11 10 1 x 00 01 11 10 1 00 01 11 10 0x 1x x1 x0 J1 K1 保持0 J1=Q0 Q’1 置1 置0 J1K 1 K1=Q0 ( 略) Q1Q0 Q1Q0 Q3Q2 Q1Q0 Q3Q2 Q3Q2 00 01 11 10 1 x 00 01 11 10 0x 1x x0 x1 00 01 11 10 1 J3 K3 J3= Q2Q1 Q0 Q’3 置0 置1 J3K 3 K3= Q2Q1 Q0 (略) K2= J2= Q1 Q0 (略). 结论:这样得到的表达式与观察分析法相同。

10 D触发器实现的4位二进制计数器进位逻辑 Q D CP CK +
上式对在卡诺图化简逻辑函数基础上进行了变形,这是实际器件的内部主要结构(p212)。公式变形原则:逻辑结构清晰,尽量公用部分;内部控制函数全部用Q,Q用来驱动外部电路。

11 二进制计数器波形图 Q0 Q1 Q2 Q3 从波形上分析,若CP脉冲的频率为f0 ,则Q0Q1Q2Q3的输出分别为CP的1/2, 1/4, 1/8和1/16, 这就是计数器的分频功能,也叫“分频器”。Q0是二分频,Q1是四分频等。 思考题:用判断自启动吗?为什么? 求D触发器控制函数为什么不用激励表? 如何实现预置数?同步与异步清零如何实现?

12 例题:分别用J-K和D触发器实现十进制计数器
Q1Q0 十进制计数器的状态表 Q3Q2 0001 0010 0100 0011 0101 0110 1000 0111 x 1001 0000 00 01 11 10 N Q3 Q2 Q1 Q0 1 2 3 4 5 6 7 8 9 Q’3Q’2 Q’1Q’0 因为有6个自由状态存在,观察分析法不能判断。要用卡诺图化简.

13 用J-K触发器实现, 原始状态表分解 x 1 0 0 0 0 1 1 1 0 x 1 1 x K Qn Qn+1 J
Q1Q0 Q1Q0 Q3Q2 Q3Q2 00 01 11 10 1 x 00 01 11 10 0001 0010 0100 0011 0101 0110 1000 0111 x 1001 0000 Q’0 Q1Q0 Q’3Q’2 Q’1Q’0 置1 Q3Q2 00 01 11 10 1x x1 x x 1 x x K Qn Qn+1 J J-K触发器激励表 Q’0的激励表 J0 =K 0 =1 置0 将原始状态表分解为四个独立的状态表,再利用JK触发器的激励表写出每个状态的激励表,填到卡诺图中化简.

14 用J-K触发器实现,原始状态表分解 保持0 置1 置0 保持1 J2K 2 和J1K 1的化简从略, 得到J,K的表达式如下:
Q1Q0 Q1Q0 保持0 Q3Q2 Q3Q2 00 01 11 10 0x 1x x x0 x1 00 01 11 10 1 x 置1 由JK激励表 J3 J3 K 3 置0 保持1 Q’3 K3 Q1Q0 Q1Q0 Q3Q2 Q3Q2 00 01 11 10 00 01 11 10 x 1 1 x J2K 2 和J1K 1的化简从略, 得到J,K的表达式如下: J3 K3 单纯从K3 化简,还可以更简,但要与J3一起考虑,相交的部分一定要都是 x “不管项” 才能画在一起。

15 用D触发器设计十进制计数器 现态:Q3Q2 Q1Q0 次态:Q’3Q’2 Q’1Q’0 同样可分解为4个独立的卡诺图 Q1Q0
Q3Q2 现态:Q3Q2 Q1Q0 次态:Q’3Q’2 Q’1Q’0 同样可分解为4个独立的卡诺图 00 01 11 10 0001 0010 0100 0011 0101 0110 1000 0111 xxxx 1001 0000 Q’3Q’2 Q’1Q’0 Q1Q0 Q1Q0 Q1Q0 Q1Q0 Q3Q2 Q3Q2 Q3Q2 Q3Q2 00 01 11 10 1 x 00 01 11 10 1 x 00 01 11 10 1 x 00 01 11 10 1 x Q’3 (D3) Q’2 (D2) Q’0(D0) Q’1 (D1)

16 用D触发器设计十进制计数器 卡诺图化简,得到十进制计数器 的D触发器控制函数 同样,可得JK触发器控制函数
熟练以后可以不用分解到4个独立的卡诺图,直接在4变量卡诺图上化简。 逻辑图见P212 图5-66和图5-64

17 判断十进制计数器能否自启动 由于用4位触发器组成十进制计数器存在6个自由状态, 需要判断如果进入这6个状态时能否自动进入工作循环. 14
15 12 13 15 12 13 11 10 1 2 3 4 4 1 2 3 9 8 7 6 5 9 5 8 7 6 10 11 D触发器表达式的状态图 J-K触发器表达式的状态图 如何判断? 将现态分别代入触发器控制函数,求出次态!

18 例题:可逆计数器设计 用J-K触发器设计三位二进制可逆计数器. 控制端 X=1,正向计数,计满111时进位Z=1;X=0,逆向计数,计满000时借位Z=1。 1/0 1/0 1/0 000 001 010 011 0/0 0/0 0/0 X/Z 0/1 0/0 1/0 1/1 0/0 0/0 0/0 111 110 101 100 1/0 1/0 1/0 主要目的:看用JK触发器的设计.

19 状态表和JK激励表达式 先画现态/次态对应关系,利用触发器激励表,得到JK激励表达式,再画卡诺图化简. J2K2 J1K1 J0K0
x 1 x x K Qn Qn+1 J J-K触发器激励表 状态表和JK激励表达式 X Q2Q1Q0 Q’2Q’1Q’0 J2K2 J1K1 J0K0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 ox ox 1x ox 1x x1 ox xo 1x 1x x1 x1 xo ox 1x xo 1x x1 xo xo 1x x1 x1 x1 1x 1x 1x ox ox x1 ox x x ox xo x1 x x 1x xo ox x1 xo x x xo x0 x1 先画现态/次态对应关系,利用触发器激励表,得到JK激励表达式,再画卡诺图化简. Q1Q0 XQ2 00 01 11 10 0x 1x x0 x1 J2 K 2

20 用J-K触发器实现的三位二进制可逆计数器
(逻辑图略) 要掌握由JK触发器的激励表得到JK控制函数的方法.

21 常见中规模集成电路计数器典型器件 计数器单元电路的设计考虑 快速进位逻辑(基本功能) Load(并行预置数功能)
进位扩展(组成多位计数器时,低位计满高位才计数) 清零方式(同步?/异步?) 功 能 表 P T L RD CK 功能 P Q0 Q1 Q2 Q3 RC T L Ck D0 D1 D2 D3 RD x x x Cleare Count x x Load x Hold 逻辑符号图 x x FF Hold, RC=0

22 常见中规模集成电路计数器典型器件 器件型号 触发器 计数类型 清零方式 工作频率 74160 J-K 十进制 异步 25Mhz
器件型号 触发器 计数类型 清零方式 工作频率 J-K 十进制 异步 Mhz J-K 二进制 异步 Mhz J-K 十进制 同步 Mhz J-K 二进制 同步 Mhz (上述四类还有74LS系列,功耗由305mw 降低到 95 mw) (74160A, 74161A, 74162A, 74163A是D触发器结构,参数相同) 74S162 D 十进制 同步清零 40Mhz,(功耗: 475mw) 74S163 D 二进制 同步清零 40Mhz, (功耗: 475mw) 74’ D 十进制可逆 单时钟 35Mhz 74’ D 二进制可逆 单时钟 35Mhz 74’190 J-K 十进制可逆 单时钟 25Mhz 74’ J-K 二进制可逆 单时钟 25Mhz 74’ T 十进制可逆 双时钟 25Mhz 74’ T 二进制可逆 双时钟 25Mhz

23 D触发器构成的同步二进制计数器74S163

24 D触发器构成的同步十进制计数器74S162 (改错:CLR后应为非门)

25 常见中规模集成电路计数器典型器件 可逆计数器的实现 单时钟方式,用加减控制命令(U/D)
双时钟方式,两个独立的外部时钟:CP+, 加; CP-, 减;

26 计数器的清零方式 计数器有两种清零方式: 异步清零和同步清零 同步清零:CLR=0,不立即清零,等待CK到来清零
计数器有两种清零方式: 异步清零和同步清零 同步清零:CLR=0,不立即清零,等待CK到来清零 异步清零:使用RD直接置零,清零动作不依赖于CK 清零可以用于改变计数器的顺序 清零和置数功能(置零法、置数法)实现任意进制计数器 ___ P T L CLR CK CLR X X X ↑ 清零(同步) CK __ P T L RD CK 同步清零 Q X X X X 清零(异步)

27 利用计数器清零功能组成其它计数器 例:用16进制实现10进制计数器(置零法) “1” “1”
异步清零条件Q3 Q2Q1Q0=1010 同步清零条件Q3 Q2Q1Q0=1001 P D0 D1 D2 D3 RD T L Ck Q0 Q1 Q2 Q3 RC “1” “1” P D0 D1 D2 D3 CLR T L Ck Q0 Q1 Q2 Q3 RC 使用异步清零实现的缺点:存在过渡态1010, 靠它清零。 CP Q0 1 2 3 4 5 6 7 8 9 Q1 Q3的“1”被延长,Q1出现了尖峰。 Q3 RD

28 利用计数器置数功能组成其它计数器 例:用10进制实现6进制计数器 (置数法)
“1” “0” “0” “1” “1” P D0 D1 D2 D3 RD T L Ck Q0 Q1 Q2 Q3 RC P D0 D1 D2 D3 RD T L Ck Q0 Q1 Q2 Q3 RC 当计数到0100时,与非门译码产生并行输入命令L,输入数据1001,跳过5-8四个状态,构成6进制计数.(进位输出RC.) 当计数到0101时,与非门译码产生并行输入命令L,输入数据0000,重新计数.

29 计数器的扩展 扩展的目的:增加计数器位数 2片4位二进制 扩成8位二进制 2片十进制 扩成百进制 扩展的规则:
低位片未计满,则高位片不能计数 低位片记满后来CK,两片一起计数 扩展的方法:设置标志位RC (Ripple Carry) 二进制计数器RC=QAQBQCQD 十进制计数器RC=QAQBQCQD 允许(禁止)端: T (Trickle) 串行控制 P (Parallel) 并行控制

30 计数器的扩展 “1” P RC0 T CK P RC1 T CK P RC2 T CK “1” CK d0 d4 T0: 0111,0000
(低位) (高位) P RC0 T CK P RC1 T CK P RC2 T CK “1” CK 这里只用到了T作串行扩展 d d4 T0: 0111,0000 T1: 1111,0000 (RC0=1) T2: 0000,1000 d d d8 T0: 0111,1111,0000 T1: 1111,1111,0000(RC0,RC1=1) T2: 0000,0000,1000

31 计数器的自启动设计 当触发器的可能状态比有效的计数序列多的情况下,计数器启动时有可能进入无效计数序列。此时需要修改设计,使得电路能够自启动。
例如,下图3位格雷码计数器存在两个计数循环。必须先将触发器清0,才可以进入格雷码序列。 Q2 Q1 Q0 Q CP D Q CP D Q CP D D2=Q1 D1=Q0 D0=Q2 举例,实际上为3位格雷码计数器 CP 000 001 011 010 101 100 110 111

32 计数器的自启动设计 Q2 Q1 Q0 Q CP D Q CP D Q CP D CP
举例,实际上为3位格雷码计数器 在前面同步时序电路的分析中看到,修改设计后可以自动进入循环,而且只是修改了一个触发器的控制函数,电路结构仍然比较简单清晰。

33 计数器的自启动设计 000 001 011 101 010 100 110 111 能够自行进入工作循环的3位格雷码计数器 101 000
很容易想到的是进入非工作循环就清零。如果按照这个状态图设计,电路结构会简单吗?请同学们按照前面介绍的设计步骤走一遍,这个电路要复杂得多!每个触发器下都有门电路!为什么会想到上面的状态图?

34 计数器的自启动设计 D1 =Q0 D2 =Q1 Q1 001 1 00 11 01 10 011 111 100 110 000 01x 10x Q2 Q1 Q0 010 Q0 00 11 01 10 Q2 1 001 011 111 xxx 000 xxx 110 100 Q’2 Q’1 Q’0 Q’2 Q’1 Q’0 原始状态表 修改后的状态表 原始状态卡诺图中两个任意项x每一位取确定值后应能进入循环. 按照这个原始状态表设计,为使D2 = D1和D1 = D0保持不变,101的下一个状态的前两位一定要为01,010的下一个状态的前两位一定要为10;于是得到上图的状态表和表达式。 101的下一个状态如果不是010,也可以是011,但此时的表达式要更复杂。(将Q’2 Q’1 Q’0分解成3个状态表更好理解)

35 计数器小结: 快速进位逻辑是基础,并行预置数、清零方式、进位扩展是集成计数器的基本功能 常见的计数器:任意进制,循环码,环形
要求:会设计同步计数器(异步不要求) 会判断自启动,并修改逻辑能自启动 会使用中规模的集成计数器 重点是课上讲的几种计数器 综合实验中还要用PLD来设计计数器,一定要熟练掌握设计方法。

36 从原始状态图和状态表入手的设计 例:X为控制端,求一个五状态加1、加2计数器。 0 1 1 1 2 3 4 2 4 3
1 Qn 1 2 3 4 1 2 3 4 1 1 2 通过例子说明 1 1 1 4 3 状态表 状态图

37 5.11, 5.12, 5.13, 5.29, 5.36 (思考题不用交) 本次习题与上次习题”五一节”后一起交
1 完成5状态加1、加2计数器的设计,判断自启动,触发器自选 X=0,计数顺序:012340.. X=1 ,计数顺序:024130.. 2 思考题: 用D触发器设计可控2位二进制计数器,X=1,计数;X=0,保持,写出状态表和控制函数的表达式,不用画图,与P166例题进行比较,是否一致. 3 思考题: 课上讲的循环码计数器修改设计后可以自启动,而且只是修改了一个触发器的控制函数。如果两个非工作状态时都清零,逻辑表达式是什么?简单了还是复杂了? 4 思考题: 集成触发器内部,置数与计数功能是如何实现的? 5.11, 5.12, 5.13, 5.29, (思考题不用交) 本次习题与上次习题”五一节”后一起交 周四下午照常有答疑,在8区4楼。

38 §3.同步时序电路的设计 设计:文字描述 状态图 逻辑图 同步时序电路的设计步骤: 形成原始状态图和状态表 状态化简 求控制函数和输出函数
设计:文字描述 状态图 逻辑图 同步时序电路的设计步骤: 形成原始状态图和状态表 状态化简 求控制函数和输出函数 画逻辑图 (不完全确定状态的同步时序设计不要求) 同步时序电路的概念:

39 §3.1形成原始状态图和状态表 例1:设计101序列检测器 输入:X=010101101 输出: Z1=000101001
Z1是可重叠检测,Z2检测到一个序列后要归0,不可重叠检测。

40 §3.1形成原始状态图和状态表 分析输出为Z1的情况: 初始状态为A态 处于B态 处于C态 处于D态 来0,保持A态,Z=0
来1,是序列首位,进入B态,Z=0 处于B态 来0,“10”是序列第二位,电路进入C状态,Z=0 来1,还是序列首位,保持B态,Z=0 处于C态 来0,“100”不是要检测序列, 回到A态重新开始, Z=0 来1,“101”, 检测到一个序列,进入D态,Z=1 处于D态 来0,是新序列的“10”,回到C态,Z=0 来1,是新序列的“1”,进入B态,Z=0

41 x/z Z1的原始状态表 Z1的原始状态图 BD状态输出与次态均相同,可以合并。 x/z 合并后的状态图 1/1 X 0 1 Qn D
Qn D 0/0 C A B C D A/0 B/0 C/0 D/1 1/0 0/0 0/0 x/z 1/0 A B 0/0 1/0 Z1的原始状态表 Z1的原始状态图 BD状态输出与次态均相同,可以合并。 C 0/0 1/1 0/0 X Qn x/z A/0 B/0 C/0 B/1 A B C 1/0 A B 0/0 1/0 合并后的状态图

42 §3.1形成原始状态图和状态表 分析输出为Z2的情况: 初始状态为A态 处于B态 处于C态 来0,保持A态,Z=0
来1,是序列首位,进入B态,Z=0 处于B态 来0,“10”是序列第二位,电路进入C状态,Z=0 来1,还是序列首位,保持B态,Z=0 处于C态 来0,“100”不是要检测序列, 回到A态重新开始, Z=0 来1,“101”, 检测到一个序列,进入B态,Z=1; 开始新序列的检测。

43 x/z Z2的原始状态表 Z2的原始状态图 AD状态输出与次态均相同,可以合并。 x/z 合并后的状态图 X 0 1 1/1 Qn D C
1/1 Qn D C A B C D A/0 B/0 C/0 D/1 1/0 0/0 0/0 0/0 x/z 1/0 A B 0/0 1/0 Z2的原始状态表 Z2的原始状态图 AD状态输出与次态均相同,可以合并。 C 1/1 X 0/0 0/0 Qn x/z A/0 B/0 C/0 A/1 A B C 1/0 A B 0/0 1/0 合并后的状态图

44 §3.1形成原始状态图和状态表 例3:01序列检测器 X: 0 1 0 1 0 0 0 1 1 0 1 (输入)
Z: (输出) X Qn 通过例子说明 A B A/0 B/1 B/0 X/Z 状态表 状态图

45 §3.1形成原始状态图和状态表 例4:“1111”检测电路 X: 1 1 0 1 1 1 1 1 1 0 0 1 0
Z: 通过例子说明 X/Z 原始状态图

46 §3.1形成原始状态图和状态表 0 1 0 1 A B A CD B CD E 原始状态表 状态直接合并后的状态表 X Qn X Qn
原始状态表 状态直接合并后的状态表 X Qn X Qn A B CD E A/0 B/0 C/0 D/0 E/1 A B CD A/0 B/0 C/0 D/0 D/1 D、E可以合并

47 §3.1形成原始状态图和状态表 简化的状态图和状态表: 0 1 A B CD X Qn A/0 B/0 C/0 D/0 D/1 Q/Z
Qn A B CD A/0 B/0 C/0 D/0 D/1 Q/Z X/Z

48 §3.2 状态化简 状态化简目的:减少触发器的数量 化简的原理:状态等效,就可以化简 状态等效的条件: 如:9状态8状态,节省1个触发器
1, 两个状态的Z相等、次态也相等 2, 两个状态的Z相等、次态与原态交错 3, 一组状态的Z相等、次态循环

49 §3.2状态化简 0 1 直接观察对比 A B CD 0 1 E F A B CD E X Qn C/0 F/0 D/0 B/0 E/1
Qn 直接观察对比 A B CD E F C/0 F/0 D/0 B/0 E/1 A/0 C/1 B/1 X Qn A B CD E C/1 B/0 E/0 B/1 D/1 A,B C,D B,C输出相同,且次态对与 现态对交错,因此B,C等效 AB等效,且CD等效

50 §3.2状态化简 利用隐含表(Implication Chart)进行状态化简 隐含表是一种系统的状态化简方法。
第一步:将状态填入隐含表,按行列逐一进行比较: 两状态输出不同,隐含表的对应格打X,表示状态不等效; 两状态输出相同、次态相同或交错,在隐含表的对应格内打√ ,表示状态等效; 两状态输出相同、但次态不同也不交错,表示状态组可能会等效。先将次态对写在隐含表内,待下一步判断。 第二步:对写在隐含表内的次态对,在表中检查它们是否已经判定了等效性,只有它们对应的状态对都等效时,才能断定它们所关连的状态是等效的,否则就是不等效的。 掐头去尾

51 隐含表化简状态 例1:化简状态 0 1 A B √ CD E √ X Qn B,E C/1 B/0 E/0 B/1 D/1 B’/1
Qn B C D E B,E A B CD E C/1 B/0 E/0 B/1 D/1 B’/1 C’/1 B’/0 X A’ B’ C’ Qn B,C B,E 掐头去尾 A B C D 隐含表 化简后的状态表 原始状态表 A,(B,C),(D,E)化简为A’B’C’三个状态

52 隐含表化简状态 例2:化简状态 √ √ √ √ 00 01 11 10 B C D E F G H
X1X2 Qn B C D E F G H A B C D E F G H D/0 F/0 A/0 C/1 E/1 B/0 G/0 B/1 AF DF BC BD AF DF BD BG AF BC DF DG AF DG AF BC A B C D E F G 这是两个输入,8个状态的电路。隐含表化简方法相同。

53 隐含表化简状态 例2(续):求最大等效类,化简结果如下 (A,F),(B,C,H),D,E,G 化简为 A’B’C’D’E’ 五个状态
X1X2 Qn A B C D E F G H A’ B’ C’ D’ E’ C’/0 A’/0 B’/1 D’/1 B’/0 E’/0 (B,C)(B,H)(C,H)均是等效对,因此(B,C,H)是最大等效类. 化简后的状态表

54 §3.3 求控制函数和输出函数 例1:用D触发器完成“1111”检测器设计。 0 1 A B CD 第二步:状态分配.
用2位触发器表示4个状态,有多种分配方案(22!)。最佳解是很难确定的,最简单的方法是按二进制排列: 第一步:从化简后的状态表开始. X Qn A B CD A/0 B/0 C/0 D/0 D/1

55 §3.3 求控制函数和输出函数 第三步:根据分配状态以后的状态表,分别求触发器的控制函数和输出函数。 0 1 A B CD X 0 1 Qn
X Qn Q1Q0 A B CD A/0 B/0 C/0 D/0 D/1 00/0 01/0 10/0 11/1 11/0 00 01 11 10 注意调换C和D顺序 Q’1Q’0/Z

56 §3.3 求控制函数和输出函数 求D触发器的控制函数和输出函数表达式: 0 1 0 1 0 1 0 1 00 01 11 10 00/0
X X X X Q1Q0 Q1Q0 Q1Q0 Q1Q0 00 01 11 10 00/0 01/0 10/0 11/1 11/0 00 01 11 10 1 00 01 11 10 1 00 01 11 10 1 Q’1 (D1) Q’0 (D0) Q’1Q’0/Z Z=XQ1Q0 D1 =X(Q1 + Q0 ) D0 =X(Q1 + Q0 )

57 §3.3 求控制函数和输出函数 用D触发器实现的波形 CP 1 1 1 1 X Z

58 同步时序电路设计总结 画原始状态图, 不要想着节省状态,一定要画全;要考虑到从每个状态出来所有的输出情况。 画原始状态表 化简状态表
求控制函数和输出函数 最困难的是第一步,只要有了原始状态图,后面的步骤是有规律的。

59 同步时序电路设计总结 例:串行输入码的奇偶检测电路,如果输入序列有奇数个1,Z=1;否则,Z=0。
分析: 组合电路中奇偶校验是并行输入的,因此可以成对消去1;此例是串行输入,因此要记忆状态,用时序逻辑。 输入是无限序列。边输入边判断奇偶性,状态图: X/Z

60 同步时序电路设计总结 如果输入是有限序列,而且需要记住每个状态,并随时判断序列的奇偶性,状态图复杂 。假设序列长度为5,状态图如下:
问题:这是随时判断奇偶性并输出的原始状态图,如果5个序列结束时才判断,Z输出该如何变化? 左侧为偶,右侧为奇 X/Z “偶”状态 “奇”状态

61 同步时序电路设计 画原始状态图, 这一步是关键,一定要画全;要考虑到从每个状态出来所有的输出情况。 画原始状态表 状态化简,状态分配
要求:状态化简直接从原始状态表观察 状态分配为二进制或循环码 求控制函数和输出函数 主要要求:D触发器控制函数 画逻辑图 “不完全确定状态的同步时序电路设计”不要求

62 §2. 同步时序电路的分析(续) P152 例3:分析下列电路,并求X=0110110时波形图 Z’ Z Q1 Q0 Q J CP K Q
CP X

63 X 状态表和状态图 Q1n Q0n 00/1 11/1 10/1 11/0 01/1 00 01 11 10 X Q0n Q1n J0 K0 J1 K1 Q0n+1Q1n+1Z (Q1n+1Q0n+1/Z) 0/1 0/1 00 10 1/1 1/1 1/1 0/1 0/1 X=0, Q清零; X=1,有两个工作循环:01  10 和00  11 并保持在11 11 01 1/0 X/Z

64 时序图 CP X Q0 Q1 Z Z’ 假定Q的初值为“11”,状态变化如上。 原图Z输出波形有错,只有在输出端增加一个触发器时,输出Z才能反映Q的次态,否则就是输出Z’=Q0Q1X。

65 同步时序电路的分析小结 求输出函数,触发器激励函数(控制函数) 根据输入和触发器激励函数求状态表 画状态图,时序图,分析电路功能
分析状态时一定先假设一个初始状态 输出要求是次态时,要用触发器存储


Download ppt "§3.同步时序电路的设计 设计:文字描述 状态图(状态表) 逻辑图 同步计数器的设计步骤 (典型的同步时序电路)"

Similar presentations


Ads by Google