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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2769|回复: 7

如何进行2个异步时钟频率大小的判断?贴上我写的代码,大家进来指点指点!

[复制链接]
发表于 2009-10-7 11:36:04 | 显示全部楼层 |阅读模式

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

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

x
代码如下:
module CLK_COMPARE (
clk_ref,
clk_detected,
reset,
detect_o
);
input       reset;
input   clk_ref;
input       clk_detected;
output      detect_o;
reg  [7:0]  clk_ref_count;
reg  [10:0]  clk_detected_count;
always @(posedge clk_ref or negedge reset)
begin
  if(!reset)
clk_ref_count <= 8'b0;
  else
clk_ref_count <= clk_ref_count + 1;
end
assign reset_wire = (clk_ref_count == 8'hff)?1'b0:1'b1;
assign reset_clk_detecter = reset_wire & reset;
always @(posedge clk_detected or negedge reset_clk_detecter)
begin
  if(!reset_clk_detecter)
clk_detected_count <= 11'b0;
  else
clk_detected_count <= clk_detected_count + 1;
end
assign detect_o = (clk_detected_count > clk_ref_count)?1'b1:1'b0;

endmodule

不知道这样搞行不行,综合出来会不会有问题,
 楼主| 发表于 2009-10-7 23:52:29 | 显示全部楼层
是不是太简单了?怎么没有一个人发表意见
发表于 2009-10-8 11:59:40 | 显示全部楼层
可以的,反正一个魁岸一个慢的嘛。
不过你的计数器的位数怎么都不一样啊?
 楼主| 发表于 2009-10-8 15:15:48 | 显示全部楼层
主要是想少几个寄存器,不一定总是一个快一个慢,有时候是一个慢一个快
发表于 2009-10-22 14:51:40 | 显示全部楼层
快慢时钟同时复位是不是有点..........
发表于 2009-10-22 21:34:59 | 显示全部楼层
貌似可以的。。。。。。。。。。。。。。。。
发表于 2009-10-24 22:58:38 | 显示全部楼层
不可以,会出问题!不定的时钟域不能直接切换!
发表于 2009-10-24 23:11:44 | 显示全部楼层
对两个时钟分别自分频,分频倍数一样,然后把两个分频后的信号都转换到refclk时钟域,通过计数就可以获得两个时钟的相差或者频差了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-25 07:24 , Processed in 0.022933 second(s), 9 queries , Gzip On, MemCached On.

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