- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 IC后端各个阶段修setup violation的方法
1、如果违例严重,就要考虑是否是因为floorplan不合理(本身block的形状、port的位置、memory以及IP的位置不合理),解决方法就是优化floorplan。2、如果setup violation 比较小那么可以通过细分group_path并且提高相对的weight值,或者通过useful skew 等方法来解决。2、细分group_path,将某些重要的逻辑单独拿出来,设为一个group_path,并且给予一个相对较高的weight值。修timing之前要找到问题,这样就可以高效的解决。
2023-06-07 17:36:25
1431
原创 cell的几种状态
legalize_only:该instance已经被摆放,但只能被legalize移动。fixed:该instance已经被摆放,可以被resize,但是不能被其他命令移动。locked:该instance已经被摆放,任何命令,包括手工,都不可以动它。placed:该instance已经被摆放,但可以被其他命令移动。size_only:位置可以一定,但是cell的大小不可以动。unplaced:该instance还未被摆放。
2023-05-20 12:14:24
386
1
原创 OCV 、AOCV、POCV还在傻傻分不清吗
同一块芯片上的晶体管会有变快或者变慢的现象,因此产生了OCV的概念。OCV在path上设置统一的derate,悲观度较高。derate数值是指对launch、capture、data line的cell或者net上添加一个比理想情况更为悲观的倍数,比如针对setup,launch的derate统一设置为1.1,表示delay时间增加值原来的1.1倍,capture的derate统一设置为0.9,表示delay时间变为原来的0.9倍。从而使设计能够覆盖实际生产过程中产生的variation。
2023-05-15 18:00:09
2002
原创 icc2由place结果反推floorplan 2
in2 reg , reg2icg ,reg2reg, reg2out ,如下图所示:clock信号从port进入到block里,之后从input port到cell,即(in2reg),内部又会有从reg到reg的(reg2reg)以及从reg到memory的,最后再从reg到output port的,(reg2out) ,但是不难看出,我们发现我们并没有reg2mem的path,这是为什么呢?如果必须优化指向某个端点的多条关键路径,请对指向该端点的每个不同关键路径使用单独的path group命令。
2023-05-11 22:46:21
683
原创 clock 的准备
如果一个模块 placement 做完之后 congestion map 特别差,存在特别大的 overflow,那么基于这样的 database 继续做时钟树综合意义不是很大。一方面是 QoR 会比较差,另外一方面是 cts 后 congestion 会更差,模块本身一定是绕不通的。如果对一个存在 illegal 的模块进行时钟树综合,其 QoR 会比较差,而且会加倍整个 runtime。在时钟树综合阶段,一般我们讲时钟定义是指为了长时钟树而定义的 clock。Timing 可接受。
2023-05-11 16:30:00
111
原创 初始CTS 1
看到这里你可能会想,clk2 - clk1 肯定越大越好啊,这样setup不就满足了嘛,但是实际上并不是这样,我们不能只局限到一组的reg2reg的timing,我们需要做到的是全局的balance,所以说,我们希望每一级的clock skew都尽量的小,这也就意味着我们block的时钟才会均衡。这样才会即有一个好的timing、又不影响时钟的频率的结果。如下图CTS的目标就是将design的所有的flip-flop的clock pin一级一级的连接起来,形成一个类似树形的结构,即clock tree。
2023-05-10 22:38:41
178
原创 ICC2通过place结果调整floorplan的学习总结方法1
显然不是的,所以大概率是这一组cell和上面或者其他的memory也有关系,所以被牵扯到了中间的这个不上不下的位置,所以说,我们如果能把和这组cell相关的memory都抓出阿出来摆放到一起,那么他们的物理位置自然就会紧挨着分布了,这样我们的timing也自然会变好了。在我们进行floorplan的摆放的时候一般都会根据数据之间的相互的联系进行摆放,但是在floorplan的阶段我们能分析出来的联系关系则是比较有限,所以我们大部分的时间则是用在了调节floorplan上,今天则会分享几个调节fp的小技巧。
2023-05-08 23:27:09
1792
原创 数字后端学习之SDC
可以理解为人推车,一个人最多推3个车,超过3个就推不动了,所以3就是这个max_fanout,,影响就是会造成delay过大,影响timing。4、描述设计中一些特殊的路径,包括set_false_path, set_multicycle _path, 5、描述设计中一些需要禁止的timing arc,例如 set_disable_timing;3、描述芯片的一些设计上的约束包括 set_max_fanout, set_max_capacitance, set_max_transition;
2023-05-07 16:23:52
1543
原创 IC后端PR中Congestion 问题怎么解决
Blockage意为阻塞物,可以分为两类:placement blockage和routing blockage。Placement blockage的区域禁止摆放cell,routing blockage的区域禁止绕线。这样就会将密集的cell打散,就解决了congestion。Congestion意为阻塞,在block中如果cell 太密集就会导致线绕不开,也有可能是其他原因导致绕线问题。总之有绕线问题的情况就是congestion。这就用到了blockage,那么什么是blockage呢?
2023-04-21 21:53:12
812
1
原创 Linux操作系统常用的命令
ls - l 显示文件的详细信息(文件类型:第一个字符的寓意【-:常规文件、d:目录文件、l:链接文件】、文件权限由三个字符串组成:文件所有者的权限、组中其他人的权限、系统中其他人的权限;例:-rw-r--r-- 、 -rwxrwxr-x)ln[目标][目录] 一般用ln – sf(被链接的东西)(链接的新名字)使用八进制数设置权限、三个八进制数分别代表文件的权限、读r(4)、写w(2)、执行x(1)find[目录列表] -name [匹配标准(文件)]
2023-04-17 11:03:50
822
1
原创 python100题 第二题
这样就想到用到for循环和if语句,以及range函数。这里就忘记了range的用法,翻了一下之前的笔记。题目:有1,2,3,4四个数字能组成多少个互不相同且无重复数字的三位数将其列出?首先想到要个十百都要遍历1到4几位数字,然后如果三位数字不同就打印出来。
2023-04-10 20:08:44
71
原创 字符串长度统计
字符串长度统计有两个len和count ,len比较简单,这里给出一个excel中count的实例,因为在学习阶段,很多都是跟着bilibili学习的,只是简单记录一下学习过程。在学习这个实例的时候,两个循环的逻辑感觉有点点复杂,其实明白之后其实很简单。将下表中优良中差分别累加统计出来。
2023-03-27 17:38:33
173
原创 python 语句3 if else
学习python已经第三天啦,if else语句比较简单。昨天晚上看到一道简单的题目,自己尝试的写了一下,虽然结果可以运行,但应该还有更简便的方法。我的思维能力没有那么强,希望大佬们能给出意见,通过练习提高一下思维能力。嘻嘻,简单记录一下,还没有能力给大家提供啥有用的信息
2023-03-20 11:23:25
130
原创 用ST-LINK烧录程序时,发现flash downlode下找不到STM的相关型号
用ST-LINK烧录程序时,发现flash downlode下找不到STM的相关型号
2022-05-08 22:08:05
483
用ST-LINK烧录程序时,发现flash downlode下找不到STM的相关型号 相关flash库
2022-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人