[SOC]芯片中的clock与reset

  • 关于时钟
  • 关于复位
  • 大型SOC芯片的时钟设计

关于时钟

如今SOC芯片的规模都很大,可以被划分为很多异步的clock domain,需要一个时钟模块来产生各个clock domain所需要的时钟。

芯片的时钟源可以是外部晶振或是内部PLL,当然内部PLL也需要一个参考时钟,这个参考时钟一般是来自于片外的晶振。常见的外部时钟源有32.768KHz时钟和26MHz时钟(这个频率可变)。32.768KHz时钟用来提供给rtc模块或者timer模块等,用于产生系统时钟、时间戳或者进行计数等。26MHz时钟常用做PLL的参考时钟,或者其他需要慢速时钟的模块。

26MHz的时钟一般需要一段时间才能稳定,可以在上电复位释放后对32.768KHz进行采样计数,当计数到期后再释放系统的复位信号并运行power up sequence,完成冷启动的过程。

实际的clock网络比上图要复杂很多,不仅需要考虑各个clock domain所需的时钟频率,还要考虑低功耗设计的需求,包括软硬件可控的时钟门控(clock gate)、时钟变频等。

大芯片一般不止一个PLL,这些PLL根据各个clock domain在不同的工作模式下的频点需求,通过软件可控的mux和分频模块产生所需的时钟频率。在run time切频时一般需要在切换的过程中不产生毛刺,并且满足时序约束,可以通过软件控制关闭clock gate或者硬件状态机控制clock gate实现。如果是仅仅通过控制mux或者分频模块就能实现切频,那么可以简单的应用无毛刺的mux或分频电路实现。
下图为无毛刺时钟源选择电路实现。

关于复位

常用的复位策略有同步复位和异步复位。
同步复位由于需要时钟才能工作,并且复位信号需要保持1个clock cycle以上,由于这些缺点,在如今的soc设计中用的已经比较少了。
纯异步复位很容易出现recovery time和removal time的违例,从而产生亚稳态的传播。如下图所示,撤销复位时,恢复到非复位状态的电平必须在时钟有效沿来临之前的一段时间到来,才能保证时钟能有效恢复到非复位状态,此段时间为recovery time。复位时,在时钟有效沿来临之后复位信号还需要保持的时间为去除时间removal time。

为了解决异步复位的问题,一种处理方法是在复位信号送入模块前,先经过异步复位同步释放模块,如下图,这样PR工具会自动检查模块中DFF的时序并修正,直到没有recovery和removal的violation。

异步复位同步释放的reset在clock上升沿释放,并且一个周期内必须到达每个dff,如果模块比较大,reset在一个周期内到达不了每个dff有可能会有风险。可以使用另一种处理方法,通过控制clock的开关,在reset的时候,停掉clock,这样也可以达到同样的效果。等复位完了,再开启模块时钟,再启动模块工作。这种流程可以保证不会出现recovery和removal的问题,因为复位置起撤销时都没有时钟。

SOC芯片中的reset源可以分为片外reset源和片内reset源。片外的reset源一般有来自PMIC的power reset,来自系统板上的pad reset,jtag reset,如果有pcie可能还有PErst等。片内的reset源有watchdog timeout reset,software reset及其他硬件机制产生的reset等。一个模块的reset可能由几种或者全部reset源控制。

大型SOC芯片的时钟设计

大型SOC芯片可能需要几十甚至上百个时钟,这些时钟都来自于PLL输出或者上面介绍的其他时钟源。时钟的生成有一定的规则,借助这些规则可以通过脚本来生成时钟产生模块,这样也有助于时钟网络的验证。

[SOC]clock与reset设计相关推荐

  1. 一种双 SoC 智能座舱域控设计

    本文由任广乐,赵帼娟,李立安联合创作 摘要 随着汽车智能化的发展,车联网和智能座舱成为提升用户用车体验的重要环节,智能座舱域控制器就是保证用户用车体验的基础.文章创造性地提出了一种双 SoC 的智能座 ...

  2. 汽车SoC全生命周期功能+网络安全架构设计

    随着汽车电子产业的快速发展,供应链中复杂的SoC设计,硅片生命周期管理(SLM)以及芯片现场监控和管理面临新的挑战. 要确保这些复杂设备正确和安全的运行,不仅需要功能安全来检查由于硅缺陷和老化导致的可 ...

  3. soc 设计soc设计 uml实务手册_SoC技术的发展

    一.什么是SoC 1.SoC技术的发展 集成电路的发展已有40多 年的历史,它一直遵循摩尔所指示的规律推进,现已进入深亚微米,乃至纳米阶段. 由于信息市场的需求和微电子自身的发展,引发了以微细加工(集 ...

  4. 单火线设计系列文章4:电源转换电路和无线通信SOC电路

    本篇阐述单火开关电源转换电路和无线通信SOC电路的基本构成.工作原理,在进入文章之前,推荐阅读-- <单火线设计系列文章1:场景由来.技术问题> <单火线设计系列文章2:闭态取电电路 ...

  5. SOC设计与验证【单核、双核架构】

    基于RISCV的SOC 设计 与 验证 项目 此项目需要预先储备下面4种知识: Verilog        SV        C语言        Perl语言 一:SOC系统定义 二:实验目的 ...

  6. 三种常用SoC片上总线的分析与比较 (Z)

    摘要 随着集成电路设计技术的发展,在片上系统(SoC)中,越来越多地使用各种功能IP核部件构成系统.总线是这些部件连接的主要方式,目前有数家公司和组织研发了多种面向SoC设计的总线系统.本文介绍SoC ...

  7. 芯片设计进阶之路——Reset深入理解

    Reset深入理解 ------------------------------------------ 版权声明: 本文作者: 烓围玮未 首发于知乎专栏<芯片设计进阶之路>,转发无需授权 ...

  8. 无毛刺时钟切换(glitch free clock switching)

    时钟切换电路的意义 为什么要做clock switching,在现代的SoC设计中,很多时候我们设计的模块并不是要跑在一个固定的频率下,而是根据性能和功耗的要求要跑在不同的时钟频率下,当需要降低功耗以 ...

  9. 树芯计划-ASIC数字IC设计讲解(1)连载中......

    大家好,我是IC修真院的Andy老师,今天我们一起来学习ASIC数字前端设计课程,在讲课程之前,我们首先来看一些基本的知识点. 那目前来看无论是ASIC设计还是SOC的设计,基本的都是TOP down ...

最新文章

  1. 如何定时备份数据库并上传七牛云
  2. android 布局preview 技巧
  3. linux命令行ps1变量_Ubuntu如何修改命令提示符PS1
  4. mongdb mysql geospatial 比较_MongoDB的地理位置查询,以及和mysql的使用对比
  5. java 4个系统,JSP系统的四个组成部分
  6. struts国际化java_Struts2 的国际化实现方式示例
  7. sourcetree合并分支_不会git命令,没关系啊,还有强大的图形界面工具SourceTree
  8. CentOS下Storm 1.0.0集群安装具体解释
  9. 概率论与环境数理统计 20210222
  10. 阿里巴巴监管控一体化运维|阿里巴巴DevOps实践指南
  11. unity3D 如何提取游戏资源
  12. 微信脚本配置服务器,微信自动加人脚本教程
  13. 含有一个量词的命题的否命题_高一 | 数学必修一全称量词与存在量词知识点总结...
  14. 解决在stata横向合并出现的not uniquely identify observations in the using/master data
  15. 【笔试题】网易2018秋招内推笔试
  16. “收藏本站”,“设为首页”的脚本
  17. 联想A800新蜂ROM V1.1 基于官方4.0.4精简省电稳定
  18. hdu1272(小希迷宫 并查集)
  19. 游戏‘微信打飞机’ 第三课
  20. SpringBoot - @RequestBody、@ResponseBody的使用场景

热门文章

  1. navcat导入mdf数据库文件教程
  2. 计算机组装与维护作者杨云江,计算机组装与维护实用技术
  3. Python-OpenCV——Image Blurring(Image Smoothing)
  4. 要写码,又要做年终总结PPT?高效神器保住你的发际线
  5. HDFS集群管理与运维+distcp工具的使用
  6. cobalt strike profile
  7. FND_MESSAGE使用总结
  8. 重启c语言-找出总分最高的学生
  9. SystemUI之通知图标控制
  10. uniapp 跳转公众号获其他小程序