planahead 动态重构_基于FPGA的动态局部可重构实现方法

其中,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用

在上文中的局部重构建立完成后,用Xilinx EDK工具构建处理器系统,图3中所示的挂在OPB总线上的IP模块都将以外设的形式加载到处理器系统中。其中,ICAP、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文件。下一步就可以上板调试了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值