《数字电子技术 时序逻辑电路的设计方法.pptx》由会员分享,可在线阅读,更多相关《数字电子技术 时序逻辑电路的设计方法.pptx(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、设计要求设计要求原始状态原始状态图图最简状态最简状态图图画电路画电路图图检查电路能否自检查电路能否自启动启动时序电路的设计步骤:时序电路的设计步骤:时序电路的设计步骤:时序电路的设计步骤:选触发器,求时钟、输出、状态选触发器,求时钟、输出、状态、驱动方程、驱动方程状态分状态分配配化简第1页/共45页试作出101序列检测器得状态图,该同步电路由一根输入线X,一根输出线Z,对应与输入序列的101的最后一个“1”,输出Z=1。其余情况下输出为“0”。101序列可以重叠,如:X:010101101 Z:000101001。101序列不可以重叠,如:X:0101011010 Z:0001000010解:
2、1)S0:起始状态,S1:收到序列起始位“1”。S2:收到序列前2位“10”。一、建立原始的状态表、状态图建立原始的状态表、状态图第2页/共45页S0X/Z0/01/0S11/0S20/00/01/1(1)可重叠)可重叠次态/输出现态10S0S1S2S0/0S2/0S0/0S1/0S1/0S1/1第3页/共45页(2)不可重叠)不可重叠X/ZS0S1S20/01/01/00/01/10/0次态/输出现态10S0S1S2S0/0S2/0S0/0S1/0S1/0S0/1第4页/共45页【例】建立“111”序列检测器的原始状态图和原始状态表。解:确定输入变量和输出变量。Z=000000111000设
3、置状态。S0:初始状态,表示电路还没有收到一个有效的1。S1:表示电路收到了一个1的状态。S2:表示电路收到了连续两个1的状态。S3:表示电路收到了连续三个1的状态。设该电路的输入变量为X,代表输入串行序列,输出变量为Z,表示检测结果。输入X 和输出Z之间的关系为第5页/共45页画状态图,列状态表。Mealy型原始状态图Mealy型原始状态表第6页/共45页确定输入变量和输出变量。输入变量X,为串行输入余3码序列,高位在前,低位在后;输出变量Z为误码输出。设置状态。该电路属于串行码组检测,对输入序列每四位一组进形检测后才复位,因此初始状态表示电路准备开始检测一组代码。从初始状态开始,每接收一位
4、代码便设置一个状态。【例】建立一个余3码误码序列检测器的原始状态图和原始状态表。第7页/共45页例、设计01检测器 0/00/01/10/01/0BAC1/0次态/输出现态ABCB/0B/0B/0A/0C/1C/001状态图状态表 例、设计一个1001检测电路要求:1)电路连续不停地工作,凡是遇到连续的四位输入为1001时,输出为1,否则为02)每输入四位码之后,电路自动恢复到初态,在这四位输入码中,当且仅当为1001时,输出为1,否则,输出为0。允许重叠不允许重叠注:第8页/共45页1/01/11/00/01/00/00/0BACD0/0不允许重叠:解:允许重叠状态图状态图1/11/00/0
5、1/00/00/0BACD0/01/0第9页/共45页 例、例、检测是否为8421码的电路若是电路输出为0,否则输出为1。1/10/11/10/11/10/11/00/01/00/01/00/01/00/01/00/010100010101010ABCDEFGHIPQRSMN状态图例、例、某同步时序电路,其输入x1x2,输出为Z,在同一时间内输入x1和x2,不能同时为1,只有x1输入3个或3个以上1,然后x2输入1个1时,电路输出为1,否则z为0。00/001/010/010/000/0BACD10/001/000/010/000/001/101/0状态图第10页/共45页二、二、状态表简化状
6、态表简化 状态表简化:消除多余的状态得最小化状态表。构成原始状态图时,只考虑设计要求,未考虑状态数目,为减少成本,对原始状态表进行简化。完全确定状态表不完全确定状态表状态表的种类状态表的种类二)、不完全确定状态表:状态表中所有次态及输出有不确定的。一)、完全确定状态表:状态表中所有次态及输出都是确定的。最小化状态表观察法第11页/共45页 例例 简化下例状态表 现态次态/输出x=0 x=1ABCDA/0A/0A/0A/0B/0C/0D/1D/1现态次态/输出X=0X=1ABCA/0A/0A/0B/0C/0C/1(C、D)等效 最小化状态表为 A),(B)和(C,D)分别用符号最后代入原状态表中
7、,从而得到最小化状态表。最小化状态表和表示第12页/共45页三、状态编码1、定义:定义:所谓状态编码,是指给最小化状态表中的每个字母或数字表示的状态,指定一个二进制代码,形成二进制状态表。状态编码也称状态分配。2、状态编码的任务是:(1)确定状态编码的长度确定状态编码的长度(即二进制代码的位数或触发器状态变量y1,,yr的位数);(2)寻找一种最佳的或接近最佳的状态分配方案。以便使所设计的时序电路最简单。状态编码的长度状态编码的长度是由最小化状态表中的状态个数来确定的。设最小化状态表的状态数为N,状态编码的长度为n,状态数N与状态编码长度n的关系为2n-1N2n状态进行分配时,可能出现的状态分
8、配方案数KS为:其中是独立的第13页/共45页下面看4个状态的分配方法,用2位二进制表示Y1Y2卡诺图如下ADBC0110y1y2ABDC0110y1y2ADCB0110y1y2ACDB0110y1y2ABCD0110y1y2ACBD0110y1y2123456由以上卡诺图可以看出只有3种是独立方案(1、2)(3、4)(5、6)3、状态分配的基本原则有四条(、状态分配的基本原则有四条(经验)经验)(1)(列相邻(列相邻)在相同输入条件下具有相同次态的现态,应尽可能分配相邻的二进制代码;(2)(行相邻(行相邻)在不同输入条件下,同一现态的次态应尽可能分配相邻的二进制代码;(3)(输出相同相邻)(
9、输出相同相邻)输出完全相同的现态应尽可能分配相邻的二进制代码;(4)最小化状态表中出现次数最多的状态应分配逻辑0。(一般初始状态分配逻辑0)第14页/共45页例对表所示的状态表进行状态编码。现态次态/输出X=0X=1ABCDC/0C/0B/0A/1D/0A/0D/0B/1第一步:确定状态编码的长度。因状态表中共有四个状态,即N=4,所以每个状态编码的长度应为n=2,也就是说,实现该状态表需要2个触发器,设状态表变量为了y1和y2。第二步:确定状态分配方案由原则(1)得:状态A和B应分配相邻的二进制代码;状态A和 C也应分配相邻二进制代码。由原则(2)得:状态C和D,C和A,B和D,A和B应分配
10、相邻的代码。由原则(3)得:状态A、B和C应分配相邻的代码。由原则(4)得:状态A分配逻辑0,即A的编码为y1y2=00。第15页/共45页1ABCDy1y2010状态分配方案现 态y2 y1x=0 x=10001111010/010/000/101/011/000/001/111/0第三步:确定状态分配表第16页/共45页四、确定激励函数和输出函数 根据二进制状态表和所选定的触发器的激励表或次态方程,求出触发器的激励函数表达式和电路的输出函数表达式,并予以化简。确定激励函数的方法:次态方程联立法状态转移表法第17页/共45页例 若用T触发器实现上例 所示的二进制状态表,试写出激励函数和输出函
11、数的表达式。现 态y2 y1x=0 x=10001111011/000/000/101/001/000/110/111/0解 第一步:确定激励函数表达式。根据给定的二进制状态表和T触发器的激励表可列出电路的激励表 Q Q(n+1)R SJ KTD0 00 11 01 1d 00 11 00 d0 d1 dd 1d 001100101状态转移表法第18页/共45页次态输入x现态y2 y1激励函数T2 T1000011110 00 11 11 00 00 11 11 01 10 11 10 10 10 01 01 11 10 11 11 10 10 10 10 1画激励函数T1 T2的卡诺图,并化
12、简得,T1=1 第二步:确定输出函数表达式五、用适当的逻辑门和所选的触发器构成实现给定逻辑功能的逻辑电路。第19页/共45页例 若用J-K触发器实现下表所示的二进制状态,试确定该表的激励函数表达式和输出函数表达式。现 态y2 y1x=0 x=10001111011/000/000/101/001/000/110/111/0解 第一步:确定激励函数表达式。由给定的二进制状态表写出电路的次态方程组为次态方程联立法第20页/共45页根据J-K触发器的次态方程,变换上式得:将上式与J-K触发器的状态方程进行比较得激励函数为第二步:确定输出函数表达式。xy2y100 01 11 10010 0 0 00
13、 1 1 1ZZ=y2y1+xy1第21页/共45页S0X/Z0/01/0S11/0S20/00/01/1可重叠可重叠次态/输出现态10S0S1S2S0/0S2/0S0/0S1/0S1/0S1/1试设计一个101序列检测器,该同步电路由一根输入线X,一根输出线Z,对应与输入序列的101的最后一个“1”,输出Z=1。其余情况下输出为“0”。101序列可以重叠,如:X:010101101 Z:000101001。(1)画状态图(2)状态表并简化第22页/共45页次态/输出现态10S0S1S2S0/0S2/0S0/0S1/0S1/0S1/1由原则(1)得:状态S0和S1应分配相邻的二进制代码;状态S
14、0 S1 S2 也应分配相邻二进制代码。由原则(2)得:状态S0、S1 和S2,S0和S1 应分配相邻的代码。由原则(3)得:状态S0、S1、S2应分配相邻的代码。由原则(4)得:状态S0分配逻辑0,即S0的编码为Q1Q0=00。次态/输出现态Q1Q01000011000/010/000/001/001/001/11S0S1S2Q1Q0010状态分配方案(4)采用联立方程法求激励函数和输出函数(3)状态分配第23页/共45页(5)检查电路能否自启动及错误输出ZX Q1Q0Q1n+1Q0n+1J0K0J1K10 1 11 1 101 10 10 11 00 00 11错误输出由状态表画卡诺图如下
15、由卡诺图列方程如下能自启动但有错误输出修改Z=XQ1Q0第24页/共45页次态输入x现态Q1 Q0输出z 激励函数J1 K1 J0 K000001111 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 0 0 0 d d 0 1 0 1 0 1 d d000d001d0 d 0 d 1 d d 1 d 1 0 d d d d d 0 d 1 d 0 d d 0 d 1 1 d d d d d Q Q(n+1)J K0 00 11 01 10 d1 dd 1d 0JK激励表Q1n+1 Q0n+1采用状态转移表法求激励函数和输出函数修改Z=XQ1Q0Z=XQ1同理画卡诺
16、图得画Z卡诺图得检查电路能自启动但有错误输出第25页/共45页例例例例建立原始状态图建立原始状态图建立原始状态图建立原始状态图设计一个按自然态序变化的7进制同步加法计数器,计数规则为逢七进一,产生一个进位输出。状态化简状态化简状态化简状态化简状态分配状态分配状态分配状态分配已经最简。已是二进制状态。第26页/共45页选触发器,求时钟、输出、状态、驱动方程选触发器,求时钟、输出、状态、驱动方程选触发器,求时钟、输出、状态、驱动方程选触发器,求时钟、输出、状态、驱动方程因需用3位二进制代码,选用3个CP下降沿触发的JK触发器,分别用FF0、FF1、FF2表示。由于要求采用同步方案,故时钟方程为:输
17、出方程:第27页/共45页状状状状态态态态方方方方程程程程不化简,以便使之与JK触发器的特性方程的形式一致。第28页/共45页比较,得驱动方程:电电路路图图第29页/共45页检查电路能否自启动检查电路能否自启动将无效状态111代入状态方程计算:可见111的次态为有效状态000,电路能够自启动。第30页/共45页例 设计一个“111”序列检测器,用来检测串行二进制序列,要求每当连续输入3个(或3个以上)1时,检测器输出为1,否则输出为0。其典型输入输出序列如下。输入x:0 1 1 1 0 1 1 1 1 0输出Z:0 0 0 1 0 0 0 1 1 0A1/0BC0/01/10/01/0(b)0
18、/01/10/0D建立原始状态图建立原始状态图第31页/共45页状态化简状态化简现态次态/输出ZX=0X=1ABCDA/0A/0A/0A/0B/0C/0D/1D/1现态次态/输出ZX=0X=1ABCA/0A/0A/0B/0C/0C/1因最小化状态表中有3个状态,故状态编码的长度为2,设状态变量为y2和y1。由状态分配的基本原则分别可得:(1)状态对BC,AB,AC应分配相邻代码;(2)状态对AB,AC,应分配相邻代码;(3)状态对AB应分配相邻代码;(4)状态A应为逻辑0 状态分配状态分配第32页/共45页1ABCy2y1010状态分配方案现 态y2 y1X=0X=100011100/000/
19、000/001/011/011/1选触发器,求输出、次态、驱动方程选触发器,求输出、次态、驱动方程次态输入x现态y2 y1激励函数J2 K2 J1 K1输出Z000011110 00 11 11 00 00 11 11 00 00 00 0d d0 11 11 1d d0 d 0 d0 d d 1d 1 d 1d d d d1 d 1 d1 d 1 dd 0 d 0d d d d000d001d第33页/共45页检查电路能否自启动检查电路能否自启动次态输入x现态y2 y1激励函数J2 K2 J1 K1输出Z011 01 00 1 0 10 0 1 00 00 101 一旦电路处于无用状态“10
20、”,不管输入为1还是为0,经过一个时钟节拍,电路可自动进入有效序列。说明电路无挂起现象,但从输出来看,若电路处于无用状态“10”,当输入为1时,电路错误地输出一个1。为了消除这个错误输出。电路输出应修改如下 第34页/共45页Y2J2K2&XCPY1J1K11&Y1Z电路图电路图第35页/共45页由输出卡诺图可得电路的输出方程:由输出卡诺图可得电路的输出方程:根据次态卡诺图和D触发器的驱动表可得各触发器的驱动卡诺图:由各由各驱动卡诺图可得电路的驱动方程:驱动卡诺图可得电路的驱动方程:若用D触发器实现,画出电路的次态和输出卡诺图。第36页/共45页0/01/0100/001Q1/10/0111/
21、11/01X/Y0000/0QQ0C11DQC11DQX&CPQ1Y&电路无挂起现象;但从输出来看,若电路处于无用状态“10”,当输入为1时,电路错误地输出一个1。为了消除这个错误输出。电路输出应修改如下 画逻辑图。根据驱动方程和输出方程,画出逻辑图。检查能否自启动。第37页/共45页 设计一个串行数据检测电路,当连续输入3个或3个以上1时,电路的输出为1,其它情况下输出为0。例如:输入X输入Y000000001000110例例建立原始状态图建立原始状态图S0S1S2S3设电路开始处于初始状态为S0。第一次输入1时,由状态S0转入状态S1,并输出0;1/0X/Y若继续输入1,由状态S1转入状态
22、S2,并输出0;1/0如果仍接着输入1,由状态S2转入状态S3,并输出1;1/1此后若继续输入1,电路仍停留在状态S3,并输出1。1/1电路无论处在什么状态,只要输入0,都应回到初始状态,并输出0,以便重新计数。0/00/00/00/0状态分配不同得状态分配不同得到的结果不同到的结果不同第38页/共45页原始状态图中,凡是在输入相同时,输出相同、要转换到的次态也相同的状态,称为等价状态。状态化简就是将多个等价状态合并成一个状态,把多余的状态都去掉,从而得到最简的状态图。状态化简状态化简状态分配状态分配所得原始状态图中,状态S2和S3等价。因为它们在输入为1时输出都为1,且都转换到次态S3;在输
23、入为0时输出都为0,且都转换到次态S0。所以它们可以合并为一个状态,合并后的状态用S2表示。S0=00S1=01S2=10第39页/共45页选触发器,求时钟、输出、状态、驱动方程选触发器,求时钟、输出、状态、驱动方程选用2个CP下降沿触发的JK触发器,分别用FF0、FF1表示。采用同步方案,即取:输出方程状态方程第40页/共45页比较,得驱动方程:电电路路图图检查电路能否自启动检查电路能否自启动将无效状态11代入输出方程和状态方程计算:电路能够自启动。注意:比较上例可看出状态分配不同电路的复杂程度也不同第41页/共45页6.6用multisim分析时序逻辑电路例:分析下图的计数器电路。求电路的时序图.说明这是几进制的计数器。第42页/共45页第43页/共45页第44页/共45页感谢您的观看!第45页/共45页