薛宏熙数字逻辑设计cha1

上传人:夏** 文档编号:568740889 上传时间:2024-07-26 格式:PPT 页数:94 大小:2.45MB
返回 下载 相关 举报
薛宏熙数字逻辑设计cha1_第1页
第1页 / 共94页
薛宏熙数字逻辑设计cha1_第2页
第2页 / 共94页
薛宏熙数字逻辑设计cha1_第3页
第3页 / 共94页
薛宏熙数字逻辑设计cha1_第4页
第4页 / 共94页
薛宏熙数字逻辑设计cha1_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《薛宏熙数字逻辑设计cha1》由会员分享,可在线阅读,更多相关《薛宏熙数字逻辑设计cha1(94页珍藏版)》请在金锄头文库上搜索。

1、2008.121第 7 章 异步时序电路 【课前思考】【学习指南】7.1异步时序电路的特点7.2*脉冲异步时序电路7.3* 电位异步时序电路7.4* 电位异步时序电路综合中防范险象的措施7.5* 解题示例【本章小结】星号表示非基本要求,属于选修。2008.1227.1 异步时序电路的特点因难度较大,许多EDA工具目前可能不支持异步时序电路的综合。脉冲异步时序电路的应用远不及同步时序电路,电位异步时序电路:在某些应用场合有其优越性;侧重于从理论上认识时序电路。异步时序电路的约束条件:各输入信号不允许同时发生变化,并且输入信号第 i 次变化引起电路的变化达到稳定后,才允许输入信号发生第 (i+1)

2、次变化。2008.123早期的二进制计数器(脉冲异步)较低位的触发器由较低位的触发器由1变变0时,引起较高位的触发器状态转换时,引起较高位的触发器状态转换2008.124早期的二进制计数器(脉冲异步) 时序模拟波形:优缺点:优点: 硬件省;缺点:各触发器不在同一时刻发生状态转换(行波进位)。 触发器的输出如果接译码器,译码器的输出会产生“毛刺” 。 速度慢。2008.1257.2 *脉冲异步时序电路脉冲异步时序电路(pulsed asynchronous sequential circuit)的记忆元件通常是由触发器组成的状态寄存器。各触发器的时钟信号不是统一的时钟,可以是经过组合逻辑电路产生

3、的脉冲信号。为了使触发器可靠地工作,必须保持时钟信号完整性,不允许有非预期的“毛刺”出现。例如,在外部输入脉冲处于高电平的期间,不允许状态触发器的状态发生变化。2008.126例 7.1 脉冲异步时序电路的分析逻辑表达式:不是同一个时钟脉冲不是同一个时钟脉冲2008.127例 7.1 续 根据式(7-1)列出电路的激励函数表 2008.128例 7.1 续 激励表的另一种形式:2008.129例 7.1 续激励表 状态表: 2008.1210例 7.1 续状态表 状态图 :状态图分析:电路开始工作前,令复位信号reset = 0, 使初始状态y2 y1 = 00。在输入脉冲x负跳变时发生状态转

4、换,在状态00,01,11之间重复变迁,由此可认为这是一个 3 进制异步计数器。正常情况下,此时序电路不会进入状态“10”。2008.1211例 7.1 续上述分析与模拟波形相符 相互验证2008.1212例 7.1 续 电路图略加改变效果如何?想法: 改为时钟上升沿触发, 可否?改为与门改为与门省去反相器省去反相器2008.1213例 7.1 续 电路图略加改变效果如何?改变后的电路(改为时钟上升沿触发):2008.1214例 7.1 续 电路图略加改变效果如何?用时序模拟波形检验此改动是否可行?波形不符合预期要求 原因在哪里? 信号 x(clk1)上升沿使 Dff1 触发, 随即Q1 =

5、1 引发clk2 使Q2 = 1, 错误! clk2有不应出现的“毛刺”!警告:处理触发器的敏感信号(clock, reset, preset)时,要特别小心!2008.1215脉冲异步时序电路的综合 例 7.2 用 D 触发器实现一个 脉冲序列检测器。波形关系指定:复位信号 reset 低电平有效, reset = 0 使电路进入预定的初始状态。输入信号 x1 和 x2 是不同时出现的脉冲,脉冲间隔任意,并且输入信号第 i 次变化引起电路的变化达到稳定后,才允许输入信号发生第(i+1)次变化。只是在 x1 出现 1个脉冲之后,紧接着 x2 连续出现 2个脉冲,则将 x2的第 2个脉冲放行至输

6、出端 z。 2008.1216例7.2 续 题意 状态图:本例为手工设计因为x2和x1是不同时出现的脉冲,所以输入信号 x2 x1 的取值组合不可能出现11。状态触发器的时钟信号由组合逻辑电路产生,该组合电路的输入是输入脉冲(x2, x1)和状态触发器的输出。假定所用D触发器对时钟信号的上升沿敏感,则应使触发器的状态在对应于(x2, x1)的下降沿处发生变化,以确保时钟信号的完整。2008.1217例7.2 续状态图 状态表:2008.1218例7.2 续状态编码:状态编码的原则:初始状态 a 最好选择全零,使 reset 有效时顺利地进入初始状态。尽量使相邻状态的编码的海明距离为1。2008

7、.1219例7.2 续以编码形式表示的状态表:2008.1220例7.2 续激励函数及输出函数真值表:2008.1221例7.2 续逻辑表达式:本例采用卡诺图化简相应函数。 2008.1222例7.2 续逻辑表达式:2008.1223例7.2 续逻辑表达式:2008.1224例7.2 续为了使状态触发器不发生误动作,其时钟信号(clk1,clk2)必须完整没有“毛刺”。本例的时钟信号(clk1,clk2)是输入信号(x1, x2)和状态触发器(y1, y2)的函数,是组合逻辑网络的输出。在输入信号(x1, x2)处于高电平时,状态触发器必须保持不变才能产生完整而没有“毛刺”的时钟信号。本例选用

8、的D触发器对时钟信号的上升沿敏感,因此状态触发器转换状态的时刻应发生在输入信号(x1, x2)的下降沿处。 需要将时钟信号clk2和clk1的逻辑表达式(7-2)和(7-4)求反,2008.1225例7.2 续根据式(7-3)以及式(7-5)(7-8)画出电路图: 2008.1226例7.2 续功能模拟结果: 2008.1227例7.2 续时序模拟结果: 模拟波形符合预期 2008.12287.3 *电位异步时序电路约束条件:各输入信号不允许同时发生变化,并且输入信号第 i 次变化引起电路的变化达到稳定后,才允许输入信号发生第(i+1)次变化。 时序电路的一时序电路的一般模型般模型电位时序电电

9、位时序电路的模型路的模型2008.1229电位异步时序电路的分析例7.3D锁存器:重构原理图 D锁存器的异步时序电路模型2008.1230例7.3 续D锁存器的异步时序电路模型(来自上页):电路图 激励信号表达式:2008.1231例7.3 续激励信号表达式 激励表:当次态Y的取值与现态y的取值相同时,该状态为稳定状态:在稳定状态外边加一个圆圈作为标记。用箭头标出由不稳定状态向稳定状态转换的情况。2008.1232例7.3 续激励表 流程表:用符号 a 代表 y = 0;用符号 b 代表 y =1。2008.1233例7.3 续流程表 状态图:状态图分析:只是在C = 1 且 D 的值与现态不

10、同时,状态才发生改变。 当C = 1时, 输出 Q 的取值跟随 D 的变化而变。2008.1234电位异步时序电路的综合例 7.4 设计一个上升沿触发的D触发器 DFF 设计依据: D触发器的功能表2008.1235例 7.4 DFF的综合(续)DFF功能的仔细分析:仅当时钟信号由0变1时,输出Q的值才有可能发生变化(Q D)输入信号不允许同时变化。例如,若当前CD = 00, 则下一个变化只可能是 01 或 10。为了简化,本例用C代表时钟信号clk.在画原始状态图时,集中精力于正确性和全面性, 可把减少状态个数的问题留给后续步骤(状态化简)。为了简化问题,本例暂时略去异步清零信号 rese

11、t。即只考虑 reset = 1的情况(将来再加)。clk2008.1236例 7.4 DFF的综合(续)功能分析 原始状态图(Moore型):关注正确性和全面性!2008.1237例 7.4 DFF的综合(续)原始状态图 原始流程表:2008.1238例 7.4 DFF的综合(续)状态化简:2008.1239例 7.4 DFF的综合(续)合并相容类:选择方案(b)闭合性检查:满足闭合性要求 2008.1240例 7.4 DFF的综合(续)状态化简后的流程表:状态编码(相邻状态的海明距离为1):2008.1241例 7.4 DFF的综合(续)激励表:用编码代替流程表中的状态名称2008.124

12、2例 7.4 DFF的综合(续)次态逻辑函数的表达式:输出函数的逻辑表达式:2008.1243例 7.4 DFF的综合(续)逻辑表达式(来自前页):逻辑表达式 DFF电路图:图图7.187.182008.1244例 7.4 DFF的综合(续)在Quartus中创建电路图 编译 时序模拟 时序模拟结果与预期相符2008.1245例 7.4 的改进1 DFF电路图的变换:设法不使用反相器来产生 于是 于是 图图7.217.21图图7.207.202008.1246例 7.4 的改进1 (续)时序模拟波形:结果正确 2008.1247例 7.4 的改进 2 例7.5 给例 7.4 的DFF增加异步清

13、零端 reset。当 reset = 0 时,强制使触发器进入状态A,输出Q为0。解:状态A的编码为y2y1 = 00,为了使 reset = 0时,强制使触发器进入状态A,需要对式(7-10)和(7-11)加以改造,加入reset 的影响:式(7-16)和(7-17)确保当 reset = 0 时,y2y1 = 00。2008.1248例 7.5 续 将式(7-13)代入(7-16)和(7-17):根据式(7-18)和(7-19)可将图7.21演变为图7.22: 图图7.227.222008.1249例 7.5 续在Quartus中创建电路图 编译 时序模拟 时序模拟结果与预期相符2008.

14、12507.4 防范险象的措施例 7.6 用电位异步时序电路实现一个简单的仲裁器 多个设备分时共享同一资源(例如总线)。r i表示设备 i 请求使用共享资源,g i表示仲裁器批准设备 i 的请求。当共享资源空闲且有多个设备同时发出请求时,仲裁器批准其中优先级最高的设备的请求。2008.1251例7.6 续仲裁器和设备i 通过信号r i 和g i 之间用握手信号机制(handshake signaling)实现异步通信 :仲裁器并不知道设备何时发出请求以及何时停止使用共享资源!t r:仲裁器的响应时间,依赖于仲裁器电路的具体实现。t u:设备i 使用使用共享设备的时间,由设备i自行决定。t s:

15、仲裁器的响应时间,依赖于仲裁器电路的具体实现。2008.1252例7.6 续用电位异步时序电路实现仲裁器。仲裁器的任务约定:只考虑2个设备的情况, 并且 设备2的优先级高于设备1。 原始状态图(Moore型)图图7.267.262008.1253例7.6 续原始状态图 原始流程表(表7.13):2008.1254例7.6 续状态化简: Step1 Step2 Step3 Step1 Step2 Step3 由于没有发现新的不相容状态对,这就是最终结果由于没有发现新的不相容状态对,这就是最终结果2008.1255例7.6 续合并相容类: 在下列两种方案中择一:本例选择方案(b) ,即不进行合并。

16、方案(a)并不能降低造价;方案(a)状态总数为奇数,其编码不可能实现相邻状态之间的海明距离等于1 。图图7.287.282008.1256例7.6 续状态编码: 给相邻状态以相邻的编码, 即相邻状态编码的海明距离等于1. 2008.1257例7.6 续状态编码(来自上页):激励表(将状态编码带入表7.13 ):表表7.157.152008.1258例7.6 续激励表(表7.15) 次态函数表达式:2008.1259例7.6 续激励表(表7.15) 输出函数表达式:2008.1260例7.6 续激励函数表达式 仲裁器原理图输出函数表达式2008.1261例7.6 续仲裁器时序模拟波形:2008.

17、1262例7.7 仲裁器的另一实现 任务与例 7.6相同,设计方法上选用1热态位编码。利用例 7.6中部分中间结果:图图7.26 7.26 原始状态图原始状态图图图7.28 7.28 状态化简合并状态化简合并2008.1263例7.7 续由于采用1热态位编码,不再担心状态变迁时会发生险象。设法使状态总数最小化 。利用例 7.6 中部分中间结果 新的状态图(图7.31 )2008.1264例7.7 续原始状态图 原始流程表:状态编码(1 热态位):2008.1265例7.7 续激励表:表7.18不能保证相邻状态之间的海明距离等于1 。 修改结果见下页2008.1266例7.7 续修改表7.18:

18、增添一个非稳定状态 000 状态变迁都经过状态000 使相邻状态的海明距离等于1 激励表(表7.19):2008.1267例7.7 续激励表(表7.19) 次态函数表达式:激励表(表7.19) 输出函数表达式:2008.1268例7.7 续逻辑表达式 电路图:2008.1269例7.7 续仲裁器时序模拟波形:2008.1270电位异步时序电路中防范险象的小结状态迁移过程中,防止状态信号上的“毛刺”:这种“毛刺”极易引发临界险象,必须防止;例 7.6 和例 7.7 以实例说明防范此类 “毛刺”的措施。是否需要防范输出信号上的“毛刺” ?取决于输出信号的负载是否对“毛刺”敏感;例如,触发器的clo

19、ck, set, reset 都对“毛刺”敏感。防范输出信号上的“毛刺”:设电位异步时序电路从稳定状态 v1 变迁到稳定状态 v2,中间可能经过若干非稳定状态 。若要防止非稳定状态给输出信号带来“毛刺”:1.若v1 = v2: 要求每一个非稳定状态形成的输出信号皆等于v1 (也等于v2 )。2.若v1 v2: 要求每一个非稳定状态形成的输出信号皆等于v1或皆等于v2 。开始部分的非稳定状态所形成的输出信号取值皆等于v1;后续部分的非稳定状态所形成的输出信号取值皆等于v2。 2008.12717.5 * 解题示例同样一个问题,可能存在多种解法。异步时序电路的设计过程比较复杂,多数EDA工具目前还

20、不支持异步时序电路的综合。降低一些要求,有可能用同步时序电路的设计方法解决某些异步时序电路的设计例7.8 用同步时序电路的设计方法设计例 7.6的仲裁器。增加异步清零信号 reset : 开始工作之前,令 reset = 0, 使电路进入预定的初始状态。2008.1272例 7.8 续原始状态图(Moore型): 在时钟上升沿驱动下, 仲裁器状态发生变化状态编码:2008.1273例 7.8 续 VHDL代码2008.1274例 7.8 续 VHDL代码2008.1275例 7.8 续 VHDL代码2008.1276例 7.8 续VHDL代码提交Quartus 编译 时序模拟2008.1277

21、例 7.8 续 结果分析模拟波形表明本设计的正确性。缺点:响应速度比较低;它用时钟的上升沿检测输入信号(r2, r1)的取值,而不是像电位异步时序电路那样对输入信号的变化立即做出反应。提高时钟信号频率,将加快响应速度。优点:可用硬件描述语言(例如VHDL)描述电路的行为,由EDA工具综合出目标电路。2008.1278例 7.9 例 7.9 用电位异步时序电路的方法 实现一个3分频器输入/输出脉冲之间的对应关系 :异步清零信号reset:reset = 0 使电路进入预定的初始状态。技术要求:输入脉冲 x 的个数 : 输出脉冲 z 的个数 = 3 :1。z 的宽度与 x 的第 3个脉冲等宽。允许

22、有微小的误差,也允许有少量的延迟。输出脉冲 z 的波形必须完整,没有“毛刺”。2008.1279例 7.9 续原始状态图 (Moore型):2008.1280例 7.9 续原始状态图 原始流程表: 2008.1281例 7.9 续状态化简: 所有状态都不相容,不能化简。状态编码(海明距离 = 1)2008.1282例 7.9 续激励表(状态名称被状态编码代替 ):2008.1283例 7.9 续激励表 次态函数的逻辑表达式 :2008.1284例 7.9 续激励表 次态函数的逻辑表达式 : 2008.1285例 7.9 续激励表 次态函数的逻辑表达式 :2008.1286例 7.9 续加入复位

23、信号 reset 的影响:reset = 0 使分频器进入预定的初始状态 a( 即y3y2y1 = 000)。把逻辑表达式(7-29),(7-30)和(7-31)加以修改激励表 输出函数的逻辑表达式 : 2008.1287例 7.9 续次态函数逻辑表达式输出函数逻辑表达式 仲裁器电路图仲裁器电路图 2008.1288例 7.9 续电路图提交Quartus 编译 时序模拟 波形与预期相符 2008.1289例 7.10 技术要求与例 7.9 相同。本例要求用同步时序电路实现此 3 分频器。【解题思路】:由于是同步时序电路,可以用边沿触发的 D 触发器作为记忆元件,并且把输入信号 x 当作时钟信号

24、使用。注意:输出信号 z 不仅要实现 3分频,而且要和输入信号 x 的第3个脉冲等宽。状态图:2008.1290例 7.10 续 VHDL代码2008.1291例 7.10 续 VHDL代码2008.1292例 7.10 续VHDL代码提交Quartus 编译 时序模拟 波形与预期相符 2008.1293例 7.10 续 结果分析本例中,以编码形式表示的状态迁移情况为: 此编码未能使所有相邻编码之间的海明距离等于1。当代码从11转变为00时:如果2个状态触发器的“翻转”速度不完全相同,则状态转换过程中可能瞬间经过非稳定状态 01 或 10。但是本例只有一个输出信号 z,并且 z 仅和此编码的较

25、高的 1 位有关,因此输出信号 z 不会出现“毛刺”,此设计是可靠的。对于同样一个设计任务,例 7.9用异步时序电路实现,例 7.10用同步时序电路实现。二者相比,同步时序电路的实现过程比较简单,可以用硬件描述语言(本例采用VHDL)描述其功能;通过EDA工具(本例为Quartus)自动综合实现。2008.1294本章小结脉冲异步时序电路已无太大实用价值。EDA工具目前还不支持电位异步时序电路的综合,还得靠手工设计 只能做规模较小的设计。电位异步时序电路是客观需要 可用同步时序电路的设计方法设计异步时序电路 目标电路宏观上是异步的; 微观上是同步的。设计过程简化了电路成本可能增加速度可能降低学习异步时序电路有助于理论上的提高

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号