高兰
摘 要:随着超大规模集成电路在数据存储、芯片设计中的普及和使用,数字电路设计越来越复杂,采用自顶向下的模块化设计理念,将复杂的电路划分为多个逻辑独立的模块,同时采用遗传算法优化设计数字电路,可以更好地保证超大规模数字电路的准确度。
关键词:数字电路;模块化;优化设计;遗传算法
中图分类号:TN791 文献标识码:A
0.引言
随着单片机、CPU、存储器、基带等多媒体硬件设备的快速发展和普及,有效促进了人们家居生活、科研教育、工作生产的智能化、信息化和共享化。数字电路是硬件设备数据通信、命令控制的重要基础,随着软硬件资源设备的功能增多,数字电路日趋复杂和高度集成化,传统的设计规则和经验知识已经无法满足系统发展需求,并且无法保证系统设计的准确性、可靠性和通用性,因此吸引了诸多学者的研究。为了能够提高数字电路设计的准确性和可靠性,数字电路设计提出了优化理念。数字电路优化设计包括两个基本构成要素,一是大规模现场可重构器件,其可以作为硬件电路的实现载体与评价方法;二是进化算法,其可以作为全局搜索和局部优化的主要手段。因此,为了能够提高数字电路设计模式,可以引入遗传算法将数字电路拓扑结构进行位串编码,将其作为染色体算法进行执行,将最优化染色体下载到可重构器件中,也可以使用软件模型评估算法,能够将电路实际优化设计结果与期望值进行有效比较,以便能够更好地指导数字电路优化设计。
1.基于模块化的数字电路优化设计
1.1 模块化设计理念
数字电路功能复杂、规模较大,常见的设计方法已经无法正常优化,因此本文提出采用自顶向下的模块设计理念,能够将复杂的电路设计问题进行分解和细化,将复杂的数字电路设计分解为一系列简单的子电路进化设计模块,尽可能地降低电路设计的复杂程度,将一个复杂的问题简化为一个个简单的问题。数字电路设计可以建模一个真值表,描述数字电路的功能,因此本文优化设计过程中,可以将真值表作为一个完整的数字电路系统,因此可以将数字电路的输入变量和输出变量进行模块化设计,将输入组合的部分位数作为子功能的输入信号,其余位数作为子系統的选通信号。具体地,一位全加器的真值表可以有效地描述基本的全加器数字电路功能,使用模块化设计思想,可以将进化电路分为4个独立的子系统,每一个子系统的输入变量可以使用A1、A2表示,输出变量由选通信号A0进行判定和选择,以便得到正确的输出,比如电路输出为OUT0时,需要两个子系统S0和S1,当IN0=0时,选择子系统S0作为OUT0的输出,当IN0=1时,选择子系统S1作为OUT0的输出,如图1所示。
与传统的电路进化算法相比,模块化进化算法具有两个优点,一是能够解决功能电路选择的不确定性,二是降低子系统输入输出位数,能够缩小算法可以搜索的解空间,能够有效地降低算法搜索最优解的时间复杂度,提高算法成功率。
1.2 数字电路优化设计
数字电路设计划分为多个模块,因此为了能够寻求一种最优化的电路设计目标,引入了遗传算法,遗传算法的设计流程如下所述。
(1)染色体编码
在遗传算法执行过程中,需要对电路模块化结构的染色体进行编码。该染色体分为逻辑独立的N段,每一段都可以表示一个子系统,子系统采用门级电路进化,每一个子系统都包含功能编码、连线编码和选通信号位。遗传算法的染色编码采用实数编码,将所有子系统合成一条染色体,各个子系统可以并行进化,为了避免电路资源开销较大,各个进化子系统相互逻辑独立。染色体编码方案如图2所示。
(2)适应度函数设计
适应度函数是遗传算法在数字电路设计中的重要环节,适应度函数设计是否好直接影响最优化目标,适应度函数的输出值可以与期望值进行有效的比较和分析,将操作结果当作是数字电路优化设计的评价标准,数字电路遗传算法适应度函数设计如公式(1)所示。
其中,CorrectNum是进化电路输出正确的个数,InputNum是输入端的个数,α是复杂度在适应度中所占比例大小,Length=R×C表示染色体的长度,GateEvComi是第i个基本门电路的估计复杂度。
(3)选择操作
遗传算法常用的选择操作很多,比如竞争选择法和轮盘赌法。本文数字电路设计过程中采用了模块化原则,因此可以采用竞争选择策略,也即是从父代的种群中选择若干个遗传个体,然后可以将这些个体在适应度函数中的计算值进行比较,选择适应度最高的个体进行交叉操作,重复上述过程直到交叉操作执行完毕。
(4)交叉算子
交叉算子可以从父代群体中任意选择两个染色体,按照一定的概率P进行交叉和配对,能够将优秀的基因保留下来,以便能够更好地满足种群遗传。交叉算子常用的方法包括均匀交叉、两点交叉或单点交叉。均匀交叉具有染色体置换较多的优点,因此可以更好地满足需求,本文针对染色体采用均匀交叉操作,以便更好地满足均匀交叉操作管理模式,如果P1、P2描述任意两个父代染色体,C1、C2描述任意两个子代染色体,Minv描述M按位取非操作。则遗传算子均匀交叉操作如公式(4)和(5)所述。
(5)变异算子
变异操作可以将染色体中的一些基因按照概率Pm的机制实施变异操作,变异操作主要是为了保持群体的多样性。如果概率Pm的取值越大,则遗传算法的种群多样性就会越好。变异操作仅仅在单个父代个体上进行有效的操作,其可以改变某一个染色体的基因,就可以使种群保持较好的多样性。本文变异算子具体操作如下:选择一条染色体C1,根据变异概率Pc决定个体是否变异,如果M取值为0,则不进行任何操作,如果M不等于0,则进行变异操作。
结语
数字电路采用模块化设计方法,同时利用遗传算法优化电路,因此可以提高数字电路设计的可靠性和准确度,更加有效地适用于航空电子、精密仪器等电子化设备,提高我国自动化设备自动化、智能化水平。
参考文献
[1]鲍治国,吴伟.一种改进的遗传算法在数字电路优化设计中的应用研究[J].电子制作,2015,25(23):77-79.
[2]赵江,陈又新,黄玉珍,等.加速器数字电源模数转换电路的优化设计[J].核电子学与探测技术,2014,6(4):542-546.
[3]王新胜,胡诣哲.低功耗电流模互连电路的快速优化设计方法[J].哈尔滨工业大学学报,2016,48(3):39-45.
[4]李玉学,白忠臣,秦水介.基于VerilogHDL的FIR数字滤波器的优化设计与仿真[J].现代电子技术,2014,9(7):154-156.
[5]庞莉莉.高速数字电路设计技术的分析与思考[J].数字技术与应用,2015,9(6):196-196.