一种基于FPGA的可重构计算系统设计
- 格式:pdf
- 大小:203.72 KB
- 文档页数:4
1引言计算目标的实现主要有两种方式:其一是ASIC方法,即使用专用特定的集成电路,以完全硬件的方式来实现计算任务。
这种方法的主要特点是为特定计算任务专门设计,充分挖掘问题本身的并行性,利用大规模并行电路进行计算,可得到很高的运算速度及效率,但这种方法的最大缺陷是它几乎没有任何灵活性,或者说是不可编程的,任务稍有变化就必须修改电路。
其二是通用微处理器方法,选择处理器的指令依某种算法构成一个新的指令序列,就成了完成特定计算任务的软件。
通过修改软件便可达到改变系统功能的目的,而硬件无需做任何改动,这种方法灵活性强,或者说是可编程的,然而这种可编程性是以牺牲系统的性能和速度为代价换来的。
可重构计算(ReconfigurableComputing)恰好补充了两者的缺陷,它利用硬件电路进行计算,具有极高的系统性能,同时它还具有可编程性,可以根据应用或中间结果的需要动态配置电路的实现形式,不同的应用在同一可重构计算硬件平台上都能获得非常高的计算加速比[1]。
可重构计算系统的关键特征是通过硬件完成计算从而提高性能,并保留软件手段的灵活性[3]。
应用软件的性能需求不断超越计算平台的能力极限,为适应性能需求芯片需要集成各种功能模块,不断复杂化的体系结构导致芯片的晶体管数目不断增加,但是性能的提升速度低于复杂度和集成度的提升速度。
可重构的体系结构能够根据不同的计算应用调整自身的硬件资源,可重构计算为如何更有效利用芯片逻辑资源提供了新的发展方向[4]。
对于数字信号处理、图像处理、模式识别、密码学、生物信息处理等计算密集型应用,可重构计算技术可以发挥巨大的优势。
基于SRAM工艺的FPGA具有易失性的特点,每次重新加电FPGA都要重配置。
这一特点一度被很多用户认为是个不利因素,但由此导致的FPGA器件的资源配置可改变特性刚好满足可重构体系结构的要求,这一特征成为FPGA在许多新领域获得广泛应用的关键,并成为了可重构计算系统发展的持续驱动力量[2]。
2可重构计算系统结构可重构计算系统的高性能是靠大规模并行计算电路得到的,在处理无法并行执行的任务时效率往往非常低下,因此最好将可重构计算部件与通用微处理器结合起来组成一个系统,既保持了系统的灵活性,在处理特定应用时又可以获得非常高的性能。
在超级计算机领域也可以引入可重构计算技术,通过在计算节点内的I/O扩展插槽上增加可实时重构(Run-timeReconfiguration)的计算加速卡,搭建一个可实时重构的超级计算机。
现阶段的计算节点普遍提供PCI-X扩展插槽,因此基于PCI-X接口的可重构计算加速卡具有很大的应用前景。
当前工艺下的FPGA器件还无法实现逻辑资源局部重配置,而在全局重配置时器件所有的I/O管脚都呈高阻或特定电平状态,因一种基于FPGA的可重构计算系统设计吴冬冬1,2杨晓君1刘新春1江先阳11(中国科学院计算技术研究所,北京100080)2(中国科学院研究生院,北京100039)E-mail:wdd@ncic.ac.cn摘要介绍可重构计算的概念和基于SRAM工艺的FPGA器件的特点。
设计了一种基于FPGA器件的可重构计算系统,着重讲述了该系统的在线重配置电路的总体结构,FIFO、FPGA配置逻辑模块、控制寄存器和控制逻辑等功能模块及系统的工作流程。
最后探讨了可重构计算相关研究面临的问题和发展方向。
关键词可重构计算FPGA在线重配置文章编号1002-8331-(2006)21-0074-04文献标识码A中图分类号TP302.1DesignofReconfigurableComputingSystemBasedonFPGAWuDongdong1,2YangXiaojun1LiuXinchun1JiangXianyang11(InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100080)2(GraduateSchooloftheChineseAcademyofSciences,Beijing100039)Abstract:Firstly,theconceptofreconfigurablecomputingandthefeatureofFPGAdeviceswhichuseSRAMcellstostoreconfigurationdataareintroduced.BasedonFPGAdevices,asortofreconfigurablecomputingsystemisproposed.Thestructureofonlinereconfigurationcircuit,mainfunctionmodulsincludingFIFO,FPGAconfigurationlogicmodule,controlregister,controllogic,etc,andworkingflowofthissystemarepresentedinemphasis.Finally,thedevelopingdirectionofreconfigurablecomputingresearchandsomeproblemsthatwearefacingwithcurrentlyarediscussedbriefly.Keywords:reconfigurablecomputing,FPGA,onlinereconfiguration基金项目:国家自然科学基金资助项目(编号:60403025)此,如果用单片大容量FPGA实现接口电路和可重构计算,那么在重配置FPGA时I/O管脚的状态变化相当于热插拔PCI-X加速卡,可能导致计算节点操作系统崩溃。
另一种方案是使用现成的PCI桥接芯片配合FPGA工作,桥接芯片的PCI接口连接计算节点,二级总线接口连接FPGA配置控制电路并为FPGA提供数据通路[5]。
该方案的问题是桥接芯片提供的二级总线接口带宽限制、FPGA配置控制电路的软件操作及同样存在“热插拔”处理问题。
本文设计了一种使用多片FPGA的结构,如图1所示。
I/OFPGA由厂商提供的专用配置器件在上电时自动配置,不能实时重构,可重构计算由ComputingFPGA完成。
I/OFPGA实现PCI-X桥接,控制ComputingFPGA配置,并为其提供可“热插拔”的高速串行数据通路。
系统采用ALTERA公司的StratixII系列FPGA器件,该系列器件提供大量自适应逻辑模块(ALM)、片内RAM块、高速I/O信号接口、DSP模块等资源,利用厂商提供或自行编写的IPCore能比较方便地实现PCI-X接口、DDRSDRAM控制器、高速串行数据通路等逻辑模块。
本文主要介绍系统可重构的实现,即FPGA的配置控制,对于加速卡的其它逻辑模块的实现不着重讲述。
3可重构的实现方法可重构系统利用FPGA的资源可重配置特性,设计一种电路结构,在不影响系统正常使用的前提下完成FPGA的免插拔在线重配置,实现FPGA内部逻辑电路的实时重构。
3.1FPGA配置方式ALTERA公司的StratixII系列FPGA器件的配置方式主要有FPP(快速被动并行)、PS(被动串行)、AS(主动串行)等[6],其中PS配置方式的时序如图2所示。
PS配置过程为:nCONFIG信号首先产生一个最少40μs的低脉冲,nSTATUS、CONF_DONE信号被拉低,FPGA进入复位状态;nCONFIG变高后,nSTATUS随后变高,FPGA进入配置状态,至少延迟40μs后,时钟DCLK和数据DATA有效,FPGA在时钟上升沿锁定数据,数据低位在前高位在后串行传输,DCLK最高频率为100MHz;在FPGA接收到最后一位数据后,CONF_DONE信号拉高,FPGA进入初始化状态;在内置振荡器驱动下经过一段时间后FPGA完成初始化,进入工作状态;INIT_DONE为FPGA器件的一个可选信号,它由配置数据的最初几个字节配置,INIT_DONE信号被使能后输出为低,在初始化完成后跳变为高,表示FPGA器件进入工作状态。
在配置过程中一旦出现错误,nSTATUS信号将被拉低,系统重新开始配置。
DCLK没有最小工作频率要求,因此在配置状态下可以通过暂停时钟的方式延迟配置。
3.2FPGA在线配置电路结构图3所示电路结构为可重构计算系统的FPGA器件在线配置电路。
I/OFPGA器件为StratixIIEP2S30实现数据接口和配置管理,由一片厂商提供的专用配置器件在系统上电时自动配置,专用配置器件由专用下载电缆烧写,系统工作时I/OFPGA器件本身不能免插拔在线重配置。
ComputingFPGA器件为两片StratixIIEP2S130,它们由I/OFPGA器件完成在线配置,通过I/OFPGA中的PCI-X桥及高速串行接口传输计算数据,计算逻辑完成数据计算处理。
系统工作时ComputingFPGA器件可以免插拔在线重配置,完成对器件内部计算逻辑的实时重构。
系统实现可重构关键是对ComputingFPGA器件中的计算逻辑的重新配置,其核心部分即I/OFPGA中的配置控制电路。
如图3所示配置控制电路由控制寄存器、控制逻辑、FIFO和FPGA配置逻辑模块组成。
控制寄存器及FIFO通过内部总线与PCI-X桥连接,控制寄存器存储控制指令及系统工作状态,FIFO缓存ComputingFPGA的配置数据;FPGA配置逻辑模块读取FIFO中的数据配置ComputingFPGA;控制逻辑根据控制寄存器内的指令控制FPGA配置逻辑模块的状态,实时修改控制寄存器内的状态位,并提供ComputingFPGA内用户逻辑工作所需的RESET信号。
系统的两片ComputingFPGA采用PS方式实现在线配置。
器件(A)的片选nCE接地,nCEO接器件(B)的nCE。
首先配置器件(A)时其nCEO输出为高,完成配置后nCEO输出变为低选中器件(B)继续配置。
配置信号线CONF_DONE、nSTATUS、INIT_DONE以O-D(漏极开路)线与方式连接,保证两片Com-putingFPGA同时开始初始化及同时进入用户模式,配置过程中任何一片器件检测到错误,整个配置链路都将复位并重新开始配置。
3.3可重构部件配置数据存储FPGA在线配置电路中使用FIFO缓存可重构器件ComputingFPGA的配置数据,该模块由I/OFPGA器件中的RAM块资源构成,为一个8bits宽,4K字深的双时钟FIFO。
写时钟WR_CLK最大133MHz与PCI-X桥相同,写端带写空、满标志;读时钟RD_CLK最大12.5MHz,满足PS方式配置的最大带宽100Mbps,读端带读空标志;读写请求信号为RD_REQ、WR_REQ;另外FIFO的清空信号CLR,在配置出错时可以清除FIFO中缓存的数据。