时序分析基本概念介绍——min pulse width 最小脉冲宽度
文章目录
- 前言
- 一、什么是 min pulse width?
- 二、为什么检查 min pulse width?
- 三、如何设置 min pulse width约束?
- 1. 在sdc里面定义
- 2. library里面定义
- 四、如何检查 min pulse width?
- 五、如何修复 min pulse width?
- 总结
前言
min pulse width 是对信号高电平或低电平脉冲最小宽度的衡量,通常都只针对clock path 做min pulse width 检查。
一、什么是 min pulse width?
min pulse width ,全称为最小脉冲宽度检查。min pulse width用于检查时钟信号的波形是否处在一个合理的状态。时序单元对时钟的高电平和低电平的脉冲宽度有一定的要求,经过min pulse width检查可以获悉时钟信号的最小脉冲宽度是否满足了时序单元的要求。
二、为什么检查 min pulse width?
一般情况下,由于cell本身的差异,rise和fall delay不相同,这样可能会造成时钟信号脉冲宽度减小。
如下图一个周期为1ns,duty cycle 为50%的clock信号:

在经过一个buffer(rise delay: 0.05, fall delay:0.03):

clock信号波形变成如下图所示:

假设一个占空比为50%的时钟穿过一个buffer,该buffer的rise delay大于fall delay,则经过buffer后的脉冲宽度要比输入时钟小。如果时钟信号经过一系列相同类型的单元,则时钟信号的脉冲宽度将会持续减小。如果小于某个最小宽度,可能会导致器件不能正常的捕获数据。
因此,在做timing分析时,我们是必须对cell的pin做min pulse width检查。
三、如何设置 min pulse width约束?
min pulse width检查设置通常有两类方法:在sdc里面重新设置min pulse width约束或者直接使用library里面的设置。
1. 在sdc里面定义
指令如下(示例):
set_min_pulse_width 1.25 [get_clocks *]
或者指令如下(示例):
set_timing_derate -min_pulse_width 1.25
2. library里面定义
EDA工具也可以通过查找单元库来获取 min pulse width的阈值,在单元库中,一般是以input transition 为index 的一张一维表。

一般情况下,如果要设置比lib里面更为严格的min pulse width检查,需要在sdc里面重新设置min pulse width约束。
四、如何检查 min pulse width?
因为library 中相应clock pin 上定义了min pulse width 属性,或用命令set_min_path_width 设了约束,因此在做了CTS之后,则可以使用命令report_min_pulse_width 可以报出相应min pulse width check。

如上电路图,我们想要计算ff2的clock pin的min pulse width check,采用report_min_pulse_width -path_type full_clock_expanded [get_pin ff2/CP],得到下面path路径slack。

如果想要报出所有的min pulse width violation可以使用report_min_pulse_width -all_violators命令。
五、如何修复 min pulse width?
1.由于普通buffer上升和下降的delay不一样,如果经过一连串的buffer的话,有时候会发生min pulse width的violation。因此,更加推荐采用clock inverter来取代buffer,相比buffer来说,inverter的上升和下降时间会相互补偿,这样就更容易避免min pulse width violation的产生;
2. 检查是否有比较大的transition, 因为min pulse width的阈值在单元库中一般是以input transition 为index 的一张一维表;
3. 检查时钟路径是否用了相同阈值电压(Vt)的的单元,是否用了时钟单元(一般以CK或DCCK开头),另外,对于先进工艺电路,一般时钟路径会使用低阈值电压单元(ULVT);
4. 检查是否有串扰,消除或者减少串扰引起的delta delay。
总结
最小脉冲宽度对数字电子设备的功能和性能至关重要,它直接影响设备的稳定度和精度,因此设计数字电子设备时,必须仔细考虑最小脉冲宽度,并确保信号始终保持在可接受范围内。
相关文章:
时序分析基本概念介绍——min pulse width 最小脉冲宽度
文章目录 前言一、什么是 min pulse width?二、为什么检查 min pulse width?三、如何设置 min pulse width约束?1. 在sdc里面定义2. library里面定义 四、如何检查 min pulse width?五、如何修复 min pulse width?总结…...
PHP原生代码生成pdf---解决中文乱码问题
github地址 尝试了使用composer下载FPDF或者FPDI,但是无法解决中文乱码问题。只有使用这个github上的中文包才可以,那俩没必要下。 直接上代码(这里并没有使用任何框架) require(./fpdf/chinese.php);//生成pdf$pdf new PDF_Chinese();$pdf->AddPage…...
智慧车库管理系统
摘 要 随着城市化进程的不断加快,私家车数量的快速增长给城市交通带来了巨大的挑战,停车问题成为城市交通管理中的一大难题。车辆停车时,在停车场寻找停车位耗时过久,不仅仅浪费用户的时间,还可能引起交通拥堵。城市停…...
每日新闻掌握【2024年6月26日 星期三】
2024年6月26日 星期三 农历五月廿一 大公司/大事件 OpenAI将终止对中国提供API服务 从6月24日晚间开始,已有多名用户收到了来自OpenAI的邮件。该邮件表示,“我们的数据显示您的组织来自OpenAI目前不支持的地区的API流量。”邮件进一步表示,…...
InVEST实践及在生态系统服务供需、固碳、城市热岛、论文写作等实际项目中应用
白老师(研究员):长期从事生态系统结构-格局-过程-功能-服务的变化与响应关系等研究工作,重点围绕生物多样性、生态系统服务与价值等,构建生物地球化学模型和评价指标体系,为城市、区域和自然保护区的可持续发展和生态环…...
慧科新闻搜索研究数据库的使用指南及个人获取途径
《慧科新闻搜索研究数据库》WiseSearch由慧科讯业有限公司出品。WiseSearch是具有新闻搜索/浏览、对比分析等功能的一站式新闻搜索平台;内容包括1200种报刊和8000 网站的新闻资讯,平面媒体涵盖全国综合大报、党委机关报、都市报、行业报刊媒体࿰…...
SpringBoot学习03-[Spring Boot与Web开发]
Spring Boot与Web开发 RestTemplateMockMvc在SPringBoot中使用 SpringBoot整合swagger2SpringBoot的springmvc自动配置底层原理包含ContentNegotiatingViewResolver和BeanNameViewResolverContentNegotiatingViewResolverBeanNameViewResolver 支持提供静态资源,包括…...
数据恢复篇:如何恢复丢失的Android短信?
许多用户发现自己处于重要短信意外从Android手机中删除的情况。幸运的是,有一些行之有效的方法可以在没有root的情况下恢复已删除的短信Android,这可以成为救命稻草。这些技术不需要深厚的技术知识,也不需要损害设备的安全性。为了帮助您摆脱…...
数据结构历年考研真题对应知识点(栈)
目录 3.1栈 3.1.1栈的基本概念 【栈的特点(2017)】 【入栈序列和出栈序列之间的关系(2022)】 【特定条件下的出栈序列分析(2010、2011、2013、2018、2020)】 3.1.2栈的顺序存储结构 【出/入栈操作的模拟(2009)】 3.1栈 3.1.1栈的基本概念 【栈…...
BarTender版软件下载及安装教程
根据行业数据显示强大的配套应用软件甚至能够管理系统安全性、网络打印功能、文档发布、打印作业记录等,为满足不同的需要和预算,BarTender 提供四个版本,每个都拥有卓越的功能和特性。根据软件大数据显示多国语言支持:轻松设计…...
Python 中从字典中提取所有值到列表
目录: 使用 keys() 方法使用 values() 方法使用 items() 方法使用 * 解包使用列表推导式使用 lambda 函数有时候,在使用 Python 字典时,只关心获取字典的值而不关心字典的键。可以使用多种方法从字典中获取所有的值。 使用 keys() 方法 Python 字典(Dictionary) keys() 方…...
Netty中Reactor线程的运行逻辑
Netty中的Reactor线程主要干三件事情: 轮询注册在Reactor上的所有Channel感兴趣的IO就绪事件。 处理Channel上的IO就绪事件。 执行Netty中的异步任务。 正是这三个部分组成了Reactor的运行框架,那么我们现在来看下这个运行框架具体是怎么运转的~~ 这…...
liunx 搭建 zookeeper
创建下载路径 #创建文件夹 mkdir -p /mydata/zookeeper #进入文件夹 cd /mydata/zookeeper下载zookeeper文件 #下载 wget https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz #解压文件 tar -zxvf apache-zookeeper-3.5.9-bin.…...
selenium 3中等待方式
Selenium 3中的等待方式主要有三种:强制等待、隐式等待和显式等待(智能等待的一种)。 1. 强制等待:使用time.sleep(X)方法,强制让浏览器等待X秒,无论当前操作是否完成,都…...
pytorch笔记:named_parameters
named_parameters 是 PyTorch 中一个非常有用的函数,用于访问模型中所有定义的参数及其对应的名称。它是 torch.nn.Module 类的方法之一,返回一个生成器,生成 (name, parameter) 对,name 是参数的名称,parameter 是对应…...
uniapp——H5添加支付宝授权登录,报错:系统异常,请联系商家。REDIRECT_URI_ILLEAGAL
解决方法 https://opensupport.alipay.com/support/FAQ/41bb980b-d18e-4141-8063-9d172cb7e655 这其中最常见的是授权的回调地址配置的不正确 应该为域名后面加上你H5打包后的名字,例如 https://www.xxx.com/agent要正确配置支付宝授权登录的回调地址,…...
群辉NAS使用Kodi影视墙
目录 一、KODI安装 二、修改UI语言 1、修改显示字体 2、修改语言为中文 四、添加媒体库 五、观看电影 五、高级设置 1、视图类型 2、修改点击播动作 五、补充 1、文件组织结构及命名 2、电影信息的刮削 (1)添加影片 (2)演员管理 (3)影片管理 (4)说明 K…...
如何实现HPC数据传输的高效流转,降本增效?
高性能计算(HPC)在多个行业中都有应用,涉及到HPC数据传输的行业包括但不限于: 1.科学研究:在物理学、化学、生物学、地球科学等领域进行模拟和建模。 2.工程和产品设计:进行复杂系统的设计和分析…...
redis 定时任务锁 分布式锁
基于 redisTemplate 在分布式集群环境中的最佳实践,其实无论是单机还是集群,保证原子性都是第一位的,如果能同时保证性能和高可用,那么就是一个可靠的分布式锁解决方案。 主要思路是:设置锁时,使用 redis…...
了解支付行业基本专业语
1、商户简称做什么? 商户简称是消费者支付时显示的名称。 2、客服电话哪里显示? 客服电话是如果用户对订单有疑问,可通过客服电话联系到您这边。会在支付成功后,微信(支付宝)支付的订单里面显示。 3、什么叫T1/T0、D1/D0 T1为第二个工作日到账&am…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
