《数字逻辑设计》chap6课件_第1页
《数字逻辑设计》chap6课件_第2页
《数字逻辑设计》chap6课件_第3页
《数字逻辑设计》chap6课件_第4页
《数字逻辑设计》chap6课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 6 章 同步时序电路 【课前思考】【学习指南】6.1同步时序电路概述6.2同步时序电路的设计6.3状态化简6.4同步时序电路中的竞争和险象6.5算法状态机图6.6解题示例【本章小结】2008.121第 6 章 同步时序电路 【课前思考】2008.16.1同步时序电路概述时序逻辑电路:时序电路的输出不仅取决于当前的输入;还与当前的状态有关。当前状态由此前的状态演变而来。同步时序电路:记忆元件由寄存器构成。寄存器中各触发器被同一个时钟信号 clock 驱动。2008.1226.1同步时序电路概述2008.122时序电路的电路模型 2008.123时序电路的电路模型 2008.123时序电路的数

2、学模型: 有限状态机(FSM)有限状态机的状态集合表示为: S(1 . p) = (s1, s2, si, sp) (6-1)将这p个状态编码,保存在状态寄存器y(1.k)中: y(1.k)= (y1, y 2, y i, y k) (6-2)状态个数p和寄存器长度k之间必须满足以下关系:组合逻辑电路产生激励信号和输出信号: Moore型 Mealy型 2008.124时序电路的数学模型: 有限状态机(FSM)有限状态机的状态集有限状态机的Moore模型Moore 模型的 输出是且仅是当前状态的函数。2008.125有限状态机的Moore模型Moore 模型的 输出是且仅是当有限状态机的Mea

3、ly模型Mealy 模型的 输出是当前状态和当前输入的函数。描述任何时序电路,既可以选用Moore模型,也可以选用Mealy模型2008.126有限状态机的Mealy模型Mealy 模型的 输出是当前状态6.2同步时序电路的设计 设计流程2008.1276.2同步时序电路的设计 设计流程2008.127例6.2 输入信号值检测器 复位信号reset = 0使检测器进入预期的初始 状态; 时钟信号clock的上升沿检测输入信号sin的值, 如果sin连续3次(3)被检测为1, 则 输出信号sout =1, 否则sout = 0。 模拟波形见后本例通过手工设计介绍基本概念2008.128例6.2

4、输入信号值检测器 复位信号reset = 0模拟波形可把下述模拟波形看作目标电路应实现的功能:2008.129模拟波形可把下述模拟波形看作目标电路应实现的功能:2008.检测器的Moore型状态迁移图2008.1210检测器的Moore型状态迁移图2008.1210检测器的Moore型状态迁移表 表6.22008.1211检测器的Moore型状态迁移表 检测器的Mealy型状态迁移图同一个任务(检测器) 可以用Moore模型; 也可以用Mealy模型对应的状态表留作练习2008.1212检测器的Mealy型状态迁移图同一个任务(检测器)对应的状态状态分配(编码)得到时序电路的最小化状态表之后,

5、应该给每个状态分配一个二值代码,使该二值代码与状态寄存器的状态相对应。状态分配的要求:成本较低;避免险象发生。成本较低 寄存器长度 k 的选择:如果优先考虑寄存器的成本,则应使寄存器的长度 k 最短。在 k 最小的前提下进行编码,可能得到一个成本相对较低、但不一定是最低的方案。手工设计过于繁琐,不可能做很多方案的比较。设状态数为 n , 若满足以下关系 则可以达到的 k 最小目的。本例选择寄存器长度最短的方案,由于n = 4,故 k = 2。2008.1213状态分配(编码)得到时序电路的最小化状态表之后,应该给每个状状态编码状态编码:为避免险象发生,本例采用格雷码编码:以编码形式表示的状态表

6、 :2008.1214状态编码状态编码:2008.1214确定激励函数和输出函数选择触发器类型: D触发器由状态表导出激励表 :2008.1215确定激励函数和输出函数选择触发器类型: D触发器2008.确定激励函数和输出函数(续)由激励表导出激励函数和输出函数 :2008.1216确定激励函数和输出函数(续)由激励表导出激励函数和输出函数 检测器原理图 由激励函数和输出函数导出原理图:2008.1217检测器原理图 由激励函数和输出函数导出原理图:2008.12用VHDL和EDA工具进行设计根据状态表(表6.2)写出VHDL代码: 2008.1218用VHDL和EDA工具进行设计根据状态表(

7、表6.2)写出VHVHDL代码(续)2008.1219VHDL代码(续)2008.1219VHDL代码提交Quartus编译 模拟 模拟波形图: 波形图与预期相符 2008.1220VHDL代码提交Quartus编译 模拟6.3状态化简任务:消除冗余状态,使状态总数最小或接近最小,降低电路造价。类型:完全规定的有限状态机和不完全规定的有限状态机。状态表中,若次态栏中存在不确定的取值(用表示)或输出栏中存在不确定的取值(用d表示),则称该有限状态机为不完全规定的有限状态机;否则,是完全规定的有限状态机。完全规定的有限状态机可看作不完全规定的有限状态机的一种特殊情况适合于不完全规定的有限状态机的状

8、态化简算法必然也适合于完全规定的有限状态机;反之则不然。表6.6是一个不完全规定有限状态机的实例。2008.12216.3状态化简任务:消除冗余状态,使状态总数最小或接近最小状态化简(续)不完全规定有限状态机的实例:2008.1222状态化简(续)不完全规定有限状态机的实例:2008.1222不完全规定的FSM的状态化简定义6.1 满足下述条件的2个状态称为相容状态对:输出一致:2个状态的输出在有明确规定的地方取值相同。次态相容:对于输入信号取值的任一组合,这2个状态的次态相容。定义6.2 若状态集合S中任意2个状态对都是相容状态对,则S是一个相容类,可以合并为一个状态。例 6.3 对表6.6

9、所示状态表进行化简:2008.1223不完全规定的FSM的状态化简2008.1223状态化简实例(例6.3续) 寻找相容状态对思路:把不相容状态对排除之后,剩余的必然都是相容状态对。Step1 创建一个隐含表, 表示状态对的全集合: 把所有状态(s1, s2, s3, s4, s5)按序排列;水平方向:自左向右地安排每一个状态但缺少最后一个状态(本例缺少s5);垂直方向: 自上向下地安排每一个状态但缺少第1个状态(本例缺少s1)。2008.1224状态化简实例(例6.3续) 寻找相容状态对思路:把不相容状态化简实例(例6.3续) 寻找相容状态对Step2 依据状态表查找输出不一致的状态对:本例

10、有2个输出不一致的状态对(s2, s5)和(s3, s5),对应的方格中填入“”,标记其为不相容状态对。2008.1225状态化简实例(例6.3续) 寻找相容状态对Step2 状态化简实例(例6.3续) 寻找相容状态对Step3 依据状态表查找次态不相容的状态对:隐含表中没有标记“”的方格属于可能相容、也可能不相容的状态对。对于没有 “”的方格,若存在某一输入组合使其次态落入带有标记“”的方格中,则它属于次态不相容的状态对。在该方格中填入“”。Step4 若step3发现了新的不相容状态对,转step3 继续查找;否则,隐含表中没有标记“”的每一个方格都代表一个相容状态对,转step5。 本例

11、(s2, s4)次态不相容!2008.1226状态化简实例(例6.3续) 寻找相容状态对Step3 状态化简实例(例6.3续) 合并相容类Step5 相容状态对之间用一条线相连 ,构成相容图。任意两个状态之间都有连线的状态构成一个相容类。 尽量把规模较大的相容类合并为一个新的状态,使状态总数最少。每个状态必须属于且仅属于一个相容类。单独一个状态也可以认为是相容类的一个特例。 2008.1227状态化简实例(例6.3续) 合并相容类Step5 相状态化简实例(例6.3续)Step6 闭合性检查:原始状态表(表6.6)中的每一个状态属于且仅属于一个相容类。在输入信号取值的每一种组合的情况下,原始状

12、态表(表6.6)中的每一个状态的次态都落入一个且仅落入某一个相容类中。 简化的状态表:2008.1228状态化简实例(例6.3续)Step6 闭合性检查:2006.4 同步时序电路中的竞争和险象同步时序电路由寄存器和组合逻辑电路构成,组合逻辑电路中的竞争和险象(见3.5节)在这里都会发生;本节重点探讨状态变迁序列与险象的关系。2008.12296.4 同步时序电路中的竞争和险象同步时序电路由寄存器和例6.4 一个引发险象的同步时序电路2008.1230例6.4 一个引发险象的同步时序电路2008.1230例6.4 险象分析设 Dff2 和 Dff1 的现态为01,当clock时,经过少许延迟,

13、将变为10若t1 =t2 =t3 =t4 =t5 =t6 =t7 =t8 则与门输入端的感受到的状态变迁也是01 10,无险象发生。否则,与门输入端感受到如下情况:01 00 (短暂) 10:这种情况下信号st0处可能发生正尖峰的“毛刺”; 01 11 (短暂) 10:这种情况下信号st3处可能发生正尖峰的“毛刺” 防止险象发生的措施:计数序列必须保证相邻2个状态的编码不允许2位或2位以上同时发生变化。 “海明距离(Hamming distance)” 的概念2008.1231例6.4 险象分析2008.1231例6.4 险象分析(续)定义6.3 2个位串中取值不同的位数称为位串之间的海明距离

14、。例如位串0110和0111之间的海明距离为1;而位串0010和0111之间的海明距离为2。为防止险象的发生,可采用格雷码编码(其海明距离为1 )。若采用格雷码编码,则本例的计数序列为 :由于2个相邻状态的编码的海明距离为1,译码器的输出不会出现非预期的“毛刺”。2008.1232例6.4 险象分析(续)定义6.3 2个位串中取值不同例6.4 防止险象发生的措施措施之一: 计数器采用格雷码编码 译码器的与门输入不会有两个或两个以上信号同时发生变化 无险象发生。措施之一: 计数器采用1热态位编码,不再需要译码器,直接把触发器的输出作为整个电路的输出 无险象发生。2008.1233例6.4 防止险

15、象发生的措施措施之一: 计数器采用格雷在VHDL描述中指定状态编码(例)2008.1234在VHDL描述中指定状态编码(例)2008.12346.5算法状态机图(ASM图) 有限状态机(FSM)也称作算法状态机(algorithmic state machine, ASM) ASM图和状态图相比,更适合于描述规模较大的同步时序电路。ASM图中的元素 :2008.12356.5算法状态机图(ASM图) 有限状态机(FSM)也称作检测器(例6.2)的Moore型描述 状态图ASM图2008.1236检测器(例6.2)的Moore型描述 状态图ASM图2008检测器(例6.2)的Mealy型描述状态

16、图ASM图2008.1237检测器(例6.2)的Mealy型描述状态图ASM图2008.6.6解题示例例 6.7 设计一个产生6个节拍 的节拍发生器。输入信号:异步清零信号reset:reset = 0时,强制进入初始状态st0;时钟信号clock:激励节拍发生器发生状态转换。输出信号:Q(0), Q(1), Q(2), Q(3), Q(4), Q(5)依次出现高电平,且高电平的持续期与时钟周期相同。 2008.12386.6解题示例例 6.7 设计一个产生6个节拍2008.解题示例 例 6.7 续 状态图(Moore型)状态编码(海明距离 = 1)2008.1239解题示例 例 6.7 续

17、状态图(Moore型)2008解题示例 例 6.7 续 以状态编码形式表示的状态表 2008.1240解题示例 例 6.7 续 以状态编码形式表示的状态表 2解题示例 例 6.7 续 状态表 VHDL代码 2008.1241解题示例 例 6.7 续 状态表 VHDL代解题示例 例 6.7 续 状态表 VHDL代码 2008.1242解题示例 例 6.7 续 状态表 VHDL代解题示例 例 6.7 续 状态表 VHDL代码 2008.1243解题示例 例 6.7 续 状态表 VHDL代解题示例 例 6.7 续 提交Quartus 模拟波形 波形与预期相符2008.1244解题示例 例 6.7 续

18、 提交Quartus 解题示例 例 6.8 将例 6.7 的设计要求做如下修改:删除复位信号reset;增加自复位功能:无论什么原因(例如初始加电或干扰)使电路进入非指定状态,电路都有能力自动恢复到正常工作状态。 建立符合题意的状态表(表6.10):2008.1245解题示例 例 6.8 将例 6.7 的设计要求做如下修改解题示例 例 6.8 续 状态表 VHDL代码 2008.1246解题示例 例 6.8 续 状态表 VHDL代解题示例 例 6.8 续 状态表 VHDL代码 2008.1247解题示例 例 6.8 续 状态表 VHDL代解题示例 例 6.8 续 状态表 VHDL代码 2008

19、.1248解题示例 例 6.8 续 状态表 VHDL代解题示例 例 6.8续 提交Quartus 模拟波形波形与预期相符2008.1249解题示例 例 6.8续 提交Quartus 解题示例 例 6.9设计一个 8 位计时器 Timer:(1)reset:异步清零信号, 低电平有效, 具有最高的优先级。 Reset = 0使输出信号ring = 0。(2)clock:同步时钟,正跳变触发。(3)start:计时器启动信号。(4)ring:控制铃响的输出信号,高电平有效。 ring = 1的持续期为8,超过此持续期后自动归 0。2008.1250解题示例 例 6.9设计一个 8 位计时器 Timer:计时器Timer的时序关系2008.1251计时器Timer的时序关系2008.1251Timer目标电路的分解 解:2008.1252Timer目标电路的分解 解:2008.1252Timer的ASM图 2008.1253Timer的ASM图 2008.1253Timer的状态表 2008.1254Timer的状态表 2008.1254Timer的VHDL代码2008.1255T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论