【异步电路碎碎念3】 —— 跨异步的处理原则

简介: 【异步电路碎碎念3】 —— 跨异步的处理原则

【异步电路碎碎念2】 —— 跨异步引发的电路危机_尼德兰的喵的博客-CSDN博客_异步电路的危害

学习了跨异步的基础概念和引发问题后,继续学习下应该如何处理跨异步的场景。

查询了一些资料后,总结起来跨异步处理的大原则有以下几个。

寄存器输出

跨异步信号推荐是寄存器输出,具体来讲脉冲信号必须由寄存器输出,电平信号根据实际使用场景可以进行选择,当然我觉得吧如果面积不瓶颈的话,都采用寄存器输出是完全没问题的。

脉冲信号不能通过组合逻辑输出必须是寄存器的干净输出,因为组合逻辑在电路中必然存在毛刺,这个毛刺一旦被同步器采集到那么就是一个错误的有效信息传往下级模块,这是应当尽量避免的。

电平信号因为电路本身对跳转沿不敏感,因此对于寄存器输出这项并没有严格的要求。

维持足够时间

源时钟域的信号如果想被目的时钟域时钟采样到(同步器时钟必然为目的时钟),那么信号需要维持足够长的时间。这个时间我看到了几处说法,自己采纳的是T+Tset+Thold+Tskew即目的时钟周期+建立时间+保持时间+最大时间抖动,这么要求的原因当然是保证目的时钟可以顺利的采样到源脉冲信号。

当然了实际应用中,我记得是直接要求至少2T的维持时间。如果源信号宽度不够的话,是需要进行信号展宽的。

同步过程中不要有组合逻辑

总线/多比特跨异步不能简单打拍

接收域避免再收敛

打拍需要与时俱进

异步复位一定要纳入跨异步考虑


相关文章
|
前端开发 Shell 芯片
【芯片前端】保持代码手感——跨异步DMUX
【芯片前端】保持代码手感——跨异步DMUX
113 0
|
存储 缓存 5G
时域结构 | 带你读《5G 空口设计与实践进阶 》之十七
在时域,NR 支持基于符号灵活定义的帧结构,以满足各种时延需求。
时域结构 | 带你读《5G 空口设计与实践进阶 》之十七
|
存储 前端开发 芯片
【芯片前端】保持代码手感——异步FIFO全解析
【芯片前端】保持代码手感——异步FIFO全解析
101 0
【异步电路碎碎念4】 —— 跨异步的处理方法
【异步电路碎碎念4】 —— 跨异步的处理方法
【异步电路碎碎念4】 —— 跨异步的处理方法
|
前端开发
【异步电路碎碎念2】 —— 跨异步引发的电路危机
【异步电路碎碎念2】 —— 跨异步引发的电路危机
254 0
|
前端开发 芯片
【异步电路碎碎念1】 —— 到底什么是异步电路
【异步电路碎碎念1】 —— 到底什么是异步电路
390 0
【异步电路碎碎念1】 —— 到底什么是异步电路
|
算法 Linux
linux多线程同步设计
linux多线程同步设计
175 0
linux多线程同步设计
|
程序员
带你读《电路基础》之一:基本概念
本书内容采用简明易懂的风格,介绍了六步解决问题的方法,并在实践中的问题和实践问题,结合了超过468个新的或改变家庭作业问题。涵盖了全面的线性电路分析的方法,并保留了“设计一个问题”的功能,这有助于学生发展他们的设计技能,有学生发展的问题,以及解决方案。
【异步电路碎碎念5】 —— 跨异步处理的几个注意事项
【异步电路碎碎念5】 —— 跨异步处理的几个注意事项
134 0
|
前端开发
多个异步之间的协作方案
业务逻辑可能依赖两个通过回调或事件传递
75 0