论文部分内容阅读
本文系统介绍了演化硬件的基本原理和实现方法,并在此基础上对将演化硬件技术应用在以FPGA为平台的硬件布局设计中进行了研究。
演化硬件就是能够通过与环境的相互作用,自动的动态改变其结构和行为的硬件,它的技术基础是演化算法和可编程逻辑器件,即可以用下面的公式来定义演化硬件:演化算法+可编程逻辑器件=演化硬件。演化计算是演化硬件的理论基础。演化计算就是用计算机模拟大自然特别是生物的演化过程来求解复杂问题的一类计算模型。演化计算最主要的几个因素就是编码方案、适应函数、选择策略、控制参数和遗传算子,而这些因素的确定又是相互决定和影响的。一个好的演化算法必须综合考虑以上各个因素以达到最佳效果。可编程逻辑器件是演化硬件的硬件基础。它们的电路结构可以用一些结构位串来表示,因此,可以将结构位串当作演化算法中的染色体,通过演化计算来优化硬件。
演化硬件是一个新兴的研究领域,国际上从上世纪九十年代初就开始了演化硬件方面的研究,主要集中在欧洲、北美和日本,并已经利用演化硬件的思想实现了一些电子器件。在中国较早也有人使用演化硬件进行电子设计自动化或者软硬件协同设计的研究,方法主要是利用直接编码或类似于直接编码的方法进行可编程逻辑器件的演化。现在,越来越多的研究人员使用FPGA作为平台来进行演化硬件的设计及验证工作,其基本思想是利用FPGA的可重配置功能,可以在使用过程中,在不改变所设计的设备的硬件电路情况下,改变设备的功能。此外,以FPGA为平台的硬件设计可以大大降低成本,缩短开发周期。
以FPGA为平台的演化硬件设计面临两大急需解决的问题:演化的速度以及硬件电路的优化。演化算法执行的速度慢是因为演化规模过大,演化规模主要由染色体长度决定,针对如何缩短染色体长度目前经常采用的方法是在完全编码的基础上,再进一步剔除冗余的基因位,使那些电路结构上不存在的配置不占用染体,如:Kajitani等提出的变长染色体算法VGA;基于FPGA的硬件电路优化设计包括了布局优化和布线优化两个内容,其核心思想是希望以最小的系统资源配置来实现所期望的逻辑功能。
针对演化速度慢这一问题提出了一种利用FPGA器件本身可重构特性的编码方法,其核心思想是对构成FPGA器件的基本逻辑单元——功能逻辑块进行编码,通过对器件内部的逻辑块进行演化来实现硬件的重构。此外,针对硬件电路的优化我们是以对其进行布局优化为主,这是因为FPGA的重构是通过对内部的连线资源进行编程实现,这些内部连线资源对于系统的设计需求来说是非常丰富的。因此,不必担心由于布线资源的缺少而导致的电路不合法问题。
为了有效地解决上述问题,提出了一种基于FPGA的布局优化算法,并通过研究发现,算法在处理布局优化问题的同时也实现了硬件电路的重构。这是因为算法执行过程中的每一个染色体都代表一个逻辑电路,同时也代表了一组逻辑功能块的组合,但由于它们之间的通信及连接关系并没有发生改变,因此逻辑功能是一致的:我们还发现这种布局优化算法在处理细粒度可重配置(FPGA)结构时更加有效,这是因为精细粒度FPGA内部联系资源是非常丰富的,而粗粒度可重配置体系结构的可编程路由资源是有限的,因此在进行设计时还需要把布线的优化考虑进来。