0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么设计一个Glitch Free的时钟切换电路呢?

冬至子 来源: Andy的ICer之路 作者:AndyICer 2023-06-05 17:23 次阅读

输入sel,clka,clkb,sel为1输出clka,sel为0输出clkb。

一、两个时钟源是倍数的关系

图片

module Change_Clk_Source(
  input clk1,
  input clk0,
  input select,
  input rst_n,
  output outclk
);
  reg out1;
  reg out0;

  always @(negedge clk1 or negedge rst_n)begin
    if(rst_n == 1'b0)
      out1 <= 0;
    else
      out1 <= ~out0 & select;
  end

  always @(negedge clk0 or negedge rst_n)begin
    if(rst_n == 1'b0)
      out0 <= 0;
    else
      out0 <= ~select & ~out1;
  end

   assign outclk = (out1 & clk1) | (out0 & clk0);


endmodule

二、两个时钟源为异步时钟的关系

图片

module Change_Clk_Source(
  input clk1,
  input clk0,
  input select,
  input rst_n,
  output outclk
);
  reg out_r1;
  reg out1;
  reg out_r0;
  reg out0;


  always @(posedge clk1 or negedge rst_n)begin
    if(rst_n == 1'b0)
      out_r1 <= 0;
    else 
      out_r1 <= ~out0 & select;
  end


  always @(negedge clk1 or negedge rst_n)begin
    if(rst_n == 1'b0)
      out1 <= 0;
    else 
      out1 <= out_r1;
  end


  always @(posedge clk0 or negedge rst_n)begin
    if(rst_n == 1'b0)
      out_r0 <= 0;
    else 
      out_r0 <= ~select & ~out1;
  end

  always @(negedge clk0 or negedge rst_n)begin
    if(rst_n == 1'b0)
      out0 <= 0;
    else 
      out0 <= out_r0;
  end

  assign outclk = (out1 & clk1) | (out0 & clk0);




endmodule
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 时钟源
    +关注

    关注

    0

    文章

    87

    浏览量

    15770
  • CLK
    CLK
    +关注

    关注

    0

    文章

    122

    浏览量

    16912
  • 异步时钟
    +关注

    关注

    0

    文章

    17

    浏览量

    9366
  • 时钟切换电路

    关注

    0

    文章

    7

    浏览量

    5727
收藏 人收藏

    评论

    相关推荐

    异步时钟切换电路

    异步时钟切换电路
    发表于 05-08 09:40 5694次阅读
    异步<b class='flag-5'>时钟</b><b class='flag-5'>切换</b><b class='flag-5'>电路</b>

    时钟设计中时钟切换电路设计案例

    在多时钟设计中可能需要进行时钟切换。由于时钟之间可能存在相位、频率等差异,直接切换时钟可能导致
    的头像 发表于 09-24 11:20 5380次阅读
    多<b class='flag-5'>时钟</b>设计中<b class='flag-5'>时钟</b><b class='flag-5'>切换</b><b class='flag-5'>电路</b>设计案例

    图解时钟切换电路使用方法

    mux啊,可事实真的如此吗? 如上图,大家会很自然而想到的一种时钟切换电路,可是,你仔细分析,你会发现该电路会出现如下的问题,毛刺!这个毛刺无论对于clk0还是clk1都不是好事,它不
    的头像 发表于 01-16 11:22 1955次阅读
    图解<b class='flag-5'>时钟</b><b class='flag-5'>切换</b><b class='flag-5'>电路</b>使用方法

    数字电路时钟切换电路解析

    以上是一个比较经典的时钟切换电路。 根据实际使用场景的不同,时钟切换有很多不同的实现方法,都可以做得非常经典。
    的头像 发表于 02-18 18:22 1168次阅读
    数字<b class='flag-5'>电路</b>之<b class='flag-5'>时钟</b><b class='flag-5'>切换</b><b class='flag-5'>电路</b>解析

    freeRTos任务切换的耗时是多少?

    有没有人测量过free R Tos任务切换, 二值信号切换,定时器切换 耗费的时间 或者是 时钟周期大概是多少?
    发表于 04-28 06:47

    FPGA的时钟门控是好还是坏?

    喜我对时钟门控有些疑问。从我所读到/学到的东西 - 时钟门控可用于低功率fpga设计(关闭时钟以防止元件切换以节省功率)。但是,我还读到
    发表于 02-21 10:21

    基本的时钟切换术语和标准输入时钟切换配置

      在这篇文章中,我将会介绍有趣的时钟芯片反馈装置。它可能意外发生,或作为尝试恢复或测试模式,但通常应该如所解释的那样避免。此外,了解Ouroboros时钟可能有助于在复杂的定时应
    发表于 02-26 07:50

    分享双电源切换电路

    此篇博客分享双电源切换电路,很详细,看就会。
    发表于 11-11 08:45

    时钟切换时容易出现的问题汇总

    最近看秋招面试题,这玩意儿考了很多次,所以单独拿出来写下: 题目的含义很简单就是时钟切换电路
    发表于 01-18 08:44

    毛刺在时钟切换电路的影响及其防止措施的介绍

    对于一个时钟切换电路,输入两个异步时钟 clk0、clk1,以及一个选择信号 sel。 (1) 假设不考虑 glitch,直接使用Mux 就
    发表于 09-29 16:36 9次下载
    毛刺在<b class='flag-5'>时钟</b><b class='flag-5'>切换</b><b class='flag-5'>电路</b>的影响及其防止措施的介绍

    基本时钟切换术语和标准输入时钟切换配置资料下载

    电子发烧友网为你提供基本时钟切换术语和标准输入时钟切换配置资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料
    发表于 04-05 08:40 7次下载
    基本<b class='flag-5'>时钟</b><b class='flag-5'>切换</b>术语和标准输入<b class='flag-5'>时钟</b><b class='flag-5'>切换</b>配置资料下载

    HMC305S:Glitch Free.5 db-5位Serical Service Serical Services Services Attrator,0.4-7.0 GHz数据Sheet

    HMC305S:Glitch Free.5 db-5位Serical Service Serical Services Services Attrator,0.4-7.0 GHz数据Sheet
    发表于 05-17 14:30 0次下载
    HMC305S:<b class='flag-5'>Glitch</b> <b class='flag-5'>Free</b>.5 db-5位Serical Service Serical Services Services Attrator,0.4-7.0 GHz数据Sheet

    STM32系统时钟切换与设置详解

    在STM32f407XX系列中,系统时钟(SYSTEM)默认的是HSE提供的,这里举例我们就将默认HSE切换成HSI提供。我们先来看一下时钟树(建议保存此图)首先、在系统中时钟都是设置
    发表于 12-24 19:33 5次下载
    STM32系统<b class='flag-5'>时钟</b><b class='flag-5'>切换</b>与设置详解

    时钟切换电路设计方案

    随着各种应用场景的限制,芯片在运行时往往需要在不同的应用下切换不同的时钟源,例如低功耗和高性能模式就分别需要低频率和高频率的时钟。两个时钟源有可能是同源且频率比呈倍数关系,也有可能是不
    的头像 发表于 03-29 11:41 976次阅读
    <b class='flag-5'>时钟</b><b class='flag-5'>切换</b><b class='flag-5'>电路</b>设计方案

    如何实现分频时钟切换

    其实这个分频时钟切换很简单,根本不需要额外的切换电路。一个共用的计数器,加一点控制逻辑,就可以了,而且可以实现2到16任意整数分频率之间的无缝切换
    的头像 发表于 12-14 15:28 316次阅读
    如何实现分频<b class='flag-5'>时钟</b>的<b class='flag-5'>切换</b>