TNS、WNS、THS 和 WHS

Vivado WNS以及TNS 从上面的Design Timing Summary中可以看出,WNS以及TNS是针对Setup Time Check的,而WHS以及TNS是针对Hold Time Check的,TNS 代表总的负时序裕量 (Total Negative Slack),也就是负时序裕量路径之和。THS 代表总的保持时序裕量 (Total Hold Slack),也就是负保持时序裕量路径之和。这些参数为正表示时序正常,没有违规,否则,表示时序不满足要求,时序违规。 阅读详情
AI摘要

本文详细解释Vivado时序分析中的四个关键指标:WNS、TNS、WHS和THS,涵盖建立时间与保持时间的概念,帮助开发者判断设计是否满足时序要求,确保FPGA设计稳定性。

        运行“report_timing” 或 “report_timing_summary” 命令后,我注意到 WNS、TNS、WHS 和 THS。什么是 WNS、TNS、WHS 和 THS?

        这是一个关于 Vivado 时序分析中几个核心概念的中文详解。理解这些指标对于判断您的设计是否满足时序要求至关重要。


一、核心概念:建立时间与保持时间

在理解这些指标之前,必须首先理解寄存器(Flip-Flop)的两个基本时序要求:

  • 建立时间(Setup Time, Tsu): 在时钟有效沿(如上升沿)到来之前,数据输入(D)必须保持稳定的最短时间。

  • 保持时间(Hold Time, Th): 在时钟有效沿到来之后,数据输入(D)必须继续保持稳定的最短时间。

Vivado 的静态时序分析(STA)就是用来检查设计中的每一条时序路径是否满足这两个要求。


二、四大关键时序指标

1. WNS - 最差负裕量(Worst Negative Slack)
  • 它是什么? Slack 是指“时序裕量”,即 要求的时间 与 实际的时间 之间的差值。WNS 是所有时序路径中 最差的(即数值最小的)建立时间裕量。

  • 它衡量什么? 衡量设计在建立时间方面的最坏情况。

  • 如何解读?

    • WNS >= 0 ns: 恭喜!您的设计满足建立时间要求。所有路径上的数据都能在时钟沿到来之前足够早地到达。数值越大,时序裕量越充足。

    • WNS < 0 ns: 时序违规!至少有一条路径存在建立时间问题。数据到达得太晚,无法被正确捕获。这个负值表示最严重的那条路径晚了多少时间。

  • 目标: WNS >= 0。这是必须满足的时序目标。

2. TNS - 总负裕量(Total Negative Slack)
  • 它是什么? 所有存在建立时间违规(即 Slack 为负)的路径 的 Slack 值的总和。

  • 它衡量什么? 衡量设计中建立时间问题的严重程度和规模。

  • 如何解读?

    • TNS = 0: 意味着没有任何建立时间违规(因为所有路径的 Slack >= 0,没有负值可加)。

    • TNS < 0: 表示存在建立时间违规。这个数值的绝对值越大,说明:

      1. 有越多的路径存在违规。

      2. 和/或,这些违规路径的 WNS(负值)越大。

  • 目标: TNS = 0。一个非零的 TNS 意味着设计有时序问题需要修复。

WNS 与 TNS 的关系:

  • WNS 告诉你最坏的一条路径有多差。

  • TNS 告诉你整个设计中有多少路径是“差”的。

  • 例子: 一个设计的 WNS = -0.1ns, TNS = -0.15ns。这说明最差的一条路径违规了 0.1ns,并且可能只有一两条路径违规。而另一个设计 WNS = -0.1ns, TNS = -5ns,则说明虽然最差路径的违规程度相同,但有大量路径都存在轻微违规,问题更普遍。


3. WHS - 最差保持裕量(Worst Hold Slack)
  • 它是什么? 所有时序路径中 最差的(数值最小的)保持时间裕量。

  • 它衡量什么? 衡量设计在保持时间方面的最坏情况。

  • 如何解读?

    • WHS >= 0 ns: 满足保持时间要求。所有路径上的数据在时钟沿到来之后都能保持足够长的时间。数值越大,表示对毛刺和偏差的容忍度越高。

    • WHS < 0 ns: 保持时间违规!至少有一条路径存在保持时间问题。数据变化得太早,可能会覆盖掉当前应该被锁存的值,导致亚稳态或功能错误。

  • 目标: WHS >= 0。这也是必须满足的时序目标。

重要提示: 保持时间问题通常是在布局布线之后,当线路的实际延迟被精确计算后才能准确分析。建立时间问题通常与逻辑级数(组合逻辑延迟)和时钟频率更相关。

4. THS - 总保持裕量(Total Hold Slack)
  • 它是什么? 所有存在保持时间违规(即 Slack 为负)的路径 的 Slack 值的总和。

  • 它衡量什么? 衡量设计中保持时间问题的严重程度和规模。

  • 如何解读?

    • THS = 0: 意味着没有任何保持时间违规。

    • THS < 0: 表示存在保持时间违规。这个数值的绝对值越大,说明存在保持时间问题的路径越多、和/或问题越严重。

  • 目标: THS = 0。


三、总结与类比

缩写全称中文检查类型含义目标
WNSWorst Negative Slack最差负裕量建立时间最差路径的时序裕量>= 0
TNSTotal Negative Slack总负裕量建立时间所有违规路径的总和= 0
WHSWorst Hold Slack最差保持裕量保持时间最差路径的时序裕量>= 0
THSTotal Hold Slack总保持裕量保持时间所有违规路径的总和= 0

一个简单的类比:

想象一场考试,60分及格(Slack = 0)。

  • WNS: 全班最低分是50分(WNS = -10)。说明最差的学生差了10分。

  • TNS: 把所有不及格同学的“负分差”加起来。比如有3个学生不及格,分别差了10分、5分、5分,那么 TNS = (-10) + (-5) + (-5) = -20。这个数值反映了不及格的严重程度。

  • WHS / THS: 可以理解为另一门课的考试,概念完全一样,只是科目(检查类型)不同。

四、在 Vivado 中查看

       在实现(Implementation)后的 时序总结(Timing Summary) 报告中,您可以清晰地看到这四项指标:

  • Setup 部分: 查看 WNS 和 TNS。

  • Hold 部分: 查看 WHS 和 THS。

  • Pulse Width 部分: 查看时钟脉宽相关的裕量。

       一个成功的设计,在Corner下,其建立时间和保持时间的 WNS/TNS/WHS/THS 都必须满足要求。

Vivado wns tns为负 如何处理 在这种情况下,应该首先检查时序约束的设置是否正确和合理。针对资源占用高的模块,可以考虑进行优化,比如减少逻辑门数量、精简状态机等,以缩短信号传输路径,改善时序约束。时序优化:对于关键路径上的逻辑,可以采用一些时序优化措施,例如更换更高速度的逻辑资源、添加时钟分频器、减少时钟分配路径等,以提高关键路径上时序容忍度,减小。可以通过优化时序约束来提高系统的时序容忍度,从而减少WNS和TNS为负的可能性。为负时,需要仔细分析问题的根源,并通过上述方法之一或结合来进行相应的改进,以达到设计的预期目标。 阅读详情

相关推荐

Vivado时序报告保姆级解读:从report_timing_summary到关键路径优化实战

本文深入解析Vivado时序报告的核心指标与优化策略,从report_timing_summary的详细解读到关键路径的实战优化。通过系统化的调试方法论和针对性优化技巧,帮助工程师快速定位时序违例问题并提升FPGA设计性能。

weixin_31574149的博客 327

时序分析的2个术语:WNS和TNS

数字后端对于时序的仿真,通常会用PT出个报告。 里面会列出来:WNS(worst negative slack)和TNS( total negative slack)。其单位是ns. 是衡量timing好坏程度的指标,通常是负数。负得越多,性能越差。 通常后端设计的时候,会设置多个Track来对比,选择一个合适的。比如6.75T或者9T。不过这个选择对Area会有直接的影响。 所以,最后确定的时候...

aresxue的博客 1万+

FPGA工程综合后出现WNS或TNS为负的问题处理

通过优化时序约束、减少资源占用、时序优化以及增加时钟约束等方法,可以帮助解决FPGA工程综合后出现WNS或TNS小于零的问题。同时,在设计过程中要合理设置约束并进行综合前的仿真和验证,以确保设计能够满足所需的时序要求。通过增加时钟约束,可以使综合工具对设计进行更严格的时序优化,从而减小WNS或TNS的负值。通过优化时序约束,可以提高时序容忍度,从而减少WNS或TNS为负的可能性。这个简单的逻辑可能不会导致WNS或TNS为负的问题,但在实际设计中可能会遇到更复杂的情况。

DevWizard的博客 5777

时序分析基本概念介绍<WNS,TNS>

今天我们要介绍的数字后端概念是WNS,TNS。这是我们时序分析报告中经常看到的两个名词,也是衡量timing好坏程度的指标。WNS:worst negative slac...

Tao_ZT的博客 1万+

EDA/PLD中的基于逻辑组的快速宏布局方法

摘要:   本文介绍了一种适用于高宏数、难时序设计的快速平面布局方法。微捷码Talus可基于逻辑组产生所有宏和标准单元的快速布局。我们可通过利用这种布局信息来突出并划分适合的“宏组”,对于高宏数设计来说,这种方法要较一般的分组方法更快速更合理。对于时序关键设计,我们可使用积极的“宏布局”方法来显示关键逻辑组,然后再通过增量(incremental)的“宏布局”来调整布局形状(无宏或其它逻辑组阻塞的前提下将关键逻辑*在一起);这种方法可为我们常规设计带好更好时序(包括WNS/TNS)和更好布线结果(总线长)。   1.介绍   一般来说,逻辑块级设计平面布局的主要工作就是宏布局。传统上,我

移动硬盘报错0x80070570?5分钟搞定CHKDSK修复(附详细参数说明)

本文针对移动硬盘报错0x80070570问题,提供了详细的CHKDSK修复方法。通过5分钟核心修复流程,指导用户使用系统自带工具快速修复文件系统逻辑错误,恢复硬盘访问。文章还深入解析了CHKDSK参数,并提供了备选数据恢复方案与日常防护建议。

app77的博客 236

后端基础概念---TNS&WNS

TNS:total negative slack总的负时序时间之和,即小于0的slack之和 WNS: worst negative slack最差的负时序 THS:total hold slack总的保持时间的负时序之和 WHS:worst hold slack最差的保持时间的负时序 slack如果为正值,说明达到了设计时序要求;如果为负值,说明没有达到设计时序要求。 ...

hepiaopiao_wemedia的博客 8486

告别抖动与滞后:深入博能传动伺服DSC功能,用105报文提升多轴同步性能

本文深入解析博能传动伺服DSC功能如何通过105报文实现多轴同步性能提升,有效解决工业自动化中的抖动与滞后问题。详细介绍了DSC技术原理、105报文实现机制及多轴同步工程实践,帮助工程师优化伺服系统性能,实现绝对齿轮同步。

weixin_30394981的博客 185

VIVADO中WNS,WHS,TNS,THS含义

最近在推进项目进度,由于数据总线宽度达到1024位(K7还是厉害),使用VIVADO过程中时序警告特别大。所以关注了一下时序警告的具体含义。 运行“report_timing”或“report_timing_summary”命令后,会注意到 WNS、TNS、WHS 和 THS。 WNS 代表最差负时序裕量 (Worst Negative Slack) TNS 代表总的负时序裕量 (Tot...

zpc0212的博客 3万+

QFN封装芯片手工焊接实战:从焊盘处理到拖焊技巧

本文详细介绍了QFN封装芯片手工焊接的全过程,从焊盘处理到拖焊技巧,再到常见问题的现场修复方法。通过实战经验分享,帮助工程师和DIY爱好者掌握0.5mm小间距QFN芯片的焊接技术,提升焊接成功率和质量。重点讲解了垂直与平行拖焊手法的对比应用,以及焊后清理与质量检验的关键步骤。

weixin_42652674的博客 533

AI实时盯盘与素材更新迭代功能开发——千川素材投流系统完全指南

《AI驱动的千川素材投流系统完全指南》摘要 本文针对抖音电商生态中巨量千川平台的素材投放挑战,提出了一套AI驱动的实时盯盘与素材更新迭代解决方案。系统通过分层架构设计,整合数据采集、实时监控、AI分析和自动化执行模块,实现分钟级数据追踪与智能决策。核心功能包括实时数据采集、异常检测、自动化投放调整和素材生命周期管理,有效解决人工盯盘效率低、素材生命周期短、决策响应慢等痛点。系统采用Python+FastAPI技术栈,结合机器学习和自动化工具,提供从数据采集到决策执行的全链路解决方案,帮助商家提升投放效率和R

huanghm88的专栏 241

【Vivado那些事儿】VIVADO中时序报告中WNS,WHS,TNS,THS含义

VIVADO中时序报告中WNS,WHS,TNS,THS含义运行“report_timing”或“report_timing_summary”命令后,会注意到 WNS、TNS、WHS 和 T...

OpenFPGA的博客 1万+

YOLO11训练中的过拟合识别与应对策略:讲解过拟合的表现、原因及应对方法(如数据增强、正则化、DropOut)

摘要 本文深入探讨了YOLO11目标检测模型中的过拟合问题。首先解析了过拟合的本质,即模型在训练数据上表现优异但泛化能力差的现象,并通过误差分解公式解释了其数学原理。文章详细列举了YOLO11中过拟合的具体表现,包括训练与验证指标分化、检测性能不一致性、置信度分布异常和类别检测不均衡等问题,并提供了对应的可视化诊断方法。 在原因分析部分,重点阐述了模型复杂度与数据规模不匹配、训练数据质量与分布问题以及训练策略不当三大根本原因。特别对比了YOLO11不同版本(n/s/m/l/x)的参数量和推荐最小数据量,指出

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 247

Vivado 随笔(6) Timing Summary 相关讨论(一)

Vivado运行完Implementation后,Design Runs都会有如下的提示: 当然Timing Summary中也会有: 从上面的Design Timing Summary中可以看出,WNS以及TNS是针对Setup Time Check的,而WHS以及TNS是针对Hold Time Check的, Design Timing Summary对应的Tcl命令为:r...

Reborn Lee 1万+

如何提高电路的抗干扰能力

本内容详细介绍了电源传导干扰处理,包括滤波、Feedthrough电容器、磁环、磁珠、屏蔽的使用与选型,EMC电磁兼容测试项目简介与要求,单片机与电源抗干扰处理等。

让你爱上电路设计 8607

vue2/3 - H5 移动端网页中调用手机摄像头扫描二维码 / 条形码功能,在h5手机网页里调起相机摄像头进行二维码或条形码扫描效果详细教程(详细示例组件源码,一键复制开箱即用!)

vue扫描二维码条形码,vue网页调用摄像头扫二维码条形码,vue移动端如何实现调用相机扫描二维码,vue移动端扫一扫功能,vue怎么做移动端h5扫一扫功能,vue识别二维码和条形码,vue实现点击按钮调用摄像头扫码,vue调用本地摄像头实现拍照功能,Vue中如何进行二维码生成与扫描,如何实现vue在手机浏览器中调用摄像头实现扫描二维码功能,VUE项目移动端H5调用摄像头扫码,vue项目中实现H5调取摄像头,网页调用摄像头实现二维码扫描功能,vue调用手机摄像头,vue在调用摄像头扫码,vue自定义打开摄像

✅ 精选推荐文章 1万+

What are TNS, WNS, THS, NVP and WHS

Description After runningreport_timingorreport_timing_summarycommands, I noticed the WNS, TNS, WHS, and THS. Whatare WNS, TNS, WHS, NVP and THS? Solution WNS = Worst Negative Slack TNS = Tot...

cy413026的博客 6986

无刷电机FOC硬件电路设计

本文先对MIT无刷电机FOC硬件电路分析做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章软件程序在我另外一个博客【嵌入式–伺服电机】MIT无刷电机FOC驱动程序分析。

qq_35635374的博客 575

wns(worst negative slack)TNS

WNS 代表最差负时序裕量 (Worst Negative Slack)TNS 代表总的负时序裕量 (Total Negative Slack)(所有path-slack 加起来),也就是负时序裕量路径之和。WHS 代表最差保持时序裕量 (Worst Hold Slack)THS 代表总的保持时序裕量 (Total Hold Slack),也就是负保持时序裕量路径之和。这些值告诉您设计与时序要求相...

qq_34110120的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Total Negative Slack ( TNS ) Worst Negative Slack ( WNS )

The “Worst Negative Slack (WNS)” reported by commands like report_timing_summary is actually the worst positive slack. If WNS is positive then it means that the path passes. If it is negative, then it means the path fails. So, this is really a misnomer. Th

Blaze_Xu的博客 3816

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

每日一篇读懂vivado时序报告4——Intra-Clock Paths解读

摘要:本文详细解读了FPGA时序报告中Intra-ClockPaths部分的关键信息。报告显示,针对i_clk时钟域的分析表明:建立时间(WNS=18.725ns)、保持时间(WHS=0.254ns)和脉冲宽度(WPWS=9.5ns)均有充足裕量。所有时序参数(TNS/THS/TPWS)均为0,且违规端点数量均为0,总参与分析的端点数分别为4个(建立/保持)和5个(脉冲宽度)。结果表明该时钟域时序设计完全收敛,没有时序违规风险。

FPGA/MATLAB学习教程/源码/项目合作开发 1552

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Vivado中的一些名词记录

查漏补缺。

gzy0506的博客 2979

数字后端RC corner 对timing的影响

IC 后端 corner 介绍_rcbest对应ff-优快云博客

weixin_44495082的博客 1025

每日一篇读懂vivado时序报告1——时序报告基础解析

本文介绍了FPGA时序分析的基本流程与方法。首先创建了一个4位计数器的FPGA工程,通过综合布局布线后生成时序报告。报告重点解读了三个关键时序维度:建立时间(WNS=18.725ns)、保持时间(WHS=0.254ns)和脉冲宽度(WPWS=9.500ns)的裕量分析。所有指标均满足要求,未出现时序违例情况。文中详细说明了各类时序参数的含义及其在验证FPGA设计稳定性中的重要性,为初学者提供了基础的时序分析指导。

FPGA/MATLAB学习教程/源码/项目合作开发 1148

vivado 工具时序分析使用说明

点击 Design Timing Summary 栏可以看到右面界面出现三个蓝色字体的数字,第一个是 Setup 的最差情况(WNS),第二个是 Hold 的最差情况(WHS),第三个是 Pulse Width最差情(WPWS)。蓝色字体下面的一行是总的 Setup 不满足总的分数(TNS),第二个是总的 Hold 不满足总的分数(THS),第三个是总的 Pulse Width 不满足总的分数(TPWS)。一般我们只关注 Setup 总的分数,分数是 0,说明时序是满足的,分数是负的,说明时序是不。

weixin_55949063的博客 624
上一篇: Verilog中的多维数组
下一篇: Sobel–Feldman
Js_cold
博客等级 码龄4年 143粉丝 126原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值