System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及pcb布局设计,尤其是涉及一种基于规则的pcb功能模块的自动布局方法。
技术介绍
1、pcb物理设计流程中,pcb布局设计是重中之重。pcb布局结果会随着布线及仿真等物理设计的下游流程产生显著影响,良好的pcb布局设计是pcb电路处于良好工作状态的基础。
2、由于pcb设计场景众多,不同场景中的复杂几何及电气约束给自动布局的建模带来巨大困难,传统的设计流程中均由经验丰富的布局工程师利用eda软件进行人工布局设计。pcb中具有相同或相似组件的模块重复设计以及物理设计流程的反复迭代耗费了大量的人力物力,功能模块的自动布局算法可以将布局工程师从技术含量较低的重复劳动中解放出来,提高pcb布局甚至整个设计流程的效率。
3、尽管大型的eda软件均包含了对pcb进行自动布局的相关功能,但这些软件仅仅根据网络连接关系对元器件依次进行摆放,或根据网表数据和器件规格数据建立了简单的优化布局模型进行求解,自动布局结果不能满足相应场景中的复杂几何和电气约束,器件布局位置准确率较差。现在对pcb自动布局算法的设计大多采用vlsi布图规划的技术路线:利用b*-树或序列对等紧凑布局编码构建自动布局的组合优化模型,再用高效的智能优化算法进行求解。然而组合优化模型的求解算法性能会随着规模增大而急剧下降,基于紧凑编码的布局难以处理布局场景中的复杂几何约束,导致自动布局结果的质量难以满足需求。
技术实现思路
1、本专利技术的目的是提供一种基于规则的pcb功能模块的自动布局方法,以
2、为实现上述目的,本专利技术提供了一种基于规则的pcb功能模块的自动布局方法,通过基于原理图的网络拆分模块、网络及器件优先级定义模块、表层可布线性建模模块、混合决策变量优化建模及求解模块和自动布局dfm规则优化模块五个模块实现;
3、所述自动布局方法具体步骤如下:
4、步骤s1:读取自动布局元器件的类型、大小及引脚数据,写入“module_basicinfo.txt”文件中;读取网表信息,将网络连接关系和网络属性写入“net_info.txt”文件中;读取原理图结构化数据,将器件及引脚数据写入“schematic_info.txt”文件中;读取dfm规则数据,存入“dfm_rule.txt”文件中;网络连接数据包括网络连接关系、网络属性等;
5、步骤s2:从“module_basicinfo.txt”文件中读取元器件的类型数据,根据ic器件类型识别功能模块类型;读取网表信息和原理图数据,根据功能模块类型调用基于原理图的网络拆分模块对网表进行拆分,将功能模块类型和网表拆分结果写入“net_info.txt”文件中;
6、步骤s3:读取模块和网表信息,根据功能模块类型调用网络及器件优先级定义模块定义网络及器件优先级,并分别写入文件;
7、步骤s4:读取布局器件信息和网表信息,利用表层可布线性建模模块构建表层可布线性量化指标;
8、步骤s5:读取网络及器件优先级数据,调用混合决策变量优化建模及求解模块构建混合变量多目标优化模型并进行求解得到自动化优化布局结果,然后将自动化优化布局结果存入文件;
9、步骤s6:读取模块全局布局和dfm规则数据,调用自动布局dfm规则优化模块对布局结果进行合法化和布局结果优化,并将布局结果写入文件;
10、步骤s7:从文件中读取布局结果,根据用户需求将布局结果转化成其所使用的布局文件数据格式。
11、优选的,步骤s2具体为:
12、步骤s21:分别从“net_basicinfo.txt”和“schematic_info.txt”文件中读取网表信息和原理图结构化数据,传入功能模块类型;
13、步骤s22:从原理图结构化数据中解析出器件名及连接点坐标数据,并从网表信息中对相关网络进行匹配;
14、步骤s23:从主ic器件的引脚出发,根据网表信息中主ic器件与附属器件的关联关系定位相关器件,利用聚类算法根据原理图中附属器件连接点坐标和ic器件引脚坐标对布局附属器件进行分组;
15、步骤s24:遍历每个主ic器件的引脚及对应的已分组附属器件,根据原理图中主ic器件的引脚坐标和原理图中附属器件的连接点坐标对分组器件进行排序,根据排序结果得到拆分后的多个两端网络;
16、步骤s25:将拆分以后的网表信息存入“net_info.txt”文件中。
17、优选的,步骤s3具体为:
18、步骤s31:分别从“module_basicinfo.txt”和“net_info.txt”文件中读取模块和网表信息,传入功能模块类型;
19、步骤s32:根据模块类型和网络类型,定义网络连接优先级;
20、步骤s33:根据器件类型及关联的网络类型,定义器件优先级;
21、步骤s34:根据模块类型、网络类型及器件类型,定义器件摆放朝向的优先级;
22、步骤s35:将网络优先级及器件优先级分别写入“net_priority.txt”和“module_priority.txt”文件中。
23、优选的,步骤s4具体为:
24、步骤s41:分别从“module_basicinfo.txt”和“net_info.txt”文件中读取布局器件与网表信息,传入功能模块类型;
25、步骤s42:根据器件信息对网表信息进行匹配,识别出主芯片器件与附属器件的网络连接,以及附属器件之间的网络连接;
26、步骤s43:根据ic器件引脚在ic器件上的位置进行无序逃逸,将ic器件引脚扇出到器件四周;根据网络中附属器件摆放位置进行分组,利用有序逃逸算法将附属器件与ic器件相连的引脚逃逸并扇出到ic器件一侧;
27、步骤s44:将ic器件的扇出序列与附属器件扇出排序位置分组匹配,通过匹配结果中定义表层可布线性的量化指标;
28、步骤s45:根据器件布放信息计算得到量化指标,并传递给混合决策变量优化建模及求解模块。
29、优选的,步骤s5具体为:
30、步骤s51:从“module_basicinfo.txt”和“net_info.txt”文件中读取布局器件与网表信息,从“net_priority.txt”和“module_priority.txt”文件中读取网络和器件优先级数据,输入布局偏好信息;
31、步骤s52:以所有模块的旋转角度向量θ、横坐标向量x和纵坐标向量y为自变量构建布局质量量化指标:调用表层可布线性建模模块,构建可布线性量化指标n(θ,x,y);根据网络和器件优先级数据,构建自动布局的线长指标l(θ,x,y)、布局面积指标s(θ,x,y)及重叠约束指标o(θ,x,y);
32、步骤s53:建立以器件旋转方向和坐标为决策变量,可布线性、线长和布局面积为目标函数,重叠面积为约束的混合本文档来自技高网...
【技术保护点】
1.一种基于规则的PCB功能模块的自动布局方法,其特征在于:所述自动布局方法通过基于原理图的网络拆分模块、网络及器件优先级定义模块、表层可布线性建模模块、混合决策变量优化建模及求解模块和自动布局DFM规则优化模块实现;
2.根据权利要求1所述的一种基于规则的PCB功能模块的自动布局方法,其特征在于:步骤S2具体为:
3.根据权利要求1所述的一种基于规则的PCB功能模块的自动布局方法,其特征在于:步骤S3具体为:
4.根据权利要求1所述的一种基于规则的PCB功能模块的自动布局方法,其特征在于:步骤S4具体为:
5.根据权利要求1所述的一种基于规则的PCB功能模块的自动布局方法,其特征在于:步骤S5具体为:
6.根据权利要求1所述的一种基于规则的PCB功能模块的自动布局方法,其特征在于:步骤S6具体为:
【技术特征摘要】
1.一种基于规则的pcb功能模块的自动布局方法,其特征在于:所述自动布局方法通过基于原理图的网络拆分模块、网络及器件优先级定义模块、表层可布线性建模模块、混合决策变量优化建模及求解模块和自动布局dfm规则优化模块实现;
2.根据权利要求1所述的一种基于规则的pcb功能模块的自动布局方法,其特征在于:步骤s2具体为:
3.根据权利要求1所述的一种基于规则的pc...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。