CN1734458A - 电子设备建模的方法和系统 - Google Patents
电子设备建模的方法和系统 Download PDFInfo
- Publication number
- CN1734458A CN1734458A CNA2005100900345A CN200510090034A CN1734458A CN 1734458 A CN1734458 A CN 1734458A CN A2005100900345 A CNA2005100900345 A CN A2005100900345A CN 200510090034 A CN200510090034 A CN 200510090034A CN 1734458 A CN1734458 A CN 1734458A
- Authority
- CN
- China
- Prior art keywords
- model
- electronic equipment
- partial
- electronic unit
- partial model
- 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
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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
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)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提供了电子设备建模的方法和系统。通过在所述电子设备中识别电子部件、搜索部件模型以为每个电子部件定位部件模型,并且在所述电子设备的设备模型中记录每个部件模型,来产生电子设备的模型。可以在数据存储器中随后访问并更新先前产生的设备模型。也公开了电子设备结构分析技术。根据电子设备的描述识别电子部件及其任何子部件,并且提供了任何被识别的部件和子部件的指示。因而可以为了功能仿真、进一步的结构分析或其它目的将所述指示用在产生所述电子设备的模型中。
Description
技术领域
本发明通常涉及电子设备,并且特别涉及电子设备的功能仿真。
背景技术
在电子设备的设计期间,功能仿真在设计验证中可能消耗大量的时间。所述努力可能包括集中所需电子部件模型,将通常以供应商指定格式的电子设备图表转换为例如VHDL(VHSIC(超高速集成电路)描述语言)代码,为确认和/或校正版本而检查模型,并且如果需要的话修改图表。因此,仿真设计的高级过程可以开始于将被制造的电子设备的图表。所述图表因而被输出到将用VHDL仿真器仿真的结构VHDL网表(netlist)中。
利用传统仿真技术的一个问题是在输出网表中不存在功能、定时或结构层次信息的清楚指示。主要是部件的VHDL格式的文本描述以及其如何互联。在所述网表中用于各种部件的模型可能来自大量的源。许多不同的第三方供应商提供用于标准部件的模型;其它仅针对其自己的部件提供功能性模型。也可以例如针对定制FPGA(现场可编程门阵列)或ASIC(专用集成电路),从本地(native)设计源提供功能性。通常,在组织内获得并支持来自若干不同源的模型,并且验证团队必须集中针对特定网表所有所需的模型以执行功能仿真。
尽管模型在网表中提供了部件的功能信息,传统的仿真工具不提供部件或部件模型层次的指示。部件或其模型可以参考、包括、调用或相反被关联于其它部件或模型。这样,必须编辑仿真模型中的部件模型以特别避免编辑时刻的错误。例如,如果模型A参考模型B,则模型B必须在模型A之前被编辑。根据还没有编辑当前编辑模型所需的关联模型时的编辑时刻错误(例如上述例子中在模型B之前编译模型A),或根据网表的详细人工分析,发现所述类型的模型间相关性。
另一个问题随无源(passive)和模拟部件出现。目前,VHDL仅支持数字仿真。可以针对例如开放的或短的特定功能性对例如电阻的部件建模,但是其它部件必须从所述网表中被除去。不能仿真和因此移除例如电容和电感。这需要所述网表的处理。存在一些脚本以协助所述过程,但是其不是本能的并且提供了错误源到所述设计中。
对于例如印刷电路板(PCB)的某些电子设备,仿真模型是巨大而且复杂的。其通常包括多个ASIC、FPGA和微处理器。一次仿真整个PCB事实上是不可能的。因此,可以创建测试事例以一次仿真板的一部分。这也需要修改和处理所述网表。某些部件将需要使用不同的功能性模型,其它将被移除。所述过程是耗时的,并且容易出现人工错误。
此外,仿真环境可能包括大量的第三方工具。例如,存在仿真器、第三方模型、存储器模型工、硬件模型工和验证以及测试台工具。必须配置所有所述工具以共同可靠地连接到无缝环境中。这可能导致由不同设计者和测试者所创建的环境的几个版本,这对于以后的支持或当传递设计给新的设计团队时是困难的。
对于特定设计仿真,可能存在许多不同的优选设计结构。这使得新团队成员难于熟悉整个设计。这主要由于典型的全部设计的复杂性和大小。例如,可能存在几个类型的模型、验证源、以及设计的部分(测试事例),这些都必须以全面的方式设置。然而,结构对某个设计者而言是全面的,但对其他人可能是不全面的。
这样,传统功能仿真技术趋于密集的工作,其包括了许多耗时和容易出错的人工操作,并且难于支持和管理。
发明内容
需要减少人工准备和管理执行电子设备功能仿真的环境所耗费的时间。
根据本发明的实施例的机器实现(machine-implemented)的技术通过自动进行与构建仿真模型相关联的许多操作,简化了功能仿真,所述操作例如包括部件模型集中和结构层次识别。本发明的实施例也规定了归档和后续更新或仿真模型的完成。
本发明的一个方面提供了一种为具有至少一个电子部件的电子设备产生设备模型的机器实现的方法。所述方法包括识别所述至少一个电子部件的每一个,搜索部件模型以为所述至少一个电子部件的每一个定位部件模型,以及在所述电子设备的设备模型中记录每个部件模型。
可能基于例如硬件描述语言描述的所述电子设备的描述的识别操作可以包括确定每个部件是否包括子部件。
在某些实施例中,所搜索的模型包括不同格式的部件模型。所述部件模型可能被存储在多个目录中,包括本地和远端目录。
部件模型的记录可能包括在所述设备模型中存储所述部件模型的软件代码、到所述部件模型的软件代码的指针或两者。在所述搜索操作期间被定位的部件模型可以被添加到所述部件模型,或被用于替换先前在所述设备模型中被记录的部件模型。
针对没有定位部件模型的任何电子部件,优选地在所述设备模型中记录占位符(placeholder)部件模型。用随后被定位的部件模型,或从所述设备模型中被删除的部件模型来替代占位符部件模型。
也提供了一种用于产生电子设备的设备模型的系统。在一个实施例中,系统包括用于接收电子设备描述的输入和处理器,该处理器被配置以识别电子设备中的电子部件、搜索多个部件模型来为所述电子部件的每一个定位部件模型,并且在所述电子设备的设备模型中记录每个部件模型。
根据本发明的另一个方面,提供了一种为具有至少一个电子部件的电子设备管理电子模型的方法,并且该方法包括在数据存储器(data store)中访问(accessing)设备模型,定位电子设备的电子部件的部件模型,以及在所述设备模型中记录所述部件模型。
所述数据存储器包括本地数据存储器或远端数据存储器。
如上所述,记录可能包括例如添加部件模型到所述设备模型,或用被定位的部件模型替代所述设备模型中的部件模型。例如可以由所述部件模型的不同版本、不同格式的部件模型或在占位符部件模型的情况下随后被定位的部件模型,来替代所述设备模型中的部件模型。
在某些实施例中,基于用户输入来确定是在所述设备模型中记录部件模型还是丢弃所述部件模型。
也提供了一种电子模型管理系统,并且在一个实施例中包括接口和处理器,该处理器被配置以在数据存储器中访问所述设备模型、针对所述电子设备的电子部件来定位部件模型、并在所述设备模型中记录所述部件模型。
本发明的另一个方面提供了一种电子设备结构分析的机器实现的方法。所述方法包括下列操作:从所述电子设备描述识别该电子设备的电子部件、确定所述部件是否包括子部件、重复识别和确定的操作,并且提供所述电子设备的任何被识别的部件和子部件的指示,所述重复识别和确定的操作当所述电子部件包括子部件时是针对所述子部件的,或当所述电子部件不包括子部件时是针对所述电子设备的另一个电子部件的。
针对所述电子设备的每个电子部件或其子集,重复识别和确定的操作。所述子集可能例如包括这样的电子部件:在所述电子设备的分层结构中低于用户指定的电子部件。
根据本发明的另一个方面的电子设备结构分析系统包括用于接收所述电子设备描述的输入和处理器,该处理器被配置以从所述电子设备的描述来识别该电子设备的电子部件、确定所述部件是否包括子部件,并且提供所述电子设备的任何被识别的部件和子部件的指示。所述处理器当所述电子部件包括子部件时针对该子部件,或当所述电子部件不包括子部件时针对该电子设备的另一个电子部件,优选地重复识别和确定的操作。
在读过下面本发明的特定说明性实施例的描述后,本发明的实施例的其它方面和特征对于本领域的普通技术人员来说将变得明显。
附图说明
参考附图,现在将更详细地描述本发明的实施例的例子,其中:
图1是根据本发明的实施例的方法的流程图;
图2是根据本发明的实施例的系统的框图;
图3是根据本发明的另一个实施例的方法的流程图;
图4是说明本发明又一个实施例的方法的流程图;
图5是图4所示方法的更详细的例子的流程图;并且
图6是说明由本发明实施例简化的仿真系统的框图。
具体实施方式
本发明的实施例提供了一种用于准备电子设备的公共仿真基础结构的工具。所述工具可以提供任何或所有下列功能:定位和检索所需部件模型、验证该模型的有效性/版本、自动将供应商指定格式的图表转换为VHDL或一些其它表述、移除仿真不需要的部件以加速该仿真(例如端接和去耦电容),以及创建编辑时间相关性的列表以确保适当地编辑更新后的文件。因此,所述工具允许设计者集中于验证设计而不是创建和维护仿真基础结构,这可以有助于缩短设计周期。
图1是根据本发明的实施例的方法的流程图。应当认识到,图1的方法以及其它图的内容仅为说明性的目的,并且本发明决不限于附图清楚示出和此处明确描述的特定示例实施例。
图1的方法涉及为具有至少一个电子部件的电子设备产生仿真模型,并且该方法利用下面参考图2进一步详细描述的处理器,优选地是机器实现的。例如电子设备可以是PCB。然而,本发明决不限于任何特定类型的电子设备或部件。
开始于10的所述方法识别所述电子设备的每个电子部件。在12,搜索部件模型以为所述电子部件的每一个定位部件模型。然后在14在所述电子部件的仿真模型中记录每个被定位的部件模型。
在10的所述识别操作可以包括例如,识别来自所述电子设备的描述的每个电子部件,所述描述示例性地是VHDL描述。在一个实施例中,通过将所述电子设备的图表转换为VHDL代码来产生电子设备的描述。然而,应当认识到,可以联合其它类型的图、其它硬件描述语言(HDL)以及其它类型的电子设备描述来实现本发明的实施例,所述硬件描述语言例如是Verilog和Abel。此外,本发明的实施例可以支持多种类型的HDL模型或部件。
识别也可以包括确定每个部件是否包括子部件。因此,可以识别电子设备的分层结构而不需要网表的详细人工分析,如下面参考图4和5的详细描述。
例如在12搜索的所述部件模型可以包括针对相同部件的不同格式的部件模型或部件模型的不同版本。如果为部件定位了不止一个部件模型,则可以提示用户选择所述部件模型之一。
尽管已知的仿真工具受限于访问预定存储位置,通常是部件模型的单个目录,然而在12优选地搜索多个位置或目录。在某些实施例中,在本地数据存储器内开始搜索,然后针对没有为其在本地存储器中定位部件模型的任何部件的部件模型搜索远端数据存储器。所述远端数据存储器可以包括例如部件模型的中心储存库(repository),所述中心储存库通过公司网络对于公司内所有验证系统都是可用的。也期望远端存储器可以包括通过例如因特网的公共网络能够访问的公共储存库。
在14的记录操作可以包括在所述仿真模型中存储每个部件模型的软件代码、到每个部件模型的软件代码的指针,或可能包括两者。根据本发明的实施例,公共目录结构被用于所有仿真模型以因此标准化仿真模型格式。部件模型软件代码和/或指针因而被存储在所述仿真模型结构内的预定位置。
对于新的仿真模型,例如通过添加信息到所述仿真模型,通过在该仿真模型中存储新的软件代码和/或指针,在14记录部件模型。然而在某些实施例中,在14的记录包括替换所述仿真模型中先前被记录的部件模型。所述先前被记录的部件模型可能是“虚拟的”或占位符部件模型,所述占位符部件模型针对没有为其定位部件模型的任何电子部件被记录在所述仿真模型中。这样,所述占位符部件模型优选地由随后定位的部件模型所替代。记录部件模型可能也由例如所述部件模型的不同版本或格式所替代。可能期望或需要部件模型的替代的其它情况对本领域技术人员而言也将是明显的。
当已经识别了例如端接电阻、解耦电容或其它不能被仿真或可以从仿真模型中被移除以缩减仿真时间的部件,例如也可以使用占位符部件模型。所述部件的占位符部件模型可以被配置以对某些功能进行建模,或从仿真模型完全被移除。
尽管上面已经在电子设备的功能仿真的建模情况下描述了模型的产生,还应当认识到,本发明的实施例也可以实际上在所述设计过程中的任何阶段、针对除了功能仿真之外的目的更通常地应用于电子设备的建模。这可以例如包括综合、布局和布线(post place and route)仿真。因此这里参考仿真模型应当解释为不限于用于功能仿真中的电子设备模型。
图2是根据本发明的实施例的系统的框图。所述系统30包括连接到输入20的处理器24、到存储器29的接口22、用户接口26和存储器28。在一个实施例中,在计算机系统中或其它处理设备中实现所述系统30,所述其它处理设备可能包括没有在图2中清楚示出以避免拥挤的其它部件。通过以下描述,本发明的实施例不必包括图2所示的所有元件也将变得显而易见。因此,可以在包括少于或多于图2所示的元件的系统中实现本发明的实施例。
所述输入20是用于接收电子设备的描述的元件,并且可能包括例如用于从本地源接收所述描述的数据总线或连接,或用于从远端源接收所述描述的接口。尽管作为单个框图示出,但是所述输入20可以包括用于从多个源接收电子设备描述的多种类型的输入设备。
所述接口22提供了对存储在所述远端存储器29中的部件模型的访问,并且可以包括例如在公司网络中的服务器提供所述存储器29的网络接口设备。如上所述,所述存储器29可以是公共可访问储存库,这样,所述接口22可以包括到因特网或某些其它公共网络的接口。许多不同类型的接口对于本领域的技术人员来说是明显的。特定类型的接口22将取决于所述存储器29所支持的接入机制。类似于所述输入20,所述接口22可以包括用于访问多个远端存储器的多个接口设备。预期单个元件可以同时作为用于接收电子设备描述的输入和用于访问远端数据存储器的接口。
所述用户接口26代表了用于接收来自用户的输入或用于提供输出给用户的一个或多个元件,或代表两者。键盘和鼠标是用于接收用户输入的元件的例子,并且显示器和打印机是输出设备的说明性例子。触摸屏显示器提供了输入和输出功能性。其它类型的输入和输出设备对于属于本发明的领域的技术人员而言是明显的。尽管在图2中显示为所述系统30的元件,应当认识到,所述用户接口26可以包括如同接收机、发射机或两者的元件,用于从外部或远端系统或位置接收用户输入和/或提供输出给外部或远端系统或位置。
所述存储器28代表了本地存储器设备,并且可以包括例如,任何固态存储器设备和适于通过固定或可拆装的存储器媒体来操作的其它存储器设备。
在一个实施例中,所述处理器24是执行所述存储器28中存储的软件的微处理器。可以替代地将该处理器24实现为微控制器、ASIC或其它处理元件。利用专用处理器或也执行其它功能的处理器可以实现本发明的实施例。例如,所述处理器24可以执行操作系统软件和软件应用,以支持除此处公开的功能之外的功能。
为了产生上述电子设备的仿真模型,所述处理器24被配置,以基于通过所述输入20接收的电子设备描述来识别该电子设备的每个电子部件、搜索部件模型来为每个被识别的电子部件定位部件模型,并且在仿真模型中记录每个部件模型。如将变得明显的,通过执行软件可以配置所述处理器24以执行所述和其它功能。
所述电子设备的描述可以是该电子设备的图表。这样,优选地进一步配置所述处理器来将所述图表转换为所述电子设备的描述,并且基于所述电子设备的描述来识别电子部件。可选地,通过所述输入20接收的所述描述可以是所述电子设备的描述而不是图表。因此,通过所述系统30或通过外部系统或设备可以实现图表到电子设备描述的转换。如上所述,所述电子设备的描述可以例如是VHDL描述。
所述处理器24还可以被配置以确定每个电子部件是否包括关联的子部件。
如上所述的部件模型的搜索可能包括搜索部件模型的多个目录。所述目录可能包括所述存储器28中的本地数据存储器的目录、所述存储器29中的远端数据存储的目录,或所述本地数据存储器和远端数据存储器的目录。在一个实施例中,配置所述处理器以首先搜索存储在所述本地数据存储器中的部件模型,并且然后搜索存储在所述远端数据存储器中的部件模型,以针对没有为其在该本地数据存储器中定位部件模型的任何电子部件来定位部件模型。
上面已经描述了涉及产生仿真模型的本发明的实施例。图3是根据本发明的另一个实施例的方法的流程图,其涉及存档并随后管理电子设备的仿真模型。
图3的方法包括在32在数据存储器中访问仿真模型,在34定位所述电子设备的电子部件的部件模型,并且在36在所述仿真模型中记录部件模型。存储了所述仿真模型的数据存储器可以是本地数据存储器或远端数据存储器。
在36的所述部件模型的记录可以包括例如添加所述部件模型到所述仿真模型,其中在存储所述仿真模型之前,所述部件模型没有被定位。在36的所述记录操作可以也包括以被定位的部件模型来替代所述仿真模型中的部件模型。例如,所述被定位的部件模型可以是所述仿真模型中的部件模型的不同版本,或不同于所述仿真模型中的部件模型的格式的部件模型。在某些实施例中,所述仿真模型包括没有先前为其定位部件模型的任何电子部件的占位符部件模型。在所述仿真模型中,占位符部件模型因而可以由被定位的部件模型替代。
在36的所述记录操作也可以取决于用户输入。例如,基于接收于用户的输入,响应提示以确认所述被定位的部件模型将被存储在所述仿真模型中或被用于替代所述仿真模型中的部件模型,可以记录或丢弃在34被定位的所述部件模型。以这种方式提示用户允许该用户控制将在所述仿真模型中包括部件模型的哪个版本或格式。
在大多数实施例中,通过在相同的数据存储器中的在36的所述记录操作来更新所述仿真模型,从该数据存储器访问所述仿真模型。然而,应当认识到,通过在一个数据存储器中访问仿真模型,并然后在不同的数据存储器中存储并更新该仿真模型,还可以支持其它更新机制。例如在所述被更新的仿真模型已经被适当编译或相反被验证之后,该被更新的仿真模型可以此后在不同的数据存储器中被维护或被传播回原始的数据存储器。
规定上述操作的仿真模型管理系统可以具有基本上类似于图2的系统30的结构。对于仿真模型管理,所述仿真模型可以被存储在所述存储器28的数据存储器中并通过所述系统30的内部接口被访问、被存储在所述存储器29的数据存储器中并通过所述接口22被访问,或被存储在某些其它存储设备的数据存储器中并通过例如所述输入20的另一个接口被接收。也可以稍微不同地配置所述处理器24,以通过合适的接口访问所述仿真模型、定位所述部件模型,以及在所述仿真模型中记录部件模型。由所述处理器24使用的部件模型可以被存储在相同的数据存储器或作为所述仿真模型的存储设备中,或被存储在一个或多个不同的数据存储器中。
如果支持部件模型记录的用户控制,则通过所述用户接口26接收用户输入。在一个实施例中,通过利用键盘输入的命令行输入来支持用户控制。然而,也可以使用其它类型的用户接口,例如图形化(graphical)用户接口,在该接口中通过利用例如鼠标、定位设备或触摸屏来选择图标或其它图形化元件,实施控制输入。
图4是说明本发明的又一个实施例的方法的流程图。图4的电子设备结构分析的方法优选地是机器实现的,并且在40包括从所述电子设备描述识别电子设备的电子部件,在42确定所述电子部件是否包括子部件,以及在40重复所述识别操作并且如果所述电子部件包括子部件则在42针对所述子部件进行确定。即使在44确定所述电子部件不包括子部件,也针对所述电子设备的其它电子部件重复40和42的操作。在46,提供了所述电子设备的任何被识别的部件和子部件。
可以针对所述电子设备的每个电子部件、或仅针对所述电子设备的电子部件的子集,重复40的识别和42的确定操作。因此可以通过确定是否已经识别了所述电子设备的所有部件或所述子集,进行44的关于最后部件的确定。在下面参考图5进一步详细描述的一个实施例中,所述电子部件的子集包括这样的电子部件:在所述电子设备的分层结构中低于用户指定的电子部件。
在46提供的指示可以例如是视觉指示或被打印的指示。图4的方法因此提供电子设备结构的指示而不需要网表的详细人工分析或其它电子设备的描述。在一个实施例中,所述指示是分类网表的形式,根据该指示,结构层次和原始部件将是明显的。所述分类网表也有效地创建了编辑时间相关性,以确保例如在随后的仿真操作期间以适当的顺序编辑部件模型。
因此,从上述内容可以明显知道,图4的方法可以被用来确定电子设备的层次结构。还可以为其它目的使用所述结构的指示,例如电子设备的功能仿真。在图1的方法的情况中,例如,在46产生的分类网表可以被用作描述,根据该描述识别电子设备的电子部件。
与图2的系统30结构基本上类似的系统也可以用来规定电子设备结构分析。例如,可以通过输入20、接口22,或通过内部接口从存储器28,接收所述电子设备的描述。为了能够进行如上所述的结构分析,配置所述处理器24以根据所述电子设备的描述来识别所述电子设备的电子部件、确定所述部件是否包括子部件、重复所述识别和确定的操作并且例如通过用户接口26提供所述电子设备的任何被识别的部件和子部件,所述重复识别和确定的操作当所述电子设备包括子集时是针对该子集的,当所述电子设备不包括子集时是针对该电子设备的另一个电子部件的。通过所述用户接口26接收的用户输入优选地控制为其重复识别和确定的操作的部件。
所述处理器24可以通过执行剖析器引擎(parser engine)或其它软件应用、应用程序(utility)或模块被配置以执行所述识别和确定的操作,并通过针对所述子部件或其它部件调用所述剖析器引擎来重复所述识别和确定的操作。
图5是图4所示方法的更详细的例子的流程图。图5的流程图示出了作为电子设备描述的说明性例子的VHDL网表的剖析。如同根据电子设备分析系统的前面描述明显知道的,可以利用VHDL剖析器引擎来实现图5的操作。
根据本发明的实施例,剖析器引擎确定电子设备或设计的结构层次、所述设计中的电子部件的名称以及该电子部件的可用功能部件模型。也优选地创建任何没有可用模型的电子部件的占位符部件模型。优选地存储所有被识别的电子部件和部件模型的信息,用于后面的分析、测试事例处理或其它处理。
如同本领域技术人员将认识到的,VHDL针对网表中的每个部件由实体和结构组成。所述实体等同于“黑盒”并且所述结构提供功能性,所述黑盒定义到部件的接口。通过例示所述实体为部件来形成层次。所述部件也可以包括子部件。在网表中,通常存在许多级别的层次。包括部件的任何层次级别不限于实际部件本身。
现在参考图5,在50,顶级实体名是由用户输入的或从起动所述剖析器的仿真模型的目录结构中的位置推断的。所述剖析方法开始于52,并且在54进行搜索所述顶级实体的结构。如果如56所确定的没有找到结构,则所述部件是原始的,如在58所指出的,并且所述电子设备不包括低于所述顶级实体的任何分层级别。
如果所述剖析器在当前分层级别找到部件的结构,则如在56确定的,所述剖析器在60以新的部件名再次调用其自身(剖析器)。该剖析器然后在62搜索更多部件的所找到的结构。重复所述过程直到不再找到特定结构的部件,如66所确定的。例如针对随后的模型集中阶段,在64将在62找到的部件标记为初始的。所述剖析器然后在68确定所完成的结构是否是与顶级实体相关联的顶级结构,并且如果不是,在72退回到先前调用的结构,并继续查找部件。当完成所述剖析器或退回到所述顶级结构时,所述方法在70结束。
将通过参考具有以下层次的简单的例子设计来进一步说明设计剖析:Top_Entity_Architecture
Component1
Sub_comp1A
Sub_comp1B
Component2
Sub_comp2A
Component3
Sub_comp3A
Sub_comp3B
Sub_comp3C
Component4
Component5End
所述剖析器开始查找具有Top_Entity_Architecture的部件。首先所述剖析器找到Component1。然后再次递归地调用该剖析器,以查找Component1结构,并搜索部件。所述剖析器找到Sub_comp1A。然后其递归地调用自身,再次查找部件。这次该剖析器没有找到任何部件并标记Sub_comp1A为初始的,并退出。由于在所述剖析器递归到Sub_comp1A之前没有完成先前的Component1结构,因此该剖析器继续搜索并找到Sub_comp1B。重复所述过程直到在Component5到达Top_Entity_Architecture的结束。
一旦已经识别了所有初始部件,就可以如上所述完全定位功能部件模型。如果找到部件的部件模型,则优选地将其记录在仿真模型中。如果不能找到功能模型,则可以创建占位符实体以及可能的结构,以使例如在部件模型集中期间避免错误。
在一个实施例中,通过所述剖析器构建反映整个板设计的数据库。如果必要,所述数据库针对设计中的每个部件维护信息,以重新构建所述VHDL网表。这能够实现例如相对简单有效的测试事例产生。
如上所述,当设计太大并且复杂以至不能处理其整体时,可以产生测试事例。在上述例子中,如果仅Component3将被仿真则可能产生测试事例。设计者因而提供合适的控制输入以仅针对层次中的Component3创建测试事例情景,其将自动包括所有Component3的子部件。由于本发明的实施例自动识别电子设备结构,因此设计者甚至不需要知道所述子部件。将仅针对Component3编写顶级VHDL实体和结构文件,并针对所述测试事例编写关联的配置文件。这将通过被配置的仿真器来编辑并因而准备好仿真。为了保留主网表的完整性,即使所有测试优选地从主网表产生,也优选地不在测试事例产生期间过多编写整个设计的网表。例如,可以通过每个测试事例对照相应的图表版本被标记来针对设计的不同图表版本提供支持。
在上述示例的测试事例的情况下,也可以清楚地说明替换仿真模型中的部件模型的上述特征。例如,如果Sub_comp3B是“黑盒”以验证Sub_comp3A和Sub_comp3C的相关性,则设计者可以指定Sub_comp3B的新结构或部件类型。如果部件的所述新类型存在,则将其映射到所述测试事例的数据库或文件中以由此替代所述仿真模型中的Sub_comp3B。否则,可能针对Sub_comp3B创建空文件。所述功能性类型在当前已知的电子设备建模系统中是不可用的。
图6是说明通过本发明实施例简化的仿真系统的框图。在图6中,示出了产生并处理仿真模型的包含各种功能的验证环境80,其包括在88获得部件模型、在90创建部件模型、在92处理网表、在94产生测试事例、在96集成各种仿真工具、在98确认部件模型和/或仿真模型以及在100调试部件模型和/或仿真模型。从较高级别,可能支持上述任何方法和操作或其组合的所述仿真环境82,为用户86提供了到整个电子设备仿真过程中的单个入口点。公共仿真环境基于电子设备的描述84,能够使针对构建、管理和处理网表以及所述验证环境80的命令,例如对于任何用户和任何设计是本能的并且是不变的。此外,当新的模型可用或第三方工具改变时,可以重配置所述仿真环境82以并入所述改变。
因此,用户仅需要熟悉所述仿真环境82,而不是所述验证环境80中的每个元件。在当前使用的设计验证技术中,设计者经常在所述验证环境80中花费比实际仿真更多的时间。本发明的实施例通过一个到模型、工具和过程的中心管理接口,有效地将用户86从所述验证环境80移除,使得以更少的时间进行更多的仿真。
上述内容仅是本发明的原理应用的说明。本技术领域技术人员可以不脱离本发明的范围来实现其它安排和方法。
例如,尽管首先对于方法和系统的情况进行了描述,然而也预期本发明的其它实现,例如存储在计算机可读媒体中的指令。
Claims (58)
1.一种为具有至少一个电子部件的电子设备产生设备模型的机器实现的方法,包括:
识别所述至少一个电子部件的每一个;
搜索多个部件模型,以为所述至少一个电子部件的每一个定位部件模型;以及
在所述电子设备的设备模型中记录每个部件模型。
2.根据权利要求1的方法,其中,识别包括从所述电子设备的描述识别每个电子部件。
3.根据权利要求2的方法,其中,所述描述包括HDL(硬件描述语言)描述。
4.根据权利要求1到3的任何一个的方法,其中,对于每个电子部件,识别包括确定所述部件是否包括至少一个子部件。
5.根据权利要求1到3的任何一个的方法,其中,所述多个部件模型包括不同格式的部件模型。
6.根据权利要求1到3的任何一个的方法,其中,搜索包括搜索多个目录。
7.根据权利要求1到3的任何一个的方法,其中,记录包括在所述设备模型中存储每个部件模型的软件代码的至少一个以及到每个部件模型的软件代码的指针。
8.根据权利要求1到3的任何一个的方法,其中,记录包括替代所述设备模型中先前被记录的部件模型。
9.根据权利要求8的方法,其中,记录还包括针对没有为其定位部件模型的任何所述至少一个电子部件,在所述设备模型中记录占位符部件模型,并且其中,替代包括以随后被定位的部件模型替代所述设备模型中的占位符部件模型。
10.根据权利要求1到3的任何一个的方法,还包括:
利用所述设备模型进行所述电子设备的仿真操作。
11.一种存储指令的机器可读媒体,当所述指令被执行时实现根据权利要求1到3的任何一个的方法。
12.一种用于为具有至少一个电子部件的电子设备产生设备模型的系统,所述系统包括:
用于识别所述至少一个电子部件的每一个的装置;
用于搜索多个部件模型以为所述至少一个电子部件的每一个定位部件模型的装置;以及
用于在所述电子设备的设备模型中记录每个部件模型的装置。
13.根据权利要求12的系统,还包括:
用于接收所述电子设备的描述的输入,
其中,所述用于识别的装置、用于搜索的装置以及用于记录的装置的至少一个由处理器来实现。
14.根据权利要求13的系统,其中,所述电子设备的描述包括所述电子设备的图表,并且其中,所述处理器还被配置以将所述图表转换为所述电子设备的描述,并且基于所述电子设备的描述来识别所述至少一个电子部件的每一个。
15.根据权利要求13或14的系统,其中,所述电子设备的描述包括所述电子设备的HDL(硬件描述语言)描述。
16.根据权利要求13或14的系统,其中,所述处理器还被配置以确定每个电子部件是否包括至少一个关联的子部件。
17.根据权利要求12到14的任何一个的系统,其中,所述多个部件模型包括不同格式的部件模型。
18.根据权利要求12到14的任何一个的系统,其中,搜索包括搜索多个目录。
19.根据权利要求18的系统,还包括:
本地数据存储器,
其中,所述多个目录包括所述本地数据存储器的目录、远端数据存储器的目录或所述本地数据存储器和所述远端数据存储器的目录。
20.根据权利要求13或14的系统,还包括:
存储部件模型的本地数据存储器,
其中,所述处理器被配置以搜索存储在所述本地数据存储器中的所述部件模型,以针对所述至少一个电子部件中的每一个定位部件模型,并且搜索存储在远端数据存储器中的部件模型,以针对没有为其在所述本地数据存储器中定位部件模型的任何电子部件定位部件模型。
21.根据权利要求13或14的系统,其中,所述处理器被配置以通过在所述设备模型中存储每个电子部件模型的软件代码的至少一个,以及到每个电子部件模型的软件代码的指针,在所述设备模型中记录每个部件模型。
22.根据权利要求12到14的任何一个的系统,还包括:
用于利用所述设备模型进行所述电子设备的仿真操作的装置。
23.一种为具有至少一个电子部件的电子设备管理设备模型的方法,所述方法包括:
在数据存储器中访问所述设备模型;
为所述电子设备的电子部件定位部件模型;以及
在所述设备模型中记录所述部件模型。
24.根据权利要求23的方法,其中,所述数据存储器包括本地数据存储器或远端数据存储器。
25.根据权利要求23或24的方法,其中,记录包括添加所述部件模型到所述设备模型。
26.根据权利要求23或24的方法,其中,记录包括以所述被定位的部件模型替代所述设备模型中的部件模型。
27.根据权利要求26的方法,其中,所述被定位的部件模型包括所述设备模型中的部件模型的不同版本,或不同于所述设备模型中的部件模型的格式的部件模型。
28.根据权利要求26的方法,其中,所述仿真模型针对先前没有为其定位部件模型的任何所述至少一个电子部件,包括占位符部件模型,并且其中,替代包括以所述被定位的部件模型来替代所述仿真模型中的占位符部件模型。
29.根据权利要求23或24的方法,其中,记录包括在所述设备模型中存储每个部件模型的软件代码的至少一个,以及到每个部件模型的软件代码的指针。
30.根据权利要求23或24的方法,还包括:
接收用户输入;以及
确定是在所述设备模型中记录所述被定位的部件模型,还是基于所述用户输入丢弃所述被定位的部件模型。
31.根据权利要求23或24的方法,还包括:
利用所述设备模型进行所述电子设备的仿真操作。
32.一种存储指令的机器可读媒体,当所述指令被执行时实现根据权利要求23或24的方法。
33.一种电子设备模型管理系统,包括:
用于在数据存储器中访问所述设备模型的装置;
用于为所述电子设备的电子部件定位部件模型的装置;以及
用于在所述设备模型中记录所述部件模型的装置。
34.根据权利要求33的系统,还包括:
接口;
其中,所述用于访问的装置、用于定位的装置以及用于记录的装置的至少一个由处理器来实现。
35.根据权利要求33或34的系统,其中,所述数据存储器包括本地数据存储器或远端数据存储器。
36.根据权利要求34的系统,其中,所述处理器被配置以在所述数据存储器中定位所述部件模型。
37.根据权利要求34的系统,其中,所述处理器被配置以通过添加所述部件模型到所述设备模型,在所述设备模型中记录所述部件模型。
38.根据权利要求34的系统,其中,所述处理器被配置以通过以所述被定位的部件模型替代所述设备模型中的部件模型,在所述设备模型中记录所述部件模型。
39.根据权利要求38的系统,其中,所述被定位的部件模型包括所述设备模型中的所述部件模型的不同版本,或不同于所述设备模型中的部件模型的格式的部件模型。
40.根据权利要求38的系统,其中,所述仿真模型针对先前没有为其定位部件模型的任何所述至少一个电子部件,包括占位符部件模型,并且其中,替代包括以所述被定位的部件模型替代所述仿真模型中的占位符部件模型。
41.根据权利要求34或36的系统,还包括:
用户接口,被配置以至少接收来自用户的输入,
其中,所述处理器还被配置以确定是在所述设备模型中记录所述被定位的部件模型,还是基于所接收的用户输入丢弃所述被定位的部件模型。
42.根据权利要求34或36的系统,其中,所述处理器被配置以通过在所述设备模型中存储每个部件模型的软件代码的至少一个,以及到每个部件模型的软件代码的指针,在所述设备模型中记录每个部件模型。
43.根据权利要求33、34和36到40的任何一个的系统,还包括:
用于利用所述设备模型进行所述电子设备的仿真操作的装置。
44.一种电子设备结构分析的机器实现的方法,包括:
从所述电子设备的描述识别该电子设备的电子部件;
确定所述部件是否包括子部件;
如果所述电子部件包括子部件则针对该子部件,或如果所述电子部件不包括子部件则针对所述电子设备的另一个电子部件,重复所述识别和确定的操作;并且
提供所述电子设备的任何被识别的部件和子部件的指示。
45.根据权利要求44的方法,其中,针对所述电子设备的每个电子部件重复所述识别和确定的操作。
46.根据权利要求44的方法,其中,针对所述电子设备的多个电子部件的子集,重复所述识别和确定的操作。
47.根据权利要求46的方法,其中,所述多个电子部件的子集包括这样的电子部件:在所述电子设备的层次结构中低于用户指定的电子部件。
48.根据权利要求44到47的任何一个的方法,其中,所述电子设备的描述包括所述电子设备的HDL(硬件描述语言)描述。
49.根据权利要求44到47的任何一个的方法,其中,提供包括提供视觉指示和被打印的指示的至少一个。
50.根据权利要求44到47的任何一个的方法,还包括:
基于所述指示产生所述电子设备的仿真模型。
51.一种存储指令的机器可读媒体,当所述指令被执行时,实现根据权利要求44到47的任何一个的方法。
52.一种电子设备结构分析系统,包括:
用于根据所述电子设备的描述识别该电子设备的电子部件的装置;
用于确定所述部件是否包括子部件的装置,
其中,如果所述电子部件包括子部件则针对该子部件,或如果该电子部件不包括子部件则针对所述电子设备的另一个电子部件,所述用于识别的装置和用于确定的装置重复所述识别和确定的操作;以及
用于提供所述电子设备的任何被识别的部件和子部件的指示的装置。
53.根据权利要求52的系统,还包括:
用于接收所述电子设备的描述的输入,
其中,所述用于识别的装置、用于确定的装置和用于提供的装置的至少一个在处理器中被实现。
54.根据权利要求53的系统,其中,所述处理器被配置以通过执行剖析器引擎识别并确定,并且通过调用针对所述子部件或其它部件的所述剖析器引擎,重复所述识别和确定的操作。
55.根据权利要求53或54的系统,其中,所述处理器被配置以针对所述电子设备的每个电子部件重复所述识别和确定的操作。
56.根据权利要求53或54的系统,其中,所述处理器被配置以针对所述电子设备的多个电子部件的子集,重复所述识别和确定的操作。
57.根据权利要求56的系统,还包括:
用于至少接收来自用户的输入的用户接口,
其中,所述多个电子部件的子集包括这样的电子部件:在所述电子设备的层次结构中低于用户输入中所指定的电子部件。
58.根据权利要求52到54的任何一个的系统,还包括:
用于基于所述指示来产生所述电子设备的仿真模型的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/918,143 | 2004-08-13 | ||
US10/918,143 US20060036422A1 (en) | 2004-08-13 | 2004-08-13 | Methods and systems for electronic device modelling |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1734458A true CN1734458A (zh) | 2006-02-15 |
Family
ID=35448089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005100900345A Pending CN1734458A (zh) | 2004-08-13 | 2005-08-09 | 电子设备建模的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060036422A1 (zh) |
EP (1) | EP1626359A3 (zh) |
CN (1) | CN1734458A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807221B (zh) * | 2010-01-29 | 2012-07-25 | 中广核工程有限公司 | 一种核电厂现场辅助施工系统及其实现方法 |
CN108629066A (zh) * | 2017-03-15 | 2018-10-09 | 台湾积体电路制造股份有限公司 | 用于开发和优化电子器件的电子架构设计的方法和计算机系统 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739260B1 (en) | 2006-12-28 | 2010-06-15 | Scientific Components Corporation | Database search system using interpolated data with defined resolution |
US8417502B1 (en) | 2006-12-28 | 2013-04-09 | Scientific Components Corporation | Mixer harmonics calculator |
US7761442B1 (en) | 2007-03-29 | 2010-07-20 | Scientific Components Corporation | Database search system for high frequency electronic components |
JP4962084B2 (ja) * | 2007-03-28 | 2012-06-27 | 日本電気株式会社 | 回路設計検証システム、方法、及び、プログラム |
US8825462B2 (en) * | 2008-09-17 | 2014-09-02 | Accenture Global Services Limited | Method and system for simulating a plurality of devices |
US20120166168A1 (en) * | 2010-12-23 | 2012-06-28 | Oracle International Corporation | Methods and systems for fault-tolerant power analysis |
US11867419B2 (en) * | 2017-07-27 | 2024-01-09 | Johnson Controls Technology Company | Systems and methods to automatically link availability of series devices in a plant |
US10754755B2 (en) * | 2018-09-28 | 2020-08-25 | Cotiviti, Inc. | Automatically validating data incorporated into a computer program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6295636B1 (en) * | 1998-02-20 | 2001-09-25 | Lsi Logic Corporation | RTL analysis for improved logic synthesis |
US6360192B2 (en) * | 1999-03-04 | 2002-03-19 | Sun Microsystems, Inc. | Transaction class |
JP2001160080A (ja) * | 1999-12-02 | 2001-06-12 | Nec Corp | オブジェクト指向言語によるシステムのシミュレーション方法、装置及びそのプログラムを記録した記録媒体 |
US7050958B1 (en) * | 2000-06-02 | 2006-05-23 | Arm Limited | Method and apparatus for accelerating hardware simulation |
US7072825B2 (en) * | 2003-06-16 | 2006-07-04 | Fortelink, Inc. | Hierarchical, network-based emulation system |
-
2004
- 2004-08-13 US US10/918,143 patent/US20060036422A1/en not_active Abandoned
-
2005
- 2005-08-09 CN CNA2005100900345A patent/CN1734458A/zh active Pending
- 2005-08-12 EP EP05300661A patent/EP1626359A3/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807221B (zh) * | 2010-01-29 | 2012-07-25 | 中广核工程有限公司 | 一种核电厂现场辅助施工系统及其实现方法 |
CN108629066A (zh) * | 2017-03-15 | 2018-10-09 | 台湾积体电路制造股份有限公司 | 用于开发和优化电子器件的电子架构设计的方法和计算机系统 |
Also Published As
Publication number | Publication date |
---|---|
EP1626359A3 (en) | 2007-08-29 |
US20060036422A1 (en) | 2006-02-16 |
EP1626359A2 (en) | 2006-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1734458A (zh) | 电子设备建模的方法和系统 | |
CN101040280A (zh) | 元数据管理 | |
CN103186639B (zh) | 数据生成方法及系统 | |
CN1221147A (zh) | 定制计算机系统的软件安装和测试 | |
CN101136027B (zh) | 用于数据库索引、搜索和数据检索的系统和方法 | |
CN101055523A (zh) | 将软件程序代码断言转换为硬件描述语言程序代码的方法 | |
US20050229045A1 (en) | Method and device for managing software error | |
CN113204571B (zh) | 涉及写入操作的sql执行方法、装置及存储介质 | |
CN101521608A (zh) | 一种测试用例的版本管理方法 | |
CN107491390A (zh) | 替换测试环境配置信息的方法及装置 | |
CN102147758A (zh) | 一种待测设备自动编译及配置方法、装置、系统 | |
CN1658156A (zh) | 程序及其构造方法、存储介质、程序构造系统及终端设备 | |
CN1441937A (zh) | 程序设计方法与装置 | |
US20050160401A1 (en) | System and method for adding user-defined objects to a modeling tool | |
CN110162299A (zh) | web程序及其快速开发框架、开发方法与相关设备 | |
CN100414498C (zh) | 可实现代码复用的server版代码生成系统 | |
CN102171696B (zh) | 定制资料的生成方法和装置 | |
CN1670715A (zh) | 在公共语言运行时语言中的资源地址支持 | |
CN1862267A (zh) | 对电路原理图进行审查的方法 | |
US7949509B2 (en) | Method and tool for generating simulation case for IC device | |
CN1809250A (zh) | 产生自动化布线宏的系统及其方法 | |
CN109271161B (zh) | 样板代码生成方法、装置及存储设备及计算机设备 | |
CN101419611A (zh) | 用于在xml数据库上执行操作的方法 | |
CN110119562B (zh) | 一种模型构件文件的管理方法、设备和系统 | |
Seifert et al. | Static source code analysis using OCL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |