【数字IC基础】时序违例的修复
时序违例的修复
- 建立时间违例
- 保持时间违例
- Buffer 插入位置
- 参考资料
建立时间违例
基本思路是减少数据线的延时、减少 Launch clock line 的延时、增加capture clock line的delay
-
加强约束,重新进行综合,对违规的路径进行进一步的优化,但是一般效果可能不是很明显降低时钟的频率,但是这个一般是在项目最初的时候决定的,这个时候很难再改变
-
拆分组合逻辑,插入寄存器,增加流水线,这个是常用的方法
-
优化布局布线,减小传输的延时
后端的一些具体方法有:
1)换速度更快的cell
对绝大多数工艺,任何一种标准单元(standardcell)都有不同种速度的Library,也就是常说的不同Vt的cell,比如HVT, RVT, LVT或者SLVT。其中HVT cell速度最慢,SLVT速度最快。而减少data line delay最常用的方法就是更换不同Vt的cell,比如HVT的cell换成RVT, LVT或者SLVT
2)更换驱动能力更强的cell
在某些timing path中,可能会出现因为cell的驱动能力比较弱而产生比较大的delay。这时就可以将这种cell更换成驱动能力更强的cell。比如X2倍的cell更换成X4或者X6的cell。
3)将net的layer更换成阻值更低的金属层以减小cell的load和net delay
4)useful skew 的方法。实际操作很简单,就是在capture register的CK pin插入buffer或者inverter以增加capture clock delay。
保持时间违例
保持时间裕量与建立时间裕量是一对互斥的关系,上述可以用于优化建立时间裕量的方法,都不能用于优化保持时间裕量,大家要注意。
保持时间违例可以通过如下方式解决:
-
在组合逻辑中插入延时buffer,或者链路拉长,使得数据传输延时变大。
-
可以在后端调整时钟SKEW,使得违例寄存器的时钟SKEW变得更小(相对于正SKEW)
Buffer 插入位置
修复 hold violations 时,插入 buffer 或者 delay cell 的位置,是靠近launch端还是capture端,还是并无任何要求呢?
在逻辑和物理上都应该尽量靠近capture端,也就是endpoint。在逻辑上更靠近endpoint能够保证插入的cells只会影响到有violation的path,物理上更靠近endpoint能够有效避免 DRV,因为修hold时加入的cell普遍驱动能力较弱。
参考资料
- STA
相关文章:
【数字IC基础】时序违例的修复
时序违例的修复 建立时间违例保持时间违例Buffer 插入位置参考资料 建立时间违例 基本思路是减少数据线的延时、减少 Launch clock line 的延时、增加capture clock line的delay 加强约束,重新进行综合,对违规的路径进行进一步的优化,但是一…...
深度学习实战46-基于CNN的遥感卫星地图智能分类,模型训练与预测
大家好,我是微学AI,今天给大家介绍一下深度学习实战46-基于CNN的遥感卫星地图智能分类,模型训练与预测。随着遥感技术和卫星图像获取能力的快速发展,卫星图像分类任务成为了计算机视觉研究中一个重要的挑战。为了促进这一领域的研究进展,EuroSAT数据集应运而生。本文将详细…...
Node.js-fs模块文件创建、删除、重命名、文件内容的写入、读取以及文件夹的相关操作
一、写入文件操作 异步写入:writeFile() 同步写入:writeFileSync() const fs require("fs"); fs.writeFile("目标文件路径", "要写入的内容", err > {if(err){console.log(err);return;}console.log("写入成功&a…...
LIN协议总结
目录 一、LIN是什么1、LIN的概念2、扩展介绍一下同步通信和异步通信的区别3、LIN连接结构及节点构成 二、LIN的特点三、LIN协议层1、帧的结构2、帧的类型3、进度表4、状态机实现5、网络管理6、状态管理 四、帧收发的硬件实现1、组成2、硬件特点3、协议控制器4、总线收发器5、LI…...
Redis BigKey案例
面试题: 阿里广告平台,海量数据里查询某一固定前缀的key小红书,你如何生产上限制keys*/flushdb/flushall等危险命令以防止误删误用?美团,MEMORY USAGE命令你用过吗?BigKey问题,多大算big&#…...
ThinkPHP v6.0.8 CacheStore 反序列化漏洞
漏洞说明 1. 漏洞原理:ThinkPHP 6.0.8 CacheStore 会触发POP利用链子,造成任意命令执行 2. 组件描述: ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架 3. 影响版本:V6.0.8 漏洞复现 1. 环境安…...
Spring 事务详解(注解方式)
目 录 序言 1、编程式事务 2、配置声明式事务 2.1 基于TransactionProxyFactoryBean的方式(不常用,因为要为每一个类配置TransactionProxyFactoryBean) 2.2 基于AspectJ的XML方式(常用,可配置在某些类下的所有子…...
华为云waf 使用场景
防护Web应用免受攻击就用华为云Web应用防火墙 Web应用防火墙(Web Application Firewall, WAF),通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第…...
?.的写法 后缀修饰符
概览:处理后端返回的数据data,写法:data?.name。解决vue框架编译出现的报错Cannot read property name of undefined。出现问题的原因:这是因为我们试图访问对象中不在的 key 为 name 的属性,那么怎么解决呢ÿ…...
org.apache.hadoop.hive.ql.exec.DDLTask. show Locks LockManager not specified解决
Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. show Locks LockManager not specified解决 当在Hive中执行show locks语句时,出现"LockManager not specified"错误通常是由于…...
Adaptive autosar 都有哪些模块?各有什么功能?
Adaptive autosar是一种用于高性能计算ECU的软件平台,它支持自适应应用程序的开发和运行。它由两部分组成:基础(Foundation)和服务(Service)。基础包括了操作系统接口、执行管理、网络管理、识别访问管理、加密、更新和配置管理等功能。服务包括了通信管理、RESTful、时间…...
C++ 动态内存分配
在C中动态内存的分配技术可以保证程序在允许过程中按照实际需要申请适量的内存,使用结束后还可以释放,这种在程序运行过程中申请和释放的存储单元也称为堆。 申请和释放过程一般称为建立和删除。 在C程序中,建立和删除堆对象使用两个运算符&…...
设计模式——面向对象的7大设计原则
1.单一职责原则 一个类中最好只放一种类型的方法,比如Dao中只有和数据库交互相关的代码。实现高内聚,低耦合。 2.开闭原则 对外拓展开放,对内修改关闭,有新的需求时不要修改已有代码,而是添加新的代码,比…...
智慧防汛,数字科技的力量
随着夏日的脚步临近,台风季节即将降临。对于那些居住在沿海地区的人们来说,台风是一种常见的自然灾害,其带来的风雨可能对生命和财产造成严重威胁。然而,随着数字科技的飞速发展,可视化技术为防汛抗台工作带来了全新的…...
“中国软件杯”飞桨赛道晋级决赛现场名单公布
“中国软件杯”大学生软件设计大赛是由国家工业和信息化部、教育部、江苏省人民政府共同主办,是全国软件行业规格最高、最具影响力的国家级一类赛事,为《全国普通高校竞赛排行榜》榜单内赛事。今年,组委会联合百度飞桨共同设立了“智能系统设…...
JDBC处理批量数据提高效率
文章目录 0 说明1 如何使用jdbc操作数据库1.1 加载数据库驱动1.2 建立数据库连接1.3 创建Statement或者PreparedStatement用来执行SQL1.4 开始执行SQL语句1.5 处理结果集1.6 关闭连接1.7 完整代码 2 批量操作数据库3 如何打印SQL语句4 jdbc常用开源类库 1 JDBC实现往MySQL插入百…...
使用css和js给按钮添加微交互的几种方式
使用css和js给按钮添加微交互的几种方式 在现实世界中,当我们轻弹或按下某些东西时,它们会发出咔嗒声,例如电灯开关。有些东西会亮起或发出蜂鸣声,这些响应都是“微交互”,让我们知道我们何时成功完成了某件事。在本文…...
react面试之context的value变化时,内部所有子组件是否变化
上测试代码 // context const state {a: 1,b: 1, } const context createContext(state);export default context; // A组件 const A () > {const { a } useContext(context);return (<div>{a}</div>) } export default A;// B组件 const B () > {cons…...
使用okHttp不走代理问题
背景 某日使用okhttp设置代理并发送爬虫请求时,发现部分url请求没有走代理直接和目标url建立了连接,伪代码如下。初始化okhttpClient时设置了proxySelecter代理,但是调用okhttpClient.newCall请求时并没用调用proxySelecter.select函数获取代…...
python moviepy 自动化音视频处理实践
MoviePy是一个用于视频编辑的Python库。它提供了一种简单且直观的方式来处理视频文件,包括剪辑、合并、裁剪、添加文本、添加音频等操作。使用MoviePy,你可以通过编写Python代码来创建和编辑视频,而无需使用复杂的视频编辑软件。 MoviePy建立…...
OpCore-Simplify:15分钟完成黑苹果自动化配置的终极指南
OpCore-Simplify:15分钟完成黑苹果自动化配置的终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而头疼吗&…...
5分钟快速搭建PUBG实时雷达:掌握战场信息的终极指南
5分钟快速搭建PUBG实时雷达:掌握战场信息的终极指南 【免费下载链接】PUBG-maphack-map this is a working copy online-map from jussihi/PUBG-map-hack, use nodejs webserver instead of firebase. 项目地址: https://gitcode.com/gh_mirrors/pu/PUBG-maphack-…...
Onekey:智能Steam清单配置工具,让游戏管理效率提升10倍
Onekey:智能Steam清单配置工具,让游戏管理效率提升10倍 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey 还在为Steam游戏清单配置焦头烂额?从查找App ID到解析…...
数据结构之字典树(Trie)
字典树(Trie)详解 1. 引言 字典树(Trie),也称为前缀树或单词查找树,是一种特殊的树形数据结构,用于高效地存储和检索字符串集合。它特别适用于需要快速查找前缀匹配的场景,如自动补全…...
利用快马平台快速构建你的Skill-Vetter技能评估原型
利用快马平台快速构建你的Skill-Vetter技能评估原型 最近在做一个技能评估工具的原型验证,发现用传统方式从零开始搭建实在太费时间。后来尝试了InsCode(快马)平台,整个过程变得特别顺畅。这里分享一下如何用这个平台快速构建一个编程技能评估原型。 原…...
4大场景下的智能激活工具实战指南:开源激活工具系统激活解决方案
4大场景下的智能激活工具实战指南:开源激活工具系统激活解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你的系统是否遇到过这些激活困境?刚完成系统重装却面对&…...
LN3608 2A 高效率升压 DC/DC 电压调整器
■ 产品概述 LN3608 是一款微小型、高效率、升压型 DC/DC 调整器。电路由电流模 PWM 控制环路,误差放大器,斜波补偿电路,比较器和功率开关等模块组成。该芯片可在较宽负载范围内高效稳定的工作,内置一个 4A 的功率开关和软启动保护…...
从零开始参与GeminiProChat开源项目:完整贡献指南
从零开始参与GeminiProChat开源项目:完整贡献指南 【免费下载链接】GeminiProChat Minimal web UI for GeminiPro. 项目地址: https://gitcode.com/gh_mirrors/ge/GeminiProChat GeminiProChat是一个轻量级的GeminiPro Web界面项目,本文将详细介绍…...
【实战】豆包API批量图生图:从脚本到系统的效率跃迁
1. 从脚本到系统的进化之路 记得去年接手一个电商项目时,我需要为2000多款商品生成场景图。最初用简单的Python脚本调用豆包API,结果半夜被报警电话吵醒——脚本卡死了,只完成了不到三分之一的任务。这次惨痛教训让我意识到,批量图…...
OpenClaw+百川2-13B-4bits:个人博客内容自动生成与发布方案
OpenClaw百川2-13B-4bits:个人博客内容自动生成与发布方案 1. 为什么需要自动化博客工作流 作为一个坚持写了5年技术博客的开发者,我深知内容创作的痛点:灵感转瞬即逝,写作耗时费力,排版发布流程繁琐。每次从灵感到最…...
