掌桥专利:专业的专利平台
掌桥专利
首页

机电多板组装协作

文献发布时间:2024-04-18 19:58:53


机电多板组装协作

技术领域

本申请总体上涉及电子设计自动化,更具体地,涉及机电多板组装和放置协作。

背景技术

带有印刷电路板的电子装置的开发通常涉及许多步骤,称为设计流程。这种设计流程通常始于要用印刷电路板实施的新电路的规范。新电路的规范可以转换为电路设计(例如网表),例如,通过原理图捕获工具或通过合成逻辑电路设计(有时也称为电路的寄存器传输级(Register Transfer Level,RTL)描述)来转换为电路设计。通常以电子数字交换格式(Electronic Digital Exchange Format,EDIF)指定的网表可以描述电路设计中各种装置或实例之间的网络或连接性。

设计流程通过验证电路设计的功能(例如通过模拟或仿真所述电路设计并验证模拟或仿真的结果与从电路设计的预期输出相对应)来继续。还可以通过静态地检查电路设计的各种属性来验证功能,这些属性在利用电路设计的电子装置构建的操作期间可能存在问题。

一旦电路设计在功能上得到验证,设计流程继续进行设计布局和布线,其包括将各种部件或零件放置到印刷电路板的布局表示中并将其互连。该过程可以以多种不同的方式实施,但通常通过使用布局工具来实施,该布局工具可以呈现印刷电路板的图形视图,并且允许设计者将零件从库拖动或放置到印刷电路板的布局表示上。布局工具可以对电子装置进行验证,并对放置的零件执行各种设计规则检查,以确保电子装置能够被有效地构建。

由于产品内会包含许多在印刷电路板上制造的电子装置,因此印刷电路板的布局可能受到约束,以确保产品能够被有效地制造。例如,产品的工业或机械设计可以限定可用于将电子装置容纳在产品中的空间。由于产品的空间限制,设计团队通常使用多个印刷电路板来实施电子装置,这些印刷电路板通常具有相对于彼此和产品外壳的空间受限的配置。

设计团队通常隔离针对用于实施电子装置的印刷电路板的每个布局的开发,然后临时解决所开发的印刷电路板布局之间的任何不协调性。单独的设计小组可以各自收集与产品的工业或机械设计对应的机械约束条件和单独开发的其他印刷电路板的物理约束条件,然后使用这些约束条件分别验证它们的印刷电路板布局设计。为了协调不同电路板上的部件之间的物理冲突,例如,当以夹层配置布置时,设计团队通常会构建印刷电路板布局的模型或对其进行三维打印,以确定印刷电路板的布局设计是否可以用于实施产品内部的电子装置,而不会出现物理重叠。设计团队还可以利用收集到的约束条件,手动解决不同的印刷电路板布局之间的不同电气需求。例如,由于印刷电路板上的某些部件或电线可能具有足够的电压,如果它们放置得太靠近其他电子或金属外壳结构,会导致安全问题,则设计团队可以单独审查由其他设计团队开发的印刷电路板布局设计,以识别出具有那些电压电平的部件,然后主观地在其自己的布局设计中将部件间隔开,以避免整体设计中的安全问题。这些避免物理不协调性和安全问题的临时措施可能导致隔离的设计团队不得不反复生成其相应的布局设计,直到问题得到解决。

发明内容

本申请公开了一种实施将虚拟产品模型分发给多个印刷电路板布局工具的共享管理系统的计算系统。虚拟产品模型可以各自对应于共享产品模型,该共享产品模型描述了具有电子装置(其带有多个印刷电路板)的产品。印刷电路板布局工具分别修改对应的虚拟产品模型,以生成针对产品中的多个印刷电路板的布局设计,并且基于针对多个印刷电路板的布局设计中的至少一者中的约束条件,生成描述针对电子装置的物理限制的至少一个系统级设计规则。共享管理系统可以至少部分地基于印刷电路板布局工具对虚拟产品模型中的至少一者的修改来更新共享产品模型,并且当更新后的共享产品模型与该至少一个系统级设计规则中描述的针对电子装置的物理限制冲突时,向印刷电路板布局工具中的至少一者传输通知。下面将更详细地描述实施例。

附图说明

图1和图2示出了可用于实施各种实施例的类型的计算机系统的示例。

图3示出了根据各种实施例的具有共享管理系统的设计系统的示例。

图4示出了根据各种实施例的印刷电路板布局工具的示例。

图5示出了根据各种实施例的具有多个印刷电路板的产品的产品级设计的集中管理的示例流程图。

图6示出了根据各种实施例的在产品级设计环境中通过印刷电路板布局工具进行集中协作的示例流程图。

具体实施方式

示例性操作环境

各种示例可以通过计算装置101(例如可编程计算机)执行软件指令来实施。相应地,图1示出了计算装置101的示例性示例。如该图中所示,计算装置101包括具有处理器单元105和系统存储器107的计算单元103。处理器单元105可以是用于执行软件指令的任何类型的可编程电子装置,但传统上将是微处理器。系统存储器107可以包括只读存储器(Read-Only Memory,ROM)109和随机存取存储器(Random Access Memory,RAM)111。本领域普通技术人员将理解,只读存储器(ROM)109和随机存取存储器(RAM)111均可存储用于由处理器单元105执行的软件指令。

处理器单元105和系统存储器107通过总线113或备选通信结构直接或间接地连接至一个或多个外围装置115至123。例如,处理器单元105或系统存储器107可以直接或间接地连接至一个或多个附加的存储器存储装置,例如硬盘驱动器117(其可以是磁性的和/或可移动的)、可移动的光盘驱动器119和/或闪存卡。处理器单元105和系统存储器107也可以直接或间接地连接至一个或多个输入装置121和一个或多个输出装置123。输入装置121例如可以包括键盘、指点装置(如鼠标、触摸板、触笔、轨迹球或操纵杆)、扫描器、摄像头和麦克风。输出装置123可以包括,例如,显示器显示器、打印机和扬声器。在计算装置101的各种示例中,一个或多个外围装置115-123可以与计算单元103一起容纳在内部。可替代地,一个或多个外围装置115-123可以在计算单元103的外壳的外部,并且通过例如通用串行总线(Universal Serial Bus,USB)连接到总线113。

在一些实施方式中,计算单元103可以直接或间接地连接至网络接口115,用于与构成网络的其他装置进行通信。网络接口115可以根据一个或多个通信协议,如传输控制协议(Transmission Control Protocol,TCP)和互联网协议(Internet Protocol,IP),将来自计算单元103的数据和控制信号转换为网络消息。此外,网络接口115可以使用任何合适的连接代理(或代理的组合)连接到网络,例如,包括无线收发器、调制解调器或以太网连接。这种网络接口和协议是本领域熟知的,因此在此不再详细讨论。

应当理解的是,计算装置101仅作为示例进行了说明,而不是意在进行限制。可以使用包括图1所示的计算装置101的部件的一个或多个计算装置来实施各种实施例,所述计算装置101仅包括图1所示的部件的子集,或者包括部件的备选组合,包括未在图1中示出的组装。例如,可以使用多处理器计算机、布置成网络的多个单处理器和/或多处理器计算机或两者的某些组合来实施各种实施例。

在一些实施方式中,处理器单元105可以具有多个处理器核心。相应地,图2示出了可以用于各种实施例的多核处理器单元105的示例。如图所示,处理器单元105包括多个处理器核心201A和201B。每个处理器核心201A和201B分别包括计算引擎203A和203B,以及存储器缓存205A和205B。如本领域普通技术人员所知,计算引擎203A和203B可以包括用于执行各种计算功能(例如,获取软件指令,然后执行在获取的指令中指定的动作)的逻辑装置。这些动作可以包括,例如,加、减、乘和比较数字,执行逻辑运算,例如AND、OR、NOR和XOR,以及检索数据。然后,每个计算引擎203A和203B可以分别使用其对应的存储器缓存205A和205B来快速存储和检索数据和/或指令以用于执行。

每个处理器核心201A和201B与互连207连接。互连207的特定结构可以根据所述处理器单元105的架构而变化。通过一些处理器核心201A和201B,例如由索尼公司、东芝公司和IBM公司创建的Cell微处理器,互连207可以实施为互连总线。然而,对于其他处理器单元201A和201B,例如Opteron

机电多板组装和放置协作

图3示出了根据各种实施例的包括共享管理系统340的设计系统300的示例。参见图3,设计系统300可以是分布式设计环境,其允许不同的通信工具或系统执行产品设计的不同方面。例如,设计系统300可以包括机械系统310,用于开发产品的机械组装设计312,以及多个印刷电路板布局工具320-1至320-N,用于各自开发针对电子装置的不同印刷电路板的板组装设计,所述电子装置可以包括在产品中。设计系统300中的共享管理系统340可以生成共享产品模型341,该共享产品模型341将来自机械系统310的机械组装设计312和来自印刷电路板布局工具320-1至320-N的板组装设计聚合为产品级表示,以供印刷电路板布局工具320-1至320-N在分布式设计环境中的产品开发期间使用。

机械系统310可以向设计系统300中的共享管理系统340提供机械组装设计312。机械组装设计312可以描述与产品相关联的各种物理设计元素,例如产品外壳的设计。在一些示例中,所述外壳的设计可以包括一个或多个电子系统的位置和尺寸以及物理接口,例如显示装置、触摸屏、图像捕获装置、输入/输出装置、电端口、音频装置等。机械组装设计312还可以描述用于物理接口和一个或多个电子系统的物理安装信息,描述物理接口和一个或多个电子系统彼此之间以及与产品外壳的物理连接,描述产品中存在机械散热装置等。

机械系统310可以在设计过程期间的任意点处向共享管理系统340提供机械组装设计312,例如,通过以STEP(Standard for the Exchange of Product model data,用于交换产品模型数据的标准)和/或SAT(Standard ACIS Text,标准ACIS文本)文件的形式交换设计文件来提供。在一些实施例中,STEP文件的格式可以在(InternationalOrganization for Standardization,国际标准化组织)ISO 10303-21,标题为“Industrial automation systems and integration--Product data representationand exchange--Part 21:Implementation methods:Clear text encoding of theexchange structure”(“工业自动化系统和集成——产品数据表示和交换——第21部分:实施方法:交换结构的明文编码”)中定义。

共享管理系统340可以包括共享产品模型系统342,用于生成共享产品模型341,共享产品模型341将来自机械系统310的机械组装设计312和来自印刷电路板布局工具320-1至320-N的板组装设计聚合到产品级表示中。当从机械系统310接收到的机械组装设计312对应于之前接收到的机械组装设计312版本的更新时,共享产品模型系统342可以基于从机械系统312接收到的机械组装设计312中的更新来更新共享产品模型341。在一些实施例中,共享产品模型系统342可以在设计过程期间的任意点处向机械系统310提供共享产品模型341,例如,通过以STEP(用于交换产品模型数据的标准)和/或SAT(标准ACIS文本)文件的形式交换设计文件来提供。

共享产品模型系统342可以将共享产品模型341作为虚拟产品模型343分发给印刷电路板布局工具320-1至320-N。虚拟产品模型343和共享产品模型341都可以描述由设计系统300开发的具有电子装置(其带有多个印刷电路板)的产品。印刷电路板布局工具320-1至320-N可以在板组装设计的生成过程期间使用虚拟产品模型343,该板组装设计根据在印刷电路板的表示上放置和互连的各种部件来描述用于产品的电子装置的不同印刷电路板。在一些实施例中,印刷电路板布局工具320-1至320-N可以修改虚拟产品模型343以建议改变机械组装设计312,包括一个或多个印刷电路板在产品中的位置。印刷电路板布局工具320-1至320-N可以向共享管理系统340提供对机械组装设计312的建议的改变,机械组装设计312可以例如通过传输以STEP和/或SAT文件的形式的一个或多个设计文件,将建议的改变传输到机械系统310。

印刷电路板布局工具320-1至320-N可各自提供设计环境,允许例如通过将来自零件列表304中的零件或部件放置到印刷电路板的表示中,将对应的电路设计302布局到板组装设计中。印刷电路板布局工具320-1至320-N可以修改虚拟产品模型343以包括由印刷电路板布局工具320-1至320-N开发或正在开发的板组装设计,并将这些修改345提供给共享管理系统340。

印刷电路板布局工具320-1至320-N可以对板组装设计执行各种设计规则检查,以确定板组装设计中的更新是否违反任何设计规则。例如,印刷电路板布局工具320可以审查放置在印刷电路板的表示中的部件模型的位置和特征,以确定所放置的部件模型是否符合设计规则。印刷电路板布局工具320-1至320-N可以更新印刷电路板的表示,例如,用于说明迹线的选定部分或路线的放置,并突出显示放置是否符合或缺乏至少一种设计规则,这可以由显示装置显示或呈现。

虚拟产品模型343可以包括系统级设计规则,这些规则表示机械组装设计312或板组装设计中的对印刷电路板布局工具320-1至320-N开发电子装置施加的一个或多个约束条件。系统级设计规则可对应于机械组装设计312或板组装设计中与物理约束条件相关联的物理限制。例如,当电子装置中的两个印刷电路板具有夹层配置时,即,其中印刷电路板具有平行取向,其部件彼此面对时,在其中一个印刷电路板的布局设计中放置一个部件会对另一印刷电路板上的部件的高度造成限制。在另一个示例中,在其中一个印刷电路板的布局设计中放置较高电压的部件会对电子装置中的其他印刷电路板上的其他部件造成距离限制,以避免印刷电路板之间的电压跳变带来的安全相关问题。虚拟产品模型343可包括与机械组装设计312和开发板组装设计中施加的物理限制相对应的系统级设计规则。

印刷电路板布局工具320-1至320-N可以使用正在开发的板组装设计分别修改对应的虚拟产品模型343,并将修改345提供给共享管理系统340。在一些实施例中,印刷电路板布局工具320-1至320-N中的一者可以识别出何时正在开发的板组装设计中的一个或多个部分将限制印刷电路板布局工具320-1至320-N中的另一者的开发,并修改虚拟产品模型343以包括用于开发的板组装设计的新系统级设计规则。由于在其相应的板组装设计的单独开发过程期间,虚拟产品模型343能够向印刷电路板布局工具320-1至320-N提供产品级表示,因此,印刷电路板布局工具320-1至320-N中的每一者能够更改与由不同的印刷电路板布局工具320-1至320-N正在开发的板组装设计对应的虚拟产品模型343。例如,印刷电路板布局工具320-1可以确定要对由印刷电路板布局工具320-N正在开发的电路板组装设计进行的修改345,选定板组装设计中的部件或一部分,然后识别出所述选定的部件或部分的更改,例如更改放置位置、旋转选定的部件或部分等。印刷电路板布局工具320-1可以利用所识别出的更改作为对该板组装设计的建议的改变,印刷电路板布局工具320-1可以将其作为修改345中的一者输出到虚拟产品模型343。共享产品模型系统342可以基于从印刷电路板布局工具320-1至320-N中的一者或多者接收到的修改345来更新共享产品模型341,在一些实施例中,共享产品模型系统342还可以识别出修改345中的建议的改变,并在一个或多个通知消息347中将这些建议的改变提供给相应的印刷电路板布局工具320-1至320-N,其中,印刷电路板布局工具320-1至320-N可以直观地显示建议的修改,以供设计者考虑和/或实施。

在一些实施例中,共享管理系统340可以包括验证系统344,以基于系统级设计规则对共享产品模型341执行一个或多个设计规则检查。验证系统344可以通过将系统级设计规则施加的各种物理限制与通过修改345更新的共享产品模型341进行比较来执行设计规则检查。当其中一个或多个修改345违反现有的系统级设计规则,或者当新的系统级设计规则对共享产品模型341的另一部分(例如另一个板组装设计或机械组装设计312)造成冲突或限制时,验证系统344可以识别出来。

共享管理系统340包括协作系统346,用于为印刷电路板布局工具320-1至320-N以及可选的机械系统310生成通知消息347。在一些实施例中,通知消息347可以指示共享产品模型341的新版本已可作为虚拟产品模型343分发给印刷电路板布局工具320-1至320-N。通知消息347可识别出由印刷电路板布局工具320-1至320-N中的一者正在开发的板组装设计和新版本的共享产品模型341的冲突。在一些实施例中,通知消息347可以指示在新版本的共享产品模型341中存在冲突的板组装设计的一部分,并且可能建议可以解决冲突的对板组装设计的修改。如上所述,通过印刷电路板布局工具320-1至320-N中的一者生成对板组装设计的建议的修改,协作系统346将建议的修改转发至相应的印刷电路板布局工具320-1至320-N以供考虑和/或实施。

图4示出了根据各种实施例的印刷电路板布局工具400的示例。参见图4,印刷电路板布局工具400可以包括布局系统410,用于用来自零件列表403的部件来布局电路设计402,生成板组装设计411。电路设计402(例如网表)可以描述电子装置中的部件以及这些部件彼此之间的连接性。在一些实施例中,网表可以通过原理图捕获工具或合成逻辑电路设计(有时也称为电路的寄存器传输级(RTL)描述)生成。网表可以以电子数字交换格式(EDIF)指定,该网表可以描述电路设计402中的各种部件或实例之间的网络或连接性。零件列表403可包括多个零件,其可以对应于电路设计402中描述的部件。尽管图4示出了接收电路设计402和零件列表404的印刷电路板布局工具400,但在一些实施例中,印刷电路板布局工具400可以在内部生成电路设计402和/或零件列表404。

印刷电路板布局工具400可以识别出例如从共享管理系统接收到的来自虚拟产品模型404的约束条件。虚拟产品模型404可以包括对由印刷电路板布局工具400开发的包括板组装设计411的产品设计的描述。例如,虚拟产品模型404可以包括关于产品的机械组装的信息和包括在产品中的具有多个印刷电路板的电子装置的信息。在由分布式设计系统中的其他设计工具开发产品期间,印刷电路板布局工具400可以接收对虚拟产品模型404的更新,例如对机械组装、印刷电路板或系统级设计规则的改变。

印刷电路板布局工具400可以包括约束系统420,用于分析虚拟产品模型404,以识别出能够限制或约束将电路设计402布局到板组装设计411中的约束条件。在一些实施例中,约束条件可以包括:板组装设计411要装入的外壳的描述、用于将根据板组装设计411制造的印刷电路板贴附到机械组装设计中描述的外壳的紧固件的位置和描述、其它机械装置的存在和位置,例如机械组装中的散热装置或物理接口等。约束条件还可以包括放置在产品中的其它印刷电路板的部件或电线的描述,该部件或电线可以具有能够限制或约束将电路设计402布局到板组装设计411中的物理或电气特性。

约束系统420可以基于从虚拟产品模型404识别出或解析的机电约束条件来识别出系统级设计规则。系统级设计规则可以对应于机电约束条件,使得当板组装设计411违反系统级设计规则时,板组装设计411将与衍生或识别出机电约束条件的虚拟产品模型404不一致。印刷电路板布局工具400可以将由约束系统420开发的系统级设计规则与印刷电路板布局工具400在设计规则检查中使用的主设计规则集结合或关联。

印刷电路板布局工具400可以包括接口装置440以输出显示呈现442,当由显示装置显示时,显示呈现442可以向设计环境提供用户界面。显示呈现442可以包括图形显示窗口,图形显示窗口包括来自布局系统410的板组装设计411的至少一个布局表示,并且包括各种工具或嵌入式功能,该各种工具或嵌入式功能可以允许将零件列表403中的零件或部件放置到板组装设计411的布局表示中。

布局系统410最初可以将板组装设计411表示为空白打印电路板,例如,其具有与从虚拟产品模型404收集的一个或多个约束条件对应的尺寸。布局系统410可以接收用户输入441,例如,基于显示呈现442,该显示呈现442可以提示布局系统410对与板组装设计411对应的数据模型执行各种更新。在一些实施例中,用户输入441可以识别出从零件列表403中选择的零件,并识别出板组装设计411中的用于放置所选零件的位置。布局系统410可以与所识别出的板组装设计411中的位置相对应地在数据模型中放置与所选零件相对应的至少一个部件模型,并基于电路设计402中的连接性在放置的零件之间布线等。

印刷电路板布局工具400可以包括库部件系统430,用于识别出与所选零件相对应的一个或多个部件模型405。在一些实施例中,布局系统410可以向库部件系统430提供所选零件的指示,并且库部件系统430可以访问库(未示出)以识别出能够放置在板组装设计411中的与所选零件对应的部件模型。

布局系统410可以修改虚拟产品模型404以包括印刷电路板布局工具400正在开发的板组装设计411的当前版本,从而生成修改后的虚拟产品模型406。印刷电路板布局工具400可以将修改后的虚拟产品模型406传输至共享管理系统以并入共享产品模型,并随后分发给产品的设计系统中的其他开发工具。在一些实施例中,布局系统410可以修改虚拟产品模型404以建议对机械设计的改变,包括一个或多个印刷电路板在产品中的位置。

在一些实施例中,约束系统420可以分析对虚拟产品模型404的修改以识别出是否生成任何新的系统级设计规则,以并入修改后的虚拟产品模型406。约束系统420可以比较对虚拟产品模型404的修改,以识别出具有可能对产品的设计系统中的任何其他开发工具产生约束条件或开发限制的高度或电气特性的部件、电线或布局部分。例如,当板组装设计411包括较高电压部件时,约束系统420可以确定较高电压部件周围的用以避免电压跳变的间隙,并创建系统级设计规则,该系统级设计规则约束产品设计系统中的其他开发工具以避免修改其共享产品模型的部分至包括该间隙区域内的部件。约束系统420可以将系统级设计规则并入修改后的虚拟产品模型406,以用于传输至共享管理系统以并入共享产品模型,并随后将其分发给产品的设计系统中的其他开发工具。

印刷电路板布局工具400可以包括协作系统450,用于与共享管理系统交换通知消息451。在一些实施例中,通知消息451可以指示新版本的共享产品模型已可作为虚拟产品模型404分发给印刷电路板布局工具400。通知消息451能够识别出由印刷电路板布局工具400正在开发的板组装设计411和新版本的共享产品模型的冲突。在一些实施例中,通知消息400可以指示在新版本的共享产品模型中存在冲突的板组装设计411的一部分,并且可能建议能够解决冲突的对板组装设计411的修改。协作系统450,响应于来自共享管理系统的通知消息451,可以下载虚拟产品模型404,在显示呈现442中呈现与虚拟产品模型404的任何冲突,或者提示布局系统410对板组装设计411执行建议的修改。在一些实施例中,协作系统450可以拒绝对板组装设计411的建议的修改,而是以不同的方式修改板组装设计411。

协作系统450还可以生成通知消息450,以用于将其经由共享管理系统传输到设计系统中的其他设计工具。例如,协作系统450可以拒绝对板组装设计411的建议的修改,而是生成通知消息451,该通知消息451建议对虚拟产品模型的不同部分进行改变以解决冲突。

印刷电路板布局工具400还可以分析布局表示,以与设计规则相协调。例如,布局系统410可以对板组装设计411执行各种设计规则检查,以确定板组装设计411中的更新是否违反任何设计规则或其相关联的机电约束条件。机电约束条件可以包括针对板组装设计411的至少一个电气约束条件或机械约束条件。在一些实施例中,布局系统410可以审查放置在板组装设计411的数据模型中的部件模型的位置和特性,以确定所放置的部件模型是否符合设计规则。布局系统410可以为其设计规则检查提供一些高粒度用户选项,例如,允许用户控制板组装设计411的哪些部分来检查与设计规则的一致性。例如,布局系统410可以比较板组装设计411中描述的印刷电路板的不同部分,例如,印刷电路板组装、印刷电路板上的部件、印刷电路板上的键合线、印刷电路板本身的特定部分(例如板边缘)等。布局系统410还可以将在板组装设计411中描述的印刷电路板的不同部分与产品的其他部分(例如产品中的其他印刷电路板)、从虚拟产品模型404得出或识别出的约束条件等进行比较。

图5示出了根据各种实施例的具有多个印刷电路板的产品的产品级设计的集中管理的示例流程图。参见图5,实施共享管理系统的计算装置可以将共享产品模型的虚拟产品模型分发到多个印刷电路板布局工具。共享管理系统可以生成共享产品模型,该共享产品模型将从机械系统接收到的产品的机械组装设计和从印刷电路板布局工具接收到的多个板组装设计聚合到产品级表示中。共享管理系统可以将共享产品模型作为虚拟产品模型分发给印刷电路板布局工具。虚拟产品模型和共享产品模型都可以描述设计系统正在开发的具有带有多个印刷电路板的电子装置的产品。印刷电路板布局工具可以在为产品的电子装置开发板组装设计期间使用虚拟产品模型。

在框502中,实施共享管理系统的计算装置可以从印刷电路板布局工具中的一者或多者接收对虚拟产品模型的修改。印刷电路板布局工具可以单独修改虚拟产品模型,以包括印刷电路板布局工具已开发的或正在开发的板组装设计,并将这些修改提供给共享管理系统。

在框503中,实施共享管理系统的计算装置可以识别出与对虚拟产品模型的修改对应的一个或多个系统级设计规则。在一些实施例中,系统级设计规则可以对应于与机械组装设计或板组装设计中的物理约束条件相关联的物理限制。在一些实施例中,印刷电路板布局工具中的一者可以识别出正在开发的板组装设计的一个或多个部分何时会限制印刷电路板布局工具中的另一者的开发,并且修改虚拟产品模型以包括用于开发的板组装设计的新的系统级设计规则。共享管理系统可以解析或以其他方式识别出提供给共享管理系统的修改版本的虚拟产品模型中的新的系统级设计规则。

在一些实施例中,共享管理系统可以分析从印刷电路板布局工具中的一者接收到的对虚拟产品模型的修改,以识别出正在开发的板组装设计的一个或多个部分何时会限制印刷电路板布局工具中的另一者的开发,并为所开发的板组装设计生成新的系统级设计规则。

在框504中,实施共享管理系统的计算装置可以基于对虚拟产品模型的修改来更新共享产品模型。在一些实施例中,共享管理系统可以针对从印刷电路板布局工具接收到的修改后的虚拟产品模型替换共享产品模型。共享管理系统可以通过将包括新的系统级设计规则在内的修改合并到共享产品模型中来修改共享产品模型。

在框505中,实施共享管理系统的计算装置可以在更新后的共享产品模型与系统级设计规则冲突时向印刷电路板布局工具中的至少一者传输通知。在一些实施例中,共享管理系统可以接收来自印刷电路板布局工具的通知消息,并将其转发到印刷电路板布局工具中的一者或多者或者新版本的共享产品模型的机械系统,共享产品模型内的设计冲突、和/或能够解决冲突的对共享产品模型的建议的改变。

共享管理系统还可以生成通知消息,该通知消息通知印刷电路板布局工具400中的一者或多者共享产品模型的新版本已可作为虚拟产品模型分发给印刷电路板布局工具。在一些实施例中,共享管理系统可以分析更新版本的共享产品模型以识别出板组装设计之间的任何冲突、与板组装设计和机械设计的冲突、与板组装设计或机械设计和系统级设计规则等的冲突。共享管理系统可以基于识别出的冲突生成一个或多个通知消息,例如,以通知印刷电路板布局工具中的一者或多者或机械系统发生冲突。在一些实施例中,共享管理系统可以识别出对具有冲突的一个或多个设计进行的建议的改变或修改,这些建议的改变或修改如果实施,则会解决冲突。共享管理系统可以基于识别出的建议的改变生成一个或多个通知消息,例如,以向一个或多个印刷电路板布局工具或机械系统通知解决冲突的选项。

图6示出了根据各种实施例的在产品级设计环境中印刷电路板布局工具集中协作的示例流程图。参见图6,在框601中,实施印刷电路板布局工具的计算系统可以接收与共享产品模型对应的虚拟产品模型,该共享产品模型描述了具有电子装置(其带有多个印刷电路板)的产品。虚拟产品模型可以包括对产品设计(包括由印刷电路板布局工具开发的布局设计)的描述。例如,虚拟产品模型可以包括关于产品的机械组装和包括在产品中的具有多个印刷电路板的电子装置的信息。在由分布式设计系统的其他设计工具开发产品期间,印刷电路板布局工具可以接收对虚拟产品模型的更新,如对机械组装、印刷电路板的布局设计、系统级设计规则的改变等。

在框602中,实施印刷电路板布局工具的计算系统可以修改虚拟产品模型,以生成针对产品中的多个印刷电路板中的一者的布局设计。印刷电路板布局工具可以用来自零件列表的零件对电路设计进行布局,生成布局设计。电路设计(例如网表)可以描述电子装置中的部件以及这些部件彼此之间的连接性。印刷电路板布局工具可以修改虚拟产品模型,以包括印刷电路板布局工具正在开发的当前版本的布局设计。

在框603中,实施印刷电路板布局工具的计算系统可以基于针对产品中的多个印刷电路板中的一者的布局设计中的至少一者中的约束条件,来生成描述针对电子装置的物理限制的至少一个系统级设计规则。印刷电路板布局工具可以对虚拟产品模型的修改进行分析,以识别是否生成任何新的系统级设计规则。在一些实施例中,印刷电路板布局工具可以比较对虚拟产品模型的修改,以识别出具有可能对产品的设计系统中的任何其他开发工具产生约束条件或开发限制的高度或电气特性的部件、迹线或布局部分。印刷电路板布局工具可以将系统级设计规则并入到修改后的版本的虚拟产品模型中。

在框604中,实施印刷电路板布局工具的计算系统可以在更新后的共享产品模型与在至少一个系统级设计规则中描述的针对电子装置的物理限制冲突时,生成向印刷电路板布局工具中的另一者的通知消息。

印刷电路板布局工具可以确定经由印刷电路板布局设计的生成或系统级设计规则的生成对虚拟产品模型进行的修改与另一印刷电路板布局设计冲突。在一些实施例中,印刷电路板布局工具可以通过使用新的系统级设计规则对虚拟产品模型执行设计规则检查以识别出其他布局设计或机械设计与新的系统级设计规则冲突,来识别出冲突。印刷电路板布局工具也可以通过使用由共享管理系统、其他印刷电路板布局工具或机械设计系统生成的系统级设计规则对由印刷电路板布局工具开发的布局设计进行设计规则检查来识别出冲突。印刷电路板布局工具可以生成通知消息,通知共享管理系统、其他印刷电路板布局工具或机械设计系统发生冲突。在一些实施例中,印刷电路板布局工具可以识别出如果将该变化执行到其他布局设计或机械设计会解决冲突的变化,例如,将部件或轨迹移动到布局设计的不同部分。印刷电路板布局工具可以生成通知消息,通知共享管理系统、其他印刷电路板布局工具或机械设计系统能够解决冲突的建议的改变。

在框605中,实施印刷电路板布局工具的计算系统可以将对虚拟产品模型的修改、系统级设计规则和/或通知消息传输到共享管理系统,以便分发到其他产品设计工具。如上所述,共享管理系统可以利用对虚拟产品模型的修改和新的系统级设计规则来更新用于其他产品设计工具的共享产品模型,允许所有工具在开发过程中拥有相同的信息。

上述系统和设备可以使用专用处理器系统、微控制器、可编程逻辑器件、微处理器或其任意组合来执行本文所述的部分或全部操作。上述操作中的一些可以在软件中实施,其他操作可以在硬件中实施。本文描述的任何操作、过程和/或方法可以由基本上类似于本文所述并参考示图的操作、过程和/或方法设备、装置和/或系统来执行。

处理装置可以执行存储在存储器中的指令或“代码”。存储器也可以存储数据。处理装置可以包括但不限于模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。处理装置可以是集成的控制系统或系统管理器的一部分,或者可以作为便携式电子装置来提供,所述便携式电子装置被配置为通过无线传输在本地或远程地与网络系统进行接口。

处理器存储器可以与处理装置集成在一起,处理器存储器例如为设置在集成电路微处理器内的RAM或FLASH存储器等。在其他示例中,存储器可以包括独立装置,例如外部磁盘驱动器、存储阵列、便携式FLASH遥控钥匙(key fob)等。存储器和处理装置可以例如通过I/O端口、网络连接等方式,可操作地耦合在一起,或者彼此通信,处理装置可以读取存储器中存储的文件。根据权限设置,相关联的存储器可以是在设计上“只读”(ROM),也可以不是。存储器的其他示例可以包括但不限于WORM、EPROM、EEPROM、FLASH等,其可以在固态半导体装置中实施。其他存储器可以包括移动零件,例如已知的旋转磁盘驱动器。所有这些存储器可以是“机器可读的”,并且可以由处理装置可读。

操作指令或命令可以以存储的计算机软件(也称为“计算机程序”或“代码”)的有形形式实施或体现。程序或代码可以存储在数字存储器中,并可以由处理装置读取。“计算机可读存储介质”(或者可替代地,“机器可读存储介质”)可以包括所有上述类型的存储器以及未来的新技术,只要该存储器能够存储计算机程序或其他数据的性质的数字信息,至少是暂时地存储,并且只要存储的信息的长度可以由适当的处理装置“读取”。术语“计算机可读”不限于“计算机”的历史用途,即意味着完整的大型机、小型计算机、台式机甚至笔记本电脑。相反,“计算机可读”可包括由处理器、处理装置或任何计算系统可读取的存储介质。这样的媒体可以是计算机或处理器可以在本地和/或远程访问的任何可用媒体,并且可以包括易失性和非易失性媒体、可移动和不可移动媒体或其任意组合。

存储在计算机可读存储介质中的程序可以包括计算机程序产品。例如,存储介质可以作为存储或传输计算机程序的便捷手段。为了方便起见,可以将操作描述为各种互连或耦合的功能框或图。然而,可能存在这样的情况,其中,这些功能框或图可以等同地聚合到具有不清楚边界的单个逻辑装置、程序或操作中。

结论

虽然本申请描述了实施实施例的具体示例,但是本领域技术人员将理解,上述描述的系统和技术有许多变化和排列,这些变化和排列属于所附权利要求书中所阐述的本发明的精神和范围。例如,虽然上文中使用了具体术语来指代电子设计自动化过程,但应当理解的是,可以使用电子设计自动化过程的任意期望组合来实施本发明的各种示例。

本领域技术人员也将认识到,本文所教导的概念可以以许多其他方式定制到特定的应用中。特别地,本领域技术人员将认识到,所示出的示例仅仅是在阅读本发明时将变得明了的许多可替代实施方式中的一者。

尽管说明书可以在若干处引用“一”、“一个”、“另一个”或“一些”示例,但这并不一定意味着每个这样的引用都是指相同的示例,或者该特征仅适用于单个示例。

技术分类

06120116506228