使用PlanAhead进行FPGA部分动态重配设计

本文详细介绍了如何使用PlanAhead工具进行FPGA部分动态重配置设计,包括逻辑设计、生成ngc文件、创建PlanAhead工程、设置可重配置模块、划分物理区域、添加时序约束、运行规则检查、逻辑实现和验证配置等步骤。通过部分重配置技术,可以在FPGA运行过程中动态修改逻辑模块,提高系统灵活性和降低成本。
摘要由CSDN通过智能技术生成

使用PlanAhead进行FPGA部分动态重配设计
目 录
1 概述 3
1.1 部分重配置技术的意义 3
1.2 支持部分重配置技术的软件与芯片 3
2 使用PlanAhead进行部分重配置设计 3
2.1 逻辑设计,生成ngc文件 3
2.1.1 设计顶层文件和可重配置文件 3
2.1.2 对各个设计文件综合生成ngc文件 4
2.2 使用PlanAhead工具进行部分重配置设计 5
2.2.1 新建PlanAhead工程。 5
2.2.2 新建并添加部分可重配置模块 7
2.2.2.1 新建第一个可重配置部分U1_RP_led 7
2.2.2.2 添加第二个可重配置部分U2_RP_pulse 9
2.2.3 添加另外的可重配置模块 11
2.2.3.1 添加一个可重配置模块到U1_RP_led 11
2.2.3.2 添加一个可重配置模块到U2_RP_pulse 12
2.2.4 划分可重配置模块的实现区域 14
2.2.4.1 为第一个可重配部分U1_RP_led划分物理区域 14
2.2.4.2 为第二个可重配部分U2_RP_pulse划分物理区域 16
2.2.5 添加时序约束 17
2.2.6 运行部分可重配置规则检查 19
2.2.7 逻辑实现和促进布局 20
2.2.7.1 实现配置config_1 20
2.2.8 新建实现附加配置 23
2.2.9 验证配置 25
2.2.10 生成和加载bit文件 25


1 概述
部分重配置Partial Reconfiguration(PR)是一种动态修改逻辑模块的技术,通过在不妨碍其它逻辑运行的同时下载部分比特位文件来实现。
1.1 部分重配置技术的意义
部分重配置允许设计者在系统运行过程中修改功能,而无需全面重新配置和重新建立连接,极大地提高了 FPGA 的灵活性。通过分时功能减少了 FPGA 的尺寸和数量(即成本) ;通过按需加载功能降低了动态功耗;通过时分多路复用设计功能提高解决方案的灵活性 。使用部分重配置可以让设计人员采用更少或更小的器件,从而降低功耗并提高系统的可升级性。 随时按需加载功能,更有效利用芯片。
1.2 支持部分重配置技术的软件与芯片
Xilinx公司的ISE® 12 中推出的现有软件方法代表了部分重配置技术的新时代。 这款能够在不影响其它器件运行的前提下对 Xilinx FPGA 的部分功能进行重配置的软件工具已被完全重新设计。为进一步扩大现有支持范围,继 Virtex-4、Virtex-5、 Virtex-6、Virtex-7 T 和 Kintex™-7 器件之后,后继的版本支持 Artix™-7 和 Virtex®-7 XT 器件。 该当前解决方案通过利用分区这种成熟的特性,可以确保对预先生成的结果进行准确保存。PlanAhead 设计环境可用于管理设计装配、约束、实现和验证。

2 使用PlanAhead进行部分重配置设计
对FPGA进行部分重配置设计时,主要包括2个方面的设计:一是使用XST对设计的顶层文件以及各个可重配的文件进行综合,生成ngc文件;二是使用PlanAhead工具,将生成的ngc文件进行部分重配置设计。
2.1 逻辑设计,生成ngc文件
2.1.1 设计顶层文件和可重配置文件
在ise_top工程中输入设计的顶层文件top.v,各可重配置模块必须是以“黑盒子”的形式出现,既各可重配置模块只声明端口,内部没有具体实现,顶层文件的层次图如下图所示。

图中clocks模块是固定设计模块,不可重配置,具有具体的实现逻辑。recon_block_led和recon_block_pulse模块是可重配置模块,以黑盒子的形式出现,只声明了端口,内部没有具体实现逻辑。设计时注意,各可替换的,比如实现led控制的多个可重配模块recon_block_led,*.v文件的名字可以不一样,但是module名字必须全部一样,都是recon_block_led。顶层文件的关键设计代码如下
// black box definition for reconfigurable module recon_block_bram
module recon_block_led
(
input clk ,
input rst ,
output o_led )
/synthesis syn_black_box/;
endmodule
// black box definition for reconfigurable module recon_block_counter
module recon_block_pulse
(
input clk, <

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值