CRG设计之复位

1. 前言

        CRG(Clock and Reset Generation,时钟复位生成模块) 模块扮演着关键角色。这个模块负责为整个系统提供稳定可靠的时钟信号,同时在系统上电或出现故障时生成复位信号,确保各个模块按预期运行。简而言之,CRG模块就像是SoC系统的心脏,提供着整个系统需要的时钟和复位信号。

        出于时钟复位结构规范设计和DFT可控的目的,一般会把相关电路放在一个集中的模块中管理,由专门的设计人员按需求进行设计与维护。对于时钟分频、MUX、切换、DFT测试结构埋入等等,均在模块内部实现。复位类似。

        涉及到的主要技术:自动解复位,复位顺序,复位切频,时钟门控,亚稳态的恢复,异步复位同步释放,毛刺清除的技术细节。不用公司,不同芯片,因为场景不同,对于CRG的要求也不尽相同,但是具体的技术原理大同小异。CRG中主要包含这些东西:

2. 复位基本概念

2.1 复位源

        复位的作用:使电路(主要是触发器)进入一个能稳定操作的确定状态,主要表现为:

  • 使电路从确定的初始状态下开始运行
  • 修复系统,实现故障自愈,使电路从错误状态回到可以控制的确定状态

        复位源:硬复位、上电复位、软复位、异常复位

        复位控制:系统、应用环境决定何时复位

2.2 复位结构

3. 复位类型

3.1 同步复位

        复位信号在时钟有效沿到来时生效。

优点:确保电路是同步的,触发器面积小,时钟可以滤除复位上的毛刺

缺点:依赖时钟,需要确保复位时钟必须有且保持足够时间,否则复位无法生效

3.2 异步复位

        不依赖时钟,立即生效。

异步复位撤离问题:

        recovery time:复位撤离时,复位信号从有效跳变为无效的(由1变为0)时刻与下一个时钟沿之间的时间,类似于同步电路中的setup time。

        remove time:复位撤离时,复位信号从有效跳变为无效时与上一个时钟沿之间的时间,类似于同步电路中的hold time。

        如图所示,rst_n为0表示复位,clk上升沿触发,rst_n从0到1的上升沿与时钟上升沿必须不小于recovery time才能保证寄存器恢复到正常状态。rst_n保持为0经过clk上升沿后仍需要保持一段时间,才能保证寄存器有效复位,防止亚稳态。

        解决办法:异步复位,同步释放

4. 异步复位同步撤离

4.1 为什么需要异步复位,同步撤离

        原因主要是:

  • 如果同步复位,同步释放,需要对复位信号进行同步,对于外部复位来讲容易形成锁死的问题。这是个鸡生蛋蛋生鸡的问题。复位信号用寄存器同步,然后用同步后的信号复位寄存器,我复位我自己?所以同步复位同步释放多用于软复位。
  • 如果异步复位,异步释放,异步的释放操作非常容易导致亚稳态。相当于没有复位
  • 如果同步复位,异步释放,emmm 感觉上一般没有人这么折腾自己。

        所以就剩下了一种办法,异步复位,同步释放。这个较为简单和典型。记住即可。硬复位信号都应该这么产生。

4.2 方案

4.3 毛刺问题

        当外部输入的异步信号产生毛刺时,任何满足触发器最小复位脉冲宽度的输入都有可能引起触发器复位

        解决办法:使用滤毛刺电路

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

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

相关文章

网工每日一练(1月30日)

试题1 以太网中的帧属于 (B) 协议数据单元。 A、物理层 B、数据链路层 C、网络层 D、应用层 试题2 在Linux 系统中,采用 (B) 命令查看进程输出的信息,得到下图所示的结果。系统启动时最先运行的进程是 &…

黑盒测试用例的具体设计方法(7种)

7种常见的黑盒测设用例设计方法,分别是等价类、边界值、错误猜测法、场景设计法、因果图、判定表、正交排列。 (一)等价类 1.概念 依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选…

项目交付后,PM该如何做复盘总结?

2023已经收尾,那些让我们或焦灼、或紧急、或喜悦、或悲伤的项目也都交付完毕了。为了更好的总结工作成果与反思,各家单位开始一边排练年会舞蹈一边要求员工做出项目交付后复盘方案了,那么,怎样的复盘才会让项目工作更加明确&#…

如何在群晖NAS部署office服务实现多人远程协同办公编辑文档

文章目录 本教程解决的问题是:1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是: 1.Word,PPT,Excel等重要文件存在本地环境,如何在编…

Web3技术革新:重新定义在线体验

互联网的不断演进塑造了我们的数字生活,而Web3技术的涌现正带来一场前所未有的变革。本文将深入探讨Web3技术的创新,以及它如何重新定义和提升我们的在线体验。 Web3技术的基本概念 Web3是互联网的第三个时代,它将去中心化、区块链、智能合约…

解决import Jetson.GPIO报错“权限错误”

在导入Jetson.GPIO模块时出现权限错误,可能是由于缺少适当的权限或设备权限问题。以下是一些建议: 使用sudo: 尝试使用sudo来运行你的Python脚本或解释器,以获取足够的权限: sudo python your_script.py请注意&#xf…

(一)PySpark3:安装教程及RDD编程(非常详细)

目录 一、pyspark介绍 二、PySpark安装 三、RDD编程 1、创建RDD 2、常用Action操作 ①collect ②take ③takeSample ④first ⑤count ⑥reduce ⑦foreach ⑧countByKey ⑨saveAsTextFile 3、常用Transformation操作 ①map ②filter ③flatMap ④sample ⑤d…

【Linux】—— 信号的产生

本期,我们今天要将的是信号的第二个知识,即信号的产生。 目录 (一)通过终端按键产生信号 (二)调用系统函数向进程发信号 (三)由软件条件产生信号 (四)硬件…

会计分录的概念和应用

目录 一. 会计分录的概念二. 会计分录的分类三. 会计分录的应用 \quad 一. 会计分录的概念 \quad 会计分录是指对每笔经济业务列示其应借记和应贷记账户及其金额的一种记录。 会计分录的基本要素 ( 1 )账户及其所属明细账户名称(或会计科目及其所属明细科目名称) (2 )记账方向…

Linux系统——正则表达式

有一段时间本机访问量过高,如何查看日志提取出访问量前十的信息 1.使用提取命令(cut、awk、sed)提取出ip地址的那一列 2.使用sort按数字排序,将相同的地址整合到一起 3.使用uniq -c统计出数量 4.使用sort 数字 数字倒序排序 5.最…

【React教程】(2) React之JSX入门与列表渲染、条件渲染详细代码示例

目录 JSX环境配置基本语法规则在 JSX 中嵌入 JavaScript 表达式在 JavaScript 表达式中嵌入 JSXJSX 中的节点属性声明子节点JSX 自动阻止注入攻击在 JSX 中使用注释JSX 原理列表循环DOM Elements 列表渲染语法高亮 条件渲染示例1:示例2:示例3&#xff08…

Learn to Earn,Move星航计划第三期诚邀您探索编程和区块链的乐趣

*以下文章来源于MoveFuns ,作者MoveFuns DAO 星航计划是一个 Web3 技术的公益计划,旨在引导更多的人加入开源社区,学习Move语言,了解Web3。本期星航计划由 MoveFuns Dao 发起,由Sui官方基金会支持,汇集了 Web3开发领域内的专业导…

FullStack之Django(1)开发环境配置

FullStack之Django(1)开发环境配置 author: Once Day date:2022年2月11日/2024年1月27日 漫漫长路,才刚刚开始… 全系列文档请查看专栏: FullStack开发_Once_day的博客-CSDN博客Django开发_Once_day的博客-CSDN博客 具体参考文档: The web framewor…

图灵之旅--ArrayList顺序表LinkedList链表栈Stack队列Queue

目录 线性表顺序表ArrayList简介ArrayList使用ArrayList的构造ArrayList常见操作ArrayList的遍历ArrayList的扩容机制利用ArrayList洗牌ArrayList的优缺点 链表链表的实现双向链表的实现 LinkedListLinkedList引入LinkedList的使用LinkedList的构造LinkedList的常用方法介绍Lin…

ArcGIS Pro如何新建字段

无论是地图制作还是数据分析,字段的操作是必不可少的,在某些时候现有的字段不能满足需求还需要新建字段,这里为大家讲解一下在ArcGIS Pro中怎么新建字段,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的水…

pytorch安装教程(Anaconda + GPU)

可以去nvidia官网更新驱动 获取下载pytorch的命令地址:Start Locally | PyTorch 在这里可以找到旧版本的cuda的命令:Previous PyTorch Versions | PyTorch 如果使用conda没有安装成功的话,就使用pip:

ToF传感器在移动机器人中的作用

原创 | 文 BFT机器人 在日新月异的机器人技术领域,技术的无缝整合正引领着人类与机器交互方式的革新潮流。ToF传感器作为变革性创新的一个例子,对移动机器人更好地感知周围环境起到了决定性的作用。 ToF传感器与激光雷达技术在创建深度图方面有着异曲同…

大模型视觉理解能力更进一步,谷歌提出全新像素级对齐模型PixelLLM

论文题目:Pixel Aligned Language Models 论文链接:https://arxiv.org/abs/2312.09237 项目主页:Pixel Aligned Language Models 近一段时间以来,大型语言模型(LLM)在计算机视觉领域中也取得了巨大的成功&a…

Unity 观察者模式(实例详解)

文章目录 简介示例1 - 简单的文本更新通知示例2 - 多观察者监听游戏分数变化示例3 - 事件系统实现观察者模式示例4 - 泛型观察者和可序列化的事件系统示例5 - 使用C#委托简化版 简介 在Unity中实现观察者模式,我们可以创建一个Subject(目标/主题&#x…

前端面试题-js部分-数组去重-数组扁平化-伪数组转数组-面向对象的继承方式(ES5)

前端面试题-js部分-数组去重-数组扁平化-伪数组转数组-面向对象的继承方式ES5 数组去重数组扁平化伪数组转换为数组面向对象的继承方式(ES5) 数组去重 1.利用es6 set 去重 Set 类型不允许有值重复 let arr1 [1, 2, 4, 3, 5, 7, 1, 8, 2, 4, 9]console.…