cdc跨时钟域处理.pdf
34页跨时钟域电路设计 2014年8月 钟杨源 主要内容 • 1.单一信号跨时钟域处理 • 2.总线数据的跨时钟域处理 • 3.数据流的跨时钟域处理 • 4.相关时钟系统数据同步 跨时钟域问题(Clock Domain Crossing) • 跨时钟域有以下两种情况: • (1)两个不同的频率时钟域进行数据交换; • (2)两个时钟域工作频率相同,但是相位不相同; 跨时钟域问题可能出现的问题和危害 • 1.亚稳态问题 • 2.数据采样错误 • 3.时序收敛 一、单一信号跨时钟域处理 • 慢时钟域快时钟域 双寄存器同步电路或脉冲边沿采样电路 • 快时钟域慢时钟域 拉伸脉宽 脉冲同步器(结绳法) 亚稳态的产生 • 当建立/保持时间违反时,寄存器 进入亚稳态,会在0和1之间反复 振荡,直到稳定在一个未知的状 态如果让这个振荡传导到后级 逻辑,会导致电路工作混乱 平均失效时间 触发器进入亚稳态的几率可以用触发器采样的平均失效时间间隔 MTBF(Mean Time Between Failures)描述 若MTBF很大,就认为该设计在实际工作中能够正常运行 分辨时间(亚稳态转稳定时间) 触发器参数 敏感时间窗口参数 采样时钟频率 输入数据的跳变频率 平均失效时间的计算 对于一个典型的0.25 µ m 工艺的ASIC库中的一个触 发器,我们取如下的参数: T = 2.3ns, 𝜏 = 0.31ns, Tw= 9.6as, fc= 100MHZ , fd = 10MH Z , MTBF = 2.01 day s 即触发器每两天便可能出现一次亚稳态,说明一级 同步很容易出现问题。
单信号:慢时钟域快时钟域 • 如果我们仍然使用同样的参数,则第2级触发器 的MTBF为9.57 *10^9(years) 这个值已经足以 使系统长期稳定 总结 • 问题1:为何直接对异步信号进行采样会不稳 定? • 问题2:要使用几级寄存器进行同步最合适? • 问题3:同步寄存器电路可以防止亚稳态产生 吗? 总结 • 问题1:为何直接对异步信号进行采样会不稳定? • 答:采样时会产生亚稳态 • 问题2:要使用几级寄存器进行同步最合适? • 答:2级同步器的平均失效时间已经足够大, 3级同步影响速度 • 问题3:同步寄存器电路可以防止亚稳态产生吗? • 答:亚稳态在异步电路中是不可避免的,同步电 路的作用只是为了不让亚稳态传播 单信号:快时钟域慢时钟域 • 当快时钟域的信号跳变太快,导致目标时 钟域无法采样时,应如何处理? • 1.拉伸快时钟域信号的脉冲宽度使其足以被 正确采样 • 2.结绳法(脉冲同步器) ①脉冲拉伸法 脉冲拉伸同步电路 ②结绳法 • 信号从快时钟域向慢时钟域过渡时,慢时钟 将可能无法对变化太快的信号实现正确采样 • “结绳法”原理:将快时钟信号的脉冲周期 延长,等到慢时钟同步采样后再“解绳”还 原为原来的脉冲周期宽度。
单信号:快时钟域慢时钟域 结绳同步电路 Synopsys DW库内的推荐电路 脉冲同步器使用规则 • 1. 总线数据不能对每个信号单独使用同步 器,会导致数据无法同时有效 • 2.输入的信号必须是单周期脉宽,否则无法 成功进行“结绳”操作 • 3.输入脉冲之间的最小间隔必须等于两个同 步器时钟周期如果输入脉冲相邻太近, 则同步器就不能检测到每个脉冲 问题 • 1.信号从快时钟—慢时钟与慢时钟—快时 钟在考虑问题时有什么差别? • 2.为什么不能直接用慢时钟采样快时钟域的 数据? • 3.快时钟—慢时钟域同步的核心思想应该 是什么? 问题 • 1.信号从快时钟—慢时钟与慢时钟—快时钟有什么 差别? • 慢时钟—快时钟只要考虑亚稳态问题, • 快时钟—慢时钟的情况还要考虑采样速率的问题 • 2.为什么不能直接用慢时钟采样快时钟域的数据? • 根据奈奎斯特采样定理,当采样频率低于信号最高 频率的2倍时,是无法完整正确采样的 • 3.快时钟—慢时钟域同步的核心思想应该是什么? • 握制 主要内容 • 1.单一信号跨时钟域处理 • 2.总线数据的跨时钟域处理 • 3.数据流的跨时钟域处理 • 4.相关时钟系统数据同步 二、总线数据同步 • 跨时钟域对总线进行采样时,数据总线上有 可能出现瞬时虚假数值。
例如,一条8位总线 上有3个位发生了改变,若信号到达时间不一 致,就有会看到8个可能出现的数值 • 1.慢时钟域快时钟域 • (1)数据编码采用格雷码 • (2)结绳法处理有效信号 • 2.慢时钟域快时钟域 • 带回复的结绳法 •格雷码又称独热码,相邻值只会有一位跳变 •在任意时刻,总线上的数据只有一位变化,就不会出现虚假 数据状态 •缺点:只有在数据在相邻数值间跳变的情况才有用,不适用 大多数情况 总线信号:慢时钟域快时钟域 处理方法1:采用格雷码 总线信号:慢时钟域快时钟域 如果目的时钟要求满足 就可以在不到源域1个时钟周期的时间内捕获数 据因此也就不需要回复握手信号这样可以最 大程度地减少时延和或不必要的逻辑电路 结绳同步电路 总线信号:快时钟域慢时钟域 握手脉冲同步器 • 升级版结绳法:带握手确认的脉冲同步器 • 数据同步交换顺序为:保持数据,发送请 接受,发回已接受,释放数据寄存器 带握手信号的 结绳同步电路 主要内容 • 1.单一信号跨时钟域处理 • 2.总线数据的跨时钟域处理 • 3.数据流的跨时钟域处理 • 4.相关时钟系统数据同步 三、数据流同步 • 数据流与数据的不同: • 1.数据流大多具有连续性,即背靠背传输; • 2.数据流要求信号具有较快的传输速度 • 最好的解决方法: • 异步FIFO DESIGNWAVE库中的双时钟FIFO 该模块依赖于双端口 RAM的使用,源域内的推送 逻辑电路负责将数据写入到 RAM,而目的域内的弹 出逻辑电路负责将数据从RAM读取 主要内容 • 1.单一信号跨时钟域处理 • 2.总线数据的跨时钟域处理 • 3.数据流的跨时钟域处理 • 4.相关时钟系统数据同步 相关时钟系统 • 如果两个时钟分别为同一个源时钟的分频或倍 频时钟,则称为相关时钟 • 相关时钟的相位是可以通过工具进行对齐的 • 跨越的时钟域为相关时钟,这时可以用更简便 的处理方式,简化同步电路 源时钟 3分频 6分频 24分频 相关时钟域:慢快时钟域 相关时钟域:慢快时钟域 CDC电路的实现手段 • 1.RTL设计 直接描述或例化synopsys的相关单元 • 2.综合方式 create_clock与set_dont_touch_network • 3.工艺映射 有些工艺库有包含“亚稳态强化”触发器 工艺器件映射 • 在DC将两个触发器映射到一个目标库上时,综 合工具会选择能够满足时序限制条件的最小面 积的单元,而不是对同步最好的触发器 • 因此通常想要通过手动方式或通过脚本方式用 已知的“亚稳态强化”触发器来替代这些触发 器 • 自DC2009版本开始,可以指定一个或多个“亚 稳态强化”触发器用在上述DW库中的CDC组件。
• 方法:通过将相关器件赋给 “synlib_preferred_ffs”变量实现特定寄存器的 调用 NEXT TIME • 1.基于AMBA3.0的SOC设计原理 • 2.数字系统全局信号处理 • 3.其他……? 。

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


