数字后端零基础入门系列 | Innovus零基础LAB学习Day8

###LAB15

Detail Routing for Signal Integrity, Timing, Power and Design for Yield

这个章节虽然标题有点长,但不要被它吓到,其实这个章节就是Innovus工具的绕线Routing。只不过这个阶段做Route不是仅仅是把所有的逻辑连接,用实际的金属层连线来实现实际物理连接,它还需要考虑时序,DRC,功耗和DFM(考虑良率)等因素。

数字后端零基础入门系列 | Innovus零基础LAB学习Day7

数字后端零基础入门系列 | Innovus零基础LAB学习Day6

数字后端零基础入门系列 | Innovus零基础LAB学习Day5

数字后端零基础入门系列 | Innovus零基础LAB学习Day4

这里所说的Signal Integrity是指信号完整性,在PR中是指信号的质量分析,主要是靠crosstalk串扰来衡量信号的完整性。

对于普通信号,如果存在crosstalk,但timing是满足的,我们是可以不用修复。

对于关键时钟信号,如果有crosstalk,我们需要尽量修复干净。

DFM全称是Design For Manufacture。工艺在制作过程中,需要满足一些特殊的要求,这些特殊的要求往往比基本要求要严格点,比如原来Metal的space要求只要0.05um,考虑DFM,foundary可能会把space要求提高到0.07um,又比foundry又希望信号变得更宽,通孔VIA变成双(多)孔。

###LAB15-1

这个章节的学习目标是学会给一些关键信号设置NDR(Non-Default Rule) 和shielding,从而确保时序和信号质量满足设计要求。

首先,我们打开postCTSopt这个database,命令如下:

restoreDesign .../saved/postCTSopt.inv.dat DTMF_CHIP

给net设置特殊space和Shielding

使用的命令是setAttribute,具体命令如下。这个官方lab是用VDD来做shielding net的,但实际项目中大都是使用VSS来做的,因为VSS相比VDD要安静。

setAttribute \

-net DTMF_INST/TDSP_CORE_INST/read_data \

-shield_net VDD

备注:命令中的每行的"\"是当一行写不下一条命令的时候可以通过这个特殊字符来换行继续写。

给net设置后,真正给对应net加shielding VDD会在后续绕线时加上的。

为了查看我们所设置的是否生效以及这条net还有其他什么属性,我们可以通过下面的命令来获取。

getAttribute -net DTMF_INST/TDSP_CORE_INST/read_data

【思考题】 这条net所加的shielding net是单边shielding 还是双边shielding?

对于设计中的关键信号,比如DTMF_INST/clk这个时钟信号,我们可以给这条net设置一个2倍space的约束。设置约束后,后续工具绕这条net时会遵守我们的约束条件来完成绕线。

setAttribute -net DTMF_INST/clk -preferred_extra_space 2

对net进行绕线

首先,我们优先把需要加shielding的net先完成绕线。

按照之前的lab介绍,我们有两种方式来选中这样的net------DTMF_INST/TDSP_CORE_INST/read_data。

第一种方法是直接使用selectNet DTMF_INST/TDSP_CORE_INST/read_data。

第二种方法就是lab中介绍的图形界面操作方法。具体操作步骤如下图所示。

弹出我们要的net之后,通过Design Browser界面的Select即可完成net的选中。

【思考题】图中显示这条net有3个pin,请问它们分别是什么pin?几个输入pin,几个输出pin?

选中net后,我们就可以来针对这条net来进行绕线。

GUI图形界面操作方式:Route--- NanoRoute----Route

选择后会弹出如下左边界面,按照下图所示的操作步骤来设置,然后点击OK即可开始绕线。

绕线完成后,我们来看看这条net的走线以及shielding net是怎么走线的。工具走线后的效果如下图所示,这条net优先绕线就是漂亮,而且shielding也是包围的很严实。

如果对于高亮显示的net看不太清楚,可以用之前lab介绍的ctrl+F12来把显示的屏幕变暗。连续这样操作三次又会回到默认的亮度。

针对这条net绕线完成后,我们还要利用工具来完成剩下其他signal的绕线。这里的操作方法和上面的操作是一样的,唯一不同的地方是不能再选择Selected net Only这个选项。

针对每次的绕线,我们都需要通过log来查看当前绕线后是否存在DRC。本次绕线后的结果如下图所示。


当然,我们也可以通过图形界面上的Violation Browser来查看,具体操作步骤如下图所示。结果显示也是没有任何DRC,这个和log中的信息是吻合的。

前面绕线前我们选择了Timing Driven和SI Driven,所以工具绕线的过程就会自动考虑Timing和SI。

那下面我们直接来看下timing到底能否meet? 报timing我们还是要请出我们熟悉的朋友------timeDesign。

为了考虑OCV效应,在报timing前我们还需要有如下的变量设置。

setAnalysisMode --analysisType onChipVariation

报告setup timing的命令如下:

timeDesign --postRoute

报告timing summary结果如下:

这里我们发现此时有比较大的setup violation,所以我们还需要做一轮optDesign来优化时序。使用的命令如下所示:

optDesign -postRoute -setup

经过一轮优化后的timing结果如下图所示,基本上进剩一条16ps的violation。这里觉得不够满意也可以再做一轮,也可以等后续再修。

报告hold timing的命令如下:

timeDesign --postRoute -hold

同样从timeDesign的report中可以看到设计也存在hold violation。我们也可以用同样的方法来优化hold time,这里就不再做演示了。

在innovus中如果想同时报setup和hold的timing,我们主要有两种方式来实现。

1)设置如下global timing变量

set_global timing_enable_simultaneous_setup_hold_mode true

2)设置analysisMode分别为setup和hold

setAnalysisMode -checkType hold

保存绕线后的设计

saveDesign DTMF_detailrouted.inv

###END OF LAB15-1

相关推荐
IC拓荒者1 天前
数字IC后端设计实现之Innovus place报错案例 (IMPSP-9099,9100三种解决方案)
数字后端·数字ic后端·ic后端培训·innovus零基础lab·innovus place·innovus零基础·scan chain
IC拓荒者2 天前
TSMC12nm工艺数字IC后端实现难点都有哪些?
数字ic后端·数字后端培训·calibre lvs·物理验证lvs·tsmc12nm·t12nm数字后端·double pattern
IC拓荒者5 天前
DDRPHY数字IC后端设计实现系列专题之数字后端floorplan&powerplan设计
数字后端培训·innovus零基础lab·ddrphy后端实现·数字后端项目案例
IC拓荒者5 天前
数字IC后端实现之Innovus specifyCellEdgeSpacing和ICC2 set_placement_spacing_rule的应用
数字ic后端·数字后端培训·calibre drc·drc·innovus零基础入门·innovus drc·物理验证drc
IC拓荒者10 天前
数字IC后端设计实现之Innovus自动修复Min Step DRC Violation方案
数字ic后端·数字后端培训·calibre drc·innovus零基础lab·数字后端innovus·数字后端零基础·min step drc
IC拓荒者10 天前
Innovus Flexible H-tree and Multi-tap Clock Flow Lab实操系列教程(Day1)
数字ic后端·数字后端培训·时钟树综合·innovus零基础入门·flexible htree·clock tree·multi-tap clock
IC拓荒者11 天前
物理验证Calibre LVS | SMIC Process过LVS时VNW和VPW要如何做处理?
lvs·数字ic后端·物理验证·ic后端培训·calibre lvs·vnw vpw·衬底接触
IC拓荒者16 天前
数字后端零基础入门系列 | Innovus零基础LAB学习Day9
数字ic后端·数字后端培训·innovus零基础lab·数字后端innovus·数字后端零基础·后端零基础入门·innovus走线
IC拓荒者16 天前
物理验证Calibre LVS Debug案例之通过deleteEmptyModule解决LVS问题
数字ic后端·数字后端培训·数字后端入门·calibre lvs·empty module·t12nm lvs案例·物理验证lvs
IC拓荒者19 天前
数字IC后端实现之Innovus Place跑完density爆涨案例分析
数字后端·数字后端培训·innovus place·数字后端项目案例·density变高案例·innovus项目·ic后端项目