小编发现今天广大学员发过来的问题都比较好,立即一顿输出分享给大家(每天都有好多种类的数字后端问题)。后续可能会经常通过这种方式来做分享。其实很多问题都是实际后端项目中经常遇到的典型问题。希望通过这种方式的分享能够帮助到更多需要帮助的人。
Q1: 在把咱们T28 1P10M metal stack换到1P7M后,发现在floorplan阶段添加endcap cell后,cell直接没有abut在一起,而且endcap cell根本就没摆放在对应的site row上?请问这是什么原因?
主要问题是这两个metal stack中tech lef关于site大小的定义不同。而标准单元却用的是同一套标准单元库。
DDRPHY数字IC后端设计实现系列专题之数字后端floorplan&powerplan设计
Q2: 在跑route opt过程中,Innovus工具一直在报如下所示的警告,而且route过程跑了24小时还是一直停留在这个警告位置。请问,为何会出现这个警告,应该如何debug和解决呢?
Innovus中经常会遇到如下警告。这个警告是在工具做refinePlace阶段发现某些cell无法找到合适位置摆放。工具默认搜索范围是128*Row高度,如果在这个范围内找不到一个合适的位置进行legalize,那么就会报出这个警告。
因此,第一反应就是检查自己的globalNetConnection脚本,并打开innovus数据查看log中所在位置的cell的pg pin逻辑连接是否正确。
经过查看发现的确这些位置的标准单元的VDD PG Pin是连接到Global VDD上的,而当前cortexa7core是做成一个power domain的,它的power rail是VDD_LOCAL。因为无论如何工具都无法找到VDD的power rail,所以自然就找不到合适的位置给这类cell。
经过修改后,我们再次通过Design Browser来查看pg pin的逻辑连接,确保无误后继续做route opt即可。
理论上只要globalNetConnection做的有问题,place阶段就会开始报错的。
我们经常还会在实际数字后端项目中看到如下所示的ERROR。
**ERROR: (IMPSP-2021): Could not legalize <17> instances in the design. Check warning message IMPSP-270, IMPSP-452, IMPSP-2024, IMPSP-2039, IMPSP-2040, IMPSP-2042 or IMPSP-2020 in log file for more details. Type ‘man IMPSP-2021’ for more detail.
Q3: 下图所示为一条timing path的时序报告图。很多初学者刚开始接触后端都看不太懂这个timing report。请问应该如何看懂这个时序报告并知道当前timing report上的问题呢?
首先,我们要具备把一条timing report对应的电路图画出来的能力。当前这条timing path的电路图如下图所示。需要注意的是QA这条high fanout net在timing report中只会显示经过其中一个load pin的情况。
其次,在咱们训练营直播课一直强调看timing report的几要素。
1)这是一条setup还是hold的timing报告 (这个从path type是max和library setup time得知)
2)电路工作时钟的周期是多少?timing path的slack又是多少?
3)这条timing path的起点和终点分别是什么?起点和终点对应cell的时钟端是否接到同源时钟?
4)这条timing path的clock skew是多少?本案例的clock skew是1ns。
5)timing path上fanout,transition,cap,incr delay值是否有相比其他点明显异常的点?
顶层Top Hierarchy Flow中的IO时序优化(高端IC后端训练营即将开营啦?)
Q4: 在做T12nm ananke_core powerplan后的pg连接性检查时,由于M9的VDD_CORE是孤立的,在verifyConnectivity时会报所有的VDD_CORE是open的。所以,我们学员就想着通过横向加M10的VDD_CORE来和M9形成power mesh。但是出现了无法成功添加M10的情况,具体如下图所示。
咱们T12nm在floorplan阶段就读入了upf文件,在这个文件中我们定义了每个power domain的primary power net。
出现这个问题,我们可以通过free_power_intent,先打上M10。然后后续在跑place前再读入upf文件即可。
read_power_intent -1801 …/input/ananke_core.upfcommit_power_intent -power_domain
数字IC后端低功耗设计实现案例分享(3个power domain,2个voltage domain)
Q5: 在做route的时候有大量这种warning,但是route完后我去检查connect也是没有问题的,这种是什么原因导致的?
Q6: 在帮助学员远程协助debug PT Timing ECO后timing问题时,高亮的一条从memory出发到reg/D pin的timing path如下图所示,当前这条timing path的slack为-0.07ns。
Innovus中快速获取timing path逻辑深度的golden脚本
Innovus中timing eco后setup margin跑哪里去了?(知识星球福利活动)
1)当前这条timing path是否合理?
2)当前不重新跑PR Flow,应该如何来修掉这条timing path的violation(提示:Clock Tree ECO方法)?
3)如果可以重新跑PR Flow,我们应该从哪些方面来提前优化这样的时序路径?