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

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

3天内不再提示

如何在实现流程中将RQA与RQS结合使用的设计示例

454398 来源: XILINX威廉希尔官方网站 社区 作者: XILINX威廉希尔官方网站 社区 2020-09-29 11:11 次阅读

通过之前的博文,我们已经学会了如何使用 Report QoR Assessment (RQA) 和 Report QoR Suggestions (RQS) 来改进总体设计分析以及设计的时序收敛体验。

本篇博文将通过一个具体设计示例来演示如何在实现流程中将 RQA 与 RQS 结合使用。

RQA 能为设计提供评估得分,并提供有关后续步骤的指导信息,而 RQS 则可提供适用的改进措施的建议和策略。

RQA 和 RQS 都要求设计已完成综合或实现,才能对其进行分析。这两者会在设计中寻找故障点,然后评估设计是否有可能满足其设计目标。

作为演示,我们选择了一项设计,并在为其运行初始 opt_design 后运行 RQA。RQA 报告如下所示:

让我们来看看评估得分汇总表(流程指南),了解其中每个部分的意义,然后直接查看评估详情。

此设计的初始评估得分为 3,即其成功可能性较小。通常,得分不低于 3 分表示 RQS 应该能够对设计进行改进,因此,我们将继续执行后续步骤。

如果得分为 1 或 2,则表示设计满足要求并完成实现步骤的可能性极低。在此情况下,建议是先返回并修复问题区域。

继续来看“方法论严重性”部分,汇总信息中显示存在一些严重警告。我们可以选择解决这些警告或者将其豁免。

对于本篇博文,我们选择将其豁免。请注意,您还可以使用报告方法论 (Report Methodology) 来运行完整方法检查,并修复所有警告,然后再继续后续步骤。

接下来的段落提供了 ML 策略合规性和增量编译合规性方面的信息。ML 策略仅限在 PnR 完成后才可用。增量流程也应在 PnR 完成后使用,并且通常建议在以下前提下执行:设计不存在关键问题并且设计处于时序收敛的最终阶段。即使 Vivado 工具未提供相关建议,我们也可以继续运行 ML 策略和增量合规性。

最后一段提供了“建议流程”阶段的相关信息。这一段为我们提供了有关继续执行后续步骤之前需要完成的操作的信息。在此情况下,我们会看到“复查方法论”警告,可以选择将其修复或者豁免。如上文所述,我们先暂时将其豁免。

如果在建议流程阶段并未提供具体指南,那么您始终可以继续通过运行 RQS 来提升 RQA 得分。

QoR 评估详情:

正如报告中所示,该表提供了有关 WNS 的信息以及许多其它使用情况指标。

此设计的初始 WNS 为 -0.580 ns。

状态列能帮助我们简单了解需要复查和修复的问题。阈值应被视为指导性数值,并非必须遵守的硬性规则。只要您留意这些数值,就可以看到虽然其中标记了许多需要复查的区域,但“内存 LUT (Memory LUT)”的值达到了阈值的 2 倍以上。

得到初始 RQA 评分后,就可以在任何阶段运行 report_qor_suggestions 并手动或自动应用这些建议来改进设计。

我们建议在完成 place_design 之后再执行 RQS 的初始运行,因为在此阶段,时钟 (clocking) 建议和偏差数值是准确的。并且,在 place_design 完成后还会提供拥塞建议。

假设我们继续执行实现流程,运行 opt_design 和 place_design,然后运行 report_qor_suggestions。

这样即可得到如下所示建议报告汇总:

在此报告中可以看到,有多项有关利用率、时钟、时序和拥塞的建议,该表还提到了生成和适用这些建议的阶段。

您还会注意到,这些建议可分为自动(即当您重新运行此流程后,会自动选取并应用这些建议)建议或手动(即这些建议将需要人工干预)建议。

请注意,表中建议的组织方式为按其对设计的 RQA 得分的影响从高到低排列。

在此阶段,我们必须运行 place_design 并运行这些建议,以便使改进生效。请注意 RQS 建议表,其中部分建议适用于 synth_design。 其中许多综合建议与 place_design 建议重叠,因此您可任选其中之一运行。

如果您运行的是 place_design 建议而不是综合建议,此流程可选择执行相应的建议。(例如,RQS_CONG-3_2-1 和 RQS_CONG3_1-1)在此情况下,如果您已运行 place_design,就无需再运行综合建议。

上表中显示的自动建议将在适用的阶段中实施,随后我们可以重新运行 RQA 来检查评分。

执行 opt_design 和 place_design 并应用建议后,RQA 得分仍为 3,如下表所示。

但请注意,应用建议后,WNS 得分已提升至 -0.21 ns。

由于评估表较为简洁,您可将该表与前表进行比对,查看设计参数中的改进。此外,请注意,在此用例中,流程指南建议您运行 report_qor_suggestions。

可以看到,设计布线后阶段的 RQA 得分为 4。WNS 现已提升到 -0.11 ns,相比第一份报告,内存 LUT 已显著降低。

应用 RQS 建议并继续执行实现步骤后,得分从 opt_design 阶段的 3 分提高到 route_design 阶段的 4 分。

如果您重复此过程,添加更多建议,那么 QoR 参数将能继续提高。

请注意,RQA 得分的细化程度并不足以显示拥塞、时序、利用率和时钟方面的所有改进成果。

例如,下表显示 RQA 得分为 4,但 WNS 数值已从 -0.11 ns 提高到 -0.02 ns。

以上汇总表显示设计现已符合 ML 策略和增量编译的要求。仅当 PnR 已完成、所有关键设计修改均已完成并且设计运行时所有 Directive 均设置为 default 或 explore 后,ML 策略才可用。

如果设计非常接近时序收敛并且 RQA 得分为 4 或 5,那么您就可以利用 RQS 建议来启用增量流程。在我们的示例中,当前设计的 RQA 得分为 4,并且符合增量编译和 ML 策略的要求。在此类情况下,工具将为您提供最佳选项建议。

应用 ML 策略后的最终 RQA 得分为 5,评估得分如下所示:

请观察 RQA 与 RQS 的结合作用,它帮助我们改进了 QoR,并且将 RQA 得分从 3 提升到 4,最后,在时序收敛的最后冲刺阶段,它引入了 ML 策略和增量合规性,以实现设计收敛。

总结

通过本设计示例,我们学习了如何将 RQS 与 RQA 结合使用,以帮助我们清理设计中的时钟、拥塞和时序问题。

随后,当我们非常接近设计收敛时,通过运行基于 ML 的策略和增量编译,即可帮助我们完成最后一步。

编辑:hfy

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

    关注

    10

    文章

    1733

    浏览量

    131470
  • 时序
    +关注

    关注

    5

    文章

    387

    浏览量

    37325
  • Vivado
    +关注

    关注

    19

    文章

    812

    浏览量

    66499
收藏 人收藏

    评论

    相关推荐

    Vivado之实现布局布线流程介绍

    一、前言 本文将介绍Vivado进行综合,以及布局布线的内部流程,熟悉该流程结合Settings中对应的配置选项,对于时序收敛调试将更具有针对性。 二、Implementation(实现
    的头像 发表于 12-06 09:08 333次阅读
    Vivado之<b class='flag-5'>实现</b>布局布线<b class='flag-5'>流程</b>介绍

    何在KEIL软件中将变量定义在特定的RAM空间中

    _____________________________________________________________如何在KEIL软件中将变量定义在特定的RAM空间中
    发表于 10-16 22:47

    何在标准接口电路中将光耦合器替换为数字隔离器

    电子发烧友网站提供《如何在标准接口电路中将光耦合器替换为数字隔离器.pdf》资料免费下载
    发表于 09-27 09:45 0次下载
    如<b class='flag-5'>何在</b>标准接口电路<b class='flag-5'>中将</b>光耦合器替换为数字隔离器

    何在 TIDK 器件和客户产品 HS 器件中完成安全流程

    电子发烧友网站提供《如何在 TIDK 器件和客户产品 HS 器件中完成安全流程.pdf》资料免费下载
    发表于 09-13 11:08 0次下载
    如<b class='flag-5'>何在</b> TIDK 器件和客户产品 HS 器件中完成安全<b class='flag-5'>流程</b>

    使用TPS2121实现备用电源自动切换的设计示例

    电子发烧友网站提供《使用TPS2121实现备用电源自动切换的设计示例.pdf》资料免费下载
    发表于 09-07 10:55 0次下载
    使用TPS2121<b class='flag-5'>实现</b>备用电源自动切换的设计<b class='flag-5'>示例</b>

    何在反激式拓扑中实现软启动

    电子发烧友网站提供《如何在反激式拓扑中实现软启动.pdf》资料免费下载
    发表于 09-04 11:09 0次下载
    如<b class='flag-5'>何在</b>反激式拓扑中<b class='flag-5'>实现</b>软启动

    何在DRA821U上使用Linux实现快速引导

    电子发烧友网站提供《如何在DRA821U上使用Linux实现快速引导.pdf》资料免费下载
    发表于 09-03 10:11 0次下载
    如<b class='flag-5'>何在</b>DRA821U上使用Linux<b class='flag-5'>实现</b>快速引导

    何在楼宇自动化设计中将以太网电缆延伸至150米

    电子发烧友网站提供《如何在楼宇自动化设计中将以太网电缆延伸至150米.pdf》资料免费下载
    发表于 08-30 11:13 0次下载
    如<b class='flag-5'>何在</b>楼宇自动化设计<b class='flag-5'>中将</b>以太网电缆延伸至150米

    何在FPGA中实现随机数发生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7中实现4位伪随机数发生器(PRNGs)。
    的头像 发表于 08-06 11:20 673次阅读
    如<b class='flag-5'>何在</b>FPGA中<b class='flag-5'>实现</b>随机数发生器

    何在FX3SMassStorage和GpifToStorage示例中连接SD卡?

    何在 FX3SMassStorage 和 GpifToStorage 示例中连接 SD 卡? 针脚编号写在哪个部分?
    发表于 07-22 08:16

    何在PyTorch中实现LeNet-5网络

    等人提出,主要用于手写数字识别任务(如MNIST数据集)。下面,我将详细阐述如何在PyTorch中从头开始实现LeNet-5网络,包括网络架构设计、参数初始化、前向传播、损失函数选择、优化器配置以及训练流程等方面。
    的头像 发表于 07-11 10:58 787次阅读

    何在SDK中实现WPS?

    我不知道如何在SDK中实现WPS。SDK 附带了一个示例,但它似乎对我不起作用。它编译了,但什么也没发生。从 uart 输出中,我可以看到 wps 甚至没有启动。 我真的真的需要帮助。代码如下
    发表于 07-11 07:12

    何在RTOS SDK中将FRC1计时器附加到NMI的信息?

    我一直在寻找有关如何在 RTOS SDK 中将 FRC1 计时器附加到 NMI 的信息。我已经找到了 NON-OS SDK 所需的内容,但我找不到 RTOS SDK 的 NON-OS ETS_FRC_TIMER1_NMI_INTR_ATTACH(pwm_intr_hand
    发表于 07-10 08:32

    使用TSIP驱动程序(Azure RTOS)的TLS实现示例

    电子发烧友网站提供《使用TSIP驱动程序(Azure RTOS)的TLS实现示例.pdf》资料免费下载
    发表于 01-31 10:13 3次下载
    使用TSIP驱动程序(Azure RTOS)的TLS<b class='flag-5'>实现</b><b class='flag-5'>示例</b>

    何在Creator4.4中将我的.c 文件加密为.lib文件?

    何在Creator4.4中将我的.c文件加密为.lib文件?
    发表于 01-19 07:05