【异步电路碎碎念5】 —— 跨异步处理的几个注意事项

简介: 【异步电路碎碎念5】 —— 跨异步处理的几个注意事项

前言

继续上篇写,最近沉迷游戏一直没有恢复学习状态,今天开始恢复!

【异步电路碎碎念4】 —— 跨异步的处理方法

今天这个内容跟之前的好像有些重复,不过没关系就当水一水吧~

注意事项

多比特信号进行同步时,如需要进行逻辑运算必须在源时钟域完成组合逻辑并寄存处理,不能分别同步到目的时钟域后再进行逻辑处理

这个老生常谈了,每个比特在同步过程中收敛的时刻不同,有的在第2拍采到正确值,有的在3拍采样到正确值,在目的时钟域对多个同步信号进行组合逻辑的话,产生的结果可能与预期不一致导致整个逻辑的混乱与传播。

同步器之间不能有任何组合逻辑

同样是老生常谈的一个点,同步就干干净净的处理就对了,千万别有组合逻辑,一是触发器路径延迟不同,高低电平传播时间不一致,组合逻辑会有错误逻辑以及竞争冒险与毛刺,同时也增加了采样的不稳定区间。

同源信号扇出多个触发器的情况,需要先同步再复制同步后的信号

典型的场景就是A -> B,A -> C,BC都在目的时钟域,此时不要讲同步器复制对A分别跨异步,而是要先将A同步到目的时钟域后再驱动多个逻辑路径。

使用格雷码跨异步,格雷码必须是依次变化的

比较典型的场景是计数器非整2的幂次计数翻转,这过程中会有格雷码多比特跳变的场景,不能使用格雷码同步器。此外使用格雷码同步器时,格雷码必须打拍输出,格雷码多比特的走线延迟建议不要大于Tmin_cyc(min 源、目的时钟周期


相关文章
|
4天前
|
安全 Go
Go语言并发新特性:单向通道的读写控制
Go语言并发新特性:单向通道的读写控制
44 0
|
7月前
|
前端开发 Shell 芯片
【芯片前端】保持代码手感——跨异步DMUX
【芯片前端】保持代码手感——跨异步DMUX
|
7月前
|
前端开发
【前端设计】寄存器与主功能电路为异步时钟时的功能影响探索
【前端设计】寄存器与主功能电路为异步时钟时的功能影响探索
|
10月前
|
设计模式 算法 安全
并发 并行 同步 异步 你分清了吗
并发 并行 同步 异步 你分清了吗
|
12月前
|
存储 5G SDN
带你读《5G 系统技术原理与实现》——1.2 5G 网元功能与接口
带你读《5G 系统技术原理与实现》——1.2 5G 网元功能与接口
【异步电路碎碎念4】 —— 跨异步的处理方法
【异步电路碎碎念4】 —— 跨异步的处理方法
【异步电路碎碎念4】 —— 跨异步的处理方法
【异步电路碎碎念3】 —— 跨异步的处理原则
【异步电路碎碎念3】 —— 跨异步的处理原则
【异步电路碎碎念3】 —— 跨异步的处理原则
|
前端开发
【异步电路碎碎念2】 —— 跨异步引发的电路危机
【异步电路碎碎念2】 —— 跨异步引发的电路危机
174 0
|
算法 Linux
linux多线程同步设计
linux多线程同步设计
132 0
linux多线程同步设计
|
XML JSON 前端开发
异步和同步交互图|学习笔记
快速学习异步和同步交互图
异步和同步交互图|学习笔记