1、第第 7 章章 异步时序电路异步时序电路【课前思考】【课前思考】【学习指南】【学习指南】7.1异步时序电路的特点异步时序电路的特点7.2*脉冲异步时序电路脉冲异步时序电路7.3*电位异步时序电路电位异步时序电路7.4*电位异步时序电路综合中防范险象的措施电位异步时序电路综合中防范险象的措施7.5*解题示例解题示例【本章小结】【本章小结】星号表示非基本要求,属于选修。2008.122008.121精选ppt7.1 异步时序电路的特点异步时序电路的特点 因难度较大,许多因难度较大,许多EDA工具工具目前目前可能可能不支持不支持异步时序电路的异步时序电路的综合综合。脉冲异步时序电路的应用远不及同步时
2、序电路脉冲异步时序电路的应用远不及同步时序电路,电位异步时序电路电位异步时序电路:在在某些应用场合有其优越性某些应用场合有其优越性;侧重于从侧重于从理论上认识时序电路理论上认识时序电路。异步时序电路的异步时序电路的约束条件约束条件:各输入信号不允许同时发生变化,并且输入各输入信号不允许同时发生变化,并且输入信号第信号第 i 次变化引起电路的变化达到稳定后,才允许输入信号发生第次变化引起电路的变化达到稳定后,才允许输入信号发生第 (i+1)次变化。)次变化。同步时序电同步时序电路 异步时序电路异步时序电路 脉冲异脉冲异步步时序电路时序电路 电位异步电位异步时序电路时序电路 组合逻辑电路组合逻辑电
3、路 时序逻辑电路时序逻辑电路 逻辑电路逻辑电路 记忆元件也采用触发器,但不使用统一的时钟脉冲记忆元件也采用触发器,但不使用统一的时钟脉冲 记忆元件通常由带反馈的门电路组成,无时钟脉冲记忆元件通常由带反馈的门电路组成,无时钟脉冲 2008.122008.122精选ppt早期的早期的二进制计数器(脉冲异步)二进制计数器(脉冲异步)较低位的触发器由较低位的触发器由1变变0时,引起较高位的触发器状态转换时,引起较高位的触发器状态转换2008.122008.123精选ppt早期的二进制计数器(脉冲异步)早期的二进制计数器(脉冲异步)时序模拟波形:时序模拟波形:优缺点:优缺点:优点:优点:硬件硬件省省;缺
4、点:缺点:各触发器不在同一时刻发生状态转换各触发器不在同一时刻发生状态转换(行波进位)。(行波进位)。触发器的输出如果接译码器,译码器的输出会产生触发器的输出如果接译码器,译码器的输出会产生“毛刺毛刺”。速度速度慢慢。各触发器不在同一时刻发生状态转换各触发器不在同一时刻发生状态转换!2008.122008.124精选ppt7.2*脉冲异步时序电路脉冲异步时序电路 脉冲异步时序电路(脉冲异步时序电路(pulsed asynchronous sequential circuit)的记忆元件通常是由触发器组成的状态寄存器。的记忆元件通常是由触发器组成的状态寄存器。各触发器的各触发器的时钟信号不是统一
5、的时钟时钟信号不是统一的时钟,可以是经过组合逻,可以是经过组合逻辑电路产生的脉冲信号。辑电路产生的脉冲信号。为了使触发器可靠地工作,必须为了使触发器可靠地工作,必须保持时钟信号完整性保持时钟信号完整性,不允许有非预期的不允许有非预期的“毛刺毛刺”出现。出现。例如,在外部输入脉冲处于高电平的期间,不允许状态触发器的状态发生变化。2008.122008.125精选ppt例例 7.1 脉冲异步时序电路的脉冲异步时序电路的分析分析 逻辑表达式逻辑表达式:x clk2 clk1 reset y2 y1 y2d1xclk11)(7y2d2y1xclk2不是同一个时钟脉冲不是同一个时钟脉冲2008.1220
6、08.126精选ppt例例 7.1 续续 根据式(根据式(7-1)列出电路的)列出电路的激励函数表激励函数表 y2d1xclk11)(7y2d2y1xclk22008.122008.127精选ppt例例 7.1 续续 激励表激励表的另一种形式:的另一种形式:表表 7.2 激激励励函函数数表表之之二二 输输入入 现现态态 激激励励信信号号 reset x y2 y1 clk2 d2 clk1 d1 1 1 1 0 1 0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 2008.122008.12
7、8精选ppt例例 7.1 续续 激励表激励表 状态表状态表:2008.122008.129精选ppt例例 7.1 续续状态表状态表 状态图状态图:状态图分析:状态图分析:电路开始工作前,令复位信号电路开始工作前,令复位信号reset=0,使初始状态使初始状态y2 y1=00。在输入脉冲在输入脉冲x负跳变时发生状态转换,在状态负跳变时发生状态转换,在状态00,01,11之间重复之间重复变迁,由此可认为这是一个变迁,由此可认为这是一个 3 进制异步计数器进制异步计数器。正常情况下,此时序电路不会进入状态正常情况下,此时序电路不会进入状态“10”。2008.122008.1210精选ppt例例 7.
8、1 续续 上述分析与上述分析与模拟波形模拟波形相符相符 相互验证相互验证2008.122008.1211精选ppt例例 7.1 续续 电路图略加改变效果如何?电路图略加改变效果如何?想法:想法:改为时钟上升沿触发,改为时钟上升沿触发,可否?可否?x clk2 clk1 reset y2 y1 改为与门改为与门省去反相器省去反相器2008.122008.1212精选ppt例例 7.1 续续 电路图略加改变效果如何?电路图略加改变效果如何?改变后的电路(改变后的电路(改为时钟上升沿触发改为时钟上升沿触发):):2008.122008.1213精选ppt例例 7.1 续续 电路图略加改变效果如何?电
9、路图略加改变效果如何?用时序模拟波形检验此用时序模拟波形检验此改动是否可行改动是否可行?波形不符合预期波形不符合预期要求要求 原因在哪里?原因在哪里?信号信号 x(clk1)上升沿使)上升沿使 Dff1 触发触发,随即随即Q1=1 引发引发clk2 使使Q2=1,错误!错误!clk2有不应出现的有不应出现的“毛刺毛刺”!警告:警告:处理处理触发器的敏感信号触发器的敏感信号(clock,reset,preset)时,)时,要要特别小心特别小心!2008.122008.1214精选ppt 脉冲序列检测器脉冲序列检测器 reset x2 x1 z 脉冲异步时序电路的脉冲异步时序电路的综合综合 例例
10、7.2 用用 D 触发器实现一个触发器实现一个 脉冲序列检测器。脉冲序列检测器。波形关系波形关系指定:指定:复位信号复位信号 reset 低电平有效,低电平有效,reset=0 使电路进入预定的初始状态。使电路进入预定的初始状态。输入信号输入信号 x1 和和 x2 是不同时出现的脉冲,脉冲间隔任意,并且输入信是不同时出现的脉冲,脉冲间隔任意,并且输入信号第号第 i 次变化引起电路的变化达到稳定后,才允许输入信号发生第次变化引起电路的变化达到稳定后,才允许输入信号发生第(i+1)次变化。)次变化。只是在只是在 x1 出现出现 1个脉冲之后,紧接着个脉冲之后,紧接着 x2 连续出现连续出现 2个脉
11、冲,则将个脉冲,则将 x2的第的第 2个脉冲放行至输出端个脉冲放行至输出端 z。2008.122008.1215精选ppt例例7.2 续续 题意题意 状态图状态图:本例为本例为手工设计手工设计 因为因为x2和和x1是不同时出现的脉冲,所以输入信号是不同时出现的脉冲,所以输入信号 x2 x1 的取值组合不可的取值组合不可能出现能出现11。状态触发器的时钟信号由组合逻辑电路产生,该组合电路的输入是输入状态触发器的时钟信号由组合逻辑电路产生,该组合电路的输入是输入脉冲(脉冲(x2,x1)和状态触发器的输出。)和状态触发器的输出。假定所用假定所用D触发器对时钟信号的触发器对时钟信号的上升沿上升沿敏感,
12、则应使触发器的状态在对敏感,则应使触发器的状态在对应于(应于(x2,x1)的)的下降沿下降沿处发生变化,以确保时钟信号的完整。处发生变化,以确保时钟信号的完整。2008.122008.1216精选ppt例例7.2 续续 状态图状态图 状态表:状态表:2008.122008.1217精选ppt例例7.2 续续 状态编码:状态编码:状态编码的原则:状态编码的原则:初始状态初始状态 a 最好选择全零,使最好选择全零,使 reset 有效时顺利地进入初始状态。有效时顺利地进入初始状态。尽量使相邻状态的编码的海明距离为尽量使相邻状态的编码的海明距离为1。2008.122008.1218精选ppt例例7.
13、2 续续 以编码形式表示的状态表:以编码形式表示的状态表:2008.122008.1219精选ppt例例7.2 续续 激励函数及输出函数激励函数及输出函数真值表真值表:2008.122008.1220精选ppt例例7.2 续续 逻辑表达式逻辑表达式:本例采用卡诺图化简相应函数。:本例采用卡诺图化简相应函数。00 01 11 10 00 0 0 0 d 01 0 0 1 d 11 d d d d 10 0 1 1 d y2y1 x2x1)27(y1x2y2x1clk2 00 01 11 10 00 d d d d 01 d d 0 d 11 d d d d 10 d 1 0 d y2y1 x2x
14、1)37(y2d2 2008.122008.1221精选ppt例例7.2 续续 逻辑表达式逻辑表达式:00 01 11 10 00 0 0 0 d 01 1 0 0 d 11 d d d d 10 0 0 1 d y2y1 x2x1 4)-(7y2x2y1x1clk1 00 01 11 10 00 d d d d 01 1 d d d 11 d d d d 10 d d 0 d y2y1 x2x1)57(y2d1 2008.122008.1222精选ppt例例7.2 续续 逻辑表达式逻辑表达式:2008.122008.1223精选ppt例例7.2 续续 为了使状态触发器不发生误动作,其为了使状
15、态触发器不发生误动作,其时钟信号时钟信号(clk1,clk2)必须完整)必须完整没有没有“毛刺毛刺”。本例的时钟信号(本例的时钟信号(clk1,clk2)是输入信号()是输入信号(x1,x2)和状态触发器()和状态触发器(y1,y2)的函数,是组合逻辑网络的输出。)的函数,是组合逻辑网络的输出。在输入信号(在输入信号(x1,x2)处于高电平时,状态触发器必须保持不变才能产)处于高电平时,状态触发器必须保持不变才能产生完整而没有生完整而没有“毛刺毛刺”的时钟信号。的时钟信号。本例选用的本例选用的D触发器对时钟信号的触发器对时钟信号的上升沿上升沿敏感,因此状态触发器转换状敏感,因此状态触发器转换状
16、态的时刻应发生在输入信号(态的时刻应发生在输入信号(x1,x2)的)的下降沿下降沿处。处。需要将时钟信号需要将时钟信号clk2和和clk1的逻辑表达式(的逻辑表达式(7-2)和()和(7-4)求反,)求反,2008.122008.1224精选ppt z d2 x2 y1 y2 clk2 x1 clk1 d1 reset 例例7.2 续续 根据式(根据式(7-3)以及式()以及式(7-5)()(7-8)画出)画出电路图电路图:2008.122008.1225精选ppt例例7.2 续续 功能模拟结果功能模拟结果:2008.122008.1226精选ppt例例7.2 续续 时序模拟结果时序模拟结果:
17、模拟波形符合预期模拟波形符合预期 2008.122008.1227精选ppt7.3 *电位异步时序电路电位异步时序电路 约束条件约束条件:各输入信号不允许同时发生变化,并且输入信号第各输入信号不允许同时发生变化,并且输入信号第 i 次次变化引起电路的变化达到稳定后,才允许输入信号发生第(变化引起电路的变化达到稳定后,才允许输入信号发生第(i+1)次)次变化。变化。组组合合逻逻辑辑 电电路路 记记忆忆元元件件 输出信号 z1,z2zm.次态(激励信号)Y1,Y2Yk 输入信号 x1,x2xn 现态 y1,y2yk 组组合合逻逻辑辑 电电路路 输出信号 z1,z2zm.次态(激励信号)Y1,Y2Y
18、k 输入信号 x1,x2xn 现态 y1,y2yk t1 t k 延迟元件作为记忆元件 时序电路的一时序电路的一般模型般模型电位时序电电位时序电路的模型路的模型2008.122008.1228精选ppt电位异步时序电路的电位异步时序电路的分析分析 例例7.3 D锁存器:锁存器:重构原理图重构原理图 D锁存器的异步时序电路模型锁存器的异步时序电路模型2008.122008.1229精选ppt例例7.3 续续 D锁存器的异步时序电路模型(来自上页):锁存器的异步时序电路模型(来自上页):电路图电路图 激励信号表达式:激励信号表达式:)97(DyCyCDYy)DC(CDYyDCCDYy DC DCY
19、2008.122008.1230精选ppt例例7.3 续续 激励信号表达式激励信号表达式 激励表激励表:当次态当次态Y的取值与现态的取值与现态y的取值相同时,该状态为稳定状态:的取值相同时,该状态为稳定状态:在稳定状态外边加一个圆圈作为标记。在稳定状态外边加一个圆圈作为标记。用箭头标出由不稳定状态向稳定状态转换的情况。用箭头标出由不稳定状态向稳定状态转换的情况。00 01 11 10 0 0 0 1 0 1 1 1 1 0 输入输入CD 次态次态Y 现态现态 y 2008.122008.1231精选ppt例例7.3 续续 激励表激励表 流程表:流程表:用符号用符号 a 代表代表 y=0;用符号
20、用符号 b 代表代表 y=1。2008.122008.1232精选ppt例例7.3 续续 流程表流程表 状态图:状态图:状态图分析:状态图分析:只是在只是在C=1 且且 D 的值与现态不同时,状态才发生改变。的值与现态不同时,状态才发生改变。当当C=1时,时,输出输出 Q 的取值跟随的取值跟随 D 的变化而变的变化而变。2008.122008.1233精选ppt电位异步时序电路的电位异步时序电路的综合综合 例例 7.4 设计一个上升沿触发的设计一个上升沿触发的D触发器触发器 DFF 设计设计依据依据:D触发器的触发器的功能表功能表2008.122008.1234精选ppt例例 7.4 DFF的
21、综合(续)的综合(续)DFF功能的仔细分析:功能的仔细分析:仅当时钟信号由仅当时钟信号由0变变1时时,输出,输出Q的值才有可能发生变的值才有可能发生变化(化(Q D)输入信号不允许同时变化输入信号不允许同时变化。例如,若当前。例如,若当前CD=00,则下一个变化只可能是则下一个变化只可能是 01 或或 10。为了简化,本例用C代表时钟信号clk.在画原始状态图时,在画原始状态图时,集中精力于正确性和全面性集中精力于正确性和全面性,可把减少状态个数的问题留给后续步骤(状态化简)。可把减少状态个数的问题留给后续步骤(状态化简)。为了简化问题,为了简化问题,本例暂时略去异步清零信号本例暂时略去异步清
22、零信号 reset。即只考虑 reset=1的情况(将来再加)。clk2008.122008.1235精选ppt例例 7.4 DFF的综合(续)的综合(续)功能分析功能分析 原始状态图原始状态图(Moore型):型):关注关注正确性正确性和和全面性!全面性!2008.122008.1236精选ppt例例 7.4 DFF的综合(续)的综合(续)原始状态图原始状态图 原始流程表原始流程表:2008.122008.1237精选ppt例例 7.4 DFF的综合(续)的综合(续)状态化简:状态化简:b c d e f g h a b c d e f g b c d e f g h a b c d e f
23、 g b c d e f g h a b c d e f g (a)状态对的全集合 (b)输出不相容的状态对 (c)添加次态不相容的状态对 2008.122008.1238精选ppt例例 7.4 DFF的综合(续)的综合(续)合并相容类:合并相容类:选择方案(选择方案(b)闭合性检查闭合性检查:满足闭合性要求:满足闭合性要求 2008.122008.1239精选ppt例例 7.4 DFF的综合(续)的综合(续)状态化简后的流程表状态化简后的流程表:状态编码(相邻状态的海明距离为状态编码(相邻状态的海明距离为1):):状状态态 A D E F 编编码码(y2y1)00 01 10 11 2008
24、.122008.1240精选ppt例例 7.4 DFF的综合(续)的综合(续)激励表:激励表:用编码代替用编码代替流程表中的流程表中的状态名称状态名称2008.122008.1241精选ppt例例 7.4 DFF的综合(续)的综合(续)次态逻辑函数的表达式次态逻辑函数的表达式:输出函数的逻辑表达式:输出函数的逻辑表达式:10)7(y1Cy2y1C)Cy1(y2y1CCy2y1y2y1CY2)117(y1CDy1C)Cy1(Dy1CDy1DCy1CY1 12)-(7y2y1y21y2Qy2008.122008.1242精选ppt例例 7.4 DFF的综合(续)的综合(续)逻辑表达式(来自逻辑表达
25、式(来自前页前页):):逻辑表达式逻辑表达式 DFF电路图电路图:图图7.187.182008.122008.1243精选ppt例例 7.4 DFF的综合(续)的综合(续)在在Quartus中创建电路图中创建电路图 编译编译 时序模拟时序模拟 时序模拟结果与预期相符时序模拟结果与预期相符2008.122008.1244精选ppt例例 7.4 的的改进改进1 DFF电路图的变换电路图的变换:设法不使用反相器来产生 Qb D C y1 y2(Q)v u g)137(y1Cgvuy1)147(uvy1)157(vuCgy1图图7.217.21图图7.207.202008.122008.1245精选p
26、pt例例 7.4 的的改进改进1(续)(续)时序模拟波形:结果正确时序模拟波形:结果正确 2008.122008.1246精选ppt例例 7.4 的的改进改进 2 例例7.5 给例给例 7.4 的的DFF增加异步清零端增加异步清零端 reset。当当 reset=0 时,强制使触发器进入状态时,强制使触发器进入状态A,输出,输出Q为为0。解:解:状态状态A的编码为的编码为y2y1=00,为了使,为了使 reset=0时,强制使时,强制使触发器进入状态触发器进入状态A,需要对式,需要对式(7-10)和()和(7-11)加以加以改造改造,加入,加入reset 的影响:的影响:式(式(7-16)和(
27、)和(7-17)确保当)确保当 reset=0 时,时,y2y1=00。2008.122008.1247精选ppt例例 7.5 续续 将式(将式(7-13)代入()代入(7-16)和()和(7-17):):根据式(根据式(7-18)和()和(7-19)可将图)可将图7.21演变为图演变为图7.22:y2(Q)D y1 g Qb C reset u v 图图7.227.222008.122008.1248精选ppt例例 7.5 续续 在在Quartus中创建电路图中创建电路图 编译编译 时序模拟时序模拟 时序模拟结果与预期相符时序模拟结果与预期相符2008.122008.1249精选ppt7.4
28、防范险象的措施防范险象的措施 例例 7.6 用用电位异步时序电路电位异步时序电路实现一个简单的实现一个简单的仲裁器仲裁器 多个设备分时共享同一资源(例如总线)。多个设备分时共享同一资源(例如总线)。r i表示设备表示设备 i 请求使用共享资源,请求使用共享资源,g i表示仲裁器批准设备表示仲裁器批准设备 i 的请求。的请求。当共享资源空闲且有多个设备同时发出请求时,仲裁器批准其中优先级最当共享资源空闲且有多个设备同时发出请求时,仲裁器批准其中优先级最高的设备的请求。高的设备的请求。仲裁器仲裁器 共享资源共享资源 设备1 设备2 设备i g i ri g 1 r1 g 2 r2 2008.122
29、008.1250精选ppt例例7.6 续续 仲裁器和设备仲裁器和设备i 通过信号通过信号r i 和和g i 之间用之间用握手信号机制握手信号机制(handshake signaling)实现)实现异步通信异步通信:仲裁器并不知道设备何时发出请求仲裁器并不知道设备何时发出请求以及以及何时停止使用共享资源!何时停止使用共享资源!t t r r:仲裁器的响应时间,依赖于仲裁器电路的具体实现。:仲裁器的响应时间,依赖于仲裁器电路的具体实现。t t u u:设备:设备i i 使用使用共享设备的时间,由设备使用使用共享设备的时间,由设备i i自行决定。自行决定。t t s s:仲裁器的响应时间,依赖于仲裁
30、器电路的具体实现。:仲裁器的响应时间,依赖于仲裁器电路的具体实现。2008.122008.1251精选ppt例例7.6 续续 用电位异步时序电路实现仲裁器。用电位异步时序电路实现仲裁器。仲裁器的仲裁器的任务约定任务约定:只考虑:只考虑2个设备个设备的情况,的情况,并且并且 设备设备2的优先的优先级高于设备级高于设备1。原始状态图原始状态图(Moore型)型)00 00 输出g2g1 01 d 10 a 00 b 01 01 11 00 01 10 11 10 11 状态名 输入r2r1 c 01 11 10 00 图图7.267.262008.122008.1252精选ppt例例7.6 续续
31、原始状态图原始状态图 原始流程表原始流程表(表(表7.13):2008.122008.1253精选ppt例例7.6 续续 状态化简:状态化简:Step1 Step2 Step3 Step1 Step2 Step3 由于没有发现新的不相容状态对,这就是最终结果由于没有发现新的不相容状态对,这就是最终结果2008.122008.1254精选ppt例例7.6 续续 合并相容类:合并相容类:在下列两种方案中择一:本例在下列两种方案中择一:本例选择方案选择方案(b),即,即不进行不进行合并合并。方案方案(a)并不能降低造价;并不能降低造价;方案方案(a)状态总数为奇数,其编码不可能实现相邻状态之间的状态
32、总数为奇数,其编码不可能实现相邻状态之间的海明距离等于海明距离等于1。图图7.287.282008.122008.1255精选ppt例例7.6 续续 状态编码:状态编码:给给相邻状态相邻状态以以相邻的编码,相邻的编码,即相邻状态编码即相邻状态编码的海明距离等于的海明距离等于1.表表 7.14 状态状态 a b c d 编码(编码(y2y1)00 01 11 10 2008.122008.1256精选ppt例例7.6 续续 状态编码状态编码(来自上页):(来自上页):激励表激励表(将状态编码带入表(将状态编码带入表7.13):00 01 11 10 输出 g2g1 00 00 01 10 10
33、00 01 00 01 11 dd 01 11 00 dd 11 10 01 10 00 00 10 10 10 说明:d 表示无关项 输入 r2r1 现态y2y1 次态 Y2Y1 表表7.157.15 表表 7.14 状状态态 a b c d 编编码码(y2y1)00 01 11 10 2008.122008.1257精选ppt例例7.6 续续 激励表(表激励表(表7.15)次态函数表达式:次态函数表达式:00 01 11 10 00 0 0 1 1 01 0 0 1 d 11 0 d 1 1 10 0 0 1 1 r2r1 y2y1 r2 20)7(r2Y2 00 01 11 10 00
34、0 1 0 0 01 0 1 1 d 11 0 d 1 0 10 0 0 0 0 r2r1 y2y1 r1 y1r2 y1y2)127(y1r2y1y2r1y1r2y1y2r1Y12008.122008.1258精选ppt例例7.6 续续 激励表(表激励表(表7.15)输出函数表达式:输出函数表达式:22)-(7y1y22g 23)-(7y1y1y2y1y21g2008.122008.1259精选ppt例例7.6 续续 激励函数表达式激励函数表达式 仲裁器原理图仲裁器原理图 输出函数表达式输出函数表达式2008.122008.1260精选ppt例例7.6 续续 仲裁器时序模拟波形:仲裁器时序模
35、拟波形:2008.122008.1261精选ppt例例7.7 仲裁器的另一实现仲裁器的另一实现 任务与例任务与例 7.6相同,设计方法上选用相同,设计方法上选用1热态位编码热态位编码。利用例利用例 7.6中部分中间结果:中部分中间结果:00 00 输出g2g1 01 d 10 a 00 b 01 01 11 00 01 10 11 10 11 状态名 输入r2r1 c 01 11 10 00 a b d c B 图图7.26 7.26 原始状态图原始状态图图图7.28 7.28 状态化简合并状态化简合并2008.122008.1262精选ppt例例7.7 续续 由于采用由于采用1热态位编码热态
36、位编码,不再担心状态变迁时会发生险象不再担心状态变迁时会发生险象。设法使状态总数最小化设法使状态总数最小化。利用例利用例 7.6 中部分中间结果中部分中间结果 新的新的状态图状态图(图(图7.31)2008.122008.1263精选ppt例例7.7 续续 原始状态图原始状态图 原始流程表原始流程表:状态编码(状态编码(1 热态位):热态位):2008.122008.1264精选ppt例例7.7 续续 激励表:激励表:表表7.18不能保证相邻状态之间的海明距离等于不能保证相邻状态之间的海明距离等于1。修改修改结果见下页结果见下页 00 01 11 10 输出 g2g1 001 001 010
37、100 100 00 010 001 010 010 100 01 100 001 010 100 100 10 输入 r2 r1 现态 y3y2y1 次态 Y3Y2Y1 表表 7.18 2008.122008.1265精选ppt例例7.7 续续 修改表修改表7.18:增添一个非稳定状态增添一个非稳定状态 000 状态变迁都经过状态状态变迁都经过状态000 使相邻使相邻状态的海明距离等于状态的海明距离等于1 激励表(激励表(表表7.19):):2008.122008.1266精选ppt例例7.7 续续 激励表(表激励表(表7.19)次态函数表达式:次态函数表达式:激励表(表激励表(表7.19)
38、输出函数表达式输出函数表达式:28)-(7y21g 27)-(7y32g2008.122008.1267精选ppt例例7.7 续续 逻辑表达式逻辑表达式 电路图:电路图:2008.122008.1268精选ppt例例7.7 续续 仲裁器时序模拟波形:仲裁器时序模拟波形:2008.122008.1269精选ppt电位异步时序电路中电位异步时序电路中防范险象的小结防范险象的小结 状态迁移过程中,状态迁移过程中,防止状态防止状态信号上的信号上的“毛刺毛刺”:这种这种“毛刺毛刺”极易引发临界险象,必须防止;极易引发临界险象,必须防止;例例 7.6 和例和例 7.7 以实例说明防范此类以实例说明防范此类
39、“毛刺毛刺”的措施。的措施。是否需要防范输出信号上的是否需要防范输出信号上的“毛刺毛刺”?取决于输出信号的负载是否对取决于输出信号的负载是否对“毛刺毛刺”敏感;敏感;例如,触发器的例如,触发器的clock,set,reset 都对都对“毛刺毛刺”敏感。敏感。防范输出信号上的防范输出信号上的“毛刺毛刺”:设电位异步时序电路从稳定状态设电位异步时序电路从稳定状态 v1 变迁到稳定状态变迁到稳定状态 v2,中间可能经,中间可能经过若干非稳定状态过若干非稳定状态。若要防止非稳定状态给输出信号带来。若要防止非稳定状态给输出信号带来“毛刺毛刺”:1.1.若若v v1 1=v=v2 2:要求每一个非稳定状态
40、形成的输出信号皆等于要求每一个非稳定状态形成的输出信号皆等于v v1 1 (也等于(也等于v v2 2 )。)。2.2.若若v v1 1 v v2 2:要求每一个非稳定状态形成的输出信号皆等于要求每一个非稳定状态形成的输出信号皆等于v v1 1或皆等于或皆等于v v2 2 。开始部分的非稳定状态所形成的输出信号取值皆等于开始部分的非稳定状态所形成的输出信号取值皆等于v1;后续部分的非;后续部分的非稳定状态所形成的输出信号取值皆等于稳定状态所形成的输出信号取值皆等于v2。2008.122008.1270精选ppt7.5*解题示例解题示例 同样一个问题同样一个问题,可能存在,可能存在多种解法多种解
41、法。异步时序电路的设计过程比较复杂,多数异步时序电路的设计过程比较复杂,多数EDA工具目前还不支持异步时序工具目前还不支持异步时序电路的综合。电路的综合。降低一些要求,有可能用同步时序电路的设计方法解决某些异步时序电路降低一些要求,有可能用同步时序电路的设计方法解决某些异步时序电路的设计的设计 例例7.8 用用同步时序电路的设计方法同步时序电路的设计方法设计例设计例 7.6的的仲裁器仲裁器。增加异步清零信号增加异步清零信号 reset:开始工作之前,令开始工作之前,令 reset=0,使电路进入预定使电路进入预定的初始状态。的初始状态。2008.122008.1271精选ppt 00 输出g2
42、g1 01 11 a 00 b 01 01 00 10 11 状态名 输入r2r1 d 10 10 11 10 00 01 reset=0 例例 7.8 续续 原始状态图(原始状态图(Moore型):型):在时钟上升沿驱动下,在时钟上升沿驱动下,仲裁器状态发生变化仲裁器状态发生变化 状态编码:状态编码:2008.122008.1272精选ppt例例 7.8 续续 VHDL代码代码 ENTITY arbiter IS -定义仲裁器的输入/输出端口 PORT (clk:IN bit;reset:IN bit;r2,r1:IN bit;g2,g1:OUT bit );END arbiter;ARCH
43、ITECTURE rtl OF arbiter IS -描述仲裁器的行为 SUBTYPE state_type IS bit_vector(2 DOWNTO 1);-声明一个数据类型 state_type SIGNAL state:state_type;-声明一个表示状态的信号 state CONSTANT a:state_type:=00;-定义 3 个常数,目的是给状态指定编码 CONSTANT b:state_type:=01;CONSTANT d:state_type:=10;BEGIN 2008.122008.1273精选ppt例例 7.8 续续 VHDL代码代码2008.12200
44、8.1274精选ppt例例 7.8 续续 VHDL代码代码2008.122008.1275精选ppt例例 7.8 续续 VHDL代码提交代码提交Quartus 编译编译 时序模拟时序模拟2008.122008.1276精选ppt例例 7.8 续续 结果分析结果分析 模拟波形表明本设计的模拟波形表明本设计的正确性正确性。缺点缺点:响应速度比较低:响应速度比较低;它用时钟的上升沿检测输入信号(它用时钟的上升沿检测输入信号(r2,r1)的取值,而)的取值,而不是像电位异步时序电路那样对输入信号的变化不是像电位异步时序电路那样对输入信号的变化立即立即做做出出反应反应。提高时钟信号频率提高时钟信号频率,
45、将加快响应速度。,将加快响应速度。优点优点:可用硬件描述语言(例如可用硬件描述语言(例如VHDL)描述电路的行为,由)描述电路的行为,由EDA工具综合出目标电路。工具综合出目标电路。2008.122008.1277精选ppt例例 7.9 例例 7.9 用电位异步时序电路用电位异步时序电路的方法的方法 实现一个实现一个3分频器分频器 输入输入/输出脉冲之间的对应关系输出脉冲之间的对应关系:异步清零信号异步清零信号reset:reset=0 使电路进入预定的初始状态。使电路进入预定的初始状态。技术要求:技术要求:输入脉冲输入脉冲 x 的个数的个数:输出脉冲输出脉冲 z 的个数的个数=3:1。z 的
46、宽度与的宽度与 x 的第的第 3个脉冲等宽个脉冲等宽。允许有微小的误差,也允许有少量的延迟。允许有微小的误差,也允许有少量的延迟。输出脉冲输出脉冲 z 的的波形波形必须必须完整完整,没有,没有“毛刺毛刺”。divider z reset x 2008.122008.1278精选ppt例例 7.9 续续 原始状态图原始状态图(Moore型):型):2008.122008.1279精选ppt例例 7.9 续续 原始状态图原始状态图 原始流程表原始流程表:2008.122008.1280精选ppt b c d e f (a)状态对的全集合 (b)输出不相容的状态对 (c)添加次态不相容的状态对 b
47、c d e f b c d e f a b c d e a b c d e a b c d e 例例 7.9 续续 状态化简:状态化简:所有状态都不相容,所有状态都不相容,不能化简不能化简。状态编码(海明距离状态编码(海明距离=1)状状态态 a b c d e f 编编码码(y2y1y3)000 001 011 111 101 100 2008.122008.1281精选ppt例例 7.9 续续 激励表(状态名称被状态编码代替激励表(状态名称被状态编码代替):):2008.122008.1282精选ppt例例 7.9 续续 激励表激励表 次态函数的逻辑表达式次态函数的逻辑表达式:)297(y1
48、y3xy2xy3Y32008.122008.1283精选ppt例例 7.9 续续 激励表激励表 次态函数的逻辑表达式次态函数的逻辑表达式:00 01 11 10 00 0 d d 0 01 0 d d 0 11 0 1 1 0 10 1 1 0 0 y3y2 y1x y2 x xy1y3 为了避免发生险象,加入此冗余项y2y3)307(xy1y3y2y3xy2Y2 2008.122008.1284精选ppt例例 7.9 续续 激励表激励表 次态函数的逻辑表达式次态函数的逻辑表达式:)137(xy1xy2y3y1y3Y12008.122008.1285精选ppt例例 7.9 续续 加入复位信号加
49、入复位信号 reset 的影响:的影响:reset=0 使分频器进入预定的初始状态使分频器进入预定的初始状态 a(即即y3y2y1=000)。)。把逻辑表达式(把逻辑表达式(7-29),(),(7-30)和()和(7-31)加以修改)加以修改 激励表激励表 输出函数的逻辑表达式输出函数的逻辑表达式:)327()y1y3xy2xy3(resetY3)337()xy1y3y2y3x(y2resetY2)347()xy1xy2y3y1y3(resetY1 35)-(7y1y3z 2008.122008.1286精选ppt x reset y1 y2 y3 z 例例 7.9 续续 次态函数逻辑表达式次
50、态函数逻辑表达式 输出函数逻辑表达式输出函数逻辑表达式 仲裁器电路图仲裁器电路图 2008.122008.1287精选ppt例例 7.9 续续 电路图提交电路图提交Quartus 编译编译 时序模拟时序模拟 波形与预期相符波形与预期相符 2008.122008.1288精选ppt例例 7.10 技术技术要求与例要求与例 7.9 相同。相同。本例要求本例要求用同步时序电路实现用同步时序电路实现此此 3 分频器。分频器。【解题思路】:【解题思路】:由于是同步时序电路,可以用边沿触发的由于是同步时序电路,可以用边沿触发的 D 触发器作为记忆元件,触发器作为记忆元件,并且把输入信号并且把输入信号 x