具体实施方式
下面参考附图来详细说明根据本发明用于验证支持的方法和设备的示例实施例,以及用于所述验证支持的计算机产品。为了验证一要验证的设备能否正常操作,所述验证支持设备将提取验证项,这些验证项将成为用于创建被称为测试模式的输入/输出序列的源。所述验证支持设备将从验证项获得的输入/输出序列提供给要验证的设备,以验证该设备。
图1是根据本发明的第一实施例和第二实施例的验证支持设备的框图,其具有根据本发明的第二实施例的信息终端设备。该验证支持设备包括以下单元:中央处理单元(CPU)101、只读存储器(ROM)102、随机存取存储器(RAM)103、硬盘驱动器(HDD)104、硬盘(HD)105、软盘驱动器(FDD)106、软盘(FD)107、显示器108、接口(I/F)109、键盘110、鼠标111、扫描仪112,以及打印机113。这些组成单元通过总线100彼此相连。
CPU 101控制整个验证支持设备。ROM 102保存诸如导引程序之类的程序。RAM 103用作CPU 101的工作区域。HDD 104根据CPU 101的控制来控制从HD 105读取数据和向HD 105写入数据。HD 105保存根据来自HDD 104的控制写入的数据。
FDD 106根据CPU 101的控制来控制从FD 107读取数据和向FD 107写入数据。FD 107保存根据来自FDD 106的控制写入的数据,并且使所述验证支持设备读取保存在该FD 107上的数据。
作为可拆卸的记录介质,除了FD 107之外,还可以使用CD-ROM(CD-R,CD-RW)、磁光盘(MO)、数字多媒体光盘(DVD)和存储卡。显示器108显示光标、图标、工具箱,以及诸如文档、图像和功能信息之类的数据。可以使用阴极射线管(CRT)、薄膜晶体管(TFT)液晶显示器和等离子体显示器作为显示器108。
I/F 109通过通信线与网络(比如Internet)相连,进而通过所述网络与其他设备相连。I/F 109担任网络114和所述验证支持设备的内部之间的接口,从而控制从外部设备输入数据和向外部设备输出数据。可以使用调制解调器和局域网(LAN)适配器作为I/F 109。
键盘110具有用于输入字符、数字和多种指令的多个键,以输入数据。键盘110可以是触板输入垫或十键键盘。鼠标111用于移动光标、选定范围、移动窗口和改变这些窗口的大小。鼠标111可以是跟踪球或操纵杆,只要其具有定点设备的功能即可。
扫描仪112以光学方法读取图像,以将图像数据送入所述验证支持设备。扫描仪112可以有OCR功能。打印机113打印图像数据和文档数据。可以使用激光打印机或喷墨打印机作为打印机113。
下面来说明所述要验证的设备的功能配置信息。图2是根据第一实施例的要验证的设备的功能配置信息的框图。该功能配置信息可由预定的描述语言(例如,统一建模语言(UML))来创建。作为该功能配置信息的一个示例,可以采用使用情况图(use case diagram)或序列图。作为一个示例,下面来说明采用DVD/HDD录像机作为要验证的设备的情况。
如图2中所示,作为要验证的设备的DVD/HDD录像机200具有多个功能器件和多个配置元素。所述功能器件包括:视频输入单元201、HD输入单元202、DVD-R/W输入单元203、编码器204、解码器205、视频输出单元206、HD输出单元207,以及DVD-R/W输出单元208。所述配置元素包括在所述多个功能器件之间相连的信号线211至218。
视频输入单元201输入视频数据。HD输入单元202输入从所述HD读取的运动图像专家组(MPEG)数据。DVD-R/W输入单元203输入从DVD-R/W光盘读取的MPEG数据。编码器204将所述从视频输入单元201输入的视频数据编码为MPEG数据。
解码器205将所述从HD输入单元202或DVD-R/W输入单元203输入的MPEG数据解码为视频数据。视频输出单元206输出从视频输入单元201输入的视频数据或由解码器205解码的视频数据。HD输出单元207和DVD-R/W输出单元208输出由编码器204编码的MPEG数据,并且将该MPEG数据分别写入HD和DVD-R/W光盘中。
下面来说明示出图2中所示的功能框图的图形。图3是由图2中所示的设备的功能配置信息变换得来的图形。该图300显示,所述多个功能器件(即,视频输入单元201、HD输入单元202、DVD-R/W输入单元203、编码器204、解码器205、视频输出单元206、HD输出单元207和DVD-R/W输出单元208)分别变换成了节点301至308,在该多个功能器件之间相连的信号线211至218分别变换成了边沿311至317。分别将下列布尔变量指定给节点301至308和边沿311至317。
在图3所示的示例中,为节点301至308定义了下列8个布尔变量。如图4中所示,多个布尔变量分别与节点301至308相关联。如图5中所示,多个布尔变量分别与由变换得来的边沿311至317相关联。
图6是所述根据第一实施例的验证支持设备的功能配置的框图。验证支持设备600包括:功能配置信息输入单元601、图形变换单元602、条件输入单元603、逻辑表达式变换单元604、验证项函数生成单元605、验证项函数存储单元606、验证开销数据库607、验证开销计算单元608,以及验证项提取单元609。
功能配置信息输入单元601输入用于表示要验证的设备的功能配置的功能配置信息。该功能配置信息是功能框图200,该功能框图200示出了如图2中所示的验证支持设备的功能配置。所述功能配置信息包括由功能器件201至208和这些功能器件之间的信号线211至218(即,这些功能器件之间的数据流)组成的配置元素。
图形变换单元602将输入到功能配置信息输入单元601的所述要验证的设备的功能框图200(参看图2)变换成图形300(参看图3),图形300包括节点301至308和边沿311至317。换言之,图形变换单元602将功能框图200中的功能器件201至208变换成了节点310至308,将在所述多个功能器件之间相连的信号线211至218(即,所述多个功能器件之间的数据流)变换成了边沿311至317。
条件输入单元603输入关于指定给所述要验证的设备的输入/输出序列的条件。在这些关于所述输入/输出序列的条件中,有一个用于所述输入/输出序列的起点和终点的条件(条件1),一个用于所述多条边沿的连接的条件(条件2),一个用于所述多个功能器件的扇出(fan-out)的条件(条件3),一个用于所述多个功能器件的扇入(fan-in)的条件(条件4),一个用于所述多个功能器件的资源限制条件(条件5),还有一个条件,其对构成所述功能框图的配置元素中的一要验证的配置元素进行限制(条件6)。
逻辑表达式变换单元604将由图形变换单元602获得的由节点301至308和边沿311至317组成的图形300和由条件输入单元603输入的输入/输出序列变换成逻辑表达式。这些逻辑表达式根据布尔代数创建。稍后将说明变换成所述逻辑表达式的具体细节。
验证项函数生成单元605根据所生成的逻辑表达式,采用双值决策图(BDD)生成验证项函数。验证项函数存储单元606保存所生成的验证项函数。BDD是采用图7中所示的图形来紧凑地表示逻辑函数的数据配置。例如,在下面的文献中对BDD作了详细说明:R.E.Bryant,“Graph-based Algorithms for Boolean Function Manipulation”,IEEE Trans.on Computers,C-35,August 1986。
如图8中所示,验证开销数据库607保存了图4中所示的布尔变量,并将它们与作为权重的多个开销相关联。可以用这些开销来表示对应于所述多个布尔变量的功能器件201至208(即,节点301至308)的验证的重要性。对应于其开销为“1”的布尔变量的功能器件可被定义为现有设计。对应于其开销为“2”的布尔变量的功能器件可被定义为转换设计(diversion design)。对应于其开销为“5”的布尔变量的功能器件可被定义为新设计。换言之,开销越高,验证的重要性也越高;相反,开销越低,验证的重要性也越低。
验证开销计算单元608计算由验证项提取单元609提取的验证项的验证开销。例如,预先将作为权重的开销添加到由图形变换单元602获得的节点301至308中,从而增加包括在所提取的验证项中的节点的开销,进而来计算验证开销。所计算的验证开销被输出到验证项提取单元609。
验证项提取单元609从保存在验证项函数存储单元606中的验证项提取配置元素的组合以作为验证项,这些配置元素构成功能配置信息。具体而言,验证项提取单元609通过获得使验证项函数为“1”的布尔变量的集合来提取所述的验证项。这些验证项可以采用BDD来提取。
验证项提取单元609提取提前设置的n个验证项。验证项提取单元609根据由验证开销计算单元608计算出的验证项的开销来提取所述n个验证项。例如,可以按验证开销的顺序排列所述验证项,以便提取所述验证项直到第n个。另选地,所述n个验证项可以采用一种方法按照所计算出的开销的顺序来生成,该方法在下面的文献中有介绍:KoichiShimada et al.,“Algorithm Dictionary”,the paragraph of“theshortest route(graph)”,pp.279 to 280,Kyoritsu Shuppan Co.Ltd.,1994。
功能配置信息输入单元601、图形变换单元602、条件输入单元603、逻辑表达式变换单元604、验证项函数生成单元605、验证开销计算单元608,以及验证项提取单元609将按如下方式来实现它们的功能。换言之,CPU 101执行保存在ROM 102、RAM 103、HD 105和FD 107中的程序,或者通过I/F 109来执行程序。验证项函数存储单元606和验证开销数据库607利用图1中所示的ROM 102、RAM 103、HD 106和FD 107来实现它们的功能。
下面将说明从关于输入/输出序列的条件向逻辑表达式的变换。如上所述,关于输入/输出序列的条件包括:用于该输入/输出序列的起点和终点的条件(条件1),用于连接多条边沿的条件(条件2),用于多个功能器件的扇出的条件(条件3),用于多个功能器件的扇入的条件(条件4),用于多个功能器件的资源限制条件(条件5),以及对构成功能框图200的配置元素201至208和211至218中的一要验证的配置元素进行限制的条件(条件6)。
分别用“!”、“+”、“*”、“→”和“≡”表示非、逻辑和、逻辑乘、一致和等价。“A→B”和“!A+B”意义相同,“A≡B”和“(A→B)*(B→A)”意义相同。
将所述输入/输出序列的起始处的节点设为“起点”,将所述输入/输出序列的终止处的节点设为“终点”。为了求出所述输入/输出序列,起点处的节点的布尔变量的逻辑和需为“1”。类似地,终点处的节点的布尔变量的逻辑和也需为“1”。在图2和图3中所示的示例中,起点处的节点是节点301至303,终点处的节点是306至308。因此,采用布尔变量,可将条件1变换成下面的逻辑表达式。
inVideo+inDVD+inHDD (1)
outVideo+outDVD+outHDD (2)
当数据在边沿311至317上流动时,对应于所述边沿的两端的节点的功能器件需要在操作。图3中所示的边沿311(布尔变量:inVideo_outVideo)可用下面的表达式表示:
inVideo_outVideo→inVideo*outVideo (3)
其他边沿312至317可用下列逻辑表达式来表示:
inVideo_encMPEG→inVideo*encMPEG (4)
inDVD_decMPEG→inDVD*decMPEG (5)
inHDD_decMPEG→inHDD*decMPEG (6)
decMPEG_outVideo→decMPEG*outVideo (7)
encMPEG_outDVD→encMPEG*outDVD (8)
encMPEG_outHDD→encMPEG*outHDD (9)
当对应于某一节点的功能器件在操作时,数据通过任一条扇出边沿被传输到对应于下一节点的功能器件。另一方面,当对应于某一节点的功能器件的任一条扇出边沿在传输数据时,该功能器件需要在操作。这个条件用下面的逻辑表达式来表示。
例如,图3中所示的节点301(布尔变量:inVideo)具有边沿311(布尔变量:inVideo_outVideo)和边沿312(布尔变量inVideo_encMPEG)作为扇出边沿。因此,该条件可用下面的逻辑表达式来表示:
inVideo≡inVideo_outVideo+inVideo_encMPEG (10)
类似地,其他功能器件的扇出边沿可用下列表达式来表示:
inDVD≡inDVD_decMPEG (11)
inHDD≡inHDD_decMPEG (12)
decMPEG≡decMPEG_outVideo (13)
encMPEG≡encMPEG_outDVD+encMPEG_outHDD (14)
条件4和条件3类似。当对应于某一节点的功能器件在操作时,从前级功能器件经由任一条扇入边沿传输数据。另一方面,当对应于某一节点的功能器件的任一条扇入边沿传输数据时,该功能器件需在操作。
该条件可用下面的逻辑表达式来表示。
例如,图3中所示的节点305(布尔变量:decMPEG)具有边沿313(布尔变量:inDVD_decMPEG)和边沿314(布尔变量:inHDD_decMPEG)作为其扇入边沿。从而,该条件可用下面的逻辑表达式来表示:
decMPEG≡inDVD_decMPEG+inHDD_decMPEG (15)
类似地,其他功能器件的扇入边沿可用下列表达式来表示:
encMPEG≡inVideo_encMPEG (16)
outVideo≡inVideo_outVideo+decMPEG_outVideo (17)
outDVD≡encMPEG_outDVD (18)
outHDD≡encMPEG_outHDD (19)
由于对应于某一节点的功能器件的资源方面的限制,试图同时执行多个输入/输出序列可能会失败。例如,即使对应于某一节点的功能器件具有多条扇入边沿,由于该功能器件内部的资源限制,也不能同时执行所有的输入。
可归因于所述硬件上的功能器件的资源限制的条件可以表示为逻辑表达式。例如,当在图3中所示的节点305(布尔变量:decMPEG)和节点306(布尔变量:outVideo)只可接受一个输入数据时,该条件可用下列逻辑表达式来表示:
!(inDVD_decMPEG*inHDD_decMPEG) (20)
!(inVideo_outVideo*decMPEG_outVideo) (21)
当存在上述资源限制时,表达式(21)表示:要么边沿313(布尔变量:inDVD_decMPEG)必须为“0”,要么边沿314(布尔变量:inHDD_decMPEG)必须为“0”。由于DVD-R/W光盘的操作速度低,不能同时执行数据的读取和写入,这一限制可用下面的逻辑表达式来表示:
!(inDVD*outDVD) (22)
根据这些要求,从条件6向逻辑表达式的变换将减少配置元素。具体而言,例如,若将已经验证的部分(例如,现有设计的功能器件)从要验证的配置元素中排除出来不进行验证,或者只有一个特定配置元素需要验证,可以增加一逻辑表达式来减少验证项。
例如,在图3中,当设计人员确定只有一个需要使用编码器204的输入/输出序列是必要的时候,可以增加用下面的逻辑表达式表示的限制:
encMPEG≡1 (23)
图9是所述根据第一实施例的验证支持设备的验证项提取过程的示例的流程图。首先,所述验证支持设备确定是否输入了图2中所示的作为功能配置信息的功能框图200(步骤S901)。若输入了该功能框图200(步骤S901处选择是),所述验证支持设备就将该功能框图200变换成图3中所示的图形300(步骤S902)。
所述验证支持设备接着确定是否输入了关于输入/输出序列的条件(步骤S903)。若输入了关于输入/输出序列的条件(步骤S903处选择是),所述验证支持设备就利用布尔代数将条件1至6变换成逻辑表达式(1)至(23)(步骤S904)。所述验证支持设备根据由该变换得来的逻辑表达式(1)至(23)生成多个验证项函数(步骤S905)。
下面详细说明所述多个验证项函数的生成。在图3中的示例中,所有逻辑表达式(1)至(22)都需为“1”。因此,所有逻辑表达式(1)至(22)的逻辑和就成了验证项函数。例如,当要验证的设备是大规模LSI时,该验证项函数可能被表示为一非常复杂的逻辑表达式。
在这种情况下,优选的是,利用图7中所示的BDD来表示所述验证项函数。图10至图12示出了这些验证项函数的一个示例。为方便起见,这些验证项函数在图10至图12中采用表的格式来示出,因为若用图7中所示的BDD图形来表示这些验证项函数的话,需要一个庞大的图。
在图10至图12中,“在边沿侧的0_node”表示当图11中所示的表中的布尔变量为“0”时,与所跟随的边沿相连的节点;“在边沿侧的1_node”表示当图11中所示的表中的布尔变量为“1”时,与所跟随的边沿相连的节点。“val_0”和“val_1”分别表示为常数0和1的节点。
所述验证支持设备从所生成的验证项函数中提取验证项(步骤S906)。验证项的提取将列出使验证项函数为“1”的布尔变量的集合。换言之,所述验证支持设备通过将所述多个验证项函数的变量改变为“0”或“1”,提取所有满足条件的变量组合。
换言之,沿着到“1_node”的路径,可以提取下面所列的13个验证项(a)至(m):
(a)“inVideo,inDVD,decMPEG,encMPEG,outVideo,outHDD,inVideo_encMPEG,inDVD_decMPEG,decMPEG_outVideo,encMPEG_outHDD”
(b)“inVideo,inHDD,decMPEG,encMPEG,outVideo,outDVD,outHDD,inVideo_encMPEG,inHDD_decMPEG,decMPEG_outVideo,encMPEG_outDVD,encMPEG_outHDD”
(c)“inVideo,inHDD,decMPEG,encMPEG,outVideo,outDVD,inVideo_encMPEG,inHDD_decMPEG,decMPEG_outVideo,encMPEG_outDVD”
(d)“inVideo,inHDD,decMPEG,encMPEG,outVideo,outHDD,inVideo_encMPEG,inHDD_decMPEG,decMPEG_outVideo,encMPEG_outHDD”
(e)“inVideo,encMPEG,outVideo,outDVD,outHDD,inVideo_outVideo,inVideo_encMPEG,encMPEG_outDVD,encMPEG_outHDD”
(f)“inVideo,encMPEG,outVideo,outDVD,inVideo_outVideo,inVideo_encMPEG,encMPEG_outDVD”
(g)“inVideo,encMPEG,outVideo,outHDD,inVideo_outVideo,inVideo_encMPEG,encMPEG_outHDD”
(h)“inVideo,encMPEG,outDVD,outHDD,inVideo_encMPEG,encMPEG_outDVD,encMPEG_outHDD”
(i)“inVideo,encMPEG,outDVD,inVideo_encMPEG,encMPEG_outDVD”
(j)“inVideo,encMPEG,outHDD,inVideo_encMPEG,encMPEG_outHDD”
(k)“inVideo,outVideo,inVideo_outVideo”
(l)“inDVD,decMPEG,outVideo,inDVD_decMPEG,decMPEG_outVideo”
(m)“inHDD,decMPEG,outVideo,inHDD_decMPEG,decMPEG_outVideo”
观察验证项(a)至(m)中的验证项(a),可以在图3中所示的图形300中获得下面两条路径:
路径1:节点301→边沿312→节点304→边沿317→节点308,和
路径2:节点302→边沿313→节点305→边沿315→节点306。
路径1用布尔变量表示如下:“inVideo”→“inVideo_encMPEG”→“encMPEG”→“encMPEG_outHDD”→“outHDD”。路径2用布尔变量表示如下:“inDVD”→“inDVD_decMPEG”→“decMPEG”→“decMPEG_outVideo”→“outVideo”。
如上所述,从所述验证项中提取路径,并且根据所提取的路径获得可执行的输入/输出序列。具体而言,创建了一验证环境,其被作为规定沿所提取的路径的数据流的控制指令或类似物,从而可以生成可执行的输入/输出序列。作为验证模式的该输入/输出序列在所述验证环境中流动,以验证要验证的设备(例如LSI)。
如上所述,根据本发明的第一实施例,可从功能器件201至208的组合中提取作为线索的验证项,以获得可执行的输入/输出序列。这样,就可以提高设计人员的验证效率。
若验证项函数很复杂,验证项的总数将非常庞大,想要列出所有的验证项就不现实。当用BDD来表示验证项函数时,通过对沿着到“1_node”的路径的路径数进行计数,可以计算出验证项的总数。
如上所述,根据本发明的第一实施例,通过用BDD来表示验证项函数,可以高效地计算验证项的数目,而不用列出这些验证项。因此,设计人员可参考所计算出的验证项的数目来决定是否减少验证项。由于避免了对不必要的验证项的验证,从而可以提高验证的效率。
更进一步,根据本发明的第一实施例,当所述验证支持设备根据对所计算出的数字的计数,确定验证项的数目太大时,可根据如下步骤减少验证项的数目。例如,增加从条件6所获得的逻辑表达式,然后重新提取验证项,其中条件6是一个对构成功能框图200的配置元素201至208和211至218中要验证的配置元素进行限制的条件。
这样,设计人员可以排除他认为是不必要的验证项。例如,当设计人员确定只有需要使用编码器204的验证项是必要的时候,可以向所述限制添加“encMPEG≡1”作为逻辑表达式(23)。
通过对要被提取的验证项设置优先级次序,可以提取提前设置的n个验证项,从而减少验证项的数目。下面参考图13来说明该提取过程。首先,所述验证支持设备确定验证项提取单元609是否已提取验证项(步骤S1301)。若所述验证支持设备确定提取了验证项(步骤S1301处选择是),所述验证支持设备确定是否提前输入了验证项的限制数目(步骤S1302)。
若提前输入了验证项的限制数目(步骤S1302处选择是),所述验证支持设备确定所提取的验证项的数目是否大于该限制数目n(步骤S1303)。若所提取的验证项的数目大于限制数目n(步骤S1303处选择是),所述验证支持设备参考验证开销数据库607来计算每条验证项的验证开销(步骤S1304)。
所述验证支持设备从具有最大验证开销的验证项开始输出验证项,直到第n个(步骤S1305)。另一方面,若没有提前输入验证项的限制数目(步骤S1302处选择否),或者所提取的验证项的数目没有超过限制数目n(步骤S1303处选择否),所述验证支持设备直接输出在步骤S1301中所提取的验证项(步骤S1306)。
根据上面的方法,通过给提前确定的n个验证项添加验证开销,可以按照优先级提取要被提取的重要的验证项。因此,设计人员可以根据验证项的重要性来验证该验证项,并且可以改进要验证的设备的验证精度。
在第一实施例中一单一验证支持设备支持要验证的设备的验证,而在本发明的第二实施例中,该验证被用一网络进行系统化以支持要验证的设备的验证。图14是根据第二实施例的验证支持系统的示意图。
如图14中所示,验证支持系统1400具有一充当服务器的验证支持设备1401和多个信息终端设备1402。验证支持设备1401和信息终端设备1402通过诸如LAN或广域网(WAN)之类的网络1403彼此连接起来。验证支持设备1401和信息终端设备1402的硬件配置和图1中所示的设备的相同,这里将省略对这些内容的说明。
下面说明信息终端设备1402的功能配置。图15是根据第二实施例的一信息终端设备1402的功能配置的框图。在第二实施例中,所述信息终端设备1402将创建用于提取验证项的功能配置信息,并将这些信息传输到充当服务器的验证支持设备1401中。
所述信息终端设备1402可以采用预定的描述语言(例如UML)来创建所述的功能配置信息。作为所述功能配置信息的一个示例,可以用使用情况图或序列图。下面来说明利用使用情况图创建所述功能配置信息的过程。
如图15中所示,所述信息终端设备1402包括:输入单元1501,使用情况显示信息数据库1502,使用情况描述信息数据库1503,操作方描述信息数据库1504,信息创建单元1505,描述信息变换单元1506,通信单元1507,以及输出单元1508。
操作从输入单元1501输入到信息创建单元1505。图1中所示的键盘110或鼠标111用于实现输入单元1501的功能。使用情况显示信息数据库1502保存由所述使用情况图得到的作为功能器件的显示信息的使用情况,所述使用情况图示出要验证的设备的功能配置。图16是保存在所述使用情况显示信息数据库1502中的数据的配置的示例图。如图16中所示,所述使用情况显示信息数据库1502保存彼此对应的多个功能器件的设计信息和使用情况信息。
使用情况描述信息数据库1503保存要被插入到所述使用情况中的使用情况描述信息。图17是保存在根据第二实施例的信息终端设备的使用情况描述信息数据库1503中的数据的配置。如图17中所示,使用情况描述信息数据库1503保存了表示所述多个功能器件的操作的功能,并将这些功能与已编码的代码信息A至0相关联起来。
操作方描述信息数据库1504保存显示在所述使用情况图中的操作方的名字。图18是保存在根据第二实施例的信息终端设备的操作方描述信息数据库1504中的数据的配置。如图18中所示,该操作方描述信息数据库1504保存成为所述操作方的功能器件的名字,并将这些名字与已编码的代码信息aaaaa至ggggg相关联起来。
使用情况显示信息数据库1502、使用情况描述信息数据库1503和操作方描述信息数据库1504利用图1中所示的ROM 102、RAM 103、HD 105和FD 107来实现它们的功能。
如图15中所示,信息创建单元1505根据从输入单元1501输入的操作,使用保存在所述功能器件显示信息中的使用情况和保存在使用情况描述信息数据库1503中的使用情况描述信息,来创建使用情况图。图19是由根据第二实施例的信息终端设备创建的一要验证的设备的使用情况图。
信息创建单元1505根据从输入单元1501输入的操作,使用保存在使用情况描述信息数据库1503中的使用情况描述信息来创建验证环境。该验证环境是用于规定沿着从所述验证项提取出的路径的数据流的控制指令或类似物。该验证环境包括:规定对应于路径上的节点的功能器件的操作时序的条件,规定对应于经过所述路径的节点的多个功能器件的次序的条件,以及从这些功能器件输入和向这些功能器件输出的数据的内容。
描述信息变换单元1506将由信息创建单元1505创建的使用情况图中描述的使用情况描述信息和操作方描述信息变换成图17和图18中所示的代码信息。图20是一使用情况图,其中,包括在图19中所示的使用情况图中的描述信息被变换成了代码信息,该代码信息包含在从验证支持设备1401经由网络1403发送到图17和图18中所示的使用情况描述信息中。
CPU 101执行保存在ROM 102、RAM 103、HD 105和FD 107中的程序,或者通过I/F 109执行程序,以分别实现信息创建单元1505和描述信息变换单元1506的功能。
通信单元1507通过网络1403向验证支持设备1401传输由描述信息变换单元1506变换来的使用情况图以及验证环境。通信单元1507还接收验证支持设备1401通过网络1403传输来的信息。通信单元1507通过图1中所示的I/F 109来具体实现其功能。
输出单元1508输出由信息创建单元1505创建的使用情况图(参看图19),由描述信息变换单元1506变换获得的使用情况图(参看图20),以及从验证支持设备1401经过网络1403传来的信息。图1中所示的显示器108或打印机113将实现输出单元1508的功能。
下面说明根据本发明的第二实施例的验证支持设备1401的功能配置。图21是根据第二实施例的验证支持设备1401的一功能配置的框图。验证支持设备1401充当服务器。如图21中所示,所述验证支持设备1401包括:通信单元2100、图形变换单元602、逻辑表达式变换单元604、验证项函数生成单元605、验证项函数存储单元606、验证项提取单元2101、验证开销计算单元2102、验证开销数据库2103,以及输入/输出序列创建单元2104。图形变换单元602、逻辑表达式变换单元604、验证项函数生成单元605和验证项函数存储单元606与图6中所示的第一实施例的这些单元相类似,这里将省略对它们的说明。
验证项提取单元2101从保存在验证项函数存储单元606中的验证项中提取验证项。验证开销计算单元2102根据由验证项提取单元2101提取的验证项和源自验证开销数据库2103的开销来计算验证开销。
图22是保存在根据第二实施例的验证支持设备的验证开销数据库2103中的数据的配置。验证开销数据库2103保存与开销对应的使用情况。开销“1”用于现有设计的使用情况,开销“2”用于转换设计的使用情况,开销“5”则用于新设计的使用情况。
输入/输出序列创建单元2104根据从信息终端设备1402传入的验证环境和由验证项提取单元2101提取的验证项来创建输入/输出序列。CPU101执行保存在图1中所示的ROM 102、RAM 103、HD 105和FD 107中的程序,或者通过I/F 109来执行程序,以分别实现验证项提取单元2101、验证开销计算单元2102和输入/输出序列创建单元2104的功能。图1中所示的ROM 102、RAM103、HD 105和FD 107实现验证开销数据库2103的功能。
下面说明根据第二实施例的验证支持设备的提取过程。图23是根据第二实施例的验证支持设备的提取过程的示例的流程图。当所述验证支持设备从信息终端设备1402接收具有已编码的操作方描述信息和已编码的使用情况描述信息的使用情况图(见图20)时(步骤S2301处选择是),该验证支持设备将确定是否收到一关于所述输入/输出序列的条件(步骤S2302)。若收到了该关于所述输入/输出序列的条件(步骤S2302处选择是),所述验证支持设备根据所收到的使用情况和输入/输出序列执行验证项提取处理(步骤S2303)。
所述验证项提取处理和根据第一实施例的步骤S901至步骤S906(参看图9)中的类似,这里将省略对该处理的说明。所述验证支持设备根据所检测到的验证项来计算验证开销(步骤S2304),并将这些验证项和验证开销传输到信息终端设备1402(步骤S2305)。图24是由根据第二实施例的验证支持设备提取的验证项和验证开销的表。
图24示出了从第一至第五共五个验证项。例如,在第一个验证项处,从输入单元aaaaa输入的数据经过功能器件A和功能器件I被输入到功能器件N。从输入单元bbbbb输入的数据经过功能器件B和功能器件C被输入到功能器件N。从功能器件I和功能器件J输入的数据被从输出单元ddddd经过功能器件N和功能器件E输出。
功能器件A的使用情况的开销为“1”,功能器件B的使用情况的开销为“1”,功能器件I的使用情况的开销为“1”,功能器件J的使用情况的开销为“1”,功能器件N的使用情况的开销为“1”,功能器件E的使用情况的开销为“2”。因此,第一个验证项的验证开销为7,是这些开销的和。
类似地,所述验证支持设备还将计算第二至第五个验证项的验证开销。如图24中所示,第二个验证项的验证开销为“18”,第三个验证项的验证开销为“6”,第四个验证项的验证开销为“18”,第五个验证项的验证开销为“4”。
信息终端设备1402接收所述验证项和验证开销,并且参考使用情况描述信息数据库1503和操作方描述信息数据库1504来解码这些验证项和验证开销。图25是多个验证项和验证开销的表,它们被从包括在图24中显示的验证项和验证开销中的代码信息变换成了原始的描述信息。从图25中可清楚看到,第二和第四个验证项的验证开销最大。因此,执行验证的人员可以从具有最大验证开销的项开始来按照优先级验证所述验证项。
由于所述验证项还显示了使用情况,执行验证的人员可以判断构成所述验证项的功能器件是对应于一现有设计,还是对应于一转换设计或一新设计。因此,除了检测开销外,设计的类型也可作为一条准则,来确定给予哪个验证项优先级。
例如,由于第一个验证项的验证开销是“7”,而第三个验证项的验证开销是“6”,因此第一个验证项就比第三个验证项优先被验证。不过,第一个验证项具有一个转换设计的使用情况,而第三个验证项则具有两个转换设计的使用情况。因此,设计人员可优先于第一个验证项来验证第三个验证项。
下面说明所述输入/输出序列的创建过程。图26是示出所述输入/输出序列创建过程的流程图。首先,所述验证支持设备确定是否已提取验证项(步骤S2601)。若该验证支持设备确定已提取验证项(步骤S2601处选择是),该验证支持设备进一步确定是否接收了所述验证环境(步骤S2602)。若接收了所述验证环境(步骤S2602处选择是),所述验证支持设备将创建输入/输出序列(步骤S2603),并向信息终端设备1402传输所创建的输入/输出序列(步骤S2604)。
根据图27,所述验证环境如下:时刻0处reset=1;时刻1处或往后reset=0;对于代码信息(A),data_A=D1对于代码信息(B),data_B=D2;对于代码信息(E),mode_E=1。
所述验证支持设备根据由验证项提取单元609检测到的验证项来创建输入/输出序列。例如,所述验证支持设备将为图24中所示的第一个验证项创建图28中所示的输入/输出序列。具体而言,从第一个验证项中,所述验证支持设备提取一路径,在该路径中,功能器件A输入模拟音频,功能器件B输入模拟视频,而功能器件E则输出MPEG流。
给定验证环境时,即可创建图29中所示的时序图(即,输入/输出序列)。根据该时序图,在时刻1和往后时间内,功能器件A输入模拟音频D1,功能器件B输入模拟视频D2,而功能器件E则输出MPEG流。
有了上述安排,即可将所述输入/输出序列提供给设计人员。所述验证支持设备可以把所提供的输入/输出序列直接提供给要验证的设备,而无需设计人员创建该输入/输出序列。这样,就提高了验证效率。
如上所述,根据本发明的第二实施例,在信息终端设备1402中,构成所创建的使用情况图的输入单元、输出单元和多个功能器件被编码。因此,所述使用情况可被加密。类似地,被编码的输入单元、输出单元和多个功能器件将提取验证项。因此,验证项也可被加密。
因此,作为使用情况图的供应者,设计人员可以把使用情况图提供给所述验证支持设备,同时保密该使用情况图的内容。即使包含在该使用情况图中的描述信息被编码,所述验证支持设备也可提取出验证项。因此,所述验证支持设备可以提供高安全度的验证支持。
在第二实施例中,信息终端设备1402将所述使用情况描述信息和操作方描述信息变换成代码信息,进而加密所述使用情况描述信息和操作方描述信息。另选地,可以采用公知的加密技术来加密所述使用情况描述信息和操作方描述信息的字符串。这样,所述验证支持设备同样可以提供高安全度的验证支持。
根据第一和第二实施例,验证支持设备1401可以提取一可执行的输入/输出序列所必需的验证项。因此,验证支持设备1401可以容易且高效地验证要验证的设备,从而可缩短设计周期。
此外,诸如个人计算机或工作站之类的计算机可以执行预先创建的程序,以实现根据第一和第二实施例的验证支持方法。该程序记录在计算机可读记录介质上,例如硬盘、软盘、CD-ROM、MO或DVD上。计算机从所述记录介质中读取并执行该程序。这种程序可以是一种可通过网络(例如Internet)分发的传播介质。
在第一和第二实施例中所说明的验证支持设备适合支持采用LSI的电子设备的验证,例如DVD/HDD录像机、便携式电话和导航系统等。
如上所述,根据本发明,可以提取一可执行的输入/输出序列所必需的验证项。因此,所述验证支持设备可以容易且高效地验证要验证的设备,从而,可以缩短设计周期。
尽管为了完整且清晰的公开,采用具体的实施例对本发明进行说明,但是附加的权利要求并不因此而被限制,相反,其被解释为可以实施所有对于本领域内的熟练技术人员而言可能发生的任何修改和另选构造,这些都清楚地落入这里所阐释的基本教导的范围之内。