您的位置 首页 元件

根据FPGA的动态部分可重构完成办法

该实现方案借助嵌入式开发套件EDK建立一个处理器系统,同时借助Xilinx ISE工具建立一个顶层模块,该顶层模块包含了作为子模块的处理器系统和同样作为子模块的局部重构模块。

1 Xilinx的EAPR部分重构流程

EAPR(early access partial reconfiguration)与根据模块(module based)流程比较,有以下的首要差异:

I 移除了Virtex-II器材部分可重装备(PR)中关于部分可重装备区域有必要是整列的要求,EAPR规划流程中,答应PR区域为恣意矩形区域;

II 总线宏运用根据SLICE来完结,而不是根据TBUF的总线宏,这就使得答应运用的总线宏的密度更密;

III EAPR流程中答应根据模块规划中的大局信号直接穿越部分可重装备区域,而不用运用总线宏。这一改善显著地改善了时序功用,并简化了PR规划的编译进程;

IV 移除了需求在根据模块的规划中对AREA_GROUP RANG进行面积束缚的束缚,这样就给PR规划的布局布线供给了更大的灵活性;

V 现在的EAPR规划流程及东西支撑Virtex 4和Virtex5 器材。

2 树立部分重构

部分重构的规划和完结流程可分为以下过程:

①规划输入与归纳:依照Xilin的EAPR规划流程的要求输入与归纳HDL代码,包含顶层模块和子模块规划,顶层模块规划完结顶层模块的规划输入与归纳;子模块规划可进行子模块的规划输入和归纳。

②初始预算(initial budgeting):指构思平面布局,完结对顶层模块和每个子模块的时序束缚,顶层束缚包含对整个规划的大局区域束缚、对每个子模块的规划和区域的束缚、对每个模块的输入/输出束缚和对整个规划的时序束缚等内容;

③子模块的激活完结(active module implementation):对每个子模块进行激活完结,对每个子模块内部的逻辑进行独自束缚;

④兼并完结(final assembly):将顶层规划与已激活完结的模块兼并,构成一个完好的规划;

⑤验证:包含静态时序剖析和功用仿真;

⑥查看规划:用FPGA editor东西查看布线跨过模块的鸿沟;

⑦创立初始上电的装备文件;

⑧创立重构模块的装备文件;

⑨加载初始上电的装备文件;

⑩进行部分重估操作;

3 动态部分重构体系结构

在部分重构的树立完结后,有必要依托嵌入式开发套件(EDK,Embedded Development Kit)来进一步完结规划,使体系具有自重构才能,也便是能完结真实意义上的动态部分重构。

3.1 将处理器体系作为内部模块的动态部分重构体系完结计划

该完结计划凭借嵌入式开发套件EDK树立一个处理器体系,一起凭借Xilinx ISE东西树立一个顶层模块,该顶层模块包含了作为子模块的处理器体系和相同作为子模块的部分重构模块。完好的体系如下图所示:

图1 完好的体系视图

其间,PRR(Partial Reconfiguration Region)是部分可重构模块,它与处理器模块经过内部ROPB Bus衔接,一起作为可重构模块与静态模块的衔接还有必要有总线宏Bus Macros。

处理器体系内部结构如下图所示:

图2 处理器体系视图

3.2 SOPC动态部分重构体系完结计划

Xilinx已推出支撑动态重构的FPGA产品,其Virtex-II Pro和Virtex-4、Virtex-5系列产品中已内嵌了PowePC处理器内核和内部装备拜访通道(internal configuration access port,ICAP)。ICAP是装备FPGA内部结构的装备接口,为动态部分重构技能在片上可编程体系(system on programmable chip,SOPC)的使用供给了基本条件。

本计划使用PowerPC对OPB(on-chip peripheral bus)总线上挂的IP模块进行重构,然后完结了真实意义上的动态部分重构。

PRR Left和PRR Right为动态重构目标,它们被封装成两个挂在OPB总线下的IP模块,然后构建支撑重构的SOPC体系,所构建的SOPC体系结构如图3所示:

图3 SOPC动态部分重构体系

其间,PRR Left和PRR Right是动态部分重构的IP模块;ICAP是挂在OPB总线下的IP模块,用来加载部分重构装备数据;System ACE是用来寄存部分重构装备数据的Compact Flash与OPB总线的接口模块;UART担任与PC通讯,显现输出。

部分重构时,为了避免重构过程中部分重构操作损坏OPB总线的时序、确保重构前后PowerPC时序的连续性,先断开PRR Left/PRR Right与OPB总线的衔接,再将Compact Flash内的重构装备数据写入ICAP。装备完毕后,将PRR Left/PRR Right与OPB总线从头衔接,最终对PRR Left/PRR Right模块进行复位操作,这样就完结了根据SOPC的动态部分重构。详细的规划和完结流程如图4所示:

图4 根据SOPC的动态部分重构流程图

3.2.1用嵌入式开发套件EDK构建处理器体系

在上文中的部分重构树立完结后,用Xilinx EDK东西构建处理器体系,图3中所示的挂在OPB总线上的IP模块都将以外设的方式加载到处理器体系中。其间,%&&&&&%AP、System ACE、UART模块都有老练的IP核供给,使用EDK中的Create or Import Peripheral东西将PRR Left和PRR Right两个IP模块以自定义IP核的方式加入到处理器体系中。

3.2.2 归纳完结一切外设模块

凭借Xilinx ISE东西归纳完结一切外设模块,应该留意的是在归纳过程中,只要顶层模块的I/O缓冲在归纳时翻开,其它子模块的I/O缓冲在归纳时是不能翻开的。

3.2.3 使用PlanAhead手艺修正布局布线和安装PR规划

可重构模块硬件资源分配以及硬件资源分配评价、增加时序和管脚的束缚都应该在这一步成功完结。使用PlanAhead东西和ISE集成的FPGA editor东西可以精确观察到整个FPGA底层的布局布线图,一起凭借PlanAhead东西直观看到可重构模块和静态模块的布局布线图以及它们的资源占用状况[4]。图5所示的是体系的布局布线图,图6所示的是资源分配的状况。

图5 体系的布局布线图

图6 PRR Left重构模块的资源占用计算

在总线宏busmacros、大局时钟逻辑等手艺放置好之后,将进入安装阶段,将一切静态逻辑和部分重构逻辑整合到位流文件中。在生成FPGA的初始化位流文件和部分重装备文件之后,使用EDK的Launch EDK Shell东西来生成加载FPGA时需求的System ACE文件。下一步就可以上板调试了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/yuanjian/199395.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部