内部逻辖可以产生的时钟,但是容易出现质量问题
2018-03-09 19:53
183 查看
时钟是同步设计的基础,在同步设计中,所有操作都是基于时钟沿触发的,所以时钟的设计对于同步时序电路来说非常重要。在 PLD 设计中,通常推荐使用 FPGA 内嵌的 PLL 或DLL 做时钟的频率与相位变化,并用全局时钟和专用时钟选择器进行时钟布线。
内部逻辖产生的时钟:
如果需要使用内部逻辑产生时钟,则必须要在组合逻辑产生的时钟后插入寄存器,如图5-17 所示。如果直接使用组合逻辑产生的信号作为时钟信号或者异步置位/复位信号,则将使设计不稳定。这是因为组合逻辑难免会产生毛刺,如果这些毛刺仅仅存在于同步时序的数据路径中,则寄存器采样会对毛刺产生过滤效应, 一般来说负面影响并不大。但是当带有毛刺的信号作为时钟信号或者异步置位/复位信号时,如果毛刺的宽度足以驱动寄存器的时钟端或者异步置位/复位端,则必将产生错误的逻辑操作,即使毛刺的宽度不足以驱动时钟端或异步置位/复位端,也会引发寄存器的不稳定,甚至激发寄存器产生亚稳态。所以对于时钟路径来说,必须插入寄存器以过滤毛刺。
另一方面,组合逻辑产生的时钟还会带来另外一个问题,组合逻辑电路的 Jitter 和 Skew都比较大,如果时钟产生逻辑的延时比数据路径的延时更大,则会带来负的 Skew 。负的Skew 对于同步逻辑设计而言是灾难性的。所以使用组合逻辑来产哇内部时钟仅仅适用于时钟频率较低、时钟精度要求不高的情况。另外,这类时钟应该使用快速布线资源布线,而且需要为组合逻辑电路附加一定的约束条件,以确保时钟质量。
内部逻辖产生的时钟:
如果需要使用内部逻辑产生时钟,则必须要在组合逻辑产生的时钟后插入寄存器,如图5-17 所示。如果直接使用组合逻辑产生的信号作为时钟信号或者异步置位/复位信号,则将使设计不稳定。这是因为组合逻辑难免会产生毛刺,如果这些毛刺仅仅存在于同步时序的数据路径中,则寄存器采样会对毛刺产生过滤效应, 一般来说负面影响并不大。但是当带有毛刺的信号作为时钟信号或者异步置位/复位信号时,如果毛刺的宽度足以驱动寄存器的时钟端或者异步置位/复位端,则必将产生错误的逻辑操作,即使毛刺的宽度不足以驱动时钟端或异步置位/复位端,也会引发寄存器的不稳定,甚至激发寄存器产生亚稳态。所以对于时钟路径来说,必须插入寄存器以过滤毛刺。
另一方面,组合逻辑产生的时钟还会带来另外一个问题,组合逻辑电路的 Jitter 和 Skew都比较大,如果时钟产生逻辑的延时比数据路径的延时更大,则会带来负的 Skew 。负的Skew 对于同步逻辑设计而言是灾难性的。所以使用组合逻辑来产哇内部时钟仅仅适用于时钟频率较低、时钟精度要求不高的情况。另外,这类时钟应该使用快速布线资源布线,而且需要为组合逻辑电路附加一定的约束条件,以确保时钟质量。
相关文章推荐
- redis(三)--Java代码-telnet可以连接成功但是出现Connect timeout问题-解决方案
- 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约的
- textview第一次出现不可滚动文本,但是点击出现键盘,键盘落下,就可以滚动问题
- 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。
- 使用remoteIO获取mic数据时容易出现的问题
- uboot终于能从flash上引导linux内核了,但是内核启动又出现了问题
- 系统和数据库容易出现的问题
- 关于quartus综合不出现时钟频率的问题<No paths to report.>
- 一个人出现问题可能是道德问题,但是很多人都有相同的问题就一定不是道德问题。
- 舞台系统 后台图片改变但是 前台出现图片不正确问题以及解决方法
- 手机可以连接无线网络,但是win8 总是受限问题
- Regex.Split 在分割 "|" 符号时出现问题,应该使用 "[|]" 才可以分组
- iis7配置网站容易出现的问题(转)
- 从1数到n,1出现多少次,有多少个1的问题,想了好长时间,才写出这个。算的速度还是可以的
- kylin官方给出的优化 以及各个步骤容易出现的问题
- “超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。”问题的解决方法
- android开发中eclipse容易出现的问题
- ios类别(category)不能添加成员变量但是可以添加属性的问题
- linux下安装软件是容易出现的若干问题及对策
- 新手学EXT问题 页面单独运行没有问题 但是一经过struts2跳转 就出现问题了(转)