郭 亮
(总参第63研究所,江苏南京 210007)
基于可编程模拟器件的演化硬件的研究
郭 亮
(总参第63研究所,江苏南京 210007)
研究了一种利用可编程模拟电子器件设计电路的方法。该模拟器件具有非常优越的可重构特性,通过编程控制可以方便地改变其结构,特别适用于模拟电路类型的演化硬件电路的设计。阐明了电路进化硬件的基本原理和实现技术,提出了一种基于可编程模拟器件的进化电路设计方法。
进化硬件;可编程模拟器件;进化算法
演化硬件(evolvable hardware,EHW)是如今仿真技术中比较热门的一个研究方向,无论是模拟进化硬件还是数字进化硬件,其本质都是利用演化算法改变可编程器件内部资源的连接方式而形成具有特定功能的电路拓扑结构,演化算法作为电路进化的软件基础,而可编程器件作为电路进化的硬件载体,可概括为演化硬件=演化算法+可编程器件。因此,根据以上定义,我们可以将模拟EHW定义为模拟演化硬件=演化算法+可编程模拟器件。模拟EHW技术主要利用可编程模拟器件的电路结构可多次重构的优点,其内部模拟电路资源间通过大量可编程开关节点互连,并能够通过编程接口控制其工作状态,通过智能的进化算法形成染色体,经解码后形成配置文件下载到器件中,能够实现既定功能的电路拓扑结构。因此在模拟EHW研究中进化算法和可编程模拟器件的研究并重,进化算法决定电路设计的规模和效率,模拟器件决定此方法的工程实现,要注重二者的有机结合。
一般选择演化算法作为全局优化的主要工具,以期在解空间中寻找到目标解的过程。演化算法是一种模仿生物进化的搜索算法[1],它是从待解决问题解空间中的一个初始值开始,通过遗传操作和适应度计算的迭代过程而得到最优解。种群中每个个体携带遗传物质并对应于一染色体实体,染色体中遗传编码信息对应于一种电路结构,作为解空间内的某一点,决定了此个体的独特性质和其外部表现形状。初始种群选定之后,就按照优胜劣汰的原则,通过遗传操作和性能评估的方式,不断进化直到进化出适应环境的最优个体。在进化过程中,根据每个种群个体的适应度挑选出较适应环境的精英个体作为父代,并利用遗传学中的遗传算子对父代种群进行交叉和变异,产生出新的子代种群。像自然进化一样将使染色体种群后代比前代种群更加适应环境,亦即更加符合电路功能要求或逻辑功能要求。在一定范围内越来越接近问题的最优近似解。最后一代种群中的最优个体经过解码映射后,可以作为问题最优解或近似最优解对电路编程实现最终的设定功能。
可编程模拟器件(programmable analog device,PAD)是一种新型的处理模拟信号的集成电路芯片,借助它可以快速、方便地设计模拟电路。它不但具有简单高速、低价低功耗的优势,还能够使用户通过编程控制来配置其内部器件和元件的参数而获得所需的电路功能,因此,其特点可概括为易于设计、便于维护、环境适应性强。
可编程模拟器件的配置信息可以由外部控制单元由可编程接口输入,而配置信息又是可以通过智能算法迭代计算获取,进而自动高效地控制内部器件的相关电气参数和器件间的连接关系,内部相关功能单元通过不同的组合形式完成特定的电路功能。因此,可编程模拟器件的设计可按图1所示方式获得此种可编程的能力,PAD的核心部件为可编程模拟计算单元(configurable analog block,CAB)和可编程互连网络(programmable interconnection network,PIN),外围资源包括配置数据存储器(configuration data memory)、输入输出(input/output blocks,I/Os)单元等。
图1 可编程模拟器件组成图
模拟EHW技术主要基于PAD的在线重配置的特性,在线控制单元通过可编程接口将配置信息写入配置数据存储器,使得模拟单元实现电路拓扑结构的在线重构,并通过进化算法更改目标电路的功能。通常模拟EHW可分为外部进化和内部进化两种。前者是一种形式虚拟而功能实体的方式,即首先建立电子器件的模型,再把进化算法产生的染色体注入到模拟电子元器件的SPICE仿真模型里,形成具有某种功能的电路结构的描述文件,然后演化算法通过调用TCL脚本程序利用相应的仿真软件对此电路描述文件进行仿真而得到其相应的电路响应,通常以SPICE为核心的电路仿真软件为主,最后将电路响应和目标结果的波形进行比对,利用适应度计算方法对其进行评估,得到此电路所对应染色体个体的适应度以备遗传操作的依据,如果达不到既定电路运算的目标,则利用演化算法通过遗传操作对父代种群进化产生新一代的染色体子代种群,重复前面的循环操作,直到找到能够完成电路功能的最优染色体。而内部进化是一种在线操作,演化过程中产生的每一个染色体都要在实际器件内进行适应度评估,所有染色体都将转化为所对应的电路的配置信息,通过可编程接口直接下载到实际的器件中,控制单元通过通用接口记录实际的电路输出,在实际环境中评价每种电路结构的输出性能。其基本流程如图2所示。
图2 模拟EHW实现方法的流程图
通过软件建立电路模型,产生初始染色体信息即电路的一种配置结构、评价染色体将个体所对应的电路进行评价、转换电路模型完成每个染色体所对应的所有电路描述文件、评估电路响应与既定电路的输出结果进行对比以及交叉、变异、精英保留等遗传操作。智能进化算法是HereBoy算法,它主要是基于遗传算法的模拟退火算法,在遗传算法的基础之上,融合了模拟退火算法的基本思想,综合了遗传操作和模拟退火两者的优点,收敛速度和全局优化能力都较强。本文中所研究的天馈线驻波比的测试决定了阻抗的匹配程度,驻波比越接近“1”阻抗的匹配程度越好,如图3是本文为改善阻抗匹配程度所设计的一个可调电路,通过进化算法自动调节电阻和电容,可以根据不同的天馈线自动实时得到阻抗最为匹配的电路。
对于EHW模拟电路演化设计,编码实现了数字代码序列与实际功能电路间的映射,合适的编码方法简便而高效,既降低演化算法操作染色体的负担,又能易于解决大规模电路的设计问题,是借助于智能进化算法解决问题的前提条件[2],本文对器件的属性参数采用了二进制编码,染色体中的每一位只有1和0两种状态,这易于计算机仿真实现。编码元素是由数字1和0所组成的二值符号集{1,0},在与具体电路结构进行映射时,染色体每一位的每个符号对应于相应电路模型中某一位置上可编程开关的“打开”和“关闭”状态,因此,演化算法所需要操作的每个染色体一个相应的二进制编码符号串,其对应于电路模型中各节点的一种连接形式,完成一定拓扑结构的电路功能。二进制符号串具有编解码操作简单的优势,无论是外进化还是内进化研究都比较方便实用,并且易于演化算法进行的各种操作,如交叉和变异,交叉只需改变某些位的信息而不用数学运算,变异只需将相应位的信息进行翻转操作。
适应度函数用于评价相应个体的适应度,是演化算法遗传操作的重要依据,其他的遗传或变异细节都被适应度屏蔽,适应度既是进化操作的总结,又决定着进化操作是否停止,决定了演化过程中算法在整个解空间的搜索方向,并且其效率和准确度也大大制约了算法的整体性能,因此适应函数在演化算法中的地位十分重要。函数的设计应具体情况具体分析,由电路的具体要求选取或设计出合适的适应度函数。例如本文所论及的功放适配电路就采用了电路中的反射回波的度量作为适应度函数,见式(1)和式(2)。
图3 求解驻波比可调电路图
式(1)中:R为反射系数;ZL为负载阻抗;Z0为特性阻抗。式(2)反映了图3中求解的驻波比。适应度函数的值也就是反射系数R越小,驻波比ZWR的值就越接近1,电路的阻抗匹配也就越好。在算法中要限定R的值是非负的。
具体实现步骤如图4所示。1)随机产生初始种群的染色体;2)对所有染色体所对应的电路进行适应度评估,由具体的功能要求,根据公式(1)得到该具体电路的适应度值;3)由适应度判断该个体是否满足功能要求,是否可以终止演化;4)对适应度最高的染色体保留下来作为精英个体,对其进行交叉、变异等遗传操作,以生成新的子代染色体个体替代父代个体;5)将子代染色体和精英个体保留作为新的种群,评估子代染色体个体的适应度;6)判断新种群的有效性:如果子代染色体中有个体的适应度超过精英个体的适应度,则用子代染色体来代替精英个体并转步骤3),否则,以精英个体重新进行遗传操作。
在特定的电路中特性阻抗的值一般固定设置为50Ω或75Ω,在这里的电路中选择了50Ω,在进化算法自动优化调节的过程中,负载阻抗的值最终自动调节为46.5Ω,得出的驻波比为1.075,可以看出,通过进化算法自动调节负载阻抗的值可以是电路的阻抗达到很好的匹配。
图4 主控程序流程图
由于器件性能的非理想,计算结果与实际状态会有差异,如果不加限制会导致电路不断更新,陷入循环而影响工作。所以实际上是实测值在理论进化值的一定范围内(如±5%)就认为已经进入了优化状态,更新的周期也不宜过短。
给出了基于可编程模拟器件的演化硬件基本框架,较为全面地阐述了进化硬件实现的整个流程,并以实例说明了一个进化设计的思路。
[1]李敏强,寇纪淞,林 丹,等.遗传算法的基本理论与应用[M].北京:科学出版社,2002.
[2]赵曙光,杨万海.一种用于进化硬件的染色体编码新方法[J].西安电子科技大学学报(自然科学版),2000,27(1):1-3.
TN6
A
1008-1542(2011)12-0060-03
2011-06-20;责任编辑:冯 民
郭 亮(1981-),男,江苏盐城人,工程师,硕士,主要从事智能信息处理方面的研究。