【内容原创,转载请说明】
【感谢LLJ学长白皮书的帮助】
先快速阅读完下面的参考资料(在Xilinx官网上有):
《16.a_audio_filter_lab6.pdf》
《PlanAhead_Tutorial_Reconfigurable_Processor12.3.pdf》
阅读完上面资料后,对动态可重构步骤有了一定的了解,但你并没有掌握它,因为里面还存在很多细节方面需要注意与学会,如果只是按照上面的参考资料最终也完成了动态可重构,也只是比较肤浅的。这里我选用XUPV5-LX110T板作为实验板,结合《16.a_audio_filter_lab6.pdf》对动态可重构流程进行详细的介绍。
实验介绍:
在这个实验中,你将使用Xilinx Platform Studio 工具去创建一个带处理器的系统。上层设计中定义了两个可重构区域,可重构区域都有几个可重构的模块(包括高通滤波器、低通滤波器、带阻滤波器、全通滤波器)。可以创建多种配置并且运行不同的部分可重构完成生成全部或者部分配置文件流,将使用XUPV5开发板去验证硬件设计,在验证中将用到CF卡完成FPGA的初始化配置。其中部分可重构是在软件控制端利用XPS HWICAP外设来加载配置文件的。
实验能达到的目标:
在完成了这个实验后,你将:
① 能利用Xilinx Platform Studio工具创建一个带处理器的系统
② 可以利用Create/Import Peripheral Wizard 工具创建一个外设
③ 可以把创建的外设加进到处理器系统中
④ 能够创建一个PlanAhead 的PR工程
⑤ 能在PlanAhead中创建各种配置文件,用来完成部分可重构
⑥ 运行部分可重构实现流程
⑦ 完成有两个可重构区域的、并且每个区域含有多个可重构模块的动态可重构设计
⑧ 生成部分可重构的配置文件流,以及system.ace文件(CF卡用于初始化FPGA的文件),并将它们放在CF存储卡中。
⑨ 用CF卡中的system.ace文件配置FPGA,并能在程序段利用软件控制其他配置文件流的调用。
实验顶层设计:
实验将采用XILINX公司提供的audio_filter工程进行,audio_filter工程中包含全通、带阻、高通和低通音频滤波器功能,能够各种不同的滤波需求,在实际应用中很广。本实验中带阻、高通和低通三种滤波器的相应参数如下表所示:
表:三种滤波器的相关参数说明
滤波器类型 |
参数说明 |
带阻 滤波器 |
采样频率:48.0kHz、Fpass1=1600Hz、Fstop1=3800Hz Fpass2=4200Hz、Fstop2=6400Hz、通带两侧衰减分贝为60 |
高通 滤波器 |
采样频率:48.0kHz、Fstop=3800Hz、Fpass=6200Hz 通带两侧衰减分贝为60 |
低通 滤波器 |
采样频率:48.0kHz、Fstop=4200Hz、Fpass=2000Hz 通带两侧衰减分贝为60 |
实验采用动态可重构技术,完成audio_filter工程中四种滤波器的功能变换;并划分两个可重构区域,实现双声道。实验流程如下图所示:
图:实验流程图
实验第一步是各个功能(全通、带阻、高通、低通滤波器)的实现,这一步是在ISE中工具中生成,由于工程中提供了相应功能的网表,因此这一步是直接借助已给的功能网表;第二步是硬件系统的搭建,这一步是在XPS工具中将所需要的各部分通过总线方式联系在一起,本实验中采用PLB v46总线,同时需要的部分有UART(串口通信,用于PC与FPGA开发板通信,观察实验效果)、System ACE(用于对CF卡进行控制,实现文件的读写)、AC97(用于音频的解码)、XPS HWICAP(用于可重构文件的加载),可重构区域采用顶层文件内加黑盒子的模式组成,控制器采用microblaze软核。第三步是软件控制,这一步在SDK中实现,UART、System ACE和XPS HWICAP工具中给出了相应控制函数,只需要调用相应API即可。可重构区域的划分和定义是在PlanAhead工具中完成。配置文件的生成也是在PlanAhead工具中完成,先是运行完各config,然后生成相应的bitstream文件。镜像文件的生成是在Bash Shell工具中生成的,通过相应的命令将bitstream文件转换成system.ace文件。具体每一步的过程,将在下面做详细的介绍。
实验流程:
第一步:硬件系统的搭建
在进行硬件系统的搭建之前先对audio_filter工程结构进行介绍:
在audio_filter工程文件夹下包含edk、image、image_solution、resource四个文件夹,edk文件夹用于硬件和软件部分工程存放,image文件夹用来存放生成的镜像文件,image_solution文件夹里存放了Xilinx公司已生成好的镜像文件,resources文件夹中存放了Xilinx公司提供的相关文件。resources文件夹下包含ac97的驱动、各功能滤波器的网表文件、audio_filter的IPcore、xps_ac97的IPcore、示例程序、ac97的管脚约束以及音频文件。
硬件体系架构如下图所示:
硬件系统搭建的具体步骤如下:
• 打开XPS工具,通过桌面相应图标或者是开始—>所有程序—>Xilinx Design Suite12.4—>Xilinx Platform Studio;
• 打开后按照默认的Base System Builder wizard,然后按OK;
• 这一步中将工程展开到edk文件夹下,会产生system.xmp文件,并保存,然后OK;
• 接下来是选择互连的总线