时序逻辑电路设计

按以下步骤进行:

  1. 逻辑抽象
    A. 确定输入、输出变量以及电路的状态数
    B. 定义输入、输出逻辑状态和每个电路状态的含义
    C. 得出电路的状态转换图(表)
  2. 状态化简和状态分配
  3. 触发器选型,求出电路的状态方程、驱动方程和输出方程
  4. 根据得到的方程画出逻辑图
  5. 检查设计的电路能否自启动

下面以设计一个110串行数据检测器来具体说明。电路的目的是每连续输入1、1、0后电路就输出1,否则电路的输出为0。
1、逻辑抽象

  • 输入数据为输入变量,用X表示。

  • 检测结果为输出变量,用Y表示。

  • S0:没有输入1前的状态

  • S1:输入一个1后的状态

  • S2:连续输入11后的状态

  • S3:连续输入110前的状态

    状态转换图如下:在这里插入图片描述

2、状态化简及编码
新态/输出与原态和输入的转换关系如下:在这里插入图片描述S0与S3状态等价,化简与编码后图如下:在这里插入图片描述化简后状态转换图如下:在这里插入图片描述

3、触发器选型
将上图转换成卡诺图的形式如下:在这里插入图片描述整理得到输出Y的卡诺图如下:在这里插入图片描述卡诺图化简得到输出方程为 Y = X ‾ Q 1 \overline{X}Q_1XQ1

同理整理得到Q1n+1和Q0n+1卡诺图如下:在这里插入图片描述卡诺图化简得到 Q1n+1 = XQ1+XQ0 ,再化简 Q 1 n + 1 {Q_1}^{n+1}Q1n+1 = ( X Q 0 ) Q 1 ‾ (XQ_0)\overline{Q_1}(XQ0)Q1 + X Q 1 XQ_1XQ1Q 0 Q_0Q0 = X Q 1 ‾ Q 0 ‾ X\overline{Q_1}\overline{Q_0}XQ1Q0 ,再化简为 Q 0 Q_0Q0 = ( X Q 1 ‾ ) Q 0 ‾ (X\overline{Q_1})\overline{Q_0}(XQ1)Q0 + 1 ‾ Q 0 \overline1Q_01Q0 。根据此状态方程,选用JK触发器。J 1 J_1J1 = X Q 0 XQ_0XQ0K 1 K_1K1 = X ‾ \overline{X}XJ 0 J_0J0 = X Q 1 ‾ X\overline{Q_1}XQ1K 0 K_0K0 = 1 。

4、自启动性检查
当电路进入无效状态11后,根据上面的状态方程可得出:若X=0,则次态为00;若X=1,则次态为10 ,可见电路能够自启动。状态转换图如下:在这里插入图片描述
5、画逻辑电路图
根据3得到的输出方程、状态方程和驱动方程,画出逻辑电路图如下:在这里插入图片描述


版权声明:本文为xusiman原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。