第六章 时序逻辑电路的设计方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

设计要求原始状态图最简状态图画电路图检查电路能否自启动时序电路的设计步骤:选触发器,求时钟、输出、状态、驱动方程状态分配化简6.4时序逻辑电路的设计方法4、选定触发器的类型,列出激励函数表,并求出激励函数和输出函灵敏表达式。同步时序电路设计的一般步骤如下:1、把对时序电路的一般文字描述形成原始的状态图和状态表。2、对原始状态表进行状态化简,消去多余的状态,求得最小化状态表。3、对简化后的状态表进行状态编码即进行状态赋值,把状态表中用文字标注的每个状态用二进制代码表示。这一步得到一个二进制状态表。5、画出逻辑电路图。试作出101序列检测器的状态图,该同步电路由一根输入X,一根输出Z,对应与输入序列的101的最后一个“1”,输出Z=1。其余情况下输出为“0”。101序列可以重叠,如:X:010101101Z:000101001。101序列不可以重叠,如:X:0101011010Z:0001000010解:1)S0:起始状态,S1:收到序列起始位“1”。S2:收到序列前2位“10”。一、建立原始的状态表、状态图S0X/Z0/01/0S11/0S20/00/01/1(1)可重叠次态/输出现态10S0S1S2S0/0S2/0S0/0S1/0S1/0S1/1(2)不可重叠X/ZS0S1S20/01/01/00/01/10/0次态/输出现态10S0S1S2S0/0S2/0S0/0S1/0S1/0S0/1【例】建立“111”序列检测器的原始状态图和原始状态表。解:①确定输入变量和输出变量。X=011011111011Z=000000111000②设置状态。S0:初始状态,表示电路还没有收到一个有效的1。S1:表示电路收到了一个1的状态。S2:表示电路收到了连续两个1的状态。S3:表示电路收到了连续三个1的状态。设该电路的输入变量为X,代表输入串行序列,输出变量为Z,表示检测结果。输入X和输出Z之间的关系为S00/0S1S2S30/01/01/01/10/00/0X/Z1/1XSS/Zn+1S0S1S2S301S0/0S0/0S0/0S0/0S1/0S2/0S3/1S3/1③画状态图,列状态表。Mealy型原始状态图Mealy型原始状态表S0S4S8S7S6S5S1S30/11/10/11/00/01/00/01/00/01/00/01/00/01/0S10S14S13S12S11S2S90/01/00/01/00/01/10/11/10/01/00/01/00/01/0SiX/Z0/01/0①确定输入变量和输出变量。输入变量X,为串行输入余3码序列,高位在前,低位在后;输出变量Z=1为误码输出。②设置状态。该电路属于串行码组检测,对输入序列每四位一组进形检测后才复位,因此初始状态表示电路准备开始检测一组代码。从初始状态开始,每接收一位代码便设置一个状态。【例】建立一个余3码误码序列检测器的原始状态图和原始状态表。例、设计01检测器0/00/01/10/01/0BAC1/0次态/输出现态ABCB/0B/0B/0A/0C/1C/001状态图状态表例、设计一个1001检测电路要求:1)电路连续不停地工作,凡是遇到连续的四位输入为1001时,输出为1,否则为02)每输入四位码之后,电路自动恢复到初态,在这四位输入码中,当且仅当为1001时,输出为1,否则,输出为0。允许重叠不允许重叠注:1/01/11/00/01/00/00/0BACD0/0不允许重叠:解:允许重叠状态图状态图1/11/00/01/00/00/0BACD0/01/0例、检测是否为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状态图二、状态表简化状态表简化:消除多余的状态得最小化状态表。完全确定状态表不完全确定状态表状态表的种类二)、不完全确定状态表:状态表中所有次态及输出有不确定的。一)、完全确定状态表:状态表中所有次态及输出都是确定的。最小化状态表观察法构成原始状态图时,只考虑设计要求,未考虑状态数目,为减少成本,对原始状态表进行简化。例简化下例状态表现态次态/输出x=0x=1ABCDA/0A/0A/0A/0B/0C/0D/1D/1现态次态/输出X=0X=1A′B′C′A′/0A′/0A′/0B′/0C′/0C′/1(C、D)等效最小化状态表为),(),(),(DCBAA),(B)和(C,D)分别用符号最后代入原状态表中,从而得到最小化状态表。最小化状态表BA,C和表示三、状态编码1、定义:所谓状态编码,是指给最小化状态表中的每个字母或数字表示的状态,指定一个二进制代码,形成二进制状态表。状态编码也称状态分配。2、状态编码的任务是:(1)确定状态编码的长度(即二进制代码的位数或触发器状态变量y1,…,yr的位数);(2)寻找一种最佳的或接近最佳的状态分配方案。以便使所设计的时序电路最简单。状态编码的长度是由最小化状态表中的状态个数来确定的。设最小化状态表的状态数为N,状态编码的长度为n,状态数N与状态编码长度n的关系为2n-1N≤2n状态进行分配时,可能出现的状态分配方案数KS为:)!2(!2NAKsnnNn(21)!(2)!!nnKuNn其中是独立的下面看4个状态的分配方法,用2位二进制表示Y1Y2卡诺图如下ADBC0110y1y21y1ABDC0110y22ADCB0110y1y23ACDB0110y1y24ABCD0110y1y25ACBD0110y1y26由以上卡诺图可以看出只有3种是独立方案(1、2)(3、4)(5、6)3、状态分配的基本原则有四条(经验)(1)(列相邻)在相同输入条件下具有相同次态的现态,应尽可能分配相邻的二进制代码;(2)(行相邻)在不同输入条件下,同一现态的次态应尽可能分配相邻的二进制代码;(3)(输出相同相邻)输出完全相同的现态应尽可能分配相邻的二进制代码;(4)最小化状态表中出现次数最多的状态应分配逻辑0。(一般初始状态分配逻辑0)例对表所示的状态表进行状态编码。现态次态/输出X=0X=1ABCDC/0C/0B/0A/1D/0A/0D/0B/1第一步:确定状态编码的长度。因状态表中共有四个状态,即N=4,所以每个状态编码的长度应为n=2,也就是说,实现该状态表需要2个触发器,设状态表变量为了y1和y2。第二步:确定状态分配方案1ABCDy1y2010状态分配方案Zyynn输出/1112现态y2y1x=0x=10001111010/010/000/101/011/000/001/111/0第三步:确定状态分配表由原则(1列相邻)得:状态A和B应分配相邻的二进制代码;状态A和C也应分配相邻二进制代码。由原则(2行相邻)得:状态C和D,C和A,B和D,A和B应分配相邻的代码。由原则(3输出相同相邻)得:状态A、B和C应分配相邻的代码。由原则(4初始状态为0)得:状态A分配逻辑0,即A的编码为y1y2=00。现态次态/输出X=0X=1ABCDC/0C/0B/0A/1D/0A/0D/0B/1四、确定激励函数和输出函数根据二进制状态表和所选定的触发器的激励表或次态方程,求出触发器的激励函数表达式和电路的输出函数表达式,并予以化简。确定激励函数的方法:次态方程联立法状态转移表法例若用T触发器实现上例所示的二进制状态表,试写出激励函数和输出函数的表达式。现态y2y1x=0x=10001111011/000/000/101/001/000/110/111/0Zyynn输出/1112解第一步:确定激励函数表达式。根据给定的二进制状态表和T触发器的激励表可列出电路的激励表QQ(n+1)RSJKTD00011011d001100d0d1dd1d001100101状态转移表法次态1)(n1)1(2yny输入x现态y2y1激励函数T2T100001111000111100001111011011101010010111101111101010101画激励函数T1T2的卡诺图,并化简得212yxyxT,T1=1第二步:确定输出函数表达式112xyyyZ五、用适当的逻辑门和所选的触发器构成实现给定逻辑功能的逻辑电路。例若用J-K触发器实现下表所示的二进制状态,试确定该表的激励函数表达式和输出函数表达式。Zyynn输出/1112现态y2y1x=0x=10001111011/000/000/101/001/000/110/111/0解第一步:确定激励函数表达式。由给定的二进制状态表写出电路的次态方程组为12121212)1(1212)1(2yxyyyxyyxyyxyxyyyxynn次态方程联立法根据J-K触发器的次态方程yKyJyn)1(,变换上式得:1112222)1(1221)1(2)1()1()()()(yyyxyyxyxyxyyxyyxynn1K,1K,11212JxyxJ将上式与J-K触发器的状态方程进行比较得激励函数为第二步:确定输出函数表达式。xy2y1000111100100000111ZZ=y2y1+xy1S0X/Z0/01/0S11/0S20/00/01/1可重叠次态/输出现态10S0S1S2S0/0S2/0S0/0S1/0S1/0S1/1试设计一个101序列检测器,该同步电路由一根输入线X,一根输出线Z,对应与输入序列的101的最后一个“1”,输出Z=1。其余情况下输出为“0”。101序列可以重叠,如:X:010101101Z:000101001。(1)画状态图(2)状态表并简化次态/输出现态10S0S1S2S0/0S2/0S0/0S1/0S1/0S1/1由原则(1)得:状态S0和S1应分配相邻的二进制代码;状态S0S1S2也应分配相邻二进制代码。由原则(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)状态分配(b)11nQ的卡诺图00011110001d0100d0nnQQ01X(b)10nQ的卡诺图00011110000d0111d1nnQQ01X11010110QQQXQQXQn1111QKQJQn0010XQQXXQn0010KQQJQn1101KQXJXKXJ00(b)Z的卡诺图00011110000d0100d1nnQQ01X(5)检查电路能否自启动及错误输出ZXQ1Q0Q1n+1Q0n+1J0K0J1K101111101101011000011错误输出由状态表画卡诺图如下由卡诺图列方程如下能自启动但有错误输出修改Z=XQ1Q0次态输入x现态Q1Q0输出z激励函数J1K1J0K0000011110001101100011011001000dd010101dd000d001d0d0d1dd1d10ddddd0d1d0dd0d11dddddQQ(n+1)JK000110110d1dd1d0JK激励表Q1n+1Q0n+1还可采用状态转移表法求激励函数和输出函数Z的卡诺图00011110000d0100d1nnQQ01X1101KQXJXKXJ00修改Z=XQ1Q0Z=XQ1同理画卡诺图得画Z卡诺图得检查电路能自启动但有错误输出6.6用multisim分析时序逻

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功