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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: stephendxs

请教一个跨时钟域问题

[复制链接]
发表于 2008-12-9 18:30:29 | 显示全部楼层
数据要跨时钟域进行传递时
    1    当数据是从低时钟域向高时钟域传递,可以用高速时钟通过两级寄存器采样低速时钟域传来的数据,一般不会出现数据传输丢失和错误。
   2     当数据是从高速时钟域向低速时钟域传递时,可以通过ready/response握手信号进行数据的传递,当两个时钟的速率相差太大时,这种方式传递信号时,效率较差。还可以通过FIFO来实现信号在不同时钟域见交换,如上问题,可以设计一个深度是20的FIFO,来进行sinal_1的传输,从两个时钟域来看,signal_1信号在每个时钟周期都进行传递的,效率高些,但这种设计的电路面积大。
发表于 2008-12-15 16:22:26 | 显示全部楼层
这个要看你的位宽吧,一位的大多不采用异步FIFO;
1结绳法,
2 或者把异步来的信号接到时钟端上,后面加反馈,有一本叫《高级ASIC数字设计》(大概这个名字,绿皮的)上面有讲;
多位宽的:
1异步FIFO;
2看看能不能装换为格雷吗传输,如果可以的话也可以分成若干个单线的处理。
发表于 2008-12-15 23:02:30 | 显示全部楼层

呵呵

这个问题我也遇到了
头像被屏蔽
发表于 2008-12-15 23:49:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-12-17 16:22:23 | 显示全部楼层
首先要确定一个问题:虽然数据是从快的时钟域到慢的时钟域,但是两者的总体速度一定要匹配,即你不能请求快的时钟不停的发,而要确慢时钟不丢。只能是快的时钟发一个(或者几个)数,然后停下来,等慢的收完,再发,这个在总体速率上两个时钟域是匹配的。

上面的问题确定了,就没那么复杂了。
如果你只是传一个信号(如配置寄存器),你可以将快的信号展开成多拍的信号,再用低速的采样。
如果你传的是突发的一些数据,那就用fifo吧,fifo的大小要刚好能使你匹配两个时钟的总体熟虑。
发表于 2010-4-8 14:47:03 | 显示全部楼层
从fast_clk_domain到slow_clk_domain的话,如果前者的数据连续output而必须让后者接收,则无论你使用不适用握手,都要通过不同方式(最好是异步fifo)来实现后者对前者数据的暂存,再图使用。
发表于 2010-4-8 16:22:35 | 显示全部楼层
keyicaiyong FIFO!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-27 18:45 , Processed in 0.018629 second(s), 8 queries , Gzip On, Redis On.

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