数字IC前端学习笔记:门控时钟

news2024/11/21 0:31:38

相关阅读

数字IC前端icon-default.png?t=N7T8https://blog.csdn.net/weixin_45791458/category_12173698.html?spm=1001.2014.3001.5482


        门控时钟(clock gating)技术作为一种传统的动态低功耗技术被广泛应用于现在的数字集成电路设计中,这是RTL级别的低功耗优化技术。门控时钟即使用逻辑门电路控制时钟的开启和关闭,当芯片上某一模块的功能不需要工作时,如芯片上的USB模块或SPI接口模块没有使用时,可以使用门控信号停止这些模块的时钟,有效降低了时钟树上的功耗和信号翻转率。

        图1所示的为一种简单的门控时钟结构,它由一个与非门和一个非门组成,甚至可以仅仅引入一个与门。其设计开销几乎可以可忽略不计,可以说是门控时钟的原型。

图1 简单的门控时钟

        但是从信号完整性角度来看,这种设计结构对于大规模的数字电路实现有一个极大的缺陷,可能产生毛刺。在实际系统工作时,如图2所示,当源时钟CLK为高电平时,如果CLK_EN变为低电平,GCLK将立刻变为低电平,即出现了一个下降沿,这是一个毛刺信号,会影响一些使用下降沿的触发器。同样的,当源时钟CLK为高电平时,如果CLK_EN变为高电平,GCLK将立刻变为高电平,即出现了一个上升沿,这会影响一些使用上升沿的触发器。总之,这类在门控时钟上出现的毛刺,对同步电路来说是非常致命的。​​​​​​​

图2 简单的门控时钟会产生毛刺

        由于上述限制,工业界广泛采用的门控电路是一种在上述简单的门控电路结构上加入了高电平锁存的锁存器,如图3所示。因为以上的毛刺都是出现在CLK为高电平时,所以思路是使用CLK的高电平锁存CLK_EN信号,这样CLK_EN在CLK高电平期间就一定是一个稳定的值(CLK_EN在CLK低电平期间没有影响,因为是相与)。

                                        图3 使用锁存器的门控时钟 

        图4为带锁存器的门控时钟的工作波形,从图中可以看出,只有当CLK为低电平时,CLK_EN才能直接传到与非门的输入端,这相当于CLK_EN信号被锁存了半个周期,这样就不会有毛刺了。

图4  使用锁存器的门控时钟不会产生毛刺

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1105166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多测师肖sir_高级金牌讲师___python之xlrd模块

python之xlrd模块 python之xlrd模块 (1)xlrd是可用于读取excel表格数据(不支持写操作,写操作需要xlwt模块实现) (2)支持xlsx 和xls 格式的格式的表格(不支持csv文件,csv…

Linux/Ubuntu 安装 Java运行环境

linux下安装Java运行环境 1、下载安装包 .tar.gz 先在官网下载 JDK 点击这里 在这里要选择对应的 JDK 版本,一般我们目前选择JDK8 点击这里 2、在 /usr/local/ 目录下创建Java文件夹 cd /usr/local/ mkdir java3、将下载的文件通过FTP程序上传到刚刚创建的Java文…

什么是Sectigo证书?

在今天的数字时代,保护网络通信和数据安全变得愈发重要。Sectigo 证书,作为全球领先的数字证书颁发机构之一,扮演着保护网站和在线服务的关键角色。本文将深入探讨 Sectigo 证书的重要性、种类以及如何选择适合您需求的证书。 Sectigo 证书的…

MySQL学习(六)——视图和触发器

文章目录 1. 视图1.1 视图语法1.2 检查选项1.3 视图的更新1.4 视图的作用 2. 触发器2.1 介绍2.2 语法介绍2.3 触发器示例2.3.1 插入数据触发器2.3.2 修改数据触发器2.3.3 删除数据触发器 1. 视图 视图(View)是一种虚拟存在的表。视图中的数据并不在数据…

Docker安装GitLab及使用图文教程

作者: 宋发元 GitLab安装及使用教程 官方教程 https://docs.gitlab.com/ee/install/docker.html Docker安装GitLab 宿主机创建容器持久化目录卷 mkdir -p /docker/gitlab/{config,data,logs}拉取GitLab镜像 docker pull gitlab/gitlab-ce:15.3.1-ce.0运行GitLa…

如何设计 API?

在前后端分离的设计中,不管使用什么语言,后端都需要提供 WebAPI 给前端使用。如果是一个平台级的产品,还有可能需要将平台的公共 API 提供给第三方系统使用,这些都要考虑到 API 的设计。 本文聊下 API 设计可能遇到的问题以及处理…

给Android第三方SDK传入代理Context

前言 分享一个没什么技术含量但是我觉得挺有意思的东西,很多第三方SDK初始化的时候都需要我们传入一个context进去,拿到context之后SDK就可以做很多事了,比如打开activity、弹窗、获取文件目录之类的。 这里我想简单的去处理下它们的使用权…

Vite 踩坑 —— require is not defined

动态require引入图片报错 require 是属于 Webpack 的方法&#xff0c;而我使用的是 Vite&#xff0c;所以我们需要去寻找 Vite 静态资源处理的方法 所以&#xff0c;我们只需要将代码改写以下形式即可。 ​ template <CarouselItem v-for"(item,index) of carous…

谈谈单例设计模式的源码应用和安全问题

一、源码应用 事实上&#xff0c;我们在JDK或者其他的通用框架中很少能看到标准的单例设计模式&#xff0c;这也就 意味着他确实很经典&#xff0c;但严格的单例设计确实有它的问题和局限性&#xff0c;我们先看看在源 码中的一些案例 1、jdk中的单例 jdk中有一个类的实现…

MySQL --- 聚合查询 和 联合查询

聚合查询&#xff1a; 下文中的所有聚合查询的示例操作都是基于此表&#xff1a; 聚合函数 聚合函数都是行与行之间的运算。 count() select count(列名) from 表名; 统计该表中该列的行数&#xff0c;但是 null 值不会统计在内&#xff0c;但是如果写为 count(*) 那么 nu…

操作系统:线程同步和调度

文章目录 线程同步和调度一、实验目的二、实验要求与内容、过程与结果 总结 线程同步和调度 一、实验目的 通过创建线程、分配线程优先级和终止线程的程序设计和调试操作&#xff0c;进一步熟悉操作系统的线程概念&#xff0c;理解Windows 2000线程的生命周期。 通过对事件、…

7z压缩包如何设置加密?如果忘记密码该怎么办?

7z压缩包是压缩率最大的压缩包格式&#xff0c;当我们给文件进行压缩时&#xff0c;可能会想给压缩包进行加密&#xff0c;那么7z压缩包如何设置加密&#xff1f;加密的7z压缩包又如何解密呢&#xff1f;分享7-zip加密、解密教程。包括忘记了压缩包密码该如何解决&#xff1f; …

地理知识笔记:Haversine距离

1 介绍 Haversine距离用于计算地球上两点之间的大圆距离当考虑地球的真实曲率时&#xff0c;它特别适用于计算两个经纬度坐标之间的距离 其中&#xff1a; 2 python 实现 def haversine_distance(lat1, lon1, lat2, lon2):R 6371 # Earth radius in kilometersdlat np.r…

让千年诗酒文化生生不息,多国文艺界名家齐聚2023年国际诗酒文化艺术周盛宴

执笔 | 萧 萧 编辑 | 古利特 10月15日&#xff0c;国际诗酒文化大会第七届中国酒城泸州老窖文化艺术周在酒城泸州盛大开幕&#xff0c;文学家、艺术家、翻译家、文化学者、媒体记者等各界嘉宾与来自阿根廷、智利、哥伦比亚等十余国的诗人朋友齐聚&#xff0c;共襄年度诗酒文…

关闭mysql,关闭redis服务

1. 关闭redis服务&#xff1a; 查询redis安装目录&#xff1a; whereis redis which redis find / -name redis 关闭redis服务&#xff1a; redis-cli -h 127.0.0.1 -p 6379 auth 输入密码 shutdown 关闭redis服务 2. 关闭mysql服务&#xff1a; 查询mysql安装目录&…

基于Java的留学生交流互动论坛系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

【LeetCode】38. 外观数列

1 问题 给定一个正整数 n &#xff0c;输出外观数列的第 n 项。 「外观数列」是一个整数序列&#xff0c;从数字 1 开始&#xff0c;序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列&#xff1a; countAndSay(1) “1” countAndSay(n…

【linux 0.11 学习记录】一、环境配置,用Bochs输出hello world

想学习linux&#xff0c;又不知道从哪里下手&#xff0c;体系太大&#xff0c;哪块内容都很多&#xff0c;无奈下选择了linux0.11作为入口&#xff0c;本系列将是学习笔记&#xff0c;希望能坚持下去吧 环境配置 这里使用win10bochs2.7 安装bochs 官网&#xff1a;https://b…

【学习笔记】RabbitMQ-6 消息的可靠性投递2

参考资料 RabbitMQ官方网站RabbitMQ官方文档噼咔噼咔-动力节点教程 文章目录 十一、队列Queue的消息属性11.1 具体属性11.2 自动删除11.2 自定义参数11.2.1 **Message TTL** 消息存活时间11.2.2 **Auto expire** 队列自动到期时间11.2.3 **Overflow behaviour** 溢出行为11.2.4…

编程基础-C++入门到入土知识手册

C基础知识 C 语言教程一 、简介 环境设置C11 新特性文本编辑器C 编译器 二、程序结构编译 & 执行 C 程序三、 基本语法C 的令牌&#xff08;Token&#xff09;1分号 ;2注释3标识符4关键字5 C 中的空格 四、数据类型整数类型浮点类型void 类型 C primer Plus黑马C语言简介C语…