一种基于改进演化硬件的电路自修复方法技术

技术编号:33889156 阅读:13 留言:0更新日期:2022-06-22 17:23
本发明专利技术公开了一种基于改进演化硬件的电路自修复方法,采用演化硬件实现自修复电路;对电路系统外加一个补偿电路,对错误输出进行修复,利用异或运算的可反向计算的特性,目标输出与错误输出进行异或运算就得到的补偿系统的真值表,补偿系统实现后再利用异或运算,完成对于错误输出的修复功能。本发明专利技术使用演化硬件的自修复电路仅对错误部分进行修复,减少电路资源,提高可靠性。提高可靠性。提高可靠性。

【技术实现步骤摘要】
一种基于改进演化硬件的电路自修复方法


[0001]本专利技术属于可靠性嵌入式系统设计
,具体涉及一种基于改进演化硬件的电路自修复方法。

技术介绍

[0002]对于航空,航天,航海,武器等应用场景下,电路的运行很难受到人为干预。电路一旦出现故障,需要电路自修的能力。传统的修复方法采用三模冗余备份,在出现故障时候进行直接切换到一个全新的电路;这样子方法虽然效果很好,但是可能因为一个微小的错误启动了整个备份系统,使用了过多了电路资源。
[0003]由于航空,航天,航海,武器等应用场景的特点,无法人为提前输入所有可能出错的信息。演化硬件的自演化的特性完美的契合了此应用场景,只需要给出演化硬件的真值表,演化硬件利用遗传算法进行寻优找到目标的演化电路的配置信息,完成电路的演化。演化硬件特性可以很好实现了补偿系统,根据不同的错误演化出不同的补偿系统进行修复。

技术实现思路

[0004]本专利技术所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于改进演化硬件的电路自修复方法,利用改进的演化硬件实现自修复电路,提高了演化硬件的演化速度。
[0005]本专利技术采用以下技术方案:
[0006]一种基于改进演化硬件的电路自修复方法,其特征在于,包括以下步骤:
[0007]S1、当电路出现故障的时候,将故障电路的错误输出列与正确电路真值表中的输出列进行位异或运算,当返回值出现1时为故障电路,确定修复段;将正确电路真值表的输入列注入故障电路得到错误输出列;
[0008]S2、补偿系统根据步骤S1正确电路真值表中的真实输出列与故障电路的错误输出列分别进行异或计算得到演化硬件的目标输出列;
[0009]S3、将步骤S2演化硬件的目标输出列取反后分别与静态配置库中保存的演化硬件目标输出列进行位异或计算,然后将计算结果的每一位相加得到和值,将和值作为目标演化硬件与静态配置库保存的演化硬件相似度值;将多个和值中的最大值在静态配置库中对应的染色体作为高相似性个体染色体;
[0010]S4、使用分块演化机制将未演化的演化硬件划分为多块,根据划分的块数将演化硬件的目标输出列与目标输入列按照同样的块数进行划分;
[0011]S5、将步骤S4划分好的演化硬件目标输入列,演化硬件目标输出列和步骤S3得到的高相似性个体染色体分别传入已完成划分对应块的未演化演化硬件,在演化硬件的ARM计算核心中实现自适应演化硬件的自适应遗传算法,将未演化的演化硬件完成演化;
[0012]S6、利用步骤S5演化好的演化硬件与故障电路对应出错位进行异或运算完成修复。
[0013]具体的,步骤S5中,演化硬件包括FPGA逻辑阵列和ARM计算核心,在FPGA逻辑阵列中构建VRC虚拟可重构电路;利用染色体配置VRC虚拟可重构电路,将配置好的VRC虚拟可重构电路输入演化硬件目标输入列产生输出列,将输出列与演化硬件目标输出列进行汉明距离比较,比较值求和作为对应染色体的适应度值;在ARM计算核心中实现编程实现遗传方法。
[0014]进一步的,VRC虚拟可重构电路包括输入节点,PE节点和输出结点,PE节点以矩阵形式排列,设定链接度L,同一列的中间PE结点与前L

1列进行连接;
[0015]PE节点包括两个输入电路和一个输出电路,并具有唯一编号;两个输入电路分别使用多路选择器连接选择PE节点的输出电路,将选择的PE结点编号作为PE节点的基因位;
[0016]每个PE节点中使用多路选择器对两个输入电路选择的两个输入值选择一种逻辑运算,将选择的逻辑运算编号作为PE结点的基因位;将两个输入电路选择的两个输入值PE节点编号和逻辑计算编号作为PE结点的基因组;
[0017]VRC虚拟可重构电路的输出结点使用一个多路选择器选择一个PE结点的输出作为输入,将选择的PE结点编号作为输出结点的基因组;
[0018]所有PE结点的基因组与输出结点的基因组共同构成VRC虚拟可重构电路的染色体。
[0019]更进一步的,PE节点中存在多个输入信号,多个输入信号进入第一个多路选择器选择出第一个输入信号,第一个输入信号为对应PE节点编号的基因位1;多个输入信号进入第二个多路选择器选择出第二个输入信号,第二个输入信号为对应PE节点编号的基因位2;PE节点中保存有一个函数表,函数表包含多种一位逻辑运算并有对应编号;选择一个函数作为PE节点的运算函数,选择信号作为对应PE节点的基因位3;经过选择的两个输入信号利用选择的逻辑运算进行运算得到PE节点输出。
[0020]进一步的,汉明距离比较具体为:
[0021]将配置好的VRC虚拟可重构电路输入目标输入列,得到输出列取反后分别与对应演化硬件目标输出列进行异或计算,将每一位进行求和得到汉明距离;将所有汉明距离进行求和得到染色体的适应度值。
[0022]进一步的,在ARM计算核心中实现遗传方法具体为:
[0023]S501、将静态配置库中匹配到的高相似性个体染色体作为一个初始个体,再随机生成m

1个个体;根据轮盘赌方法创建轮盘赌选择函数fun_roulette(m,n),函数功能为输入m个个体的适应度,根据轮盘赌方法选择n个个体,创建随机生成函数random(k),函数功能为生成k个随机数Ri;
[0024]S502、利用ARM计算核心实现适应度计算模块,并计算m个个体的适应度值并保存,当适应度函数输出条件触发后跳出遗传算法,演化结束得到目标电路;同时计算种群多样性参数δ;
[0025]S503、判断m个个体适应度最大是否等于或大于最大适应度值;如果等于或大于最大适应度值,退出演化,演化完成,反之进入步骤S504;
[0026]S504、设定自适应交换概率Pc,当种群多样性参数δ大于多样性比较值a,Pc*1.3进行增大,利用轮盘赌选择函数fun_roulette(m,n1)从步骤S502中的m个个体中选择n1个个体作为交叉的染色体,根据染色体总基因位数k使用随机生成函数random(k)生成k个随机
数,将n1个个体两两进行配对,当第i个随机数大于自适应交换概率Pc,将第i个基因位进行交换;
[0027]S505、设定自适应变异概率Pm,当多样性参数δ大于多样性比较值a,Pm*1.1进行增大,利用轮盘赌选择函数fun_roulette(m,n2),从步骤S502中的m个个体中选择n2个个体作为染色体,根据染色体总基因位个数k乘Pm计算出需要变异的基因位个数w,使用随机生成函数random(w)生成w个随机数,w个随机数乘基因位个数k得到需要变异的基因位编号,需要变异基因位随机变化为指定范围基因值;
[0028]S506、使用跨时代精英算法,从步骤S504得到n1个交换子代,从步骤S505得到n2个变异子代,分别计算适应度值,从步骤S502中得到m个父代适应度值,使用函数fun_roulette(m+n1+n2,m)从m+n1+n2个个体选择m个个体;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进演化硬件的电路自修复方法,其特征在于,包括以下步骤:S1、当电路出现故障时,将故障电路的错误输出列与正确电路真值表中的输出列进行位异或运算,当返回值出现1时为故障电路,确定修复段;将正确电路真值表的输入列注入故障电路得到错误输出列;S2、根据步骤S1确定的正确电路真值表中的真实输出列与故障电路的错误输出列分别进行异或计算得到演化硬件的目标输出列;S3、将步骤S2演化硬件的目标输出列取反后分别与静态配置库中保存的演化硬件目标输出列进行位异或计算,然后将计算结果的每一位相加得到和值,将和值作为目标演化硬件与静态配置库保存的演化硬件相似度值;将多个和值中的最大值在静态配置库中对应的染色体作为高相似性个体染色体;S4、使用分块演化机制将未演化的演化硬件划分为多块,根据划分的块数将演化硬件的目标输出列与目标输入列按照同样的块数进行划分;S5、将步骤S4划分好的演化硬件目标输入列,演化硬件目标输出列和步骤S3得到的高相似性个体染色体分别传入已完成划分对应块的未演化演化硬件,在演化硬件的ARM计算核心中实现自适应演化硬件的自适应遗传算法,将未演化的演化硬件完成演化;S6、利用步骤S5演化好的演化硬件与故障电路对应出错位进行异或运算完成修复。2.根据权利要求1所述的方法,其特征在于,步骤S5中,演化硬件包括FPGA逻辑阵列和ARM计算核心,在FPGA逻辑阵列中构建VRC虚拟可重构电路;利用染色体配置VRC虚拟可重构电路,将配置好的VRC虚拟可重构电路输入演化硬件目标输入列产生输出列,将输出列与演化硬件目标输出列进行汉明距离比较,比较值求和作为对应染色体的适应度值;在ARM计算核心中实现编程实现遗传方法。3.根据权利要求2所述的方法,其特征在于,VRC虚拟可重构电路包括输入节点,PE节点和输出结点,PE节点以矩阵形式排列,设定链接度L,同一列的中间PE结点与前L

1列进行连接;PE节点包括两个输入电路和一个输出电路,并具有唯一编号;两个输入电路分别使用多路选择器连接选择PE节点的输出电路,将选择的PE结点编号作为PE节点的基因位;每个PE节点中使用多路选择器对两个输入电路选择的两个输入值选择一种逻辑运算,将选择的逻辑运算编号作为PE结点的基因位;将两个输入电路选择的两个输入值PE节点编号和逻辑计算编号作为PE结点的基因组;VRC虚拟可重构电路的输出结点使用一个多路选择器选择一个PE结点的输出作为输入,将选择的PE结点编号作为输出结点的基因组;所有PE结点的基因组与输出结点的基因组共同构成VRC虚拟可重构电路的染色体。4.根据权利要求3所述的方法,其特征在于,PE节点中存在多个输入信号,多个输入信号进入第一个多路选择器选择出第一个输入信号,第一个输入信号为对应PE节点编号的基因位1;多个输入信号进入第二个多路选择器选择出第二个输入信号,第二个输入信号为对应PE节点编号的基因位2;PE节点中保存有一个函数表,函数表包含多种一位逻辑运算并有对应编号;选择一个函数作为PE节点的运算函数,选择信号作为对应PE节点的基因位3;经过选择的两个输入信号利用选择的逻辑运算进行运算得到PE节点输出。5.根据权利要求2所...

【专利技术属性】
技术研发人员:杜延沛刘彬周煦林田卫贺占庄杨哲森董彦威丁祎明
申请(专利权)人:西安微电子技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1