基于Xilinx FPGA 的动态局部重配置(DPR)简介

来源:互联网 发布:蜂窝移动网络搜索 编辑:程序博客网 时间:2024/05/13 16:25
据我所知到目前为止只有xilinx的FPGA支持动态局部重配置(DPR)。
   FPGA的重配置(也叫重构)分为全重构和局部重构,全重构是将整体bitstream 文件download 到FPGA中。局部重构相对复杂,这项技术允许在FPGA内固定逻辑(fixed logic)正常运行时,对重构区域中的逻辑进行动态局部重配置。DPR可以使FPGA内的硬件资源实现分时复用,提高资源的使用率……(还有很多好处,我在这里就不一一列举了,从现在对这项技术研究的人越来越多,就知道这项技术很好的)
   动态局部重配置(DPR)基于FPGA的模块化设计,将整体设计划分为若干模块,这些模块中有些是不可重构的,有些是可重构的。DPR中各个模块所占的硬件区域划分还有一些要求。由于Xilinx多数系列FPGA的配置bitstream的最小寻址单位是frame(1bit宽,以芯片高为长),所以配置的最小单位必须是frame,这样就限制了重构区域的划分必须是纵向的一维划分(芯片的左下是坐标原点,纵向划分指划分X轴,不划分Y轴),因为如果横向的划分,一个frame就会被分开,在配置时无法寻址。
    各个模块实现在各自的区域中,那么各模块间的通信是怎样实现的那?在FPGA内信号的传递是通过布线资源实现的,两个模块A、B要实现通信既是将A的信号线与相映的B的信号线相连,由于ise的自动布线无法指定某条信号线布在哪里,所以相邻两个模块的信号线不能保证相连。这样在DPR中就需要一个固定的结构跨居在两个模块边界上,使各模块在各自的区域内分别与这个固定的结构相连,这样各个模块既可以在规定的区域内实现又可以与邻近模块进行通信。这个固定结构就是“总线宏”(bus macro)。下图是xilinx提倡的总线宏结构(总线宏还有很多种,以后有时间再写)
 
figure 1 是DPR的整体结构,深色区域是重构区域必须纵向划分的,各模块间必须使用bus macro相连。
 
DPR还有很多细节上的要求,请参见 xapp290.
原创粉丝点击