文化管 网站建设规划,成都园林设计公司,网站建设与维护大学生总结,广西建设工会网站###LAB15 Detail Routing for Signal Integrity, Timing, Power and Design for Yield
这个章节虽然标题有点长#xff0c;但不要被它吓到#xff0c;其实这个章节就是Innovus工具的绕线Routing。只不过这个阶段做Route不是仅仅是把所有的逻辑连接#xff0c;用实际的金属层…###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考虑DFMfoundary可能会把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介绍的ctrlF12来把显示的屏幕变暗。连续这样操作三次又会回到默认的亮度。
针对这条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