动态可重构基本理论
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
论文阅读理论方法总结
Yongfu feng
一.FPGA动态可重构基础理论
严格来讲,系统重构的概念可分为静念系统重构和动态系统重构。静态系统重构是指目标系统的逻辑功能静态重载,即FPGA芯片功能在外部逻辑的控制下,通过存贮于存贮器中不同的目标系统数据重新下载,而实现芯片逻辑功能的改变。也就是指系统中PLD逻辑的静态重载,在系统空闲期间通过各种方式进行在线编程,而不是在其他部分动态运行时重载。
1.1动态可重构概念及原理
动态重构系统概念的提出早于FPGA动态可重构技术的提出。动态重构系统指对于时序变化的数字逻辑系统,其时序逻辑的发生,不是通过调用芯片内不同区域、不同逻辑资源来组合而成的,而可通过对具有专门缓存逻辑资源的FPGA,进行局部的和全局的芯片逻辑的动态重构而快速实现。也就是指在系统实时运行当中对FPGA的逻辑功能实时地进行动态配置,能够只对其内部需要修改的逻辑单元进行重新配置,没有被修改的逻辑单元将不受影响,正常工作。一般由传统处理器执行主程序,特定的任务赋给以FPGA为基础的协处理器以加速它们的执行。事实上,在大部分处理时间内,只有相对较小的一部分用来计算内部任务,而硬件可以显著加速执行的时间。在重构的过程中,根据需要,任务可以交换进入协处理器进行处理。
所谓FPGA动态可重构技术,是指基于静态存储器(SRAM)编程和专门结FPGA,在一定的控制逻辑的驱动下,不仅能实现系统重新配置电路功能,还能对芯片逻辑功能实现系统的高速动态变换。大多数FPGA都是基于SRAM查找表结构,它们一般只适用于静态重构,向SRAM一次下载全部配置数据而设定FPGA的逻辑
功能。根据FPGA的、配置方式等不同,全部重构时间为几毫秒到几秒不等。过去大家普遍进行重构研究的FPGA主要有,Xilinx的XC6200系列、以及Atmel 的AT6000等。它们也是基于SRAM结构,但是SRAM的各单元能够单独访问配置,分重构。它们的功能互不影响,因而具有部分重构的特征。这样做的优点显但也会付出增大硬件电路规模和功耗的代价。要最终实现电子系统的完全实构,应采用结构上具有动态部分重构功能的FPGA器件,如现在Xilinx的Virtex—II系列。
从动态可重构的特征可以引出一种新的设计思想:
1,以小规模硬件逻辑资源来实现大规模系统时序功能,将传统设计的空间分布的硬件逻辑,分为器件外部特征不变,而内部逻时间上交替变换,并共同在时问空间上构成系统整体逻辑功能。
FPGA动态可重构技术主要特征是将整体按功能或按时序分解为不同的组合,并根据实际需要,分时对芯片进行动态重构,以较少的硬件资源,去实现较大的时序系统整体功能。图1给出了一种典型的FPGA动态可重构原理示意图。从图1中可以看出,在外部逻辑的控制下,可以实时动态地对芯片逻辑实现全部重构或局部重构,通过控制布局、布线的资源,来实现系统的动态重构。
图1.1典型的FPGA动态可重构原理图
要使FPGA有效地实现实时系统动态重构, FPGA结构上必须满足以下要
求:
1,不仅具有可重新编程能力,同时可动态进行系统资源地重新配置,而不
会破坏器件中全局或局部逻辑操作能力。
2,FPGA内部配置信息对称,即在任何时刻、任何通用的基本逻辑功能可以
配置于器件地任何一个位置,运行用简单模型组合去实现设计中的复杂功能。1.2 FPGA配置架构
FPGA的配置文件通过数据总线传输到FPGA的数据缓冲区,下载处理器处理缓冲区中每一帧配置数据,并把其下载到FPGA的配置RAM中,也就是逻辑配置层。逻辑配置层的中RAM的取值决定了FPGA的功能。也就是说,在常见的FPGA中,其配置电路的结构原理图如
图1.2 FPGA配置电路结构图
从上图中反映的配置过程我们不难发现,制约FPGA配置速度的因素有两个;
一个是配置数据的下载速度;一个是FPGA内部的数据处理速度。FPGA的配置
速度是动态可重构系统中一个非常重要的指标,快速高效的下电路设计是可重构系统的一个关键问题。一般说来,加快重配置过程方法有三种:
第一、优化FPGA配置电路总线,使配置文件能够以更快的速度下载到FPGA
配置单元当中;
第二、减小配置文件,在配置速度不变的情况下这也是一个十分有效的办法;第三、优化FPGA的重配置流程,简化FPGA的配置步骤,减少不必要的时间
开销。
二.动态部分可重构的两种模式
Xilinx Virtex系列一个最重要的特性就是动态可重构。当器件的同一个
区域要载入不同的设计功能并且又不需要重新配置整个电路,也不影响其他电路的行时就需要部分动态可重构。这样既可以降低电路能量消耗又可以提高板子利率、加快下载速度。Virtex器件的有效部分动态可重构可以使用Selectmap模式或者Boundary scan(JTAG)模式下载。不需要重新配置器件也不需要下载完整的配置,新的据只需下载到器件的可重构部分。对于目前的FPGA器件来说,数据是以栅(column)为基础下载,最小的可下载单元是一帧(frame)的配置比特流,它据目标器件的不同而有不同的大小。
FPGA的动态可重构有两种不同的方式:
◆基于模块(Module-based)的部分可重构。
◆基于差异(Difference-based)的部分动态可重构。
2.1基于模块的部分可重构
部分可重构定义了一些特殊的区域,这些区域可以在器件的其他部分还在运行的情况下进行重构,这些特殊区域称作可重构区域。基于模块的部分可重构就是将电路功能划分成一个个的模块,这些模块包括可重构模块(可以实现重构的特殊区域)和固定模块(功能不变不能实现重构的区域)。
可重构模块具有以下的一些特性:
1.重构模块的高度是整个器件的高度。
2.重构模块的宽度最小可以是四个slice最大可以到整个器件的宽度,但必须以四的整数倍的slice增加。
3.重构模块放置的水平坐标必须是四的整数倍的slice的边界,例如:左边边界可以放置在x--0,4,8,⋯⋯
4.模块宽度范围内包括的所有逻辑资源都被看作是可重构模块的一部分,包括slice、TBUF、RAM块、乘法器、lOB和布线资源。
5.时钟逻辑和可重构模块是相互分离的,时钟和比特流是相互独立的。
6.可重构模块上部和下部的IOB是可重构模块资源的一部分。
7.如果一个可重构模块贯穿了整个板子的左部和右部,那么每一边的IOB都是可重构模块资源的一部分。
8.为了降低设计难度,要尽量减少可重构模块的个数(理想状况下,如果可能的话,最好只有一个可重构模块),所以说slice的数目能被四整除是可重构模