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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5062|回复: 21

[讨论] 同步器的展宽

[复制链接]
发表于 2015-6-23 15:42:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近在学习同步器,当快时钟域向慢时钟域传递数据的时候可以采用展宽的方法。那么问题来了,  1. 展宽是在快时钟域实现,还是慢时钟域实现呢?
  2.展宽一般采用什么方法?
发表于 2015-6-23 16:46:48 | 显示全部楼层
展宽数据宽度?
 楼主| 发表于 2015-6-23 18:23:03 | 显示全部楼层
回复 2# 菜鸟要飞

对的,数据宽度展宽一个慢时钟周期,但是不知道怎么实现!求指导
发表于 2015-6-23 19:28:53 | 显示全部楼层
展宽肯定是在快时间域展,这样才能保证慢时钟能够采样到。但展宽的方法也是有条件的,一般单bit的信号可以这样做,实现方法就是让信号在快时钟域多保持一段时间,保持多久跟据快慢时钟的比例有关系。数据跨频,一般还是采用异步FIFO比较保险一些。
 楼主| 发表于 2015-6-23 20:00:45 | 显示全部楼层
回复 4# vongy

这个我知道,但是我不知道一般的展宽是怎样实现的,就知道需要展宽,异步FIFO我也知道,只是想了解展宽的实现。求指教
发表于 2015-6-23 23:08:54 | 显示全部楼层
如果是单bit信号,最简单的做法就是打几拍或把这些打拍后的信号相或(高有效)或者 相与(低有效)。
输出到另外一个时钟域前最好在原时钟寄存一拍在输出
发表于 2015-6-24 08:58:47 | 显示全部楼层
回复 5# 谁枫而飘

比如展宽10拍:....
if(extend_cnt==4'd9)
    signal_a_ex <= 1'b0;
else if(singal_a)
   signal_a_ex <= 1'b1;
......


if(extend_cnt==4'd9)
    extend_cnt <= 4'b0;
else if(signal_a_ex)
     extend_cnt <= extend_cnt + 1'b1;
 楼主| 发表于 2015-6-24 09:03:41 | 显示全部楼层
回复 4# vongy

展宽的宽度至少为慢时钟域的一个周期,如果是在快时钟域展宽,岂不是在快时钟域中引入慢时钟了?是不是应该在慢时钟域中展宽呢?
发表于 2015-6-24 09:16:14 | 显示全部楼层
回复 8# 谁枫而飘


   恩,要先展宽之后再做同步,举个例子,如果在100M的时钟域有一个信号,信号的宽度只有一个100M时钟周期10ns,然后希望同步到10M的时钟域,这样基本上来说,在不展宽的情况下,10MHz的时钟不会看到这个信号。当然了,如果100M时钟域的信号已经足够宽了,那么10MHz的时钟可以正常采样到,这就不需要先做展宽了。
展宽的目的就是为了让慢时钟能够看到快时钟域的信号。展宽的计数就是根据快慢时钟的比例来确定的。
 楼主| 发表于 2015-6-24 09:20:54 | 显示全部楼层
回复 6# puyuwei

我去试了试,打几拍的方法只能实现数据的延时,并不能实现数据的展宽啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-28 14:27 , Processed in 0.027212 second(s), 6 queries , Gzip On, Redis On.

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