1.基础原理
本章节介绍的复位跨时钟模块能够将输入的源时钟复位同步到目的时钟。
1.1.接口说明
1.2.跨时钟原理
图2:复位跨时钟结构图
如图2所示,复位跨时钟模块本质上由2到3个级联的异步寄存器组成,i_src_rst_n接到所有寄存器的复位端口,首个寄存器的D端接1,最后一个寄存器的Q端是跨时钟后的复位信号o_dst_rst_n。
如图3所示,复位跨时钟模块实现的效果是异步复位同步释放。异步复位指的是当源时钟域复位置0时,输出复位o_dst_rst_n立即置0处于复位状态。同步释放指的是当源时钟域复位置1时,输出复位o_dst_rst_n需要经过dst_clk打拍同步后才会置1。
图3 信号波形图
2.应用场景
在部分跨时钟设计的场合,为了方便对信号的处理或者减少干扰,期望同一组信号的复位源头只有一个。此时我们在对信号进行跨时钟处理、对跨时钟后的信号使用寄存器打拍时需要保证使用的目的时钟域复位信号来源于源时钟域。
如图4所示,其中ip_arst_sync为复位跨时钟模块,输入复位为src_rst_n,输出复位为dst_rst_n,即完成跨时钟的复位信号。dst_rst_n作为同步复位跨时钟模块的输入,同时也作为寄存器打拍信号dst_data_d1的输入信号。
图4:复位跨时钟应用场景
作者:IC小鸽
文章来源:IC小鸽
推荐阅读
- for循环+fork-join_none结构的坑,你有注意到吗?
- ICer的文本处理利器 sed
- PCIe物理层:链路初始化和训练:EIOS(Electrical Idle Ordered Set)
- vim进阶01: 修改匹配关键字,让编码更高效
- 几种自动生成verilog代码的方法
更多IC设计干货请关注IC设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。