数字系统设计研究中的进化硬件电路及应用前景
作者 :深圳大学信息工程学院 朱明程
深圳职业技术学院 王静霞
摘要:以美国Genobyte公司的CBM为例,介绍了目前数字系统设计研究的热点,即进化硬件电路的应用研究价值、理论基础及实现的载体,并讨论了进化硬件电路有待发展的技术条件。
1 引言
随着数字系统的FPGA现场集成技术的发展,特别是由SRAM FPGA的可重构技术的不断成熟,数字系统的设计思路和方法正在产生变革。人们提出,能否基于一个动态可重构的实现手段,来构造一个分时复用数字逻辑资源的数字系统。这种设计方法将使大规模的数字逻辑由较小规模的FPGA器件实现(例如100万门规模的数字逻辑系统,由20万门的器件来实现)。同时,在应用方面,有人更进一步地提出,能否基于某种算法(如遗传算法、人工神经网络等)来构成某种具有进化能力的电路,这种电路将有可能在外界条件和参数的刺激下,自动地、有机地发生变形、进化,形成具有某种意义上的智能硬件电路。
正是由此,目前国际上数字系统设计研究领域中,对于设计方法的研究,对如上两个方面及其相互推动的影响给予极大的关注。特别在进化电路的理论研究和实用化方面,自1999年以来,取得了明显的进展,并形成了研究热点,主要代表是美国Genobyte公司推出的CBM计划,倡导进化硬件和智能硬件的研究发展。今年夏季,第一届可重构系统与算法国际学术会议将在美国拉斯维加斯举行。
2 CBM计划
CBM—CAM brain machine,市场上称作人工脑机器,它是Genobyte公司于1997年到2000年期间研制的。该系统核心是一个可实现逻辑重构的三维阵列,其硬件资源具有120万个细小的功能单元和1.2G字节的分布式存储器。通过这样一个系统,可实现相当于7500万神经细胞的神经网络细胞自动控制的进化和人工脑硬件的实时仿真。
CBM开发有三个目标:一是为复杂数字电路的进化研究开创一个有效的研究方法,例如基于神经网络的细胞自动控制器直接应用了可重构硬件技术;第二个目标是将很多较小的已有进化功能的电路组合起来形成一个大规模电路,例如一个具有数百万神经细胞的人工脑是由上千个进化神经元模块构成的大电路,其运行速度能够满足实时要求;第三个目标是系统设计具有充分的灵活性,使之可以作为一个通用进化硬件的研究平台。
3 CBM的硬件功能及价值
CBM的硬件设计支持两种不同类型的进化电路,即门级进化电路和功能级进化电路。门级进化电路是通过把染色体位串直接加载到FPGA配置存储器中,从而可以构建由基本布尔门电路和触发器组成的任意的数字电路。功能级进化硬件是在门级进化电路的基础上,由很多小的进化电路按照一定规则组合成具有特定功能的大电路模块。
CBM包括硬件系统和软件系统。软件系统的作用是提供人机交互界面以及各种进化参数、数据结构等。在软件的控制下,CBM硬件完成细胞自动控制和神经系统的仿真进化过程:CBM首先把一个基因型群体生长成它们相应的显型,称为生长阶段;然后,对生成的显型进行适应度评估,称为发信号阶段;最后,进行复制、交叉和变异等遗传操作以生成下一代基因型,称为遗传阶段。
CBM的研制对于逻辑可重构技术的正确运行、染色体交叉和变异的硬件实现方法以及基于硬件的适应性评估研究具有重大意义;同时,通过胚胎生长过程,CBM还对复杂的基因型—显型映射研究起着重要作用。
4 进化硬件电路实现的理论依据
进化硬件电路实现的理论依据一般是遗传算法和人工神经网络原理。
遗传算法是一类借鉴生物界的进化规律(适者生存、优胜劣汰遗传机制)演化而来的随机化搜索方法。它以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中,选择、交叉、变异构成了遗传算法的遗传操作;参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。遗传算法的计算过程如图1所示。
基于遗传算法原理,CBM在主机控制下,一代神经元细胞的生长进化控制过程如图2所示。由图2可知,选择操作是由主机通过软件完成的,采用了排序算法和超越算法,其它操作都是由CBM硬件(在软件控制下)完成的。
人工神经网络是指为了模拟生物大脑的结构和功能而构成的一种巨量并行分布信息处理结构,它含有大量的神经元,各神经元之间进行加权互连。人工神经网络的特点是:大规模并行计算、非线性处理、自组织及自适应性、分布式存储、存储与计算相结合等。网络中每个神经元的结构形式是一样的,神经元的结构如图3所示,它有多个输入,一个输出O,输出是输入的加权和,经非线性函数f作用后得到的,T是神经元的阈值,输入与输出的关系如下:
目前,很多人以人工神经网络原理为基础进行进化电路的设计和实现研究。
在CBM设计中,为了对生成的神经网络进行适应性评估,CBM模拟了神经元的信息处理与传递方式。在发信号阶段,信号通过树突分别传播到各自的神经元细胞,神经元细胞被输入信号的状态刺激或抑制,得到足够刺激的神经元细胞能够被激活并进一步通过它的轴突传播信号。这种传递方式体现了神经元的信息传递特性:阈值性、单向性和延时性。
5进化硬件电路实现的载体
CBM硬件的所有功能都是建立在一种用于实验的Xilinx XC6264 FPGA的先进性能上,其核心技术是FPGA动态可重构技术。
FPGA动态可重构技术是指基于SRAM编程和专门结构的FPGA,在一定条件下,不仅具有在系统重新配置电路功能的特性,同时还具有在系统动态重构电路逻辑的能力。 动态可重构FPGA对于时序变化的数字逻辑系统,其时序逻辑的发生不是通过调用芯片内不同区域、不同逻辑资源来组合而成,而是通过对具有专门缓存逻辑资源的FPGA,进行局部的和全局的芯片逻辑的动态重构(或称修改)而快速实现。动态可重构FPGA在器件编程结构上具有专门的特征,其内部逻辑块和内连线的改变,可以通过读取不同的SRAM bit数据来直接实现这样的逻辑重建,重建时间往往在纳秒量级。例如,在CBM进化过程的生长阶段,通过将生长指令(一串二进制数据流)直接加载到FPGA上,FPGA在极短的时间内进行逻辑重构,使细胞按照生长指令生长,从而生成一个新的神经网络。
Xilinx XC6264属于Xilinx公司正在研究开发的具有新型可重构处理单元XC6200系列FPGA。XC6200系列FPGA 的特点是:
*高性能门海阵列FPGA:数万个配置单元,丰富的寄存器、门电路和布线资源、高速SRAM控制存储、220MHz触发器触发速率。
*非常灵活的单元结构:每个单元中含有超过50个独特的逻辑函数、一个寄存器以及2输入门电路和2选1选择器,如图 4所示。
*先进的动态可重构性能:通过并行CPU接口进行高速重构;可实现全局或局部重构转换;无限制的重编程次数。动态重构方式与逻辑重建时延关系如图5所示。
CBM硬件核心由72个XC6264 FPGA组成,它们按照6×4×3的三维阵列方式排列连接,每个XC6264包含了16384个细小的可重构功能单元和512个可重构I/O模块,用来实现CBM的门级电路进化和功能级电路进化。
6存在的问题和有待发展的技术条件
FPGA动态可重构技术是CBM设计的技术基础,因此CBM的性能受限于FPGA动态可重构技术的发展。
目前,FPGA动态可重构技术实现的瓶颈是重构时隙的减少或补偿。所谓重构时隙是指在数据重载时,FPGA端口对外呈高阻状态,重载后才恢复对外的逻辑功能,即重新配置数据的过程中,旧的逻辑功能失去,新的逻辑功能尚未建立,电路逻辑在时间轴上断裂,系统功能无法动态连续。
减少重构时隙的关键是减少逻辑重构时间,而逻辑重构时间的减少依赖于局部高速重构技术的成熟。CBM系统重构时间少于10ms,未来CBM性能的进一步提高的必要条件就是开发一种具有局部重构能力,且重构时间在纳秒级的器件——唯一真正在任何时候都可以局部重构的逻辑单元电路。
CBM是当前唯一的大规模进化硬件应用系统研究平台,为进化硬件的进一步研究提供了基础,对动态可重构FPGA技术的研究和发展具有极其重要的意义。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。