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

什么是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约束,那么会报如下错误:
dfx设计一定要执行设计规则检查吗?
相比于传统设计,dfx设计较为复杂,无论是从设计本身(rtl代码的层次化、约束)的角度看还是工具的使用角度看,都是如此。因此,在综合后,一定要执行设计规则检查,如下图所示。这样能尽早发现设计可能存在的问题。这里并不需要对所有规则都做检查,只需要检查dfx相关的规则即可。这样可以节省时间。
可以对同一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。
除了上述几个问题之外,我们还需要从以下角度来看待dfx设计。
dfx设计本质上是fpga内嵌入了fpga,也就是说rp可视为一个内嵌的fpga,那么这个rp的可用逻辑资源、布线资源和io也就固定了。正因此,rp的pblock的大小和形状对设计性能有较大影响,同时,rm的输出/输出端口个数应尽可能少,过多的io个数大概率会导致布线拥塞。因此,同样的设计,使用dfx和不使用dfx可能会有不同的时序结果。层次化设计在dfx设计中也非常重要,将直接影响合动态区和静态区的分割。


索尼拟打造新型AI机器人厨师
骨传导耳机音质怎么样_骨传导耳机体验
小米mix就问你怕不怕?诺基亚8:全面屏+渲染图+前置指纹完美碾压
简单归纳PCB设计时的一些常见错误
小米5x和“大版小米6”小米note3详细对比,入手哪款手机最划算?
什么是DFX技术?DFX设计一定要执行设计规则检查吗?
国内6月半导体54起融资情况一览(附图)
区块链技术已经进入了几乎所有可以想象的行业
PCB上游原物料价格大幅上涨
射线敏感器件,射线敏感器件是什么意思
基于物通博联工业智能网关的水务环保监测预警系统
便携式测试设备可判断饮用水中有毒重金属
Hashgraph能弥补人工智能、区块链和工业4.0之间的差距技术的所有特征
Linear推出微型模块模数转换器LTM9012
联通瘦身健体2.0开始了,年底免不了折腾一番
为什么物联网法规需要集中在安全性和弹性
工业机器人中常用的减速器有哪几种?区别是什么?
关于博世超低功耗BMA400的性能分析和应用
ONLYOFFICE 7.3发布,免费强大且开源的Office协作办公套件
linux与android有什么区别