提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
部分重配配置FPGA工程开发的流程
一、原始工程
1.原始工程创建
图中的led_left和led_right将是两个部分重配置模块。
2.原始工程验证
打开 impl_1 文件夹,里面只有一个位流 bit 文件 led_top.bit,将此文件下载进 KC705 电路板中 7K325T器件中,结果显示功能正确。
二、重配置文件
准备好部分重配置模块的配置文件。这个部分重配置文件必须要跟原始工程中的led_left和led_right是同一个端口文件。
三、部分重配置工程
1.工程转换
这步将实现从普通 FPGA 开发工程转变为重配置 FPGA 开发工程。
2.定义重配置模块
这步用来需要定义为部分重配置的模块,重配置模块的数量没有限制,至少一个。
2.1.重配置模块1
2.2.重配置模块2
3.导入重配置模块
4.生成重配置项
配置项的名称可随意,在此填入config_mid .
配置项config_mid对应的部分重配置模块为left_mid和right_mid。再新建一个配置项config_slow,其对应的部分重配置模块为left_slow和right_slow。
依此类推,最后生成了了三个配置项config_mid、config_slow和config_quick.
5.确定重配置项的关系
新生成的配置项的父辈必须是默认配置项的synth,在此默认配置项的synth的名称为synth_1,同时设置配置项config_mid的impl名称为impl_mid.
以此类推,配置项config_slow和config_quick.
6.重配置模块位置约束
在此案例中,设置了两个重配置模块,因此需要建立两个Pblock约束文件。
7.功能验证
点击Generate Bitstream后,会生成如下文件夹。
打开其中同一个文件夹,发现有3个bit文件加载,没有partial的是整个工程位流,带有partial的是部分重配置项的位流。
使用JTAG仿真器,先下载led_top.bit后,再分别下载right_mid_right_partial.bit和left_mid_left_partial.bit,在下载部分位流时,会发现整个FPGA功能并不会中断,也就是说FPGA并不会被复位,这说明部分重配置功能实现了。
四、总结
此文章只实现了JTAG模式下的部分重配置功能,后续还继续讲述远程实现部分重配置功能。