DRC设计规则设置介绍-Design Compiler(四)

2023-10-31


系列学习介绍DC相关知识,包括ASIC基本单元相关,DC指令工艺库脚本相关,后端综合实现相关等总结。本节包括Design 设计规则相关约束,内容有一些个人理解和各地方论坛总结学习,有不同认识欢迎探讨,fighting。

DRC: Design Rule Constraint/Check

4.1 设计规则相关命令设置
4.1.1 set_load(输出驱动强度)

set_load :set_load 是指output端口的负载,设置的值会影响输出到端口的net上的电容,从而影响相应的路径延时。主要是针对output port来的,如果是固定pad ,就是模拟个pcb上的电容,供STA使用。

set_output_delay是设定外面电路的delay,从而约束内部reg-to-out的path的delay的,set_load是约束最后一级输出能力的, 也就是约束最后一级要支撑这个load , 增加驱动能力,

set_load [expr {30.0/1000}] [get_ports B]
4.1.2 set_input_transition(输入驱动强度)

img

一个Cell的延迟与两个内容有关,一个是Input Transition,另一个是Output Load。对于整个设计的输入端口(Input Port)而言,要想让逻辑综合工具(如DC)、布局布线工具(如ICC)、STA工具(如PT)精确计算输入端口后边驱动的单元的延迟,必须让工具知道输入端口的Transition时间。Transition时间越短(即越快Fast),Cell的延迟越小(从A端口到FF2的D端口延迟越小);反之,Transition越慢,从A端口到FF2的D端口的电路的延迟越大。因此需要为设计的输入端口定义驱动能力。

定义输入端口驱动能力的三种方法

  1. set_driving_cell命令用法

通过set_driving_cell命令来设置某个输入端口前面是什么驱动单元驱动它的,EDA工具会从指定的库中查找得出更加真实的Transition时间来代替零Transition。

set_driving_cell -lib_cell DFF1 -pin Q -no_design_rule [get_ports A]

应用于block level

  1. set_drive命令用法

set_drive命令通过为输入端口指定电阻值的方法来为其定义外部驱动强度。在逻辑综合工具进行优化期间,工具根据设置的驱动强度来计算由该输入端口驱动的逻辑电路的延迟。对于芯片级的设计(即顶层设计)而言,它的输入端口的驱动能力很难用工艺库中的某个具体单元去量化,因此一般在顶层通过set_drive命令定义输人电阻的大小,由于在顶层,要驱动的是负载较大的IO单元,故需要的驱动能力较强,典型的值是0.05,单位取工艺库中电阻的单位,一般为kΩ;

set_drive 2.0 {A B C}
set_drive 12.3 [all_inputs]
set_drive 0 {clk, reset}

多应用于chip level

  1. set_input_transition命令用法

用set_input_transition命令为输入端口指定一个固定的transition时间,工具会用该transition时间来计算它驱动的逻辑电路的延迟。对于顶层设计(Chip level的设计)而言,除了用set_drive命令之外,也可以使用set_input_transition命令来为其设置固定的transition时间,因为芯片外边一般存在驱动能力比较强的器件和大电容。在这种情况下,transition时间相对独立于当前设计中的电容。

set_input_transition 0.12 [get_ports A]

多应用于chip level

如果多种指定方式发生冲突,那么在工具中,最近使用的命令会覆盖先前的命令。

参考文档

【1】数字IC设计之综合工具Synopsys DC(3)

【2】[讨论]设置了output delay,再设置set_load还有很大意义吗?

【3】virtual clock作用是约束input delay和output delay,那么跟set_drive和set_load有何区别?

【4】[求助]set_load set_max_transtion 等设置

【5】!干货! 为设计指定输入驱动强度 set_driving_cell set_drive set_input_transition

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DRC设计规则设置介绍-Design Compiler(四) 的相关文章

  • 深度学习常用Linux命令

    Linux命令查询手册 https www linuxcool com 目录 一 常用快捷键 二 关于docker的使用 1 进入docker 2 设置使用某块dcu代码 3 docker与主机之间的文件传输 三 关于文件和文件夹 1 文件
  • ADS错误之the session file 'C:\user\username\default-1-2-0-0.ses' could not be loaded

    刚在编arm程序的时候遇到了这个错误 去网上搜了下资料 查到关于这个错误信息的解决方法 如下 如果出现错误信息 the session file C user username default 1 2 0 0 ses could not b
  • 105-----JS基础-----添加删除记录-修改

    一 代码 本节的代码是对104节的内容进行优化 因为按照上一节的内容这样写的话 会创建过多的资源 造成资源浪费 导致用户体验不好 当界面复杂起来 可能会变得很卡 造成用户体验不好 所以需要进行优化 下面的例子 避免了人为的创建多个节点元素
  • 总结一下刷过的题

    今年刷题还是挺爽的 1 Two Sum 用map建立number gt index映射即可 2 Add Two Numbers 利用链表的基本操作来模拟高精度相加过程 链表头为最低位 3 Longest Substring Without
  • Python人脸识别项目-人脸检测

    人脸检测 接下来我们先拿一个简单的人脸检测项目练练手 我们的目标是实现通过摄像头实时检测人脸 这里我们要用到一个分类器这个分类器可以从github上下载也可以从我们的Python第三包里直接用 在cv2包的data文件夹里面 coding
  • C#基础(条件运算符)

    作用 格式 用于比较两个变量或常量 条件运算符 一定存在左右两边的内容 左边内容 条件运算符 右边内容 分类 是否大于 gt 是否小于 lt 是否等于 是否不等于 是否大于等于 gt 是否小于等于 lt 比较的结果 返回的是 一个 bool
  • Deep Learning for Massive MIMO CSI Feedback

    这篇文章是自己之前学习论文的一点心得 是源于AI 无线通信这个比赛 论文百度搜这个 去IEEE官网就可以下载了 C Wen W Shih and S Jin Deep Learning for Massive MIMO CSI Feedba
  • 计算2支股票的M天运动平均价格时间

    计算2支股票的M天运动平均价格时间 题目描述 给定2支股票的开盘价和收盘价的N天历史数据 要求按开盘和收盘 分别计算每支股票的每个日期对应的M天移动平均价格 假定两个股票数据如下 日期 开盘 收盘 第1支股票价格S1 第2支股票价格S2 2
  • 移动端按设计图比例布局

    利用选择器设置全局字体大小 root font size 50px 根据设计图大小转换字体大小 相对于视图750为例 1rem 100px root font size calc 100vw 7 5
  • 北京大学肖臻老师《区块链技术与应用》公开课笔记16——ETH账户篇

    北京大学肖臻老师 区块链技术与应用 公开课笔记 以太坊账户篇 对应肖老师视频 click here 全系列笔记请见 click here About Me 点击进入我的Personal Page BTC系统是基于交易的账本 系统中并未显示记
  • 【密码算法 之八】Hash类算法(单向散列函数) MD5 \ SHA1 \ SHA224 \ SHA256 \ SHA384 \ SHA512等浅析

    1 综述 Hash算法 又称单向散列函数 one way hash function 单向散列函数有一个输入和一个输出 其中输入称为消息 message 输出称为散列值 hash value 单向散列函数可以根据消息的内容计算出散列值 而散
  • 1025 反转链表python3无超时

    终于在卡了好几天之后想到了解决办法 这道题给出的代码并不能保证完全成功 不超时的概率大概在50 文章目录 一 最初的代码 二 代码改进 一 最初的代码 这个问题一般解决思路如下 获得正序链表 根据条件反转链表 输出链表 代码如下 usr b
  • 【python】正则表达式匹配数据

    前言 使用正则表达式处理数据 可进行字符串匹配 提取和替换等操作 在python中 通过re库完成正则匹配的操作 一 正则语法规则 1 常用匹配符 模式 描述 匹配字符串开头 匹配字符串结尾 匹配任意字符 匹配前面的字符零次或多次 匹配前面
  • Java中的浮点数据(float、double)进行算术运算时出错的问题剖析

    本文主题 对浮点数进行算术运算时 为何运算结果不正确 BigDecimal类型 常用方法的讲解 简单的浮点数算术运算工具类的设计 在Java前面讲解float double两种基本浮点类型时已经指出 这两个基本类型的浮点数容易引起精度丢失

随机推荐

  • python实现beta分布概率密度函数

    beta分布的最大特点是其多样性 从下图可以看出 beta分布具有各种形态 有U形 类似正态分布的形状 类似uniform分布的形状等 正式这一特质使beta分布在共轭先验的计算中起到重要作用 import matplotlib pyplo
  • MySQL——索引及调优篇

    一 索引的数据结构 1 1 为什么要使用索引 索引是存储引擎用于快速查找数据记录的一种数据结构 就好比一本教科书的目录部分 通过目录中找到对应文章的页码 便可快速定位到需要的文章 MySQL中也是一样的道理 进行数据查找时 首先查看查询条件
  • 关于常用的http请求头以及响应头详解

    一 常用的http请求头 1 Accept Accept text html 浏览器可以接受服务器回发的类型为 text html Accept 代表浏览器可以处理所有类型 一般浏览器发给服务器都是发这个 2 Accept Encoding
  • Mann-Kendall突变检测(mk突变检测)

    Mann Kendall突变检测 数据序列y 结果序列UFk UBk2 读取excel中的数据 赋给矩阵y 获取y的样本数 A为时间和径流数据列 A xlswrite 数据 xls x A 1 时间序列 y A 2 径流数据列 N leng
  • MKP勒索病毒数据恢复

    引言 在数字化时代 恶意软件如影随形 MKP勒索病毒以其毒辣的加密手段和威胁的勒索信息令人防不胜防 电脑中了MKP勒索病毒 不仅数据被锁定 生活和工作也受到了重创 然而 不要惊慌失措 我们可以通过果断的处理和坚定的预防 守护我们的数字世界
  • Win7平台Python3使用impyla连接Hive遇到的坑

    环境硬件配置及Hadoop Hive版本 此博客置顶文章中有 安装步骤 pip install pure sasl Looking in indexes https pypi tuna tsinghua edu cn simple Coll
  • jar包里class文件如何替换?

    1 将jar包先解压成文件 2 替换对应目录文件 3 windows环境进入要打jar包的文件目录底下 按住shift右键打开命令窗口 默认进入到了对应目录底下 4 使用命令打包文件底下的所有文件 jar cf0M jar包名 jar 5
  • 使用commons-httpclient上传文件

    这个jar是jakarta官方的标准版本 现在的3 0的BETA已经出来了 但是稳定还是最重要的 这个东西到底有什么好处呢 他使利用java作为一个HTTP的客户端成为可能 基本能模拟一切HTTP客户端的访问模式 而其使用起来之简单 让以前
  • pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

    前言 笔者使用的是 pycharm 1 打开你所在的任意工程 2 进入 File gt setting 3 pip 这一栏进行双击 4 点击左下方的 install package 开始下载安装包 5 借助 everything 工具 找到
  • FreeRTOS学习简易笔记

    第1章 FreeRTOS引入及堆栈 1 1 FreeRTOS学习三阶段 1 理解RTOS总原理 会移植官方Demo 会使用 2 知道内部机制 源码还没看 3 知道内部实现 能看懂源码 并能轻松移植任何单片机 1 2 RTOS操作系统 与 裸
  • 最详细小白入门Python4-变量

    变量特性 容器 临时 可变 变量定义的格式 变量名 值 标识符的命名规则 只能是数字字母下划线组成 首字母不能是数字 严格区分大小写 不能是关键字 在Python中定义变量必须赋值 否则报错 牛奶和可乐交换的案例 交换方式 获取一个空杯子
  • 大数据运维学习之路

    业内有这么一句话说 云计算可能改变了整个传统IT产业的基础架构 而大数据处理 尤其像Hadoop组件这样的技术出现 将是改变IT业务模式的一种技术 另外 很多小伙伴可能还搞不明白云和Hadoop有什么关系 事实上这是两种截然不同的技术 今天
  • [datawhale202302]CS224W图机器学习:图的基本表示及特征工程

    结论速递 本章涉及了图基本表示及传统的特征工程 图由节点和连接组成 节点和连接上都可以有不同的属性 根据属性的特点 分为几类不同的图 其中异质图和二分图是比较重要的特殊图 图可以用邻接矩阵进行结构化表示 如果图过于稀疏 也可以使用连接列表和
  • c语言单例模式,c#单例模式(Singleton)的6种实现

    1 1 1 摘要 在我们日常的工作中经常需要在应用程序中保持一个唯一的实例 如 IO处理 数据库操作等 由于这些对象都要占用重要的系统资源 所以我们必须限制这些实例的创建或始终使用一个公用的实例 这就是我们今天要介绍的 单例模式 Singl
  • SecureCRT的设置

    转载 简要介绍 VanDyke CRT 和 VanDyke SecureCRT是最常用的终端仿真程序 简单的说就是windows下登录UNIX或Liunx服务器主机的软件 二者不同的是SecureCRT支持SSH SSH1和SSH2 本文主
  • python基础 四、面向对象

    第六章 面向对象 继承 多继承 class FooParent object def init self self parent I m the parent print Parent def bar self message print
  • dicom信息+dcmtk使用

    dcmtk使用 常见错误 错误 E can t load data dictionary W Monochrome encoder No data dictionary 解决 https forum dcmtk org viewtopic
  • Internet路由之路由表查找算法概述-哈希/LC-Trie树/256-way-mtrie树

    说明 本文没有源码分析的内容 然而我认为能理解本质比能看懂源码更有用 因为理解了本质之后 你也许就不用再看源码了 你甚至都可以写源码了 这就是Linux内核和Cisco的网站中包含大量文档的原因 引 路由是互联网的一个核心概念 广义的讲 它
  • js深克隆五种方法

    使用递归 使用递归的方式实现数组 对象的深拷贝 判断拷贝的要进行深拷贝的是数组还是对象 是数组的话进行数组拷贝 对象的话进行对象拷贝 进行深拷贝的不能为空 并且是对象 function cloneDeep obj var objClone
  • DRC设计规则设置介绍-Design Compiler(四)

    文章目录 4 1 设计规则相关命令设置 4 1 1 set load 输出驱动强度 4 1 2 set input transition 输入驱动强度 参考文档 系列学习介绍DC相关知识 包括ASIC基本单元相关 DC指令工艺库脚本相关 后