凡亿教育-龙艳
凡事用心,一起进步
打开APP
公司名片
凡亿课堂 | 面试指南
当前位置: 首页 面试指南
FPGA面试:跨时钟域CDC怎么选?两级同步器、脉冲同步和异步FIFO别混用
浏览量:91
2026-10-22 15:50:16

CDC(Clock Domain Crossing)不是简单地给所有信号加两级触发器。选择方法前,先判断跨域信号是稳定的单比特电平、短脉冲事件,还是多位数据流。类型选错,可能出现事件丢失、数据位不一致或偶发性状态错误。

跨时钟域CDC技术对比图,包含两级触发器同步器、双时钟FIFO和Gray码握手方案

三类信号分别怎么处理?

稳定单比特电平

常用目标时钟域两级触发器同步,降低亚稳态传播风险。前提是源信号在目标域采样期间足够稳定;这不是对任意脉冲都有效。

窄脉冲 / 事件

如果脉冲比目标时钟采样窗口还短,可能完全被漏掉。可根据事件速率和握手需求采用脉冲展宽、Toggle同步或请求/应答握手。

多位数据总线

不能把每一位独立同步后就当作可靠总线。连续数据通常考虑异步FIFO;低速控制数据也可使用握手,让数据在接收端采样前保持稳定。

CDC设计里还要检查什么?

  • 复位释放:不同时钟域应按设计要求同步释放复位,避免异步释放带来状态不一致。

  • 事件速率:Toggle或握手方案必须保证事件不会在前一个事件尚未被接收时被覆盖。

  • FIFO指针:异步FIFO通常使用专门的跨域指针和满空判断逻辑,不能自行用普通二进制总线直接跨域。

  • 约束与验证:CDC静态检查、时序约束和仿真各有作用。加false path并不会自动把不安全的跨域逻辑变成安全电路。

面试参考回答:

“我先按信号类型选择方案:稳定单比特用两级同步器,窄脉冲根据事件速率选择Toggle或握手,多位连续数据优先评估异步FIFO。然后检查复位释放、事件是否可能丢失、FIFO满空逻辑和CDC工具报告。时序约束不能替代正确的跨域结构。”

延伸追问

  • 为什么两级同步器只能降低风险,而不是彻底消除亚稳态?

  • 异步FIFO为什么常见Gray码指针?

  • 如果源时钟比目标时钟快很多,事件同步要额外考虑什么?

本文用于电子工程师技术学习与面试准备,具体设计应结合器件数据手册、产品规范、仿真和实测结果确认。


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。 侵权投诉

相关文章

MOSFET面试:体二极管方向怎么判断?高边和低边开关为什么不能接反?

2026-10-19 15:08:39

Linux系统启动流程是怎样的?嵌入式Linux面试Bootloader到用户空间全过程

2026-08-25 10:14:52

电源工程师面试:SiC MOSFET为什么容易振铃?栅极回路、寄生参数与dv/dt怎么处理

2026-10-14 23:31:00

Buck电源输出纹波过大,电源工程师面试如何排查?

2026-07-29 13:57:23

测试失败后,硬件说是Layout、Layout说是器件:你怎样让团队查到根因?

2026-10-24 11:46:42