从网表文件到原理图的布局布线算法是电路自动化设计技术(EDA)领域的一个重要子问题,其目标是将记录元件连接关系的复杂网表文件(Netlist Files)转化为便于人类理解的逻辑清晰且美观的电路布局布线原理图(Schematics),从而方便设计人员在电路设计早期快速理解电路并进行错误排查.目前已有的公开文献均采用布线长度、元件数目、布线交叉点数目和单位面积利用率等指标评价生成原理图的优劣,并未从原理图使用者的角度对原理图进行“逻辑清晰度”和“美观度”的综合评价[1-5].此外,深度学习技术在电路自动化设计领域取得了较大的发展[6-8].如何借助深度学习技术强大的学习能力将电路设计专家的“主观经验”进行“客观量化”,对完善布局布线算法的基础评价指标具有重要的学术研究意义和实用工程应用价值.本研究首先总结文献[4,9-10]评价指标并结合领域资深专家经验,研究提出原理图美观度评价指标(SAE);然后对设计人员理解原理图的行为过程进行建模,通过原理图阅读过程中从整体到局部再到整体的关系,提出一种融合聚类和卷积神经网络的原理图美观度评价算法(DeepSAE);最后为满足不同评估场景的应用需要,设计实现4种美观评价聚合规则.真实原理图上的实验结果表明:在4种不同聚合规则下,所提出的DeepSAE算法准确率最高分别为0.677,0.953,0.734和0.953.1 方法美观度评价是较为主观的指标,为更好理解本研究提出的布局布线原理图美观度评价算法,本研究首先给出原理图美观度等级说明,接着给出所提出评价算法的4个阶段,最后给出算法描述及分析.1.1 原理图美观度评价等级原理图布局布线算法的输入是记录元件连接关系的网表文件,输出为反映元件连接关系的原理图.由于原理图的作用是方便相关设计人员迅速理解电路并进行错误排查,因此原理图布局布线算法生成的原理图应更符合EDA电路设计人员的视觉习惯.为了方便量化原理图美观程度,首先要定义美观度指标SAE.通过借鉴文献[4,9-10]研究,并结合布局布线软件资深研发专家的经验和本研究过程中的实践,总结了如表1所示美观度评价等级.10.13245/j.hust.241102.T001表1原理图美观度评价等级说明等级分值解释说明A19电路布局布线原理图信号从左到右,信号走向符合人类阅读习惯;原理图线路交叉点较少且布线弯曲少,原理图可读性较强;电路布局布线原理图具有一定层次性,在元件布局上保持中心对称或轴对称A28A37B16电路布局布线原理图信号从左到右,信号走向基本符合人类阅读习惯;原理图线路交叉点较多且布线弯曲较多,但仍具有一定可读性;原理图基本具有层次性,在元件布局上基本对称B25B34C13电路布局布线原理图信号基本不符合从左到右流向;原理图线路交叉点过多且布线弯曲多,可读性差;原理图不具备层次性,局部布局布线图在连线、交叉点数、元件摆放及线路连接方面存在瑕疵,电路图存在不能完全布通的情况C22C31D0无法阅读、空图、非电路布局布线原理图在表1中,本研究提出的原理图美观度评价指标SAE包括D~A1共计10个量化等级,其中相邻等级原理图的逻辑清晰、美观程度差异较低,且美观度等级逐渐递增.SAE采用10等级指标量化美观程度,更符合人类阅读电路的评价习惯,有利于后续神经网络算法对历史经验数据的学习.1.2 原理图美观度评价算法的4个阶段美观度评价指标SAE是较为主观的指标,在了解SAE的10个等级之后,须要解决如何将SAE指标量化的问题.令p[m][n]表示存储原始原理图的二维矩阵,其中m和n分别为原理图的长度和宽度(以像素为单位).为量化SAE,本研究提出的美观度评价算法分为原图分割及特征提取、自动聚类选取中心子图、子图美观度评价和聚合总评价得分4个阶段.1.2.1 原图分割及特征提取原图分割的目的是将原始输入规模差距较大的布局布线原理图转换为便于深度学习算法处理的结构化数据.特征提取的目的是将原始子图转换为数值特征向量,以便于后续的算法计算.令s表示分割参数,pi表示对原始电路布局布线原理图p[m][n]经过滑动窗口策略分割得到的二维局部子图矩阵.为提取子图pi特征向量vi的同时降低后续算法计算时间开销,本研究使用拉普拉斯卷积核[11],并采用主成分分析法(PCA)[12-13]对卷积核提取的特征向量进行自动降维.通过拉普拉斯卷积核对图像局部进行特征提取,可以满足局部子图不同方向图像边缘锐化的要求,从而将大小为s×s的子图pi转化为数据维度为(s-2)2的一维特征向量,再通过PCA算法自动降维,便可以在损失较小特征信息的前提下降低向量维度,从而减少后续算法的计算规模.1.2.2 自动聚类选取中心子图自动聚类选取中心子图的目的是将分割得到的m×n/s2张子图转换为最具有代表性的k张中心子图rj用于后续美观度评价,其中j=0,1,…,k-1.之所以须要进行自动聚类选取中心子图,其目的为:a.避免后续子图美观度预测步骤所产生的错误累计效应;b.减少对分割得到的重复子图的多次计算;c.更符合相关从业人员的原理图阅读规范(设计人员往往更关注部分重点局部内容).本研究引入遗传K均值聚类算法(GKA)[14-15]对原图分割及特征提取步骤得到的子图进行自动聚类,并选用距离簇中心点最近的子图作为中心子图.令K为初始化最大簇数目,cj为欧式空间内第j个簇的样本中心点,l为经过PCA降维后向量的最终维度.本研究自动聚类选取样本中心子图的步骤如下.步骤1 随机产生K个聚类分簇中心点cj,将中心点集合{cj}编码为长度为K×l的染色体字符串,其中j=0,1,…,K-1.步骤2 初始化GKA运行参数,包括群体所包含个体的数目ni、选择概率qs、交叉概率qc、变异概率qm和算法运行上限次数bu.根据步骤1规则,随机产生初始化种群{Dx},x=0,1,…,ni-1.步骤3 对每个个体Dx寻找欧式距离小的样本vi加入当前簇,并使用DB指数根据如下的适应度函数对当前种群内个体计算适应度值,即fDx=K∑a,b=1Kmax Rab(a≠b)(1)式中:Rab=(sa+sb),其中,sa为簇直径,表示第a个簇中所有样本点到簇中心欧式距离的平均值,sb同理;dab为第a个簇与第b个簇中心点之间的欧式距离,其中,a≠b,aK,bK.步骤4 按照步3计算得到的适应度值对当前种群进行降序排序.依据参数qs,qc和qm对当前排序后的种群进行选择、交叉和变异操作,以产生新一代种群用于算法迭代.步骤5 重复步骤3~4,直到满足算法运行上限次数bu的限制.步骤6 经过步骤5迭代后,选择适应度最高的个体所对应的字符串Dbest作为算法的最终聚类结果.步骤7 根据Dbest计算得出同一簇内距离簇中心点欧氏距离最小的局部子图rj,其中子集{rj}∈{pi},j=0,1,…,k-1,i=0,1,…,m×n/s2-1,k为多轮迭代产生的最终聚类参数,且k≤K.1.2.3 子图美观度评价借助神经网络强大的拟合能力,深度学习技术在电路自动化设计领域已经得到广泛的应用,但受限于元件数目及元件之间的连接关系,不同算法运行得到的原理图p[m][n]具有很大的规模差异,因此无法采用已有的算法模型对原理图进行学习训练.在原图分割及特征提取阶段,由于DeepSAE算法采用图像分片策略进行原理图分割,因此可以有效解决因原始原理图规模差距过大而无法训练的问题.在原图分割及特征提取阶段,自动聚类选取了k个中心子图进行美观度评价,为评估子图rj的(j=0,1,…,k-1)美观程度,须要提前获取美观度评价预训练模型.由于残差神经网络引入了残差学习的思想,因此在深层网络的训练中表现出良好预测效果,被广泛应用于图像分割和目标检测等领域.通过实验比较,本研究参考文献[16]中经典ResNet34残差神经网络结构作为DeepSAE深度学习骨架.图1给出了本研究DeepSAE子图美观度评价算法的卷积神经网络模型架构.10.13245/j.hust.241102.F001图1原理图美观度等级评价算法的卷积神经网络框架在图1中,DeepSAE卷积神经网络框架包括34层,图中:7×7和3×3表示卷积核(conv)的大小;64,128,256和512表示不同卷积层算法输出的通道数目;fc 10为全连接层输出维度.图1中不同卷积之间还包括了批量归一化层和ReLU激活函数层[16].本研究提出的DeepSAE算法采用包含2.2×107个参数的深度ResNet卷积神经网络在预训练阶段通过卷积层自动提取子图特征并充分学习专家历史经验,得到记录专家历史经验的子图美观度评价模型.通过预训练阶段得到的子图美观度评价模型对输入代表子图rj进行推理便计算得出子图rj的美观度等级评价得分,其中j=0,1,…,k-1.1.2.4 聚合总评价得分子图美观度评价步骤通过卷积神经网络自动提取带有标签的训练子图特征,通过记忆神经元之间的链接权重完成对专家“主观经验”的学习.令hj表示子图美观度评价步骤得到的rj的SAE分值,为聚合最终子图评价得分,根据实际工程应用中的算法使用经验,本研究设计最大值(M)、平均值(A)、众数平均值(V)和加权平均值(W)共4种聚合策略,其计算式分别为M(p)=max {h0,h1,…,hk-1};(2)A(p)=∑j=0k-1hj/k;(3)V(p)=∑j=0ggj/g;(4)W(p)=∑j=0k-1(uj×hj)/(m×n/s2),(5)式中:g为众数集合;uj为自动聚类选取中心子图阶段第j个簇的子图数目,其中,j=0,1,…,k-1,且g≥1.1.3 算法描述及分析算法1形式化表述了本研究提出的融合聚类和卷积神经网络的电路布局布线原理图美观度评价算法(命名为DeepSAE),具体步骤如下.步骤1 输入原理图p[m][n],算法参数s,ni,qs,qc,qm,bu,预训练的卷积神经网络resnet_model和聚合策略mod;步骤2 采用滑动窗口策略,依据参数s将p[m][n]分割为子图pi,i=0,1,…,m×n/s2-1;步骤3 采用滑动窗口策略,使用拉普拉斯卷积核将pi转换为特征向量vi;步骤4 使用主成分分析法对vi自动降维;步骤5 依据参数ni,qs,qc,qm和bu,使用遗传聚类算法对特征向量vi进行自动聚类,并采用欧氏距离获取聚类样本中心子图rj,j=0,1,…,k-1;步骤6 初始化结果向量h[0:k-1]为0;步骤7 装载预训练子图评价模型resnet_model,对子图rj执行美观度预测,且将结果记录至hj;步骤8 依据参数mod和式(2)~(5)计算原理图p[m][n]的等级评价得分;步骤9 依据步8得分和表1映射规则得到原理图p[m][n]的美观度评价等级;步骤10 输出p[m][n]的美观度评价等级.在算法1执行过程中,步骤1~2分割p[m][n]为子图的总时间开销为O(m×n/s2);步骤3卷积特征提取的总时间开销为O((m×n/s2)×(s-2)2)=O(m×n);步骤4数据降维的总时间开销为O(s2×m×n+s6+s4×l);步骤5子图聚类的总时间开销为O(ni×K×l+K×l×bu×(ni2+ni×(qs+qc+qm))),由于K,qs,qc和qm均为常数,因此步骤5时间开销为O(l×bu×ni2);步骤6初始化结果向量总时间开销为O(k);步骤7子图美观度预测总时间开销为O(k×s2);步骤8~10的总时间开销为O(k).因为参数bu,ni,k和s均为某个常数且l≤(s-2)2,因此原理图美观度评价算法DeepSAE的时间复杂度为O(max{m×n×bu×ni2,m×n,s2×m×n,s6,s4×l})=O(m×n×bu×ni2)=O(m×n).在算法1执行过程中,子图特征向量vi所需最大空间开销为O((m×n/s2)×(s-2)2)=O(m×n);PCA算法降维所需空间开销为O((m×n/s2)×(s-2)4);GKA算法自动聚类所需空间开销为O(ni×K×l);装载预训练模型resnet_model所需空间开销为O(z),其中z为预训练模型保存参数总量;结果向量h的总空间开销为O(k).因为ni,k,K和s均为某个常数,l≤(s-2)2,因此原理图美观度评价算法DeepSAE的空间复杂度为O(max{m×n,z}).2 实验2.1 实验环境及数据实验在国家超算南宁分中心(https://hpc.gxu.edu.cn)的曙光7000A超算上进行.实验节点运行操作系统为CentOS 7.4,节点硬件配置为:2×Intel Xeon Gold 6230 CPU (共40核心),2×Tesla-T4 GPU (2560 CUDA核心,16 GiB显存),192 GiB DDR4内存,以及8×900 GiB外部存储空间.为获取训练数据集,本研究首先使用Calibre软件[17]对合作企业工程应用中获取的真实网表文件生成原始布局布线原理图,再通过随机裁剪并结合合作单位专家经验进行子图标注,最后通过子图垂直和水平翻转得到5 331张子图数据集eda-subpic用于模型训练(验证集约为15%).为评估DeepSAE的整体性能,实验标注了包含192张真实原始图片的数据集eda-bigpic用于最终实验测试.实验基于Pytorch深度学习框架并使用Python语言编程实现,遗传聚类算法实现参考Amirdeljouyi[15]等人实现的算法版本.为评估DeepSAE的子图评价模型及整体算法的运行效果,本研究采用准确率指标τ(t)用于实验验证,其计算式为τ(t)=∑i=0w-1I(Pi-Ri)≤t/w,(6)式中:I(Pi-Ri)为指示函数;Pi和Ri分别为预测和真实标签值;w为样本总数目;t为准确率评估阈值,t≤9,i=0,1,…,m-1,t0表示算法容忍一定程度的美观度等级评价偏差.2.2 子图评价模型选取实验为选取DeepSAE的最佳深度学习骨架,实验对6种广泛应用的深度学习算法模型ResNet34[16],AlexNet[18], Vgg11[19],SqueezeNet[20],InceptionV3[21]和SwinTransformer[22]进行实验测试.实验采用迁移学习策略对上述算法模型在ImageNet-1K数据集上的预训练算法模型进行参数微调,以达到算法最佳学习效果.表2给出了6种深度学习算法模型在eda_subpic数据集的详细参数配置.10.13245/j.hust.241102.T002表2不同神经网络算法模型参数配置模型总参数量更新参数尺寸学习率ResNet342.180×1075.130×1032241×10-3AlexNet6.110×1074.097×1042241×10-4Vgg111.329×1084.097×1042241×10-3SqueezeNet1.248×1065.130×1032241×10-4InceptionV32.716×1072.049×1042991×10-3Swin-Transformer2.836×1077.690×1032561×10-3为使模型达到最好训练效果,实验采用交叉熵损失更新参数.图2给出了模型在eda-subpic验证数据集上运行250轮得到的平滑损失L和τ(t)曲线.10.13245/j.hust.241102.F002图26种算法模型在验证数据集运行得到的平滑L和τ(t)曲线图2结果表明:6种算法模型在验证集的平滑L和τ(t)曲线随着训练轮数e的增加均取得最佳收敛效果,模型预测结果趋于平稳.为更直观展示子图美观度评价效果,表3同时给出了6种算法模型在eda-subpic验证集上的最大预测准确率τ(t)值和训练验证的总时间开销T,10.13245/j.hust.241102.T003表3不同神经网络模型在验证集运行的最大准确率和时间模型τ(t=0)τ(t=1)τ(t=2)T/hResNet340.4120.7900.93338.551AlexNet0.3750.7450.9063.153Vgg110.3750.7450.93633.885SqueezeNet0.3370.7040.8959.874InceptionV30.3600.7120.88838.619SwinTransformer0.3600.6780.88458.568t=0,1,2.在表3中,因为ResNet34算法模型取得了整体上最优的τ(t)值,所以算法DeepSAE选取残差神经网络架构用于基础骨架构建及后续实验评估.2.3 原理图美观度评价实验根据文献[14-16]及本研究算法使用经验,设置美观度评价实验初始化参数为:s=128,ni=50,qs=0.20,qc=0.80,qm=0.09,bu=200.在PCA算法数据降维阶段,实验设置保留的主成分方差和占原始数据方差和的比例为0.99,以确保自动确定最终维度l的同时损失最少的特征信息.由于DeepSAE算法是多种机制的组合,因此为确定GKA遗传聚类步骤对美观度评价算法的增益影响,本研究在对eda-bigpic进行最终实验测试的同时也进行了消融实验.DeepSAE算法在eda-bigpic数据集运行4种聚合模式得到的τ(t)准确率如表4所示,表中:Without GKA表示不进行聚类的实验结果;With GKA表示进行聚类的实验结果;10.13245/j.hust.241102.T004表4不同神经网络模型在验证集运行的最大准确率运行模式τ(t=0)τ(t=1)τ(t=2)Without GKAM0.0160.2190.677A0.1980.7970.943V0.0210.2240.672W0.1980.7970.943With GKAM0.0210.2240.677A0.4640.8020.953V0.0620.3070.734W0.4690.7660.953t=0,1,2.表4结果表明:与Without GKA模式相比,With GKA模式通过将相似子图聚类到一起,有效避免了子图评价的错误累计效应,因此获得了整体上最高的准确率.在4种聚合规则中,模式W和A整体表现出最好的评价效果,在τ(t=2)情形下均得到0.953的高准确率得分,这表明加权平均和平均聚合规则更符合设计人员在原理图阅读过程中从整体到局部再到整体的评价阅读习惯.2.4 原理图美观度评价可视化为主观展示本研究提出的DeepSAE算法在GKA遗传聚类阶段对子图聚类的效果,实验随机选取eda-bigpic数据集中MUX4P网表文件进行GKA聚类可视化评估,实验结果如图3所示.10.13245/j.hust.241102.F003图3DeepSAE算法在MUX4P原理图文件运行GKA聚类算法的可视化结果在图3中,DeepSAE算法将原始文件分割为24张子图,通过GKA算法200轮迭达,将初始聚类簇数目K=24/2=12迭代为最终簇数目k=7.从图4(a)、4(b)、4(f)和4(g)可以看出相同簇内的子图具有视觉上的极高相似性.对于聚类结果图4(c)、4(d)和4(e),通过GKA算法也使得相似序列基本聚集到一起,遗传K均值聚类算法聚类效果明显.3 结语为解决EDA领域电路布局布线原理图评价指标缺乏从相关从业人员角度进行综合评价的难点问题,本研究从电路图逻辑清晰美观评价角度,提出电路布局布线原理图美观度等级评价指标SAE.为量化主观性评价指标SAE,通过对设计人员理解原理图的行为过程进行建模,探索原理图阅读过程中从整体到局部再到整体的关系,提出一种融合聚类和卷积神经网络的原理图美观度评价算法DeepSAE.真实实验数据集上的实验结果表明DeepSAE算法在真实原理图数据上达到了较好的美观度预测效果.本研究提出的融合聚类和卷积神经网络的电路布局布线原理图美观度评价算法DeepSAE是EDA电路布局布线原理图评价体系和深度学习技术结合的第一次尝试,但受限于数据集难获取、专家主观经验差距较大、编程模型有待优化等问题,DeepSAE算法在准确率和运行时间等方面仍具有较大提升空间.因此,在本研究工作基础上,未来工作还将包括:a.研究融合使用图神经网络算法,有效提取原始网表文件中元件和布线的图关系,进一步丰富特征空间,提高算法的预测准确度;b.研究将DeepSAE算法应用到布局布线原理图算法本身,通过凝练更为具体的美观度评价指标,指导原理图布局布线算法的优化改进;c.扩充真实数据集,探索训练通用美观度评价模型,增强算法实际工程应用的鲁棒性;d.研究设计采用SIMD、多核CPU和众核GPU多级协同加速的原理图美观度并行评价算法,以加速求解大规模电路布局布线原理图美观度评价问题.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览