论文部分内容阅读
FPGA提供灵活的现场可编程技术,在需要改变设计的时候而不需要重新再从头实现。FPGA动态可重构技术将这种灵活性进一步提高,通过在同一块硬件资源上分时复用不同的硬件任务模块,而不中断任务的运行。尽管动态可重构技术可以提高硬件资源的利用率,仍然会存在一些瓶颈,如由于运行时重新配置导致的重构时延以及由于查找表、互连线、SRAM存储单元等的泄漏功耗导致的静态功耗。动态可重构技术可以将硬件模块划分到部分可重构区域,在运行时将硬件模块换入换出。由于可重构区域不同的划分策略会影响着面积资源和重构时延,本文将部分可重构区域划分问题转换成标准的最大权重独立集问题,用自动化优化划分技术来解决。为了减少动态可重构过程中所引起的性能下降,采用预取(预重构)技术通过并行重构配置和其他任务执行来减少重构时延。然而,预取技术会受到任务之间的数据依赖关系的约束,这使得设计预取方式变得复杂起来。因此,本文在考虑任务之间的数据依赖关系的情况下优化重构调度,并用最短关键路径算法减小重构开销。实验结果表明对比现有调度预取策略本文方法可以显著降低重构时延,与枚举方法相比,几乎可以得到最优解并具有很高的加速比。FPGA功耗由动态功耗和静态功耗组成,现有一些技术可以降低动态功耗,例如Clock gating技术采用有选择的关闭芯片上时钟分布网络从而降低始终分布功耗。当不需要Clock scaling可以降低时钟频率从而降低运行时的功耗。动态可重构技术可以通过降低静态功耗进一步降低FPGA功耗。考虑到缺乏动态可重构的功耗估计模型,本文提供了一个灵活实验方法用于测量动态可重构系统中的功耗组成,并提出了一种低功耗的调度算法用于优化功耗和时延。通过实际工程实验验证了该算法的高效性。