《数字逻辑设计》chap6课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《数字逻辑设计》chap6课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字逻辑设计 数字 逻辑设计 chap6 课件
- 资源描述:
-
1、第第 6 章章 同步时序电路同步时序电路【课前思考课前思考】【学习指南学习指南】6.1同步时序电路概述同步时序电路概述6.2同步时序电路的设计同步时序电路的设计6.3状态化简状态化简6.4同步时序电路中的竞争和险象同步时序电路中的竞争和险象6.5算法状态机图算法状态机图6.6解题示例解题示例【本章小结本章小结】2008.122008.121 同步时序电路同步时序电路 异步时序电路 脉冲异步时序电路 电位异步时序电路 组合逻辑电路 时序逻辑电路 逻辑电路 触发器作为记忆元件,各触发器由同一个时钟脉冲驱动 6.1同步时序电路概述同步时序电路概述 时序逻辑电路:时序逻辑电路:时序电路的输出不仅取决于
2、当前的输入;还与当前的状态有关。时序电路的输出不仅取决于当前的输入;还与当前的状态有关。当前状态由此前的状态演变而来。当前状态由此前的状态演变而来。同步同步时序电路:时序电路:记忆元件由寄存器构成。记忆元件由寄存器构成。寄存器中寄存器中各各触发器触发器被被同一个时钟信号同一个时钟信号 clock 驱动。驱动。2008.122008.122时序电路的电路模型时序电路的电路模型 组合逻辑电路 记忆元件 输 出 Z(1.m)输 入 X(1.n)激励信号 Y(1.r)记忆元件现态 y(1.k)组合逻辑电路 记忆元件(寄存器)输 出 Z(1.m)(a)时序电路通用模型时序电路通用模型 (b)同步时序电路
3、模型同步时序电路模型 激励信号 Y(1.r)寄存器现态 y(1.k)清零信号 reset 时钟信号 clock 输 入 X(1.n)2008.122008.123时序电路的数学模型:时序电路的数学模型:有限状态机(有限状态机(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之间必须满足以下关系:之间必须满足以下关系:组合逻辑电路产生激励信号和输
4、出信号:组合逻辑电路产生激励信号和输出信号:)36(2kp)46().1(,).1().1(kynXgrY)56().1(,).1().1(kynXfmZ)66().1().1(kyfmZMoore型 Mealy型 2008.122008.124有限状态机的有限状态机的Moore模型模型 Moore 模型的模型的 输出是且仅是当前状态的函数输出是且仅是当前状态的函数。2008.122008.125有限状态机的有限状态机的Mealy模型模型 Mealy 模型的模型的 输出是当前状态和当前输入的函数输出是当前状态和当前输入的函数。描述任何时序电路,既可以选用描述任何时序电路,既可以选用MooreM
5、oore模型,也可以模型,也可以选用选用MealyMealy模型模型 2008.122008.1266.2同步时序电路的设计同步时序电路的设计 设计流程设计流程 状态化简 简化的状态表 输出函数 Z 状态分配 编码形式的状态表 激励函数 Y 时序电路逻辑图 触发器选型 设计要求 原始状态表 原始状态图(a)手手工工设设计计 (b)使使用用 EDA 工工具具设设计计 设计要求 原始状态表 原始状态图 VHDL 行为描述 提交 Quartus 编译:产生目标电路 模拟:产生模拟波形 器件编程 2008.122008.127例例6.2 输入信号值检测器输入信号值检测器 检检测测器器 checker
6、reset sin clock sout 复位信号复位信号reset=0使检测器进入预期的初始使检测器进入预期的初始 状态;状态;时钟信号时钟信号clock的上升沿检测输入信号的上升沿检测输入信号sin的值,的值,如果如果sin连续连续3次(次(3)被检测为)被检测为1,则则 输出信号输出信号sout=1,否则否则sout=0。模拟波形见后模拟波形见后本例通过手工设计介绍基本概念2008.122008.128模拟波形模拟波形 可把下述模拟波形看作目标电路应实现的功能:可把下述模拟波形看作目标电路应实现的功能:2008.122008.129 reset 状态 输出 sin的取值 检测器的检测器的
7、Moore型状态迁移图型状态迁移图2008.122008.1210检测器的检测器的Moore型状态迁移表型状态迁移表 表表6.2 输入输入 reset sin 当前状态当前状态 次态次态 输出输出 sout 0 X X St0 0 0 St0 1 St0 St1 0 0 St0 1 St1 St2 0 0 St0 1 St2 St3 0 0 St0 1 1 St3 St3 1 2008.122008.1211检测器的检测器的Mealy型状态迁移图型状态迁移图同一个任务(检测器)同一个任务(检测器)可以用可以用MooreMoore模型;模型;也可以用也可以用MealyMealy模型模型对应的状态
8、表留作练习对应的状态表留作练习2008.122008.1212状态分配(编码)状态分配(编码)得到时序电路的最小化状态表之后,应该给每个状态分配一个二得到时序电路的最小化状态表之后,应该给每个状态分配一个二值代码,使该二值代码与状态寄存器的状态相对应。值代码,使该二值代码与状态寄存器的状态相对应。状态分配的要求状态分配的要求:成本成本较低;较低;避免避免险象险象发生。发生。成本成本较低较低 寄存器长度寄存器长度 k 的选择:的选择:如果优先考虑寄存器的成本,则应使寄存器的长度如果优先考虑寄存器的成本,则应使寄存器的长度 k 最短。最短。在在 k 最小最小的前提下进行编码,可能得到一个的前提下进
9、行编码,可能得到一个成本相对较低成本相对较低、但不一定是最低的方案。但不一定是最低的方案。手工设计过于繁琐,不可能做很多方案的比较。手工设计过于繁琐,不可能做很多方案的比较。设状态数为设状态数为 n,若满足以下关系若满足以下关系 则可以达到的则可以达到的 k 最小目的。最小目的。本例本例选择寄存器长度最短的方案,由于选择寄存器长度最短的方案,由于n=4,故,故 k=2。)76(221kkn2008.122008.1213状态编码状态编码 状态编码:状态编码:为避免险象发生,本例采用格雷码编码:为避免险象发生,本例采用格雷码编码:以编码形式表示的状态表以编码形式表示的状态表:输入 sin 现态
10、y2y1 输出 sout 次态 Y2Y1 0 00 1 00 0 01 0 00 1 01 0 11 0 00 1 11 0 10 0 00 1 10 1 10 2008.122008.1214确定激励函数和输出函数确定激励函数和输出函数 选择触发器类型:选择触发器类型:D触发器触发器 由状态表导出激励表由状态表导出激励表:2008.122008.1215确定激励函数和输出函数(续)确定激励函数和输出函数(续)由激励表导出激励函数和输出函数由激励表导出激励函数和输出函数:2008.122008.1216检测器原理图检测器原理图 由激励函数和输出函数导出原理图:由激励函数和输出函数导出原理图:2
11、008.122008.1217用用VHDL和和EDA工具进行设计工具进行设计 根据状态表(表根据状态表(表6.2)写出)写出VHDL代码:代码:ENTITY checker IS -实体声明,用于定义端口 PORT (clock,reset,sin:IN bit;-输入端口 sout:OUT bit );-输出端口 END checker;ARCHITECTURE behav OF checker IS -结构体用于定义电路的行为 TYPE state IS (st_0,st_1,st_2,st_3);-声明一个枚举类型,用于表示状态 BEGIN PROCESS(reset,clock )-进
12、程语句本身是并行语句,进程内只可出现顺序语句 -reset,clock 是该进程的敏感信号 VARIABLE temp:state;-声明一个内部变量 temp,用于保存检测器的状态 BEGIN IF reset=0 THEN -reset 低电平有效,进入预期的初始状态 temp:=st_0;-检测器进入状态 st_0 ELSIF(clockevent AND clock=1)THEN-clock 正跳变时发生状态转换 2008.122008.1218VHDL代码(续)代码(续)2008.122008.1219VHDL代码提交代码提交Quartus 编译编译 模拟模拟 模拟波形图:模拟波形图
13、:波形图与预期相符波形图与预期相符 2008.122008.12206.3状态化简状态化简 任务任务:消除冗余状态消除冗余状态,使状态总数最小或接近最小,使状态总数最小或接近最小,降低降低电路造价电路造价。类型:类型:完全规定的完全规定的有限状态机和有限状态机和不完全规定的不完全规定的有限状态机。有限状态机。状态表中,若次态栏中存在不确定的取值(用状态表中,若次态栏中存在不确定的取值(用表示)或输出栏表示)或输出栏中存在不确定的取值(用中存在不确定的取值(用d表示),则称该有限状态机为不完全规表示),则称该有限状态机为不完全规定的有限状态机;否则,是完全规定的有限状态机。定的有限状态机;否则,
14、是完全规定的有限状态机。完全规定的有限状态机可看作不完全规定的有限状态机的完全规定的有限状态机可看作不完全规定的有限状态机的一种特殊情况一种特殊情况 适合于不完全规定的有限状态机的状态化简算法必然也适合于不完全规定的有限状态机的状态化简算法必然也适合于完全规定的有限状态机适合于完全规定的有限状态机;反之则不然。反之则不然。表表6.6是一个不完全规定有限状态机的实例。是一个不完全规定有限状态机的实例。2008.122008.1221状态化简(续)状态化简(续)不完全规定有限状态机的不完全规定有限状态机的实例实例:表 6.6 不完全规定不完全规定有限状态机的状态表有限状态机的状态表 输 入 sin
15、 现 态 y 次 态 Y 输 出 sout s1 s4 d s2 s5 0 s3 s4 0 s4 s3 d 0 s5 s3 1 s1 s1 d s2 s1 d s3 s2 d s4 s3 d 1 s5 s2 d 2008.122008.1222不完全规定的不完全规定的FSM的状态化简的状态化简定义定义6.1 满足下述条件的满足下述条件的2个状态称为个状态称为相容状态对相容状态对:1.输出一致输出一致:2个状态的输出在有明确规定的地方取值相同。个状态的输出在有明确规定的地方取值相同。2.次态相容次态相容:对于输入信号取值的任一组合,这:对于输入信号取值的任一组合,这2个状态的次态相容。个状态的次
16、态相容。定义定义6.2 若状态集合若状态集合S中任意中任意2个状态对都是相容状态对,则个状态对都是相容状态对,则S是一是一个个相容类相容类,可以,可以合并合并为一个状态。为一个状态。例例 6.3 对表对表6.6所示状态表进行化简:所示状态表进行化简:2008.122008.1223状态化简实例(例状态化简实例(例6.3续)续)寻找相容状态对寻找相容状态对 思路思路:把不相容状态对排除之后,剩余的必然都是:把不相容状态对排除之后,剩余的必然都是相容状态对相容状态对。Step1 创建一个创建一个隐含表隐含表,表示表示状态对的全集合状态对的全集合:把所有状态(把所有状态(s1,s2,s3,s4,s5
17、s1,s2,s3,s4,s5)按序排列)按序排列;水平方向水平方向:自左向右地安排每一个状态但缺少最后一个状态(自左向右地安排每一个状态但缺少最后一个状态(本例缺少本例缺少s5s5););垂直方向垂直方向:自上向下地安排每一个状态但缺少第自上向下地安排每一个状态但缺少第1 1个状态(本例缺少个状态(本例缺少s1 s1)。)。s2 s3 s4 s5 s1 s2 s3 s4 隐含表隐含表:2008.122008.1224状态化简实例(例状态化简实例(例6.3续)续)寻找相容状态对寻找相容状态对 Step2 依据状态表依据状态表查找输出不一致的状态对查找输出不一致的状态对:本例有本例有2个输出不一致
18、的状态对(个输出不一致的状态对(s2,s5)和()和(s3,s5),),对应的方格中填入对应的方格中填入“”,标记其为不相容状态对。,标记其为不相容状态对。s2 s3 s4 s5 s1 s2 s3 s4 2008.122008.1225 s2 s3 s4 s5 s1 s2 s3 s4 状态化简实例(例状态化简实例(例6.3续)续)寻找相容状态对寻找相容状态对 Step3 依据状态表依据状态表查找次态不相容的状态对查找次态不相容的状态对:隐含表中没有标记隐含表中没有标记“”的方格属于可能相容、也可能不相容的状态对。的方格属于可能相容、也可能不相容的状态对。对于没有对于没有“”的方格,若存在某一输
19、入组合使其次态落入带有标记的方格,若存在某一输入组合使其次态落入带有标记“”的方格中,则它属于次态不相容的状态对。在该方格中填入的方格中,则它属于次态不相容的状态对。在该方格中填入“”。Step4 若若step3发现了新的不相容状态对,转发现了新的不相容状态对,转step3 继续查找;否则,隐继续查找;否则,隐含表中没有标记含表中没有标记“”的每一个方格都代表一个相容状态对,转的每一个方格都代表一个相容状态对,转step5。本例(本例(s2,s4)次态不相容!次态不相容!2008.122008.1226状态化简实例(例状态化简实例(例6.3续)续)合并相容类合并相容类Step5 相容状态对之间
20、用一条线相连相容状态对之间用一条线相连,构成,构成相容图相容图。任意两个状态。任意两个状态之间都有连线的状态构成一个之间都有连线的状态构成一个相容类相容类。尽量把规模较大的相容类合并为一个新的状态,使状态总数最少。尽量把规模较大的相容类合并为一个新的状态,使状态总数最少。每个状态必须属于且仅属于一个相容类。每个状态必须属于且仅属于一个相容类。单独一个状态也可以认为是相容类的一个特例。单独一个状态也可以认为是相容类的一个特例。2008.122008.1227状态化简实例(例状态化简实例(例6.3续)续)Step6 闭合性检查:闭合性检查:1.原始状态表(表原始状态表(表6.6)中的每一个状态属于
21、且仅属于一个相容类。)中的每一个状态属于且仅属于一个相容类。2.在输入信号取值的每一种组合的情况下,原始状态表(表在输入信号取值的每一种组合的情况下,原始状态表(表6.6)中的每一个状态的次态都落入一个且仅落入某一个相容类中。中的每一个状态的次态都落入一个且仅落入某一个相容类中。简化的状态表:简化的状态表:表 6.7 简化的状态表 输入 sin 现态y 次态Y 输出 sout A B 0 0 B A 1 A A d 1 B A d 2008.122008.12286.4 同步时序电路中的竞争和险象同步时序电路中的竞争和险象 同步时序电路由寄存器和组合逻辑电路构成,组合逻同步时序电路由寄存器和组
22、合逻辑电路构成,组合逻辑电路中的竞争和险象(见辑电路中的竞争和险象(见3.5节)在这里都会发生;节)在这里都会发生;本节重点探讨本节重点探讨状态变迁序列与险象的关系状态变迁序列与险象的关系。2008.122008.1229例例6.4 一个引发险象的同步时序电路一个引发险象的同步时序电路 计数序列 00 01 10 11 译码器输出序列 st0 st1 st2 st3 2008.122008.1230例例6.4 险象分析险象分析设设 Dff2 和和 Dff1 的现态为的现态为01,当,当clock时,经过少许延迟,将变为时,经过少许延迟,将变为10若若t1=t2=t3=t4=t5=t6=t7=t
展开阅读全文