CN117669476A - 一种基于遗传算法的pcb自动布线方法、介质及装置 - Google Patents
一种基于遗传算法的pcb自动布线方法、介质及装置 Download PDFInfo
- Publication number
- CN117669476A CN117669476A CN202410132013.8A CN202410132013A CN117669476A CN 117669476 A CN117669476 A CN 117669476A CN 202410132013 A CN202410132013 A CN 202410132013A CN 117669476 A CN117669476 A CN 117669476A
- Authority
- CN
- China
- Prior art keywords
- wiring
- pcb
- population
- individuals
- genetic algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 31
- 230000002068 genetic effect Effects 0.000 title claims abstract description 29
- 230000000694 effects Effects 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 48
- 230000035772 mutation Effects 0.000 claims description 33
- 108090000623 proteins and genes Proteins 0.000 claims description 28
- 210000000349 chromosome Anatomy 0.000 claims description 14
- 230000009466 transformation Effects 0.000 claims description 12
- 230000006978 adaptation Effects 0.000 claims description 9
- 230000003044 adaptive effect Effects 0.000 claims description 9
- 150000003071 polychlorinated biphenyls Chemical class 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000011426 transformation method Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 description 11
- 238000010187 selection method Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 101150033839 4 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供一种基于遗传算法的PCB自动布线方法、介质及装置,所述方法包括:S1,确定PCB布线的目标和约束条件;S2,基于PCB布线的目标和约束条件,采用遗传算法计算最佳端口连接方式;S3,将所述最佳端口连接方式作为参考进行人工布线;S4,检查人工布线结果的效果是否理想:若效果理想,则采用所述人工布线结果;若效果不理想,则返回步骤S1,将造成效果不理想的因素加入约束条件,然后重新执行S2~S4。本发明能够综合考虑多种因素作为目标和约束条件,并且通过目标和约束条件在遗传算法中的设定,能够避免陷入局部最优解,可以从多种不同影响因素分析最优PCB布线方案。
Description
技术领域
本发明涉及PCB(Printed Circuit Board,印制电路板)设计技术领域,具体而言,涉及一种基于遗传算法的PCB自动布线方法、介质及装置。
背景技术
随着工程技术的电子化、集成化和系统化的迅速发展,电路设计已经进入了一个全新的时代,高速电路设计业已成为电子工程技术发展的主流,因此,对于PCB设计的要求也越来越高。PCB设计的好坏对其抗干扰能力影响很大。因此,在进行PCB设计时,必须遵守PCB设计的基本原则,并应符合抗干扰设计的要求,使得电路获得最佳的性能。不同的PCB实现不同功能的同时有着不同的线路排布要求,多层PCB布局布线的一般原则是:根据实际需求,决定元器件印制走线的间距、线路拐角走线形式、印制走线宽度、印制导线的抗干扰和电磁屏蔽。
传统的PCB布线主要采取人工布线,而面对如今高密度的PCB上的大量元器件和大量端口,人工布线变得十分复杂,不仅工作效率低,还需要较高的布线经验才能做到相对较好的布线效果。针对于此,现有自动布线算法通过最优化寻找最优路径,虽然一定程度上能够提高布线效率,但是有可能会陷入局部最优解。
发明内容
本发明旨在提供一种基于遗传算法的PCB自动布线方法、介质及装置,以解决现有自动布线算法会陷入局部最优解的问题。
本发明提供的一种基于遗传算法的PCB自动布线方法,包括如下步骤:
S1,确定PCB布线的目标和约束条件;
S2,基于PCB布线的目标和约束条件,采用遗传算法计算最佳端口连接方式;
S3,将所述最佳端口连接方式作为参考进行人工布线;
S4,检查人工布线结果的效果是否理想:
若效果理想,则采用所述人工布线结果;
若效果不理想,则返回步骤S1,将造成效果不理想的因素加入约束条件,然后重新执行S2~S4。
进一步的,步骤S2包括如下子步骤:
S21,将PCB上的对应端口是否相连情况进行编码,形成基因序列;M层PCB对应形成M个基因序列;
S22,初始化种群:设定最大进化代数T、种群大小M、交叉概率Pc和变异概率Pm;然后,产生第一代M个个体作为第一代种群P0,其中,P0的每个个体的染色体上的基因序列均为完全随机生成;
S23,基于PCB布线的目标和约束条件,设计自适应度函数;
S24,利用自适应度函数计算当前种群中个体的自适应度,并根据计算得到的自适应度对种群中个体进行择优选择;
S25,根据设定的交叉概率Pc和变异概率Pm,对择优选择后的种群中个体进行交叉操作和变异操作;
S26,当交叉操作和变异操作后产生的子代种群收敛到精度要求或迭代次数达到最大迭代次数后,此时的种群中个体即为最优解,也即最佳端口连接方式;否则返回步骤S24。
一些方案中,步骤S21中,若只有一层PCB,则将对应端口的线路是否发生弯折进行编码,形成基因序列。
作为优选,所述自适应度函数选用一个变量、一个函数或函数组合进行设计。
进一步的,步骤S24中,对于当前种群中个体的自适应度通过自适应度尺度变换来改变个体的自适应度大小;所述自适应度尺度变换的方法包括线性尺度变换、乘幂尺度变换或指数尺度变换。
进一步的,步骤S25中,交叉操作是指,从择优选择后的种群中,以交叉概率Pc确定需要交叉的个体;再从需要交叉的个体中随机选择两个个体,并随机排列这两个个体的染色体;然后在每两个顺序相邻的染色体中随机生成一个交叉位置,并以交叉位置为基础进行交叉,将交叉位置之后的基因序列进行交换。
进一步的,步骤S25中,变异操作是指,从择优选择后的种群中,以变异概率Pm确定需要变异的个体;然后对需要变异的个体随机生成一个变异位置,并以变异位置为基础进行变异,将变异位置的基因型取反。
作为优选,所述约束条件包括最小化线路长度、最大化信号完整性、线路能否相交和/或线路转角最大角度。
本发明还提供一种计算机终端存储介质,存储有计算机终端可执行指令,所述计算机终端可执行指令用于执行上述的基于遗传算法的PCB自动布线方法。
本发明还提供一种计算装置,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的基于遗传算法的PCB自动布线方法。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明提供的基于遗传算法的PCB自动布线方法与传统人工布线相比,能够大大提高布线效率,一定程度上也能够降低PCB布线门槛,不需要丰富的布线经验也能设计出较为复杂的PCB布线方案。相比于一些其他的PCB自动布线,能够综合考虑多种因素作为目标和约束条件,并且通过目标和约束条件在遗传算法中的设定,能够避免陷入局部最优解,可以从多种不同影响因素分析最优PCB布线方案。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例中基于遗传算法的PCB自动布线方法的流程图。
图2为本发明实施例中遗传算法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,本实施例提出一种基于遗传算法的PCB自动布线方法,包括如下步骤:
S1,确定PCB布线的目标和约束条件;
需要说明的是,一切对PCB布线效果有影响的因素都可以作为目标和约束条件,可以根据实际情况和实际需求去确定,例如:最小化线路长度、最大化信号完整性、线路能否相交和/或线路转角最大角度等。
S2,基于PCB布线的目标和约束条件,采用遗传算法计算最佳端口连接方式;其中,遗传算法起源于对生物系统所进行的计算机模拟研究,是一种随机全局搜索优化方法,它模拟了自然选择和遗传中发生的复制、交叉和变异等现象,从任一初始种群出发,通过随机选择、交叉和变异操作,产生一群更适合环境的个体,使种群进化到搜索空间中越来越好的区域,这样一代一代不断繁衍进化,最后收敛到一群最适应环境的个体,从而求得问题的最优解。
如图2所示,步骤S2包括如下子步骤:
S21,将PCB上的端口是否相连进行编码,形成基因序列;M层PCB对应形成M个基因序列;
其中,编码的过程是将实际问题的解转换成基因序列的过程,需要将实际问题中某种具体的行为转换成串结构数据,一般为一个数组。而这种将实际问题的解转换成数组则是需要根据具体问题进行设计,通常也是解决物理问题中较为困难的地方。常见的编码方法有二进制编码、格雷码编码、浮点数编码、各参数级联编码和多参数交叉编码等。在基于遗传算法的PCB自动布线的问题中,由于同一块PCB上有较多功能需要实现,需要承载较多元器件及其端口,最终将实际问题转化为端口之间的连线问题,并且由于端口较多,通常采取分层布线。而由于PCB制程工艺等问题普遍的PCB分层策略需要尽量使用更少层数,因此将需要连接的端口一一对应排列,编码是对同一层上对应端口是否相连情况进行编码,形成一个基因序列。
特别地,实际情况中应该以PCB自动布线问题的特定需求进行编码。多层布线是一个较为常用的PCB布线方法,因此上述编码可以作为这种多层布线的通用方法。但根据实际情况,如果端口较少仅需一层布线,那么更看中的是线路的弯折尽量少,则可以将对应端口的线路是否发生弯折进行编码。
S22,初始化种群:设定最大进化代数T、种群大小M(对应PCB的布线层数)、交叉概率Pc和变异概率Pm;然后,产生第一代M个个体作为第一代种群P0,其中,P0的每个个体的染色体上的基因序列均为完全随机生成;需要说明的是,所述最大进化代数T、交叉概率Pc和变异概率Pm可以先设定一个常用值或经验值,再根据迭代求解的效果进行调整。
S23,基于PCB布线的目标和约束条件,设计自适应度函数;
所述自适应度函数用于表明个体或解的优劣性。对于不同的问题,自适应度函数的定义方式不同,一般地,所述自适应度函数可以是一个变量、一个函数、函数组合或是其他形式,只要能体现或判断不同个体之间优劣即可。其中:
对于变量形式的自适应度函数,是一个或多个仅有0和1的脉冲函数。一般地,目标和约束条件中是必须存在或不能存在某种情况时选用变量形式的自适应度函数。如两个对应端口是否可以共存、线路是否可以弯折、线路是否可以交叉等。
自适应度函数在PCB布线中能够最直观地体现不同布线方案之间谁更好地问题,简单理解为根据自适应度函数能够为一个个体(染色体)也就是一个布线方案进行评分,得分高的留下,得分低的淘汰,最后优中选优获得一个最优的布线方案。而评分是从多个不同角度出发来考虑的,对于不同的需求往往会有不同的重要性,也就是权重,因此自适应度函数通常是函数组合,即可能相互作用或独立存在的多个函数(取决于各个评分因素间是否有关联或相互影响),最终通常会将函数组合中各个函数计算的值相加或加权后相加,得到自适应度(上述的评分)。
对于函数形式的自适应度函数,需要根据PCB自动布线时的具体需求进行自适应度函数设计,通常可以使用线性函数、三角函数、梯形函数、曲线函数等,对于特殊需求也可以使用特殊函数,特殊函数中的参数可以根据已有一些行业准则进行设计,但是没有数据化的参数(如线长尽量要短这种需求并没有统一标准,针对设计要求,较大的PCB可以用线性函数,较小的PCB可能需要二次以上的曲线函数)则需要自行设计。
S24,利用自适应度函数计算当前种群中个体的自适应度,并根据计算得到的自适应度对种群中个体进行择优选择;
为了避免个体之间的自适应度相近造成竞争减弱从而导致局部最优解,可以通过自适应度尺度变换来改变个体的自适应度大小。所述自适应度尺度变换的方法包括线性尺度变换、乘幂尺度变换或指数尺度变换。
所述择优选择是从原种群中选择优良个体组成新的种群来繁殖到下一代个体,其中,每个个体的自适应度越高,则被选中来繁殖到下一代的概率就越大。一般地,择优选择的方法有最佳保留选择法、锦标赛选择或轮盘赌选择等。
S25,根据设定的交叉概率Pc和变异概率Pm,对择优选择后的种群中个体进行交叉操作和变异操作;
所述交叉操作和变异操作的目的是产生与原种群的染色体上不完全相同甚至完全不相同的基因序列,能够防止产生局部最优解和防止迭代时上一代和下一代没有变化,从而无法优中选优的情况。
交叉操作是指,从择优选择后的种群中,以交叉概率Pc确定需要交叉的个体;再从需要交叉的个体中随机选择两个个体,并随机排列这两个个体的染色体;然后在每两个顺序相邻的染色体中随机生成一个交叉位置,并以交叉位置为基础进行交叉,将交叉位置之后的基因序列进行交换。
变异操作是指,从择优选择后的种群中,以变异概率Pm确定需要变异的个体;然后对需要变异的个体随机生成一个变异位置,并以变异位置为基础进行变异,将变异位置的基因型取反。
S26,当交叉操作和变异操作后产生的子代种群收敛到精度要求或迭代次数达到最大迭代次数后,此时的种群中个体即为最优解,也即最佳端口连接方式;否则返回步骤S24。
S3,将所述最佳端口连接方式作为参考进行人工布线;
S4,检查人工布线结果的效果是否理想:
若效果理想,则采用所述人工布线结果;
若效果不理想,则返回步骤S1,将造成效果不理想的因素加入约束条件,然后重新执行S2~S4。
通常情况下,以绝对不能出现的某种布线特征或者必须存在某种布线特征来判断人工布线结果的效果是否理想,因为自适应度函数设置不恰当导致可能存在误差,出现与要求不符合但是得分偏高的情况,这时对自适应度函数进行修正。此外,也可以根据PCB布线的实际需求来判断人工布线结果的效果是否理想,例如元器件正常运作的电流电压和板面规格满足需求,线路简洁度满足需求,能够达到需求的可靠系数,并且能够稳定通过测试时,则认为人工布线结果的效果理想,如果以上需求不满足就视为不理想。
此外,在一些实施例中,提出一种计算机终端存储介质,存储有计算机终端可执行指令,所述计算机终端可执行指令用于执行如前文实施例所述的基于遗传算法的PCB自动布线方法。计算机存储介质的示例包括磁性存储介质(例如,软盘、硬盘等)、光学记录介质(例如,CD-ROM、DVD等)或存储器,如存储卡、ROM或RAM等。计算机存储介质也可以分布在网络连接的计算机系统上,例如是应用程序的商店。
此外,在一些实施例中,提出一种计算装置,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前文实施例所述的基于遗传算法的PCB自动布线方法。计算装置的示例包括PC机、平板电脑、智能手机或PDA等。
一个示例:
示例中假设PCB上共有5×4=20个端口需要连线,其端口连接设定如表1所示。
表1:
S1,确定PCB布线的目标和约束条件:端口出发的线以及进入端口的线只能垂直于端口所在边沿,导线在PCB中转弯半径不小于1cm,每次转弯只能转过90°的整数倍,并且每根线的交叉数和转弯数的和不大于2,寻求以此条件下连接PCB最少层数以及每层上哪些端口相连。
S2,基于PCB布线的目标和约束条件,采用遗传算法计算最佳端口连接方式:
S21,编码:
将PCB上的端口是否相连进行二进制编码,形成基因序列(一个二进制数组成的向量,端口相连的基因型为1,端口不相连的基因型为0);4层PCB对应形成4个基因序列;例如:若在同一层上,对应端口A1B1(1)、B2C2(2)、D1B3(4)相连,其余端口不相连,则该层对应的基因序列为1101000000。
S22,初始化种群:
设定最大进化代数T=10000,种群大小M=4,10条基因即需要布10条线,交叉概率Pc=0.6,变异概率Pm=0.2。种群中随机生成4个个体作为第一代种群P0,其基因序列均为随机函数产生的10维二进制行向量。此处还需要设立一个变量flag来判断PCB层数是否需要加1。
S23,基于PCB布线的目标和约束条件,设计自适应度函数:
本示例的目标和约束条件较为简单,因此自适应度函数设计为一个变量,根据目标和约束条件增减变量的值。
首先,将10条线的彼此在同一层中的共存情况使用表格列出:两条线可以在同一层中共存记为1,不可以共存记为0,如表2所示。为保证本次选择可以选出最多为1的情况,每个基因为1则fitness+1。循环判断交叉数+转弯数≤2,若不符合,则fitness-1。具体逻辑根据需要进行配置,在此不再赘述。
表2:
S24,利用自适应度函数计算当前种群中个体的自适应度,并根据计算得到的自适应度对种群中个体进行择优选择;本示例中,择优选择采用最佳保留选择法,将种群中自适应度最低的个体淘汰掉,而自适应度最高的个体数量翻倍(或者说,以自适应度最高的个体将自适应度最低的个体覆盖掉),同时保证每次种群中的个体数保持在4个。
S25,根据设定的交叉概率Pc和变异概率Pm,对择优选择后的种群中个体进行交叉操作和变异操作;具体地:
交叉操作:从择优选择后的种群中,以交叉概率Pc确定需要交叉的个体;再从需要交叉的个体中随机选择两个个体,使用randperm函数随机排列这两个个体的染色体,在每两个顺序相邻的染色体中,使用randi函数随机生成一个交叉位置,并以交叉位置为基础进行交叉,将交叉位置之后的基因序列进行交换。
变异操作:从择优选择后的种群中,以变异概率Pm确定需要变异的个体;然后对需要变异的个体使用randi函数随机生成一个变异位置,并以变异位置为基础进行变异,将变异位置的基因型取反。
S26,变异操作完成后意味着一次迭代完成,从这些基因序列中使用max函数选择最优自适应度对应的基因,此时将第一层中的染色体选择出来后,即挑出了第一层的最优解,即最佳端口连接方式;设定一个最终解参数sign,每层最优解的基因记录下来并加在最终解参数sign上,由此循环,找其他层的最优解。在此过程中使变量flag变化来指示PCB层数。
在上述过程中循环到T=10000次后或在此之前已经达到精度要求的收敛,则结束循环,然后得到变量flag的计数即为所需PCB最少层数,得到的基因序列为每层PCB上端口连接情况。本示例中,求得的最终解参数sign=3222111111,变量flag=3,即最佳端口连接方式为:第一层PCB上的A4B5、C2D2、D3C3、C4D5、C5D4相连;第二层PCB上的B2C1、A2A5、D1B3、B4A3相连;第三层PCB上的A1B1相连;最少使用3层PCB。
S3,将所述最佳端口连接方式作为参考进行人工布线;
S4,检查人工布线结果的效果较为理想,采用所述人工布线结果。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于遗传算法的PCB自动布线方法,其特征在于,包括如下步骤:
S1,确定PCB布线的目标和约束条件;
S2,基于PCB布线的目标和约束条件,采用遗传算法计算最佳端口连接方式;
S3,将所述最佳端口连接方式作为参考进行人工布线;
S4,检查人工布线结果的效果是否理想:
若效果理想,则采用所述人工布线结果;
若效果不理想,则返回步骤S1,将造成效果不理想的因素加入约束条件,然后重新执行S2~S4。
2.根据权利要求1所述的基于遗传算法的PCB自动布线方法,其特征在于,步骤S2包括如下子步骤:
S21,将PCB上的对应端口是否相连情况进行编码,形成基因序列;M层PCB对应形成M个基因序列;
S22,初始化种群:设定最大进化代数T、种群大小M、交叉概率Pc和变异概率Pm;然后,产生第一代M个个体作为第一代种群P0,其中,P0的每个个体的染色体上的基因序列均为完全随机生成;
S23,基于PCB布线的目标和约束条件,设计自适应度函数;
S24,利用自适应度函数计算当前种群中个体的自适应度,并根据计算得到的自适应度对种群中个体进行择优选择;
S25,根据设定的交叉概率Pc和变异概率Pm,对择优选择后的种群中个体进行交叉操作和变异操作;
S26,当交叉操作和变异操作后产生的子代种群收敛到精度要求或迭代次数达到最大迭代次数后,此时的种群中个体即为最优解,也即最佳端口连接方式;否则返回步骤S24。
3.根据权利要求2所述的基于遗传算法的PCB自动布线方法,其特征在于,步骤S21中,若只有一层PCB,则将对应端口的线路是否发生弯折进行编码,形成基因序列。
4.根据权利要求2所述的基于遗传算法的PCB自动布线方法,其特征在于,所述自适应度函数选用一个变量、一个函数或函数组合进行设计。
5.根据权利要求4所述的基于遗传算法的PCB自动布线方法,其特征在于,步骤S24中,对于当前种群中个体的自适应度通过自适应度尺度变换来改变个体的自适应度大小;所述自适应度尺度变换的方法包括线性尺度变换、乘幂尺度变换或指数尺度变换。
6.根据权利要求5所述的基于遗传算法的PCB自动布线方法,其特征在于,步骤S25中,交叉操作是指,从择优选择后的种群中,以交叉概率Pc确定需要交叉的个体;再从需要交叉的个体中随机选择两个个体,并随机排列这两个个体的染色体;然后在每两个顺序相邻的染色体中随机生成一个交叉位置,并以交叉位置为基础进行交叉,将交叉位置之后的基因序列进行交换。
7.根据权利要求5所述的基于遗传算法的PCB自动布线方法,其特征在于,步骤S25中,变异操作是指,从择优选择后的种群中,以变异概率Pm确定需要变异的个体;然后对需要变异的个体随机生成一个变异位置,并以变异位置为基础进行变异,将变异位置的基因型取反。
8.根据权利要求1所述的基于遗传算法的PCB自动布线方法,其特征在于,所述约束条件包括最小化线路长度、最大化信号完整性、线路能否相交和/或线路转角最大角度。
9.一种计算机终端存储介质,存储有计算机终端可执行指令,其特征在于,所述计算机终端可执行指令用于执行如权利要求1-8中任一权利要求所述的基于遗传算法的PCB自动布线方法。
10.一种计算装置,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一权利要求所述的基于遗传算法的PCB自动布线方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410132013.8A CN117669476B (zh) | 2024-01-31 | 2024-01-31 | 一种基于遗传算法的pcb自动布线方法、介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410132013.8A CN117669476B (zh) | 2024-01-31 | 2024-01-31 | 一种基于遗传算法的pcb自动布线方法、介质及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117669476A true CN117669476A (zh) | 2024-03-08 |
CN117669476B CN117669476B (zh) | 2024-04-26 |
Family
ID=90064524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410132013.8A Active CN117669476B (zh) | 2024-01-31 | 2024-01-31 | 一种基于遗传算法的pcb自动布线方法、介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117669476B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050099170A (ko) * | 2004-04-09 | 2005-10-13 | 김현기 | 그래프 감소기법을 이용한 pcb 자동배선 시스템 |
CN104573820A (zh) * | 2014-12-31 | 2015-04-29 | 中国地质大学(武汉) | 一种用于带约束条件的工程优化问题的遗传算法 |
CN113569523A (zh) * | 2021-07-29 | 2021-10-29 | 电子科技大学 | 一种基于线序模拟的pcb自动布线方法及系统 |
CN114548022A (zh) * | 2022-01-14 | 2022-05-27 | 佛山市国立光电科技有限公司 | Pcb辅助设计信息处理方法、系统和存储介质 |
CN114580725A (zh) * | 2022-02-28 | 2022-06-03 | 浙江东南网架股份有限公司 | 基于遗传算法的分布式光伏布线多目标优化方法及装置 |
-
2024
- 2024-01-31 CN CN202410132013.8A patent/CN117669476B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050099170A (ko) * | 2004-04-09 | 2005-10-13 | 김현기 | 그래프 감소기법을 이용한 pcb 자동배선 시스템 |
CN104573820A (zh) * | 2014-12-31 | 2015-04-29 | 中国地质大学(武汉) | 一种用于带约束条件的工程优化问题的遗传算法 |
CN113569523A (zh) * | 2021-07-29 | 2021-10-29 | 电子科技大学 | 一种基于线序模拟的pcb自动布线方法及系统 |
CN114548022A (zh) * | 2022-01-14 | 2022-05-27 | 佛山市国立光电科技有限公司 | Pcb辅助设计信息处理方法、系统和存储介质 |
CN114580725A (zh) * | 2022-02-28 | 2022-06-03 | 浙江东南网架股份有限公司 | 基于遗传算法的分布式光伏布线多目标优化方法及装置 |
Non-Patent Citations (4)
Title |
---|
SAKAIT JAIN 等: "PCB Layout Design Using a Genetic Algorithm", 《JOURNAL OF ELECTRONIC PACKAGING》, 31 March 1996 (1996-03-31), pages 11 - 15 * |
吴超;吴明赞;李竹;: "基于电磁兼容的高速无线节点PCB设计与仿真", 电子器件, no. 03, 15 June 2012 (2012-06-15), pages 46 - 50 * |
程心 等: "一种有约束的多层布线孔优化算法", 《应用科学学报》, 31 July 2009 (2009-07-31), pages 387 - 391 * |
蒋小兵;周永华;闪静洁;: "基于人工免疫算法的PCB板布线研究", 自动化技术与应用, no. 12, 25 December 2012 (2012-12-25), pages 11 - 15 * |
Also Published As
Publication number | Publication date |
---|---|
CN117669476B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101409551B1 (ko) | 개량된 멀티레벨 메모리 | |
CN110390993B (zh) | 用于存储器件的模块控制器和包括模块控制器的存储模块 | |
KR20190035556A (ko) | 신경 네트워크의 파라미터들을 적응시키기 위한 방법 및 장치 | |
CN110941504B (zh) | 使用解码器和神经网络来解码数据 | |
CN107832526A (zh) | 一种优化bga焊点回波损耗的方法 | |
CN117669476B (zh) | 一种基于遗传算法的pcb自动布线方法、介质及装置 | |
JP7137074B2 (ja) | 最適化計算方法、最適化計算装置及び最適化計算プログラム | |
CN116702694A (zh) | 基于蚁群算法的印刷电路板两端布线方法、介质及装置 | |
CN117093844B (zh) | 工业大数据多模态特征选择方法、装置、设备及介质 | |
Withöft et al. | AI-Based SI-Compliant PCB Design Support for DDR Technology Enhanced by Transfer Learning | |
CN117764025A (zh) | 通过种群优化算法的集成电路设计方法 | |
US8832630B2 (en) | Apparatus and method for aiding in designing electronic circuits | |
US20050204320A1 (en) | Systems and methods for determining costs associated with a selected objective | |
CN113743608A (zh) | 一种基于基因库解决堆垛机路径规划的蚁群遗传混合算法 | |
CN113392979A (zh) | 强化学习系统及训练方法 | |
CN113033419A (zh) | 基于进化神经网络的设备故障辨识方法及系统 | |
CN114647541B (zh) | 一种基于改进演化硬件的电路自修复方法 | |
US12008299B2 (en) | Buffer insertion method and device, storage medium, and electronic device | |
CN116741255B (zh) | 生成目标组合存储器的系统 | |
CN111859643B (zh) | 一种三维闪存编程时延模型的建立方法及基于该模型的预测方法 | |
CN116933627A (zh) | 基于遗传算法的燃料棒设计方法、系统及存储介质 | |
CN118335161A (zh) | 一种基于遗传算法的存储器芯片冗余电路修复方法 | |
CN117786557A (zh) | 一种变压器故障数据处理方法、装置、终端设备及介质 | |
CN116843962A (zh) | 一种图像数据的处理方法及电子设备 | |
CN117252001A (zh) | 一种基于混合算法的机械产品零部件装配选配方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |