您的位置 首页 培训

选用编程逻辑器材操控8个LED小灯电路的规划

采用编程逻辑器件控制8个LED小灯电路的设计-演化硬件(EHW)是指能根据外部环境变化自动改变自身结构和功能的一类硬件,它把可编程逻辑器件的结构位串当作染色体,通过演化算法进行搜索,用符合要求的染色体配置可编程逻辑器件,得到要设计的硬件电路。这一研究方法能够探索新颖的电路设计方案,寻找许多未被人类发现高效的捷径;实现电路的在线自适应与容错,以适应很多应用需求对硬件的灵活性要求。它正在成为未来电路设计的发展方向。

1、导言

演化硬件(EHW)是指能依据外部环境改动主动改动本身结构和功用的一类硬件,它把可编程逻辑器材的结构位串当作染色体,经过演化算法进行查找,用契合要求的染色体装备可编程逻辑器材,得到要规划的硬件电路。这一研讨办法可以探究新颖的电路规划计划,寻觅许多未被人类发现高效的捷径;完成电路的在线自习惯与容错,以习惯许多运用需求对硬件的灵敏性要求。它正在成为未来电路规划的发展方向。

本文进行了数字电路的演化试验,意图是在FPGA中演化出8个LED小灯的操控电路,使其完成依据时钟脉冲从1到8号按次第顺次闪亮的功用。以验证硬件演化的有效性,探究数字电路演化规划的根本办法。

2、染色体编码

用3个二进制位代表1个小灯的点亮次第,这样染色体长度为3×8=24位。三个二进制位的值为0表明在第一个时钟时点亮的小灯,以此类推, 值为7表明最终点亮的小灯,答应有多个小灯一起点亮。

习惯度分为二部分,其百位表明将染色体从小到大排序后与方针相符的小灯的个数,最大为8;十位和个位表明排序所需的次数,抱负次第为01234567,其交流次数为0,最差状况为76543210,需求交流28次,所以最大习惯度为828。图1给出了一个染色体的比如,排序后共有6个小灯契合方针,其间没有值4和6,有3个5,这表明在时钟5和7时没有小灯点亮,而在时钟6时5、6、7号三个小灯都点亮。排序共进行了14次,此染色体的习惯度为6×100+28-14=614。

染色体: 111 101 001 011 000 010 101 101

排序后: 000 001 010 011 101 101 101 111

3、演化算法

选用了Hereboy算法,这是一个相似模拟退火算法的优化算法,它不像规范遗传算法那样对集体中挑选的个别进行穿插、变异,而是经过单个个别的变异来探究查找空间。

此算法需求用户来确认二个参数:变异率和查找率。图2显现了算法的一个循环。算法依据变异率核算染色体中呈现变异的位数,方位是随机挑选的,把相应的方位反。然后对核算出染色体的习惯度值,假如值比变异前高,就保存此变异,假如低,则染色体以必定概率(即查找率)保存较差变异,不然康复变异前的状况。保存较差变异的意图是答应它们与其它较好变异结合起来,加速收敛速度。然后此进程不断重复。

选用编程逻辑器材操控8个LED小灯电路的规划

算法运转中选用了一个自习惯计划逐步削减变异率和查找率。如图3所示,它们在运用时被乘以一个系数β,染色体中变异的位数和承受一个较差变异的概率跟着逐步收敛到最优解而不断减小,这样开始时体系以较大脚步查找,跟着当时最优成果的增加把变异速率调整的更精密。既能加速收敛速度,又避免了演化陷于部分最优。

4、完成

咱们挑选了XESS公司的XSV300开发板[4]作为试验的硬件渠道,它以25针并口电缆与主机相连,经过一片XILINX公司的XC95108 CPLD来操控XCV300 FPGA的装备。板上的条状Led块由10个Led组成,选用其间的1到8号用于显现输出。

JBits2.8是一个Java类调集[5],它供给了对Xilinx Virtex系列FPGA位串的运用程序接口,既可对Xilinx规划东西发生的位串,也可对从实践硬件回读的位串进行操作。JBits运用的程序模型是一个二维CLB数组。每个CLB都有一个行、列号,使人们可以设置和检测选中的CLB内的一切可装备资源,在FPGA器材上规划并动态的修正电路。

对本试验来说外部演化较为简略,只需将得到的最优染色体下载到器材中即可;内部演化则需求用硬件进行习惯度核算,所以每一代的染色体都要下载到器材中,运转8个时钟,核算出其习惯度值。图4给出了内部演化的根本流程。

咱们选用了一种灵敏的办法完成了从染色体发生操控电路,即依据染色体生成8个时钟周期Led灯的状况,共8×8bit等于64bit存入FPGA中的Bram,生成一个3位计数器,其输出连接到Bram的地址线,Bram的输出连接到Led条的输入。这样计数器在时钟的操控下从Bram中挑选对应的数据输出到Led显现。并且在习惯度丈量时,不再需求专门的存储器来记载Led的状况,咱们可以直接从Bram中读取电路的输出。

5、试验成果

咱们在一台P4 1.7的主机进步行了外部演化试验,对Hereboy算法中变异率和探究率的不同取值对算法收敛速度的影响进行了核算,每对参数别离运转30次,核算出了其平均收敛代数和时刻,如表1所示。

变异率 查找率 平均收敛代数 平均收敛时刻(ms) 最小收敛代数 最小收敛时刻(ms)

当变异率大于0.7时,收敛速度急剧下降,且绝大部分次数无法演化出最优解。从表中可以看出,变异率和查找率对演化的影响很大,跟着它们数值的增大,演化的平均收敛速度也不断提高,在0.7左右时到达最优,但对最小收敛速度来说影响不大。因为外部演化彻底经过软件核算,所以最小收敛代数和最小收敛时刻与主机详细的运转状况有关,并不成线性比例关系。

在外部演化的基础上,咱们成功的进行了内部演化。XCV300装备位串的长度为218980字节,彻底装备下载时刻约为50492ms,运用JBits的部分重配函数,在初次对XCV300进行彻底装备后,每次只下载要修正的数据。此刻部分位串的长度为23048字节,下载时刻约为5358ms。将变异率和查找率都设为0.7,在演化42715代,耗时60多小时后得到了方针电路。

6、定论

从试验可以看出,外部演化时刻等于演化收敛时刻加上彻底装备下载时刻,不过数分钟,而内部演化则需求数天。所以对小规模电路演化而言,内部演化受装备位串的下载速度的影响相对较大。假如选用规范遗传算法,每代需求核算习惯度的染色体个数更多,内部演化将遭到更大影响。关于杂乱电路演化,假如其习惯度核算时刻远大于装备下载时刻,此刻方可发挥内部演化硬件履行速度快的威力,这有待于在往后的工作中进一步研讨。

本文作者立异点:以JBits API和XESS开发板作为EHW渠道,以Led操控器的演化为方针,完成了可以进行在线进化的闭环结构,形成了一个较为有用的EHW试验和运用环境的详细办法。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/341290.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部