DFX(DynamicFunction eXchange,动态功能切换,就是之前的部分可重配置)技术极大地提高了Xilinx FPGA芯片的灵活性。借助此技术,用户可以加载不同的应用,可以对已布署的系统进行部分升级,还可以有效降低功耗。
同时,DFX对于团队设计也是有益的:可以将设计分割为不同的部分由不同的工程师完成。然而,DFX对设计流程有严格的要求,这往往导致Vivado较长的编译时间,且使得多用户环境面临较大挑战。
这是因为该流程要求在编译动态区时需要提供完整的锁定的静态区image文件(.dcp文件)。若静态区设计中包含收费IP,对于动态区的工程师而言若其使用的环境下没有该IP的license,就会导致Vivado无法编译。Abstract Shell技术应运而生,很好地解决了这些技术痛点。
Abstract Shell是什么?标准的DFX流程需要多个步骤完成整个设计的布局布线。其中第一步需要对静态区+f1+g1进行编译。这里f1/f2/f3称为动态区RP(Reconfigurable Partition)对应的RM(Reconfigurable Module)。g1/g2/g3则是另外一个动态区RP对应的RM。
第一步的一个重要作用是生成静态区的image文件(布线后的网表文件.dcp)。在后续步骤对其他RM编译时需要用到此image文件,例如编译f2+g2的组合时,需要提供第一步的静态区image文件,从而形成静态区+f2+g2的组合。即使f2+g2是很小的模块,也必须提供完整的静态区image文件,且不允许用户对这个image文件做任何修改。
Abstract Shell流程打破了这一规则。本质上,Abstract Shell是静态区image文件的裁剪版,是后续对新的RM进行编译并生成相应的部分位流文件所需的静态区image文件最小版本。这个最小版本不仅包含了RP的接口。
还包含了RP的约束信息(Pblock)、布线信息、边界的时序信息,以确保RM不会使用已经被静态区消耗的资源。如下图所示,图中左侧显示了完整的静态区image文件,右侧则是Abstract Shell版本。两者的差异还是很明显的。
同时,Abstract Shell版本还去除了需要license的IP以及具有专利的设计部分。
Abstract Shell带来的好处
Abstract Shell版本的image文件比全版本的image文件小了很多,从而,编译新的RM时可有效缩减编译时间、降低内存开销。
对于包含多个RP的设计,可同时并行对所有RM进行编译,从而,加速设计进程。
对于多用户设计而言,设计的安全性得到了保证。因为大部分信息已经从Abstract Shell版本中移除。同时所有需要license的收费IP也不会被包含在Abstract Shell版本中,这意味着在Abstract Shell流程中不会再检查license信息。
综上所述,Abstract Shell的内容取决于两个因素:
RP的布局信息(由Pblock约束管理)
RP与静态区的连接关系
编辑:jq
-
IP
+关注
关注
5文章
1622浏览量
149281 -
FPGA芯片
+关注
关注
3文章
246浏览量
39754 -
DFx
+关注
关注
0文章
35浏览量
10514
原文标题:Abstract Shell流程分析(1)
文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论