SoC芯片中Clock Gen和Reset Gen的时钟树综合
社区目前已经开设了下面列举的前四大数字后端实战课程,均为直播课,且均是小编本人亲自授课!遇到项目问题,都可以远程一对一指导解决具体问题。小编本人是一线12年后端经验的数字后端工程师。想找一线IC后端技术专家亲自带你做后端实战项目的同学,可以私信。
社区第四期复杂时钟设计Clock Gen时钟树综合训练营将于10月19号正式开班!超小班教学,星主亲自授课!
本期包含两个复杂时钟clock gen设计,即在原来clock gen设计项目的基础上另外再加入一个更复杂的clock gen设计(包含1000 clock +)。

复杂时钟设计时钟树综合(clock tree synthesis)常见20大问题

CRG全称是Clock &Reset Generator。所以它包含两大部分,一部分是时钟产生电路,另外一部分是时钟复位电路。下方为小编画的一个SoC芯片中CRG的思维导图。作为一名资深的IC后端工程师还是需要对这里面的Clock Generator有一定的了解。我们可以不用自己去写各种时钟产生电路的代码,但一定要对这些电路结构有所了解。这样才比较有利于我们做时钟树综合。

数字IC后端时钟树综合专题(OCC电路案例分享)
对于时钟复位和咱们数字后端工程师相关的就是在做时序检查timing signoff时会看到recovery和removal的timing问题。

一般来说整个SoC芯片的CRG设计是由相对比较资深的IC前端设计工程师来完成的。并且他们还会整理出整个设计的时钟结构框图。对于设计中存在分频的点必须明确在文档中指出,以免出现后续写时序约束SDC遗漏时钟的情况。

下图所示为咱们社区复杂时钟结构clock gen设计时钟树训练营项目的时钟结构图。咱们每个学员都可以根据design的netlist轻松画出来如下所示的时钟结构图。


社区新一期复杂时钟Clock Gen时钟树综合训练营将于10月份正式开班!本期将在原来项目的基础上再增加一个1000+个clock的项目。

下图为一个典型的SoC芯片的时钟结构图。这里展示的部分均为Clock Generator。

整个芯片的时钟源头为外部晶振输入的32K或24MHz。这个外部时钟通过IO送给芯片中的各个PLL锁相环,经过图中的各个Clock 开关Switch(ICG),再经过分频电路和无毛刺时钟切换电路,最终送给各个数字和模拟IP(局部也会送到IO作为时钟观测用)。

【思考题】下图为一个典型的时钟结构设计,我们应该如何来做时钟树综合?CTS Constraint需要怎么写?

写这个CRG时还需要和DFT工程师沟通好mbist,occ时钟的结构(不同OCC属于异步关系)。如果这里设计不合理会导致后续timing完全收敛不了。经常会出现scan测试模式hold violation特别大,其根本原因是时钟结构不合理,长tree过程是完全按照异步来做,但最终时序检又是同步的。这种情况的timing signoff一定会让你崩溃的。
下图所示为一个典型的OCC电路,这里面包含三路时钟,分别是fast_clock,slow_clock和ijtag_clock。针对这种OCC电路,我们在做时钟树综合时必须把不相干的clock隔开开,否则会出现IP和OCC Controller中的寄存器tree被拖长的情况。

芯片Tapeout前到底应该如何来做signoff?
数字IC后端时钟树综合专题(OCC电路案例分享)
Lockup latch的用法,看这个就够了
【惊呆了】你居然还在用flatten方式进行timing signoff
所以做大型SOC芯片必须要有相对比较懂后端概念的前端工程师和懂得分析时钟结构的后端工程师。这两个条件具备了,我们就可以把后续timing signoff可能遇到的问题提前规避掉。特别是大型走hierarchy flow的设计,前期没有做flatten timing时可能还看不到时钟拼接起来的问题。

关于异步复位同步释放的内容,有兴趣的同学可以查看小编2018年写的这篇文章。深度揭秘异步复位同步释放原理
异步复位同步释放原理
相关文章:
SoC芯片中Clock Gen和Reset Gen的时钟树综合
社区目前已经开设了下面列举的前四大数字后端实战课程,均为直播课,且均是小编本人亲自授课!遇到项目问题,都可以远程一对一指导解决具体问题。小编本人是一线12年后端经验的数字后端工程师。想找一线IC后端技术专家亲自带你做后端…...
学习资料:电子标签拣货技术
导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 完整版文件和更多学习资料,请球友到知识星球【智能仓储物流技术研习社】自行下载。 这份文件主要介绍了电子标签拣货技术,…...
Git 提交规范参考
Git 提交规范参考 feat 增加新的业务功能fix 修复业务问题/BUGperf 优化性能style 更改代码风格, 不影响运行结果refactor 重构代码revert 撤销更改test 测试相关, 不涉及业务代码的更改docs 文档和注释相关chore 更新依赖/修改脚手架配置等琐事workflow 工作流改进ci 持续集成…...
【前端】Matter:物体的高级控制
在 Matter.js 中,除了简单的物体创建和碰撞检测外,还可以通过高级控制实现更复杂的物理交互与模拟效果。本教程将介绍如何使用 约束 (Constraint)、复合物体 (Composite) 以及如何进行 运动与旋转控制,来实现链条、摆钟等效果,以及…...
ASP.NET Core 路由规则 MapControllerRoute、MapDefaultControllerRoute、MapController
MapControllers 来映射属性路由控制器。 资料...
linux命令之less用法
less 分屏上下翻页浏览文件内容 补充说明 less命令 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页&…...
试用cursor的简单的记录
快下班时又饿了,饿了几个小时了。中午那点饭,没够顶到下班。难怪店家说饭可以随便加。 所以不编码了,本周任务也超额完成了,这种状态再去编码调试,搞不好会写出自己不认识的代码。 本周工作中,新的事务是…...
下载Edge/Chrome浏览器主题的背景图片
当我们为Edge安装了心仪的主题后,希望把对应的背景图片下载保存要怎么做呢,以下图的“湖心小屋”主题为例。如下图,我们已经在应用商店中按照了该主题。 当打开新标签页后,可以欣赏这个主题内置的背景图片。 如果想要下载这个背景…...
Python解力扣算法题4(基础)
# 1.求斐波那契数列下标为n的数 (从零开始) # def fib(n): # if n < 2: # return n # # p, q, r 0, 0, 1 # for i in range(2, n 1): # p, q q, r # r p q # # return r#2. 和谐数组是指一个数组里元素…...
鸿蒙NEXT开发-网络管理(基于最新api12稳定版)
注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…...
【LeetCode每日一题】——1413.逐步求和得到正数的最小值
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 前缀和 二【题目难度】 简单 三【题目编号】 1413.逐步求和得到正数的最小值 四【题目描述】…...
音频分割:长语音音频 分割为 短语音音频 - python 实现
在做语音任务时,有是会用到的语音音频是长音频,这就需要我们将长音频分割为短音频。 该示例将声音的音量和静默时间结合作为语音的分割条件。 使用音量和静默时间结合的分割条件,能够比较好的进行自然断句,不会话语没有说完就切断…...
【Echarts动态排序图,series使用背景色更新动画,背景底色不同步跟随柱子动画】大家有没有解决方案
echarts动态排序图背景色动画不同步 echarts试一试 series下面添加了showBackground属性,动画时底色背景不同步跟随柱图 showBackground: true, backgroundStyle: {borderRadius: 9,color: RGB(255,199,91, 0.2) }const data []; for (let i 0; i < 5; i) {d…...
FLINK SQL 元数据持久化扩展
Flink SQL元数据持久化扩展是一个复杂但重要的过程,它允许Flink作业在重启或失败后能够恢复状态,从而确保数据处理的连续性和准确性。以下是对Flink SQL元数据持久化扩展的详细分析: 一、元数据持久化的重要性 在Flink中,元数据…...
MySQL【知识改变命运】04
复习: 1:CURD 1.1Create (创建) 语法: insert [into] 表名 [column[,column]] valuse(value_list)[,vaule_list]... value_list:value,[value]...创建一个实例表: 1.1.1单⾏数据全列插⼊ values_l…...
AD9680(adc直采芯片)使用说明
写这篇文章之前我是没有使用过AD9680的芯片,但是使用过GMS011芯片(是国内24S)下的公司出来的芯片,寄存器和管脚全对标。 在这里我就大概说一下芯片的说用方法 一、硬件设计 该芯片支持双通道射频直采 支持协议JESD204B 14位 采样…...
无人机之位置信息计算篇
一、主要导航技术 卫星导航 全球定位系统(GPS):无人机上装有专门的接收器,用于捕获GPS系统发射的无线电信号。当无人机接收到来自至少四颗卫星的信号时,通过计算信号抵达时间的微小差异,即可运用三角定位…...
安卓cpu知识
背景 目前的cpu都是多核的,为了有更好的能效,每个核的频率从低往高不等。市面上,大家根据频率不同,都叫大小核。既然分了大小核,那么多核心,就要有不同的cpu调度策略。所以cpu上的所有核,又会根…...
图书管理新纪元:Spring Boot进销存系统
1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理图书进销存管理系统的相关信息成为必然。开…...
Application protocol
5 应用协议 在 TS 31.101 [11] 的对应条款中所述的要求适用于 USIM 应用。 在执行后续章节“USIM 安全相关程序”和“订阅相关程序”中的程序之前,必须执行“USIM 管理程序”中列出的程序。“USIM 安全相关程序”中列出的程序是强制性的。“订阅相关程序”中列出的程…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
