当前位置: 首页 > news >正文

数字IC后端设计实现十大精华主题分享

今天小编给大家分享下吾爱IC社区星球上周十大后端精华主题。

Q1:星主,请教个问题,长tree的时候发现这个scan的tree 的skew差不多400p,我高亮了整个tree的schematic,我在想是不是我在这一系列mux前边打断,设置ignore pin,后边create_clock那是不是就可以做平这个tree?

复杂时钟结构设计trace

数字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_generated_clock

我觉得是不会做平,理由如下:

  1. 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。

在这里插入图片描述

innovus时钟结构报告

Innovus clock tree structure报告

你的时钟结构图我帮你画出来了(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时序报告都会讲到这个。

PrimeTime RC反标符号具体含义

数字IC后端笔试面试题库 | 经典时序计算题

Q4:Memory是否可以摆放在core区域和timing path合理性问题

  1. 图中所示的timing path是否合理?为什么?如何做优化?

2)Memory是否可以摆放在core区域中间?把memory摆放在core区域的利弊分别是什么?

timing path时序路径合理性案例分析

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)

  1. 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吗?

Calibre LVS gds抽取警告问题

模块内部M5没有连成一个整体导致的。顶层在模块盖上高层的pg后就没问题了。你给top出gds不需要打text的,因为你出模块lef给顶层了,顶层可以看得到你模块内部高层PG的。

Calibre GDS抽取报告解读

Q10: Calibre插dummy后对时序和IR Drop的影响?

Calibre dummy insertion对timing的影响

相关文章:

数字IC后端设计实现十大精华主题分享

今天小编给大家分享下吾爱IC社区星球上周十大后端精华主题。 Q1:星主,请教个问题,长tree的时候发现这个scan的tree 的skew差不多400p,我高亮了整个tree的schematic,我在想是不是我在这一系列mux前边打断,设置ignore p…...

高质量配音如何影响游戏的受欢迎度

在游戏行业中,创造沉浸式、引人入胜且令人难忘的体验往往决定了游戏的成功或失败。在影响游戏流行度的众多因素中,配音脱颖而出,成为将叙事与玩家互动连接起来的重要元素。高质量的配音将游戏中的对白转化为游戏的活跃部分,让玩家…...

QWidget应用封装为qt插件,供其他qt应用调用

在之前的文章中,有介绍通过QProcess的方式启动QWidget应用,然后将其窗口嵌入到其他的qt应用中,作为子窗口使用.这篇文章主要介绍qt插件的方式将QWidget应用的窗口封装为插件,然后作为其他Qt应用中的子窗口使用. 插件优点: 与主程序为同一个进程,免去了进程间繁琐的通信方式,…...

UE(虚幻)学习(四) 第一个C++类来控制小球移动来理解蓝图和脚本如何工作

UE5视频看了不少,但基本都是蓝图如何搞,或者改一下属性,理解UE系统现有组件使用的。一直对C脚本和蓝图之间的关系不是很理解,看到一个视频讲的很好,我也做笔记记录一下。 我的环境是UE5.3.2. 创建UE空项目 我们创建…...

使用FreeNAS软件部署ISCSI的SAN架构存储(IP-SAN)练习题

一,实验用到工具分别为: VMware虚拟机,安装教程:VMware Workstation Pro 17 安装图文教程 FreeNAS系统,安装教程:FreeNAS-11.2-U4.1安装教程2024(图文教程) 二,新建虚…...

Sql Sqserver 相关知识总结

Sql Sqserver 相关知识总结 文章目录 Sql Sqserver 相关知识总结前言优化语句查询(select)条件过滤(Where)分组处理(GROUP BY)模糊查询(like)包含(in)合集&am…...

面试题整理17----K8s中request和limit资源限制是如何实现的

面试题整理17----K8s中request和limit资源限制是如何实现的 1. 资源请求(Resource Requests)2. 资源限制(Resource Limits)3. 总结 在Kubernetes(K8s)中,Pod的资源限制(Resource Lim…...

Spring Boot @Conditional注解

在Spring Boot中,Conditional 注解用于条件性地注册bean。这意味着它可以根据某些条件来决定是否应该创建一个特定的bean。这个注解可以放在配置类或方法上,并且它会根据提供的一组条件来判断是否应该实例化对应的组件。 要使用 Conditional注解时&#…...

jpeg文件学习

相关最全的一篇文章链接:https://www.cnblogs.com/wtysos11/p/14089482.html YUV基础知识 Y表示亮度分量:如果只显示Y的话,图像看起来会是一张黑白照。 U(Cb)表示色度分量:是照片蓝色部分去掉亮度&#x…...

c++基于过程

前言: 笔记基于C黑马程序员网课视频:黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili 在此发布笔记,只是为方便学习,不做其他用途,原作者为黑马程序员。 1. C基础 1.1 用Visual Studio写C程…...

FOC软件 STM32CubeMX 使用

1、安装-及相关软件版本 展示版本注意事项:keil MDK和STM32CubeMX版本至少要大于等于图中版本。 2、 Motor Profiler 5.2.0使用方法...

leetcode hot 100 全排列

46. 全排列 已解答 中等 相关标签 相关企业 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 class Solution(object): def permute(self, nums): """ :type nums: List[int] :rtype: List[List[int…...

使用qrcode.vue生成当前网页的二维码(H5)

使用npm&#xff1a; npm install qrcode.vue 使用yarn&#xff1a; yarn add qrcode.vue package.json&#xff1a; 实现&#xff1a; <template><div class"code"><qrcode-vue :value"currentUrl" :size"size" render-as&…...

0055. shell命令--useradd

目录 55. shell命令--useradd 功能说明 语法格式 选项说明 选项 退出值 相关文件 /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/skel/ /etc/login.defs /etc/default/useradd 实践操作 注意事项 55. shell命令--useradd 功能说明 useradd 命令是 Lin…...

blender中合并的模型,在threejs中显示多个mesh;blender多材质烘培成一个材质

描述&#xff1a;在blender中合并的模型导出为glb&#xff0c;在threejs中导入仍显示多个mesh&#xff0c;并不是统一的整体&#xff0c;导致需要整体高亮或者使用DragControls等不能统一控制。 原因&#xff1a;模型有多个材质&#xff0c;在blender中合并的时候&#xff0c;…...

vue 本地自测iframe通讯

使用 postMessage API 来实现跨窗口&#xff08;跨域&#xff09;的消息传递。postMessage 允许你安全地发送消息到其他窗口&#xff0c;包括嵌套的 iframe&#xff0c;而不需要担心同源策略的问题。 发送消息&#xff08;父应用&#xff09; 1. 父应用&#xff1a;发送消息给…...

C++:单例模式

创建自己的对象&#xff0c;同时确保对象的唯一性。 单例类只能有一个实例☞静态成员static☞静态成员 必须类外初始化 单例类必须自己创建自己的唯一实例 单例类必须给所有其他对象提供这一实例 静态成员类内部可以访问 构造函数私有化☞构造函数私有外部不能创建&#x…...

SOME/IP 协议详解——信息格式

文章目录 1. 头部格式1.1 消息 ID&#xff08;Message ID&#xff09;1.2 长度&#xff08;Length&#xff09;1.3 请求 ID&#xff08;Request ID&#xff09;1.4 协议版本&#xff08;Protocol Version&#xff09;&#xff1a;1.5 接口版本&#xff08;Interface Version&am…...

C# GDI+数码管数字控件

调用方法 int zhi 15;private void button1_Click(object sender, EventArgs e){if (zhi > 19){zhi 0;}lcdDisplayControl1.DisplayText zhi.ToString();} 运行效果 控件代码 using System; using System.Collections.Generic; using System.Drawing.Drawing2D; using …...

在交叉编译中,常见的ELF(elf)到底是什么意思?

ELF 是 Executable and Linkable Format 的缩写&#xff0c;中文翻译为“可执行与可链接格式”。它是一种通用的文件格式&#xff0c;主要用于存储可执行文件、目标文件&#xff08;编译后的中间文件&#xff09;、动态库&#xff08;.so 文件&#xff09;以及内存转储文件&…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...