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

    文章

    108

    浏览量

    16641
  • CLK
    CLK
    +关注

    关注

    0

    文章

    132

    浏览量

    17933
  • 异步时钟
    +关注

    关注

    0

    文章

    17

    浏览量

    9558
  • 时钟切换电路

    关注

    0

    文章

    7

    浏览量

    5897
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    异步时钟切换电路

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

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

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

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

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

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

    以上是比较经典的时钟切换电路。 根据实际使用场景的不同,时钟
    的头像 发表于 02-18 18:22 5241次阅读
    数字<b class='flag-5'>电路</b>之<b class='flag-5'>时钟</b><b class='flag-5'>切换</b><b class='flag-5'>电路</b>解析

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

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

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

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

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

    对于时钟切换电路,输入两异步时钟 clk0、c
    发表于 09-29 16:36 9次下载
    毛刺在<b class='flag-5'>时钟</b><b class='flag-5'>切换</b><b class='flag-5'>电路</b>的影响及其防止措施的介绍

    比特翻转现象:GLitch是第一个利用JavaScript入侵智能手机

    的比特。 GLitch 也是第一个利用标准 JavaScript 入侵智能手机的 Rowhammer 攻击,意味着只需要用户访问恶意之后就能能利用漏洞远程执行代码。
    的头像 发表于 05-17 03:14 9470次阅读
    比特翻转现象:<b class='flag-5'>GLitch</b>是第<b class='flag-5'>一个</b>利用JavaScript入侵智能手机

    时钟异步切换原理图

    首先肯定是在本时钟域内的clk_en会先变低(invalid),之后才会使得另外时钟域内的clk_en变高(valid),这时另外时钟
    的头像 发表于 11-10 15:06 2400次阅读

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

    电子发烧友网为你提供基本时钟切换术语和标准输入时钟切换配置资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料
    发表于 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

    时钟切换电路设计方案

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

    FPGA为什么有时候还需要时钟配置芯片提供时钟

    FPGA为什么有时候还需要时钟配置芯片提供时钟? FPGA(Field Programmable Gate Array)是
    的头像 发表于 10-25 15:14 2354次阅读

    如何实现分频时钟切换

    其实这个分频时钟切换很简单,根本不需要额外的切换电路共用的计数器,加
    的头像 发表于 12-14 15:28 1385次阅读
    如何实现分频<b class='flag-5'>时钟</b>的<b class='flag-5'>切换</b>

    什么是时钟信号?数字电路时钟信号是怎么产生

    什么是时钟信号?数字电路时钟信号是怎么产生时钟信号,也称为时钟脉冲,是用于同步数字
    的头像 发表于 01-25 15:40 1.5w次阅读