演化硬件的实现方式主要有以下两种:
一种是外部演化实现方式(Extrinsic EHW),也称之为离线(Off-line)演化方式;
另一种是内部演化实现方式(Intrinsic EHW),也称之为在线(On-line)演化方式。
外部演化是指在计算机上使用软件模拟演化进程,通过硬件描述语言(HDL)建立硬件模型,然后将由演化算法产生的染色体个体在器件仿真模型上进行适应度评估,当适应度值达到预期的适应度值时,将此时所对应的染色体个体进行解码后,下载到实际的可编程逻辑器件中,完成实际器件的内部结构配置。
与外部演化实现方式不同,内部演化是将演化算法在每一代中所产生的染色体个体都下载到实际的可编程逻辑器件中,并且对所生成的每种电路结构的输出直接进行评估。它直接在硬件上进行电路结构和参数的动态调整,使用硬件的快速性和并行性对染色体的适应度进行评估,从而使得整个演化过程得以加速,其演化速度远远高于外部演化方式。
演化硬件实现的关键在于针对具体的可编程逻辑器件结构进行有效的染色体编码和适应度评估。
考虑到可编程逻辑器件的结构位串为二进制位串,一般采用二进制编码方法,同时结合具体电路的结构对染色体进行编码。
在进行硬件系统演化时,如果将其全部配置数据作为演化算法的个体染色体,计算量将是非常可观的,演化速度也将过于缓慢。
由于真正用于控制硬件结构的只是全部配置数据中的一部分数据,它们才是演化算法真正的演化对象,所以利用可编程器件的可部分重构特性,可以使用其中的部分逻辑块进行演化。
这就极大程度地缩短了个体染色体的编码长度,提高了演化速度。
适应度函数是根据电路所完成的具体功能,选取电路正确的输入输出模式作为测试数据。
适应度评价值越高的染色体所对应的硬件结构就越好。