·上一文章:采用FPGA的高速数据采集系统
·下一文章:ACTEL FPGA 在便携式系统中的应用分析
图2为初始化模块仿真波形图。从图中可以看出,当复位信号reset_initial有效以后,立即对“r1_initial信号”和“r2_initial信号”赋初值,然后在下一个时钟的上升沿(5 ns处),初始化开始,每次产生2个个体。
图3为Fitness模块仿真图,适应度模块是个逻辑模块,只要输入的个体发生改变,其输出也就相应改变。图3即为仿真后的波形图,此时输出信号的右侧有值。上述实现的是f(x)=一|x|的求值,这里可以看到:当ina_fitness为“000000001”(实数1)和inb_fitness为 “000000011”(实数3)时候,outa_fitness为“100000001”(实数一1)、outb_fitness为 “100000011”(实数一3)。
图4为Random模块仿真图。图4中左侧的是信号名称,中间是信号的随,右侧是信号的波形图。由图4可以看出,在复位信号reset_radom2未变高之前,输出的2个随机数的值是初始值O;当复位信号有效后,2个输出立即由O转为2个非O的输出。
(2)实验
下面将上述各个模块合在一起,构成一个完整的系统,对以下函数进行优化,并进行一定的说明。
图6是用基于FPGA的演化算法对上述函数进行优化后得到的最优结果。从上面可以看到,由上述方法得到的最优个体是“11111010”,最差个体是“11111010”。