在Xilinx FPGA设计中引入XDMA、Video DMA、AXI Interconnect等IP核后,IP输出与用户逻辑常处于不同频率或相位——这就是典型的时钟域交叉(Clock Domain Crossing, CDC)。CDC处理不当会引发建立/保持违例、 metastability(亚稳态)甚至IP核内部状态机跑飞。本文总结Vivado环境下IP核CDC的最佳实战做法。
在FPGA开发中,时钟域交叉(CDC)是导致亚稳态和数据错乱的“头号杀手”。当信号从clk_a跨越到异步的clk_b时,若处理不当,轻则数据跳变,重则系统死锁。本文将对比4种最核心的CDC方案,帮你从“能用”进阶到“可靠”。
现代 ASIC 由数百万个门和数十亿个晶体管组成,它们通常可以在具有不同电压和时钟频率的多个域中运行。为了避免数据丢失,设计人员需要确保从一个域发送到另一域的信号不会导致目标域中寄存器的建立时间或保持时间违规。以下是跨时钟域时需要确保或避免的 10 件事。