二、设计一个1010的序列检测器,检测到1010时输出为“1”否则为“0”,用D触发器实现。第一步:根据要求进行逻辑抽象,得出电路的原始状态转换图和状态转换表。取输入数据变量为X,检测的输出变量为Z,该同步时序逻辑电路的功能是检测输入序列是否为1010,一旦输入序列出现一个1就记下来,因为这个1可能是1010序列的第一个1,;接着看输入是否为0,因为10是序列1010的前两位;其次再看输入是否为1,因为101是1010序列的前三位;最后再输入一个0,输出则为1,因为出现了一个1010序列,泽电路必须记住1,10,101,1010四种输入情况,每一种输入情况应与电路的一个状态相对应。根据题意,设电路随机的输入和输出序列为:X:0101000101010……Z:0000100000100……该电路仅有一个输入端,每个现态有两个可能转移方向,设电路初态为S0,当X=0时,电路仍处在状态S0,当输入一个1以后的状态为S1,输入10以后的状态为S2,输入101以后的状态为S3,输入1010以后的状态为S4。以Sn表示电路的现态,Sn+1表示电路的次态。由此得出原始状态转换图和原始状态转换表:现态Sn次态Sn+1/输出ZX=0X=1S0S4S1S3S21/01/00/00/01/01/00/01/00/00/1S0S0/0S1/0S1S2/0S1/0S2S0/0S3/0S3S4/1S1/0S4S0/0S1/0第二步:状态化简:依据状态等效条件判断得出S0和S4在相同的输入条件下,它们转换到相同的次态去,且有相同的输出,故S0和S4等效,经分析比较,找出最大等效类:{S1},{S2},{S3},{S0,S4}。由此得出化简的状态转换图和最简状态表:现态Sn次态Sn+1/输出ZX=0X=1S0S0/0S1/0S1S2/0S1/0S2S0/0S3/0S3S0/1S1/0第三步:状态编码:最贱状态表共有四种状态,可用两位二进制代码来表示,设状态变量为Q1,Q2,依据状态编码原则,确定S0=00,S1=01,S2=11,S3=10四种状态,其编码后的状态转换图和状态转换表:S0S1S3S21/00/01/00/10/01/01/00/0现态Q2nQ1n次态Q2n+1Q1n+1/输出ZX=0X=10000/001/00111/001/01100/010/01000/101/0第四步:求出各触发器的状态方程,驱动方程和输出方程。Q2nQ1nX000111100000110000(1)Z=XQ2nQ1nQ2nQ1nX000111100010010010(2)000111Q2Q1101/00/01/00/10/01/00/01/0X/ZQ2n+1=XQ2nQ1n+XQ2nQ1nQ2nQ1nX000111100010011101(3)Q1n+1=XQ2n+XQ1n+Q3nQ1n由D触发器特性方程求出各个触发器的驱动方程:D2=XQ2nQ1n+XQ2nQ1nD1=XQ2n+XQ1n+Q2nQ1n第五步:画出逻辑电路图:第六次:检测该电路是否有自启动能力。该电路没有无关状态。当X=0时,输出Z=XQ2nQ1n,触发器的次态Q2n+1=XQ2nQ1n+XQ2nQ1n=0,Q1n+1=Q2nQ1n+XQ1n=0,若此时来一个时钟脉冲CP,则可转入有效状态00,即S0。当X=1时,输出Z=XQ2nQ1n,触发器的次态Q2n+1=XQ2nQ1n+XQ2nQ1n=1,Q1n+1=Q2nQ1n+XQ1n=0,若此时来一个时钟脉冲CP,则可转入有效状态10,即S3。所以该逻辑电路具有自启动能力。