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

FPGA系统架构设计实践5_IP的封装优化

控制集(control set)

a)概念
1)控制集是一个与触发器FF时序逻辑紧密相关的概念,主要用于描述影响触发器行为的控制信号组合。它是FPGA逻辑实现、资源利用、时序优化的关键考量因素,并非物理上的硬件模块,而是从逻辑和布线角度对触发器控制信号的抽象归类。控制集定义为一组共同作用于触发器的控制信号(clock、reset、set、enable等)的唯一组合。具体来说,每个触发器的行为由两类信号决定:数据信号+控制信号。当两个触发器的所有控制信号(时钟源、复位类型、使能信号等)完全一致时,它们属于同一个控制集,只要有一个控制信号不同(哪怕时钟源相同但复位类型不同,或使能信号不同),就属于不同的控制集。
2)与底层硬件关联:7系列FPGA每个slice包含8个FF,这些FF共享部分控制信号的布线资源。同一控制集的触发器可以共享控制信号的布线资源,而不同控制集的触发器需要独立的布线资源。这直接决定了控制集对资源利用和时序的影响。在Xilinx FPGA的slice中,触发器的控制信号接口是有限的,即一个slice的8个触发器可能只能接入2个不同的时钟源或3个不同的复位信号。若多个触发器属于同一控制集,它们可以被打包到同一slice中,共享控制信号布线,充分利用slice资源;若触发器分属不同的控制集,每个控制集可能需要占用独立的slice控制端口,导致slice中未使用的触发器资源被浪费。
3)此外,控制信号的布线延迟是时序预算的重要组成部分。同一控制集的触发器共享控制信号布线,延迟一致性好,工具可更精确地优化时序。不同控制集的触发器需要独立布线,可能导致:控制信号布线长度增加(尤其是全局时钟网络被占用后,不得不使用区域布线,延迟更大);控制信号到达不同触发器的skew增大,恶化建立时间和保持时间;工具在布局布线时需要为每个控制集单独优化,增加了时序收敛的难度。

b)量化指标
1)可以通过资源利用率、时序性能、控制集分布特征等维度的量化指标间接评估。这些指标的核心逻辑是:合理的控制集应在满足功能需求的前提下,使资源利用率最大化、时序性能最优,且控制集数量与设计规模匹配。
2)直接量化指标:控制集自身的分布特征。
①控制集总数量:对于小规模设计(<1K触发器),控制集数量应该<50。中大规模设计(1~100K触发器),控制集数量应该<触发器总数的5%。
②平均每个控制集包含的触发器数量:理想值通常应该>5。=1时表明每个触发器独占一个控制集,此时slice资源利用率很低。
③小控制集占比:仅包含≤2个触发器的控制集数量÷控制集总数量。合理范围应该<20%。
④slice的触发器利用率:若slice的总利用率高,但触发器利用率低,说明大量slice因控制集冲突被占用,但内部触发器未充分利用。触发器利用率应与slice总利用率匹配。
⑤时钟偏斜:合理控制集下,同一控制集的时钟skew应较小(通常小于1ns)。若某控制集的时钟skew显著大于其他集,可能因控制集过多导致布线资源紧张。类似的有复位/使能信号的最大延迟。
⑥可查看vivado在布局布线后报告的控制信号布线拥挤程度。

使用QoR建议和QoR评估帮助时序收敛

a)QoR建议报告命令(report_qor_suggestions)可使Vivado对设计进行分析,并提供自动化解决方案以提升结果质量。该命令可在综合后或实现流程的任意阶段,对已打开的设计运行。RQS命令会评估设计并提出修复或改进建议,其建议形式分为以下两类:
1) RQS对象:此类对象可向指定命令添加开关,或向指定设计对象添加属性,还允许借助机器学习算法,添加为设计定制的实现策略。
2)需用户干预的文本建议:此类建议需用户手动操作才能生效(如修改RTL代码、调整约束等)。

b)借助相同的分析技术,QoR评估报告命令(report_qor_assessment)可评估设计满足时序要求的可能性,并提供设计指标的快速汇总。

c)report_qor_assessment(简称RQA)命令可在实现流程的任意阶段执行,包括synth_design、opt_design、place_design、phys_opt_design、route_design之后。RQA会生成一个评估分数,用于指示设计满足时序要求的可能性,同时提供快速初步分析,列出需进一步排查的问题项。此操作将打开评估报告,该报告包含三个核心章节:评估汇总、需排查的难点时序路径、含DONT_TOUCH属性的对象。
1)
/
本章节展示了评估分数(如2 - 实现流程可能完成,但时序无法满足),并推荐运行report_qor_suggestions (RQS) 来获取优化QoR的具体建议。通过RQA命令可以检测是否存在可优化的RQS建议,并提供相应的问题排查指南。
2)
/
该章节列出导致当前评估分数的具体项(因勾选了报告达标指标,会显示标注为OK的达标项;默认仅显示需REVIEW的问题项)。以本实验为例,可看到WNS(最差负建立裕量)和TNS(总负建立裕量)指标标注为REVIEW(如 WNS=-0.396、TNS=-0.396),同时存在路径超过Net/LUT预算的问题。注:时序路径的指标通常反映最佳场景下的理论值,并非所有路径都能达到该值;而Net/LUT预算检查会用更贴近实际的Net延迟和LUT延迟值替代理论值,对因网表结构或资源稀疏导致的高难度路径进行惩罚标记,需优先排查这些路径。
3)
/
在难点时序路径选项中选择Net/LUT预算(Net/LUT budget)后,重点需关注以下两个参数:
i)Net检查裕量(Net Check Slack):替换为更高网线延迟值后的路径时序裕量;
ii)LUT检查裕量(LUT Check Slack):替换为更高LUT延迟值后的路径时序裕量。
通过双击路径可快速调出时序路径报告(Timing Path report),或使用F4快捷键查看路径原理图。这些操作均支持Vivado的cross-probing功能,方便用户深入分析路径延迟原因。
4)
/
在Design Runs窗口中,选择实现运行,展开属性窗口找到MIN_RQA_SCORE属性,设置后,若RQA评估分数低于该阈值,实现流程将终止(RQA最低分为 1,故需设为2及以上才生效)。
5)要自动生成 QoR 评估报告,请按以下步骤操作:打开实现运行属性窗口、切换到Reports签页、在Report Strategy下拉菜单中,选择Timing Closure Reports Strategy、其他可选配置方式:创建自定义报告策略,在Tcl hook中添加report_qor_assessment命令(注意:该命令需在运行目录下执行才有效)。

d)report_qor_suggestions(简称RQS)命令可在综合后的任意实现流程阶段(项目模式下通常为综合或实现后;非项目模式下可在synth_design、link_design、opt_design、place_design、phys_opt_design或route_design后),对已打开的设计运行。
1)GENERATED_AT(显示建议生成时的设计阶段,典型值为place_design或route_design)、APPLICABLE_FOR(需重新运行该阶段,建议才能生效)、AUTOMATIC(指示建议是否可自动执行,自动建议包括推荐工具开关(如opt_design -directive Explore)或给单元 / 网线添加属性)、INCREMENTAL FRIENDLY(指示建议是否适配增量流程)、SCOPE(指示目标综合运行层级,GLOBALSCOPE为顶层,否则为子模块)。
2)
/
在GENERATED视图中,点击RQS_NETLIST_10_1行。从APPLICABLE_FOR列可见,该建议为自动可执行(AUTOMATIC=Yes) 且适用于synth_design,这意味着需重新运行synth_design命令才能应用该建议。
3)
/
选中该行后,QoR建议属性(QoR Suggestion Properties) 窗口将显示该建议的属性。查看COMMAND属性可确认:该建议将为synth_design生成前向重定时属性(set property RETIMING_FORWARD 2),用于平衡时序路径。
4)
/可通过勾选 / 取消勾选建议旁的复选框,筛选需写入文件的建议。例如,取消勾选RQS_XDC_1_1以排除该建议。

e)Run with Suggestions
1)
/
/
/
运行打开后,RQA Summary。可见QoR评估分数从2(时序无法满足)提升至 3(设计有小概率成功),证明RQS建议已初步生效。在 QoR评估报告中,选择评估详情,可见原标注为REVIEW的Net/LUT 预算超标问题已消失,仅剩余DONT_TOUCH 对象等非时序类问题。
2)当place_design完成后,打开新实现运行的实现日志文件(implementation log),查看文件顶部的QoR建议读取汇总表格。
/
3)打开布局后检查点并重新生成RQS报告,新报告的建议报告(Suggestion Report)下新增以下章节:GENERATED(当前阶段生成的新建议)、APPLIED(已成功应用的建议,如上一步综合/布局中执行的自动建议)、EXISTING(之前生成但未应用的建议)、FAILED TO APPLY(因设计对象已不存在而应用失败的建议)。

f)建议积累
1)RQS会在设计流程的不同阶段生成不同建议,核心原因是设计状态随流程推进不断更新,RQS可利用更精准的信息生成优化方案。各阶段信息精度变化如下:时钟估计(布局后的时钟延迟、skew等参数估计更准确)、拥塞信息(布局后开始获取拥塞数据,布线后拥塞分析精度进一步提升)、时序估计(时序裕量的计算精度随流程推进逐步提高,且受分析路径数量影响)。

g)自动运行QoR建议
1)AUTO_RQS流程会在opt_design、place_design以及实现运行结束时(route_design或post_route_phys_opt_design)自动生成QoR建议,并完成生成→应用→积累的全流程,无需用户手动干预。
2)在 AUTO_RQS 流程中,优化后的建议列表分三个阶段生成,所有建议始终以最大化QoR提升为目标。各阶段建议的生成时机和功能如下:阶段1在opt_design后,基于优化后的设计生成建议,如果建议的生效阶段(APPLICABLE_FOR)属于后续流程(如place_design),则自动在当前运行中启用并在后续阶段应用;阶段2在place_design后,利用布局后的精准信息(如时钟偏差、初步拥塞情况)生成新建议;阶段3在最终步骤后(route_design或post_route_phys_opt_design),结合布线后的完整信息(如实际路径延迟、拥塞分布)生成最终建议,将此阶段建议与阶段2的布局建议、阶段1的优化建议进行合并,最终将所有建议写入RQS文件。当运行被重置(Reset Runs)时,合并后的RQS文件会自动写入utils_1源文件集;在下一次运行中,所有建议将被自动应用。
3)
/
4)
运行完成后,在实现运行属性窗口中,切换到报告标签,在报告列表中选择QoR Suggestions(QoR 建议报告),该报告由AUTO_RQS流程自动生成,包含以下关键信息:报告生成时机(分别在opt_design、place_design、route_design后生成)、建议状态(标注每条建议的 GENERATED_AT、APPLICABLE_FOR、APPLIED/FAILED TO APPLY)。
/

使用dataflow

a)DFV能够帮助深入理解设计中影响布局布线质量的关键部分,实现方式如下:在经过数据流优化的简化网表中,识别宽总线、高带宽总线;识别与这些总线相关的单元 ,此类单元的布局对设计的布局质量有显著影响;生成与目标宽总线相关的多单元路径,为布局分析提供更全面的视角;生成布局规划(floorplan),将总线上的关联单元整合放置,优化布线效率。

b) (未完待续)

http://www.dtcms.com/a/609338.html

相关文章:

  • UDP服务端绑定INADDR_ANY后,客户端该用什么IP访问?
  • 不同传感器前中后融合方案简介
  • 《C++在LLM系统中的核心赋能与技术深耕》
  • sward V2.1.5 版本发布,支持文档导出为html\PDF,社区版新增多种账号集成与认证
  • 东莞建站网站模板怎么做电脑网站后台
  • 物联网赋能互联网医院:构建智慧医疗新生态
  • node.js+npm的环境配置以及添加镜像(保姆级教程)
  • Java 大视界 -- 基于 Java 的大数据联邦学习在跨行业数据协同创新中的实践突破
  • 企业做网站电话约见客户的对话北京网站建设 一流
  • Android Studio + Gemini 移动开发领域的一次范式转移
  • 基于多源政策信号解析与量化因子的“12月降息预期降温”重构及黄金敏感性分析
  • LinuxC语言文件i/o笔记(第十七天)
  • Spring AI Evaluation Testing(评估测试)
  • 太仓营销型网站建设四平网站建设怎么选
  • 记一次慢接口优化:载体详情页从90秒到800毫秒的性能提升实战
  • 微软Visual Studio 2026正式登场,AI融入开发核心操作体验更流畅
  • 微软vcpkg包管理工具如何使用?
  • 提供小企业网站建设织梦网站默认密码忘记
  • 基于XTOM蓝光扫描的复杂中小尺寸零件3D形貌重建与全尺寸误差分析
  • Qt 自定义菜单栏 / 工具栏按钮 QToolButton + InstantPopup 详细解析
  • 2025年AI生成PPT工具深度评测:技术对比与实战分析
  • 智慧园区:科技赋能下的安全便捷生活新范式
  • 华为WATCH 5:连接心与心,让生活更美好
  • 内容管理系统解决方案架构及实施
  • 建设银行网站的服务管理商业机构的网站是什么
  • Python与大数据:使用PySpark处理海量数据
  • Django 缓存详解与应用方法
  • SDN架构详解
  • Spring Boot缓存实战:@Cacheable注解详解与性能优化
  • LeetCode热题100--17. 电话号码的字母组合