CN102024075A - 用于定制电路板的硬件描述语言生成系统和方法 - Google Patents

用于定制电路板的硬件描述语言生成系统和方法 Download PDF

Info

Publication number
CN102024075A
CN102024075A CN201010287772XA CN201010287772A CN102024075A CN 102024075 A CN102024075 A CN 102024075A CN 201010287772X A CN201010287772X A CN 201010287772XA CN 201010287772 A CN201010287772 A CN 201010287772A CN 102024075 A CN102024075 A CN 102024075A
Authority
CN
China
Prior art keywords
custom circuit
circuit plate
hdl
plate
design
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.)
Pending
Application number
CN201010287772XA
Other languages
English (en)
Inventor
道格拉斯·L·桑迪
什洛莫·普里-塔尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Smart Embedded Computing Inc
Original Assignee
Emerson Network Power Embedded Computing Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Emerson Network Power Embedded Computing Inc filed Critical Emerson Network Power Embedded Computing Inc
Publication of CN102024075A publication Critical patent/CN102024075A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

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)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种系统,其包括输入和硬件描述语言(HDL)模块。输入接收定制电路板的设计规格。设计规格选自定制电路板的预定设计选项。硬件描述语言(HDL)模块生成对应于设计规格的HDL并且将HDL输出到电路板生产者。

Description

用于定制电路板的硬件描述语言生成系统和方法
技术领域
本公开涉及定制电路板。
背景技术
这里提供的背景技术描述以对本公开的背景作一般性说明为目的。当前指定的发明人的达到在此背景技术部分中所描述的程度的工作,以及在提交时尚未成为现有技术的说明书的内容,既不被明确视为也不被隐含视为相对于本公开的现有技术。
生产根据客户提供的需求而定制的电路板的过程通常开始于收集来自客户的需求。随后可以进行可行性研究以确定是否能可行地生产满足客户需求的定制电路板。如果是,则手工创建(例如,手绘)电路板的初始设计,并且将初始设计呈现给客户批准。
在客户批准初始设计之后,工程人员创作原理图网表、物料清单(BOM)和生产定制电路板的第一原型所需的其它数据。这些数据被发送到板设计人员,其负责使用专门的计算机辅助设计(CAD)工具确定设计的物理构造和布线。这些数据依次被提供给电路板制造商,其根据这些数据生产定制电路板的第一原型。在一些情况中,定制电路板的设计人员也可作为定制电路板的板设计人员。
可以对第一原型执行全面的测试和调试。在于必要时依据第一原型的测试和调试进行修改之后,可以生产定制电路板并且将其呈现给客户。收集需求和生产定制电路板之间的周期可能消耗约六个月的时间。作为非限制性的示例和比较,定制电路板可能使客户花费约十万美元(100,000.00 USD)。
发明内容
一种系统包括输入和硬件描述语言(HDL)模块。输入接收定制电路板的设计规格。设计规格选自定制电路板的预定设计选项。硬件描述语言(HDL)模块生成对应于设计规格的HDL并且将HDL输出到电路板生产者。
在其它实现方案中,一种系统包括规划器模块和代码生成器模块。规划器模块接收用于生产定制电路板的设计规格输入,基于设计规格选择用于定制电路板的元件,确定定制电路板上的元件的布置,以及基于元件和布置生成定制电路板的初始设计数据。代码生成器模块基于初始设计数据生成被提供给电路板生产者用于生产定制电路板的硬件描述语言(HDL)。
在其它实现方案中,一种系统包括规划器模块和代码生成器模块。规划器模块接收定制电路板的设计规格,基于设计规格选择用于定制电路板的元件,确定定制电路板上的元件的布置,以及基于元件和布置生成定制电路板的初始设计数据。规划器模块从数据库中存储的预先定义的元件中选择用于定制电路板的元件。代码生成器模块基于初始设计数据生成被提供给电路板生产者用于生产定制电路板的硬件描述语言(HDL)。定制电路板包括主板、模块式计算机(COM)板、高级电信计算架构(ATCA)刀片板、CompactPCI(CPCI)刀片板和VERSAModule Eurocard Bus(VME)刀片板中的一个。设计规格选自预定设计选项。
一种方法包括:接收定制电路板的设计规格,其中设计规格选自用于定制电路板的预定设计选项;生成对应于设计规格的硬件描述语言(HDL);以及将HDL输出到电路板生产者。
在其它实现方案中,一种方法包括:接收定制电路板的设计规格;基于设计规格选择用于定制电路板的元件;确定定制电路板上的元件的布置;基于元件和布置生成定制电路板的初始设计数据;以及基于初始设计数据生成被提供给电路板设计人员用于定制电路板的物理设计和布局的硬件描述语言(HDL)。定制电路板包括主板、模块式计算机(COM)板、以及高级电信计算架构(ATCA)刀片板、CompactPCI(CPCI)刀片板和VME刀片板中的一个。设计规格选自预定设计选项。元件选自数据库中存储的预先定义的元件。
通过下文提供的实施方式,本公开的另外的适用领域将变得明显。应当理解,实施方式和特定示例应仅用于说明的目的,并非限制本公开的范围。
附图说明
通过实施方式和附图将更加全面地理解本公开,其中:
图1是定制电路板生产系统的示例性实现方案的功能框图;
图2是包括硬件描述语言(HDL)模块的示例性实现方案的电路板生产系统的另一示例性实现方案的功能框图;
图3A至3E示出了呈现给用户输入定制电路板的设计规格的示例性用户输入场景;
图4是可以在生产定制电路板时使用的数据库的示例性图示;
图5是如何选择在定制电路板上实现的元件的示例性图示;
图6A至6B是示出示例性方法的流程图。
具体实施方式
以下描述在本质上仅是示例性的,绝非限制本公开、其应用或者使用。出于清楚的目的,在附图中使用同一附图标记表示相似的元件。如这里所使用的,习语“A、B和C中的至少一个”应使用非排他性的逻辑或,被解释为意味着逻辑上的A或B或C。应当理解,在不改变本公开的原理的情况下,方法中的步骤可以按不同的顺序执行。
如这里所使用的,术语“模块”指的是执行一个或更多个软件或固件程序的专用集成电路(ASIC)、电子电路、处理器(共享、专用或者分组)和存储器,组合逻辑电路,和/或提供所描述的功能的其它适当的元件。
根据本公开的硬件描述语言(HDL)模块接收定制电路板的设计规格。HDL模块选择将在满足设计规格的定制电路板上实现的元件。HDL模块还确定将所选择的元件放置在定制电路板上的布置。HDL模块生成定制电路板的HDL并且将HDL提供给使用HDL生产定制电路板的电路板生产者。
生产定制电路板的过程的自动化减少了生产定制电路板所需要的时间周期。设计过程的自动化还实现了提供给客户的成本节约。作为非限制性的示例和比较,生产定制电路板所需要的时间周期可约为一个月并且生产定制电路板可花费约两千美元(2,000.00 USD)。
现在参照图1,呈现了示例性定制电路板生产系统100的功能框图。定制电路板生产系统100包括用户接口模块102、数据库104、硬件描述语言(HDL)模块106和电路板生产者108。
用户(例如,客户)使用用户接口模块102输入定制电路板的用户需求。换言之,用户经由用户接口模块102输入定制电路板的设计规格。仅作为示例,用户接口模块102可包括用户访问的网站、用户可运行的应用或程序、或者其它命令输入接口。
经由用户接口模块102向用户呈现定制电路板的预定设计选项,并且用户从预定设计选项中选择设计规格。定制电路板的预定设计选项可包括例如,定制电路板的外形规格和定制电路板的功能需求。仅作为示例,涉及外形规格的预定设计选项可包括主板、模块式计算机(COM)、高级电信计算架构(ATCA)刀片板、PCI工业计算机制造者小组(PICMG)标准下的板、或者其它适当的电路板外形规格。涉及定制电路板的功能需求的预定设计选项可包括例如,处理器速度、芯片组、存储器配置、扩展插槽、板上外围设备以及适用于定制电路板的其它特性。
用户接口模块102向HDL模块106提供定制电路板的设计规格。HDL模块106基于设计规格生成定制电路板的设计。更具体地,HDL模块106从数据库104中存储的数据中选择将在定制电路板上实现的元件。HDL模块106可选择使定制电路板的成本最小的元件。HDL模块106还选择遵守强加在所选择的外形规格和/或所选择的将在定制电路板上实现的元件上的约束(例如,气流、高度、面积)的元件。在一些实现方案中,HDL模块106可使一个或更多个特性(例如,速度和成本)均衡。
一旦已选择用于定制电路板的元件,HDL模块106就确定定制电路板上的元件的布置。HDL模块106使用所选择的元件和针对所选择的元件确定的布置,生成定制电路板的初始设计。
在一些实现方案中,HDL模块106将初始设计提供给用户接口模块102以呈现给用户。在这些实现方案中,用户可以有机会批准或否决初始设计,并且HDL模块106可以在继续之前等待用户批准。如果用户否决初始设计,则HDL模块106可以生成定制电路板的不同的设计。不同的设计可以包括实现设计规格的一个或更多个不同的元件或者相同元件的不同的布置。
HDL模块106完成定制电路板的设计并且基于设计生成硬件描述语言(HDL)。HDL模块106将HDL提供给电路板生产者108。仅作为示例,HDL可以用Verilog、系统C、超高速集成电路HDL(VHDL)或者其它适当类型的HDL来编写。HDL可以包括例如,网表、物料清单、将在定制电路板上实现的处理器的设置数据、用于定制电路板的生产后的测试/调试的测试数据、以及用于将所选择的元件布置在定制电路板上的放置数据中的一个或更多个。
电路板生产者108根据HDL生产定制电路板。更具体地,电路板生产者108可以根据HDL对电路板布线并且将导电材料(例如,铜)应用到布线。电路板生产者108还将元件附着到定制电路板并且建立HDL中指定的电连接。电路板生产者108还可以将设置数据和其它数据上载到定制电路板。
现在参照图2,呈现了示例性定制电路板生产系统100的另一功能框图。图2的示例性定制电路板生产系统100包括HDL模块106的示例性实现方案的功能框图。
用户从预定设计选项中选择定制电路板的设计规格。在一些实现方案中,用户可以从预定设计选项的下拉列表中选择设计规格。在其它实现方案中,可以向用户呈现一些预定设计选项并且提示用户从那些选项中选择。可以按照预定的顺序向用户呈现一些预定设计选项。仅作为示例,预定的顺序可以是:第一,外形规格;第二,处理器速度和芯片组;第三,存储器数量、类型和配置;第四,扩展插槽;以及第五,板上外围设备。图3A至3E示出了经由用户接口模块102呈现给用户的示例性用户输入场景。
参照图3A,可以将第一预定设计选项集合302呈现给用户。定制电路板的第一预定设计选项集合302可以涉及定制电路板的外形规格。仅出于说明和简单的目的,可以向用户呈现高级TCA板和嵌入式ATX板的电路板外形规格。还可以向用户呈现如下文将还讨论的其它电路板外形规格。
假设用户从第一预定设计选项集合302中选择了嵌入式ATX选项,则可以向用户呈现如图3B中所示的第二预定设计选项集合304。仅作为示例,第二预定设计选项集合304可以涉及将在定制电路板上实现的处理器(例如,速度和芯片组)。如果用户从第一预定设计选项集合302中选择了高级TCA选项,则可以向用户呈现高级TCA板特有的预定设计选项。
一旦用户选择了处理器,则可以向用户呈现如图3C中所示的第三预定设计选项集合306。仅作为示例,第三预定设计选项集合306可以涉及将在定制电路板上实现的存储器。在一些实现方案中,可以相对于从第二预定设计选项集合304中选择的处理器指定存储器的配置。
一旦从第三预定设计选项集合306中选择了存储器,则可以向用户呈现如图3D中所示的第四预定设计选项集合308。仅作为示例,第四预定设计选项集合308可以涉及将在定制电路板上实现的PCI-Express扩展插槽的数目。如果用户已从第一预定设计选项集合302中选择高级TCA选项,则第三预定设计选项集合306可以涉及高级MC扩展插槽。
还可以向用户呈现如图3E中所示的第五预定设计选项集合310。仅作为示例,第五预定设计选项集合310可以涉及将在定制电路板上实现的板上外围设备。在一些实现方案中,当用户进行了每个设计规格的选择时,用户接口模块102将设计规格提供给HDL模块106。在其它实现方案中,在用户输入定制电路板的所有设计规格之后,用户接口模块102将设计规格提供给HDL模块106。
再次参照图2,HDL模块106包括规划器模块202、代码生成器模块204和原理图模块206。HDL模块106还包括物料清单(BOM)模块208、放置优化器模块210和设置模块212。
规划器模块202基于设计规格选择将在定制电路板上实现的元件。更具体地,规划器模块202从数据库104中存储的预先定义的元件数据中选择将在定制电路板上实现的元件。规划器模块202基于所选择的元件生成初始设计数据并且将初始设计数据提供给代码生成器模块204。仅作为示例,初始设计数据可以以具有.DAT文件扩展名的数据文件被提供给规划器模块202。
图4是数据库104的示例性图示。数据库104包括描述可满足一个或更多个设计规格的预先定义的元件的数据。规划器模块202从预先定义的元件中选择元件。
在一些实现方案中,数据库104包括子数据库。仅作为示例,数据库104可以包括板数据库402、零部件(widget)数据库404和输入/输出(I/O)数据库406。在其它实现方案中,板数据库402、零部件数据库404和/或I/O数据库406可以彼此独立地实现和/或独立于数据库104实现。
板数据库402包括可以由用户定制的每个电路板外形规格的库。仅作为示例,板数据库402可以包括ATX板、Flex-ATX板、Micro-ATX板、ITX板、Nano-ITX板、Mini-ITX板、Mobile-ITX板和Pico-ITX板的库。板数据库402还可以包括BTX板、WTX板、AT板、Baby-AT板、LPX板和NLX板的库。板数据库402还可以包括EBX板、EPIC板、ESM板、ESM-Express板和其它适当的电路板外形规格的库。
给定电路板外形规格的库(即,板库)408包括描述电路板的数据。仅作为示例,电路板的板库408可以包括描述电路板的尺寸、电路板的形状、电路板的高度约束和电路板的不可用区域(例如,边界区域)的数据。
板库408还可以包括描述电路板上的气流区域、定义电路板上的邻近区域的三维区域、电路板是否使用散热器以及可以在电路板上实现的插槽的数据。板库408还可以包括描述经由在其中可实现电路板的壳体的前面板可访问的I/O端口、经由壳体的后面板可访问的I/O端口、电路板上的内部I/O端口的数据。板库408还可以包括电路板的HDL、HDL的定位符、电路板的成本以及电路板的其它适当的特性。
零部件数据库404包括可以在一个或更多个电路板外形规格上实现的每个元件的库。仅作为示例,零部件数据库404可以包括在处理器、I/O端口、连接器、插槽和开关方面描述的库。零部件数据库404还可以包括在联合测试行动小组(JTAG)扩展器和电源方面描述的库。每个处理器、I/O端口、连接器、插槽、开关、JTAG扩展器和电源可以被称为零部件。
处理器并入了处理器芯片(例如,CPU)、存储器和存储器控制器、PCI-Express根集线器、通用串行总线(USB)集线器、电源管理控制、重置控制和处理器的设置(例如,BIOS或EFI)。处理器还可以提供另外的I/O接口(例如,以太网或SATA)。可以在定制电路板上实现一个处理器。
I/O端口经由PCI-Express端口(以及可能地,PCI-Express开关)连接到处理器。在定制电路板上实现的I/O端口的数目可能受限于所选择的外形规格的尺寸、定制电路板上的连接性和功率限制。
连接器将I/O连接点添加到定制电路板。给定的连接器可以是例如,边缘安装的连接器或者板上接插件。可以在定制电路板上实现的连接器的数目可能受限于所选择的外形规格的尺寸、定制电路板上的连接性和功率限制。连接器上的每个I/O端口连接到控制器或者集线器。
插槽将一个或更多个互连扩展端口引入到定制电路板而无需实现连接器。插槽的示例包括,但不限于,ATX主板上的PCI-Express插槽、ComExpress模块上的ComExpress连接器、和高级MC模块上的金手指。可以在定制电路板上实现的插槽的数目可能受限于所选择的外形规格。
开关提供了与通用串行总线(USB)端口或者PCI-Express端口的另外的互连并且包括一个上游端口和一个或更多个下游端口。JTAG扩展器提供了针对一个或更多个边界扫描(BSCAN)元件的扇出。JTAG扩展器提供了一个上游端口和一个或更多个下游端口并且可以包括在具有连接器的定制电路板的设计中。电源提供了3.3V电源轨、5.0V电源轨、12.0V电源轨和12.0V待机电源。用于一些电路板外形规格(例如,ATX板)的电源可以包括连接器或者是连接器。
给定零部件的库(即,零部件库)410包括描述零部件的数据。仅作为示例,零部件库410中包括的数据包括:
(1)零部件的尺寸;
(2)将在使定制电路板上的元件放置最优化时使用的零部件的位置(例如,坐标);
(3)零部件是否使用散热器;
(4)零部件的物理I/O端口与零部件的逻辑I/O端口的映射;
(5)零部件的I/O端口的配置集合(配置集合描述了可以为一组I/O引脚选择的I/O配置的集合);
(6)零部件的PCI-Express连接的配置集合,其中配置集合描述了可以应用于一组PCI-Express端口的配置的集合;
(7)零部件的逻辑PCI-Express互连端口中的每一个与零部件的物理PCI-Express端口的映射;
(8)零部件消耗的来自3.3V电源轨、5.0V电源轨和12.0V电源轨的电量;
(9)零部件消耗的来自12.0V待机电源轨的电量;
(10)优选的气流方向(例如,垂直、水平或者任何一个);
(11)设置数据;
(12)设置数据的定位符;
(13)将用于修改设置数据的脚本的定位符;
(14)HDL;
(15)HDL的定位符;
(16)测试数据;
(17)测试数据的定位符;
(18)零部件的电设计的定位符;
(19)零部件的布局的定位符;
(20)零部件的物料清单(BOM);
(21)BOM的定位符;
(22)零部件的成本;
(23)零部件的厂商;
(24)零部件的器件标识符;
(25)零部件是否是边缘连接器;以及
(26)应与卡边缘对准的零部件的边缘的位置。
依赖于特性是否与零部件相关,给定零部件的零部件库410可以包括描述特性(1)-(26)的数据。仅作为示例,处理器的零部件库可以包括描述关于处理器的特性(1)-(23)的数据。I/O端口的零部件库可以包括描述关于I/O端口的特性(1)-(8)、(10)-(12)和(14)-(24)的数据。在一些实现方案中,I/O端口的零部件库可以在I/O数据库406中的I/O库中实现。I/O数据库406可以包括可在定制电路板上实现的每个零部件的I/O的I/O库412。
连接器零部件的零部件库可以包括描述关于连接器的特性(1)-(2)、(4)-(5)、(8)、(10)、(14)-(22)和(25)-(26)的数据。插槽的零部件库可以包括描述关于插槽的特性(1)-(2)、(4)-(9)和(14)-(22)的数据。开关的零部件库可以包括描述关于开关的特性(1)-(2)、(4)-(8)、(10)和(14)-(24)的数据。
JTAG扩展器的零部件库可以包括描述关于JTAG扩展器的特性(1)-(2)、(4)-(5)、(8)、(10)和(14)-(22)的数据。电源的零部件库可以包括描述关于电源的特性(1)-(5)、(8)-(9)和(14)-(22)的数据。
再次参照图2,在一些实现方案中,规划器模块202可以包括解算器模块220和放置模块222。解算器模块220从数据库104中存储的预先定义的元件数据中选择将在定制电路板上实现的元件(即,零部件)。
当一个或更多个预先定义的元件或者预先定义的元件的组合能够实现用户的设计规格时,解算器模块220可以选择将在定制电路板上实现的元件以使成本最小,使速度、存储器、带宽或者一个或更多个特性的适当的组合最大。解算器模块220还基于所选择的外形规格的尺寸、元件的尺寸、功耗、气流和其它约束来选择将在定制电路板上实现的元件。更具体地,解算器模块220选择元件以避免与元件自身的约束或者电路板的约束冲突。
当所选择的元件的实现方案将超过电路板的尺寸约束时,解算器模块220可以添加另外的部件以适应设计规格。仅作为示例,解算器模块220可以添加PCI-Express开关以适应因电路板的尺寸约束而可能无法在电路板上实现的一个或更多个PCI-Express连接。仅作为示例,解算器模块220可以使用与图5中示出的相似或相同的分析来选择将在定制电路板上实现的元件。
参照图5,呈现了在选择将在定制电路板上实现的元件(或零部件)时可以使用的示例性分析。解算器模块220可以确定将提供一个或更多个用户设计规格的一个元件502并且假设元件502必须在定制电路板上实现。解算器模块220确定未满足哪些设计规格并且确定来自预定设计选项的哪个元件或者元件组合将满足一个或更多个未满足的设计规格。解算器模块220添加元件直到满足设计规格。仅作为示例,满足设计规格并且未与约束冲突的第一可能元件组合由504示出。
在确定第一可能元件组合504之后,如506所示,解算器模块220可以移除第一可能元件组合504中使用的一个或更多个元件。解算器模块220可以确定是否可以实现另一元件或者元件组合以满足未满足的设计规格。仅作为示例,可以使用比第一可能元件组合504更多的元件来实现可能元件组合508、510和512。
解算器模块220可以将生产第一可能元件组合504的成本与生产可能元件组合508、510和512的成本进行比较。然而,生产可能元件组合508、510和512的成本可能大于生产第一可能元件组合504的成本或者一个或更多个约束可能被超过。
当约束被超过或者生产可能元件组合的成本大于生产第一可能元件组合504的成本时,解算器模块220可以放弃继续该可能元件组合。如514所示,解算器模块220可以返回第一可能元件组合504并且从第一可能元件组合504中移除不同的元件。解算器模块220可以继续这种预定设计选项的组合的迭代分析,直到确定许多标准所定义的最佳的可能元件组合,并且其它的元件组合被用尽。示例性的最佳的可能元件组合被示出为516。
再次参照图2,放置模块222确定所选择的元件在电路板上的放置或布置。放置模块222布置元件以避免与定制电路板的尺寸约束冲突。放置模块222还确保所选择的元件被布置为在使功耗最小的同时提供越过电路板和元件的最优的气流。
描述由解算器模块220选择的元件和由放置模块222确定的元件的放置的数据包括在定制电路板的初始设计数据中。规划器模块202将初始设计数据提供给代码生成器模块204。
在一些实现方案中,代码生成器模块204可以生成定制电路板的初始设计的原理图或者另一图示,并且将初始设计提供给用户批准或否决。在这些实现方案中,代码生成器模块204可以在继续之前等待用户批准。如果用户否决,则可以提示规划器模块202创建定制电路板的不同的设计。不同的设计可以包括来自数据库104的一个或更多个不同的元件(例如,更高的成本)和/或相同元件的不同布置。
代码生成器模块204接收初始设计数据并且检索对应于初始设计中指定的将在定制电路板上实现的元件中的每一个的硬件描述语言(HDL)。仅作为示例,HDL可以包括以Verilog、VHDL、系统C或者另一适当的HDL编写的HDL。代码生成器模块204生成描述将在定制电路板上实现的元件之间的连接的初始网表。代码生成器模块204还生成如下文进一步讨论的其它数据。
代码生成器模块将初始网表提供给原理图模块206。原理图模块206基于初始网表生成定制电路板的最终网表、物料清单(BOM)和板布局。仅作为示例,原理图模块206可以使用Cadence Allegro System Architect(ASA)导入初始网表并且基于初始网表生成最终网表、BOM和板文件。最终网表包括描述将在定制电路板上实现的所有连接的数据。
BOM包括描述将在定制电路板上实现的元件以及在生产定制电路板时将使用的元件中的每一个的数量的数据。原理图模块206将BOM提供给BOM模块208。BOM模块208从原理图模块206接收BOM并且从代码生成器模块204接收BOM修改数据。
代码生成器模块204生成BOM修改数据。仅作为示例,BOM修改数据可以包括在具有工程变化命令(.ECO)文件扩展名的修改文件中。BOM修改数据可以包括描述初始网表和最终网表之间的一个或更多个差异的数据。BOM模块208基于BOM修改数据修改BOM并且将BOM输出到电路板生产者108。
原理图模块206生成的板布局可以包括电路板生产者108在创建定制电路板时将使用的原理图或者初始放置。仅作为示例,初始元件放置可以包括在具有.BRD文件扩展名的板文件中或者电路板生产者在生产定制电路板时可以使用计算机辅助设计(CAD)工具来使用的另一类型的文件中。
放置优化器模块210从原理图模块206接收初始板放置并且从代码生成器模块204接收初始设计数据。放置优化器模块210确定是否可以找到将在定制电路板上实现的元件的更适当的布置。仅作为示例,放置优化器模块210可以基于板上的元件中的每一个的位置(例如,坐标)执行胶带放置技术。
理论上的胶带放置技术可相似于,在将在定制电路板上实现的元件的位置周围,将胶带附着到元件之间。附着到两个元件之间的给定胶带的张力可以是两个元件之间的布线的长度约束、在两个元件之间传递的数据的带宽和两个元件之间的距离的函数。该张力可以随着带宽的增加而增加,随着距离的增加而增加,或者随着长度约束更加严格而增加。
一旦所有胶带均被附着,则放置优化器模块210允许将在定制电路板上实现的元件移位,这是因为它们在理论上受制于胶带的张力和约束。示例性约束包括例如,一些元件可能是固定的并且不能移动(例如,插槽),一些元件仅可以在某些方向上移动(例如,边缘连接器),元件不能重叠,元件不能完全地或者部分地位于定制电路板之外,以及元件不能移动到将超过高度约束的区域。
放置优化器模块210生成放置数据并且将放置数据传送到电路板生产者108。例如,当已确定一个元件布置时,放置优化器模块210可以生成对应于更适当的元件布置的放置数据。另外,放置优化器模块210可以根据规划器模块202确定的放置数据来输出放置数据。在一些实现方案中,放置数据可以包括在具有工程变化命令(.ECO)文件扩展名的放置文件中。放置优化器模块210将放置数据提供给电路板生产者108。
代码生成器模块204还生成将在定制电路板上实现的处理器的设置数据并且将设置数据提供给设置模块212。设置数据包括将在定制电路板上实现的I/O元件的映射以及I/O元件中的每一个的厂商和设备标识符。设置数据还包括定制电路板上的电源管理的映射。设置数据还包括将在定制电路板上实现的处理器的设置数据(例如,BIOS或EFI)。设置模块212将设置数据提供给电路板生产者108。
设置数据、BOM、最终网表和放置数据可以被提供给电路板生产者108。在一些实现方案中,可以在HDL模块106中实现用于将数据组装到单个文件中的另一模块,该文件将被提供给电路板生产者108。电路板生产者108生产定制电路板,其具有根据放置数据布置在定制电路板上并且根据最终网表连接的元件。电路板生产者108也利用设置数据。通过这种方式,根据用户输入的设计规格生产定制电路板。
定制电路板的设计过程的自动化减少了生产定制电路板所需要的时间周期。设计过程的自动化还实现了提供给客户的成本节约。在生产时间方面,设计过程的自动化将生产定制电路板所需要的时间周期减少到约一个月。使用定制电路板生产系统100的定制电路板的生产也可以显著减少设计成本。
现在参照图6A至6B,呈现了示出示例性方法600的流程图。方法600开始于图6A的框602,其中方法600接收定制电路板的设计规格。在框604中方法600选择满足设计规格的将在定制电路板上实现的元件。仅作为示例,方法600可以使用上文参照图5描述的预先定义的元件的分析。
在框606中,方法600确定被选择为将在定制电路板上实现的元件的布置。在框608中,方法600生成定制电路板的初始设计。在一些实现方案中,方法600随后进入图6B的框614。在其它实现方案中,方法600进入框610,其中方法600向用户提供初始设计。
在框612中,方法600确定用户是否批准初始设计。如果是,则方法600继续到图6B的框614;否则,方法600返回到框604。方法600随后可以选择将在定制电路板上实现的不同的元件或者所选择的元件的不同布置。
参照图6B,在框614中,方法600生成定制电路板的初始网表。在框616中,方法600生成定制电路板的初始元件放置,并且在框618中,确定元件放置是否是最优的。如果是,则方法600继续到框620;否则,在框622中,方法600确定元件的适当的放置并且进入框620。仅作为示例,方法600可以使用上文讨论的理论上的胶带技术来确定适当的放置。
在框620中,方法600为电路板生产者生成放置数据、最终网表和BOM并且进入框624。在框624中,方法600生成用于定制电路板所需要的设置数据。在框626中,方法600向电路板生产者108提供放置数据、最终网表、BOM和设置数据。电路板生产者108随后根据所提供的数据生产定制电路板。
本公开的广泛教导可以通过多种形式实现。因此,尽管本公开包括特定的示例,但是本公开的真正范围不限于此,在研究附图、说明书和所附权利要求之后,其它的修改对于本领域的技术人员是明显的。

Claims (36)

1.一种系统,包括:
输入,接收定制电路板的设计规格,其中所述设计规格选自定制电路板的预定设计选项;以及
硬件描述语言(HDL)模块,生成对应于所述设计规格的HDL并且将所述HDL输出到电路板生产者。
2.如权利要求1所述的系统,其中,所述定制电路板包括主板、模块式计算机(COM)板、以及高级电信计算架构(ATCA)刀片板、CompactPCI(CPCI)刀片板和VME刀片板中的一个。
3.如权利要求1所述的系统,其中,所述HDL模块基于所述设计规格选择将在所述定制电路板上实现的元件以及根据所述元件生成所述HDL。
4.如权利要求3所述的系统,其中,所述HDL模块从数据库中存储的预先定义的元件中选择所述元件以及基于所存储的用于所述预先定义的元件的HDL数据来生成所述HDL。
5.如权利要求1所述的系统,其中,所述HDL模块基于所述设计规格生成所述定制电路板的初始设计,输出所述初始设计,以及延迟生成和输出所述HDL直到接收到对所述初始设计的批准。
6.一种系统,包括:
规划器模块,接收用于生产定制电路板的设计规格输入,基于所述设计规格选择用于所述定制电路板的元件,确定所述定制电路板上的元件的布置,以及基于所述元件和所述布置生成所述定制电路板的初始设计数据;以及
代码生成器模块,基于所述初始设计数据生成被提供给电路板生产者用于生产所述定制电路板的硬件描述语言(HDL)。
7.如权利要求6所述的系统,其中,所述定制电路板包括主板、模块式计算机(COM)板、高级电信计算架构(ATCA)刀片板、CompactPCI(CPCI)刀片板和VME刀片板中的一个。
8.如权利要求6所述的系统,其中,所述规划器模块从数据库中存储的预先定义的元件中选择满足一个或更多个所述设计规格的元件以及基于所选择的元件的HDL数据生成所述初始设计数据。
9.一种系统,包括:
规划器模块,接收定制电路板的设计规格,基于所述设计规格选择用于所述定制电路板的元件,确定所述定制电路板上的元件的布置,以及基于所述元件和所述布置生成所述定制电路板的初始设计数据;以及
代码生成器模块,基于所述初始设计数据生成被提供给电路板生产者用于生产所述定制电路板的硬件描述语言(HDL),
其中,所述定制电路板包括主板、模块式计算机(COM)板、高级电信计算架构(ATCA)刀片板、CompactPCI(CPCI)刀片板和VME刀片板中的一个,
其中,所述设计规格选自预定设计选项,以及
其中,所述规划器模块从数据库中存储的预先定义的元件中选择用于所述定制电路板的元件。
10.如权利要求1、6或9所述的系统,其中,所述预先定义的元件包括电路板外形规格、处理器、输入/输出(I/O)端口、连接器、插槽、开关、联合测试行动小组(JTAG)扩展器和电源。
11.如权利要求6或9所述的系统,其中,所述代码生成器模块基于所述初始设计数据生成所述定制电路板的初始设计,输出所述初始设计,以及延迟HDL的生成直到接收到对所述初始设计的批准。
12.如权利要求6或9所述的系统,还包括:原理图模块,完成包括所述定制电路板的详细电连接的所述定制电路板的设计,生成对应于所述设计的最终网表,以及将所述最终网表提供给所述电路板生产者。
13.如权利要求6或12所述的系统,还包括:物料清单(BOM)模块,生成对应于所述设计的BOM以及将所述BOM提供给所述电路板生产着。
14.如权利要求6或12所述的系统,还包括:放置模块,执行所述设计的元件的最优放置分析,基于所述最优放置分析的结果有选择地更新所述定制电路板的元件的放置,以及将所述放置提供给所述电路板生产者。
15.如权利要求6或9所述的系统,其中,所述代码生成器模块生成具有Verilog语言、超高速集成电路HDL(VHDL)语言和系统C语言中的一个的形式的HDL。
16.如权利要求6或9所述的系统,其中,所述设计规格至少包括处理器和所述定制电路板的外形规格。
17.一种方法,包括:
接收定制电路板的设计规格,其中所述设计规格选自定制电路板的预定设计选项;
生成对应于所述设计规格的硬件描述语言(HDL);以及
将所述HDL输出到电路板生产者。
18.如权利要求17所述的方法,其中,所述定制电路板包括主板、模块式计算机(COM)板、高级电信计算架构(ATCA)刀片板、CompactPCI(CPCI)刀片板和VME刀片板中的一个。
19.如权利要求17所述的方法,还包括:
基于所述设计规格选择将在所述定制电路板上实现的元件;以及
根据所述元件生成所述HDL。
20.如权利要求19所述的方法,还包括:
确定所述定制电路板上的所述元件的布置;以及
基于所述布置生成包括所述定制电路板的放置的所述HDL。
21.如权利要求20所述的方法,还包括:
基于所述元件的布局和坐标执行最优放置分析;以及
基于所述最优放置分析的结果有选择地更新所述布局。
22.一种方法,包括:
接收定制电路板的设计规格;
基于所述设计规格选择用于所述定制电路板的元件;
确定所述定制电路板上的所述元件的布置;
基于所述元件和所述布置生成所述定制电路板的初始设计数据;以及
基于所述初始设计数据生成被输出到电路板生产者用于生产所述定制电路板的硬件描述语言(HDL);
其中,所述定制电路板包括主板、模块式计算机(COM)板、高级电信计算架构(ATCA)刀片板、CompactPCI(CPCI)刀片板和VME刀片板中的一个,
其中,所述设计规格选自预定设计选项,以及
其中,所述元件选自数据库中存储的预先定义的元件。
23.如权利要求22所述的方法,其中,所述预先定义的元件包括电路板外形规格、处理器、输入/输出(I/O)端口、连接器、插槽、开关、联合测试行动小组(JTAG)扩展器和电源。
24.如权利要求17或22所述的方法,还包括:
基于所述初始设计数据生成所述定制电路板的初始设计;
输出所述初始设计;以及
使HDL的生成延迟直到接收到对所述初始设计的批准。
25.如权利要求22所述的方法,还包括:
完成包括所述定制电路板的详细电连接的所述定制电路板的设计;
生成对应于所述设计的最终网表;以及
将所述最终网表提供给所述电路板生产者。
26.如权利要求25所述的方法,还包括:
生成对应于所述设计的BOM;以及
将所述BOM提供给所述电路板生产者。
27.如权利要求25所述的方法,还包括:
执行所述设计的元件的最优放置分析;
基于所述最优放置分析的结果有选择地更新所述定制电路板的元件的放置;以及
将所述放置提供给所述电路板生产者。
28.如权利要求22所述的方法,其中,所述设计规格至少包括所述处理器和定制电路板的外形规格。
29.一种由包括以下步骤的方法生产的电路板:
接收定制电路板的设计规格,其中所述设计规格选自定制电路板的预定设计选项;
生成对应于所述设计规格的硬件描述语言(HDL);
将所述HDL输出到电路板生产者;以及
根据所述HDL生产所述电路板。
30.由如权利要求29所述的方法生产的所述电路板,其中,生产还包括至少一个以下步骤:
根据所述HDL对所述电路板布线;
将导电材料应用到所述布线;
将元件附着到所述定制电路板;
将所述元件附着到所述定制电路板;
建立所述HDL中所指定的电连接;以及
将设置数据上载到所述定制电路板。
31.由如权利要求29所述的方法生产的所述电路板,其中,所述定制电路板包括主板、模块式计算机(COM)板、高级电信计算架构(ATCA)刀片板、CompactPCI(CPCI)刀片板和VME刀片板中的一个。
32.由如权利要求29所述的方法生产的所述电路板,还包括:
基于所述设计规格选择将在所述定制电路板上实现的元件;以及
根据所述元件生成所述HDL。
33.一种由包括以下步骤的方法生产的电路板,包括:
接收定制电路板的设计规格;
基于所述设计规格选择用于所述定制电路板的元件;
确定所述定制电路板上的元件的布置;
基于所述元件和所述布置生成所述定制电路板的初始设计数据;
基于所述初始设计数据生成硬件描述语言(HDL);以及
根据所述HDL生产所述电路板,
其中,所述定制电路板包括主板、模块式计算机(COM)板、高级电信计算架构(ATCA)刀片板、CompactPCI(CPCI)刀片板和VME刀片板中的一个,
其中,所述设计规格选自预定设计选项,以及
其中,所述元件选自数据库中存储的预先定义的元件。
34.由如权利要求33所述的方法生产的所述电路板,其中,生产还包括至少一个以下步骤:
根据所述HDL对所述电路板布线;
将导电材料应用到所述布线;
将元件附着到所述定制电路板;
将所述元件附着到所述定制电路板;
建立所述HDL中所指定的电连接;以及
将设置数据上载到所述定制电路板。
35.如权利要求29或33所述的方法,还包括:
基于所述初始设计数据生成所述定制电路板的初始设计;
输出所述初始设计;以及
使所述HDL的生成延迟直到接收到对所述初始设计的批准。
36.如权利要求35所述的方法,还包括:
完成包括所述定制电路板的详细电连接的所述定制电路板的设计;
生成对应于所述设计的最终网表;以及
将所述最终网表提供给所述电路板生产者。
CN201010287772XA 2009-09-17 2010-09-17 用于定制电路板的硬件描述语言生成系统和方法 Pending CN102024075A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/561,329 2009-09-17
US12/561,329 US8316341B2 (en) 2009-09-17 2009-09-17 Hardware description language (HDL) generation systems and methods for custom circuit boards

Publications (1)

Publication Number Publication Date
CN102024075A true CN102024075A (zh) 2011-04-20

Family

ID=43731718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010287772XA Pending CN102024075A (zh) 2009-09-17 2010-09-17 用于定制电路板的硬件描述语言生成系统和方法

Country Status (4)

Country Link
US (1) US8316341B2 (zh)
CN (1) CN102024075A (zh)
DE (1) DE102010037566A1 (zh)
TW (1) TWI450117B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632879A (zh) * 2019-09-24 2021-04-09 杭州起盈科技有限公司 一种将电路图用高级硬件描述语言重构的自动化方法
WO2022001541A1 (zh) * 2020-06-28 2022-01-06 上海望友信息科技有限公司 一种协同编程方法、装置、系统及电子设备、存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012083969A (ja) * 2010-10-13 2012-04-26 Fujitsu Ltd 部品情報提供システム,部品情報提供装置および部品情報提供プログラム
US8566773B2 (en) * 2012-02-15 2013-10-22 International Business Machines Corporation Thermal relief automation
US8464200B1 (en) 2012-02-15 2013-06-11 International Business Machines Corporation Thermal relief optimization
JP2013186620A (ja) * 2012-03-07 2013-09-19 Toshiba Corp 半導体集積回路の設計装置、半導体集積回路の設計方法、半導体集積回路の設計プログラム、及び半導体集積回路の設計プログラムを記憶した記憶媒体
US10089429B2 (en) * 2013-12-31 2018-10-02 Altium Llc Method and system for verifying printed circuit board designs, and creating or verifying related electronic component placement data for printed circuit board fabrication and assembly
US9703899B1 (en) * 2015-08-18 2017-07-11 Redpine Signals, Inc. IoT product synthesis apparatus and method
US9697162B1 (en) * 2015-08-18 2017-07-04 Radpine Signals, Inc. IoT product synthesis apparatus and method
EP3474650B1 (de) * 2017-10-19 2020-12-09 Sick Ag Verfahren zur erstellung eines rüstsatzes für eine bestückungsmaschine
WO2021055632A1 (en) * 2019-09-17 2021-03-25 S3 Fuzion, Inc. Interactive system for guiding electronics design and assembly

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1421014A (zh) * 2000-02-28 2003-05-28 卡登斯设计系统公司 选择并获取用于电路及芯片设计的电子元件的自动化方法及系统
CN1505270A (zh) * 2002-12-04 2004-06-16 华为技术有限公司 一种用于硬件设计的原理图审查方法
CN1638096A (zh) * 2004-01-09 2005-07-13 松下电器产业株式会社 半导体集成电路的自动布局方法
CN1735891A (zh) * 2001-06-08 2006-02-15 韵律设计系统公司 使用远程资源的芯片设计方法和系统
US20080301601A1 (en) * 2007-05-09 2008-12-04 Chun Kit Ng Techniques for use with automated circuit design and simulations

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533361B2 (en) * 2005-01-14 2009-05-12 Cabot Corporation System and process for manufacturing custom electronics by combining traditional electronics with printable electronics
US7860919B1 (en) * 2007-03-30 2010-12-28 Emc Corporation Methods and apparatus assigning operations to agents based on versions
US7908576B2 (en) * 2007-12-10 2011-03-15 Inpa Systems, Inc. Method of progressively prototyping and validating a customer's electronic system design

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1421014A (zh) * 2000-02-28 2003-05-28 卡登斯设计系统公司 选择并获取用于电路及芯片设计的电子元件的自动化方法及系统
CN1735891A (zh) * 2001-06-08 2006-02-15 韵律设计系统公司 使用远程资源的芯片设计方法和系统
CN1505270A (zh) * 2002-12-04 2004-06-16 华为技术有限公司 一种用于硬件设计的原理图审查方法
CN1638096A (zh) * 2004-01-09 2005-07-13 松下电器产业株式会社 半导体集成电路的自动布局方法
US20080301601A1 (en) * 2007-05-09 2008-12-04 Chun Kit Ng Techniques for use with automated circuit design and simulations

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632879A (zh) * 2019-09-24 2021-04-09 杭州起盈科技有限公司 一种将电路图用高级硬件描述语言重构的自动化方法
CN112632879B (zh) * 2019-09-24 2023-08-29 杭州起盈科技有限公司 一种将电路图用高级硬件描述语言重构的自动化方法
WO2022001541A1 (zh) * 2020-06-28 2022-01-06 上海望友信息科技有限公司 一种协同编程方法、装置、系统及电子设备、存储介质

Also Published As

Publication number Publication date
US20110066992A1 (en) 2011-03-17
TW201113737A (en) 2011-04-16
DE102010037566A1 (de) 2011-06-16
TWI450117B (zh) 2014-08-21
US8316341B2 (en) 2012-11-20

Similar Documents

Publication Publication Date Title
CN102024075A (zh) 用于定制电路板的硬件描述语言生成系统和方法
US8839171B1 (en) Method of global design closure at top level and driving of downstream implementation flow
US8296699B1 (en) Method and system for supporting both analog and digital signal traffic on a single hierarchical connection for mixed-signal verification
US10558780B1 (en) Methods, systems, and computer program product for implementing schematic driven extracted views for an electronic design
EP2176802A2 (en) Customizable synthesis of tunable parameters for code generation
CN110383272A (zh) 时钟树分析和优化的形式化方法
JP4136495B2 (ja) 方向性結合器を含む回路の設計支援装置、その設計支援プログラム、及び回路の設計方法
Signorini et al. Present and future of I/O-buffer behavioral macromodels
US20150161319A1 (en) Generating database for cells routable in pin layer
KR100999016B1 (ko) 반도체 장치에 대한 동시 동작 신호 노이즈에 기초하여 지터를 견적하는 방법, 그 견적에 사용하는 동시 동작 신호노이즈량 대 지터량 상관 관계를 산출하는 방법, 이들을 실현하는 프로그램을 기록한 기록매체, 및 반도체 장치 및 그것이 탑재된 프린트 회로 기판의 설계 방법
Hemani Charting the EDA roadmap
Wu et al. A method to transform synchronous pipeline circuits to bundled-data asynchronous circuits using commercial EDA tools
US20150227660A1 (en) Integrated circuit clock tree visualizer
US7412669B1 (en) Generation of graphical design representation from a design specification data file
US9465903B1 (en) Programmable IC design creation using circuit board data
US8145442B2 (en) Fast and accurate estimation of gate output loading
CN109885850B (zh) 一种局部寄存器的生成方法及生成系统
da Silva et al. Synthesis of Steel-ASIC, a RISC-V Core
US20090064082A1 (en) Method for custom register circuit design
US20100037198A1 (en) Port assignment in hierarchical designs by abstracting macro logic
JP4855283B2 (ja) 半導体集積回路の設計装置
CN115857859B (zh) 元件模块的调试方法、装置、电子设备及存储介质
Li SiP Simulation and Verification
Upadhyay System Monitoring Tool for Remote Debugging, Monitoring and Validation...
CN101310279A (zh) 分析集成电路上功率分布中的电压降的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110420