微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 某一时钟clk和它的二分频clk_div2之间怎么互相切换

某一时钟clk和它的二分频clk_div2之间怎么互相切换

时间:10-02 整理:3721RD 点击:
注意是互相切换

同源时钟切换很简单,讲切换信号分别于需要切换的时钟下打一拍,然后与其与就可以了,只要保证sel信号和两个待切换信号是同步的就可以了,这个比异步时钟切换简单多了


如果要求无缝切,使用时钟无缝切换电路,如果没有无缝切换需求,直接mux选可以了。


按你的说法我写了如下代码,还请看一下:always @( posedge  fosc or posedge rst )
  begin
      if ( rst )
          fosc_ok <= 1'b1;
      else
          fosc_ok <= sel;
  end
always @( posedge  fosc_div2 or posedge rst )
  begin
      if ( rst )
          fosc_div2_ok <= 1'b0;
      else
          fosc_div2_ok <= ~sel;
  end  
assign clk = ( fosc & fosc_ok ) | ( fosc_div2 & fosc_div2_ok );
sel 是clk时钟域产生的,有可能是fosc,也有可能是fosc_div2。sel是1时选择fosc。

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

网站地图

Top