ic基础|复位篇02:芯片中的“人生重来枪”!crg之复位系统

news2024/11/18 5:39:50

大家好,我是数字小熊饼干,一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结,并通过汇总成文章的形式进行输出,相信无论你是在职的还是已经还准备入行,看过之后都会有有一些收获,如果看完后喜欢的话就请关注我吧~谢谢~

世界是混沌的,每一个人在出生之时都有着无数的未来可能性,并在环境,家人,朋友和自身等多种因素的影响之下会逐渐向着某种方向发展。而对于芯片来说,其中分布着相当多的触发器,当我们给芯片供电时,每个触发器中存储的是1还是0是不确定的,因此芯片的后续运行也有无数种可能,但是这显然不是我们想要的,芯片工程师并不是神,无法穷究每一种可能性下的发展方向,我们只需要芯片在上电初期有一个确定的初始状态,这样我们才能使得芯片按照我们设定的轨迹运行下去,这就可以通过芯片中的复位系统实现。

 在芯片设计中,复位系统是一个很重要的部分,我们随时可以通过复位来将数字电路中的触发器设置到一个确定的初始值上,从而使得状态机和其他的控制电路可以从一个已知的初始状态开始工作。

ic基础|复位篇∶关于同步复位和异步复位你不得不知道的二三事!

在我们前面的文章中(即上述蓝色连接的那篇文章)已经提过了复位可以分为同步复位和异步复位两种。在这两种复位中,由于同步复位会带来更多的资源消耗,以及挤占数据路径会导致更多的延时,从而对时序的满足造成负面影响等缺陷,我们的芯片中使用更多的还是异步复位。

在本期文章,我们将给出一个基础的时钟和复位产生模块中的复位系统,并会将其和时钟系统的配合进行简要描述。

一、复位系统

下图是一个简单的复位系统,下面我们将对其进行介绍:
在这里插入图片描述

1.1 复位的源头

对于芯片来说,其中的复位信号也有一个源头,那就是上电复位(POR)电路,POR的作用是在芯片上电时,由POR产生的复位信号始终有效,使得芯片内部的电路保持静态,当给芯片施加的电源电压达到了一个能保证芯片正常工作的电压之后,POR才会释放其内部复位信号,芯片内部才能够开始正常工作。

在上图中的por就是这个复位系统的上电复位模块,其中的rst_n_ext为外部输入的复位信号。外部的电路可以使用该信号对芯片的复位进行控制。

1.2 复位的同步

对于复位信号来说,其释放需要满足恢复时间(recovery time)和撤销时间(removal time),因此在我们的复位系统设计之中,需要对每个异步时钟区域独立地同步复位。如上图所示,其中对每个独立的时钟区域都使用了一个独立的复位同步器。

在这里我们还加入了两个信号rst_bypass_sel和rst_bypass_n,这两个信号是用于可测性设计(dft,design for test)的,由于芯片中的部分复位信号是受寄存器控制的,在scan shift过程中寄存器的值并不确定,因此可能导致复位错误触发,因此为了避免这种情况的发生,我们可以通过加入一个mux,通过rst_bypass_sel选择在scan shift过程中选择rst_bypass_n。

1.3 复位和时钟的配合

由于锁相环pll的输出稳定需要一定的时间,在pll没有锁定之前,应该保持复位信号始终有效,以避免由于时钟的不稳定导致芯片的运行出现问题,因此在上图中,我们首先将por释放的原始复位信号输入至pll,等待其稳定之后,即产生了pll的锁定信号pll_locked,后续逻辑部分的复位信号pll_rst_n才能被释放。

1.4 寄存器复位信号

和通过寄存器配置时钟使能信号类似,我们也可以通过寄存器配置模块的复位信号(如图中的reg_rst_n),以便需要的时候,我们能够通过软件控制的模块复位,将其变为一个确定的初始状态。

二、上电流程

下面结合一个实例来说明复位系统的使用:
在这里插入图片描述
先说明一下图上的各个信号:

  • VDDIO和VANA是上电管脚;
  • XSHUTDOWN是管脚输入的外部复位信号;
  • EXTCLK是管脚输入的外部参考钟;
    -SDA和SCL为I2C信号;

在了解了各个信号的内容后,我们进一步对该芯片的上电时序进行说明:

  1. 第一步先在VDDIO和VANA处给电,两个管脚给电顺序可变,只需要满足一定的时间要求即可;
  2. 在VDDIO和VANA两个管脚给电时,根据XSHUTDOWN的电平有以下两种情况:
    -电源VDDA和VDDIO接通时,如果XSHUTDOWN为低电平或关闭,则该芯片进入硬件待机模式(此时不能通过软件配置寄存器)。
    -如果电源接通(超过电压电平的90%, 即达到电压阈值)后将XSHUTDOWN变为高电平,则该芯片进入软件待机模式(即可通过软件配置寄存器)。
    -在这两种情况下,通过POR在合适的时机释放其内部复位信号,确保寄存器值正确初始化为其默认值。
  3. 在释放外部复位后,给入参考钟;
  4. 还需要等待一段时间(即图中的t4),以确保pll稳定,并进行一系列初始化操作等等;
  5. 等待了t4后,此时可以响应i2c命令,对芯片进行配置,例如释放各个模块的软件复位,进行正常工作下的初始化配置等等;
  6. 芯片进入正常工作模式。

三、总结

以上就是我们本篇文章的全部内容了,希望大家看了能有所收获吧~

最后,还提一个关于复位的小知识,由于带有复位引脚的触发器所占用的芯片面积比没有复位引脚的触发器略微大一些,因此,如果用于保存数据信号的触发器的初始值无关紧要(即该数据信号不会用于做控制逻辑驱动后续的电路,且在后续工作过程中会有正确的数据对其进行覆盖),那么,我们可以使用不带复位引脚的触发器,以降低芯片的面积。

如果你喜欢这篇文章的话,请关注我的公众号-熊熊的ic车间,里面还有ic设计和ic验证的学习资料和书籍等着你呢~欢迎您的关注!

在这里插入图片描述

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

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

相关文章

从云端到终端:青犀视频汇聚/融合平台的视频接入方式与场景应用

一、青犀视频汇聚/融合平台 由TSINGSEE青犀视频研发的EasyCVR智能融合/视频汇聚平台基于“云-边-端”一体化架构,支持视频汇聚、融合管理,兼容多协议(GA/T1400/GB28181/Onvif/RTSP/RTMP/海康SDK/Ehome/大华SDK/宇视SDK等)、多类型…

代码随想录算法训练营第31天(py)| 贪心 | 455.分发饼干、376. 摆动序列、53. 最大子序和

455.分发饼干 力扣链接 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j&#…

谨以此文章记录我的蓝桥杯备赛过程

以国优秀结束了蓝桥杯cb组 鄙人来自电信学院,非科班出身,在寒假,大约2024年2月份,跟着黑马程序员将c基础语法学完了,因为过年,事情较多,没在学了。 最初就是抱着拿省三的态度去打这个比赛的&a…

C++:栈(stack)、队列(queue)、优先级队列(priority_queue)

hello,各位小伙伴,本篇文章跟大家一起学习《C:栈(stack)和队列(queue)》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 文章目录 :map…

Spring Cloud系列——使用Sentinel进行微服务保护

文章目录 一、引言1. 雪崩问题的产生原因2. 解决雪崩问题的思路 二、微服务保护1. 服务保护方案1.1 请求限流1.2 线程隔离1.3 服务熔断 2. Sentinel2.1 安装2.2 微服务整合2.2.1 请求限流2.2.2 线程隔离①OpenFeign整合Sentinel②配置线程隔离 2.2.3 服务熔断①编写降级逻辑②配…

队列的讲解与实现

这里写目录标题 一、队列的概念及结构二、队列的实现(使用VS2022的C语言)1.初始化、销毁2.入队、出队3.返回队头元素、返回队尾元素、判空、返回有效元素个数 三、完整 Queue.c 源代码 一、队列的概念及结构 队列:只允许在一端进行插入数据操作,在另一端…

网络空间安全数学基础·同余式

6.1 剩余系&#xff08;掌握&#xff09; 6.2 同余式概念与一次同余式&#xff08;熟练&#xff09; 6.3 中国剩余定理&#xff08;熟练&#xff09; 6.1 剩余系 设m是正整数&#xff0c;模m同余的全体整数是一个模m剩余类&#xff0c;即可表示为a qmr&#xff0c; 0≤r<…

在推荐四款软件卸载工具,让流氓软件无处遁形

Revo Uninstaller Revo Uninstaller是一款电脑软件、浏览器插件卸载软件&#xff0c;目前已经有了17年的历史了。可以扫描所有window用户卸载软件后的残留物&#xff0c;并及时清理&#xff0c;避免占用电脑空间。 Revo Uninstaller可以通过命令行卸载软件&#xff0c;可以快速…

python数据分析-问卷数据分析(地理课)

学生问卷 分析学生背景&#xff1a;班级分布、每周地理课数量、地理成绩分布 根据问卷&#xff0c;可以知道&#xff1a; 班级分布&#xff1a; 七年级有118名学生。 八年级有107名学生。 每周地理课的数量&#xff1a; 有28名学生每周有1节地理课。 有99名学生每周有2…

dots_image 增强图像中的圆点特征

dots_image 增强图像中的圆点特征 1. dot_image 有什么用途&#xff1f;2. 点状字符的特征增强3. Halcon代码 1. dot_image 有什么用途&#xff1f; Enhance circular dots in an image. 这个算子可以增强图像中的圆点特征&#xff0c;例如下面的例子。 2. 点状字符的特征增强…

有待挖掘的金矿:大模型的幻觉之境

人工智能正在迅速变得无处不在&#xff0c;在科学和学术研究中&#xff0c;自回归的大型语言模型&#xff08;LLM&#xff09;走在了前列。自从LLM的概念被整合到自然语言处理&#xff08;NLP&#xff09;的讨论中以来&#xff0c;LLM中的幻觉现象一直被广泛视为一个显著的社会…

CAD二次开发(8)-探索实现不重启CAD进行热部署代码

最近在研究CAD二次开发过程中&#xff0c;调试代码的过程中&#xff0c;需要频繁地重启CAD&#xff0c;非常浪费我们的开发时间&#xff0c;所以我就一直在想&#xff0c;怎么可以实现在不每次重启代码和CAD的情况下&#xff0c;实现代码的热部署效果。 我找到的方式&#xff…

论文阅读 A Distributional Framework for Data Valuation

本论文解决的问题 量化数据价值&#xff08;机器学习模型训练中各个数据点的贡献&#xff09; 避免数据价值受到其所处数据集的影响&#xff0c;使数据点的估值更加稳定、一致 变量假设 假设 D 表示一个在全集 Z 上的数据分布。对于监督学习问题&#xff0c;我们通常认为 Z…

高考志愿填报有哪些技巧和方法

一年一度高考季&#xff0c;又高考志愿填报的时侯了。高考志愿填报的时侯&#xff0c;需要考虑的因素比较多&#xff0c;有的同学觉是离家越远越好&#xff0c;要放飞自我&#xff0c;家长再也管不了我了。有的同学觉得专业比学校牌子重要&#xff0c;只要报个好专业&#xff0…

服务监控-微服务小白入门(5)

背景 什么是服务监控 监视当前系统应用状态、内存、线程、堆栈、日志等等相关信息&#xff0c;主要目的在服务出现问题或者快要出现问题时能够准确快速地发现以减小影响范围。 为什么要使用服务监控 服务监控在微服务改造过程中的重要性不言而喻&#xff0c;没有强大的监控…

【WP】猿人学_16_js逆向_window蜜罐

https://match.yuanrenxue.cn/match/16 抓包分析 荷载一个加密参数&#xff0c;一个时间戳 时间: 2024-06-07 15:52:31时间戳: 1717746751 1717746751000时间戳和现在对得上&#xff0c;直接生成就行。 追栈 追栈找m的生成位置。 点进去打断点&#xff0c;重新点击其他…

Java 8 中的 Stream API,用于处理集合数据

Java 8 引入了 Stream API&#xff0c;使得处理集合数据变得更加简洁和高效。Stream API 允许开发者以声明式编程风格操作数据集合&#xff0c;而不是使用传统的迭代和条件语句。 一、基本概念 1.1 什么是 Stream Stream 是 Java 8 中的一个新抽象&#xff0c;它允许对集合数…

Java学习笔记(六):Array List、学生管理系统、学生管理系统升级版

目录 一、ArrayList 1.1集合和数组的优势对比&#xff1a; 1.2 ArrayList类概述 1.3 ArrayList类常用方法 1.3.1 构造方法 1.3.2 成员方法 1.4 ArrayList存储字符串并遍历 1.5 ArrayList存储学生对象并遍历 1.6 查找用户的索引 1.7 添加手机对象并返回要求的数据 二…

用 Notepad++ 写 Java 程序

安装包 百度网盘 提取码&#xff1a;6666 安装步骤 双击安装包开始安装。 安装完成&#xff1a; 配置编码 用 NotePad 写 Java 程序时&#xff0c;需要设置编码。 在 设置&#xff0c;首选项&#xff0c;新建 中进行设置&#xff0c;可以对每一个新建的文件起作用。 Note…

【Flutter】 TextField限制长度时, 第三方手写输入法、ios原始拼音输入法输入被吞问题

问题描述 TextField限制长度时&#xff0c; 当你的输入字符长度已经到了最大值-1时&#xff0c;使用第三方手写输入法或者ios原生拼音输入法输入liang&#xff08;什么拼音都行&#xff0c;这里只是举例&#xff09;&#xff0c;输到i那么li都会消失。 原因分析 这是因为第三…