Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DFX设计如何分析

DFX设计如何分析

作者头像
Lauren的FPGA
发布于 2023-11-09 09:18:07
发布于 2023-11-09 09:18:07
4920
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA

针对DFX设计,Vivado提供了命令report_pr_configuration_analysis,该命令会从设计复杂度、时钟和时序等方面对其进行分析。使用该命令时,我们主要会用到其中3个选项:-complexity、-clocking和-timing。

选项-complexity聚焦在设计的资源使用情况,会给出指定RP下各RM的资源使用情况,同时给出各RM之间相比各种资源使用量的最大值,这需要用到选项-cells和-dcps。其中-cells指定RP的名字,而-dcps则会列出各RM所在的dcp文件。如下图所示,Static列显示了静态区的资源利用情况,RP1 Max给出了RP1各RM相比各种资源使用量的最大值。这一点可从报告的第二部分进行验证。报告的第二部分是对各RM资源利用情况的比较。

选项-clocking聚焦在时钟的使用情况上。会给出各时钟在静态区和每个RM的负载个数,如下图所示。

选项-timing聚焦在时序上,给出各RM和静态区接口关键路径时序,如下图所示。

为了对各RM进行比较,使用report_pr_configuration_analysis时,要添加选项-cells和-dcps。由于该命令会逐次打开所有指定的dcp文件,所以会比较耗时,为此,确保每打开一个dcp,所要分析的条目全部执行。这里给出该命令的最佳使用方式,如下图所示,即同时添加-complexity、-clocking和-timing这3个选项。

我们还可以用report_drc对DFX设计进行分析,如下图所示,点击Vivado左侧导航栏的Report DRC后会弹出如下图所示界面,确定勾选DFX。建议在综合之后执行该命令,这样可以尽早发现设计存在的问题。

对于DFX设计,所有configuration的静态区应该是完全一致的,因为Parent Run一旦执行完毕,工具就会在布线层面锁定静态区供后续child run使用。我们可借助命令pr_verify来验证各configuration对应的静态区是完全一致的,具体命令如下:

该命令生成报告如下:

Copyright @ FPGA技术驿站

转载事宜请私信 | 获得授权后方可转载

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA技术驿站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
DFX设计中的常见问题
DFX(Dynamic Function eXchange)的前身是PR(部分可重配置,Partial Reconfiguration)。使用DFX这个名字更能准确描述其功能,即在线切换设计中某个模块的功能。我们把这个模块对应的FPGA物理区域称之为一个可重配置分区(RP,Reconfigurable Partition)。同一个RP下可动态切换的模块称之为可重配置模块(RM,Reconfigurable Module)。一个RP下可以有一个或多个RM。每个RP要通过手工布局(画Pblock)的方式指定其在FPGA中的具体位置和大小(位置约束+面积约束)。
Lauren的FPGA
2023/09/24
7970
DFX设计中的常见问题
如何给每个RM添加约束?
在DFX设计中,我们也会碰到类似的情形,即给同一个RP(Reconfigurable Partition)下的不同RM(Reconfigurable Module)添加不同的约束。这时要考虑几个因素:同一个RP下不管有几个RM,在设计中均对应同一个实例化的名字。这意味着不能仅仅通过SCOPE_TO_CELLS将这些约束对应到不同的RM上。另外,每个RM只有在自身对应的configuration上才有效,所以要保证在这个configuration上对应的RM的约束也要有效。从下图可以看到,当前这个DFX设计中有一个RP,名字为图中红色方框所示,该RP下有两个RM,分别为rp1rm1和rp1rm2。
Lauren的FPGA
2023/08/18
3160
如何给每个RM添加约束?
DFX设计中如何减少Partition Pin的个数
在DFXs设计中,RM和静态区之间的信号称之为边界信号。所有RM的输入/输出端口必然会有Partition Pin,布局工具会将Partition Pin放置在边界信号的某个节点上,如下图所示,图中白色高亮部分即为Partition Pin,左侧显示了这个Partition Pin的位置。
Lauren的FPGA
2023/11/23
3360
DFX设计中如何减少Partition Pin的个数
UltraScale/UltraScale+ DFX设计检查清单
采用UltraScale/UltraScale+芯片进行DFX设计时,建议从以下角度对设计进行检查。
Lauren的FPGA
2024/01/19
3750
UltraScale/UltraScale+ DFX设计检查清单
深度解析ug1292(1)
ug1292第一页的主题是初始设计检查。这一步是针对综合后或者opt_design阶段生成的dcp。尽管在Vivado下,从功能仿真到综合、布局布线、直至生成.bit文件是相对自动化的流程,但是解决时序违例仍然是一个复杂且耗时的过程。仅仅靠log信息或者布线后的时序报告往往很难定位,这是因为实现过程中的每一步(opt_design逻辑优化,place_design布局, phys_opt_design物理优化, route_design布线)都会做一些优化,这些优化可能会导致关键路径被掩盖,例如,有时发现设计中逻辑级数(Logic Level)较高的路径时序收敛了,反倒是逻辑级数较低甚至为0的路径出现时序违例。因此,采取按部就班的策略,检查每一步的结果,及时且尽早发现设计中的问题是很有必要的。
Lauren的FPGA
2019/10/30
1.5K0
DFX模式下如何读入模块的网表文件
DFX模式下要求在设计的顶层文件,每个RP对应的RM只以一个空的接口形式存在,这样对顶层综合时,RM就是黑盒子。而对每个RM要采用OOC的综合方式。OOC综合本质上就是工具不会对设计的输入/输出端口插入IBUF/OBUF,同时生成该模块对应的网表文件。不论是第三方工具还是Vivado都是如此。对RM执行OOC综合,这在DFX过程中是必要的。在后续布局布线时,工具要依次读入静态区的网表文件(RM为黑盒子)、每个RP对应的RM的网表文件,这样才能形成完整的网表文件。这就要求同一个RP下的所有RM的输入/输出端口必须完全相同,包括端口的名字、方式、位宽。那么一旦静态区的网表文件和动态区的RM的网表文件准备好之后,如何读入以便Vivado后续执行布局布线?这里我们给出三种可行方法。
Lauren的FPGA
2023/09/27
3140
DFX模式下如何读入模块的网表文件
优化DFX设计
避免RP和RP之间的直接路径 假定设计中存在两个RP,分别为RP1和RP2,那么就要避免出现RP1输出直接连接到RP2或者相反从RP2输出直接连接到RP1的路径。因为这时RP边界信号(连接RP1和RP2的net)的负载都在动态区,从而必然形成Partition Pin,由于边界信号没有经过静态区逻辑单元,这些Partition Pin最终会有相应的PPLOC,这其实就增加了后续的布线压力。这种情况下,最好将其优化为RP1-> FF -> RP2。其中FF在静态区。
Lauren的FPGA
2023/11/30
2520
优化DFX设计
针对UltraScale/UltraScale+芯片DFX应考虑的因素有哪些(1)
对于UltraScale/UltraScale+芯片,几乎FPGA内部所有组件都是可以部分可重配置的,这包括CLB中的查找表(LUT)、触发器(FF)、移位寄存器(采用LUT实现)、分布式RAM/ROM等,Block如BRAM、URAM、DSP、GT(高速收发器)、PCIe、CMAC、Interlaken MAC等,SYSMON(XADC和System Monitor),时钟单元如BUFG、MMCM和PLL等,I/O相关单元如ISERDES、OSERDES和IDELAYCTRL等。只有与配置相关组件必须在静态区,包括BSAN、CFG_IO_ACCESS、EFUSE_USR、ICAP、FRAME_ECC、MASTER_JTAG、STARTUP、和USR_ACCESS。
Lauren的FPGA
2023/12/17
4670
针对UltraScale/UltraScale+芯片DFX应考虑的因素有哪些(1)
Vivado Non-Project模式
read_verilog [ glob ./sources_1/imports/new/*.v ]
瓜大三哥
2018/07/30
1.7K0
Vivado Non-Project模式
在Vivado中实现ECO功能
应用场景:如何利用Tcl 在已完成布局布线的设计上对网表或是布局布线进行局部修改,从而在最短时间内,以最小的代价完成个别的设计改动需求。 什么是ECO? ECO 指的是Engineering Chan
瓜大三哥
2018/02/26
3.3K0
在Vivado中实现ECO功能
读懂用好Timing Report
静态时序分析 静态时序分析(Static Timing Analysis)简称STA,采用穷尽的分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误并报告。 STA 不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少、覆盖率极高,不仅可以对芯片设计进行全面的时序功能检查,而且该可以利用时序分析的结果来优化设计。所以STA不仅是数字集成电路设计Timing Sign-o
瓜大三哥
2018/02/26
4.3K0
读懂用好Timing Report
Vivado的Implementation都包含哪些步骤?
  Vivado会优先对全局资源进行布线,比如时钟、复位、I/O和其他专用资源;接下来就是根据时序的紧张程度进行布线,优先布线时序紧张的路径。
猫叔Rex
2022/01/24
1.9K0
Vivado的Implementation都包含哪些步骤?
Vivadoz中增量编译与设计锁定
所谓增量实现,更严格地讲是增量布局和增量布线。它是在设计改动较小的情形下参考原始设计的布局、布线结果,将其中未改动的模块、引脚和网线等直接复用,而对发生改变的部分重新布局、布线。这样做的好处是显而易见的,即节省运行时间,能提高再次布局、布线结果的可预测性,并有助于时序收敛。
碎碎思
2021/01/28
8870
Xilinx 7A 开发流程——工程模式 ARTY XC7A35T
二、设计文件输入 Flow Navigator–Project Manager–add sources或Sources窗口的
战神伽罗
2021/03/02
9430
Xilinx 7A 开发流程——工程模式 ARTY XC7A35T
深度解析ug1292(2)
ug1292第二页的主题是时序收敛基线流程。该流程如下图所示。可以看到该流程要求在实现(Implementation)过程中的每一个子步骤结束之后都要检查WNS是否大于0,只有当WNS大于0时,才可以进行下一个子步骤。同时,在布局之后,还要检查WHS是否大于-0.5ns。此外,只有当WNS小于0时,执行phys_opt_design才有意义,毕竟phys_opt_design的目的是修复建立时间违例。由此可见,在实现的前期,更多关注的是建立时间违例。
Lauren的FPGA
2019/10/30
1.3K0
Xilinx FPGA Partial Reconfiguration 部分重配置 详细教程
  Partial Reconfiguration(部分重配置)在现在的FPGA应用中越来越常见,我们这次的教程以Project模式为例来说明部分重配置的操作过程。
猫叔Rex
2020/06/30
1.6K0
Xilinx FPGA Partial Reconfiguration 部分重配置 详细教程
Vivado 2019.1新特性(5):更新的report_qor_suggestions
report_qor_suggestions会分析当前设计中的关键路径,在此基础上给出优化建议。在Vivado之前的版本中,该命令会生成相应的.xdc或Tcl脚本,需要用户手动添加生成文件到当前工程中,具体可查看这篇文章(Vivado 2018.3 report_qor_suggestions怎么用)。在2019.1的版本中,report_qor_suggestions的使用方法有了重大调整。
Lauren的FPGA
2019/10/30
1.9K0
Vivado Tcl 脚本编译工程
工具命令语言(Tcl--Tool Command Language)是Vivado®工具环境中集成的脚本语言。Tcl是半导体行业中用于应用程序编程接口的标准语言,并由Synopsys®设计约束(SDC)使用。
FPGA开源工作室
2020/02/14
2.4K0
Vivado Tcl 脚本编译工程
DFX设计中有哪些bit文件?
Full configuration bitstreams对应的是静态区加动态区的完整设计,因此,该文件与传统的非DFX工程生成的bitstream从文件格式到文件结构均是一致的。同时使用方法也是一致的。另外,一些特征如对bitstream文件进行加密和压缩也是支持的。另一方面,这里的RP可以是黑盒子,即RP没有任何功能,这样可以最大程度缩减bitstream大小,如果再结合bitstream的压缩特性,那么就可以进一步提升FPGA初始配置时间。Full configuration bitstreams的加载过程如下图所示。加载完成且验证通过,DONE信号就会抬高,FPGA就进入用户模式,图中绿色标记。
Lauren的FPGA
2023/12/10
3710
DFX设计中有哪些bit文件?
Vivado设计锁定与增量编译(附工程)
该部分引用本公众号上一篇时序约束文章中的内容,在Quartus中采用逻辑锁定的办法来解决FPGA和外部接口的时序问题,也就是输入输出的寄存Rxd/Txd的寄存器到外部器件寄存器的时序问题。
网络交换FPGA
2019/10/29
2.5K0
Vivado设计锁定与增量编译(附工程)
相关推荐
DFX设计中的常见问题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档