故障搜索方法和故障搜索设备 【技术领域】
本发明涉及一种故障搜索方法和一种装置,该方法用于具有例如硬件模型,软件程序与/或一个测试装置模型这样的不同仿真模型的系统,该装置用于在具有这些不同仿真模型的系统中进行故障搜索,这些不同的仿真模型可非常好地用在电子电路的设计中等等,在这种情况下,被仿真的系统是一个电子电路。
背景技术
通过一个测试环境中受控的并装有测量仪表的程序的处理步骤(如众所周知的调试)来仿真一个系统,故障被找到并且被不同的仿真模型仿真。本发明的上下文中,术语“仿真模型”包括特定的硬件模型,软件程序和测试装置模型。这样一个系统可以用下面的例子来描述,例如使用三类语言:用于硬件的一个或多个硬件描述语言(HDL),用于软件的一个或多个程序语言(PL),和用于测试装置的测试语言(TL)或硬件确认语言(HVL)。
当在数据处理程序中进行故障搜索的时候,通常被搜索检查故障的模型或程序在一个故障搜索工具或被称为调试器的故障搜索程序的控制下来执行。此时故障搜索程序被检索,这是顺序检索模型和程序以检查通常包含一个中断点的模型或程序。当到达中断点时,将被检查的程序地下一步处理被停止并且调试器回朔。
在用于上述语言的每一类的传统故障搜索程序中,例如用于每个模型,都是使用具有它自己的命令和接口的单独故障搜索程序。优势在于对各类语言可以使用最适宜的调试器,相对应的缺点是用于不同模型的各种调试器的运行是不同的并且用户必须监控计算机工作站屏幕上的许多命令接口和窗口。
发明概述
因此本发明的目的是制造一个用于具有不同的仿真模型的系统的故障搜索处理以及相应的故障搜索设备,该处理可以避免上述的缺点,特别是对用户来说容易使用和控制。
这个任务通过具有权利要求1特征的故障搜索程序或具有权利要求9特征的故障搜索设备来解决。本发明在设计和改进方面的优点是从属权利要求的主题。
依照本发明的在具有几个不同仿真模型例如硬件模型,软件模型/程序和测试台模型的系统中进行故障搜索,用户执行一个高级故障搜索工具(调试器),该调试器依次激活各个分配给不同仿真模型的辅助故障搜索工具(调试器)并与其通信。每个辅助故障搜索工具可访问它的已分配仿真模型以便跟踪系统中(或者在有关的仿真模块中)的故障。通过提供更高的命令,相同的和普遍的故障搜索工具,用户用自己的命令,自己的命令解释程序和自己的接口来访问统一的接口以简单化在用户的单独仿真模型中的故障搜索。同时不同仿真模型的最优调试器可用作辅助故障搜索工具,因此尽管为用户简化了操作,最优故障搜索的结果仍能够得到保证。
高级故障搜索工具也能够直接干涉与控制和分析有关的仿真模型,也就是无需相应的辅助故障搜索工具的中间物。
通信最好是以主工作站或主从属通信的形式在统一的高级故障搜索工具及单独辅助的且特定的故障搜索工具之间产生,高极故障搜索工具作为主机进行操作,辅助故障搜索工具作为工作站或从属进行操作。
本发明最后用在电子电路(硬件设计)的开发或仿真/检验。
【附图说明】
参考所公开的附图,利用各种实施例在下面对本发明进行更详细的说明。这些表示:
图1是一个依据本发明的用于故障搜索的设备的第一个实施例的结构示意图。
图2是一个依据本发明的用于故障搜索的设备的第二个实施例的结构示意图。
图3是说明依据本发明的故障搜索处理的一个功能过程的示意性流程图。
图4是说明依据本发明的故障搜索处理的另一个功能过程的示意性流程图。
图5是说明依据本发明的故障搜索处理的又一个功能过程的示意性流程图。
【具体实施方式】
图1首先给出了依据本发明的用于执行故障搜索处理的设备的第一个实施例的基本结构。
本例中被仿真的系统1被构造为三个不同的仿真模块2-4,为了简单在下边被引证为模型。例如,模型2,3,4(图1中用I到III标记)是一个硬件模型,软件模型/程序和一个测试台模型,在这些模型中通过与最初解释相关的语言对系统进行描述。另外存在于所存储形式之中的不同模型2,3,4通常相互通信。模型的数目或所使用的语言类没有被确定,只有两种语言例如硬件描述语言和测试语言被使用,即它也可仿真只包含一个硬件模型和一个软件程序的系统并且对这个系统进行搜索故障。
被模拟的系统1的所有的模型2,3,4以调试器5至7的形式具有与故障搜索工具相对应的接口8,9,10,故障搜索工具特别与有关的模型相匹配,即每个模型2,3,4都被提供一个具有其自己不同命令的最优调试器。
与传统的故障搜索设备相比,依照本发明中的故障搜索设备,用户不需要处理并控制几个不同的特定的调试器5-7。更适合的,用户以统一的调试器11的形式来访问一个高级的命令故障搜索工具,经由一个适当的用户接口12他可使用该调试器。统一的调试器11具有对它自己的命令进行解释的它自己的命令解释程序并且可适用在自己特有图形接口上。这个命令解释程序把自己特有的命令转换成为不同的特定调试器5,6,7的相应的命令并且将已转换命令提供给单独的特定调试器5,6,7以通过访问有关的模型来处理相应的故障搜索操作。相反,统一调试器11的命令解释程序转换由不同的特定调试器5,6,7提供的命令或输出和反馈,使得他们能够输出给用户并且经由用户接口12显示在一个标准的窗口。
在依据这个实施例的故障搜查装置中,如在模型系统中,用户不必并行控制几个调试器5-7,而是该用户仅仅操作或控制统一的调试器11。因此对于用户来说故障搜查的执行是相当简单化。
根据本发明的故障搜查装置的另一实施例如图2.所示。相同配置的元件使用和如图1的第一实施例中相同的数字标号。
第二实施例与如图1所示的实施例的不同之处是省略了用于软件程序3的特定调制器6。这意味着统一的调试器11在这种情况下直接访问软件程序3的调试器接口9用于控制和分析。在UNIX操作系统中术语"公共的对象格式"用于与这样的调试器接口9连接。在这种情况下通用接口8或10被提供给有关的硬件模型2与/或测试台模型4,同样地当统一的调试器11能够直接地作用于硬件模型2或测试台模型4时硬件调试器5和测试台调试器7可以省略。
用在根据本发明两个实施例的故障搜查装置中的统的调试器11和特定辅助调试器5,6及7之间的通信最好是以所谓的主-从通信为基础。贯穿整个仿真,统一的调试器11为主而单独的特定调试器5,6和7为辅。因此所使用的从统一调试器11到调试器5,6和7中的一个可通过认可被确认。这样的认可可以例如仅仅是提示,也就是由有关的调试器5-7所请求的更新输入。除需要这个认可之外,例如如果高级的统一调试器11下命令给辅助特定调试器5,6,7计算一对象的值的话,相关的特定调试器5,6,7将例如这个对象的值这样的进一步信息反馈到统一的调试器11。因此统一的调试器11和特定的调试器5-7间的通信是完全自动的并计算机辅助的,也就是说统一的调试器11自动地探测用户输入和将此转换成特定调试器5-7的相应的触发/驱动,特定调试器5-7在计算机辅助下依次自动执行相应的故障搜查操作。
利用图3到5,例如,现在解释发生在上述故障搜查装置的故障搜索过程中的各种功能程序。明显地依据本发明的故障搜索方法不局限于这个三基本功能程序,而是这些仅仅用于帮助更透彻地理解本发明并且对所属技术领域的专业人员可以依据本发明的结构推论出故障搜索系统所需要的不同的模型的其他功能程序。
图3给出了用于一命令的第一功能过程,该命令被统一调试器11发送到全部可用的特定调试器5-7。
在该例子中所给出的用户,通过用户接口12,把例如命令"开始"給统一的调试器11。统一的或主要的调试器11将"开始"命令转换成用于特定调试器5,6,7的等价命令,例如"开动"或"开始",并且将这些命令传送到单独的特定调试器5,6,7。如图1所示的例子,当特定的辅助调试器使用一个硬件(HW)调试器5存取硬件(HW)模型2,使用软件(SW)调试器6存取软件(SW)程序/模型3,以及使用测试台(TB)调试器7存取测试台(TB)模型4。
由于由统一的调试器11提供了开始命令,最终调试器5,6,7开始处理他们的模型或程序2,3,4,通常一个相互作用的随机顺序发生在如图3的箭头所示的模型或程序间。当模型2,3,4的执行结束时,已分配的调试器5,6,7都会向统一的调试器11发送一个明确的结束信息,其中这些结束信息也可以被关联。然后主要的故障搜索程序11转换这些“结束”信息并且将相应的“结束”反馈输出给用户接口12。
为管理系统1的仿真中所包括的所有对象,统一的调试器11必须联合所有模型2,3,4的对象。这就意味着不同名称范围(硬件,软件,测试台)都必须被一起管理。所以原则上如软件程序3中的一个变量与硬件模型2中的一个信号同名是可能的,这有利于如果统一的调试器11为了区别它们可将单独模型2,3,4的本地名称范围扩展到全局的名称。
参考图4,现在说明用于由用户送入的一命令的功能过程以查询一个特殊模型的对象的值。
首先统一的调试器11,使用其值被检查的全局对象名,来必须确定在模型2,3和4中当前请求的对象。然后统一的调试器11确定相应的对象的本地名并且通过相应的命令请求来自相关辅助特定调试器的对象的值(此际软件调试器6),在该特定调试器的控制下运行对象属于其的特定模型3。特定的调试器6把所请求的对象的值送回将该值传递給用户接口12的统一调试器11,这适用于在进一步过程以后。
以类似的方式,中断条件可以被用户设置或删除或可是对象值设置。在此情况下有关的特定调试器5,6和7,代替返回上述的对象值,而仅仅返回对统一调试器11的确认。
最后作为功能过程的第三个例子,图5给出了单步命令的过程。
在用户通过用户接口12输入的单步命令的基础上,统一的调试器11为所请求的模型(此际测试台模型4)产生相应的单步命令并且将此传送到已分配给模型4的调试器7。然后当其他模型2,3可以无间断运行与不是单步执行模式时,模型4以单步模式操作。在完成单步执行后,调试器7发送确认模型4单步完成,回到统一的调试器11,该调试器11将这个确认转换为相应的用于用户接口12的命令。
在上述的功能过程中它通常与是否通过单独的指令进行单步执行还是通过几个组合的单一指令进行单步执行无关。并且依靠用户命令,单步命令可以应用到一个模型或几个或全部的模型2,3,4。