微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 怎样比较两个时钟频率

怎样比较两个时钟频率

时间:10-02 整理:3721RD 点击:
如题,想比较两个时钟频率(二者相差不大,而且和标准时钟也很相近)。
我考虑对时钟在一段时间计数并最终保持这个数据,写了如下代码,请问问题在哪?
always@(negedge cnt_rst or posedge ro_out)
   begin
     if(!cnt_rst)
       begin
         ro_numb <= 8'h0;
         flag<=0;
       end
     else
       if(ro_numb==8'h77)
          flag<=1;
       else
          ro_numb <= ro_numb+1;
   end
always@(negedge cnt_rst or posedge clk_std)
   begin
      if(!cnt_rst)
         cnt_numb<=0;
      else
        if(flag==0)         
           cnt_numb<=cnt_numb+1;
        else ;
  end

是想当flag==1时,比较cnt_numb与ro_numb的值吗?
若是,应该把 if(ro_numb==8'h77)改成 if(ro_numb>8'h77)
而且要确保两个计数器的值都没有发生溢出

可以将这两个时钟分频到很低的频率后,例如1KHz,再用同一个时钟对其高电平计数,比较即可得。



    是的,谢谢。两个always block中的时钟信号不同,那么是不是要考虑跨时钟域的异步复位问题啊,不是很懂这个?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top