前言

触发器输入端口的数据在时间窗口内发生变化,会导致时序违例。触发器的输出在一段时间内徘徊在一个中间电平,既不是0也不是1。这段时间称为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是稳定到0或者1,是随机的,与输入没有必然的关系。

触发器由于物理工艺原因,数据并不是理想化的只要触发沿时刻不变即可。触发器有固定的建立时间,保持时间。

建立时间:在时钟有效沿到来前数据需要稳定的时间。

保持时间:在时钟有效沿之后数据还需要保持不变的时间。

后果:会给设计带来致命的功能故障。

一般来说,信号是在异步信号,跨时钟域,复位电路中产生亚稳态。

解决方式:

1.单比特信号:

①采用同步器同步,低速设计打两拍,高速设计可能需要打三拍。

低速到高速时钟域,低速信号一般能被高速时钟域采到甚至多次。但高速时钟域到低速时钟域就不太好办了:

②闭环解决方案:采用握手反馈信号,这会导致延时开销大。

③开环解决方案:把信号展宽,至少为采样T的1.5倍。这样至少能采到一次。

2.多比特信号:

传递多比特信号,普通同步器就没啥卵用了,因为多比特信号偶发数据变化歪斜,导致采到的不一定是正确数据。

①多比特信号融合:把多比特信号转换为单比特信号,再用同步器同步。

②多周期路径规划:数据不需要同步,至需要同时传递一个同步的使能信号到接收时钟域即可,使能信号没被同步到接收时钟域并被识别之前数据不被采集。即在信号某个沿产生同步脉冲指示信号。

③异步fifo。

以上。

转载于:https://www.cnblogs.com/kingstacker/p/7520199.html

FPGA中亚稳态相关问题及跨时钟域处理相关推荐

  1. FPGA之道(48)跨时钟域问题

    文章目录 前言 跨时钟域问题 什么是跨时钟域问题 解决跨时钟域问题的原理 两级采样法 为什么要对非本时钟域的信号用本时钟域的时钟进行采样呢? 为什么要采样两次呢? 握手法 对于时钟域A: 对于时钟域B ...

  2. FPGA跨时钟域信号处理之亚稳态问题

    FPGA跨时钟域信号处理之亚稳态问题学习笔记 跨时钟域会导致"亚稳态"的问题,信号的上升沿和下降沿并不是瞬间被拉高或拉低的,而是有一个倾斜变化的过程,如图中的tx信号的上升沿和下降 ...

  3. FPGA基础知识极简教程(7)详解亚稳态与跨时钟域传输

    博文目录 写在前面 正文 FPGA或ASIC中的传播延迟 建立和保持时间是什么? 建立和保持时间与传播延迟和时钟频率有何关系? 如果违反建立和保持时间会发生什么? FPGA中的亚稳定是什么? 亚稳态何 ...

  4. 【读书笔记】Verilog的亚稳态现象和跨时钟域处理方法

    书※目:FPGA深度解析_第七章_樊继明著     高级FPGA设计结构.实现和优化_第六章_孟宪元译 文章目录 一.亚稳态 (1)跨时钟域的亚稳态现象 (2)亚稳态的多径传输 二.跨时钟域处理 2. ...

  5. FPGA知识点汇总(verilog、数字电路、时序分析、跨时钟域、亚稳态)

    FPGA十分擅长同时做简单且重复的工作(并行计算)人工智能就有许多重复性.需要并行计算的工作如模式识别.图像处理,在通信领域,FPGA的低延时.可编程.低功耗的特点 开发流程:RTL设计,仿真验证,逻 ...

  6. FPGA CDC跨时钟域设计学习(一)亚稳态

    FPGA CDC跨时钟域设计学习(一) 亚稳态 MTBF - mean time before failure 同步器 理论 设计原则 学习资源主要来源于CummingsSNUG2008Boston_ ...

  7. FPGA设计中,跨时钟域问题的处理

    FPGA设计中,跨时钟域问题的处理 今天和大侠简单聊一聊FPGA设计中跨时钟域问题的处理,话不多说,上货. 跨时钟域处理是FPGA设计中经常遇到的问题,而如何处理好跨时钟域间的数据,可以说是每个FPG ...

  8. 跨时钟域的数据同步,亚稳态,和相关电路设计方法

    目录 同步时钟: 亚稳态: 双锁存器同步电路 单bit信号跨时钟域传播 边沿检测同步电路(慢时钟到快时钟) 脉冲同步器电路(快时钟到慢时钟) 结绳法1 结绳法2 结绳法3 多bit信号跨时钟域传播 多 ...

  9. FPGA跨时钟域处理的三大方法

    跨时钟域处理是FPGA设计中经常遇到的问题,而如何处理好跨时钟域间的数据,可以说是每个FPGA初学者的必修课.如果是还在校的本科生,跨时钟域处理也是面试中经常常被问到的一个问题. 在本篇文章中,主要介 ...

  10. FPGA跨时钟域异步时钟设计的几种同步策略

    1 引言 基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统.但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免.如果对 ...

最新文章

  1. Android 学习视频
  2. 成功解决ImportError: Could not find 'msvcp140.dll'. TensorFlow requires that this DLL be installed in a
  3. 洛谷P2835 刻录光盘
  4. 前端工程与性能优化:静态资源版本更新与缓存
  5. 把十进制转化为二进制的一种方法
  6. 在JVM之下–类加载器
  7. bzoj 4552: [Tjoi2016Heoi2016]排序
  8. linux基础-文本编辑器,Linux基础之vim文本编辑器
  9. 【ESIM】论文阅读笔记:文本蕴含之ESIM
  10. 《Unix传奇》:众神的创世记
  11. python编写简单漏洞扫描器(通过实别服务版本号)
  12. R语言逻辑回归、ROC曲线和十折交叉验证
  13. 如何给网页设置自己的字体
  14. 计算机桌面的文件拒绝访问,win10系统桌面文件无法重命名提示访问被拒绝的设置办法...
  15. 计算机毕业设计Java-ssm办公自动化管理系统源码+系统+数据库+lw文档
  16. Android开发人员不得不收集的代码(不断更新)
  17. 如何做用户画像分析?
  18. Java根据当前日期获取年初,年末,季初,季末,月初,月末日期的方法
  19. java 刷题ide,力扣(LeetCode)刷题神器之Vs Code
  20. 服务器不显示NPC名字是什么情况,走进科学:一些不明显的服务器名字的由来

热门文章

  1. ecshop send.php on line 71,搭建LNMP发布ecshop系统及压测启用opcache缓存与否的情况
  2. python 时间处理_Python如何进行时间处理
  3. gateway nacos注册服务_第二篇 Spring Cloud Alibaba实战(一)Nacos服务注册与发现
  4. opencv4 图像特征匹配_【从零学习OpenCV 4】图像模板匹配
  5. java web 开发环境布置学习笔记1
  6. Nginx源码分析 - Event事件篇 - Nginx的Event事件模块概览(17)
  7. Redis缓存持久化
  8. linux的shell脚本接收参数
  9. 使用java获取网络响应内容--Get请求方式
  10. 6.2创建Docker镜像文件