0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

不同操作系统间QoR性能存在差异

辛太励 来源:飞翔的贝壳 作者:飞翔的贝壳 2022-08-02 11:52 次阅读

本篇博文中的分析是根据真实客户问题撰写的,该客户发现不同操作系统间 QoR 性能存在差异。虽然可以理解赛灵思无法保证不同操作系统间的可重复性,正如"赛灵思答复记录 61599"中所述,但此处案例中出现的差异量级值得进一步深入调查。

最初在 Windows 上的结果更好,但后续在 Linux 上结果更好, 最后发现,此问题与设计中存在的某些极其严重的方法违例有关。

问题说明:

用户发现相同设计在 Linux 与 Windows 上存在显著的时序差异。

在每个操作系统上运行完全相同的设计生成结果如下:在 Linux 上 WNS = -0.439ns,在 Windows 上 WNS = +26ps。

该用户在不同机器上多次运行构建,但针对各操作系统得到的结果是相同的。

以下“设计时序汇总 (Design Timing Summary)”截屏中显示了来自 Linux 的时序违例。在 Windows 上运行时,时序未出现任何错误。

注:您可使用以下选项来检查自己的设计的“时序汇总 (Timing Summary)”:

■ 在 Vivado GUI 中,转至“报告 (Reports)”选项卡 ->“时序 (Timing)”->“时序汇总报告 (Report Timing Summary)”

■运行以下 Tcl 命令:

report_timing_summary -file /timingreport.txt

Linux 运行结果:
pYYBAGGYHZOAa6foAADEreAGVcs361.png

Windows 运行结果:
poYBAGGYHZWAG2loAADLptfjzQc813.png

根本原因分析:

首先要验证的是,在 2 个平台上运行时,所有设计源代码、约束集、综合和实现指令以及 Vivado 工具设置都完全相同。另请确保不同操作系统上应用的 Vivado 补丁不存在任何差异,并且在 Vivado_Init.tcl 文件中未设置任何工具参数

进一步深挖设计可以发现,在布局布线后可以从 Tcl 控制台 (Tcl Console) 执行 write_xdc。这样即可验证对两个平台上的构建所应用的约束是否相同。

要检查与时钟/架构/CDC 等相关的警告/严重警告,请打开方法论报告。

要在 Vivado GUI 中打开方法论报告,请转至“报告 (Report)”选项卡 ->“方法论报告 (Report Methodology)”,或者在 Tcl 控制台 (Tcl console) 中,使用 report_methodology。

报告打开后,您可能会看到几条与设计相关的警告和严重警告。

浏览此报告时,我们发现了几项警告,这些警告与设计中的时钟关系相关的错误实践有关(这些警告的 ID 为 TIMING-6 和 TIMING-7),如下图所示。

pYYBAGGYHZaAXgU3AACkQp3fpPk949.png

Timing-6 Critical Warning 显示 Vivado 找到了 2 个时钟,这 2 个时钟一起定时,但并没有公用的基准时钟。

默认情况下,这 2 个报告的时钟被视为相关联时钟,并以同步方式进行定时,即使这 2 个时钟并非衍生自公共的基准时钟,且不含有已知相位关系,也同样如此。DRC 警告报告称时序引擎无法保证这些时钟处于同步状态。

Timing-7 Critical Warning 显示 Vivado 找到了 2 个时钟,这 2 个时钟一起定时,但并没有公用的节点。此 DRC 报告称时序引擎无法保证这些时钟在硬件中同步,因为它无法确定 2 个时钟树之间的公共节点。

某些方法论严重警告可能暗示设计上存在 QoR 问题,即存在此类任意严重警告有时可能导致不同运行的结果出现不一致。下列方法论严重警告应作为极其严重 (Super Critical) 警告来处理:

■ TIMING-6

■ TIMING-7

■ TIMING-8

■ TIMING-14

■ TIMING-35

无论任何设计都不应存在上述任一违例,用户应采取行动尽快解决这些违例,以免影响 QoR。

TIMING-6 和 TIMING-7 - 如何解决这些警告/严重警告:

解决办法取决于 2 个时钟域处于异步还是同步状态。

对于异步时钟,时序例外(例如,set_max_delay -datapath_only、set_clock_groups 或 set_false_path)应覆盖 2 个域之间的路径。

分析设计后,发现 set_false_path 是对应此 DRC 的正确约束。

要查找这些时钟之间的路径,请运行以下命令:

report_timing -from [get_clocks ] -to [get_clocks ]

请参阅 UG906以获取有关 TIMING-6、TIMING-7 以及来自 report_methodology 的所有其它严重警告的深层详细信息

解决方案和结论:

当纠正 TIMING-6 和 TIMING-7 违例后,设计在 Windows 和 Linux 上生成了一致的结果。

虽然赛灵思不保证不同操作系统间的可重复性,但设计中存在上述任何极其严重警告都可能导致 QoR 欠佳。在这个案例中,由于存在这些违例,导致在某一操作系统内生成的结果较另一个操作系统内生成的结果更差。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11303

    浏览量

    209441
  • WINDOWS
    +关注

    关注

    3

    文章

    3544

    浏览量

    88668
  • 时序
    +关注

    关注

    5

    文章

    387

    浏览量

    37330
  • Qor
    Qor
    +关注

    关注

    0

    文章

    5

    浏览量

    7531
收藏 人收藏

    评论

    相关推荐

    实时操作系统和分时操作系统的区别

    操作系统能否满足实时性要求来区分,可把操作系统分成分时操作系统和实时操作系统,分时操作系统按照相等的时间片调度进程轮流运行,分时操作系统
    发表于 11-14 17:39 1.3w次阅读

    中国电子百亿级资金投入,打造桌面与服务器操作系统、云操作系统、嵌入式操作系统三大产品

    操作系统被认为是计算机的大脑。随着信息技术的高速发展,操作系统的重要性和地位日益凸显。但令人遗憾的是,我国操作系统企业普遍呈现小、散、弱局面,配套软硬件生态分散,无法形成合力,业界急需打造具有统一技术体系和生态环境的国产自主
    的头像 发表于 03-24 09:13 4464次阅读

    操作系统构成

    操作系统构成  一般来说,操作系统由以下几个部分组成:  1)进程调度子系统:进程调度子系统决定哪个进程使用CPU,对进程进行调度、管理。  2)进程
    发表于 09-13 10:10

    UNIX/Windows操作系统差异

    UNIX/Windows操作系统差异:“:”与“%”
    发表于 08-01 06:21

    操作系统 ppt

    操作系统课件为PPT电子教案,内容如下: 操作系统的基本概念操作系统的发展操作系统的主要特征操作系统的主要功能进程管理
    发表于 11-07 08:44 0次下载
    <b class='flag-5'>操作系统</b> ppt

    Linux操作系统原理及应用

    Linux操作系统原理及应用 1.1  操作系统的地位 1.2  操作系统的功能 1.3  操作系统的发展过程 1.4 
    发表于 04-28 14:53 0次下载

    操作系统讲解(操作系统课件)

    操作系统讲解(操作系统课件) 第五章 文件管理.doc第六章 设备管理(部分).doc第二章 进程管理.doc第3章 并发控制——互斥与同步.doc操作系统---进程通信.ppt
    发表于 05-16 18:06 0次下载

    什么是VxWorks操作系统

    VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。VxWorks拥有良好的持续发展能力、高性能的内核以及良好的用户开发环境,在实
    发表于 06-17 00:33 4086次阅读

    移动操作系统带来差异化设计

    移动操作系统带来差异化设计   移动设备市场一直以来都非常火爆,特别是具有苹果的iPhone和Verizon Wireless公司的Droid的智能手机市场。这些平台上的硬件
    发表于 04-24 12:02 1204次阅读

    RTOS操作系统

    RTOS操作系统RTOS操作系统RTOS操作系统RTOS操作系统RTOS操作系统
    发表于 12-28 15:30 0次下载

    关于实时操作系统中任务通信的一种方法

    关于实时操作系统中任务通信的一种方法
    发表于 09-03 11:45 3次下载
    关于实时<b class='flag-5'>操作系统</b>中任务<b class='flag-5'>间</b>通信的一种方法

    操作系统的结构及原型设计

    提出了一个操作系统模型,介绍了该模型的结构及其实现原型,并对其性能进行了评价,最后讨论了该操作系统具有的优点及其存在的问题。
    发表于 09-21 08:44 5次下载
    <b class='flag-5'>操作系统</b>的结构及原型设计

    实时操作系统和非实时操作系统的区别

    本文主要阐述了实时操作系统和非实时操作系统的区别。
    发表于 09-02 15:58 1.1w次阅读

    浅谈鸿蒙系统与现有移动操作系统差异

    “鸿蒙的推广真正难的事情,是光有一个底层的操作系统(不够)。比如,咱们在国内,人们常用微信,比如微信要是没有鸿蒙版,也可能没人用鸿蒙。所以,鸿蒙系统虽然也很难做,但更难的事情是让很多软件也用鸿蒙
    的头像 发表于 02-01 12:01 1905次阅读

    聊聊操作系统

    说到操作系统,大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑,使用的是windows和macOS系统;用手机、平板电脑,则是android(安卓)和iOS系统
    的头像 发表于 05-12 11:13 1427次阅读
    聊聊<b class='flag-5'>操作系统</b>