PCB走线参数设定装置、方法及存储介质与流程

文档序号:25022685发布日期:2021-05-11 16:47阅读:72来源:国知局
PCB走线参数设定装置、方法及存储介质与流程
本发明涉及印刷电路板(printedcircuitboard,pcb)布线
技术领域
,尤其涉及一种pcb走线参数设定装置、方法及计算机可读存储介质。
背景技术
:随着信息产品快速发展,伴随大量信号与影像产生,提高处理器指令周期需求及高速电路的广泛应用,促使pcb走线设计走向更精密化。以往传统pcb设计方式用来解决通路、断路、短路的问题显然不够,新的pcb设计方法与流程应运而生。在高速电路板上,因其脉冲升降快速,特别需要透过阻抗控制来维持其讯号传输之平稳性,而如何快速、准确地进行阻抗设计,成为工程师非常关注的议题之一。在设计pcb前,设计工程师通常需要考虑十几种阻抗设计需求,依据过往经验,针对每一种阻抗设计,列举出几组有其机会达成之布线参数组合,利用intel所提供的imlc软件进行仿真计算,计算每一组控制参数组合其对应的反应变量,如阻抗、介入损失(insertionloss)、远端串音(far-endcrosstalk,fext)及近端串音(near-endcorsstalk,next)等,将满足阻抗设计之布线参数组合做提取,综合评比这些组合后,选择最佳之控制参数组合,应用至工厂端进行开发产品。然而,在上述imlc软件计算过程中,计算每一组控制参数组合大约需要5分钟,所以保守估计至少需要数小时才能完成一片pcb的设计与优化。并且对于大型通信产品,如服务器,则是由大小不同几张电路板组成,需要数天才能完成设计定案,人力、时间成本较高。技术实现要素:有鉴于此,有必要提供一种pcb走线参数设定装置、方法及计算机可读存储介质,基于机器学习算法训练可得到学习pcb走线仿真软件的预测模型,可减少pcb布线设计时程,提高设计效率。本发明一实施方式提供一种pcb走线参数设定方法,所述方法包括:获取多个用于进行pcb走线设计的走线参数组合;将多个所述走线参数组合输入至预设pcb走线仿真软件得到与每一所述走线参数组合对应的应变参数组合,其中所述应变参数组合至少包括阻抗参数;将多个所述走线参数组合及多个所述应变参数组合作为训练样本对预设网络模型进行训练得到第一预测模型;及对所述第一预测模型进行训练与测试得到所述阻抗参数的阻抗预测模型;其中,当将多个走线参数组合输入至所述阻抗预测模型时,所述阻抗预测模型所预测得到的阻抗值与通过所述预设pcb走线仿真软件所计算得到的阻抗值的平均误差小于预设误差。优选地,所述应变参数组合还包括介入损失参数、远端串音参数及近端串音参数。优选地,所述获取多个用于进行pcb走线设计的走线参数组合的步骤之前还包括:确定影响pcb的阻抗参数、介入损失参数、远端串音参数及近端串音参数的走线参数;及基于所确定的走线参数及工厂端可施行的设计范围得到多个所述走线参数组合。优选地,所述将多个所述走线参数组合及多个所述应变参数组合作为训练样本对预设网络模型进行训练得到第一预测模型的步骤包括:将多个所述走线参数组合及多个所述应变参数组合构成多个训练样本,其中每一所述训练样本包括一走线参数组合及与所述走线参数组合对应的应变参数组合;将多个所述训练样本随机划分为训练集及测试集,其中所述训练集的数据量大于所述测试集的数据量;利用所述训练集对所述预设网络模型进行训练及利用所述测试集对训练得到的中间模型进行测试;及当所述中间模型的测试结果符合预设要求时,将训练得到的中间模型作为所述第一预测模型。优选地,所述方法还包括:当所述中间模型的测试结果不符合所述预设要求时,调整所述预设网络模型的参数;利用所述训练集重新对调整后的预设网络模型进行训练及利用所述测试集对重新训练得到的中间模型进行测试;及当重新训练得到的中间模型的测试结果符合所述预设要求时,将重新训练得到的中间模型作为所述第一预测模型。优选地,所述预设网络模型为神经网络模型,所述调整所述预设网络模型的参数的步骤包括:调整所述神经网络模型的总层数和/或每一层的神经元数。优选地,所述方法还包括:对所述第一预测模型进行训练与测试得到所述介入损失参数的预测模型,其中,当将多个走线参数组合输入至所述介入损失参数的预测模型时,所述介入损失参数的预测模型所预测得到的介入损失值与通过所述预设pcb走线仿真软件所计算得到的介入损失值的平均误差小于所述预设误差;对所述第一预测模型进行训练与测试得到所述远端串音参数的预测模型,其中,当将多个走线参数组合输入至所述远端串音参数的预测模型时,所述远端串音参数的预测模型所预测得到的远端串音值与通过所述预设pcb走线仿真软件所计算得到的远端串音值的平均误差小于所述预设误差;及对所述第一预测模型进行训练与测试得到所述近端串音参数的预测模型,其中,当将多个走线参数组合输入至所述近端串音参数的预测模型时,所述近端串音参数的预测模型所预测得到的近端串音值与通过所述预设pcb走线仿真软件所计算得到的近端串音值的平均误差小于所述预设误差。优选地,所述方法还包括:对所述第一预测模型进行训练与测试得到用于预测所述介入损失参数、所述远端串音参数及所述近端串音参数的预测模型;其中,当将多个走线参数组合输入至所述预测模型时,所述预测模型所预测得到的介入损失值、远端串音值及近端串音值与通过所述预设pcb走线仿真软件所计算得到的介入损失值、远端串音值及近端串音值的平均误差均小于所述预设误差。本发明一实施方式提供一种pcb走线参数设定装置,所述装置包括处理器及存储器,所述存储器上存储有若干计算机程序,所述处理器用于执行存储器中存储的计算机程序时实现上述的pcb走线参数设定方法的步骤。本发明一实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,多条所述指令可被一个或者多个处理器执行,以实现上述的pcb走线参数设定方法的步骤。与现有技术相比,上述pcb走线参数设定装置、方法及计算机可读存储介质,基于机器学习算法训练得到学习pcb走线仿真软件的预测模型,通过该预测模型可以计算得到走线参数组合对应的应变参数组合,与pcb走线仿真软件相比,计算速度更快,可减少pcb布线设计时程,提高设计效率。附图说明图1是本发明一实施方式的pcb走线参数设定装置的功能模块图。图2是本发明一实施方式的pcb走线参数设定程序的功能模块图。图3是本发明一实施方式的pcb走线参数设定方法的流程图。主要元件符号说明存储器10处理器20pcb走线参数设定程序30获取模块101计算模块102第一训练模块103第二训练模块104pcb走线参数设定装置100如下具体实施方式将结合上述附图进一步说明本发明。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。进一步需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。请参阅图1,为本发明pcb走线参数设定装置较佳实施例的示意图。在一实施方式中,在高速电路板上,因脉冲升降快速,可通过阻抗控制来维持信号传输的平稳性,以极小化信号反弹之现象,而如何快速、准确地进行阻抗设计,成为pcb布线人员需面对的问题。在进行pcb设计时,pcb布线人员通常需要考虑十几种阻抗设计需求,再依据过往经验,针对每一种阻抗设计,列举出几组有机会达成的走线参数组合,现有做法是将该些走线参数组合输入至inter公司提供的imlc软件进行模拟计算得到每组走线参数组合对应的阻抗,综合评比这些走线参数组合后,选择最佳的走线参数组合,应用至工厂端进行pcb开发。在进行pcb设计时,可能还需考量介入损失、远端串音及近端串音等参数,此时pcb布线人员需预估可能达成目标阻抗、目标介入损失、目标远端串音及目标近端串音的走线参数组合,再将该些走线参数组合输入至inter公司提供的imlc软件进行模拟计算得到每组走线参数组合对应的阻抗、介入损失、远端串音及近端串音,综合评比这些走线参数组合后,选择最佳的走线参数组合,应用至工厂端进行pcb开发。所述pcb走线参数设定装置100可以建立学习imlc软件计算方式的人工智能模型,进而可以实现减少pcb布线开发时程,提高设计效率。在一实施方式中,所述pcb走线参数设定装置100包括存储器10、处理器20以及存储在所述存储器10中并可在所述处理器20上运行的pcb走线参数设定程序30。所述处理器20执行所述pcb走线参数设定程序30时实现pcb走线参数设定方法实施例中的步骤,例如图3所示的步骤s300~s306。或者,所述处理器20执行所述pcb走线参数设定程序30时实现pcb走线参数设定程序实施例中各模块的功能,例如图2中的模块101~104。所述pcb走线参数设定程序30可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器10中,并由所述处理器20执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述pcb走线参数设定程序30在所述pcb走线参数设定装置100中的执行过程。例如,所述pcb走线参数设定程序30可以被分割成图2中的获取模块101、计算模块102、第一训练模块103及第二训练模块104。各模块具体功能参见下图2中各模块的功能。本领域技术人员可以理解,所述示意图仅是pcb走线参数设定装置100的示例,并不构成对pcb走线参数设定装置100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述pcb走线参数设定装置100还可以包括显示设备、网络接入设备、总线等。所称处理器20可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器20也可以是任何常规的处理器等,所述处理器20可以利用各种接口和总线连接pcb走线参数设定装置100的各个部分。所述存储器10可用于存储所述pcb走线参数设定程序30和/或模块,所述处理器20通过运行或执行存储在所述存储器10内的计算机程序和/或模块,以及调用存储在存储器10内的数据,实现所述pcb走线参数设定装置100的各种功能。所述存储器10可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。图2为本发明pcb走线参数设定程序较佳实施例的功能模块图。参阅图2所示,pcb走线参数设定程序30可以包括获取模块101、计算模块102、第一训练模块103及第二训练模块104。在一实施方式中,上述模块可以为存储于所述存储器10中且可被所述处理器20调用执行的可程序化软件指令。可以理解的是,在其他实施方式中,上述模块也可为固化于所述处理器20中的程序指令或固件(firmware)。所述获取模块101用于获取多个用于进行pcb走线设计的走线参数组合。在一实施方式中,所述走线参数组合为可以是包含多个可以影响pcb(图未示)的阻抗、介入损失、远端串音及近端串音等应变参数的组合,每一走线参数组合可以包括一个或多个走线参数。所述走线参数可以是线宽、线间线宽、绝缘厚度、铜箔厚度、介电常数等。在一实施方式中,可以先建立走线参数组合库,该走线参数组合库包括多个走线参数组合,该些走线参数组合可以通过以下方式建立的第:列举出会影响阻抗、介入损失、远端串音及近端串音之值的走线参数,再综合各走线参数与工厂端可施行的设计范围透过实验设计手法,设计出多组走线参数组合,该多组走线参数组合可以是包含相同或不相同的走线参数。比如,多个走线参数组合可以是包括相同的走线参数,但走线参数的具体参数值不同。所述获取模块101可以从所述走线参数组合库中获取多个用于进行pcb走线设计的走线参数组合。所述计算模块102用于将多个所述走线参数组合输入至预设pcb走线仿真软件得到与每一所述走线参数组合对应的应变参数组合。在一实施方式中,所述应变参数组合可以包括一个或多个应变参数,所述应变参数可以是阻抗参数、介入损失参数、远端串音参数及近端串音参数等。所述预设pcb走线仿真软件可以是inter公司提供的imlc软件,该imlc软件可以根据输入的走线参数组合得到该走线参数组合对应的应变参数组合,所述预设pcb走线仿真软件还可以是其他可以实现pcb设计的仿真软件。所述计算模块102可以将每一所述走线参数组合输入至所述预设pcb走线仿真软件得到与每一所述走线参数组合对应的应变参数组合。所述第一训练模块103用于将多个所述走线参数组合及多个所述应变参数组合作为训练样本对预设网络模型进行训练得到第一预测模型。在一实施方式中,多个所述走线参数组合及多个所述应变参数组合可以构建一个训练样本库,训练样本库的每一训练特征可以包括一走线参数组合及与该走线参数组合对应的应变参数组合。所述第一训练模块103可以将多个所述训练样本随机划分为训练集及测试集,其中所述训练集的数据量优选大于所述测试集的数据量,比如可以将80%的训练特征划分为所述训练集,将20%的训练特征划分为所述测试集,再利用所述训练集对所述预设网络模型进行训练及利用所述测试集对训练得到的中间模型进行测试。当所述中间模型的测试结果符合预设要求时,所述第一训练模块103可以将训练得到的中间模型作为所述第一预测模型。在一实施方式中,所述预设网络模型可以是机器学习模型,比如可以是cnn或rnn神经网络模型,但不以此为限。当所述第一训练模块103利用所述训练集对所述预设网络模型(或机器学习模型)进行训练可以得到一中间模型,所述测试集的每一测试数据输入至所述中间模型进行测试可以得到一验证结果,所述第一训练模块103可以统计得到每一测试数据的验证结果,进而得到所述中间模型的最终测试结果,当所述中间模型的测试结果符合所述预设要求时,表明训练得到的中间模型满足要求,所述第一训练模块103可以将训练得到的中间模型作为所述第一预测模型。所述预设要求比如可以是模型测试准确率大于一预设阈值。举例而言,所述应变参数组合包括阻抗参数、介入损失参数、远端串音参数及近端串音参数,所述预设阈值为95%。测试集中的每一测试数据输入至所述中间模型可以得到一组阻抗值、介入损失值、远端串音值及近端串音值,若所述中间模型所预测得到的阻抗值、介入损失值、远端串音值及近端串音值与通过所述预设pcb走线仿真软件所计算得到的阻抗值、介入损失值、远端串音值及近端串音值的误差均小于预设误差值(比如10%)时,判断该测试数据的测试结果为通过,若测试集中的测试数据测试通过率大于95%,则表明训练得到的中间模型可满足实际要求,所述第一训练模块103可以将训练得到的中间模型作为所述第一预测模型。当所述中间模型的测试结果不符合所述预设要求时,所述第一训练模块103可以调整所述预设网络模型的参数,再利用所述训练集重新对调整后的预设网络模型进行训练及利用所述测试集对重新训练得到的中间模型进行测试。当重新训练得到的中间模型的测试结果符合所述预设要求时,所述第一训练模块103将重新训练得到的中间模型作为所述第一预测模型,当重新训练得到的中间模型的测试结果仍然不符合所述预设要求时,可以重复模型参数调整步骤,直至重新训练得到的中间模型的测试结果符合所述预设要求。在一实施方式中,所述第一训练模块103调整所述预设网络模型(或机器学习模型)的参数可以是调整所述神经网络模型的总层数(比如,隐藏层的层数)和/或每一层的神经元数(或模型复杂度)。在一实施方式中,由于应变参数组合包括多种应变参数,第一预测模型根据输入的走线参数组合可以得到与该走线参数组合匹配的应变参数组合。在实际模型训练过程中,为了使得每一应变参数的预测准确率都符合测试要求,误差值可能设置的比较大,比如当预测得到的阻抗值、介入损失值、远端串音值及近端串音值的误差值均在10%以内时,即认定预测准确,而下述方式可以对所述第一预测模型进行继续训练,可以得到各个反应变数的最佳预测模型,比如阻抗参数的最佳预测模型。所述第二训练模块104用于对所述第一预测模型进行训练与测试得到所述阻抗参数的阻抗预测模型。在一实施方式中,所述第二训练模块104可以利用所述训练集的部分或者全部数据对所述第一预测模型进行训练,再利用所述测试集的部分或者全部数据对训练后的第一预测模型进行测试,若测试结果符合要求,则将经过训练的第一预测模型作为所述阻抗预测模型。当将测试集中的多个走线参数组合输入至所述阻抗预测模型时,所述阻抗预测模型所预测得到的阻抗值与通过所述预设pcb走线仿真软件所计算得到的阻抗值的平均误差小于预设误差。所述预设误差可以根据实际需求进行设定,比如所述预设误差为5%。当训练得到所述阻抗预测模型时,可以将预先设计的走线参数组合输入至所述阻抗预测模型,所述阻抗预测模型可以输出得到该走线参数组合所对应的阻抗值。所述阻抗预测模型计算速度快,大约仅需0.02秒,与imlc软件计算速度相比,大约提升了15000倍,大幅减少pcb布线设计时程。可以理解的,所述第二训练模块104还可以对所述第一预测模型进行继续训练与测试得到所述介入损失参数的预测模型。当将测试集中的多个走线参数组合输入至所述介入损失参数的预测模型时,所述介入损失参数的预测模型所预测得到的介入损失值与通过所述预设pcb走线仿真软件所计算得到的介入损失值的平均误差小于5%。所述第二训练模块104还可以对所述第一预测模型进行训练与测试得到所述远端串音参数的预测模型。当将测试集中的多个走线参数组合输入至所述远端串音参数的预测模型时,所述远端串音参数的预测模型所预测得到的远端串音值与通过所述预设pcb走线仿真软件所计算得到的远端串音值的平均误差小于5%。所述第二训练模块104还可以对所述第一预测模型进行训练与测试得到所述近端串音参数的预测模型。当将多个走线参数组合输入至所述近端串音参数的预测模型时,所述近端串音参数的预测模型所预测得到的近端串音值与通过所述预设pcb走线仿真软件所计算得到的近端串音值的平均误差小于5%。在一实施方式中,所述第二训练模块104还可以对所述第一预测模型进行训练与测试得到用于预测所述介入损失参数、所述远端串音参数及所述近端串音参数的预测模型。当将多个走线参数组合输入至所述预测模型时,所述预测模型所预测得到的介入损失值、远端串音值及近端串音值与通过所述预设pcb走线仿真软件所计算得到的介入损失值、远端串音值及近端串音值的平均误差均小于预设误差,比如小于5%。图3为本发明一实施方式中pcb走线参数设定方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。步骤s300,获取多个用于进行pcb走线设计的走线参数组合。在一实施方式中,所述走线参数组合为可以是包含多个可以影响pcb的阻抗、介入损失、远端串音及近端串音等应变参数的组合,每一走线参数组合可以包括一个或多个走线参数。比如,所述走线参数可以是线宽、线间线宽、绝缘厚度、铜箔厚度、介电常数等。在一实施方式中,可以先建立走线参数组合库,再从走线参数组合库中获取多个用于进行pcb走线设计的走线参数组合,该走线参数组合库包括多个走线参数组合,该些走线参数组合可以通过以下方式建立的第:列举出会影响阻抗、介入损失、远端串音及近端串音之值的走线参数,再综合各走线参数与工厂端可施行的设计范围透过实验设计手法,设计出多组走线参数组合,该多组走线参数组合可以是包含相同或不相同的走线参数。比如,多个走线参数组合可以是包括相同的走线参数,但走线参数的具体参数值不同。步骤s302,将多个所述走线参数组合输入至预设pcb走线仿真软件得到与每一所述走线参数组合对应的应变参数组合,其中所述应变参数组合至少包括阻抗参数。在一实施方式中,所述应变参数组合可以包括一个或多个应变参数,所述应变参数可以是阻抗参数、介入损失参数、远端串音参数及近端串音参数等。所述预设pcb走线仿真软件可以是inter公司提供的imlc软件,该imlc软件可以根据输入的走线参数组合得到该走线参数组合对应的应变参数组合,所述预设pcb走线仿真软件还可以是其他可以实现pcb设计的仿真软件。可以将每一所述走线参数组合输入至所述预设pcb走线仿真软件得到与每一所述走线参数组合对应的应变参数组合。步骤s304,将多个所述走线参数组合及多个所述应变参数组合作为训练样本对预设网络模型进行训练得到第一预测模型。在一实施方式中,多个所述走线参数组合及多个所述应变参数组合可以构建一个训练样本库,训练样本库的每一训练特征可以包括一走线参数组合及与该走线参数组合对应的应变参数组合。可以将多个所述训练样本随机划分为训练集及测试集,其中所述训练集的数据量优选大于所述测试集的数据量,比如可以将80%的训练特征划分为所述训练集,将20%的训练特征划分为所述测试集,再利用所述训练集对所述预设网络模型进行训练及利用所述测试集对训练得到的中间模型进行测试。当所述中间模型的测试结果符合预设要求时,可以将训练得到的中间模型作为所述第一预测模型。在一实施方式中,所述预设网络模型可以是机器学习模型,比如可以是cnn或rnn神经网络模型。当所述训练集对所述预设网络模型进行训练可以得到一中间模型,所述测试集的每一测试数据输入至所述中间模型进行测试可以得到一验证结果,进而可以统计得到每一测试数据的验证结果,进而得到所述中间模型的最终测试结果,当所述中间模型的测试结果符合所述预设要求时,表明训练得到的中间模型满足要求,可以将训练得到的中间模型作为所述第一预测模型。所述预设要求比如可以是模型测试准确率大于一预设阈值。步骤s306,对所述第一预测模型进行训练与测试得到所述阻抗参数的阻抗预测模型。在一实施方式中,当将多个走线参数组合输入至所述阻抗预测模型时,所述阻抗预测模型所预测得到的阻抗值与通过所述预设pcb走线仿真软件所计算得到的阻抗值的平均误差小于预设误差。在一实施方式中,可以利用所述训练集的部分或者全部数据对所述第一预测模型进行训练,再利用所述测试集的部分或者全部数据对训练后的第一预测模型进行测试,若测试结果符合要求,则将经过训练的第一预测模型作为所述阻抗预测模型。当将测试集中的多个走线参数组合输入至所述阻抗预测模型时,所述阻抗预测模型所预测得到的阻抗值与通过所述预设pcb走线仿真软件所计算得到的阻抗值的平均误差小于预设误差。所述预设误差可以根据实际需求进行设定,比如所述预设误差为5%。当训练得到所述阻抗预测模型时,可以将预先设计的走线参数组合输入至所述阻抗预测模型,所述阻抗预测模型可以输出得到该走线参数组合所对应的阻抗值。所述阻抗预测模型计算速度快,大约仅需0.02秒,与imlc软件计算速度相比,大约提升了15000倍,大幅减少pcb布线设计时程。上述pcb走线参数设定装置、方法及计算机可读存储介质,基于机器学习算法训练得到学习pcb走线仿真软件的预测模型,通过该预测模型可以计算得到走线参数组合对应的应变参数组合,与pcb走线仿真软件相比,计算速度更快,可减少pcb布线设计时程,提高设计效率。对本领域的技术人员来说,可以根据本发明的发明方案和发明构思结合生产的实际需要做出其他相应的改变或调整,而这些改变和调整都应属于本发明所公开的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1