CN109933832B - 使用基于参数的规则集的印刷电路板空隙信息生成 - Google Patents
使用基于参数的规则集的印刷电路板空隙信息生成 Download PDFInfo
- Publication number
- CN109933832B CN109933832B CN201811532142.7A CN201811532142A CN109933832B CN 109933832 B CN109933832 B CN 109933832B CN 201811532142 A CN201811532142 A CN 201811532142A CN 109933832 B CN109933832 B CN 109933832B
- Authority
- CN
- China
- Prior art keywords
- information
- pcb
- void
- generating
- processors
- 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.)
- Active
Links
Images
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/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)
- Design And Manufacture Of Integrated Circuits (AREA)
- Structure Of Printed Boards (AREA)
Abstract
本公开涉及使用基于参数的规则集的印刷电路板空隙信息生成。一种设备接收空隙配置信息,该空隙配置信息标识规则集以用于基于印刷电路板(PCB)设计信息来生成空隙信息,并且该设备基于接收该空隙配置信息来接收该PCB设计信息,该PCB设计信息标识PCB的过孔信息。该设备基于接收该PCB设计信息,来比较与该空隙配置信息相关联的该规则集和与该PCB设计信息相关联的该过孔信息,并且基于比较与该空隙配置信息相关联的该规则集和与该PCB设计信息相关联的该过孔信息,来生成该空隙配置信息。该空隙信息包括与将要被包括在该PCB设计中的空隙集相关联的参数集。该设备基于生成该空隙信息来执行动作。
Description
背景技术
电子设计自动化(EDA),也称为电子计算机辅助设计(ECAD),是用于设计电子系统(诸如,集成电路、印刷电路板等)的一类工具。这些工具在设计流程中一起工作,芯片设计者使用该设计流程来设计和分析整个半导体芯片。由于现代半导体芯片可具有数十亿个元件,所以EDA工具对于它们的设计来说是必不可少的。
发明内容
根据一些实现,一种设备可以包括一个或多个处理器,以接收空隙配置信息,该空隙配置信息标识规则集以用于基于印刷电路板(PCB)设计信息来生成空隙信息,并且该一个或多个处理器基于接收该空隙配置信息来接收该PCB设计信息,该PCB设计信息标识PCB的过孔信息。该一个或多个处理器可以基于接收该PCB设计信息,来比较与该空隙配置信息相关联的该规则集和与该PCB设计信息相关联的该过孔信息,并且可以基于比较与该空隙配置信息相关联的该规则集和与该PCB设计信息相关联的该过孔信息,来生成该空隙配置信息。该空隙信息可以包括与将要被包括在该PCB设计中的空隙集相关联的参数集。该一个或多个处理器可以基于生成该空隙信息来执行动作。
根据一些实现,一种非瞬态计算机可读介质可以存储指令,该指令包括一个或多个指令,当被该一个或多个处理器执行时,引起该一个或多个处理器:接收空隙配置信息,该空隙配置信息标识规则集以用于基于印刷电路板(PCB)设计信息来生成空隙信息,并且基于接收该空隙配置信息来接收该PCB设计信息,该PCB设计信息标识PCB的过孔信息。该一个或多个指令可以引起一个或多个处理器:基于接收该PCB设计信息,来比较与该空隙配置信息相关联的该规则集和与该PCB设计信息相关联的该过孔信息,并且基于比较与该空隙配置信息相关联的该规则集和与该PCB设计信息相关联的该过孔信息,来生成该空隙信息。该空隙信息可以包括与将要被包括在该PCB设计中的空隙集相关联的参数集。该一个或多个指令可以引起一个或多个处理器基于生成该空隙信息来执行动作。
根据一些实现,一种方法可以包括:由设备接收空隙配置信息,该空隙配置信息标识规则集,以用于基于印刷电路板(PCB)设计信息来生成空隙信息,并且由设备基于接收该空隙配置信息来接收该PCB设计信息,该PCB设计信息标识PCB的过孔信息。该方法可以包括:由该设备基于接收该PCB设计信息,来比较与该空隙配置信息相关联的该规则集和与该PCB设计信息相关联的该过孔信息,并且由该设备基于比较与该空隙配置信息相关联的该规则集和与该PCB设计信息相关联的该过孔信息,来生成该空隙信息。该空隙信息可以包括与将要被包括在该PCB设计中的空隙集相关联的参数集。该方法可以包括由该设备基于生成该空隙信息来执行动作。
附图说明
图1A和图1B是在本文中所描述的示例实现的概览的示图;
图2是在其中可以实现本文中所描述的系统和/或方法的示例环境的示图;
图3是图2的一个或多个设备的示例组件的示图;以及
图4是用于使用基于参数的规则集来生成空隙信息的示例过程的流程图。
具体实现
下面的示例实现的详细描述参考附图。在不同附图中相同的附图标号可以标识相同或相似的元件。
印刷电路板(PCB)可以包括一个或多个材料分层,该一个或多个材料分层使用导电迹线机械地支撑并且电连接电子组件。导电迹线可以从层压到非导电基板上的铜片被蚀刻。为了提高PCB的信号传输密度,可以将导电迹线组织为PCB上的数个分层。在利用电子组件被填充之后,PCB通常被称为印刷电路装配(PCA)。
竖直布置的过孔可将来自PCB的一个水平布置的分层的信号路由到PCB的另一水平布置的分层。过孔可以由空隙(诸如,导电迹线在其上可以不被放置、可以不被蚀刻等的PCB中的区域)围绕。例如,在PCB的特定分层上的空隙可以围绕过孔,并且可以起到将该过孔与该过孔穿过的该PCB分层上的导电迹线隔离的功能,和/或可以起到为PCB的背钻(backdrilling)提供间隙的功能。
当使用PCB设计软件设计PCB时,PCB工程师可能被要求指定要包括空隙的PCB中的特定区域。例如,PCB工程师可以使用用户设备来生成指定正在被设计的PCB中的特定区域的空隙信息,在该特定区域上导电迹线可以不被放置、被蚀刻等。在一些情况下,正被设计的PCB的每个过孔可能需要相应的空隙。这样,空隙信息可能需要针对每个过孔而被生成。在实践中,PCB可以包括数千个、数百万个等的过孔和/或需要空隙的组件。由此,空隙信息的人工生成可能证明是不可能的、不切实际的、易出错的、耗时的等。
本文中描述的一些实现提供了一种设计平台,该设计平台可以使用PCB设计信息自动生成空隙信息。换句话说,本文中描述的一些实现提供了一种设计平台,该设计平台可以接收PCB设计文件,解析该PCB设计文件,以及修改该PCB设计文件以包括空隙信息。以此方式,本文中描述的一些实现允许空隙信息的自动生成,减少与空隙信息生成相关联的错误,减少与空隙信息生成相关联的时间量,减少生成空隙信息所需的计算资源的量等。
虽然术语“印刷电路板”在本文中通常被用作用于电子组件的基板的实例,但是在备选的可能实现中,PCB可以用其它基板或设备来代替,诸如例如,刚挠电路、半导体封装、多芯片载体模块(MCM)、微机电系统(MEMS)、陶瓷电路、中间板、背板、和/或其它类型的基板。
图1A和图1B是本文中描述的示例实现100的概览的示图。如图1A并且由参考标号110所示,设计平台可以接收空隙配置信息,该空隙配置信息标识参数集,以用于使用印刷电路板(PCB)设计信息来生成空隙信息。例如,该设计平台可以从用户设备(例如,该用户设备可以已经接收到来自操作者的输入)接收该空隙配置信息,和/或可从存储该空隙配置信息的存储器位置取回该空隙配置信息。
如本文中所使用的,空隙配置信息可以指允许设计平台自动生成空隙信息的信息。如本文中所使用的,空隙信息可以指标识要包括空隙的PCB的区域的信息。如本文中所使用的,空隙可以指PCB中的区域,在该区域上导电迹线不被放置、被刻蚀等。如本文中所使用的,PCB设计信息可以指与正被设计、被配置、被修改等的PCB相关联的信息。
如图所示,空隙配置信息可以包括规则,该规则包括参数集。例如,该规则可以包括参数集,被示为“VOID_2VIA”、“Dia”、“Offset”、“Geo”、“Cline2Void”和“Layers”。“VOID_2VIA”可以标识该规则适用于差分过孔。“Dia”可以指该空隙的直径。“Offset”可以指与过孔的中心和该空隙的中心相关联的偏移值。“Geo”可以指空隙的几何形状。“Cline2Void”可以指在空隙边缘与导电迹线之间的最小距离。“Layers”可以指该空隙信息将针对其被生成的PCB的分层。
如图所示,规则可以包括特定参数值,被示为“25G”、“31”、“0”、“Oval”和“1”。例如,“25G”可以标识该规则适用于承载信号速度为二十五千兆比特每秒(Gb/s)的信号的过孔。“31”可以标识空隙的直径将为三十一密耳(例如,千分之几英寸)。“0”可以标识偏移值将为零。“Oval”可以标识空隙的形状将是橄榄形的。“1”可以标识空隙信息将要针对PCB的每个分层而被生成。
虽然示出了特定规则和特定值,但是应当理解,本文的实现包括其他规则结构和其它值。附加地,虽然示出了单个规则,但是应当理解,在实践中,该设计平台可以接收与数千个、数百万个等的规则相关联的信息。因此,本文中的一些实现允许基于可能不能由人类操作员实现的、可能容易出现实现错误等的这种大量规则来生成空隙信息。
如图1A并且由参考标号120进一步示出的,设计平台可以接收PCB设计信息。PCB设计信息可以包括与正被设计用于制造的PCB相关联的PCB设计文件或文件集。作为示例,PCB设计信息可以包括关联于与PCB相关联的分层集的分层信息、与该PCB的材料相关联的材料信息、与PCB的导电迹线相关联的导电迹线信息、与PCB的过孔相关联的过孔信息、和/或与PCB设计相关联的其它类型的信息。
如图所示,并且作为特定示例,PCB设计信息可以包括与差分过孔集相关联的信息。用户设备可以提供用于显示的PCB设计信息,使得正被设计的PCB可以以二维格式(例如,具有x坐标和y坐标)来被查看,和/或可以以三维格式(例如,具有x坐标、y坐标和z坐标)来被查看。如图所示,PCB设计信息可以以二维格式表示,该二维格式包括PCB的顶视图。
虽然特定的PCB设计信息被示出,但是应该理解,在实践中,PCB设计信息可以包括与数千个、数百万个等的过孔或PCB的其它结构相关联的信息,并且可以以其它格式来表示。
如图1B并且由参考标号130所示,设计平台可以比较空隙配置信息和PCB设计信息。例如,该设计平台可以解析PCB设计信息,并且标识与PCB设计信息相关联的过孔信息。另外,该设计平台可以比较该过孔信息和该空隙配置信息以确定要被生成的空隙信息。
作为特定示例,假定PCB设计信息包括过孔信息,该过孔信息标识差分过孔集穿过正在被设计的PCB的分层一到分层十,该差分过孔集将承载具有25Gb/s的信号速度的差分信号,等等。在这种情况下,设计平台可以确定该空隙配置信息的、适用于PCB设计信息(例如,过孔信息)的特定规则。例如,设计平台可以确定如图1A所示的规则适用于过孔信息。
如参考标号140所示,设计平台可以使用PCB设计信息来生成空隙信息,并且基于生成该空隙信息来执行动作。例如,设计平台可以使用PCB设计信息来生成空隙信息,使得该PCB设计信息包括与该过孔信息关联的空隙信息。换句话说,设计平台可以修改PCB设计信息以包括空隙信息,该空隙信息标识与正被设计的PCB相关联的空隙。如图所示,差分过孔集可以包括围绕该差分过孔集的空隙。
在一些实现中,空隙信息可以标识导电迹线不会与由空隙信息定义的区域相关联地被放置、被蚀刻等。参考图1B,导电迹线可以不被放置在与PCB设计信息相关联的示出的椭圆中。
在一些实现中,该动作可以对应于修改PCB设计信息,生成新的PCB设计文件,提供PCB设计信息以用于显示,向设备提供指令以使该PCB被制造等。
以此方式,本文中的一些实现减少与空隙信息生成相关联的错误,通过允许以提高的准确性将规则应用于PCB设计信息来提高PCB设计的准确性,减少与PCB设计相关联的时间量,减少PCB设计所需的计算资源等。
如以上所示,图1A和图1B仅作为示例被提供。其他示例是可能的,并且可以不同于关于图1A和图1B所描述的示例。
图2是在其中可以实现本文中所描述的系统和/或方法的示例环境200的示图。如图2所示,环境200可以包括用户设备210、设计平台220和网络230。环境200的设备可以经由有线连接、无线连接、或有线和无线连接的组合来互连。
用户设备210包括能够接收、生成、存储、处理和/或提供与设计平台220相关联的信息的一个或多个设备。例如,用户设备210可以包括设备,该设备诸如膝上型计算机、平板计算机、手持计算机、服务器设备、移动电话(例如,智能电话或无线电话)、或类似类型的设备。
设计平台220包括能够使用基于参数的规则集来生成空隙信息的一个或多个设备。在一些实现中,设计平台220可以被设计为模块化,使得某些软件组件可以取决于特定需求而被换入或换出。这样,可以容易地和/或快速地针对不同的用途重新配置设计平台220。
在一些实现中,如图所示,设计平台220可以被托管在云计算环境222中。显然地,虽然本文中描述的实施例描述了在云计算环境222中被托管的设计平台220,但是在一些实现中,设计平台220可以不是基于云的(即,可以在云计算环境之外被实现)或可以是部分基于云的。
云计算环境222包括托管设计平台220的环境。云计算环境222可以提供计算、软件、数据访问、存储等服务,这些服务不需要终端用户(例如,用户设备210)对设计平台220的系统和/或设备的物理位置和配置的知识。如图所示,云计算环境222可以包括一组计算资源224(统称为“计算资源224”并且个体地称为“计算资源224”)。
计算资源224包括一个或多个个人计算机、工作站计算机、服务器设备、或其它类型的计算和/或通信设备。在一些实现中,计算资源224可以包括托管设计平台220。云资源可以包括在计算资源224中执行的计算实例,在计算资源224中提供的存储设备,由计算资源224提供的数据传送设备等。在一些实现中,计算资源224可经由有线连接、无线连接、或有线连接和无线连接的组合来与其它计算资源224通信。
如图2中进一步示出的,计算资源224包括一组云资源,诸如,一个或多个应用(“APP”)224-1、一个或多个虚拟机(“VM”)224-2、虚拟化存储装置(“VS”)224-3、一个或多个管理程序(“HYP”)224-4等。
应用224-1包括可以被提供给用户设备210或由用户设备210访问的一个或多个软件应用。应用224-1可以消除在用户设备210上安装和执行软件应用程序的需要。例如,应用224-1可以包括与设计平台220相关联的软件和/或能够经由云计算环境222提供的任何其它软件。在一些实现中,一个应用224-1可以经由虚拟机224-2向一个或多个其它应用224-1发送信息或者从一个或多个其它应用224-1接收信息。
虚拟机224-2包括执行类似物理机器的程序的机器(例如,计算机)的软件实现。取决于用途和虚拟机224-2与任何真实机器的对应程度,虚拟机224-2可以是系统虚拟机或过程虚拟机。系统虚拟机可以提供支持完整操作系统(“OS”)的执行的完整系统平台。过程虚拟机可以执行单个程序,并且可以支持单个过程。在一些实现中,虚拟机224-2可以代表用户(例如,用户设备210)来执行,并且可以管理云计算环境222的基础设施(诸如,数据管理、同步或长时间数据传输)。
虚拟化存储装置224-3包括一个或多个存储系统和/或在计算资源224的存储系统或存储设备内使用虚拟化技术的一个或多个设备。在一些实现中,在存储系统的上下文中,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指从物理装置中抽象(或分离)逻辑存储装置,使得可以在不考虑物理存储装置或异构结构的情况下访问存储系统。该分离可以允许该存储系统的管理员在管理员如何针对终端用户管理存储方面的灵活性。文件虚拟化可以消除以文件级别被访问的数据和文件被物理地存储的位置之间的依赖性。这可以支持对存储使用、服务器整合、和/或非破坏性文件迁移的性能的优化。
管理程序224-4可以提供虚拟化技术,该虚拟化技术允许多个操作系统(例如,“客户操作系统”)并发地在主机计算机(诸如,计算资源224)上执行。管理程序224-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享被虚拟化的硬件资源。
网络230包括一个或多个有线网络和/或无线网络。例如,网络230可以包括蜂窝网络(例如,第五代(5G)网络、长期演进(LTE)网络、第三代(3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN))、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网(PSTN))、专用网、自组织网络、内联网、互联网、基于光纤的网络等,和/或这些或其它类型的网络的组合。
作为示例提供了图2中所示的设备和网络的数目和布置。在实践中,可能存在与图2中所示的那些相比附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同布置的设备和/或网络。更进一步地,图2中示出的两个或更多个设备可以在单个设备内被实现,或者图2中示出的单个设备可以被实现为多个分布式设备。附加地或备选地,环境200的设备集(例如,一个或多个设备)可以执行被描述为由环境200的另一设备集所执行的一个或多个功能。
图3是设备300的示例组件的示图。设备300可以与用户设备210、设计平台220和/或计算资源224相对应。在一些实现方式中,用户设备210、设计平台220和/或计算资源224可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储组件340、输入组件350、输出组件360和通信接口370。
总线310包括允许在设备300的组件之间的通信的组件。处理器320以硬件、固件、或硬件和软件的组合来被实现。处理器320采取中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、或另一类型的处理组件的形式。在一些实现中,处理器320包括一个或多个处理器,其能够被编程为执行功能。存储器330包括随机存取存储器(RAM)、只读存储器(ROM)、和/或存储信息和/或指令以供处理器320使用的另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器)。
存储组件340存储与设备300的操作和使用有关的信息和/或软件。例如,存储组件340可以包括硬盘(例如,磁盘、光盘、磁光盘、和/或固态盘)、紧凑盘(CD)、数字多功能盘(DVD)、软盘、盒式磁带、磁带、和/或另一类型的非瞬态计算机可读介质以及对应的驱动器。
输入组件350包括允许设备300诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、和/或麦克风)接收信息的组件。附加地或备选地,输入组件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速度计、陀螺仪和/或致动器)。输出组件360包括提供来自设备300的输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(LED))。
通信接口370包括类似收发器的组件(例如,收发器和/或单独的接收器和发射器),其使得设备300能够诸如经由有线连接、无线连接、或者有线和无线连接的组合来与其他设备通信。通信接口370可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备300可以执行本文中所描述的一个或多个过程。设备300可以基于处理器320执行由非瞬态计算机可读介质(诸如,存储器330和/或存储组件340)所存储的软件指令来执行这些过程。计算机可读介质在本文中被定义为非瞬态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或跨多个物理存储设备分布的存储器空间。
软件指令可以被经由通信接口370从另一计算机可读介质或者从另一设备读取到存储器330和/或存储组件340中。存储在存储器330和/或存储组件340中的软件指令当被执行时,可以引起处理器320执行本文中所描述的一个或多个过程。附加地或备选地,可以使用硬连线电路来代替软件指令或与软件指令结合来执行本文中所描述的一个或多个过程。因此,本文中所描述的实现不限于硬件电路和软件的任何特定组合。
作为示例提供了图3中所示的组件的数目和布置。在实践中,设备300可以包括与图3中所示的那些相比附加的组件、更少的组件、不同的组件或者不同布置的组件。附加地或备选地,设备300的组件集(例如,一个或多个组件)可以执行被描述为由设备300的另一组件集所执行的一个或多个功能。
图4是用于使用基于参数的规则集来生成空隙信息的示例过程400的流程图。在一些实现中,图4中的一个或多个过程框可由设计平台220来执行。在一些实现中,图4中的一个或多个过程框可以由与设计平台220分离或包括设计平台220的另一设备或一组设备来执行,诸如用户设备210。
如图4中所示,过程400可以包括接收空隙配置信息,该空隙配置信息标识参数集,以用于使用印刷电路板(PCB)设计信息来生成空隙信息(框410)。例如,设计平台220可以从用户设备210接收空隙配置信息,该空隙配置信息允许设计平台220使用PCB设计信息来生成空隙信息。
在一些实现中,设计平台220可以使用空隙配置信息,以使用PCB设计信息来生成空隙信息。在一些实现中,PCB设计信息可以指与PCB设计、布局、堆叠等相关联的信息。例如,PCB设计信息可以包括PCB设计文件、PCB设计文件集等。
在一些实现中,空隙配置信息可以指包括用于生成空隙信息的参数和/或规则集的信息。在一些实现中,空隙信息可以指与PCB设计信息相关联的信息,该空隙信息与空隙相关联。换句话说,空隙信息可以指定要包括空隙的PCB中的区域集。
在一些实现中,设计平台220可以从用户设备210接收空隙配置信息。例如,PCB工程师可以使用用户设备210来输入空隙配置信息,并且设计平台220可以基于该输入来接收该空隙配置信息。附加地或备选地,设计平台220可以接收标识空隙配置信息被存储的存储位置的信息,并且可以从该存储器位置取回该空隙配置信息。
附加地或备选地,设计平台220可以基于模型来生成空隙配置信息。例如,设计平台220可以接收包括已知PCB设计和已知空隙信息的信息,并且使用已知信息来训练模型。在一些实现中,设计平台220可以使用机器学习技术来分析数据(例如,训练数据,诸如历史数据等)和训练模型。机器学习技术可以包括,例如,受监督和/或无监督技术(诸如,人工网络、贝叶斯统计、学习自动机、隐马尔可夫(Hidden Markov)建模、线性分类器、二次分类器、决策树和关联规则学习等)。在一些实现中,设计平台220可以使用另一种计算机实现的技术(诸如,人工智能、机器感知或计算机视觉)以分析PCB设计信息并且生成空隙配置信息。
在一些实现中,空隙配置信息可以包括:在生成空隙信息时将要被使用的参数集和/或规则集。在一些实现中,参数可以包括与过孔相关联的信息,空隙信息将要针对该过孔来被生成。例如,参数可以包括标识过孔的类型的信息,诸如单个过孔、差分过孔,传输过孔、接收过孔、短管过孔(stub via),通孔、信号过孔,地过孔,盲孔,微过孔,埋入过孔,跳过孔,背钻过孔等。附加地或可选地,参数可以包括标识与过孔相关联的信号速度或信号速度范围的信息,诸如五千兆比特每秒(Gb/s)、二十五Gb/s、十Gb/s到二十Gb/s等。
在一些实现中,参数可以包括与过孔的尺寸相关联的信息,诸如直径,半径等。附加地或备选地,参数可以包括与球栅阵列(BGA)间距相关联的信息,该BGA间距与过孔集相关联。附加地或备选地,参数可以包括与由过孔穿过的分层集相关联的信息。
在一些实现中,参数可以包括与空隙相关联的信息。例如,参数可以包括空隙的尺寸,诸如直径、半径、宽度、长度等。附加地或备选地,参数可以包括与空隙的形状(诸如,圆形、椭圆形、正方形、矩形等)相关联的信息。
在一些实现中,参数可以包括与偏移相关联的信息,该偏移与空隙相关联。例如,偏移可以指在过孔的中心和空隙的中心之间的偏移。作为示例,零偏移可以指示与过孔相关联的中心将与空隙的中心对齐。
在一些实现中,参数可以包括与导电迹线到空隙距离相关联的信息。例如,导电迹线到空隙的距离可以标识最小距离,导电迹线可以以该最小距离与空隙相关联地放置。作为示例,导电迹线到空隙的距离为1(例如,毫米)的值可以标识铜迹线可以被放置在距空隙为1毫米的距离。
在一些实现中,参数可以包括与PCB的分层集相关联的信息,其中空隙将针对该分层集而被放置。例如,空隙信息可以针对PCB的分层中的一些或全部分层来被生成。
在一些实现中,空隙配置信息可以以规则的形式。例如,规则可以指定特定的过孔信息和特定的空隙信息。作为示例,规则可以包括以下格式:
VOID2VIA=<Dia>:<Offset>:<Geo>(:<Cline2Void>:<Layers>)。
在这种情况下,“VOID_2VIA”可以标识将要针对过孔的差分对而生成的空隙信息,“Dia”可以指该空隙的直径,“Offset”可以指该空隙的偏移值,“Cline2Void”可以指导电迹线到空隙的距离值,并且“Layers”可以标识数个分层,空隙信息将要针对该数个分层来被生成。
作为示例,规则的特定实例可以包括以下值:
_30G_:VOID_2VIA:BGA-1MM=30:0:Oval:2:-1
在这种情况下,“30G”可以标识空隙信息将要针对承载具有三十(30)Gb/s的信号速度的信号的过孔来被生成,“BGA-1MM”可以标识空隙信息将要针对具有1毫米的BGA间距的过孔来被生成,“0”可以标识偏移值为零,“Oval”可以标识该空隙将包括橄榄形,“2”可以标识导电迹线到空隙的距离为2毫米,并且“-1”可以标识该空隙将要针对PCB的每个分层来被生成。虽然本文中描述了特定的规则格式和特定规则,应当理解,其他实现包括其他规则格式和其他规则值。
在一些实现中,设计平台220可以接收与数百个、数千个、数百万个等规则相关联的信息。由此,设计平台220可以应用PCB工程师可能不能应用、可能容易错误地应用等的数个规则。
以此方式,设计平台220可以接收空隙配置信息,并且可以接收PCB设计信息,如以下所描述的。
如图4中进一步所示,过程400可以包括接收PCB设计信息(框420)。例如,设计平台220可以接收在生成空隙信息时将要被使用的PCB设计信息。
在一些实现中,设计平台220可以从用户设备210接收PCB设计信息。附加地或备选地,设计平台220可以接收标识PCB设计信息被存储的存储器位置的信息,并且可以从该存储器位置取回该PCB设计信息。
在一些实现中,PCB设计信息可以指与PCB的设计相关联的信息,其允许PCB被制造等。例如,PCB设计信息可以包括设计文件或设计文件集。在一些实现中,PCB设计信息可以能够与各种类型的PCB设计软件相关联地被使用。
在一些实现中,PCB设计信息可以包括PCB的设计,该PCB包括过孔集。例如,PCB设计可以包括数千个、数百万个等的过孔。这样,与过孔相关联的空隙的手动配置可能证明是不可能的、不现实的、易出错的、耗时的、主观的等。
以此方式,设计平台220可以解析PCB设计信息,并且将该空隙配置信息和该PCB设计信息进行比较,如以下所描述的。
如图4中进一步示出的,过程400可以包括比较空隙配置信息和PCB设计信息(框430),并且基于比较该空隙配置信息与该PCB设计信息使用该PCB设计信息来生成该空隙信息(框440)。例如,设计平台220可以比较与空隙配置信息相关联的规则集和该PCB设计信息,并且可以基于该比较来生成与该PCB设计信息相关联的空隙信息。
在一些实现中,设计平台220可以解析PCB设计信息,并且标识针对其将生成空隙信息的过孔信息。例如,PCB设计信息可以包括标识PCB的过孔的过孔信息,诸如过孔的类型、过孔的尺寸、过孔所穿过的分层等。在一些实现中,设计平台220可以针对PCB的每个过孔来生成空隙信息,如在PCB设计信息中所标识的。在实践中,PCB设计信息可以包括数千个、数百万个等的过孔、和/或将针对其生成空隙的其它部件。这样,本文中描述的一些实现减少了与生成空隙信息相关联的错误,减少与生成空隙信息相关联的时间量等。
在一些实现中,设计平台220可以比较过孔信息和与空隙配置信息相关联的规则集,该过孔信息标识将针对其生成空隙信息的过孔。附加地或备选地,设计平台220可以标识规则集中的特定规则,该特定规则适用于该过孔信息。附加地或备选地,设计平台220可以基于该特定规则来标识空隙信息中的参数集。即,设计平台220可以确定与该空隙信息相关联的尺寸、与该空隙信息相关联的形状、与该空隙信息相关联的分层集等。
在一些实现中,设计平台220可生成空隙信息。例如,设计平台220可以通过修改PCB设计信息(例如,以包括空隙信息),通过生成新文件或文件集等来生成空隙信息。
在实践中,设计平台220可以针对数千个、数百万个等的数据项来生成空隙信息,这些数据项对应于相应的过孔信息。以此方式,设计平台220可生成空隙信息,并且基于生成该空隙信息来执行动作,如以下所描述的。
如图4中进一步示出的,过程400可以包括基于生成空隙信息来执行动作(框450)。例如,设计平台220可以基于生成空隙信息来自动执行动作。
在一些实现中,该动作可以对应于修改PCB设计信息。例如,设计平台220可以修改与框420相关联地被接收的PCB设计信息,以基于生成空隙信息来包括空隙信息。附加地或备选地,该动作可以对应于生成新的PCB设计信息。例如,设计平台220可以生成PCB设计文件,该PCB设计文件不同于与框420相关联地被接收的PCB设计文件。
在一些实现中,该动作可以对应于向另一设备发送通知。例如,设计平台220可以向用户设备210提供通知,该通知标识该空隙信息被生成。附加地或备选地,设计平台220可以向与PCB制造相关联的设备提供指令,以使用包括该空隙信息的PCB设计信息来引起PCB的制造。
在一些实现中,设计平台220可以接收标识对空隙信息的修改的反馈信息。例如,使用用户设备210的PCB工程师可以修改与框440相关联地被生成的空隙信息。在这种情况下,设计平台220可以接收与该修改相关联的信息,并且可以更新空隙配置信息,可以更新模型等。以此方式,在本文中描述的一些实现通过利用反馈信息提高了空隙信息生成的准确性。
虽然图4示出了过程400的示例框,但是在一些实现中,过程400可以包括附加的框、较少的框、不同的框、或与图4中所描绘那些被不同地布置的框。附加地或备选地,可以并行地执行过程400的框中的两个框或更多个框。
本文中描述的一些实现允许设计平台使用空隙配置信息和PCB设计信息来自动生成空隙信息。以此方式,本文中描述的一些实现减少了与空隙信息生成相关联的错误,减少了与空隙信息生成相关联的时间量,保存了涉及PCB设计的与设备相关联的计算资源等。
前面的公开内容提供了说明和描述,但是并非旨在穷举或将实现限制到所公开的精确形式。鉴于上述公开内容,修改和变型是可能的,或者可以从对实现的实践中获得。
如本文中所使用的,术语“组件”旨在被广义地解释为硬件、固件、和/或硬件和软件的组合。
将是明显的,本文中所描述的系统和/或方法可以以不同形式的硬件、固件、或硬件和软件的组合来被实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不是对实现的限制。因此,本文中描述了系统和/或方法的操作和动作,而没有参考具体软件代码——应当理解,软件和硬件可以被设计为基于本文中的描述来实现系统和/或方法。
尽管特征的特定组合被记载在权利要求中和/或在说明书中被公开,但是这些组合不旨在限制可能实现的公开内容。实际上,这些特征中的许多特征可以以未在权利要求中具体记载和/或在说明书中公开的方式被组合。虽然下文所列出的每个从属权利要求可能仅直接从属于一项权利要求,但是可能实现的公开内容包括每个从属权利要求与权利要求集合中的每个其他权利要求的组合。
除非明确地如此描述,否则本文中使用的任何元件、动作或指令都不应被解释为关键或必要的。此外,如本文中所使用的,冠词“一”和“一个”旨在包括一个或多个项,并且可以与“一个或多个”互换使用。更进一步地,如本文中所使用的,术语“集”旨在包括一个或多个项(例如,相关项、不相关项、相关项和不相关项的组合等),并且可以与“一个或多个”互换使用。在旨在仅一项的情况下,使用术语“一个”或类似语言。此外,如本文中所使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在是开放式术语。进一步地,除非另有明确指明,否则短语“基于”旨在意指“至少部分地基于”。
Claims (20)
1.一种用于生成印刷电路板空隙信息的设备,包括:
存储器;以及
一个或多个处理器,用于:
接收空隙配置信息,所述空隙配置信息标识规则集,以用于基于印刷电路板PCB设计信息来生成空隙信息;
基于接收所述空隙配置信息,来接收所述PCB设计信息,所述PCB设计信息标识PCB的过孔信息;
基于接收所述PCB设计信息,来比较与所述空隙配置信息相关联的所述规则集和与所述PCB设计信息相关联的所述过孔信息;
基于比较与所述空隙配置信息相关联的所述规则集和与所述PCB设计信息相关联的所述过孔信息,来生成所述空隙信息;
所述空隙信息包括与将要被包括在所述PCB设计中的空隙集相关联的参数集;以及
基于生成所述空隙信息来执行动作。
2.根据权利要求1所述的设备,其中所述一个或多个处理器还用于:
确定所述过孔信息标识所述PCB的过孔的类型;以及
基于标识所述PCB的过孔的所述类型的所述过孔信息,来生成所述空隙信息。
3.根据权利要求1所述的设备,其中所述一个或多个处理器还用于:
确定所述过孔信息标识与所述PCB的过孔相关联的信号速度;以及
基于标识与所述PCB的所述过孔相关联的所述信号速度的所述过孔信息,来生成所述空隙信息。
4.权利要求1所述的设备,其中与所述空隙配置信息相关联的所述规则集包括标识与空隙相关联的形状的规则;并且
其中所述一个或多个处理器还用于:
基于与所述空隙相关联的所述形状,来生成所述空隙信息。
5.根据权利要求1所述的设备,其中与所述空隙配置信息相关联的所述规则集包括标识与空隙相关联的尺寸集的规则;并且
其中所述一个或多个处理器还用于:
基于与所述空隙相关联的所述尺寸集,来生成所述空隙信息。
6.根据权利要求1所述的设备,其中所述一个或多个处理器还用于:
确定所述过孔信息标识所述PCB的分层集,所述过孔信息与所述PCB的过孔相关联;以及
基于标识所述分层集的所述过孔信息来生成所述空隙信息。
7.根据权利要求1所述的设备,其中所述一个或多个处理器还用于:
标识与所述空隙配置信息相关联的所述规则集中的规则;以及
基于所述规则来生成所述空隙信息。
8.一种存储指令的非瞬态计算机可读介质,所述指令包括:
一个或多个指令,当被一个或多个处理器执行时,引起所述一个或多个处理器:
接收空隙配置信息,所述空隙配置信息标识规则集,以用于基于印刷电路板PCB设计信息来生成空隙信息;
基于接收所述空隙配置信息,来接收所述PCB设计信息,所述PCB设计信息标识PCB的过孔信息;
基于接收所述PCB设计信息,来比较与所述空隙配置信息相关联的所述规则集和与所述PCB设计信息相关联的所述过孔信息;
基于比较与所述空隙配置信息相关联的所述规则集和与所述PCB设计信息相关联的所述过孔信息,来生成所述空隙信息;
所述空隙信息包括与将要被包括在所述PCB设计中的空隙集相关联的参数集;以及
基于生成所述空隙信息来执行动作。
9.根据权利要求8所述的非瞬态计算机可读介质,其中所述指令还包括:
一个或多个指令,当被所述一个或多个处理器执行时,引起所述一个或多个处理器:
确定所述过孔信息标识所述PCB的过孔的类型;以及
基于标识所述PCB的过孔的所述类型的所述过孔信息,来生成所述空隙信息。
10.根据权利要求8所述的非瞬态计算机可读介质,其中所述指令还包括:
一个或多个指令,当被所述一个或多个处理器执行时,引起所述一个或多个处理器:
确定所述过孔信息标识与所述PCB的过孔相关联的信号速度;以及
基于标识与所述PCB的所述过孔相关联的所述信号速度的所述过孔信息,来生成所述空隙信息。
11.根据权利要求8所述的非瞬态计算机可读介质,其中与所述空隙配置信息相关联的所述规则集包括标识空隙的形状的规则;并且
所述指令还包括:
一个或多个指令,当被所述一个或多个处理器执行时,引起所述一个或多个处理器:
基于所述空隙的所述形状来生成所述空隙信息。
12.根据权利要求8所述的非瞬态计算机可读介质,其中与所述空隙配置信息相关联的所述规则集包括标识与空隙相关联的尺寸集的规则;并且
所述指令还包括:
一个或多个指令,当被所述一个或多个处理器执行时,引起所述一个或多个处理器:
基于与所述空隙相关联的所述尺寸集,来生成所述空隙信息。
13.根据权利要求8所述的非瞬态计算机可读介质,其中与所述空隙配置信息相关联的所述规则集包括标识与空隙相关联的偏移值的规则;并且
所述指令还包括:
一个或多个指令,当被所述一个或多个处理器执行时,引起所述一个或多个处理器:
基于与所述空隙相关联的所述偏移值,来生成所述空隙信息。
14.根据权利要求8所述的非瞬态计算机可读介质,其中所述指令还包括:
一个或多个指令,当被所述一个或多个处理器执行时,引起所述一个或多个处理器:
修改所述PCB设计信息,以包括所述空隙信息;以及
基于修改所述PCB设计信息以包括所述空隙信息,来执行所述动作。
15.一种用于生成印刷电路板空隙信息的方法,包括:
由设备接收空隙配置信息,所述空隙配置信息标识规则集,以用于基于印刷电路板PCB设计信息来生成空隙信息;
由所述设备基于接收所述空隙配置信息来接收所述PCB设计信息,所述PCB设计信息标识PCB的过孔信息;
由所述设备基于接收所述PCB设计信息,来比较与所述空隙配置信息相关联的所述规则集和与所述PCB设计信息相关联的所述过孔信息;
由所述设备基于比较与所述空隙配置信息相关联的所述规则集和与所述PCB设计信息相关联的所述过孔信息,来生成所述空隙信息;
所述空隙信息包括与将要被包括在所述PCB设计中的空隙集相关联的参数集;以及
由所述设备基于生成所述空隙信息来执行动作。
16.根据权利要求15所述的方法,还包括:
修改所述PCB设计信息,以包括所述空隙信息;以及
基于修改所述PCB设计信息以包括所述空隙信息,来执行所述动作。
17.根据权利要求15所述的方法,还包括:
接收标识与将要被生成的空隙相关联的形状的信息;以及
基于标识与将要被生成的所述空隙相关联的所述形状的所述信息,来生成所述空隙信息。
18.根据权利要求15所述的方法,还包括:
接收标识所述PCB的分层的数目的信息;以及
基于标识所述PCB的分层的数目的所述信息,来生成所述空隙信息。
19.根据权利要求15所述的方法,还包括:
确定所述过孔信息标识所述PCB的过孔的数目;以及
基于标识所述PCB的所述过孔的数目的所述过孔信息,来生成所述空隙信息。
20.根据权利要求15所述的方法,还包括:
确定标识所述PCB的过孔的类型的所述过孔信息;以及
基于标识所述PCB的过孔的所述类型的所述过孔信息,来生成所述空隙信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/845,784 US10474785B2 (en) | 2017-12-18 | 2017-12-18 | Printed circuit board void information generation using parameter-based rule sets |
US15/845,784 | 2017-12-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933832A CN109933832A (zh) | 2019-06-25 |
CN109933832B true CN109933832B (zh) | 2021-02-02 |
Family
ID=66815181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811532142.7A Active CN109933832B (zh) | 2017-12-18 | 2018-12-14 | 使用基于参数的规则集的印刷电路板空隙信息生成 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10474785B2 (zh) |
CN (1) | CN109933832B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113050389B (zh) * | 2021-03-30 | 2022-12-02 | 长鑫存储技术有限公司 | 光刻工艺条件添加方法及装置、设计系统、介质和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582094A (zh) * | 2008-05-14 | 2009-11-18 | 英业达股份有限公司 | 通孔布设系统及方法 |
CN101996264A (zh) * | 2009-08-19 | 2011-03-30 | 英业达股份有限公司 | 电路板布线方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526972A (zh) * | 2009-04-21 | 2009-09-09 | 上海闻泰电子科技有限公司 | 一种电路板的设定装置及方法 |
TW201337612A (zh) * | 2012-03-08 | 2013-09-16 | Hon Hai Prec Ind Co Ltd | 電路板電氣規則設置系統及方法 |
US8595667B1 (en) * | 2012-10-26 | 2013-11-26 | Freescale Semiconductor, Inc. | Via placement and electronic circuit design processing method and electronic circuit design utilizing same |
CN106211579B (zh) * | 2016-06-28 | 2019-03-19 | Oppo广东移动通信有限公司 | 移动终端的pcb的走线系统、方法和计算机设备 |
US11042683B2 (en) * | 2016-07-22 | 2021-06-22 | Hewlett Packard Enterprise Development Lp | Void avoidance verifications for electronic circuit designs |
US11308294B2 (en) * | 2016-10-27 | 2022-04-19 | Datalogic Usa, Inc. | Data reader with view separation optics |
-
2017
- 2017-12-18 US US15/845,784 patent/US10474785B2/en active Active
-
2018
- 2018-12-14 CN CN201811532142.7A patent/CN109933832B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582094A (zh) * | 2008-05-14 | 2009-11-18 | 英业达股份有限公司 | 通孔布设系统及方法 |
CN101996264A (zh) * | 2009-08-19 | 2011-03-30 | 英业达股份有限公司 | 电路板布线方法 |
Also Published As
Publication number | Publication date |
---|---|
US10474785B2 (en) | 2019-11-12 |
US20190188355A1 (en) | 2019-06-20 |
CN109933832A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109286653B (zh) | 智能云工程平台 | |
US8949102B2 (en) | Method and system for power delivery network analysis | |
US9449140B2 (en) | Conflict detection for self-aligned multiple patterning compliance | |
US9858373B2 (en) | In-cycle resource sharing for high-level synthesis of microprocessors | |
JP7046308B2 (ja) | Edaパッドパッケージライブラリの更新/応用方法、システム、媒体及び端末 | |
US10812988B1 (en) | Method and device for mapping ports of a network device | |
US20140173543A1 (en) | Parasitic extraction in an integrated circuit with multi-patterning requirements | |
US9298872B2 (en) | Apportioning synthesis effort for better timing closure | |
US10180996B2 (en) | Multi-component computational fluid dynamics simulations | |
US9817639B2 (en) | Computational design method and interface | |
EP3776280A1 (en) | Multi-tier co-placement for integrated circuitry | |
US10140399B2 (en) | Corner database generator | |
US10311189B2 (en) | Simulation method and simulation apparatus | |
CN109933832B (zh) | 使用基于参数的规则集的印刷电路板空隙信息生成 | |
Montone et al. | Wirelength driven floorplacement for FPGA-based partial reconfigurable systems | |
US10896283B1 (en) | Noise-based optimization for integrated circuit design | |
US10176288B1 (en) | System and method for placing components in an electronic circuit design | |
CN113518060A (zh) | 自动调谐虚拟防火墙 | |
US20130239078A1 (en) | Optimizing timing critical paths by modulating systemic process variation | |
Alonso | FPGAs in Data Centers: FPGAs are slowly leaving the niche space they have occupied for decades. | |
US10289775B1 (en) | Systems and methods for assigning clock taps based on timing | |
CN106934122B (zh) | 一种加速生成版图中导体图形连接关系的方法 | |
EP3195158B1 (en) | Parallel processing using a bottom-up approach | |
US11625525B1 (en) | Grouping cells in cell library based on clustering | |
Montone et al. | Floorplacement for Partial Reconfigurable FPGA‐Based Systems |
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 |