第5章:同步时序电路和数字系统设计 §5-1 状态表与同步时序电 路的基本设计方法 §5-2 算法流程图及ASM图
数字系统的基本结构 控制单元(同步时序电路) 数据处理单元:主要完成数据的采集、存储、运算和传输,与外界 进行数据交换。主要由存储器、运算器、数据选择 其等功能电路组成。
§5-1 同步时序电路的基本设计方法 §5-1-1 原始状态表的建立 §5-1-2 用触发器实现同步时序电路 针对比较简单的同步电路,设计方法是:文字功能描述→状态表或状态图→逻辑方程→逻辑图 §5-1-1 原始状态表的建立 §5-1-2 用触发器实现同步时序电路 §5-1-3 用MSI时序模块同步时序电路
原始状态图(状态表) 原始状态图(状态表):根据设计命题的 要求初步画出的状态图(状态表)可能包 含多余状态,其建立无明显规律可循,是 时序电路设计中重要的一步。
§5-1-1 原始状态表的建立 步骤: 1、分析题意,确定输入、输出变量。 1、选择状态,以记忆电路输入的历史过程。 2、对每一个状态,考察在每一种输入组合下应转入的下一个状态,从而导出状态图和状态表。
例1:111序列检测器 当连续收到三个或三个以上1时输出1。 S1:收到0 S2:收到一个1 S3:收到两个1
例2:010和1001序列检测器 S0:0 S1:01 S2:010,10 S3:100 S4:1001 S5:1
例3:余三码误码检测器(1) 余3码:0011-1100 S0:表示复位
例3:余三码误码检测器(2)
} 例4:铁路公路交叉口控制器(1) S1:00 火车在P1、P2点之外 S2:00-10 火车在P1点上 从西向东 从东向西 }
例4:铁路公路交叉口控制器(2) 米里型
例4:铁路公路交叉口控制器(3) 莫尔型
例5:串行加法器 S0:进位为0 S1:进位为1
§4-2-3 莫尔型电路的分析 和为0 、无进位:00/0 和为0 、有进位:01/0 和为1、 无进位:10/1 和为1、 有进位:11/1 串行加法器
例6:加1/加2同步计数器 X=0时加1计数,计到9后再回0,X=1时加2计数,计到8后再回0,计数器状态为奇数时,X不会为1。
§5-1-2 用触发器实现同步时序电路 指导思想:用尽可能少的触发器和门电路实现待设计电路。 步骤: 一、状态化简 二、状态分配 三、导出激励方程和输出方程 四、设计举例 五、时钟偏移
一、状态化简 目的:用减少状态个数,达到简化电路的目的。 方法:等价的状态用一个状态代替。 状态等价条件:在所有可能的输入下: 1、它们的输出相同; 2、它们的次态满足下列条件之一: ① 次态相同; ② 次态交错; ③ 次态互为隐含条件。 {S1,S3,S4}{S2,S5}{S6,S7}
例1:状态表化简 S1={S1,S6} S2={S2,S3,S8}
例2:未完全描述状态表化简 S2={S2,S3} S4={S4,S7} S5={S5,S6}
二、状态分配 目的:状态用触发器状态表示,因此,要对状态分配二进制代码。 方法:状态分配影响电路的复杂程度,符合以下条件的状态,应尽可能分配相邻的代码。 1、在同一输入下,有相同次态的现态;(S1,S2、S2,S3) 2、同一现态在相邻输入下的次态; (S1,S3、S1,S4、 S2,S3) 3、在所有输入下,有相同输出的现态。(S2,S3) S1=00 S2=01 S3=11 S4=10
三、导出激励方程和输出方程
四、设计举例1(交通控制器)
设计举例2(8421码加法计数器)
设计举例2(续)
五、时钟偏移 1、电路中各触发器的CP脉冲不可能真正同时到达。 2、严重的时钟偏移将导致电路的错误动作。 3、采用辐射布局减少时钟偏移。 4、采用同一边沿触发器减少时钟倒相的延时。
§5-1-3 用MSI实现同步时序电路 1、一般不必进行状态化简。 2、根据所选择的MSI器件来决定状态分配和导出激励方程和输出方程。 一、用计数器实现同步时序电路 二、用移位寄存器实现同步时序电路 三、用四D锁存器实现同步时序电路
例1:用74163实现交通控制电路
例1:(续1)
例1:(续2)
例2:用74194实现交通控制电路
例2:(续)
例2:(续)
例3:用74175实现交通控制电路
例3:(续1) 一对一的设计: Q1Q2Q3Q4 1 0 0 0 表示 S1 0 1 0 0 表示 S2 0 0 1 0 表示 S3
例3:(续2)
§5-2 算法流程图及ASM图 针对相对复杂的同步电路,常用的设计步骤是:算法设计→电路划分→数据处理单元设计→控制单元设计。 §5-2-0 引例 §5-2-1 算法流程图 §5-2-2 算法设计 §5-2-3 电路划分和逻辑框图 §5-2-4 数据处理单元设计 §5-2-5 ASM图 §5-2-6 控制单元设计
引例:含1统计电路 输入:X=xn-1xn-2……x0 输出:Z=X中1的个数
§5-2-1 算法流程图 组成:1、工作块 2、判别块 3、条件块 4、开始、结束块 5、指向线
§5-2-2 算法设计 把系统要实现的复杂运算分解成一组子运算,并确定子运算的顺序和规律。 例1:含1统计电路算法流程图
例2:乘法电路算法流程图 1011 ×1101 0000 10001111
§5-2-3 电路划分和逻辑框图 根据电路要求画出逻辑框图,并把电路划分成数据处理单元和控制单元。 例1:含1统计电路逻辑框图(n=15)
例2:乘法器的逻辑框图
§5-2-4 数据处理单元的设计 根据选择芯片或逻辑模块实现各子运算,并连接成数据处理单元。 例1:含1统计电路的数据处理单元
例2:乘法电路数据处理单元
§5-2-5 ASM图 类似于流程图,但描述了控制器在不同时刻应完成的操作,反映控制条件及控制器状态的转换。ASM图表示了在时钟信号作用下状态转换和状态分支以及条件输出和无条件输出的细节和顺序,它是控制器设计的依据.
例1:流程图和ASM图的转换
例2:含1统计电路的ASM图
例2:(续1)
例3:乘法器控制单元的ASM图 S0:等待 S1:清零 置数 S2:加 S3:右移
§5-2-6 控制单元的设计 设计依据:状态转换图(表)、ASM图。 状态化简:一般不做。 状态分配:和时序电路设计一样。 根据控制信号的变化规律和逻辑功能设计控制单元的具体电路。 设计依据:状态转换图(表)、ASM图。 状态化简:一般不做。 状态分配:和时序电路设计一样。
例1:用触发器实现乘法器控制单元(1) 从ASM图直接导出激励方程和输出方程。 导出状态表 S0:等待 S1:清零 置数 S2:加
例1:用触发器实现乘法器控制单元(2) 画出电路图:
例2:用计数器实现乘法器控制单元(1)
例2:用计数器实现乘法器控制单元(2) 画出电路图:
例3:移位寄存器实现乘法器控制单元(1)