在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2103|回复: 16

[求助] 求助!!!脉冲同步器

[复制链接]
发表于 2022-11-17 20:02:16 | 显示全部楼层 |阅读模式
100资产
一个快时钟域的脉冲信号,其宽度只有快时钟域的一个周期的长度,现在需要将该信号同步到一个相对较慢的时钟域,如果要求不能在快时钟域将脉冲信号展宽,并且同样采用双寄存器同步,该如何实现?

最佳答案

查看完整内容

定义一个1bit的信号y,y在脉冲信号为高的时候翻转,使用两级同步器将y同步到慢时钟域,然后在慢时钟域下做跳变沿检测即可实现同步到慢时钟域功能
发表于 2022-11-17 20:02:17 | 显示全部楼层
定义一个1bit的信号y,y在脉冲信号为高的时候翻转,使用两级同步器将y同步到慢时钟域,然后在慢时钟域下做跳变沿检测即可实现同步到慢时钟域功能
发表于 2022-11-17 20:23:59 | 显示全部楼层
采用fifo存储转换
发表于 2022-11-18 08:47:20 | 显示全部楼层
可考虑采用异步的方式实现展宽寄存器,比如用快脉冲做为展宽寄存器的时钟(或复位),然后再做同步的方式实现展宽寄存器的复位(或时钟)。
 楼主| 发表于 2022-11-18 09:12:33 | 显示全部楼层


fifo需要读写两个时钟吧,而且单bit
 楼主| 发表于 2022-11-18 09:14:01 | 显示全部楼层


coolbear2021 发表于 2022-11-18 08:47
可考虑采用异步的方式实现展宽寄存器,比如用快脉冲做为展宽寄存器的时钟(或复位),然后再做同步的方式实 ...


用脉冲作为寄存器的时钟会产生毛刺,并且不好约束时钟啊
发表于 2022-11-18 10:28:57 | 显示全部楼层
是不是可以用移位的方式
快时钟:clk_k, 快时钟脉冲:pos_k
慢时钟:clk_m

always@(posedge clk_k)
if(pos_k)
      data_k[width-1:0] <= {data_k[width-2:0], pos_k};

syn_2dff (.clk(clk_m), .data_in(data_k[width-1]), data_out(data_m));
然后产生data_m的脉冲,在clk_m的时钟域下干活

witdh根据快慢时钟的比例设置
 楼主| 发表于 2022-11-18 10:42:58 | 显示全部楼层


haimo 发表于 2022-11-18 10:28
是不是可以用移位的方式
快时钟:clk_k, 快时钟脉冲:pos_k
慢时钟:clk_m


意思就是只使用慢时钟,没有快时钟
发表于 2022-11-22 17:09:31 | 显示全部楼层
啥方法都没有展宽,打两拍简单有效
发表于 2022-11-24 17:24:19 | 显示全部楼层
很难吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 04:33 , Processed in 0.028553 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表