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

时序分析基本概念介绍——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。

总结

最小脉冲宽度对数字电子设备的功能和性能至关重要,它直接影响设备的稳定度和精度,因此设计数字电子设备时,必须仔细考虑最小脉冲宽度,并确保信号始终保持在可接受范围内。

http://www.lryc.cn/news/383612.html

相关文章:

  • PHP原生代码生成pdf---解决中文乱码问题
  • 智慧车库管理系统
  • 每日新闻掌握【2024年6月26日 星期三】
  • InVEST实践及在生态系统服务供需、固碳、城市热岛、论文写作等实际项目中应用
  • 慧科新闻搜索研究数据库的使用指南及个人获取途径
  • SpringBoot学习03-[Spring Boot与Web开发]
  • 数据恢复篇:如何恢复丢失的Android短信?
  • 数据结构历年考研真题对应知识点(栈)
  • BarTender版软件下载及安装教程
  • Python 中从字典中提取所有值到列表
  • Netty中Reactor线程的运行逻辑
  • liunx 搭建 zookeeper
  • selenium 3中等待方式
  • pytorch笔记:named_parameters
  • uniapp——H5添加支付宝授权登录,报错:系统异常,请联系商家。REDIRECT_URI_ILLEAGAL
  • 群辉NAS使用Kodi影视墙
  • 如何实现HPC数据传输的高效流转,降本增效?
  • redis 定时任务锁 分布式锁
  • 了解支付行业基本专业语
  • 408数据结构-图的应用1-最小生成树 自学知识点整理
  • Ubuntu18.04操作系统使用pip3安装open cv
  • 为什么变量不可以在 switch 语句中声明定义?
  • 手机定位技术全解析:原理、发展与应用
  • 深入探索Kylin的Cube构建:数据魔方的构建之旅
  • web渗透-CSRF漏洞
  • Python数据分析-电信客户流量预测与分析
  • 动态人物抠图换背景 MediaPipe
  • Vue3 vite使用postcss-px-to-viewport(适配vant)
  • MCU复位时GPIO是什么状态?
  • 领先GPT-4o:Anthropic 推出新一代模型 Claude 3.5 Sonnet|TodayAI