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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] 异步时钟域的问题

[复制链接]
发表于 2011-11-1 08:46:28 | 显示全部楼层
WHAT THE HELL IS THAT
发表于 2011-11-3 17:00:38 | 显示全部楼层
跨时钟域的讲究好多啊,学学
发表于 2011-11-3 22:35:26 | 显示全部楼层
回复 10# skytang007

麻烦您能具体解释一下这句话吗?每太想清楚。
发表于 2011-11-4 13:32:58 | 显示全部楼层
我做的话 ,结绳然后再打2拍
发表于 2011-11-5 16:31:46 | 显示全部楼层
感觉lz的设计有异步问题  en1    可能会有毛刺
发表于 2011-11-10 17:09:15 | 显示全部楼层
格雷码
发表于 2011-11-12 00:54:19 | 显示全部楼层
搞复杂了,而且逻辑写错了。说白了就是在32k时钟域将多bit信号转换成1bit信号,然后同步到1M时钟域。


always @(posedge clk_32k or negedge rstn)begin
     if(!rstn)
         cnt<=8'b0;
     else if(cnt==8'd128)
         cnt<=8'b0;
     else
         cnt<=cnt+8'b1;
end

assign set_en_32k = cnt==8'd100;
assign clr_en_32k = cnt==8'd104;

always @(posedge clk_32k or negedge rstn) begin
    if(!rstn)
        en1_32k <= 1'b0;
    else if(set_en_32k)
        en1_32k <= 1'b1;
    else if(clr_en_32k)
        en1_32k <= 1'b0;
end

always @(posedge clk_1M or negedge rstn) begin
    if(!rstn) begin
        en1       <= 1'b0;
        en1_1M_d2 <= 1'b0;
        en1_1M_d1 <= 1'b0;
    end
    else begin
        en1       <= en1_1M_d2;
        en1_1M_d2 <= en1_1M_d1;
        en1_1M_d1 <= en1_32k;
    end
end
发表于 2013-7-8 21:43:38 | 显示全部楼层
各位大神分析的很详细啊
发表于 2013-7-9 10:29:41 | 显示全部楼层
发表于 2013-7-9 17:43:40 | 显示全部楼层
比较完之后再同步,就两个信号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-17 16:56 , Processed in 0.039363 second(s), 7 queries , Gzip On, Redis On.

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