引言
FPGA设计或者ASIC设计中经常存在多个时钟域,那么这些时钟域之间脉冲信号的同步该如何进行设计?快时钟域到慢时钟域的脉冲信号同步与慢时钟域信号到快时钟域信号的同步是不一样的。
本文先给出快时钟域到慢时钟域脉冲信号同步的方法之一:脉冲展宽+3级同步器(或2级同步器亦可)。给出设计和仿真源码。
一定要注意的是,脉冲展宽是延时后的脉冲进入或门输出,属于组合逻辑,不可以直接将组合逻辑的输出送入同步器进行CDC,需要现在本时钟域下寄存输出,然后再送入CDC同步器处理。
下篇文章将介绍另一种握手的方法实现脉冲信号从快时钟域到慢时钟域的同步设计。
本文以快时钟域200MHz到慢时钟域80MHz进行说明,但设计源文件同样考虑到模块的参数化设计。
设计源码
// | ======================================================================
// | 作者:Xu Y. B.
// | 时间:2023-02-20
// | 说明:快时钟域——>慢时钟域 单周期脉冲信号同步设计
// | 方法:脉冲展宽 + 3级同步器
// | ====================