基于Microblaze的组合电路在片进化设计

2011-12-28 01:23李川涛娄建安张之武常小龙
河北科技大学学报 2011年1期
关键词:重构逻辑编码

李川涛,娄建安,张之武,常小龙

(1.军械工程学院电气工程系,河北石家庄 050003;2.军械工程学院静电与电磁防护研究所,河北石家庄 050003)

基于Microblaze的组合电路在片进化设计

李川涛1,娄建安1,张之武1,常小龙2

(1.军械工程学院电气工程系,河北石家庄 050003;2.军械工程学院静电与电磁防护研究所,河北石家庄 050003)

虚拟可重构(VRC)电路的配置耗时问题一直是数字型演化硬件研究中的难点。为此,本文对组合电路的演化模型做了改进,提出了专门针对组合电路演化的虚拟可重构并行配置平台。讨论了在此平台上演化组合电路的方法,并在Xilinx Virtex-5(XC5VLX110T)开发板上成功实现了2×2乘法器。基于并行配置的方法,显著提高了演化速度。为了确保演化单元对外部电路不影响,提出了基于Microblaze核的内程序模拟进化和对VRC单元高速实时配置进化方法,并对此进行了详细的讨论。

电磁防护;在片进化;虚拟可重构;模拟进化;实时进化

随着科学技术的进步与发展,人类对未知世界的探索已经走向太空。外太空的强辐射、极端温度等环境对电子器件的可靠性和适应性提出了更高的要求。因此,采取有效的防护和修复方法成为当前硬件发展的一个主要研究方向。针对外太空的复杂电磁环境,文献[1]提出了电磁仿生防护的方法。电磁仿生研究主要是模仿生物相关特性,设计一种能够满足结构自行组织、故障自主修复、环境自动适应的硬件系统。演化硬件[2](Evolvable Hardware,EHW)的发展,为实现电磁仿生防护提供了一个良好的技术支撑。

演化硬件也称为进化硬件或者仿生硬件(Bio-inspired Hardware),是一种具有自组织、自适应和自修复特性的新型智能硬件,是演化算法和可编程器件的有机结合。它将可编程器件的结构和特征参数等作为染色体进行编码,利用演化算法作为组合优化和全局搜索工具,在不依赖先验知识和人工干预的条件下实现对硬件电路的优化设计。作为一门新兴的研究领域,EHW具有巨大的发展潜力和广阔的应用前景,尤其适用于电子设备需要长期工作、使用环境恶劣而技术人员又无法及时提供维修的情况,如外太空、深海等领域。现阶段电路演化是演化硬件研究的热点之一。

1 演化平台和Microblaze软核

在数字电路的演化研究中,大多以PC机为演化算法的运行平台,虽然程序编写方便、演化结果直观,但是如今的应用要求在脱离PC机的情况下实现“在板”进化乃至“在片”进化。除了从实际应用的角度考虑外,在对FPGA进行静电放电干扰、毁伤和自修复实验中亦同样需要。其主要原因在于实验中“连带损伤”的问题非常突出,即在静电将FPGA击坏之前就已将用来给VRC配置的PC机串口芯片通过配置电缆的传导而毁损,甚至有时系统电源亦不能幸免。所以,脱离以PC机等为主的演化计算环境、直接按照在片进化方式实现损伤电路的自修复等工作,其意义重大。

笔者以Xilinx公司的Xilinx Virtex-5(XC5VLX110T)作为演化母板,以Microblaze为软核对VRC结构进行并行配置。Microblaze采用强大的32位流水线RISC结构,包含32个32位的通用寄存器和一个可选的32位移位寄存器,时钟可达150 MHz,其以IBM CoreConnect为嵌入式处理器的设计基础,具有丰富的接口资源,且提供丰富的可裁剪的IP核如CAN通信核、串口核、高速PCI核、USB控制核等可裁剪IP,使得嵌入式设计非常方便,原本需要大量芯片的电路现在只需在片内设计既可以完成,由于电路的简洁使得系统的可靠性有了很大的提高。现如今使用FPGA最为嵌入式核心芯片的设计者逐渐增多,可供免费使用的IP核不断丰富,FPGA作为设计的核心器件将成为嵌入式设计的主流。图1为本设计所用Xilinx Virtex-5(XC5VLX110T)FPGA开发板。

Virtex-5(XC5VLX110T)FPGA内集成17 280个slice,分布式RAM1 120 KB,块RAM5 328 KB,64个DSP slice,Microblaze内核占用的逻辑资源数为1 010个,最大的时钟频率为210 MHz,在该时钟频率下可达到的处理速度为240DMIPS。可见Virtex-5(XC5VLX110T)FPGA完全可以满足本设计对硬件的要求。

2 数字电路网络模型建立

图1 Virtex-5(XC5VLX110T)FPGA开发板

数字组合电路都可看作是由一些基本逻辑单元分层实现,电路输入经过各层逻辑单元逐级处理得到电路输出。借鉴人工神经网络理论中多层前馈神经网络的结构,将组合电路的基本逻辑单元类比为神经元,并限定每个逻辑单元的输入输出端子个数,可以建立一个类神经网络的数字电路网络模型[3],如图2所示。

图2 数字2电路网络模型

与多层前馈神经网络所不同的是,电路模型中网络节点能够实现多种逻辑处理功能,各层节点之间的连接权值反映节点的连接关系,且权值只为0或者1,1表示连接。电路模型中可重构功能节点接收前一层节点的输入,进行逻辑处理,并将处理结果传递到下一层节点,电路输入经过一系列的选择和逻辑处理得到电路输出。通过改变网络的层数和每层节点的个数,该电路模型就可以描述任意的数字组合逻辑电路。

2.1 模型的矩阵组编码表示

基于该数字电路网络模型,设计了矩阵组编码算子,提高演化运算的速度和效能。

在数字电路网络模型中,可编程功能单元实现何种逻辑处理功能,利用一个二进制列向量进行编码表示。在P层电路网络模型中,第P层第j个逻辑单元实现何种功能用功能列向量[f[p]1,j,f[p]2,j,…,f[p]t,j]T进行编码,其中,t=log2M,取大于或等于log2M的最小整数,M为可编程功能单元所能实现的逻辑功能种类数。一层逻辑单元的功能编码依次排列组成一个“功能矩阵”,其表达式为

2.2 连接关系编码

电路网络中各层单元之间的连接关系编码可借鉴多层前馈神经网络中“连接矩阵”的描述方式,利用特定位置元素的取值决定两个单元的连接状态。电路网络中,第p层第j个可编程单元与第p-1层单元输出的连接关系用一个连接列向量[w[p]1,j,w[p]2,j,…,w[p]kp-1,kp]T来表示,其中,w[p]i,j表示第p层第j个可编程单元与第p-1层第i个单元输出的连接关系,其值为1或0,为1时表示二者通过连接通路相连,为0时表示不连。一层的逻辑单元的连接关系编码组成一个“连接矩阵”,其表达式为

也正是因为明确了“服务客户”的定位,国际彩印方能找到发展的新方向,进而成长为所在领域的佼佼者。在国内外印制大奖的获奖名单中,我们总能看到国际彩印的身影。据介绍,国际彩印所获金奖数量位居同行企业前列。

各层单元间的连接矩阵决定了电路网络的内部连接结构。与多层前馈神经网络连接矩阵所不同的是,该连接矩阵的每一列表示本层一个单元与前层所有单元输出的连接关系,每一行表示前层一个单元输出与本层所有单元的连接关系。如果某个连接矩阵中的一行全部为0,说明前层对应单元的输出没有被本层任何单元采用,即可判定它是冗余的,连接矩阵的这一特性将在电路快速重构修复过程中发挥重要作用。

为便于存储和操作,将每个可编程单元的功能列向量与连接列向量拼接在一起,形成一个新的结构列向量,其唯一地确定可编程单元所能实现的功能类型及其与前层单元的连接关系。对于每一层单元则对应一个的二进制矩阵,形成电路网络编码。

3 数字电路FPGA内部VRC模型建立

作为一种实现内部演化的有效途径,虚拟可重构技术在近年来被广泛用于多种演化硬件的实际应用[4]。虚拟可重构电路(Virtual Reconfigurable Circuits,VRC)是一种基于商业FPGA的快速可重构平台,可以减小基因长度,实现更加有效的染色体编码,提高内部重构速度,从而为EHW提供了一个更为简单有效的内进化技术途径。

3.1 自修复电路基本结构

本文根据数字电路的网路模型,设计了如图3所示的虚拟可重底层功能单元,通过8选1多路开关选择信号输入,通过4选1多路开关选择输入信号组合输出。图4中的VRC为图3功能单元的集合,即单层VRC单元。图5是四层VRC的级联,用来实现比较复杂的组合电路。图6中的system是Microblaze IP核用来配置VRC结构,相当于将一堆无序的核氨酸按照一定的编码串起来,成为具有确定编码的染色体。当配置任务完成后,VRC结构单元变成了具有一定逻辑功能的组合电路。此时Microblaze CPU便可处理其他任务,而VRC独立工作。

图3 虚拟可重构功能模型

图4 单层VRC单元

图5 四层VRC级联

1)VRC模型中,根据目标电路要求,可以选择多种不同逻辑门作为功能单元,也可以增加门的种类和个数。在图3中,选择了AND,NAND,XOR,NOT作为功能单元,4选1多路选择器作为功能选择单元,改变多路选择器的配置位可以实现不同的电路功能。

2)单层VRC单元的级联方法如图4所示,图3的虚拟可重构虚拟模型在ISE开发环境下生成SCH文件供上层调用。单层VRC单元与神经网络中单个神经元的作用类似,通过修改该层的配置信息,便可实现输入信号不同组合的输出。

3)因为单层VRC的功能比较简单,难以实现复杂的组合电路。所以在演化2×2乘法器时,笔者采用四层VRC的级联,如图5所示。

3.2 自修复工作原理

在复杂电磁环境中,可能因FPGA内部出现了局部功能单元的损坏而导致整个电路不能正常工作。而这种情况在研究过程中很容易使用人为屏蔽部分功能单元的方法予以模拟。故障发生后,可以启动Microblaze运行相应的遗传算法,对VRC电路进行尝试性的配置,即通过不断改变功能单元的连接结构,使其逐步接近、恢复正常的工作状态。待电路能够正常工作时就停止配置。此时故障单元便被“隔离”在电路之外,系统即告“修复”。之后,VRC可以自动保存配置信息并脱离Microblaze工作。

图6 Microblaz配置VRC

4 实验结果与分析

本文中对VRC的配置采用全并行的配置方式,Microblaze是可裁剪的32位的软核CPU,其PLB总线上的GPIO可以任意增减,所以本文对本文所设计的具有288个配置位的VRC,配置一次所需要时间只为9个指令周期,如果采用VRC串联的方式配置本设计4×8(4层VRC,每层8个逻辑单元组)则需要528个指令周期。当电路结构复杂、规模庞大时,并行配置的优越性将更加明显。

在演化方式方面,考虑到演化电路的具体应用场合,本文采用2种不同的演化方式。一种是程序模拟进化,当程序模拟成功之后,将对应的染色体编码配置到VRC中去。这种方法的好处是在电路的演化过程中,不会应为演化电路的不正确输出给外部电路造成破坏。例如在演化无刷直流电机逻辑转换电路时,如果不断开演化电路与电机驱动电路的连接,在实时的给VRC配置的过程中,VRC电路的不正确输出可能会烧毁电机。所以程序模拟演化的方式在提高电路安全性方面是必要的。程序模拟演化的仿真底层功能的核心代码如下:

即通过程序中数组之间的与、或、与非和非来模拟实际电路中的底层逻辑单元。另一种方式时采用实时配置,实时读取输出输出,计算适应度,然后修改染色体编码的方式,这种方法的优点在于程序设计简单,演化速度快,当演化电路的规模比较大时其优越性将更加明显。

为了比较2种不同的演化模式和检验本文所设计的电路模型的演化性能,基于CGP(Cartesian Genetic Programming)模型的进化策略对2×2乘法器进行了演化[6]。演化模式1的种群大小设置为5,变异率为0.01,演化模式2的种群大小设置为5,变异率为0.01。2种模式在对应每次试验时的随机数种子给相同值,以确保2种模式所用演化时间的不同是由2种不同的演化模式所引起的,实验结果见表1。

表1 实验结果汇总

由本次的试验数据统计可以说明实时配置的方式在电路演化时可以缩短演化时间,适合于大规模电路的演化。

5 结 论

作为一个新兴的研究方向,EHW技术已经显示出良好的应用前景,尽管任重道远,但它有望实现一种全新的电路设计方法。本文主要对数字电路的演化设计方法进行了研究,设计了用于组合电路并行配置的虚拟可重构模型,进行了相关实验。同时为了提高演化的速度和对外部电路的安全考虑,提出了两种不同的演化方式。实验结果验证了利用虚拟可重构模型演化组合电路的可行性与有效性,而且本文提出的模型不受应用平台的限制。在顺利实现组合电路自修复的基础上,下一步便可着重进行基于FPGA的时序电路模型建立[7]和容错方面的研究[8]。

[1] 刘尚合,原 亮,褚 杰.电磁仿生学——电磁防护研究的新领域[J].自然杂志,2009,31(1):1-7.

[2] YAO X,HIGUCHI T.Promises and challenges of evolvable hardware[J].IEEE Trans.on Systems Man and Cybernetics-Part C:Applications and Reviews,1999,29(1):87-97.

[3] 崔新风,娄建安,褚 杰,等.基于类神经网络模型的电路演化实现方法[J].计算机工程,2011,37(4):175-177.

[4] 丁国良,原 亮,赵 强,等.基于虚拟可重构电路的演化硬件[J].计算机工程,2008,34(7):243-244.

[5] KEYMEULEND,STOICA A,ZEBULUM R,et al.Self-reconfigured mixed-signal integrated circuits architecture comprising a field Programmable Analog Array and a general purpose genetic algorithm IP core[C].ICES 2008.225-236.

[6] STOMEO E,KALGANOVA T,LAMBERT C.Mutation rate for evolvable hardware[C].Proceedings of world academy of science engineering,and technology,2005(7):117-124.

[7] ALI B,ALMAINI A E A,KALGANOVA T,et al,Evolutionary algorithms and their use in the design of sequential logic circuits[J].Genetic Programming and Evolvable Machines,2004(5):11-29.

[8] 林 勇.基于进化型硬件的容错方法研究[D].合肥:中国科学技术大学,2007.

TP302.1

A

1008-1542(2011)07-0127-05

2011-06-20;责任编辑:张 军

李川涛(1987-),男,陕西宝鸡人,硕士,主要从事电路与系统、嵌入式设计与应用、电磁仿生理论及实现方面的研究。

猜你喜欢
重构逻辑编码
刑事印证证明准确达成的逻辑反思
视频压缩感知采样率自适应的帧间片匹配重构
长城叙事的重构
逻辑
创新的逻辑
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
北方大陆 重构未来
Genome and healthcare