首页 > 其他分享 >【《硬件架构的艺术》读书笔记】02 时钟和复位zui'xiao'zhi1

【《硬件架构的艺术》读书笔记】02 时钟和复位zui'xiao'zhi1

时间:2022-11-19 19:12:06浏览次数:52  
标签:02 异步 触发器 读书笔记 复位 路径 xiao 偏移 时钟

2.6.1 用同步复位进行设计

 

 

 

 上面两个电路功能一样,但是下面的电路如果load信号为X,触发器便会停在不定态。可以使用编译指令告诉指定的信号为复位信号,综合工具就会使该信号尽可能接近触发器,防止初始化的问题发生。(将这些指令加入RTL代码中以避免重新综合)

2.6.1.1 使用同步复位的优点。

保证电路100%同步。

同步复位会综合为更小的触发器,特别是复位信号被触发器输入逻辑门控(如上图)。

确保复位只发生在有效时钟沿,过滤掉毛刺。

一些设计中复位由内部产生,这样的设计中使用同步复位信号,可以将时钟间的复位毛刺过滤掉。

 2.6.1.2 缺点

不是所有ASIC库中都带有内置的同步复位触发器,很容易把复位逻辑综合到触发器本身之外。

可能需要一个脉冲展宽器,保证复位信号出现在时钟有效沿。多时钟设计中必须考虑这个问题。

复位经过组合逻辑产生就会存在潜在的问题。

在复位信号发出时,时钟可能关闭,这时只能使用异步复位,并在时钟恢复前移除复位信号。

 

 有三态就需要oe立即动作适合使用异步复位,下面同步复位信号也可以直接做到立即撤销使能,且可以简化时序分析。

2.6.2 使用异步复位进行设计

异步复位没有额外的路径,比同步复位更简单。

 

2.6.2.1 使用异步复位的优点

1、器件库有带异步复位的触发器,就能保证数据路径上是干净的。不会引入额外的逻辑门和额外的延时,保证了没有任何复位信号加在数据路径上。

2、不管有没有时钟都能复位。综合工具能自动判断异步复位无需加入任何综合参数。

2.6.2.2 异步复位的缺点

1、DFT时,异步复位引脚若不能直接被IO驱动,就必须将异步复位电路和复位驱动器断开保证DFT的正确。

2、在触发器时钟有效沿附近释放,触发器就会进入亚稳态,复位状态就会丢失。

3、复位信号毛刺会引发伪复位,需要设计毛刺过滤器。这个问题可以考虑使用同步复位。

4、复位树应是时间可控的,以保证复位能在一个时钟周期内释放。解决方法:使用分布式异步复位同步触发器(这种异步复位方法将复位同步器放置在设计的每个层次结构中。)

 

 

 2.6.3 带异步复位和异步置位的触发器

 

 

 这段代码能正确地综合成实际的器件,但是在仿真时会有问题,因为always事件会只在敏感事件的有效边沿触发。

 

 

 图中只对1和2时间触发,3和4由于不是敏感事件所以不会触发。

 

 

 正确的仿真模型应该在set_n在rst_n前面撤走时将输出置为1。

2.6.4 移除异步复位的问题

移除系统中的异步复位会使芯片进入不稳定的未知状态。同步复位时,复位信号的前沿和尾沿必须远离时钟的有效边沿。

 

 

 

 两个问题:

1、违背复位恢复时间。复位恢复时间类似于建立时间,复位信号撤离应在时钟有效沿前一段时间到达,否则可能导致寄存器数据输出出现信号完整性问题或者亚稳态问题。

2、复位移除会在不同时序元件的不同周期内发生。异步复位移除传播延迟可能导致某些寄存器或者触发器提前退出复位状态。

2.6.5 复位同步器

这是确保正确移除复位最常使用的方法。没有复位同步器,即使仿真时复位能正常工作,最终系统中的异步复位信号仍然是无效的。

 

复位撤销后,典型情况下需要两个时钟上升沿来同步移除主复位信号。两级的主要目的就是为了消除亚稳态。

第一级可能的亚稳态是因为不满足复位恢复时间。

第二个触发器不会出现恢复亚稳态问题,因为移除复位时,触发器输入输出都为低电平。

总的复位分布时间:

 

 2.6.6 过滤复位毛刺

异步复位对毛刺很敏感。

可以将复位信号和延迟后的复位信号相或过滤毛刺。

 

复位输入引脚也必须是施密特触发器引脚才有助于毛刺过滤。(施密特触发器:即滞回比较器,有两个判决电平,起到了减小毛刺的作用)

延时使用提供的宏单元或者在优化后的已综合设计中手动加入延时,如加多个较慢的缓冲器。缺点:延迟会随温度电压工艺变化,需要保证在所有PVT环境中都能满足设计要求。

2.7 控制时钟偏移(Skew)

时钟偏移:整个芯片中时钟到达时间的差异。

 

 两个相邻寄存器的时钟相差较大,就会有违背时序的潜在风险。

两个顺序相邻触发器和一个等电位时钟分布网络的时钟偏移:

 

两个T分别是时钟源到两个触发器的延迟。

2.7.1 短路径问题

当数据传播路径比时钟偏移还短,数据就会提前传到第二个触发器输出。如下图。正常情况下,数据传播延迟应该大于时钟延迟,第二个触发器应该首先采的是第一个触发器上个周期的值。

 

 2.7.2 时钟偏移和短路径分析

 

满足下列式子就会出现明显的短路径问题。注意区分短路径问题和亚稳态,短路径并不一定会造成亚稳态,如上图情况b;当SK>T1-H且SK<T1时会出现亚稳态,同时也是短路径,如图c。

短路径可能不会亚稳态且采到一个稳定的值,但这个值是第一个触发器本时钟沿输出的值,会与预期功能不一致。

2.7.3 使时钟偏移最小化

将时钟偏移减到最小值是解决短路径问题的最好方式。

2.7.3.1 在数据路径上加入延迟

如图2.44,在数据路径上增加延迟使整个数据路径的延迟大于时钟偏移,可以消除短路径问题。

2.7.3.2 时钟反转

感觉这里翻译的也有问题,一开始还以为这里是要对时钟做一个反向,看英文原文发现意思应该是让时钟传播方向(右到左)和数据传播方向(左到右)相反,这样自然就可以消除时钟偏移了。

 

 

延迟足够时,可以使接收触发器比源触发器先接收到时钟有效沿。这是一种牺牲建立时间为代价提高保持时间的方法。

 

 

 不难看出时钟反转就增大了Tlaunch减小了Tcapture,使得建立时间更难满足。

该方法对于约翰逊计数器和新型反馈移位寄存器这样的环路结构并不是很有效。因为起点触发器和终点触发器还是连在一起,还是会存在短路径问题。

 

 

 2.7.3.3 交替相位时钟

 

 

 交替使用时钟沿,顺序相邻的触发器使用相反的时钟沿触发,为时钟偏移提供了约半个时钟周期的短路径时钟偏移余量。

 

 可以看到这里时钟2使用下降沿避免了采到上一个值,达到了消除短路径问题的目的。

 

交替使用时钟相位,原理同上一种方法。

 

 

 行波时钟结构。每个触发器的输出驱动下一个触发器的时钟端。由于触发器不在同一个时钟,这样就消除了时钟偏移。

2.7.3.4 平衡线路长度

设计者应保持所有时钟线长度相等,也应保证各终端负载相同。

设计应遵守的一些指南:

 

 

 

 

标签:02,异步,触发器,读书笔记,复位,路径,xiao,偏移,时钟
From: https://www.cnblogs.com/magnolia666/p/16897986.html

相关文章

  • echarts补充2022-11-19
    当在众多echarts模板中找到一个统计图时,并且对完接口展示数据了,才发现指向统计图的说明文字带有灰白色的阴影。然后在复制的option参数里面也没有发现任何与shadow相关的......
  • 20201322学习笔记12
    第十四章MySQL数据库系统14.1Mysql简介MySQL是一个关系数据库系统。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有......
  • 第一周作业:2022-11-20
    就业课程第一周作业:图文并茂解释开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?安装centosubuntu系统。通过计算机基础和帮助的学习,完成学习ifconfig命令的使用。......
  • CSP-S2022
    勉强混到CQ一等但是差\(5\)分\(7\)级勾(哭)。A.假期计划我们先不考虑\(4\)个点,考虑\(2\)个点的情况。我们发现可以枚举\(a\)点,再找到\(a\)能到达且\(1\)......
  • 2022最新wifi大师,wifi分销小程序源码,亲测可用
     话不多说,直接上干货 微信搜索,wifi鑫速连,就可以获得免费源码,免费搭建源码:链接  ​......
  • 2022-11-19 vue+uniapp之微信小程序 video initial-time 无效
    如题,原因:不详,个人推测是因为video没有初始化完成导致initial-time赋值不成功导致。解决方案:给video绑定一个变量,在设置初始化播放时间的时候为false,赋值后设置为true,即:<......
  • orcale笔记02 DDL语言
    create创建对象alter 修改对象drop删除对象truncate清空对象创建表:createtable表名(字段1数据类型约束条件,字段2数据类型约束条......
  • 2022csp普及组真题:解密(decode)
    2022csp普及组真题:解密(decode)题目【题目描述】给定一个正整数 k,有 k 次询问,每次给定三个正整数 ni,ei,di,求两个正整数 pi,qi, 使 ni=pi×qi, ei×......
  • VMware Fusion Pro for mac(vm虚拟机) v13.0.0(20802013)激活版
    VMwareFusionPro是一款功能强大的虚拟机软件,提供了在Mac上运行Windows以及数百个其他操作系统与Mac应用程序并行运行的能力,而无需重新启动!并且允许您从数百种受支持的操作......
  • 2022.11.19
    2022.11.19搞了搞我的博客园,(之前写是了些什么东西),搞了搞我的电脑。不知道为什么博客园上的背景时有时无的,可惜了我那么好看的图。哦!问题被wxf解决了。想AL了。不......