数字IC后端设计实现十大精华主题分享
今天小编给大家分享下吾爱IC社区星球上周十大后端精华主题。
Q1:星主,请教个问题,长tree的时候发现这个scan的tree 的skew差不多400p,我高亮了整个tree的schematic,我在想是不是我在这一系列mux前边打断,设置ignore pin,后边create_clock那是不是就可以做平这个tree?
数字IC后端实现时钟树综合系列教程 | Clock Tree,Clock Skew Group之间的区别和联系
你如果不做任何处理,所有的sink点都会做平的,即clock skew不会这么大。只不过clock tree长度会比较长而已。你这个case需要分析几个mux的另外一个输入时钟是什么?能否mux输入端设置ignore,取决于mux前后的寄存器是否有时序交互。如果没有,是可以这么做。否则就不行。
像下面这两个典型时钟结构,我们就需要对选择器的各个输入端做处理。比如第二张图所示的无毛刺时钟切换电路,该电路最后一级的输入端和输出端需要分别定义sink type和create_clock,否则整体clock tree会做得很长!
Q2:星主你好,我想请教一下create_clock 和create_gerated_clock 的sink 是否要做平问题。我看网上一些说法:create_clock 和create_gerated_clock 的sink 因为同属于一颗clock tree,会默认做平,电路图如下:
我觉得是不会做平,理由如下:
- create_clock 和create_gerated_clock 的spec 会产生不同clock tree,这是属于不同clock tree了,并且还产生不同的skew group。
2)我在innovus gui和命令确认了 DFF1和DFF2的clock skew 是远远大于我设置cts_target_skew的(如果是做平,理论DFF1和DFF2的skew 应该与我cts_target_skew差异不大)。并且确认了cts spec 没有mopdify_ccopt_skew_group -add_ignore_pins 命令把我DFF1/CK, DFF2/CK给ignore 掉。星主,请问一下,我想法是对的吗?
如果是在分频寄存器输出定义generated clock,效果如下图所示。FF1和FF2肯定会比较balance的。因为FF2这路多出一颗寄存器CK-Q的delay,所以FF1这路clock path上工具会插不少clock inverter的。
如果是在分频器输出create_clock,那么效果图如下图所示。FF1和FF2都在各自的clock tree上,skew一定比较大。FF1只会和分频寄存器做balance。
你的时钟结构图我帮你画出来了(clock mux的B端 你也可以进一步完善)。正常是要做clock balance的。这个需要将clock spec文件中这两颗寄存器相关信息截图看下,确认工具是否有对这两个点做了一些特殊处理。
另外我建议你单独做下ccopt_design -cts 然后再分析下。做tree之前记得把这个设置设上。正常后端实现流程不要把CTS和postCTS两个阶段合并一起做!
set_ccopt_property extract_clock_generator_skew_groups false
Q3:星主你好,想总结一下 timing report中 incr 延时后的特殊符号的意义。我了解到 * 代表工具抽的sdf延时,请问空白或其他特殊符号(如 # )代表了哪些意思,感谢!
一张图搞定这个问题。PT时序signoff看到的report中只能是真实RC反标&,其他任何符号都是错的。只要是咱们社区IC训练营学员的,这个肯定非常熟悉,每次时序signoff分析pt时序报告都会讲到这个。
数字IC后端笔试面试题库 | 经典时序计算题
Q4:Memory是否可以摆放在core区域和timing path合理性问题
- 图中所示的timing path是否合理?为什么?如何做优化?
2)Memory是否可以摆放在core区域中间?把memory摆放在core区域的利弊分别是什么?
Q5:星主,最近做的项目遇到了IR问题 有个违例点在buffer v10上,这个bufferv10驱动的是长线 200多um 领导的让在长线中间插个buffer 后面也解掉了,请问这是什么原理?
线短了单个buf负载变小,对应电流会变小,新加的buf在不同位置,原先位置的iavg会变小,所以对ir drop确实有点收益。
包括把cell驱动变小或换成阈值电压更高的cell,其实也是可以改善ir drop的。
数字IC设计后端实现前期预防IR Drop的方法汇总
Q6: TSMC28nm 1P8M Powerplan设计规划问题
Q7: 星主,问一个有趣的事情,同一个db,同样的命令,为啥nworst 1我这里报只有一个slack,同事那儿就变成三个了?
你们当前active的analysis view数量不一致哦,这个还是非常明确的。不能view下slack是不太一样的。
最后发现是有个同学在flow中将如下变量设置成true了,改成false就一模一样了。
set_global timing_report_group_based_mode true
Q8:星主,想问一下,设计存在mem2cgate的path,invs有啥命令让icg靠近mem摆放吗,或者这类path如何优化timing呢?
一般memory相关的ICG我们都是建议手工摆放好位置,fixed住。优化到ICG enable的timing path,我们主要有以下几种方法。
1)placement阶段设置更大的clock gating check
2)使用early clock flow,在placement阶段提前看到ICG和寄存器memory之间的天然skew
3)综合阶段和PR阶段控制fanout(可以改善timing)
- power aware的clock gating cell placement
甚至我们如果想精细化调timing和clock tree,我们还需要manual place这些ICG clock gating cell和相应的寄存器。
Q9: 星主,请教个问题,harden做lvs check结果如下图,extract open是我给harden打的text,分别为m5的VDDI,m7的VDD,我去掉text我lvs会fail,不去掉的话我这儿显示open,在top(hell)上也能显示出来open,所以我这儿的open究竟算不算真错?另外我给top出gds前还需要打text吗?
模块内部M5没有连成一个整体导致的。顶层在模块盖上高层的pg后就没问题了。你给top出gds不需要打text的,因为你出模块lef给顶层了,顶层可以看得到你模块内部高层PG的。
Q10: Calibre插dummy后对时序和IR Drop的影响?
相关文章:
数字IC后端设计实现十大精华主题分享
今天小编给大家分享下吾爱IC社区星球上周十大后端精华主题。 Q1:星主,请教个问题,长tree的时候发现这个scan的tree 的skew差不多400p,我高亮了整个tree的schematic,我在想是不是我在这一系列mux前边打断,设置ignore p…...
【Docker】部署MySQL容器
关于docker,Windows上使用Powershell/CMD执行指令,Linux系统直接使用终端执行指令。 拉取MySQL 也可以跳过拉取步骤,直接run,这样本地容器不存在的话,会自动拉取最新/指定的版本。 # 默认拉取最新版本 docker pull …...
go语言中的字符串详解
目录 字符串的基本特点 1.字符串的不可变性 2.其他基本特点 字符串基本操作 1. 创建字符串 2. 获取字符串长度 3. 字符串拼接 4. 遍历字符串 5. 字符串比较 字符串常用函数 1. 判断子串 2. 查找与索引 3. 字符串替换 4. 分割与连接 5. 修剪字符串 6. 大小写转换…...
数据中台从centos升级为国产操作系统后,资源增加字段时,提交报500错误
文章目录 背景一、步骤1.分析阶段2.查看nginx3.修改用户(也可以修改所有者权限) 背景 故障报错: nginx报错信息: 2024/12/19 15:25:31 [crit, 500299#0: *249 onen0 " /var/lib/nginx/tmp/cient body/0000000001" f…...
centos-stream9系统安装docker
如果之前安装过docker需要删除之前的。 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo yum -y remove $pkg; done 安装yum-utils工具: dnf -y install yum-utils dnf-plugins-core 设置存储库&…...
计算机网络基础20道选择题,你能答对几题?
大家好,我是阿祥。今天给大家准备了一场关于计算机网络基础知识的小测验,包含20道精选的选择题。这不仅是对大家网络知识的一次检验,也是一次有趣的学习机会。 IPv4地址的长度是多少位?A. 16位 B. 32位 C. 64位 D. 128位答案&…...
分布式协同 - 分布式事务_2PC 3PC解决方案
文章目录 导图Pre2PC(Two-Phase Commit)协议准备阶段提交阶段情况 1:只要有一个事务参与者反馈未就绪(no ready),事务协调者就会回滚事务情况 2:当所有事务参与者均反馈就绪(ready&a…...
虚幻引擎结构之UWorld
Uworld -> Ulevel ->Actors -> AActor 在虚幻引擎中,UWorld 类扮演着至关重要的角色,它就像是游戏世界的总指挥。作为游戏世界的核心容器,UWorld 包含了构成游戏体验的众多元素,从游戏实体到关卡设计,再到物…...
牛客网刷题 ——C语言初阶——BC114 小乐乐排电梯
1.牛客网 :BC114 小乐乐排电梯 题目描述: 小乐乐学校教学楼的电梯前排了很多人,他的前面有n个人在等电梯。电梯每次可以乘坐12人,每次上下需要的时间为4分钟(上需要2分钟,下需要2分钟)。请帮助…...
43. Three.js案例-绘制100个立方体
43. Three.js案例-绘制100个立方体 实现效果 知识点 WebGLRenderer(WebGL渲染器) WebGLRenderer是Three.js中最常用的渲染器之一,用于将3D场景渲染到网页上。 构造器 WebGLRenderer(parameters : Object) 参数类型描述parametersObject…...
验证 Dijkstra 算法程序输出的奥秘
一、引言 Dijkstra 算法作为解决图中单源最短路径问题的经典算法,在网络路由、交通规划、资源分配等众多领域有着广泛应用。其通过不断选择距离源节点最近的未访问节点,逐步更新邻居节点的最短路径信息,以求得从源节点到其他所有节点的最短路径。在实际应用中,确保 Dijkst…...
springboot 3 websocket react 系统提示,选手实时数据更新监控
构建一个基于 Spring Boot 3 和 WebSocket 的实时数据监控系统,并在前端使用 React,可以实现选手实时数据的更新和展示功能。以下是该系统的核心设计和实现思路: 1. 系统架构 后端 (Spring Boot 3): 提供 WebSocket 服务端,处理…...
SpringBoot使用Validation校验参数
准备工作 引入相关依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency> 约束性注解(简单)说明 AssertFalse可以为null,如果不为null的话必…...
AAAI-2024 | 大语言模型赋能导航决策!NavGPT:基于大模型显式推理的视觉语言导航
作者:Gengze Zhou, Yicong Hong, Qi Wu 单位:阿德莱德大学,澳大利亚国立大学 论文链接: NavGPT: Explicit Reasoning in Vision-and-Language Navigation with Large Language Models (https://ojs.aaai.org/index.p…...
Scala迭代更新
在Scala中,迭代器(Iterator)是一种用于遍历集合(如数组、列表、集合等)的元素而不暴露其底层表示的对象。迭代器提供了一种统一的方法来访问集合中的元素,而无需关心集合的具体实现。 在Scala中,…...
算法练习——位运算
前言:位运算的方法大多比较抽象,很难想到。 一:判断字符是否唯一 题目要求: 解题思路: 法一:使用hash的思想,统计每一个字母出现的次数,再通过一次循环遍历查询是否有超过1的字母&…...
“文件夹管理”与“标签管理”如何合理使用
在现代信息化的工作与生活环境中,文件夹管理与标签管理是两种常见的信息组织方法。合理使用文件夹与标签管理、提高信息检索效率、优化工作流程是实现高效信息管理的关键。其中,提高信息检索效率尤为重要,因为在海量的数据和文件中࿰…...
【学习总结|DAY023】Java高级技术
大家好,今天我们来聊聊 Java 中的几个高级技术:单元测试、反射、注解和动态代理。这些技术在源码、框架和架构师层面发挥着重要作用,掌握它们能让我们更深入地理解 Java 的底层原理,并提升代码质量和开发效率。 单元测试…...
java 对mongodb操作封装工具类
在 Java 中,封装 MongoDB 操作的工具类是非常常见的做法。使用 MongoDB 官方的 Java 驱动程序,结合常用的工具类封装,可以使得与 MongoDB 的交互更加方便和清晰。下面是一个简单的 MongoDB 操作封装工具类的示例代码。 前提 首先࿰…...
Spark-Streaming集成Kafka
Spark Streaming集成Kafka是生产上最多的方式,其中集成Kafka 0.10是较为简单的,即:Kafka分区和Spark分区之间是1:1的对应关系,以及对偏移量和元数据的访问。与高版本的Kafka Consumer API 集成时做了一些调整,下面我们…...
最大似然检测在通信解调中的应用
最大似然检测(Maximum Likelihood Detection,MLD),也称为最大似然序列估计(Maximum Likelihood Sequence Estimation,MLSE),是一种在通信系统中广泛应用的解调方法。其核心思想是在给…...
Bert各种变体——RoBERTA/ALBERT/DistillBert
RoBERTa 会重复一个语句10次,然后每次都mask不同的15%token。丢弃了NSP任务,论文指出NSP任务有时甚至会损害性能。使用了BPE ALBERT 1. 跨层参数共享 可以共享多头注意力层的参数,或者前馈网络层的参数,或者全部共享。 实验结果…...
力扣周赛T2-执行操作后不同元素的最大数量
给你一个整数数组 nums 和一个整数 k。 你可以对数组中的每个元素 最多 执行 一次 以下操作: 将一个在范围 [-k, k] 内的整数加到该元素上。 返回执行这些操作后,nums 中可能拥有的不同元素的 最大 数量。 示例 1: 输入: nums [1…...
uniapp 3分钟集成轮播广告图
先上效果图 顶部广告栏为 移动app常见需求,今天主要演示如何快速实现.这里还是基于 《星云erp-移动版》演示版 (自行下载 导入 Hbuilder, 后端接口可以直接使用我演示接口,不需要修改) 第一步: 组件选择 我们直接使用uni-swipe…...
图像修复和编辑大一统 | 腾讯北大等联合提出BrushEdit:BrushNet进阶版来了
文章链接:https://arxiv.org/pdf/2412.10316 项目链接:https://liyaowei-stu.github.io/project/BrushEdit 亮点直击 提出了BrushEdit,这是先前BrushNet模型的高级迭代版本。BrushEdit通过开创基于修复(inpainting)的图…...
极狐GitLab 17.7正式发布,可从 GitLab 丝滑迁移至极狐GitLab【二】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...
Python基础知识回顾
数据类型 Python可以区分整数(integers、下文简写为int)、浮点数(float)、字符串(string)和布尔值(Boolean)等数据类型。 1)int是可正可负的整数 2)float包…...
SpringCloud2023集成Nacos2.4.3
基本都是最新版,踩了两天的坑终于集成上了,实现了多环境配置。 使用版本 关键应用版本备注Java21Oracle OpenJDK 21.0.5Spring Boot3.2.4Spring Cloud2023.0.1Spring Cloud Alibaba2023.0.1.3Nacos2.4.3单机模式 nacos安装 我学习过程使用的是windows…...
数势科技指标平台, 让数据产生最大价值
近来,指标体系和指标平台的重要性正被越来越多的业界同仁所认可。作为行业领先的数据智能产品提供商,数势科技最早推出了统一指标开发管理平台这一突破性产品(2021年获得软著),并首家完成了中国信通院数据指标管理平台…...
【玩转MacBook】Maven安装
下载Maven 官网: https://maven.apache.org/download.cgi 下载 Zip 类型的压缩包: 配置环境变量 以管理员身份编辑配置文件。注意,由于 MacBook 上使用了 zsh 命令行,所以需要编辑~/.zshrc文件而不是~/.bash_profile文件&am…...
OpenGL笔记(1)
GLFW的函数说明 GLFW: Window guide 窗口创建提示 在创建窗口和上下文之前,可以设置多个提示。有些提示影响窗口本身,另一些则影响帧缓冲区或上下文。这些提示每次通过 glfwInit 初始化库时都会被重置为默认值。 整数值的提示可以通过 glfwWindowHint …...
前端Python应用指南(二)深入Flask:理解Flask的应用结构与模块化设计
《写给前端的python应用指南》系列: (一)快速构建 Web 服务器 - Flask vs Node.js 对比 书接上文,这一篇将会深入了解下Flask,这个轻量级的Web框架,非常适合用来构建小型应用和快速原型开发。但是&#x…...
前端Python应用指南(三)Django vs Flask:哪种框架适合构建你的下一个Web应用?
《写给前端的python应用指南》系列: (一)快速构建 Web 服务器 - Flask vs Node.js 对比(二)深入Flask:理解Flask的应用结构与模块化设计 在上一篇博文中,我们深入探讨了Flask框架,…...
Unity3D Huatuo技术原理剖析详解
前言 在游戏开发领域,Unity3D凭借其强大的跨平台能力和丰富的功能,成为了众多开发者的首选工具。而在Unity3D的生态系统中,Huatuo作为一款重要的插件,为游戏开发带来了极大的便利。本文将深入剖析Huatuo的技术原理,并…...
复习打卡大数据篇——Hadoop HDFS 03
目录 1. HDFS元数据存储 2. HDFS HA 高可用 1. HDFS元数据存储 HDFS中的元数据按类型可以分为: 文件系统的元数据:包括文件名、目录名、修改信息、block的信息、副本信息等。datanodes的状态信息:比如节点状态、使用率等。 HDFS中的元数…...
宠物行业的出路:在爱与陪伴中寻找增长新机遇
在当下的消费市场中,如果说有什么领域能够逆势而上,宠物行业无疑是一个亮点。当人们越来越注重生活品质和精神寄托时,宠物成为了许多人的重要伴侣。它们不仅仅是家庭的一员,更是情感的寄托和生活的调剂。然而,随着行业…...
使用Turtle库实现,鼠标左键绘制路径,用鼠标右键结束绘制,小海龟并沿路径移动
使用Turtle库实现,鼠标左键绘制路径,用鼠标右键结束绘制,小海龟并沿路径移动 Turtle库是Python标准库的一部分,它提供了一种基于命令的图形绘制方式。Turtle模块通过一个“海龟”(Turtle)对象在屏幕上移动…...
海格通信嵌入式面试题及参考答案
计算电路的最高工作频率如何计算? 计算电路的最高工作频率主要考虑电路中的关键路径延迟。关键路径是指在整个电路中,信号传播延迟最长的路径。电路的最高工作频率的倒数就是时钟周期,而时钟周期必须大于关键路径的延迟时间。 首先要确定电路中各个模块的延迟。比如对于组合…...
3D几何建模引擎Parasolid功能解析
一、什么是Parasolid? Parasolid是由Siemens PLM Software开发的高精度精密几何建模引擎。它全面评估CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAE(计算机辅助工程)、PLM(产品生…...
AI的进阶之路:从机器学习到深度学习的演变(四)
AI的进阶之路:从机器学习到深度学习的演变(三) 五、深度学习的应用领域 深度学习的应用领域广泛,涵盖了计算机视觉、自然语言处理、语音识别和推荐系统等多个方面。以下将详细探讨这些关键应用领域,展示深度学习在不同…...
【ES6复习笔记】rest参数(7)
什么是 rest 参数? rest 参数是 ES6 引入的一个特性,它允许我们将一个不定数量的参数表示为一个数组。使用 rest 参数可以更方便地处理函数的参数,尤其是在参数数量不确定的情况下。 如何使用 rest 参数? 在函数定义中…...
安装MongoDB,环境配置
官网下载地址:MongoDB Shell Download | MongoDB 选择版本 安装 下载完成双击打开 点击mongodb-windows-x86_64-8.0.0-signed 选择安装地址 检查安装地址 安装成功 二.配置MongoDB数据库环境 1.找到安装好MongoDB的bin路径 复制bin路径 打开此电脑 -> 打开高级…...
ubuntu 网络管理
1 查看ip地址 rootu22-tools-20:~# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever…...
flask后端开发(1):第一个Flask项目
目录 一、Helloworddebug、host、port的配置 gitcode地址: https://gitcode.com/qq_43920838/flask_project.git 一、Helloword 一般是会创建两个文件夹和app.py app.py from flask import FlaskappFlask(__name__)app.route(/) def hello_world():return Hello…...
详解下c语言中struct和union的对齐规则
接触过c语言的同学应该都知道字节对齐。有些时候我们很容易弄错字节对齐的方式,特别是涉及到struct(结构体)和union(联合体)时。今天我们通过详细例子来说明下struct和union的对齐规则,以便了解各种struct和…...
虚拟机桥接模式网络连接不上解决方法
可能是桥接模式自动配置网络地址的时候没配好,自己手动配置一下。先看看windows里的wifi的ip 把虚拟机的网络设置打开ipv4把地址、子网掩码、网关输进去,然后再连接...
MySQL用表组织数据
用表组织数据 文章目录 用表组织数据一.四种完整性约束二.数值类型2-1三.数值类型2-2四.字符串.日期类型五.设置1.设置主键2.设置标识列3.设置非空4.设置默认值 六.主外键建立后注意事项 一.四种完整性约束 1.域完整性 列 域完整性约束方法:限制数据类型,检查约束,外键约束,默…...
基于python 微信小程序的医院就诊小程序
标题:基于 Python 微信小程序的医院就诊小程序 内容:1.摘要 基于 Python 微信小程序的医院就诊小程序旨在解决传统医院就诊流程繁琐、排队时间长等问题。通过小程序,患者可以在线预约挂号、查询医生信息、在线支付等,提高就诊效率。本小程序采用 Python…...
VUE3+django接口自动化部署平台部署说明文档(使用说明,需要私信)
网址连接:http://118.25.110.213:5200/#/login 账号/密码:renxiaoyong 1、VUE3部署本地。 1.1本地安装部署node.js 1.2安装vue脚手架 npm install -g vue/cli # 或者 yarn global add vue/cli1.3创建本地项目 vue create my-vue-project1.4安装依赖和插…...
【MySQL】十三,关于MySQL的全文索引
MySQL的全文索引用于搜索文本中的关键字,类似于like查询。 演示 建表 CREATE TABLE demo (id INT(11) NOT NULL,name CHAR(30) NOT NULL,age INT(11) NOT NULL,info VARCHAR(255),primary key(id),fulltext index futxt_idx_info(info) );此表的默认存储引擎为In…...