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

数字后端零基础入门系列 | 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分析及其修复方法

对于普通信号,如果存在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

Innovus getAttribute使用方法

【思考题】 这条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即可开始绕线。

innovus nanoroute GUI图形界面操作方法

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

innovus clock shielding添加方法

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

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

在这里插入图片描述

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

Innovus routing drc violation
DRC Violation项目案例及其修复方法

当然,我们也可以通过图形界面上的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结果如下:

Innovus timeDesign Summary报告

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

optDesign -postRoute -setup

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

innovus optDesign后timing report

报告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


http://www.mrgr.cn/news/63571.html

相关文章:

  • 在网络营销中你犯过的最大的错误是什么?
  • Docker篇(Docker安装)
  • 【青牛科技】GC4928替代BD63006/罗姆在吸尘器行走轮、卷发器、水泵和小风扇中的应用
  • 使用mock进行接口测试教程
  • 进程、孤儿进程、僵尸进程、fork、wait简介
  • 2024 Rust现代实用教程:1.3获取rust的库国内源以及windows下的操作
  • 使用Linux连接阿里云
  • 动态规划-回文串问题——5.最长回文子串
  • 【UML】- 用例图(结合银行案例解释其中的奥义)
  • 残差块(Residual Block)
  • [每日一练]分组后元素最多的组别(all函数的全局比对)
  • 品牌怎么找到用户发的优质内容,进行加热、复制?
  • YOLO——yolo v4(1)
  • 修改Windows远程桌面3389端口
  • 1008:计算(a+b)/c的值
  • 【视频】OpenCV:识别颜色、绘制轮廓
  • 文本文件、二进制文件常见格式
  • 【分立元件】贴片电阻过电压故障机理
  • 【BUG分析】clickhouse表final成功,但存在数据未合并
  • Java: 遍历 Map
  • 优化宝典:数据库性能提升指南
  • 脉冲当量计算方法
  • HJ53 杨辉三角的变形
  • Java 21 新特性来支持并发编程
  • 2024 年 11 月 1 日 deepin 23 内测更新公告
  • 大厂面试真题-很多系统会使用netty进行长连接,连接太多会有问题吗