專利名稱:驗證支持的方法及用于驗證支持的設備和計算機產品的制作方法
技術領域:
本發明涉及一種用于生成驗證項以創建一被稱為測試模式(testpattern)的輸入/輸出序列的技術。
背景技術:
常規上,大規模集成電路(LSI)設計需要執行驗證過程以驗證所述LSI的正常操作,以及通過縮短設計時間來改進工作效率。特別地,對于需要大規模、高級功能、高速和低功耗的LSI,要想維持其高質量,驗證過程是不可缺少的步驟。
在驗證過程中,要創建一被稱為測試模式的一系列輸入/輸出序列。根據該輸入/輸出序列,將輸入信號提供給LSI,并且確認LSI的輸出信號是否與期望值一致。這樣,就可以驗證一設備是否按期望方式運行。然而,在LSI中有眾多的功能器件。在此情況下,很難手工列出所有功能器件間的數據流(即,序列),而且所述輸入/輸出序列(即,測試模式)的生成也很復雜。
傳統上,有一種方法可以從功能框圖中提取輸入/輸出序列,所述的功能框圖采用預定的描述語言來創建。根據該方法,所述功能框圖將要驗證的設備表示為功能器件和這些功能器件之間的數據流。通過分別用多個節點和多條邊沿來替換所述多個功能器件和所述數據流,來創建一圖形。然后,采用該圖形上的一條路徑來指定一個序列。最后,就可以列出指定給所要驗證的設備的一輸入/輸出序列。例如,在下面的文獻中說明了該傳統方法J.Ryser,M.Glinz,“A Scenario-Based Approachto Validating and Testing Software Systems Using Statecharts”,12thIntl.Conf.on Softeware Engineering and their Applications,Dec.1999。
然而,由于LSI中的功能器件將基于硬件的并行執行來并行操作,而所述的傳統方法只能一條接一條地來考慮所述圖形上的路徑,因此,這種傳統方法就不能處理多個序列的同時執行。此外,該傳統方法沒有考慮一硬件所特定的資源限制,比如,對于類似LSI之類要驗證的設備中的功能器件的共享和獨占使用。
因此,由該傳統方法所列出的輸入/輸出序列實際上包括一不可執行的輸入/輸出序列。試圖采用該不可執行的輸入/輸出序列來執行驗證可能會失敗。結果,白白浪費了工時和勞動,并且延長了設計時間。
發明內容
本發明的一個目的是至少解決所述傳統技術中的問題。
根據本發明的一個方面的驗證支持的方法包括輸入表示要驗證的設備的功能的功能配置信息;輸入用于被指定給所述設備的輸入/輸出序列的條件;根據所述功能配置信息,生成滿足所述輸入/輸出序列的全部條件的驗證項函數;以及,根據所述驗證項函數,提取多個配置元素的組合作為一驗證項,這些配置元素構成所述功能配置信息。
根據本發明的另一方面的計算機程序在計算機上實現了根據本發明的方法。
根據本發明的又一方面的用于驗證支持的設備包括信息輸入單元,用于輸入表示一要驗證的設備的功能的功能配置信息;條件輸入單元,用于輸入用于被提供給所述設備的輸入/輸出序列的條件;生成單元,用于根據所述功能配置信息,生成滿足用于所述輸入/輸出序列的全部條件的驗證項函數;以及提取單元,用于根據所述驗證項函數,提取多個配置元素的組合作為一驗證項,這些配置元素構成所述功能配置信息。
在下面的詳細說明中,將具體闡述本發明的其他目的、特征和優點;或者在結合附圖閱讀時,這些將變得十分清楚。
圖1是根據本發明的第一實施例和第二實施例的驗證支持設備,其具有根據第二實施例的信息終端設備;圖2是根據第一實施例的要驗證的設備的功能配置信息的框圖;圖3是從所述根據第一實施例的要驗證的設備的功能配置信息變換來的圖形;圖4是所述根據第一實施例的要驗證的設備中的多個節點號和多個布爾變量之間的關系表;圖5是所述根據第一實施例的要驗證的設備的多個邊沿號和多個布爾變量之間的關系表;圖6是所述根據第一實施例的驗證支持設備的功能配置的框圖;圖7是一雙值決策圖(BDD)的示例,其被用于所述根據第一實施例的驗證支持設備;圖8是保存在所述根據第一實施例的驗證支持設備的驗證開銷數據庫中的數據的配置;圖9是所述根據第一實施例的驗證支持設備的驗證項提取過程的示例的流程圖;圖10是列出驗證項函數的示例表(第一部分),其由所述根據第一實施例的驗證支持設備以BDD格式生成;圖11是列出驗證項函數的示例表(第二部分),其由所述根據第一實施例的驗證支持設備以BDD格式生成;圖12是列出驗證項函數的示例表(第三部分),其由所述根據第一實施例的驗證支持設備以BDD格式生成;圖13是所述根據第一實施例的驗證支持設備的驗證項提取過程的另一示例的流程圖;圖14是根據第二實施例的驗證支持系統的示意圖;圖15是根據第二實施例的信息終端設備的功能配置的框圖;圖16是保存在所述根據第二實施例的信息終端設備的使用情況顯示信息數據庫中的數據的配置;圖17是保存在所述根據第二實施例的信息終端設備的使用情況描述信息數據庫中的數據的配置;
圖18是保存在所述根據第二實施例的信息終端設備的操作方描述信息數據庫中的數據的配置;圖19是由所述根據第二實施例的信息終端設備創建的要驗證的設備的使用情況圖;圖20是一使用情況圖,其中,包括在圖19中所示的使用情況圖中的描述信息被變換成了代碼信息;圖21是所述根據第二實施例的驗證支持設備的功能配置的框圖;圖22是保存在所述根據第二實施例的驗證支持設備的驗證開銷數據庫中的數據的配置;圖23是所述根據第二實施例的驗證支持設備的提取過程的示例的流程圖;圖24是由所述根據第二實施例的驗證支持設備提取的多個驗證項和多個驗證開銷的表;圖25是多個驗證項和多個驗證開銷的表,這些驗證項和驗證開銷被從包括在圖24中所示的多個驗證項和多個驗證開銷中的代碼信息變換成了原始描述信息;圖26是所述根據第二實施例的驗證支持設備的輸入/輸出序列創建過程的示例的流程圖;圖27是由所述根據第二實施例的信息終端設備創建的驗證環境的示例;圖28是由所述根據第二實施例的驗證支持設備創建的輸入/輸出序列;以及圖29是圖28中所示的輸入/輸出序列的時序圖。
具體實施例方式
下面參考附圖來詳細說明根據本發明用于驗證支持的方法和設備的示例實施例,以及用于所述驗證支持的計算機產品。為了驗證一要驗證的設備能否正常操作,所述驗證支持設備將提取驗證項,這些驗證項將成為用于創建被稱為測試模式的輸入/輸出序列的源。所述驗證支持設備將從驗證項獲得的輸入/輸出序列提供給要驗證的設備,以驗證該設備。
圖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至O相關聯起來。
操作方描述信息數據庫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、RAM 103、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錄像機、便攜式電話和導航系統等。
如上所述,根據本發明,可以提取一可執行的輸入/輸出序列所必需的驗證項。因此,所述驗證支持設備可以容易且高效地驗證要驗證的設備,從而,可以縮短設計周期。
盡管為了完整且清晰的公開,采用具體的實施例對本發明進行說明,但是附加的權利要求并不因此而被限制,相反,其被解釋為可以實施所有對于本領域內的熟練技術人員而言可能發生的任何修改和另選構造,這些都清楚地落入這里所闡釋的基本教導的范圍之內。
權利要求
1.一種驗證支持方法,其包括輸入表示一要驗證的設備的功能的功能配置信息;輸入用于一指定給所述設備的輸入/輸出序列的條件;根據所述功能配置信息,生成滿足所有用于所述輸入/輸出序列的條件的驗證項函數;以及根據所述驗證項函數,提取一配置元素的組合以作為一驗證項,其中這些配置元素構成所述功能配置信息。
2.根據權利要求1的方法,其中所述驗證項函數用一雙值決策圖表示,以及所述驗證項根據由所述雙值決策圖表示的驗證項函數來提取。
3.根據權利要求1的方法,其中用于所述輸入/輸出序列的條件包括一資源限制條件,其用于構成所述功能配置信息的配置元素中的功能器件。
4.根據權利要求1的方法,其中用于所述輸入/輸出序列的條件包括一個對構成所述功能配置信息的配置元素中的一要驗證的配置元素進行限制的條件。
5.根據權利要求1的方法,其中優先級信息被添加到構成所述功能配置信息的配置元素中的功能器件上,以及所述方法進一步包括根據用于每一個驗證項的所述功能器件的優先級信息來計算驗證優先級。
6.根據權利要求1的方法,進一步包括輸入要被提取的驗證項的數目,其中根據所輸入的驗證項的數目提取所述驗證項。
7.根據權利要求1的方法,進一步包括將描述構成所述功能配置信息的功能器件的操作的驗證項描述信息變換成不描述該功能器件的操作的信息,其中所變換的信息作為所述功能配置信息被輸入。
8.根據權利要求1的方法,進一步包括輸入一驗證環境,其限定了向所述要驗證的設備輸入和從其中輸出的數據流;以及根據所述驗證環境和驗證項,生成一應用于所述要驗證的設備的輸入/輸出序列。
9.根據權利要求7的方法,其中從一預定的信息終端經由網絡輸入所述功能配置信息,從該信息終端經由所述網絡輸入用于所述輸入/輸出序列的條件,以及所述驗證項經由所述網絡輸出到所述信息終端。
10.根據權利要求8的方法,其中從一預定的信息終端經由網絡輸入所述功能配置信息,從該信息終端經由所述網絡輸入用于所述輸入/輸出序列的條件,從該信息終端經由所述網絡輸入所述驗證環境,所述驗證項經由所述網絡輸出到所述信息終端,以及所述輸入/輸出序列經由所述網絡輸出到所述信息終端。
11.一種使計算機執行以下操作的計算機程序輸入表示一要驗證的設備的功能的功能配置信息;輸入用于一指定給所述設備的輸入/輸出序列的條件;根據所述功能配置信息,生成滿足所有用于所述輸入/輸出序列的條件的驗證項函數;以及根據所述驗證項函數,提取一配置元素的組合以作為一驗證項,其中這些配置元素構成所述功能配置信息。
12.一種驗證支持設備,其包括信息輸入單元,其輸入表示一要驗證的設備的功能的功能配置信息;條件輸入單元,其輸入用于一指定給所述設備的輸入/輸出序列的條件;生成單元,其根據所述功能配置信息,生成滿足所有用于所述輸入/輸出序列的條件的驗證項函數;以及提取單元,其根據所述驗證項函數,提取一配置元素的組合以作為一驗證項,其中這些配置元素構成所述功能配置信息。
全文摘要
信息輸入單元輸入表示一要驗證的設備的功能的功能配置信息。條件輸入單元輸入關于指定給該設備的輸入/輸出序列的條件。函數生成單元根據所述功能配置信息,生成滿足所有這些條件的驗證項函數。提取單元根據所述驗證項函數提取一配置元素的組合以作為一驗證項,其中這些配置元素構成所述功能配置信息。
文檔編號G06F11/34GK1497445SQ20031010031
公開日2004年5月19日 申請日期2003年10月9日 優先權日2002年10月9日
發明者安倍健志, 田宮豐 申請人:富士通株式會社