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

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

3天内不再提示

什么是DFX技术?DFX设计一定要执行设计规则检查吗?

FPGA技术驿站 来源:FPGA技术驿站 2023-09-21 09:21 次阅读

什么是DFX技术?

DFX(Dynamic Function eXchange)的前身是PR(部分可重配置,Partial Reconfiguration)。使用DFX这个名字更能准确描述其功能,即在线切换设计中某个模块的功能。我们把这个模块对应的FPGA物理区域称之为一个可重配置分区(RP,ReconfigurablePartition)。同一个RP下可动态切换的模块称之为可重配置模块(RM,Reconfigurable Module)。一个RP下可以有一个或多个RM。每个RP要通过手工布局(画Pblock)的方式指定其在FPGA中的具体位置和大小(位置约束+面积约束)。

DFX对RM有什么要求?

首先,同一个RP下的所有RM必须保证端口一致,即输入/输出方向一致、位宽一致。即使某个RM中使用的端口在另一个RM中未被使用,也要在该RM中进行端口声明。其次,本身DFX设计对设计的层次化要求更高,对RM必须采用OOC综合方式,因此,要避免在RM中使用Parameter(Verilog)或Generic(VHDL)。最后,RM的顶层必须是RTL代码(可以是BD的wrapper文件),不能是IP或着网表文件,同时RM下不能包含EDIF或DCP等网表文件,但可以包含IP(.xci)文件。

需要对RP进行手工布局吗?

DFX设计要求必须对动态区也就是RP进行手工布局,即通过Pblock来约束RP的位置和大小,同时Pblock的形状尽可能为规则的矩形,避免出现奇形怪状,这会对布局布线带来较大压力。对于静态区,则可以不用手工布局。如果对动态区没有做Pblock约束,那么会报如下错误:

23ed1a34-5812-11ee-939d-92fbcf53809c.png  

DFX设计一定要执行设计规则检查吗?

相比于传统设计,DFX设计较为复杂,无论是从设计本身(RTL代码的层次化、约束)的角度看还是工具的使用角度看,都是如此。因此,在综合后,一定要执行设计规则检查,如下图所示。这样能尽早发现设计可能存在的问题。这里并不需要对所有规则都做检查,只需要检查DFX相关的规则即可。这样可以节省时间。

23fb7c5a-5812-11ee-939d-92fbcf53809c.png

可以对同一RP下不同的RM添加不同的约束吗?

假定RP1下有两个RM,分别为RM1和RM2,由于RM1和RM2本身功能并不相同,因此可能就存在一些约束层面的差异。例如:在RM1里需要对某些路径添加set_max_delay约束,在RM2里则需要对一些路径添加set_false_path约束。这就要求对不同的RM施加不同的约束。对此,Vivado是支持的,无论是Project模式还是Non-Project模式。具体操作可阅读这篇文章。

如何给每个RM添加约束?

BD可以用作动态区的顶层吗?

这个问题的本质是RM是否可以用BD创建。答案是肯定的。只是这时需要将BD设计转换为BDC(Block Design Container),勾选下图中的红色方框所示内容即表明该模块是一个RM。

24259422-5812-11ee-939d-92fbcf53809c.png

除了上述几个问题之外,我们还需要从以下角度来看待DFX设计。

DFX设计本质上是FPGA内嵌入了FPGA,也就是说RP可视为一个内嵌的FPGA,那么这个RP的可用逻辑资源、布线资源和IO也就固定了。正因此,RP的Pblock的大小和形状对设计性能有较大影响,同时,RM的输出/输出端口个数应尽可能少,过多的IO个数大概率会导致布线拥塞。因此,同样的设计,使用DFX和不使用DFX可能会有不同的时序结果。层次化设计在DFX设计中也非常重要,将直接影响合动态区和静态区的分割。






审核编辑:刘清

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

    关注

    1602

    文章

    21320

    浏览量

    593195
  • VHDL语言
    +关注

    关注

    1

    文章

    113

    浏览量

    17802
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59064
  • DCP
    DCP
    +关注

    关注

    0

    文章

    28

    浏览量

    17027
  • dfx设计
    +关注

    关注

    0

    文章

    6

    浏览量

    65

原文标题:DFX设计中的常见问题

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何对传统的非DFX设计进行调试呢?

    对传统的非DFX设计进行调试时,一个重要环节是插入ILA(Integrated Logic Analyzer,集成逻辑分析仪)。
    的头像 发表于 08-10 09:07 615次阅读
    如何对传统的非<b class='flag-5'>DFX</b>设计进行调试呢?

    DFX设计如何分析

    针对DFX设计,Vivado提供了命令report_pr_configuration_analysis,该命令会从设计复杂度、时钟和时序等方面对其进行分析。使用该命令时,我们主要会用到其中3个选项:-complexity、-clocking和-timing。
    的头像 发表于 11-09 11:23 456次阅读
    <b class='flag-5'>DFX</b>设计如何分析

    采用UltraScale/UltraScale+芯片的DFX设计注意事项

    采用UltraScale/UltraScale+芯片进行DFX设计时,建议从以下角度对设计进行检查
    的头像 发表于 01-18 09:27 361次阅读
    采用UltraScale/UltraScale+芯片的<b class='flag-5'>DFX</b>设计注意事项

    招兼职dfx、dfm培训讲师

    企业培训公司面向单位员工培训,长期招dfx、dfm兼职老师,般三天左右的短周期培训,周末为主,有2人左右的小辅导,也有30人左右的培训大班,待遇优,北京,上海,成都,广州,深圳等,如您想挣点外块
    发表于 08-28 15:47

    硬件电路设计中常见的DFX

    本文主要介绍硬件产品设计中的些常见的DFXDFX是DesignforX的缩写,是指面向产品生命周期各环节(或者某环节)的设计。其中,X可以代表产品生命周期或其中某
    发表于 03-16 16:48

    如何获取StateMachine中的当前状态用作设计中的DFX

    个人觉得耳目新,写出来的代码如同伪代码般令人读着如同种享受。然而在有些设计里会有要求是能够通过HPI实时获取状态机当前的状态用于监控,然而如何在SpinalHDL中获取当前的state来做DFX难倒
    发表于 06-30 15:19

    PCB板DFX工艺性要求

    PCB板DFX工艺性要求PCB板DFX工艺性要求
    发表于 07-26 16:29 0次下载

    21年前的3dfx Voodoo 5 6000显卡复活了

    老鸟们,还记得3dfx吗? 二十世纪末,3dfx在NVIDIA、ATI、S3的夹击下艰难求生,但却选择了错误的技术路线,于2002年关张(被NVIDIA收购)。 Voodoo 5 6000是3
    的头像 发表于 02-19 15:33 2320次阅读

    简述DFX理念与产品研发(一)

    随着市场竞争的日益激烈,产品低价格、高质量、交货周期短已成趋势,在电子制造业中,躺着赚钱的日子一去不返,越来越多的企业开始重视DFX,然而DFX如何快速融入企业及产品开发中呢? 传统的产品开发与生产
    的头像 发表于 09-28 16:01 2716次阅读

    简要分析DFX实施流程

    新产品开发,尤其是电子产品的开发过程,通常包含了硬件设计、软件开发、结构设计、DFX等等,DFX作为其中不可或缺的一部分,它也应同硬件开发、软件开发一样贯穿与整个开发流程,笔者认为,它也应该有
    的头像 发表于 09-28 16:14 3009次阅读

    HarmonyOS对DFX能力的要求

    提到开发一个产品,我们通常首先想到的是要实现什么样的功能,但是除了功能之外,非功能属性也会很大程度上影响一个产品的体验效果,比如不定时出现的应用卡死、崩溃现象。那为什么有的系统故障频频,有的却很少出现这些问题呢,这就不得不提到我们今天的主角DFX了。
    的头像 发表于 12-17 14:39 3119次阅读

    DFX模式下如何读入模块的网表文件

    插入IBUF/OBUF,同时生成该模块对应的网表文件。不论是第三方工具还是Vivado都是如此。对RM执行OOC综合,这在DFX过程中是必要的。在后续布局布线时,工具要依次读入静态区的网表文件(RM
    的头像 发表于 09-27 09:45 301次阅读

    芯片DFX:Coresight架构

    最近接触到了一些产线的Test的东西,然后发现这里面有一些DFX的相关东西。
    的头像 发表于 11-05 17:04 642次阅读
    芯片<b class='flag-5'>DFX</b>:Coresight架构

    DFX可制造性设计与组装技术

    今天分享是《DFX可制造性设计与组装技术》 资料
    的头像 发表于 12-11 11:10 370次阅读
    <b class='flag-5'>DFX</b>可制造性设计与组装<b class='flag-5'>技术</b>

    如何在AMD Vivado™ Design Tool中用工程模式使用DFX流程?

    本文介绍了在 AMD Vivado™ Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的过程中要把具体步骤映射到相应的 DFX 非工程模式的步骤,这样才能更好地理解整个流程的运行
    的头像 发表于 04-17 09:28 124次阅读
    如何在AMD Vivado™ Design Tool中用工程模式使用<b class='flag-5'>DFX</b>流程?