1、设计一个序列检测器,用来检测输入的串行二进制序列,每当输入序列 1010时,检测器输出为 1,否则输出为 0。解:进行逻辑抽象,得出原始状态转换图和状态转换图。设输入为 X,输出为 Z,设定初态为 S0;电路输入一个 1 后状态为 S1;电路再输入一个 0 以后的状态为S2;电路再输入一个 1 以后的状态为 S3;电路再输入一个 0 以后的状态为 S4;原始状态转换图如下:S0 S1S2S3S40/01/00/10/00/01/01/01/01/00/0原始状态图状态表如下:次态 Sn+1/输出 Z现态 SnX=0 X=1S0 S0/0 S1/0S1 S2/0 S1/0S2 S0/0 S3/0
2、S3 S4/1 S1/0S4 S0/0 S3/0最简状态表如下:次态 Sn+1/输出 Z现态 SnX=0 X=1S0 S0/0 S1/0S1 S2/0 S1/0S2 S0/0 S3/0S3 S2/1 S1/0状态编码:上表共有 4 中状态,可用两位二进制代码代码来表示,设状态变量为 Y2和 Y1;依据状态编码的原则,可以确定:(1) S0 和 S1、S 1 和 S3、S 0 和 S3、S 0 和 S2 应相邻编码;(2) S0 和 S1、 S2 和 S1、S 0 和 S3 应相邻编码;(3) S0、S 1、S 2 应相邻编码;(4) S1 应取 0 编码;最后得到,S 1=00,S 0=11,
3、S 2=10,S 3=01所以状态转换表就可以换为:次态 Y2n+1Y1n+1/输出 Z现态 Y2nY1nX=0 X=111 11/0 00/000 10/0 00/010 11/0 01/001 10/1 00/0又上表可知,输出方程:Z=Y 2n Y1n X用卡诺图对 Y2n +1、Y 1n+1 进行化简,卡诺图如下:X00 01 11 100 1 1 1 11 0 0 0 0状态方程 2:Y 2n+1=XX00 01 11 100 0 0 1 11 0 0 0 1状态方程 1:Y 1n+1=X Y2n +Y2n Y1n选用 JK 触发器来做,Y2n+1=X 激励方程 2:J 2= X , K2=X用同样的方法可得:激励方程1:J 1= Y2n K1= X+ Y2n根据输出方程和驱动方程可画出逻辑图如下:Yn2 Yn1Yn2 Yn1