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

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

3天内不再提示

Linux 和 Windows 操作系统中 Vivado 结果是否可重复?

YCqV_FPGA_EETre 来源:未知 作者:佚名 2017-10-09 09:26 次阅读
问题描述

Vivado 结果是否可重复用于相同的工具输入?

解决方案

大多数情况下是可以的,Vivado 应该可在涉及相同应用的运行之间生成相同的结果:

  • 设计源

  • 约束

  • Tcl 脚本及命令顺序

  • 工具与命令选项

  • Vivado 软件版本

  • 多线程设置

  • 操作系统

这适用于从 HDL 综合到比特流生成的设计流程的各个环节。例如,构建脚本反复在同一系统或相似配置的机器上运行时,应该能生成相同的结果。

不同操作系统的结果通常可重复,但也不一定,特别是在使用 Linux 和 Windows 操作系统的情况下。

注意确定性

术语“可重复性”和“确定性”通常可交替使用,这种说法是不对的。Vivado 使用多线程来并行执行,因此它在定义上是不确定的。然而,Vivado 中的多线程可通过编程实现同步,因而多线程执行可重复。注意,除了多线程外,Vivado 也管理 OS 系统调用及内存管理等可导致不确定性的其它因数。

确定重复性问题

有分歧的运行最常见的症状是布线后时序结果的不同。如果您怀疑某个不可重复性的情况,并验证工具输入是完全相同,就可使用校验和来进一步验证分歧。Vivado 在每个实现方案命令的各个中间阶段,都会在日志中报告一个校验和,这是一个基于设计网表及物理数据的签名。校验和可以在不同的运行之间比较,校验和不匹配可帮助发现哪里的结果有分歧。

实例:以下校验和开始出现分歧,因此永远不会收敛。如果所有输入都是完全相同的,那这很可能就是一个可重复性问题。

检查点与内存中的运行

与同等意义的内存内设计流程相比,检查点应生成可重复性的结果。请考虑以下命令顺序,一个运行内存中的整个设计流程,另一个则使用放置的检查点通过 phys_opt_design 命令再次从内存中的流程进入该流程。

这两个运行应该给出相同的结果。尽管在执行 open_checkpoint 命令后,校验和可能因为网表的排序差异而不同,但在第一次执行 phys_opt_design 命令后,校验和应该可以收敛:

在运行之前,每一个执行命令都会自动排序,以确保网表的一致性,这样结果就不会因网表差异而出现分歧。

最大限度提高可重复性

如果可重复性对于您的设计环境至关重要,下面的操作可帮助您最大限度地提高可重复性:

在单线程模式下运行。

在不同运行之间使用不同数量的 CPU 时,同步线程可能会按照不同的顺序执行运算并造成有分歧的结果,即便运行使用相同的机器或系统也是如此。

要在单线程模式下运行,请使用:

set_param general.maxThreads 1

这不仅可禁用多线程,而且还可消除相关可重复性问题。

在相同机器上运行或者在使用相同操作系统的机器上运行。

这不仅可降低遇到内核运行方式所带来的不可重复性的概率,而且还可从一个系统到另一个系统实现系统调用,特别是在使用 Windows 和 Linux 操作系统的情况下。

以下操作可进一步降低这一概率

1) 微调环境,消除下列情况:

  • 同一操作系统的不同版本

  • 不同的服务包级别 (Windows)

  • 不同分销或不同补丁级别 (Linux)

2) 消除计算硬件差异:

  • 使用相同的通用物理及虚拟存储器容量。

  • 使用相同的处理器架构和相同数量的内核。

  • 如果使用的是虚拟机,则要保证配置完全相同。

报告不可重复性问题

如果您遇到了输入完全相同的不可重复性问题(如解决方案说明中所述),请打开服务请求并提供一个可演示该问题的测试案例。

没有测试案例,可能很难确定并修复任务问题,但它可帮助提供尽可能多的信息

Linux 和 Windows 之间偶尔会出现不可重复性问题,我们建议限制 Vivado 只在 Linux 上运行或只在 Windows 上运行。


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

    关注

    87

    文章

    11222

    浏览量

    208884
  • WINDOWS
    +关注

    关注

    3

    文章

    3524

    浏览量

    88402
  • Vivado
    +关注

    关注

    19

    文章

    808

    浏览量

    66313

原文标题:【专家坐堂Q&A】Vivado 结果是否可重复用于相同的工具输入?

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Vivado 2017.4和2018.2不同的LinuxWindows之间的实现结果

    嗨,我有一个越来越难以在Vivado 2017.4路由的设计。我的大多数运行都是在Linux上完成的。我也尝试过使用Windows机器,它可以产生更好的效果。我切换到
    发表于 11-14 10:04

    我应该使用什么操作系统

    操作系统)不适合我。我也不是专家linux用户,我对命令提示符并不熟悉。我即将在我的电脑上安装一个linux版本,所以我想听听你对我最好的看法。我主要担心的是所有vivado工具
    发表于 12-07 11:10

    (良哥独创)linux操作系统装回windows操作系统

    绝对成功,一步一步教你将LINUX 操作系统装回windows操作系统的详细方法,这上网上最简单的方法了,希望对大家有用。
    发表于 08-12 10:50

    Windows XP操作系统 ppt课件

    Windows XP操作系统2.1 操作系统概念2.1.1 操作系统的地位2.1.2 操作系统的定义和功能2.1.3
    发表于 11-07 09:50 0次下载

    Linux与其他操作系统的区别

    Linux与其他操作系统的区别 Linux与其他操作系统的区别  Linux可以与MS-DOS、OS/2、
    发表于 01-18 12:42 1653次阅读

    Linux是什么?这种操作系统为何如此流行?

    Linux是什么?这种操作系统为何如此流行? 众所周知,每台桌面计算机都要使用操作系统。现在最流行的操作系统有: Windows
    发表于 07-30 14:00 1037次阅读

    LinuxWindows操作系统你更希望用哪个?

    两个操作系统其实各有优势。你想用到的软件都有windows版本。而linux系统下却不一定,。linux对硬件要求低,
    发表于 01-10 14:52 1609次阅读

    Windows 10操作系统会有专门的Linux系统

    曾经有一段时间,微软对 Linux 的态度并不友好。但随着企业战略的全面转型,该公司已经积极投身相关应用与服务的开发。甚至在 Windows 10 操作系统层面,都有专门的 Linux
    的头像 发表于 03-14 09:45 3103次阅读

    怎样实现在linux系统windows系统的远程操作

    Windows,我们经常使用ssh,vnc等工具对Linux操作系统进行远程控制,但是在linux
    的头像 发表于 04-17 09:52 3187次阅读

    Linux操作系统Windows操作系统的五大区别

    Linux操作系统Windows操作系统身为三大操作系统巨头里面的两大巨头,他们有什么区别呢?首先,先要声明一点,所有以
    发表于 07-10 16:28 7872次阅读

    WindowsLinux操作系统的流式处理API

    在本文中,我们分析了 WindowsLinux 操作系统的流式处理 API;提出了基于事件的线程创建和同步接口;讨论了使用共享资源的功能;以及详细的线程终止方式。
    的头像 发表于 06-30 10:52 990次阅读
    <b class='flag-5'>Windows</b>和<b class='flag-5'>Linux</b><b class='flag-5'>操作系统</b>的流式处理API

    WindowsLinux操作系统的流式处理API

    Windows操作系统,TerminateThread在成功终止的情况下返回TRUE。从这个逻辑开始,让我们尝试在 Linux 组织类
    的头像 发表于 11-30 15:04 773次阅读
    <b class='flag-5'>Windows</b>和<b class='flag-5'>Linux</b><b class='flag-5'>操作系统</b>的流式处理API

    Linux操作系统还是内核?

    内核是每个操作系统的中心。这不仅仅是 Linux 的事情。Windows 和 macOS 也有内核。
    发表于 03-15 10:05 1072次阅读

    LinuxWindows服务器操作系统有什么区别?

    服务器管理员经常接触两种主要的操作系统,即LinuxWindows,那么,我们如何选择适合我们服务器的操作系统呢?当然,首先这两个操作系统
    的头像 发表于 06-01 15:52 1247次阅读

    每次Vivado编译的结果都一样吗

    sequences Tool and command options Vivado software version Operating Systems 不同操作系统之间编译结果不能保证是相同
    的头像 发表于 11-11 11:23 174次阅读
    每次<b class='flag-5'>Vivado</b>编译的<b class='flag-5'>结果</b>都一样吗