SoC芯片中Clock Gen和Reset Gen的时钟树综合

社区目前已经开设了下面列举的前四大数字后端实战课程,均为直播课,且均是小编本人亲自授课!遇到项目问题,都可以远程一对一指导解决具体问题。小编本人是一线12年后端经验的数字后端工程师。想找一线IC后端技术专家亲自带你做后端实战项目的同学,可以私信。

社区第四期复杂时钟设计Clock Gen时钟树综合训练营将于10月19号正式开班!超小班教学,星主亲自授课!

本期包含两个复杂时钟clock gen设计,即在原来clock gen设计项目的基础上另外再加入一个更复杂的clock gen设计(包含1000 clock +)。

复杂时钟clock gen结构

复杂时钟设计时钟树综合(clock tree synthesis)常见20大问题
数字IC后端设计实现系列课程

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年写的这篇文章。深度揭秘异步复位同步释放原理

异步复位同步释放原理

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

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

相关文章

【C语言】动态内存管理(下)

本篇博客将讲解以下知识: 1、calloc和realloc 2、常见的动态内存错误 1、calloc和realloc (1)calloc C语言中还提供了一个函数叫calloc,calloc也用来动态内存分配 calloc函数原型: void* calloc(size_t num, …

Python 入门(二、什么是 Python 的虚拟环境)

Python 入门第二课 ,Python 的虚拟环境...... by 矜辰所致前言 本来以为环境搭建好了,就直接开始敲代码了,但是一直看到一个专业词汇:虚拟环境。 对于习惯了嵌入式 C 语言开发博主来说,一开始确实有点不明白&#xf…

在java 中如何实现执行linux命令,通过post接口代理出来?

接口方式输入命令得返回结果 public AjaxResult doPost(HttpServletRequest request, HttpServletResponse response, String command) throws ServletException, IOException {// 设置响应内容类型 text/plain // response.setContentType("application/json"…

Unite Shanghai 2024 团结引擎专场 | 团结引擎 OpenHarmony 工程剖析

在 2024 年 7 月 24 日的 Unite Shanghai 2024 团结引擎专场演讲中,Unity中国 OpenHarmony 技术负责人刘伟贤对团结引擎导出的 OpenHarmony 工程进行了细节剖析,详细讲解 XComponent 如何与引擎结合,UI 线程和引擎线程的关联以及 ts/ets 的代…

smbms项目(1)

目录 一、项目搭建准备工作 二、登录功能实现 三、注销功能实现 四、登录拦截实现 一、项目搭建准备工作 1、搭建一个maven web项目 2、配置Tomcat 3、测试项目是否能够跑起来 4、导入项目中会遇到的jar包(servlet、jsp、mysql驱动、jstl、standard&#xf…

python+大数据+基于Spark的共享单车数据存储系统【内含源码+文档+部署教程】

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ 🍅由于篇幅限制,想要获取完整文章或者源码,或者代做&am…

Golang | Leetcode Golang题解之第464题我能赢吗

题目&#xff1a; 题解&#xff1a; func canIWin(maxChoosableInteger, desiredTotal int) bool {if (1maxChoosableInteger)*maxChoosableInteger/2 < desiredTotal {return false}dp : make([]int8, 1<<maxChoosableInteger)for i : range dp {dp[i] -1}var dfs …

浙江省发规院产业发展研究所调研组莅临迪捷软件考察调研

2024年10月10日下午&#xff0c;浙江省发展与规划院产业发展研究所调研组一行莅临迪捷软件考察调研&#xff0c;绍兴市府办、区发改、区经信、迪荡街道等相关领导陪同。 调研组一行参观了迪捷软件的展厅与办公区&#xff0c;深入了解了迪捷软件的公司发展历程、运营状况、产品…

【论文#码率控制】ADAPTIVE RATE CONTROL FOR H.264

目录 摘要1.前言2.基本知识2.1 蛋鸡悖论2.2 基本单元的定义2.3 线性MAD预测模型 3.GOP级码率控制3.1 总比特数3.2 初始化量化参数 4.帧级码率控制4.1 非存储图像的量化参数4.2 存储图像的目标比特 5.基本单元级码率控制6.实验结果7.结论 《ADAPTIVE RATE CONTROL FOR H.264》 A…

第J5周:DenseNet+SE-Net实战(TensorFlow版)

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营]中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊]** &#x1f4cc; 本周任务&#xff1a; ●1. 在DenseNet系列算法中插入SE-Net通道注意力机制&#xff0c;并完成猴痘病识别&#xff0…

Mysql(八) --- 视图

文章目录 前言1.什么是视图&#xff1f;2.创建视图3. 使用视图4. 修改数据4.1.注意事项 5. 删除视图6.视图的优点 前言 前面我们学习了索引&#xff0c;这次我们来学习视图 1.什么是视图&#xff1f; 视图是一个虚拟的表&#xff0c;它是基于一个或多个基本表或其他视图的查询…

Java:玩家打怪小游戏

今天&#xff0c;我们尝试用Java来做一个“打怪小游戏”&#xff0c;听名字就知道&#xff0c;我们是应该创建几个成员和怪物&#xff0c;还有知道知道成员和怪物的血量&#xff0c;一次攻击的伤害等等。。当然我们的游戏攻击模式是“回合制”&#xff08;其实是别的方法&#…

Element-ui官方示例(Popover 弹出框)

Element-ui官方示例&#xff08;Popover 弹出框&#xff09;&#xff0c;好用的弹出框。 使用 vue-cli3 我们为新版的 vue-cli 准备了相应的​Element 插件​&#xff0c;你可以用它们快速地搭建一个基于 Element 的项目。 使用 Starter Kit 我们提供了通用的项目模版&#…

SQLAlchemy入门:详细介绍SQLAlchemy的安装、配置及基本使用方法

SQLAlchemy是一个流行的Python SQL工具包和对象关系映射&#xff08;ORM&#xff09;框架&#xff0c;它为开发人员提供了一种高效、灵活的方式来与数据库进行交互。本文将详细介绍SQLAlchemy的安装、配置及基本使用方法&#xff0c;并通过代码示例和案例分析&#xff0c;帮助新…

数据使用方法:

MySQL的存储引擎&#xff1a; 存储引擎的类型 MyISAM、InnoDB 、Memory、CSV等9种。 设置表的存储引擎&#xff1a; 数据表的存储位置 将查询结果插入新表 更新数据&#xff1a; 数据更新 更新数据记录 UPDATE 表名SET 字段1值1,字段2值2,...,字段n值 n [WHERE 条件]; 示例&a…

论文笔记:Pre-training to Match for Unified Low-shot Relation Extraction

论文来源&#xff1a;ACL 2022 论文地址&#xff1a;https://aclanthology.org/2022.acl-long.397.pdf 论文代码&#xff1a;https://github.com/fc-liu/MCMN &#xff08;笔记不易&#xff0c;请勿恶意转载抄袭&#xff01;&#xff01;&#xff01;&#xff09; 目录 A…

pnpm报错 cannot find package xxx,有的电脑正常运行,只有这个的电脑报错

pnpm build报错 cannot find package xxx&#xff0c;有的电脑正常运行&#xff0c;只有这一个报错 在网上查找各种资料发现是项目在电脑里的目录层级比较深导致的。 问题&#xff1a;在 Windows 系统上&#xff0c;文件路径过长&#xff08;超过 260 个字符&#xff09;可能…

VMware设置虚拟机与物理机在同一网段

1、设置虚拟网络编辑器 打开VMware编辑中的“虚拟网络编辑器...”菜单 将桥接模式选择为物理机的网卡。 2、设置虚拟机的网络适配器 打开“虚拟机|设置...”菜单&#xff0c;按下图设置。 3、查看Ubuntu的IP地址 输入命令&#xff1a; ip addr show 可查看ip地址是否与物…

2020前端面试 - JavaScript2.0篇

前言&#xff1a; 个人觉得面试其实是一个自我学习的过程&#xff0c;如果说短时间内找不到工作&#xff0c;那一定是你面的还不够多&#xff0c;不要气馁&#xff0c;不要放弃&#xff0c;在心底告诉自己&#xff0c;下一次面试&#xff0c;再下一次面试&#xff0c;一定能够拿…

基于Matlab使用蚁群算法寻找最优路径

基于Matlab使用蚁群算法寻找最优路径 与Dijkstra算法使用相同的地图。 每只蚂蚁都从起点出发&#xff0c;直到抵达终点。这与Example5_1.m 中解决旅行商问题不一样&#xff0c;旅行商问题中每一代的蚂蚁都是随机从一个节点出发。 文件说明 Example5_1.m 简单对参考资料2中的…