门控时钟及其思考

2023-11-12

这篇文章学习所谓的门控时钟。

门控时钟有两种:与门控时钟和或门控时钟。

1.与门控时钟

门控时钟结构=低电平选通的锁存器+一个与门。保证了经过与门的使能信号不会在时钟高电平的时候翻转,从原理上消除了由于使能信号的不确定性导致门控时钟产生毛刺的情况。

与门控时钟在使能无效的时候保持低电平,使能后输出时钟。与门控时钟一般用于后续寄存器的上升沿采样。

2.或门控时钟

在这里插入图片描述

或门控时钟=高电平选通的锁存器+反相门+或门。

或门控的输出在不使能时输出高电平,一般用于后续寄存器的下降沿采样。

3.能够产生门控时钟的代码。

//可以产生门控时钟 见下图compile with clock gating insertion
always @ (posedge clk or negedge rstn)begin
    if(!rstn)
        q<=1'b0;
    else begin
        if (en)
            q<=d;
    end
        
end
//无法产生门控时钟,会产生MUX电路,MUX的一个输入是d,另一个输入是0。下见图typical compile
always @ (posedge clk or negedge rstn)begin
    if(!rstn)
        q<=1'b0;
    else begin
        if (en)
            q<=d;
        else
            q<=0
    end
        
end
//见下图typical compile
//此代码也无法产生门控时钟,也会产生MUX,MUX的一个输入是d,另一个输入是q。该代码尤其要注意。
always @ (posedge clk or negedge rstn)begin
    if(!rstn)
        q<=1'b0;
    else begin
        if (en)
            q<=d;
        else
            q<=q;//保持原值也是需要时钟去触发的,和第一种代码有所区别。
    end
        
end

 4.其他一些思考。

①一般而言,与门控时钟用于后续的上升沿采样电路,而或门控时钟一般用于下降沿采样。

我个人觉得这样的说法不绝对,与门控时钟也可以用它的下降沿,同理,或门控时钟也可以用上升沿,有下降沿就有上升沿,王侯将相宁有种乎?为什么只能用其中一种边沿呢?只能说工程实践的时候是惯例。

②同①,门控时钟能够消除毛刺的说法也是不绝对的,源时钟信号一边用于锁存器的选通,一边又接到了与门(或门),他们之间可能是有skew的,同时锁存器的D到Q也是有延迟的,如果考虑到这些那么是仍可能出现毛刺的。该问题的解决方法是将门控时钟实现成为基本单元,尽量减少skew和锁存器输出延迟。

 ③关于门控时钟的效益。

如下图,第一种代码带门控时钟,对应compile with clock gating insertion,第2、3种代码对应typical compiile。区别在于少了mux,多了锁存器和与门。对于单个信号而言,门控时钟并不会降面积和功耗,一个mux之于一个锁存器+一个与门,就面积和功耗而言孰轻孰重尚未可知。

只有当信号数量变多时,由于mux电路的大量减少,面积和功耗才会降下来。

在这里插入图片描述

 

参考文献:

(44条消息) 门控时钟方法学_Starry丶的博客-CSDN博客_门控时钟的实现

(44条消息) 低功耗设计之门控时钟_yang)的博客-CSDN博客_门控时钟设计

 (44条消息) 【Verilog基础】一文搞懂 时钟门控(Clock-Gating) 电路_ReCclay的博客-CSDN博客_verilog 门控时钟

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

门控时钟及其思考 的相关文章

  • Google Pixel 3玩机教程

    说到谷歌的亲儿子Pixel系列 你一定就会想到安卓原生系统 现在我将会教你如何使用pixel去root并且破解电信 第一步 解锁手机 1 打开手机的开发者选项 选择OEM解锁 打开它 再把USB调试打开 2 在电脑上的google deve
  • GPIO的开漏和推挽

    GPIO的开漏和推挽 简单来说推挽输出可以自由输出高低电平 开漏输出只能在关闭时配合上拉提高高电平 打开时漏掉电流形成低电平 操作单片机点亮一个LED的时候我们需要操作GPIO输出一个高电平来点亮一个LED 当我们打开用户手册时会发现GPI
  • OR-Tool 报INFEASIBLE

    OR Tool 使用Minimum Cost Flows报 There was an issue with the min cost flow input Status Status INFEASIBLE 这是因为node的编号需要是连续的
  • 肺炎疫情攻防战--肺炎X光病灶识别 Pytorch baseline

    肺炎疫情攻防战 肺炎X光病灶识别 Pytorch baseline 刚从Keras转Pytorch没多久 一边看着文档一边Google完成这比赛的baseline 比赛地址 比赛简介 本次由2019 nCoV病毒引发的肺炎疫情仍在持续 AI
  • 使用Hugging Face管道轻松应用NLP预训练模型

    这一段时间在研究自然语言处理 一直想找一些预训练模型 发现这个非常全 就收藏好好研究 作者 Robin van Merle 编译 VK 来源 Towards Data Science 原文链接 https towardsdatascienc
  • VMware中NET模式无法获取IP地址

    0x00 打开我的kali尝试运行脚本时 发现无论是桥接还是NET都无法获取到IP地址 经过各种百度以及尝试 最终解决 因此在此写下文章来记录一下 如果你也遇到相同问题 希望可以帮助到你 0x01 先看一下在NET下无法获取到地址的情况 此

随机推荐

  • react-create-app 基于 react-app-rewired scss设置全局变量全局函数

    目录 重写react脚手架配置 使用 scss 引用全局 scss 文件中的变量和函数应用全局 测试 重写react脚手架配置 customize cra 合并配置 react app rewired 重写react脚手架配置 安装依赖 n
  • 镜头桶形失真校正算法

    短焦镜头通常会产生桶形失真 以下是校正算法的matlab代码 cpp view plain copy 镜头桶形失真校正 短焦镜头 img origin1 imread Still001 bmp img origin rgb2gray img
  • day01fs模块

    一 文件操作 一 文件删除 1 异步 fs unlink path callback fs unlink hello txt err gt console lo err 回调函数参数err返回错误信息或者null 2 同步 fs unlin
  • 计算机enter代表什么意思,enter是什么意思

    手机评站网今天精心准备的是 enter是什么意思 下面是详解 电脑上键盘上enter是什么意思 在电脑键盘上带有 Enter 字样并有一弯箭头的按键 被叫做 回车键 其形状如下图所示 其位置在引号键的右边 另一个位置在数字键盘的右下角 在文
  • vue结合Waterfall做图片瀑布流展示

    一 安装Waterfall npm install vue waterfall plugin s 二 在组件中引入并使用
  • winform 程序的配置文件——App.config

    winform 程序的配置文件 App config Posted on 2005 09 26 17 11 sashow 阅读 668 评论 3 编辑 收藏 引用 网摘 所属分类 c 编程 在做 web 项目的时候 我一直在用 web co
  • 机器学习——1.Sklearn:特征工程

    目录 scikit learn数据集API介绍 sklearn小数据集 sklearn大数据集 sklearn数据集的使用 数据集的划分 特征工程 特征抽取 特征提取 特征提取API 字典特征提取 文本特征提取 中文文本特征值抽取 停用词
  • 线程池和连接池

    线程池 1 流程 先启动若干数量的线程 并让这些线程都处于睡眠状态 当客户端有一个新请求时 就会唤醒线程池中的某一个睡眠线程 让它来处理客户端的这个请求 当处理完这个请求后 线程又处于睡眠状态 2 作用 线程池作用就是限制系统中执行线程的数
  • Android MD5加密算法

    Android MD5加密算与J2SE平台一模一样 因为Android 平台支持 java security MessageDigest这个包 实际上与J2SE平台一模一样 算法签名 String getMD5 String val thr
  • IDEA连接MySQL

    今天使用IDEA连接MySQL时 遇到了很多问题 寻找了一个多小时终于把解决了 写篇博客记录记录 帮后来人节约时间 首先是参照其他帖子不断寻找Database视图 找了小半天才发现这个在IDEA中社区版是没有的 需要下载IDEA 的Ulti
  • 【allegro 17.4软件操作保姆级教程一】软件操作环境设置

    文中截图为16 6的软件截图 16 6与17 4的操作逻辑基本相同 大家无需担心 后续文章会使用17 4的截图 1操作环境准备1 1单位设置 可以将全局单位设置为mil 精度改为2位 也可以设置为mm 这时精度改为4位 这个根据习惯而定 操
  • PyTorch学习笔记(21) ——损失函数

    0 前言 本博客内容翻译自纽约大学数据科学中心在2020发布的 Deep Learning 课程的Activation Functions and Loss Functions 部分 废话不多说 下面直接开始吧 1 损失函数 本文是PyTo
  • 在Unity开发中使用 Rider

    Unity开发中使用Rider 环境 Windows Unity 2017 JetBrains Rider 2018 3 4 作为Windows和Visual Studio的拥趸 我是多么推崇Visual Studio 开发Unity使用
  • JS和Java实现链表类的基本功能

    综合网上实例 参考 http www 2cto com kf 201204 126773 html JavaScript实现参考 http m blog csdn net blog caiwenfeng for 23 8496029 Jav
  • 【C++入门到精通】C++入门 —— deque(STL)

    阅读导航 前言 一 deque简介 1 概念 2 特点 二 deque使用 1 基本操作 增 删 查 改 2 底层结构 三 deque的缺陷 四 为什么选择deque作为stack和queue的底层默认容器 总结 温馨提示 前言 文章绑定了
  • STL之序列式容器

    STL之序列式容器 STL容器即是将运用最广的一些数据结构实现出来 根据其在容器的排列特性 将其分为序列式容器和关联是容器 本文主要记录序列式容器 以及其常用的功能函数 1 vector vector和数组一样维护了一个连续的线性空间 ve
  • 第十二届蓝桥杯省赛 Java B组 试题 G: 最少砝码

    一 问题描述 你有一架天平 现在你要设计一套砝码 使得利用这些砝码可以称出任意小于等于 N 的正整数重量 那么这套砝码最少需要包含多少个砝码 注意砝码可以放在天平两边 输入包含一个正整数 N 输出一个整数代表答案 7 3 二 解析 用贪心的
  • CentOS7 linux怎么安装xfce 桌面

    如何安装xfce桌面 首先 yum update yum grouplist yum install epel release y 安装第三方源 yum groupinstall X window system 安装X window yum
  • Niginx的介绍及安装

    Niginx的介绍及安装 前言 一 Nginx是什么 二 Nginx安装使用步骤 前言 随着一个应用程序的访问量越来越庞大 对数据库的访问量也随之增强 而单个服务器的承受能力是有限的 这时就需要增加多个服务器 但是我们如何保证所有访问分摊到
  • 门控时钟及其思考

    这篇文章学习所谓的门控时钟 门控时钟有两种 与门控时钟和或门控时钟 1 与门控时钟 门控时钟结构 低电平选通的锁存器 一个与门 保证了经过与门的使能信号不会在时钟高电平的时候翻转 从原理上消除了由于使能信号的不确定性导致门控时钟产生毛刺的情