当前位置: 首页 > 专利查询>明导公司专利>正文

建模和仿真方法技术

技术编号:2917083 阅读:224 留言:0更新日期:2012-04-11 18:40
一种用于对系统进行建模和仿真的方法,其中该系统包括相互联系的第一组件(X)和第二组件(Y)。该方法包括:使用第一说明书和第二说明书对所述第一组件(X)和第二组件(Y)的行为进行建模。所述第一说明书和第二说明书的每一个都包括功能说明书和相关联的仿真元件(82)。该方法进一步包括:使用所述第一说明书和第二说明书对所述第一组件和第二组件的行为进行仿真。仿真元件(82)彼此通信,以提供仿真系统。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及建模和仿真方法
技术介绍
建立系统模型并使用仿真过程来证实该模型在预定条件下的行为是已知的。该系统可以包括两个或多于两个相互联系的组件。很多建模方法是公知的,并且所选择的具体方法通常由将要建模的系统需求确定的。建模和仿真方法的一种具体应用是:在构造原型系统之前,对计算机硬件系统进行建模和仿真。由于开发原型计算机硬件系统中涉及的时间和开销,这样做是有利的。这种建模和仿真可以充分地减少在达到最终设计之前所需的设计迭代的数量。此外,由于建模和仿真能够在设计周期的早期识别出问题,所以建模和仿真可以增大最终系统按照预期进行操作的可能性。一旦建模和仿真过程证实了被建模的系统表现出了所需的行为,则计算机硬件设计者将可以确信:构建可证明与该模型相同的系统实现将得到预期结果。已知:在设计计算机硬件系统期间,可以在各种抽象层考虑该计算机硬件系统。此外,可以在各种抽象层对计算机硬件系统进行建模和仿真。例如,建模通常开始于以自然语言(例如,英语)编写的系统说明书。随后,在此说明书的基础上创建架构和性能模型。这种模型通常通过高级计算机编程语言(例如,C++)创建。架构和性能模型用来验证系统的架构设计,以及评价各种设计特征的性能。在此建模阶段,可以根据架构和性能建模的结果对系统说明书进行修改。一旦完成此过程,便通过自然语言来创建系统各个组件的单元说明书,并且将这些单元说明书转化成以硬件描述语言(HDL)-->(诸如VHDL或者Verilog)编写的说明书,从而允许在较低抽象层(例如,寄存器传输层(RTL))的建模。上述系统说明书附有根据该系统说明书创建的适当系统测试,以验证系统的行为。还是根据该系统说明书创建的单元测试被用以使用仿真过程来验证各个组件的行为。传统上,这种仿真在单个抽象层(例如RTL)处执行。由于这种仿真在对任何组件进行仿真之前都需要针对所有组件完成详细的RTL设计,所以其显然是不利的。根据上述系统说明书来生成单元说明书以及创建适当测试是手动执行的。单元说明书的这种手动生成是耗时且容易出错的。此外,在RTL处测试整个系统在创建测试数据和仿真两方面都是非常耗时的。在试图解决这些问题的方案中,已经使用编程语言(诸如,VHDL和C++)所提供的高级特征来尝试在较高的抽象层进行建模。然而,遇到了重大问题,因为这种高层建模无法直接连接到RTL模型。在不同抽象层建模的组件之间手动创建转换器通常被证明是至少与创建较低层模型本身一样复杂并且容易出错的任务。自动化对系统组件在不同抽象层(例如,系统层和RTL)制定的系统进行仿真的过程是已知的。公开号为EP1,517,254的欧洲专利申请描述了一种用于对系统内相互联系的第一组件和第二组件的行为进行仿真的方法。所描述的方法包括:使用第一功能说明书和第二功能说明书对组件的行为进行建模,以及在预定的环境中对该组件进行仿真。被建模的组件可以处于不同的抽象层。EP1,517,254描述了这样的系统,其中组件完全通过软件进行建模。然而,在多层建模中,仿真速度受限于最低层组件的仿真速度。这是因为:由于在低层模型内包含大量细节,所以与较高行为层相比,在较低抽象层(例如,RTL)对单个组件进行仿真的计算代价很大。此外,现有仿真系统(例如,在EP1,517,254中描述的)需要单独的仿真器来管理所有建模组件的仿真过程。尽管这代表大量计算上的开销,但是管理单独的建模组件对于计算资源的冲突需求,-->单独的仿真器是必要的。使用单个组件的低层HDL模型来对可编程计算设备进行编程以便通过硬件来实现该模型是已知的。在此使用的术语“可编程计算设备”可以是单个可编程芯片。可选地,可编程计算设备可以包括多个互连的可编程芯片。此外,可编程计算设备可以包括模拟器盒(emulator box);除了一个或多个可编程芯片以外,该模拟器盒可以替代地或者附加地包括处理元件。HDL模型确定可编程计算设备的行为。可编程计算设备可以在仿真过程中使用,以加速整个系统的仿真。然而,已经证实:这仅在建模系统的所有组件是在同一低层被建模时才是有效的。这归因于在将高层软件模型与低层硬件模型对接时遇到的问题。在建模系统中,如果某些组件在低抽象层处以硬件实现而某些组件在高抽象层处以软件实现,则需要开发高层软件模型和低层硬件模型之间的转换器。这种转换器可以通过软件实现。然而,这通常会在被仿真的系统中造成瓶颈。该瓶颈部分归因于在信息传递到在低抽象层建模的硬件组件时需要从软件向硬件传递大量信息。另外,瓶颈可能由在软件和硬件之间通信时出现的大量离散通信引起。离散通信在每次事务(transaction)的开始和结束时出现。每次事务可以跨越多个周期。即使在高层软件组件和低层硬件组件之间传输的信息总量与在这两种组件都通过软件实现时相同,对软件组件和硬件组件进行同步的开销也会降低交换信息的速度。实现软件组件模型和硬件中的硬件组件模型之间的转换器是已知的。这种转换器实现在与硬件组件模型相同的可编程计算设备中,或者实现在与每个硬件组件模型相同的可编程计算设备中。这是有利的,因为其允许在高抽象层处在软件和硬件之间传输数据,从而减小了需要传输的数据总量。这还有利地减小了在硬件组件和软件组件之间的数据交换同步所引起的瓶颈。硬件转换器将数据转换成低层硬件模型所需的低抽象层。然而,迄今为止,这种硬件转换器是手动实现的。这是费力且容易出错的-->过程。当部分系统在高层(例如,系统层)通过软件规定和建模而部分系统在低层(例如,RTL)通过硬件规定和建模时,不存在能够自动地、准确地对系统进行仿真的已知方法。
技术实现思路
本专利技术实施方式的目的在于:消除或减轻现有技术中的一个或多个问题,无论这些问题是在此处还是别处标识的。根据本专利技术的第一方面,提供了一种用于对系统进行建模和仿真的方法,其中所述系统包括相互联系的第一组件和第二组件,所述方法包括:使用第一说明书和第二说明书对所述第一组件和第二组件的行为进行建模,所述第一说明书和第二说明书的每一个都包括功能说明书和相关联的仿真元件;以及使用所述第一说明书和第二说明书对所述第一组件和第二组件的所述行为进行仿真;其中所述仿真元件彼此通信以提供仿真系统。本专利技术的第一方面的优势在于:仿真元件共同形成了分布式仿真系统,该分布式仿真系统控制所述硬件实现的组件的仿真。在本发本文档来自技高网
...

【技术保护点】
一种用于对系统进行建模和仿真的方法,其中所述系统包括相互联系的第一组件和第二组件,所述方法包括: 使用第一说明书和第二说明书对所述第一组件和第二组件的行为进行建模,所述第一说明书和第二说明书的每一个都包括功能说明书和相关联的仿真元件;以及 使用所述第一说明书和第二说明书对所述第一组件和第二组件的所述行为进行仿真; 其中所述仿真元素彼此通信,以提供仿真系统。

【技术特征摘要】
【国外来华专利技术】GB 2006-1-20 0601135.71.一种用于对系统进行建模和仿真的方法,其中所述系统包括
相互联系的第一组件和第二组件,所述方法包括:
使用第一说明书和第二说明书对所述第一组件和第二组件的行
为进行建模,所述第一说明书和第二说明书的每一个都包括功能说
明书和相关联的仿真元件;以及
使用所述第一说明书和第二说明书对所述第一组件和第二组件
的所述行为进行仿真;
其中所述仿真元素彼此通信,以提供仿真系统。
2.根据权利要求1所述的方法,其中所述仿真系统管理代表所
述第一组件和第二组件的所述第一说明书和第二说明书之间的通
信。
3.根据权利要求1或2所述的方法,其中所述仿真系统确定代
表所述第一组件和第二组件的所述第一说明书和第二说明书处理事
件的顺序。
4.根据前述任一权利要求所述的方法,其中所述仿真步骤进一
步包括:将相互联系的实体的分级内的至少一个第一实体实例化,
所述至少一个第一实体由所述第一功能说明书和第二功能说明书中
的至少一个定义。
5.根据权利要求4所述的方法,进一步包括:响应于所述或者
每一个实例化的第一实体而将至少一个另外的实体实例化,所述或
者每一个另外的实体由所述第一功能说明书和第二功能说明书中的
至少一个定义,并且所述或者每一个另外的实体由所述仿真系统基
于其与所述至少一个第一实体的分级关系来选择。
6.根据权利要求5所述的方法,其中所述第一组件和第二组件
由相互联系的实体的所述分级中的相应实体代表,并且创建所述相
应实体的实例。
7.根据权利要求5或6所述的方法,其中所述至少一个另外的
实体是相互联系的实体的所述分级中的、所述至少一个第一实体的
父实体。
8.根据权利要求5或6所述的方法,其中所述至少一个另外的
实体是相互联系的实体的所述分级中的、所述至少一个第一实体的
子实体。
9.根据权利要求5至8中任一权利要求所述的方法,其中对所
述分级内的实体进行实例化以代表在所述第一组件和第二组件之间
传输的数据,并且对代表所述第一组件和第二组件的所述第一说明
书和第二说明书之间的通信进行建模。
10.根据权利要求5至9中任一权利要求所述的方法,其中所述
第一组件在比所述第二组件更高的抽象层处建模,并且所述方法包
括:使用所述分级来提供所述第一组件和第二组件之间的所述关系
的细节。
11.根据权利要求5至10中任一权利要求所述的方法,其中所
述实体之间的分级关系根据所述第一功能说明书和第二功能说明书
中的至少一个得出。
12.根据权利要求1至11中任一权利要求所述的方法,其中将
所述第一说明书和第二说明书规定为以第一计算机编程语言编写的
第一计算机程序。
13.根据权利要求12所述的方法,进一步包括:在所述第一计
算机程序中规定所述第一说明书和第二说明书之间的关系。
14.根据权利要求12或13所述的方法,进一步包括:处理所述
第一计算机程序,以生成第二计算机程序。
15.根据权利要求14所述的方法,其中所述处理将所述第一计
算机程序从所述第一计算机编程语言转换成第二计算机编程语言。
16.根据权利要求15所述的方法,其中所述第二计算机编程语
言是VHDL或者Verilog。
17.根据权利要求14所述的方法,进一步包括:
基于所述第二计算机程序,通过硬件生成所述第一组件和第二组
件的实现。
18.根据权利要求14至17中任一权利要求所述的方法,其中所
述处理包括:将附加的计算机代码插入所述第二计算机程序,所述
附加的计算机代码实现所述或者每一个仿真元件。
19.根据权利要求12或13所述的方法,进一步包括:处理所述
第一计算机程序,以生成第二计算机程序和第三计算机程序。
20.根据权利要求19所述的方法,其中所述处理将所述第一计
算机程序从所述第一计算机编程语言分别转换成第二计算机编程语
言和第三计算机编程语言。
21.根据权利要求20所述的方法,其中所述第二计算机编程语
言是VHDL或者Verilog,并且所述第三计算机编程语言是C或者
C++。
22.根据权利要求21所述的方法,其中所述第一组件通过硬件
实现,而所述第二组件通过软件实现。
23.根据权利要求17或者从属于权利要求17的任一权利要求或
者权利要求22所述的方法,进一步包括:
使用至少一个另外的功能说明书对至少一个另外的组件的行为
进行建模;
基于所述至少一个另外的功能说明书,通过软件生成所述至少一
个另外的组件的实现;以及
使用所述至少一个另外的功能说明书来对所述至少一个另外的
组件的行为进行仿真。
24.根据权利要求23所述的方法,进一步包括以下步骤:提供
软件实现的仿真系统以用于管理所述第一组件和第二组件与所述至
少一个另外的组件之间的通信。
25.根据权利要求24所述的方法,进一步包括:代表所述第一
组件和第二组件的所述第一说明书和第二说明书试图经由所述软件
实现的仿真系统并经由代表其他通过硬件实现的组件的其他说明书
来同时与另外的组件进行通信。
26.根据权利要求14或权利要求19或者从属于权利要求14或
19的任一权利要求所述的方法,其中所述第二计算机程序包括有限
状态机的实现,所述有限状态机被配置为:响应于所述仿真,在较
低分级层的至少一个实体的基础上、在较高分级层处对实体进行实
例化。
27.根据权利要求14或权利要求19或者从属于权利要求14或
19的任一权利要求所述的方法,其中所述第二计算机程序包括有限
状态机的实现,所述有限状态机被配置为:响应于所述仿真,在较
高分级层的至少一个实体的基础上、在较低分级层处对实体进行实
例化。
28.根据权利要求14或权利要求19或者从属于权利要求14或
19的任一权利要求所述的方法,其中所述第二计算机程序包括有限
状态机的实现,所述有限状态机被配置为:响应于所述仿真,分别
在较低分级层或较高分级层的至少一个实体的基础上、在较高分级
层和较低分级层二者处对实体进行实例化。
29.一种承载介质,其承载用于控制计算机来执行权利要求1至
28的任一权利要求所述方法的计算机可读代码。
30.一种用于对系统进行建模和仿真的计算机装置,所述装置包
括:
程序存储器,其存储处理器可读的指令;以及
处理器,其被配置为读取并执行存储在所述程序存储器中的指
令;
其中所述处理器可读指令包括:用于控制所述处理器来执行权利
要求1至28的任一权利要求所述方法的指令。
31.一种可编程计算设备,包括:
存储装置,其存储第一说明书和第二说明书,所述第一说明书和
第二说明书分别对第一组件和第二组件的行为进行建模,并且所述
第一说明书和第二说明书的每一个都包括功能说明书和仿真元件;
处理装置,被配置为使用所述第一说明书和第二说明书对所述第
一组件和第二组件的行为进行仿真;
其中所述仿真元件被配置为彼此通信,以提供仿真系统。
32.一种用于对系统进行建模和仿真的装置,其中所述系统包括
相互联系的第一组件和第二组件,所述装置包括:
建模装置,用于使用第一说明书和第二说明书对所述第一组件和
第二组件的行为进行建模,所述第一说明书和第二说明书的每一个
都包括功能说明书和相关联的仿真元件;以及
仿真装置,用于使用所述第一说明书和第二说明书对所述第一组
件和第二组件的行为进行仿真;
其中所述仿真元件彼此通信,以提供仿真系统。
33.一种用于对包含组件的系统进行建模和仿真的方法,所述方
法包括:
使用第一计算机程序中规定的说明书来对所述组件的行为进行
建模,其中所述第一计算机程序以第一计算机编程语言编写;
处理所述第一计算机程序,以生成第二计算机程序;
基于所述第二计算机程序,生成所述组件的实现;以及
对实体的分级内的第一实体进行实例化,以此来使用所生成的实
现对所述组件的行为进行仿真;
其中所述第二计算机程序包括有限状态机的实现,所述有限状态
机被配置为:响应于所述仿真,在实体的所述分级内的较高层和较
低层二者处对实体进行实例化。
34.根据权利要求33所述的方法,其中所述系统至少包括相互
联系的第一组件和第二组件,每个说明书包括功能说明书和相关联
的仿真元件,其中所述仿真元件彼此通信以提供仿真系统。
35.根据权利要求34所述的方法,其中所述仿真系统实现所述
有限状态机。
36.根据权利要求34或35所述的方法,其中所述仿真系统管理
代表所述第一组件和第二组件的所述第一说明书和第二说明书之间
的通信。
37.根据权利要求34至36中任一权利要求所述的方法,其中所
述仿真系统确定所述第一组件和第二组件处理事件的顺序。
38.根据权利要求34至37中任一权利要求所述的方法,进一步
包括:响应于所述或者每一个实例化的第一实体而将至少一个另外
的实体实例化,所述或者每一个另外的实体由第一功能说明书和第
二功能说明书中的至少一个定义,并且响应于所述仿真而被实例化
的所述或者每一个另外的实体由所述仿真系统基于其与所述第一实
体的分级关系来选择。
39.根据权利要求38所述的方法,其中所述第一组件和第二组
件由相互联系的实体的所述分级中的相应实体代表,并...

【专利技术属性】
技术研发人员:DR帕克C琼斯JS波利克罗诺波洛斯
申请(专利权)人:明导公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1