本发明涉及电子设计自动化(eda)软件领域,涉及一种用于印刷电路板(pcb)设计中过孔(via)结构自动生成三维(3d)模型和仿真的工具及其实现方法,具体为一种via3d叠孔可视化设计及自动建模方法。
背景技术:
1、在现代电子设备中,印刷电路板(pcb)是关键的基础组件之一。pcb通常由多层导电和绝缘材料构成,通过过孔(via)实现不同层之间的电气连接。过孔的设计对电路的性能、信号完整性和电磁兼容性有着重要影响。
2、目前,pcb设计中广泛使用的电子设计自动化(eda)工具可以进行电路的布局布线和仿真。然而,现有技术在以下几个方面存在不足:
3、复杂性和效率问题:传统的过孔设计通常需要手动定义几何结构和材料参数,这一过程复杂且耗时,特别是在多层pcb和高密度设计中,手动设计极易导致错误和不一致性。
4、仿真精度问题:手动设计的过孔模型在进行电磁仿真时,常常难以保证足够的精度,影响仿真结果的可靠性。这对于高速和射频电路尤为关键,因为过孔的不良设计会导致严重的信号完整性问题,如反射、串扰和回波损耗。
5、优化能力不足:现有的过孔设计和仿真工具缺乏集成的优化功能,无法高效地根据仿真结果调整设计参数,进行迭代优化。这使得工程师需要反复手动调整设计,增加了设计周期和成本。
技术实现思路
1、本发明提供了一种via3d叠孔可视化设计及自动建模方法,有效简化过孔的设计流程,提高仿真精度和优化能力。
2、为了实现本发明的目的,所采用的技术方案是:一种via3d叠孔可视化设计及自动建模方法,包括:
3、步骤1,构建叠孔设计图形操作界面;
4、步骤2,从图形操作界面获取构建叠孔二维几何模型所需的建模信息;
5、步骤3,构建叠孔设计二维几何模型;
6、步骤4,构建叠孔设计的三维几何模型;
7、步骤5,构建叠孔模板公共器件库,实现叠孔模板器件的替换共享。
8、作为本发明的优化方案,在步骤2中,从图形操作界面获取构建叠孔二维几何模型所需的建模信息的步骤如下:
9、步骤2.1、从图形操作界面获取用户输入的叠孔各部件的参数信息,存储到叠孔模板的数据结构类stackviadef中;
10、步骤2.2、将stackviadef存放到管理叠孔模板器件的模板的管理数据结构类componentdefmanager中,创建叠孔对象的数据结构类stackvia,将stackviadef和单个叠孔对象建立数据联系。
11、作为本发明的优化方案,在步骤2.1中,叠孔各部件的参数信息包括:叠孔的阶数、激光孔的钻孔宽度、激光孔的焊盘宽度、激光孔的反焊盘宽度、机械孔的钻孔宽度、机械孔的焊盘宽度、机械孔的反焊盘宽度、焊盘连接走线的宽度、焊盘连接走线的避让、叠孔所在的起始层和终止层,以及当用户在显示的叠孔二维几何模型界面对焊盘拖拽形成的距离差数据列表;
12、叠孔的阶数steps是根据pcb层叠的信号层数量signalnum来确定的,steps的范围:1至(signalnum-1)/2;
13、激光孔和机械孔的数量满足以下公式:steps1+n+steps2=signalnum,
14、其中:steps1表示叠孔上层的激光过孔数量,n表示叠孔中间层的机械孔的数量,steps2表示叠孔下层的激光孔的数量,
15、叠孔的阶数steps、上下层激光孔的数量steps1和steps2满足以下公式:steps=steps1=steps2。
16、作为本发明的优化方案,在步骤3中,构建叠孔设计二维几何模型的步骤为:
17、根据叠孔各部件的参数信息,首先通过调用开放原始码的几何核心opencascade的brepbuilderapi_makeedge接口创建闭环的有界边,再调用brepbuilderapi_makewire接口将创建的闭环的有界边作为参数形成由此边闭合的环,最后调用brepbuilderapi_makeface接口将创建的已经形成闭合的环作为参数形成由此环限定的有界面,将每个部件的图形构建为二维的几何模型并显示到叠孔设计图形操作界面的二维几何模型视图窗口中。
18、作为本发明的优化方案,在步骤4中,具体包括步骤:
19、步骤4.1、将步骤3创建的各个部件的二维几何模型进行线性扫率拓扑构建,调用brepprimapi_makeprism接口将二维的几何模型面根据叠孔每个部件所在的信号层的厚度进行z方向的线性扫率拓扑构建形成叠孔各个部件的三维几何模型;
20、步骤4.2、将叠孔各个部件的三维几何模型,进行布尔并操作,形成一个完整的三维叠孔几何模型;
21、步骤4.3,将三维叠孔几何模型数据进行图形渲染并显示到三维叠孔几何模型可视化预览界面。
22、作为本发明的优化方案,在步骤5中,具体包括步骤:
23、步骤5.1、从图形操作界面导出创建的叠孔模板结构,保存成xml文件,使用qt的写入接口将叠孔模板的各项特征属性保存到xml中;
24、步骤5.2、从图形操作界面导入步骤5.1所导出的xml文件,使用qt的读取接口将xml文件进行叠孔模板特征数据读取,并结合叠孔特征数据转化成叠孔模板数据结构,实现叠孔模板器件的替换共享。
25、作为本发明的优化方案,在步骤1中,具体包括步骤:构建叠孔设计图形操作界面,图形操作界面包括菜单栏、参数设置栏、叠孔模板列表窗口和二维几何模型显示窗口,叠孔模板列表窗口展示所有叠孔模板数据列表。
26、本发明具有积极的效果:1)本发明解决了传统设计不能直观、自动化的构建叠孔几何结构问题,解决建模时不能实时的叠孔三维几何模型预览问题,以及用于解决不能满足灵活的叠孔模块共享替换问题,降低了建模难度,提高了建模效率、节约了成本;
27、2)本发明采用高级编程语言c++和跨平台的c++图形用户界面应用程序开发框架qt来搭建叠孔设计图形操作界面,由于在界面上可统一设置每个过孔的间距,钻孔、焊盘和反焊盘的宽度,以及焊盘连接线宽度、避让等信息,自动化生成参数统一精确的模型,可以实现自动化设计,并解决手动逐个设计所造成的各过孔参数信息不一致,存在细小误差,如各过孔间距设置因人为疏忽导致的极微小不一致,从而影响到仿真精度的问题,同时在需要根据仿真结果调整优化设计参数时,可更高效的自动生成参数精确的模型,从而解决了集成迭代优化能力不足的问题。
1.一种via3d叠孔可视化设计及自动建模方法,其特征在于:包括:
2.根据权利要求1所述的一种via3d叠孔可视化设计及自动建模方法,其特征在于:在步骤2中,从图形操作界面获取构建叠孔二维几何模型所需的建模信息的步骤如下:
3.根据权利要求2所述的一种via3d叠孔可视化设计及自动建模方法,其特征在于:在步骤2.1中,叠孔各部件的参数信息包括:叠孔的阶数、激光孔的钻孔宽度、激光孔的焊盘宽度、激光孔的反焊盘宽度、机械孔的钻孔宽度、机械孔的焊盘宽度、机械孔的反焊盘宽度、焊盘连接走线的宽度、焊盘连接走线的避让、叠孔所在的起始层和终止层,以及当用户在显示的叠孔二维几何模型界面对焊盘拖拽形成的距离差数据列表;
4.根据权利要求1所述的一种via3d叠孔可视化设计及自动建模方法,其特征在于:在步骤3中,构建叠孔设计二维几何模型的步骤为:
5.根据权利要求1所述的一种via3d叠孔可视化设计及自动建模方法,其特征在于:在步骤4中,具体包括步骤:
6.根据权利要求5所述的一种via3d叠孔可视化设计及自动建模方法,其特征在于:在步骤5中,具体包括步骤:
7.根据权利要求1所述的一种via3d叠孔可视化设计及自动建模方法,其特征在于:在步骤1中,具体包括步骤:构建叠孔设计图形操作界面,图形操作界面包括菜单栏、参数设置栏、叠孔模板列表窗口和二维几何模型显示窗口,叠孔模板列表窗口展示所有叠孔模板数据列表。