数字后端零基础入门系列 | 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.mzph.cn/pingmian/59168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

量化交易 股市技术指标

股市数据分类 股票数据根据信息来源和分析方法的不同,可以分为技术面数据和基本面数据。 技术面数据和基本面数据都是股票分析中重要的工具,它们提供了不同的视角和方法来评估股票的投资价值。投资者可以综合运用这两类数据,从技术面和基本…

【从零开始的LeetCode-算法】3222. 求出硬币游戏的赢家

给你两个 正 整数 x 和 y ,分别表示价值为 75 和 10 的硬币的数目。 Alice 和 Bob 正在玩一个游戏。每一轮中,Alice 先进行操作,Bob 后操作。每次操作中,玩家需要拿出价值 总和 为 115 的硬币。如果一名玩家无法执行此操作&#…

MR30分布式IO模块与高效PLC协同

在现代工业自动化领域中,数据采集与控制系统扮演着至关重要的角色。其中,可编程逻辑控制器(PLC)和分布式IO模块(Distributed I/O Modules)是这一领域的两大核心组件。本文将详细介绍MR30分布式IO模块与PLC如…

贝尔不等式的验证

在量子计算机上运行一个实验,以演示使用Estimator原型违反CHSH不等式。 import numpy as npfrom qiskit import QuantumCircuit from qiskit.circuit import Parameter from qiskit.quantum_info import SparsePauliOpfrom qiskit_ibm_runtime import QiskitRuntim…

CSRF与SSRF

csrf(跨站请求伪造)的原理: csrf全称是跨站请求伪造(cross-site request forgery),也被称为one-click attack 或者 session riding scrf攻击利用网站对于用户网页浏览器的信任,劫持用户当前已登录的web应用程序,去执行分用户本意的操作。 利…

Pr 视频效果:ASC CDL

视频效果/颜色校正/ASC CDL Color Correction/ASC CDL ASC CDL ASC CDL效果通过对红、绿、蓝三个原色通道的独立调整,实现对图像色彩的精确控制。在此基础上,还可用于调整处理后图像的整体饱和度。 ◆ ◆ ◆ 效果选项说明 斜率 Slope、偏移 Offset和功…

Edge 浏览器插件开发:图片切割插件

Edge 浏览器插件开发:图片切割插件 在图片处理领域,按比例切割图片是一个常见需求。本文将带你开发一个 Edge 浏览器插件,用于将用户上传的图片分割成 4 个部分并自动下载到本地。同时,本文介绍如何使用 cursor 辅助工具来更高效…

docker desktop使用ubuntu18.04带图形化+运行qemu

记录一下docker desktop使用ubuntu18.04带图形化命令和使用步骤 1. 下载镜像 参考:【Docker教程】Docker部署Ubuntu18.04(带图形化界面) 命令: docker pull kasmweb/ubuntu-bionic-desktop:1.10.02. 启动镜像 命令: docker run -d -it …

Transformer和BERT的区别

Transformer和BERT的区别比较表: 两者的位置编码: 为什么要对位置进行编码? Attention提取特征的时候,可以获取全局每个词对之间的关系,但是并没有显式保留时序信息,或者说位置信息。就算打乱序列中token…

基于STM32的工厂短距离安防巡逻机器人设计:ZIgBee、OpenCV、人工智能(AI)算法(代码示例)

一、项目概述 随着工业化的迅速发展,工厂的安全管理显得尤为重要。为了提高工厂的安全性,我们设计了一款基于STM32的安防巡逻机器人。该机器人能够在工厂内部自主巡逻,实时监控环境,并通过多种传感器和智能算法进行异常检测和处理…

Istio基本概念及部署

一、Istio架构及组件 Istio服务网格在逻辑上分为数据平面和控制平面。 控制平面:使用全新的部署模式:Istiod,这个组件负责处理Sidecar注入,证书颁发,配置管理等功能,替代原有组件,降低复杂度&…

java常用框架介绍

1. Spring Boot 特点:Spring Boot是Spring家族中的一个新成员,它基于Spring 4.0设计,提供了默认配置、简化依赖管理以及内嵌式容器等特性,使得开发者能够快速创建独立的、生产级别的Spring应用。 用途:Spring Boot特别…

Docker:介绍与安装

Docker官网与仓库地址 docker官网:http://www.docker.comopenDocker Hub官网: https://hub.docker.com/open Docker三要素 镜像 (Image) 镜像是Docker的核心概念之一,它是不可变的、只读的,并包含了一套文件系统,里面包含了运…

Odoo:免费开源的医药流通行业信息化解决方案

文 / 开源智造Odoo亚太金牌服务 方案概述 开源智造Odoo免费开源ERP提供面向医药批发采、供、销业财一体化,及直接面向消费者的门店终端、全渠道管理、营销管理以及GSP合规管理解决方案,提升企业运营效率和全业务链条的数字化管控、追溯能力。 行业的最新…

HashMap 源码分析

HashMap 源码分析 1. 前置知识 1.1 什么是 Map 在实际需求中,我们常常会遇到这样的问题:在诸多数据中,通过其编号来寻找某些信息,从而进行查看或修改,例如通过学号查询学生信息。今天我们所介绍的 Map 集合就可以很…

Linux 常用安装软件

1、安装JDK 1.1、查看系统自带JDK yum search java|grep jdk 1.2、安装JDK yum install java-1.8.0-openjdk 输入Y 1.3、编辑环境变量配置 vim /etc/profile 添加一下配置 export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk export PATH$JAVA_HOME/bin:$PATH export CLAS…

三傻排序和对数器

三傻排序、对数器 前置知识:无,三傻排序会的可以直接跳过,对数器一定要理解 三傻排序是所有排序中时间复杂度最差的(时间复杂度请看后面的内容),在实际的工作中,插入排序在数据量小的时候还会…

库存管理内训课件|39页PPT

文件是一份关于库存管理的内训课件,内容涵盖了库存管理的定义、分类、作用、存在的问题、管控目标以及具体管控措施。以下是对课件内容的总结: 1. 定义及分类 库存:为满足未来需求而暂时闲置的有价值的资源,与物品是否处于运动状…

【WebRTC】WebRTC的简单使用

目录 1.下载2.官网上的使用3.本地的使用 参考: 【webRTC】一、windows编译webrtc Windows下WebRTC编译 1.下载 下载时需要注意更新python的版本和网络连接,可以先试试ping google。比较关键的步骤是 cd webrtc-checkout set https_proxy127.0.0.1:123…

【设计模式系列】组合模式(十二)

目录 一、什么是组合模式 二、组合模式的角色 三、组合模式的典型应用 四、组合模式在Mybatis SqlNode中的应用 4.1 XML映射文件案例 4.2 Java代码使用案例 一、什么是组合模式 组合模式(Composite Pattern)是一种结构型设计模式,其核…