JP4355525B2 - 検証支援方法、検証支援プログラムおよび検証支援装置 - Google Patents

検証支援方法、検証支援プログラムおよび検証支援装置 Download PDF

Info

Publication number
JP4355525B2
JP4355525B2 JP2003188940A JP2003188940A JP4355525B2 JP 4355525 B2 JP4355525 B2 JP 4355525B2 JP 2003188940 A JP2003188940 A JP 2003188940A JP 2003188940 A JP2003188940 A JP 2003188940A JP 4355525 B2 JP4355525 B2 JP 4355525B2
Authority
JP
Japan
Prior art keywords
verification
input
functional configuration
functional
configuration information
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.)
Expired - Fee Related
Application number
JP2003188940A
Other languages
English (en)
Other versions
JP2004185592A (ja
Inventor
健志 安倍
豊 田宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2003188940A priority Critical patent/JP4355525B2/ja
Priority to US10/680,105 priority patent/US7536620B2/en
Priority to EP03256356A priority patent/EP1408409A3/en
Publication of JP2004185592A publication Critical patent/JP2004185592A/ja
Application granted granted Critical
Publication of JP4355525B2 publication Critical patent/JP4355525B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、テストパタンと呼ばれる入出力シーケンスを作成するための検証項目を生成する検証支援方法、検証支援プログラムおよび検証支援装置に関する。
【0002】
【従来の技術】
LSI設計では、従来から設計期間の短縮による作業効率化が要求されている一方、LSIが正しく動作するかどうかを検証する検証作業が必要不可欠であり、特に、大規模化、高機能化、高速化および低消費電力化が要求されているLSIについては、高品質を維持するためにもこの検証作業は重要である。
【0003】
LSIの検証作業では、まず、テストパタンと呼ばれる一連の入出力シーケンスを作成する。つぎに、この入出力シーケンスに基づいてLSIに入力信号を与え、LSIから出力される出力信号が期待値と合っているかどうか確認する。これにより、被検証装置が期待値通りに動作するかどうかを検証することができる。しかし、上述のように、大規模化、高機能化、高速化および低消費電力化が進んでいるLSIでは、LSI内の機能素子の個数が膨大となっている。このような状況では、人手によって、すべての機能素子間のデータの流れ(シーケンス)を列挙することは困難であり、上述した入出力シーケンス(テストパタン)の生成作業が複雑であった。
【0004】
そこで、従来から、所定の記述言語によって作成された機能ブロック図から入出力シーケンスを抽出する手法がある。この手法では、機能ブロック図によって、被検証装置が、機能素子と、機能素子間のデータの流れで表されている。そして、この機能素子をノード、機能素子間のデータの流れをエッジに置き換えたグラフを作成する。このグラフ上の1つのパスを辿ることによって、1つのシーケンスを特定することができる。これにより、被検証装置に与える入出力シーケンスを列挙することができる(たとえば、下記非特許文献1参照。)。
【0005】
【非特許文献1】
J.Ryser,M,Glinz, "A Scenario-Based Approach to Validating and Testing Software Systems Using Statechars", 12th Intl. Conf. on Software Engineering and their Applications, Dec.1999.
【0006】
【発明が解決しようとする課題】
しかしながら、LSIはハードウェアの並列実行性によって各機能素子が並列に動作するため、上述した非特許文献1に記載の従来技術では、グラフ上のパスを1本ずつしか辿ることができず、複数のシーケンスが同時に実行される場合を考慮することができないという問題があった。また、上述した非特許文献1に記載の従来技術では、LSIなどの被検証装置における、機能素子の共有や排他利用などハードウェア特有のリソース制約が考慮されていないという問題があった。
【0007】
したがって、上述した非特許文献1に記載の従来技術によって列挙される入出力シーケンスには、実際には実行不可能な入出力シーケンスが含まれてしまうこととなる。そして、この実行不可能な入出力シーケンスによって検証作業をおこなっても検証できないため、作業時間や作業労力が無駄になり、設計期間が長期化するという問題があった。
【0008】
本発明は上記問題点を解決するためになされたものであって、被検証装置に対する検証作業を簡単かつ効率的におこなうことにより設計期間の短縮化を図ることができる検証支援方法、検証支援プログラムおよび検証支援装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、この発明の検証支援方法、検証支援プログラムおよび検証支援装置は、正常に動作するか否かの検証がおこなわれる被検証装置の機能をあらわす機能的構成情報を入力し、前記被検証装置に与える入出力シーケンスに関する条件を入力し、入力された機能的構成情報に基づいて、入力された入出力シーケンスに関する条件をすべて満足する検証項目関数を生成し、生成された検証項目関数に基づいて、前記機能的構成情報を構成する構成要素の組み合わせを、検証項目として抽出することを特徴とする。この発明の検証支援方法、検証支援プログラムおよび検証支援装置によれば、実行可能な入出力シーケンスに必要な検証項目を抽出することができる。
【0010】
【発明の実施の形態】
以下に、この発明の検証支援方法、検証支援プログラムおよび検証支援装置の各実施形態について、添付図面を参照しつつ詳細に説明する。この検証支援装置は、被検証装置が正常に動作するか否かを検証するため、テストパタンと呼ばれる入出力シーケンスの作成元となる検証項目を抽出する。そして、この検証項目から得られる入出力シーケンスを被検証装置に与えることにより、被検証装置の検証をおこなうことができる。
【0011】
(実施の形態1)
(検証支援装置のハードウェア構成)
図1は、この発明の実施の形態1にかかる検証支援装置のハードウェア構成を示すブロック図である。検証支援装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
【0012】
ここで、CPU101は、検証支援装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
【0013】
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを検証支援装置に読み取らせたりする。
【0014】
着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【0015】
I/F109は、通信回線を通じてインターネットなどのネットワークに接続され、このネットワークを介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
【0016】
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【0017】
スキャナ112は、画像を光学的に読み取り、検証支援装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【0018】
(被検証装置の機能的構成情報)
つぎに、被検証装置の機能的構成情報について説明する。図2は、被検証装置の機能的構成情報を示す説明図である。また、この機能的構成情報は、たとえば、UML(Unified Modeling Language)などの所定の記述言語によって作成することができる。また、機能的構成情報の一例として、たとえば、ユースケース図やシーケンス図などが挙げられる。ここでは、被検証装置として、たとえば、DVD/HDDビデオレコーダを用いた場合について説明する。
【0019】
図2に示すように、被検証装置としてのDVD/HDDビデオレコーダ200は、ビデオ入力部201、HD入力部202、DVD−R/W入力部203、エンコーダ204、デコーダ205、ビデオ出力部206、HD出力部207、DVD−R/W出力部208からなる機能素子と、各機能素子間を接続する信号線211〜218と、からなる構成要素によって構成されている。
【0020】
ビデオ入力部201はビデオデータを入力する。HD入力部202は、HD(ハードディスク)から読み出されたMPEGデータを入力する。DVD−R/W入力部203は、DVD−R/Wから読み出されたMPEGデータを入力する。エンコーダ204は、ビデオ入力部201から入力されたビデオデータを、MPEGデータにエンコードする。
【0021】
デコーダ205は、HD入力部202またはDVD−R/W入力部203から入力されたMPEGデータをビデオデータにデコードする。ビデオ出力部206は、ビデオ入力部201から入力されたビデオデータまたはデコーダ205によってデコードされたビデオデータを出力する。HD出力部207およびDVD−R/W出力部208は、エンコーダ204によってエンコードされたMPEGデータを出力し、それぞれHD、DVD−R/Wに書き込む。
【0022】
つぎに、図2に示す機能ブロック図を変換したグラフについて説明する。図3は、図2に示す機能ブロック図を変換したグラフを示す説明図である。このグラフ300は、図2に示す機能ブロック図における機能素子(ビデオ入力部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に対して、以下に示すブール変数を与える。
【0023】
図3の例では、ノード301〜308として以下の8つが定義されており、図4に示すように、各ノード301〜308にはそれぞれブール変数が対応付けされている。また、変換された各エッジ311〜317には、図5に示すように、以下のブール変数が対応付けされている。
【0024】
(検証支援装置の機能的構成)
つぎに、この発明の実施の形態1にかかる検証支援装置の機能的構成について説明する。図6は、この発明の実施の形態1にかかる検証支援装置の機能的構成を示すブロック図である。検証支援装置600は、機能的構成情報入力部601と、グラフ変換部602と、条件入力部603と、論理式変換部604と、検証項目関数生成部605と、検証項目関数記憶部606と、検証コストデータベース607と、検証コスト算出部608と、検証項目抽出部609と、から構成されている。
【0025】
機能的構成情報入力部601は、被検証装置の機能的構成をあらわした機能的構成情報を入力する。この機能的構成情報とは、具体的には、上述した図2に示したような、被検証装置の機能的構成を示す機能ブロック図200であり、機能素子201〜208と、機能素子間の接続線211〜218(機能素子間のデータの流れ)と、からなる構成要素によって構成されている。
【0026】
グラフ変換部602は、機能的構成情報入力部601に入力された被検証装置の機能ブロック図200(図2参照)を、ノード301〜308とエッジ311〜317からなるグラフ300(図3を参照)に変換する。すなわち、機能ブロック図200の機能素子201〜208はノード301〜308に変換され、機能素子間を接続する信号線211〜218(機能素子間のデータの流れ)はエッジ311〜317に変換される。
【0027】
条件入力部603は、被検証装置に与える入出力シーケンスに関する条件を入力する。この入出力シーケンスに関する条件とは、たとえば、入出力シーケンスの始点と終点の条件(条件1)、各エッジの接続条件(条件2)、各機能素子のファンアウト条件(条件3)、各機能素子のファンイン条件(条件4)、機能素子のリソース制約条件(条件5)、機能ブロック図を構成する構成要素のうち検証対象となる構成要素を制限する条件(条件6)などが挙げられる。
【0028】
論理式変換部604は、グラフ変換部602によって得られたノード301〜308およびエッジ311〜317からなるグラフ300と、条件入力部603によって入力された入出力シーケンスに関する条件と、に基づいて、論理式に変換する。この論理式は、たとえば、ブール代数によって生成される。この論理式への変換の詳細については後述する。
【0029】
検証項目関数生成部605は、生成された論理式に基づいて、2分グラフ(Binary Decision Diagram 、以下「BDD」という)を用いて、検証項目関数を生成する。生成された検証項目関数は、検証項目関数記憶部606に記憶される。BDDとは、たとえば図7に示すようなグラフを使って論理関数をコンパクトに表現するデータ構造である。BDDについては、以下の文献に詳細が説明されている。
R. E. Bryant, "Graph-based Algorithms for Boolean Function Manipulation”, IEEE Trans. on Computers, C-35, August 1986.
【0030】
検証コストデータベース607は、図8に示すように、図4に示したブール変数ごとに、重みとなるコスト値を対応付けて記憶する。このコスト値を用いて、そのブール変数に対応する機能素子201〜208(ノード301〜308)について検証の重要度をあらわすことができる。たとえば、コスト値が「1」のブール変数に対応する機能素子は既存設計、コスト値が「2」のブール変数に対応する機能素子は流用設計、コスト値が「5」のブール変数に対応する機能素子は新規設計と定義することができる。すなわち、コスト値が大きいほど検証の重要性が高く、コスト値が小さいほど検証の重要性は低いこととなる。
【0031】
検証コスト算出部608は、検証項目抽出部609によって抽出された検証項目に関する検証コストを算出する。たとえば、あらかじめグラフ変換部602によって得られるノード301〜308に重みとなるコスト値を付加しておき、抽出された検証項目に含まれるノードのコスト値を加算することによって、検証コストを算出する。算出された検証コストは、検証項目抽出部609に出力する。
【0032】
検証項目抽出部609は、検証項目関数記憶部606に記憶されている検証項目関数から、機能的構成情報を構成する構成要素の組み合わせを、検証項目として抽出する。具体的には、検証項目関数の値が1になるようなブール変数の組を求めることによって、検証項目を抽出する。この検証項目は、上述したBDDを用いることによって抽出することができる。
【0033】
また、検証項目抽出部609は、あらかじめ設定された個数nの検証項目を抽出する。この場合、検証コスト算出部608によって算出された各検証項目のコスト値に基づいて、個数nの検証項目を抽出する。たとえば、検証項目を検証コスト順に並べて、上位n番目までの検証項目を抽出することとしてもよい。また、以下の文献で紹介されている手法を使うことによって、算出されたコスト順に、n個の検証項目を生成することができる。
「島田剛一他編集,”アルゴリズム辞典”,”最短経路(グラフ)”の項,pp.279-280, 共立出版,1994 」
【0034】
また、上述した機能的構成情報入力部601、グラフ変換部602、条件入力部603、論理式変換部604、検証項目関数生成部605、検証コスト算出部608および検証項目抽出部609は、具体的には、図1に示したROM102、RAM103、HD105、FD107などに記録されたプログラムをCPU101が実行することによって、またはI/F109によって、その機能を実現する。また、検証項目関数記憶部606および検証コストデータベース607は、具体的には、図1に示したROM102、RAM103、HD105、FD107などによって、その機能を実現する。
【0035】
(入出力シーケンスに関する条件から論理式への変換)
つぎに、入出力シーケンスに関する条件から論理式への変換について説明する。入出力シーケンスに関する条件は、上述したように、入出力シーケンスの始点と終点の条件(条件1)、各エッジの接続条件(条件2)、各機能素子のファンアウト条件(条件3)、各機能素子のファンイン条件(条件4)、機能素子のリソース制約条件(条件5)、機能ブロック図200を構成する構成要素201〜208、211〜218のうち検証対象となる構成要素を制限する条件(条件6)がある。
【0036】
また、ブール代数における否定、論理和、論理積、含意、同値を、それぞれ、「!」、「+」、「*」、「→」、「≡」によって表している(「A→B」は「!A+B」と同じ意味であり、また、「A≡B」は「(A→B)*(B→A)」と同じ意味を表している。)。
【0037】
まず、条件1(入出力シーケンスの始点と終点の条件)から論理式への変換について説明する。入出力シーケンスの始まりとなるノードを「始点」、入出力シーケンスの終わりとなるノードを「終点」とする。入出力シーケンスを成立させるためには、始点となっているノードのブール変数の論理和が「1」になることが必要である。同様に、終点となっているノードのブール変数の論理和も「1」になることが必要である。上述した図2および図3の例では、始点となるノードは、ノード301〜303である。また、終点となるノードは、ノード306〜308である。したがって、ブール変数を用いることによって、下記の論理式に変換することができる。
inVideo +inDVD +inHDD ・・・(1)
outVideo+outDVD+outHDD・・・(2)
【0038】
つぎに、条件2(各エッジの接続条件)から論理式への変換について説明する。各エッジ311〜317について、そのエッジ上にデータが流れる場合、エッジの両端のノードに対応する機能素子が作動している必要がある。そして、図3のエッジ311(ブール変数:inVideo_outVideo)については、以下の論理式によってあらわすことができる。
inVideo_outVideo→inVideo*outVideo ・・・(3)
【0039】
その他のエッジ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)
【0040】
つぎに、条件3(各機能素子のファンアウト条件)から論理式への変換について説明する。あるノードに対応する機能素子が作動すれば、データは、そのファンアウトエッジの中のいずれかのエッジを通って次のノードに対応する機能素子に伝達する。反対に、あるノードに対応する機能素子のファンアウトエッジのいずれかがデータを伝達しているときは、その機能素子は作動していなくてはならない。このような条件を以下の論理式で表す。
【0041】
たとえば、図3のノード301(ブール変数:inVideo )は、ファンアウトエッジとして、エッジ311(ブール変数:inVideo_outVideo )とエッジ312(ブール変数:inVideo_encMPEG )を有しているので、以下の論理式によって表現することができる。
inVideo ≡inVideo_outVideo+inVideo_encMPEG・・・(10)
【0042】
同様に、他の機能素子のファンアウトについても、以下の論理式によって表現することができる。
inDVD ≡inDVD_decMPEG ・・・・・・・・・・・・・・(11)
inHDD ≡inHDD_decMPEG ・・・・・・・・・・・・・・(12)
decMPEG ≡decMPEG_outVideo・・・・・・・・・・・・(13)
encMPEG ≡encMPEG_outDVD+encMPEG_outHDD ・・・・(14)
【0043】
つぎに、条件4(各機能素子のファンイン条件)から論理式への変換について説明する。この条件4は、条件3と同様である。すなわち、あるノードに対応する機能素子が作動すれば、データは、そのファンインエッジの中のいずれかのエッジを通って、前段の機能素子から伝達してくる。反対に、あるノードに対応する機能素子のファンインエッジのいずれかがデータを伝達しているときは、その機能素子が作動していなくてはならない。このような条件を以下の論理式によってあらわす。
【0044】
たとえば、図3のノード305(ブール変数:decMPEG )は、ファンインエッジとしてエッジ313(ブール変数:inDVD_decMPEG )とエッジ314(ブール変数:inHDD_decMPEG )を有しているので以下の論理式によってあらわすことができる。
decMPEG≡inDVD_decMPEG+inHDD_decMPEG ・・・・・・(15)
【0045】
同様に、他の機能素子のファンインについても、以下の論理式によって表現することができる。
encMPEG≡inVideo_encMPEG ・・・・・・・・・・・・・(16)
outVideo≡inVideo_outVideo+decMPEG_outVideo・・・(17)
outDVD≡encMPEG_outDVD ・・・・・・・・・・・・・・(18)
outHDD≡encMPEG_outHDD ・・・・・・・・・・・・・・(19)
【0046】
つぎに、条件5(機能素子のリソース制約条件)から論理式への変換について説明する。複数の入出力シーケンスを同時に実行しようとしても、あるノードに対応する機能素子のリソースの制約によって不可能な場合が考えられる。例えば、あるノードに対応する機能素子が複数のファンインエッジを持っていても、その機能素子内部のリソース制約から、全ての入力を同時処理できないというケースが考えられる。
【0047】
ここでは、そのような機能素子におけるハードウェア上のリソース制約に起因する条件を論理式として表す。たとえば、図3のノード305(ブール変数:decMPEG )とノード306(ブール変数:outVideo)について、入力データが高々1つしか受け付けられない場合、以下の論理式としてあらわすことができる。
!(inDVD_decMPEG*inHDD_decMPEG ) ・・・・・(20)
!(inVideo_outVideo*decMPEG_outVideo)・・・(21)
【0048】
たとえば、上記式(21)については、上述したリソース制約がある場合、エッジ313(ブール変数:inDVD_decMPEG )またはエッジ314(ブール変数:inHDD_decMPEG )のいずれか一方のエッジが「0」でなければならないことを意味している。また、DVD−R/Wの動作速度が遅いためデータの読み出しと書き込みを同時に行えない場合の制約条件は、以下の論理式によってあらわすことができる。
!(inDVD*outDVD )・・・(22)
【0049】
つぎに、条件6(機能ブロック図200を構成する構成要素201〜208、211〜218のうち検証対象となる構成要素を制限する条件)から論理式への変換について説明する。この条件6からの論理式への変換は、換言すれば、必要に応じて検証対象となる構成要素を絞り込むことである。具体的には、検証対象となる構成要素のうち、すでに検証済とされている部分(たとえば既存設計の機能素子)があり検証から除外したい場合や、特定の構成要素のみを検証すればよい場合には、検証対象を絞り込む論理式を追加することができる。
【0050】
たとえば、図3において、エンコーダ204が使われる入出力シーケンスのみが必要であると設計者が判断する場合、下記の論理式によって表現される制約を追加すればよい。
encMPEG≡1・・・(23)
【0051】
(検証支援装置における検証項目抽出処理手順)
つぎに、検証支援装置における検証項目抽出処理手順について説明する。図9は、検証支援装置における検証項目抽出処理手順を示すフローチャートである。まず、図2に示す機能的構成情報である機能ブロック図200が入力されたか否かを判断する(ステップS901)。機能ブロック図200が入力された場合(ステップS901:Yes)、機能ブロック図200を、図3に示すグラフ300に変換する(ステップS902)。
【0052】
そして、上述した入出力シーケンスに関する条件1〜6が入力されたか否かを判断する(ステップS903)。入出力シーケンスに関する条件1〜6が入力された場合(ステップS903:Yes)、ブール代数を用いて条件1〜6を論理式(1)〜(23)に変換する(ステップS904)。そして、変換によって得られた論理式(1)〜(23)から、検証項目関数を生成する(ステップS905)。
【0053】
ここで、検証項目関数の生成について具体的に説明する。図3の例では、上述した論理式(1)〜(22)がすべて「1」にならなければならない。したがって、これらの論理式(1)〜(22)のすべての論理積を取ったものが、検証項目関数となる。たとえば、被検証装置が大規模なLSIの場合、この検証項目関数は非常に複雑な論理式によって表現される可能性が高い。
【0054】
そのような場合は、検証項目関数を、上述した図7に示したBDDを用いてあらわすことが望ましい。この検証項目関数の一例を、図10〜図12に示す。図10〜図12に示す検証項目関数は、図7に示したBDDのグラフを用いて表現すると大きなグラフになることから、便宜上、表の形式で示したものである。
【0055】
図10〜図12において、「0_エッジ側ノード」とは、図11に示すブール変数の値が「0」のときに辿るエッジに接続されているノードを指し、「1_エッジ側ノード」とは、ブール変数の値が「1」のときに辿るエッジに接続されているノードを指す。また、「val_0」、「val_1」は、それぞれ定数0および1のノードをあらわす。
【0056】
つぎに、生成された検証項目関数から検証項目を抽出する(ステップS906)。この検証項目の抽出は、検証項目関数の論理積の値が「1」になるようなブール変数の組を列挙することである。すなわち、検証項目関数の変数値を「0」または「1」に変えて、その条件を満たす変数のすべての組み合わせを抽出すればよい。
【0057】
すなわち、上述したBDDを用いて、「1_ノード」へのパスを辿ることにより、下記に示す(a)〜(m)に示す13個の検証項目を抽出することができる。
(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 」
【0058】
この検証項目(a)〜(m)のうち、例えば、検証項目(a)に着目すると、図3に示したグラフ300における以下の2つのパスを得ることができる。
パス1:ノード301→エッジ312→ノード304→エッジ317→ノード308
パス2:ノード302→エッジ313→ノード305→エッジ315→ノード306
【0059】
なお、パス1をブール変数によってあらわすと、
「inVideo」→「inVideo_encMPEG」→「encMPEG」→「encMPEG_outHDD」→「outHDD」となり、パス2をブール変数によってあらわすと、
「inDVD」→「inDVD_decMPEG」→「decMPEG」→「decMPEG_outVideo」→「outVideo」となる。
【0060】
そして、上記のように検証項目からパスを抽出し、抽出したパスから実行可能な入出力シーケンスを得る。具体的には、抽出した各パスに沿ってデータが流れるような制御コマンドなどの検証環境を作成することにより、実行可能な入出力シーケンスを生成することができる。そして、この検証環境によりテストパタンとなる入出力シーケンスを流してLSIなどの被検証装置を検証することができる。
【0061】
このように、この発明の実施の形態1によれば、多数存在する機能素子201〜208の組み合わせの中から実行可能な入出力シーケンスを得るための手掛かりとなる検証項目を抽出することができる。これにより、設計者の検証作業効率の向上を図ることができる。
【0062】
また、検証項目関数が複雑な場合は、検証項目の総数が多くなりすぎて、すべての検証項目を列挙するのは現実的ではない場合が考えられる。そして、検証項目の総数を求める場合、検証項目関数をBDDによって表現しているため、上述した「1_ノード」へのパスを辿ることによってパス数を数えることにより、検証項目の総数を計算することができる。
【0063】
このように、この発明の実施の形態1によれば、検証項目関数をBDDによって表現することにより、検証項目を列挙する必要はなく、検証項目数の算出を効率的におこなうことができる。したがって、設計者は、算出された検証項目数を参照することにより、検証項目を削減するかどうかの判断をおこなうことができ、不要な検証項目については検証作業をおこなわなくすることで、検証作業効率の向上を図ることができる。
【0064】
また、この発明の実施の形態1によれば、算出された検証項目数を数えた結果、検証項目数が多すぎると判断した場合は、以下のようにして検証項目の数を削減することができる。たとえば、上述した条件6(機能ブロック図200を構成する構成要素201〜208、211〜218のうち検証対象となる構成要素を制限する条件)から得られる論理式を追加して、再度検証項目の抽出をおこなうことである。
【0065】
これにより、設計者の判断によって重要ではない検証項目を除外することができる。たとえば、エンコーダ204が使われる検証項目だけが必要であると設計者が判断する場合には、上述したように、論理式(23)である「encMPEG≡1」を制約に加えればよい。
【0066】
また、抽出される検証項目に優先順位をつけて、あらかじめ設定した個数n分の検証項目を抽出することにより、検証項目数を削減することとしてもよい。この処理手順について、図13を用いて説明する。まず、検証項目抽出部609によって検証項目が抽出されたか否かを判定する(ステップS1301)。検証項目が抽出されたと判定された場合(ステップS1301:Yes)、検証項目の制限個数nがあらかじめ入力されているか否かを判定する(ステップS1302)。
【0067】
検証項目の制限個数nがあらかじめ入力されている場合(ステップS1302:Yes)、抽出された検証項目数が制限個数nよりも大きいか否かを判定する(ステップS1303)。大きいと判定された場合(ステップS1303:Yes)、検証コストデータベース607を参照して、各検証項目の検証コストを算出する(ステップS1304)。
【0068】
そして、検証コストの最も大きい検証項目から上位n番目までの検証項目を出力する(ステップS1305)。一方、検証項目の制限個数nがあらかじめ入力されていない場合(ステップS1302:No)、および抽出された検証項目数が制限個数n以下の場合(ステップS1303:No)、ステップS1301によって抽出された検証項目をそのまま出力する(ステップS1306)。
【0069】
これによれば、予め定められた個数分の検証項目について検証コストを付加することにより、検証に際し重要な検証項目を優先して抽出することができる。したがって、設計者は、検証項目の重要度に応じた検証をおこなうことができ、被検証装置に対する検証精度の向上を図ることができる。
【0070】
(実施の形態2)
つぎに、本発明にかかる検証支援方法、検証支援プログラムおよび検証支援装置の実施の形態2について説明する。実施の形態1では、単一の検証支援装置によって被検証装置の検証作業を支援することとしているが、実施の形態2では、ネットワークを用いてシステム化することによって、被検証装置の検証を支援する。図14は、その検証支援システムの概略構成を示す説明図である。
【0071】
図14に示すように、検証支援システム1400は、サーバとして機能する検証支援装置1401および情報端末装置1402が、インターネット、LAN、WANなどのネットワーク1403によって相互に交信可能に接続されている。この検証支援装置1401と情報端末装置1402のハードウェア構成については、図1と同一であるため、その説明を省略する。
【0072】
(情報端末装置の機能的構成)
まず、情報端末装置1402の機能的構成について説明する。図15は、情報端末装置1402の機能的構成を示すブロック図である。この実施の形態2の情報端末装置1402は、検証項目の抽出をおこなうための機能的構成情報を作成して、サーバとして機能する検証支援装置1401に送信する。
【0073】
また、作成される機能的構成情報は、たとえば、UML(Unified Modeling Language)などの所定の記述言語によって作成することができる。また、機能的構成情報の一例として、たとえば、ユースケース図やシーケンス図などが挙げられる。この実施の形態2では、ユースケース図によって機能的構成情報を作成した場合について説明することとする。
【0074】
図15に示すように、情報端末装置1402は、入力部1501と、ユースケース表示情報データベース1502と、ユースケース記述情報データベース1503と、アクター記述情報データベース1504と、情報作成部1505と、記述情報変換部1506と、通信部1507と、出力部1508と、から構成されている。
【0075】
入力部1501は、情報作成部1505に操作入力をおこなう。この入力部1501は、具体的には、図1に示すキーボード110またはマウス111によってその機能を実現する。ユースケース表示情報データベース1502は、被検証装置の機能的構成をあらわすユースケース図のうち、機能素子の表示情報であるユースケースを記憶する。図16は、ユースケース表示情報データベース1502に記憶されているデータ構造を示す説明図である。図16に示すように、ユースケース表示情報データベース1502には、機能素子の設計情報とユースケースとが対応付けられて記憶されている。
【0076】
また、ユースケース記述情報データベース1503は、ユースケース内に挿入するユースケース記述情報を記憶する。図17は、ユースケース記述情報データベース1503のデータ構造を示す説明図である。図17に示すように、ユースケース記述情報データベース1503には、機能素子の動作をあらわす機能が記述されており、符号化されたコード情報A〜Oと対応付けされている。
【0077】
さらに、アクター記述情報データベース1504は、ユースケース図に表示されるアクターの名称を記憶する。図18は、アクター記述情報データベース1504のデータ構造を示す説明図である。図18に示すように、アクター記述情報データベース1504には、アクターとなる機能素子の名称が記述されており、符号化されたコード情報aaaaa〜gggggと対応付けされている。
【0078】
ユースケース表示情報データベース1502、ユースケース記述情報データベース1503およびアクター記述情報データベース1504は、具体的には、図1に示したROM102、RAM103、HD105、FD107などによって、その機能を実現する。
【0079】
また、図15に示すように、情報作成部1505は、入力部1501からの操作入力にしたがい、機能素子表示情報に記憶されているユースケースと、ユースケース記述情報データベース1503に記憶されているユースケース記述情報などを用いて、ユースケース図を作成する。作成されたユースケース図の一例を図19に示す。
【0080】
また、情報作成部1505は、入力部1501からの操作入力にしたがい、ユースケース記述情報データベース1503に記憶されているユースケース記述情報などを用いて、検証環境を作成する。検証環境とは、検証項目から抽出した各パスに沿ってデータが流れることを規定する制御コマンドなどであり、たとえば、パス上のノードに対応する機能素子の動作タイミングを規定する条件や、そのパスを通過するノードに対応する機能素子の順序を規定する条件、その機能素子に対し入出力するデータの内容などが挙げられる。
【0081】
記述情報変換部1506は、情報作成部1505によって作成されたユースケース図に記述されているユースケース記述情報およびアクター記述情報を、図17および図18に示すコード情報に変換する。変換されたユースケース図を図20に示す。また、ネットワーク1403を介して検証支援装置1401から送信されてくる情報に含まれているコード情報を、図17および図18に示すユースケース記述情報に変換する。
【0082】
また、上述した情報作成部1505および記述情報変換部1506は、具体的には、図1に示したROM102、RAM103、HD105、FD107などに記録されたプログラムをCPU101が実行することによって、またはI/F109によって、その機能を実現する。
【0083】
通信部1507は、記述情報変換部1506によって変換されたユースケース図や検証環境を、ネットワーク1403を介して検証支援装置1401に送信する。また、ネットワーク1403を介して検証支援装置1401から送信されてくる情報を受信する。この通信部1507は、具体的には、図1に示したI/F109によって、その機能を実現する。
【0084】
出力部1508は、情報作成部1505によって作成されたユースケース図(図19を参照)、記述情報変換部1506によって変換されたユースケース図(図20を参照)、その他、ネットワーク1403を介して検証支援装置1401から送信されてくる情報を出力する。この出力部1508は、具体的には、図1に示したディスプレイ108またはプリンタ113によって、その機能を実現する。
【0085】
(検証支援装置の機能的構成)
つぎに、実施の形態2にかかる検証支援装置1401の機能的構成について説明する。図21は、検証支援装置1401の機能的構成を示すブロック図である。この検証支援装置1401は、サーバとして機能するものであり、図21に示すように、通信部2100と、グラフ変換部602と、論理式変換部604と、検証項目関数生成部605と、検証項目関数記憶部606と、検証項目抽出部2101と、検証コスト算出部2102と、検証コストデータベース2103と、入出力シーケンス作成部2104と、から構成されている。なお、グラフ変換部602、論理式変換部604、検証項目関数生成部605および検証項目関数記憶部606は、図6に示した実施の形態1の構成と同一であるため、その説明を省略する。
【0086】
検証項目抽出部2101は、検証項目関数記憶部606から検証項目を抽出する。また、検証コスト算出部2102は、検証項目抽出部2101から抽出された検証項目と、検証コストデータベース2103からコスト値と、に基づいて、検証コストを算出する。
【0087】
図22は、検証コストデータベース2103のデータ構造を示す説明図である。検証コストデータベース2103は、ユースケースごとにコスト値が対応付けられている。図22によれば、既存設計のユースケースにはコスト値「1」、流用設計のユースケースにはコスト値「2」、新規設計のユースケースにはコスト値「5」が対応付けられている。
【0088】
また、入出力シーケンス作成部2104は、情報端末装置1402から送信されてくる検証環境と、検証項目抽出部2101によって抽出された検証項目と、に基づいて、入出力シーケンスを作成する。また、上述した検証項目抽出部2101、検証コスト算出部2102および入出力シーケンス作成部2104は、具体的には、図1に示したROM102、RAM103、HD105、FD107などに記録されたプログラムをCPU101が実行することによって、またはI/F109によって、その機能を実現する。また、検証コストデータベース2103は、具体的には、図1に示したROM102、RAM103、HD105、FD107などによって、その機能を実現する。
【0089】
つぎに、実施の形態2にかかる検証支援装置の処理手順について説明する。図23は、実施の形態2にかかる検証支援装置の処理手順を示すフローチャートである。まず、情報端末装置1402から、アクター記述情報およびユースケース記述情報がコード化されたユースケース図(図20を参照)を受信した場合(ステップS2301:Yes)、入出力シーケンスに条件が受信されたか否かを判定する(ステップS2302)。入出力シーケンスに関する条件が受信された場合(ステップS2302:Yes)、受信したユースケース図および入出力シーケンスに関する条件に基づいて、検証項目抽出処理を実行する(ステップS2303)。
【0090】
この検証項目抽出処理は、上述した実施の形態1にかかる処理手順ステップS901〜ステップS906(図9を参照)と同一であるため、その説明を省略する。そして、抽出された検証項目から検証コストを算出し(ステップS2304)、検証項目及び検証コストを情報端末装置1402に送信する(ステップS2305)。図24は、抽出された検証項目とその検証コストを示す説明図である。
【0091】
図24では、No.1〜5までの5種類の検証項目がある。たとえば、検証項目No.1では、入力機器aaaaaから入力されたデータは、機能素子A、機能素子Iを経由して機能素子Nに入力される。また、入力機器bbbbbから入力されたデータは、機能素子B、機能素子Jを経由して機能素子Nに入力される。そして、機能素子Iおよび機能素子Jからデータは、機能素子N、機能素子Eを経由して出力機器dddddから出力される。
【0092】
ここで、機能素子Aのユースケースのコスト値は「1」、機能素子Bのユースケースのコスト値は「1」、機能素子Iのユースケースのコスト値は「1」、機能素子Jのユースケースのコスト値は「1」、機能素子Nのユースケースのコスト値は「1」、機能素子Eのユースケースのコスト値は「2」である。したがって、検証項目No.1の検証コストは、これらのコスト値の合計値「7」となる。
【0093】
同様にして、検証項目No.2〜5についても検証コストを算出すると、図24に示すように、検証項目No.2の検証コストは「18」、検証項目No.3の検証コストは「6」、検証項目No.4の検証コストは「18」、検証項目No.5の検証コストは「4」となる。
【0094】
また、情報端末装置1402に送信された検証項目および検証コストは、情報端末装置1402において、ユースケース記述情報データベース1503およびアクター記述情報データベース1504を参照して、受信した検証項目および検証コストをデコードする。図25は、デコードされた検証項目および検証コストを示す説明図である。図25によれば、検証項目No.2および4の検証コストが最も大きいことがわかる。これにより、検証者は、検証コストが大きい検証項目から優先的に検証をおこなうことができる。
【0095】
また、検証項目にはユースケースも表示されているため、検証項目を構成する機能素子が、既存設計、流用設計および新規設計のいずれに該当するかを判別することができ、検証コストとともに、検証作業を優先すべき検証項目を選択する判断の手掛かりとすることができる。
【0096】
たとえば、検証項目No.1の検証コストは「7」であり、検証項目No.3の検証コストは「6」であるため、検証項目No.3よりも検証項目No.1を優先して検証をおこなうこととなるが、検証項目No.1では流用設計のユースケースが1つである一方、検証項目No.3の流用設計のユースケースは2つあるため、設計者は、設計の事情に応じて、ユースケースを参照することにより、検証項目No.1よりも検証項目No.3を優先して検証をおこなうことができる。
【0097】
つぎに、入出力シーケンスの作成処置手順について説明する。図26は、入出力シーケンスの作成処理手順を示すフローチャートである。まず、検証項目が抽出されたか否かを判定する(ステップS2601)。検証項目が抽出されたと判定された場合(ステップS2601:Yes)、検証環境が受信されているか否かを判定する(ステップS2602)。検証環境が受信された場合(ステップS2602:Yes)、入出力シーケンスを作成する(ステップS2603)。そして、作成された入出力シーケンスを情報端末装置1402に送信する(ステップS2604)。
【0098】
ここで、入出力シーケンスの具体例について、たとえば、図27に示すような検証環境が与えられた場合について説明する。この図27によれば、検証環境は、たとえば、時刻0のときはreset=1、時刻1以上のときはreset=0であり、かつ、コード情報(A)ならば、data_A=D1、コード情報(B)ならばdata_B=D2、コード情報(E)ならばmode_E=1である。
【0099】
そして、この検証環境と、検証項目抽出部609によって抽出された検証項目と、に基づいて入出力シーケンスを作成する。たとえば、図24に示す検証項目No.1については、図28に示すような入出力シーケンスが作成される。具体的には、検証項目No.1からは、機能素子Aによってアナログ音声を入力し、機能素子Bによってアナログ映像を入力し、機能素子EによってMPEGストリームを出力するというパスが抽出される。
【0100】
そして、検証環境が与えられると、図29に示すようなタイムチャート(入出力シーケンス)を作成することができる。このタイムチャートによれば、時刻1以降において、機能素子Aによってアナログ音声D1を入力し、機能素子Bによってアナログ映像D2を入力し、機能素子EによってMPEGストリームを出力することとなる。
【0101】
これによれば、設計者に対し入出力シーケンスを提供することができ、設計者自ら入出力シーケンスを作成する必要なく、提供された入出力シーケンスを直接被検証装置に与えることができる。これにより、検証作業の効率化を図ることができる。
【0102】
このように、この発明の実施の形態2によれば、情報端末装置1402では、作成したユースケース図を構成する入力機器、出力機器および機能素子がコード化されているため、ユースケース図の秘匿化を図ることができる。また同様に、抽出された検証項目も、コード化された入力機器、出力機器および機能素子によって抽出されているため、検証項目の秘匿化を図ることができる。
【0103】
したがって、ユースケース図の提供者である設計者は、ユースケース図の内容を秘匿しながら、ユースケース図を検証支援装置に提供することができ、検証支援装置では、ユースケース図に含まれている記述情報がコード化されていても、検証項目を抽出することができる。これにより、安全性の高い検証支援をおこなうことができる。
【0104】
また、上述した実施の形態2では、情報端末装置1402において、ユースケース記述情報およびアクター記述情報をコード情報に変換することにより、ユースケース記述情報およびアクター記述情報の秘匿化を図ることとしているが、ユースケース記述情報およびアクター記述情報の文字列自体を、周知の暗号化技術によって暗号化することとしてもよい。これにより、上述した場合と同様、安全性の高い検証支援をおこなうことができる。
【0105】
この実施の形態1および2にかかる検証支援装置1401によれば、実行可能な入出力シーケンスに必要な検証項目を抽出することができる。したがって、被検証装置に対する検証作業を簡単かつ効率的におこなうことができ、設計期間の短縮化を図ることができる。
【0106】
また、上述した実施の形態1および2で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【0107】
上述した実施の形態1および2で説明した検証支援装置は、たとえば、DVD/HDDビデオレコーダ、携帯電話、ナビゲーションシステムなど、LSIを用いた電子機器の検証作業を支援することに適している。
【0108】
(付記1)正常に動作するか否かの検証がおこなわれる被検証装置の機能をあらわす機能的構成情報を入力する機能的構成情報入力工程と、
前記被検証装置に与える入出力シーケンスに関する条件を入力する条件入力工程と、
前記機能的構成情報入力工程によって入力された機能的構成情報に基づいて、前記条件入力工程によって入力された入出力シーケンスに関する条件をすべて満足する検証項目関数を生成する検証項目関数生成工程と、
前記検証項目関数生成工程によって生成された検証項目関数に基づいて、前記機能的構成情報を構成する構成要素の組み合わせを、検証項目として抽出する検証項目抽出工程と、
を含んだことを特徴とする検証支援方法。
【0109】
(付記2)前記検証項目関数は、二分決定グラフによって表現されており、
前記検証項目抽出工程は、前記二分決定グラフによって表現された検証項目関数に基づいて前記検証項目を抽出することを特徴とする付記1に記載の検証支援方法。
【0110】
(付記3)前記入出力シーケンスに関する条件は、前記機能的構成情報を構成する構成要素の中の機能素子に関するリソース制約条件を含むことを特徴とする付記1または2に記載の検証支援方法。
【0111】
(付記4)前記入出力シーケンスに関する条件は、前記機能的構成情報を構成する構成要素のうち検証対象となる構成要素を制限する条件を含むことを特徴とする付記1または2に記載の検証支援方法。
【0112】
(付記5)前記機能的構成情報入力工程によって入力される機能的構成情報を構成する機能素子には、あらかじめ検証の優先度をあらわす優先情報が付加されており、
前記検証項目抽出工程によって抽出された検証項目に含まれている機能素子の優先情報から得られる検証優先度を、前記検証項目ごとに算出する優先度算出工程を含んだことを特徴とする付記1または2に記載の検証支援方法。
【0113】
(付記6)あらかじめ前記検証項目抽出工程によって抽出される検証項目の数を入力する検証項目数入力工程を含み、
前記検証項目抽出工程は、前記検証項目数入力工程によって入力された検証項目数の検証項目を抽出することを特徴とする付記1または2に記載の検証支援方法。
【0114】
(付記7)前記機能的構成情報のうち、前記機能的構成情報を構成する機能素子の動作が記述されている機能素子記述情報を、前記機能素子の動作が記述されていない情報に変換する変換工程を含み、
前記機能的構成情報入力工程は、前記変換工程によって変換された情報が含まれている機能的構成情報を入力することを特徴とする付記1または2に記載の検証支援方法。
【0115】
(付記8)前記被検証装置に入出力されるデータの流れを規定する検証環境を入力する検証環境入力工程と、
前記検証環境入力工程によって入力された検証環境と、前記検証項目抽出工程によって抽出された検証項目と、に基づいて、前記被検証装置に与える入出力シーケンスを作成する入出力シーケンス作成工程と、
を含んだことを特徴とする付記1または2に記載の検証支援方法。
【0116】
(付記9)前記機能的構成情報入力工程は、所定の情報端末装置から、ネットワークを介して前記機能的構成情報を入力し、
前記条件入力工程は、前記所定の情報端末装置から、前記ネットワークを介して前記入出力シーケンスに関する条件を入力し、
前記検証項目抽出工程は、前記所定の情報端末装置へ、前記ネットワークを介して前記検証項目を出力することを特徴とする付記7に記載の検証支援方法。
【0117】
(付記10)前記機能的構成情報入力工程は、所定の情報端末装置から、ネットワークを介して前記機能的構成情報を入力し、
前記条件入力工程は、前記所定の情報端末装置から、前記ネットワークを介して前記入出力シーケンスに関する条件を入力し、
前記検証環境入力工程は、前記所定の情報端末装置から、前記ネットワークを介して前記検証環境を入力し、
前記検証項目抽出工程は、前記所定の情報端末装置へ、前記ネットワークを介して前記検証項目を出力し、
前記入出力シーケンス作成工程は、前記所定の情報端末装置へ、前記ネットワークを介して前記入出力シーケンスを出力することを特徴とする付記8に記載の検証支援方法。
【0118】
(付記11)正常に動作するか否かの検証がおこなわれる被検証装置の機能をあらわす機能的構成情報を入力させる機能的構成情報入力工程と、
前記被検証装置に与える入出力シーケンスに関する条件を入力させる条件入力工程と、
前記機能的構成情報入力工程によって入力された機能的構成情報に基づいて、前記条件入力工程によって入力された入出力シーケンスに関する条件をすべて満足する検証項目関数を生成させる検証項目関数生成工程と、
前記検証項目関数生成工程によって生成された検証項目関数に基づいて、前記機能的構成情報を構成する構成要素の組み合わせを、検証項目として抽出させる検証項目抽出工程と、
をコンピュータに実行させることを特徴とする検証支援プログラム。
【0119】
(付記12)正常に動作するか否かの検証がおこなわれる被検証装置の機能をあらわす機能的構成情報を入力する機能的構成情報入力手段と、
前記被検証装置に与える入出力シーケンスに関する条件を入力する条件入力手段と、
前記機能的構成情報入力手段によって入力された機能的構成情報に基づいて、前記条件入力手段によって入力された入出力シーケンスに関する条件をすべて満足する検証項目関数を生成する検証項目関数生成手段と、
前記検証項目関数生成手段によって生成された検証項目関数に基づいて、前記機能的構成情報を構成する構成要素の組み合わせを、検証項目として抽出する検証項目抽出手段と、
を備えることを特徴とする検証支援装置。
【0120】
【発明の効果】
以上説明したように、この発明によれば、実行可能な入出力シーケンスに必要な検証項目を抽出することができる。したがって、被検証装置に対する検証作業を簡単かつ効率的におこなうことができ、設計期間の短縮化を図ることができるという効果を奏する。
【図面の簡単な説明】
【図1】この発明の実施の形態1および2にかかる検証支援装置、ならびに実施の形態2にかかる情報端末装置のハードウェア構成を示すブロック図である。
【図2】この発明の実施の形態1にかかる被検証装置の機能的構成情報を示す説明図である。
【図3】この発明の実施の形態1にかかる被検証装置の機能的構成情報を変換したグラフを示す説明図である。
【図4】この発明の実施の形態1にかかる被検証装置におけるノード番号とブール変数との対応関係を示す説明図である。
【図5】この発明の実施の形態1にかかる被検証装置におけるエッジ番号とブール変数との対応関係を示す説明図である。
【図6】この発明の実施の形態1にかかる検証支援装置の機能的構成を示すブロック図である。
【図7】この発明の実施の形態1にかかる検証支援装置に適用される二分決定グラフ(BDD)の一例を示す説明図である。
【図8】この発明の実施の形態1にかかる検証支援装置の検証コストデータベースのデータ構造を示す説明図である。
【図9】この発明の実施の形態1にかかる検証支援装置の検証項目抽出処理手順を示すフローチャートである。
【図10】この発明の実施の形態1にかかる検証支援装置によって生成された検証項目関数をBDDによって表現した表(その1)の一例を示す説明図である。
【図11】この発明の実施の形態1にかかる検証支援装置によって生成された検証項目関数をBDDによって表現した表(その2)の一例を示す説明図である。
【図12】この発明の実施の形態1にかかる検証支援装置によって生成された検証項目関数をBDDによって表現した表(その3)の一例を示す説明図である。
【図13】この発明の実施の形態1にかかる検証支援装置の検証項目抽出処理手順の他の例を示すフローチャートである。
【図14】この発明の実施の形態2にかかる検証支援システムを示す概略構成図である。
【図15】この発明の実施の形態2にかかる情報端末装置の機能的構成を示すブロック図である。
【図16】この発明の実施の形態2にかかる情報端末装置のユースケース表示情報データベースのデータ構造を示す説明図である。
【図17】この本発明の実施の形態2にかかる情報端末装置のユースケース記述情報データベースのデータ構造を示す説明図である。
【図18】この発明の実施の形態2にかかる情報端末装置のアクター記述情報データベースのデータ構造を示す説明図である。
【図19】この発明の実施の形態2にかかる情報端末装置において作成された被検証装置のユースケース図である。
【図20】図19のユースケース図に含まれている記述情報を変換したユースケース図である。
【図21】この発明の実施の形態2にかかる検証支援装置の機能的構成を示すブロック図である。
【図22】この発明の実施の形態2にかかる検証支援装置の検証コストデータベースのデータ構造を示す説明図である。
【図23】この発明の実施の形態2にかかる検証支援装置の処理手順の他の例を示すフローチャートである。
【図24】この発明の実施の形態2にかかる検証支援装置において抽出された検証項目および検証コストを示す説明図である。
【図25】図24の検証項目および検証コストに含まれているコード情報が元の記述情報に変換された検証項目および検証コストを示す説明図である。
【図26】この発明の実施の形態2にかかる検証支援装置の入出力シーケンス作成処理手順の他の例を示すフローチャートである。
【図27】この発明の実施の形態2にかかる情報端末装置において作成された検証環境の一例を示す説明図である。
【図28】この発明の実施の形態2にかかる検証支援装置において作成された入出力シーケンスを示す説明図である。
【図29】図28の入出力シーケンスを示すタイムチャートである。
【符号の説明】
600 検証支援装置
601 機能的構成情報入力部
603 条件入力部
605 検証項目関数生成部
609 検証項目抽出部

Claims (10)

  1. 正常に動作するか否かの検証がおこなわれる被検証装置の機能的構成を機能素子と当該機能素子間の接続線からなる機能ブロックによってあらわす機能的構成情報を入力する機能的構成情報入力工程と、
    前記被検証装置に与える入出力シーケンスに関する条件を入力する条件入力工程と、
    前記機能的構成情報入力工程によって入力された機能的構成情報の機能ブロックを、機能素子をノード、接続線をエッジとするグラフに変換するグラフ変換工程と、
    前記グラフ変換工程によって変換されたグラフを、前記条件入力工程によって入力された入出力シーケンスに関する条件に基づいて論理式に変換する論理式変換工程と、
    前記論理式変換工程によって変換された論理式を用いて、前記条件入力工程によって入力された入出力シーケンスに関する条件をすべて満足する検証項目関数を生成する検証項目関数生成工程と、
    前記検証項目関数生成工程によって生成された検証項目関数に基づいて、前記機能的構成情報を構成する構成要素の組み合わせを、前記被検証装置の検証項目として抽出する検証項目抽出工程と、
    をコンピュータに実行させることを特徴とする検証支援方法。
  2. 前記検証項目関数は、二分決定グラフによって表現されており、
    前記検証項目抽出工程は、前記二分決定グラフによって表現された検証項目関数に基づいて前記検証項目を抽出することを特徴とする請求項1に記載の検証支援方法。
  3. 前記入出力シーケンスに関する条件は、前記機能的構成情報を構成する構成要素の中の機能素子に関するリソース制約条件を含むことを特徴とする請求項1または2に記載の検証支援方法。
  4. 前記入出力シーケンスに関する条件は、前記機能的構成情報を構成する構成要素のうち検証対象となる構成要素を制限する条件を含むことを特徴とする請求項1または2に記載の検証支援方法。
  5. 前記機能的構成情報入力工程によって入力される機能的構成情報を構成する機能素子には、あらかじめ検証の優先度をあらわす優先情報が付加されており、
    前記検証項目抽出工程によって抽出された検証項目に含まれている機能素子の優先情報から得られる検証優先度を、前記検証項目ごとに算出する優先度算出工程を含んだことを特徴とする請求項1または2に記載の検証支援方法。
  6. あらかじめ前記検証項目抽出工程によって抽出される検証項目の数を入力する検証項目数入力工程を含み、
    前記検証項目抽出工程は、前記検証項目数入力工程によって入力された検証項目数の検証項目を抽出することを特徴とする請求項1または2に記載の検証支援方法。
  7. 前記機能的構成情報のうち、前記機能的構成情報を構成する機能素子の動作が記述されている機能素子記述情報を、前記機能素子の動作が記述されていない情報に変換する変換工程を含み、
    前記機能的構成情報入力工程は、前記変換工程によって変換された情報が含まれている機能的構成情報を入力することを特徴とする請求項1または2に記載の検証支援方法。
  8. 前記被検証装置に入出力されるデータの流れを規定する検証環境を入力する検証環境入力工程と、
    前記検証環境入力工程によって入力された検証環境と、前記検証項目抽出工程によって抽出された検証項目と、に基づいて、前記被検証装置に与える入出力シーケンスを作成する入出力シーケンス作成工程と、
    を含み、
    前記機能的構成情報入力工程は、所定の情報端末装置から、ネットワークを介して前記機能的構成情報を入力し、
    前記条件入力工程は、前記所定の情報端末装置から、前記ネットワークを介して前記入出力シーケンスに関する条件を入力し、
    前記検証環境入力工程は、前記所定の情報端末装置から、前記ネットワークを介して前記検証環境を入力し、
    前記検証項目抽出工程は、前記所定の情報端末装置へ、前記ネットワークを介して前記検証項目を出力し、
    前記入出力シーケンス作成工程は、前記所定の情報端末装置へ、前記ネットワークを介して前記入出力シーケンスを出力することを特徴とする請求項1または2に記載の検証支援方法。
  9. 正常に動作するか否かの検証がおこなわれる被検証装置の機能的構成を機能素子と当該機能素子間の接続線からなる機能ブロックによってあらわす機能的構成情報を入力させる機能的構成情報入力工程と、
    前記被検証装置に与える入出力シーケンスに関する条件を入力させる条件入力工程と、
    前記機能的構成情報入力工程によって入力された機能的構成情報の機能ブロックを、機能素子をノード、接続線をエッジとするグラフに変換させるグラフ変換工程と、
    前記グラフ変換工程によって変換されたグラフを、前記条件入力工程によって入力された入出力シーケンスに関する条件に基づいて論理式に変換させる論理式変換工程と、
    前記論理式変換工程によって変換された論理式を用いて、前記条件入力工程によって入力された入出力シーケンスに関する条件をすべて満足する検証項目関数を生成させる検証項目関数生成工程と、
    前記検証項目関数生成工程によって生成された検証項目関数に基づいて、前記機能的構成情報を構成する構成要素の組み合わせを、前記被検証装置の検証項目として抽出させる検証項目抽出工程と、
    をコンピュータに実行させることを特徴とする検証支援プログラム。
  10. 正常に動作するか否かの検証がおこなわれる被検証装置の機能的構成を機能素子と当該機能素子間の接続線からなる機能ブロックによってあらわす機能的構成情報を入力する機能的構成情報入力手段と、
    前記被検証装置に与える入出力シーケンスに関する条件を入力する条件入力手段と、
    前記機能的構成情報入力手段によって入力された機能的構成情報の機能ブロックを、機能素子をノード、接続線をエッジとするグラフに変換するグラフ変換手段と、
    前記グラフ変換手段によって変換されたグラフを、前記条件入力手段によって入力された入出力シーケンスに関する条件に基づいて論理式に変換する論理式変換手段と、
    前記論理式変換手段によって変換された論理式を用いて、前記条件入力手段によって入力された入出力シーケンスに関する条件をすべて満足する検証項目関数を生成する検証項目関数生成手段と、
    前記検証項目関数生成手段によって生成された検証項目関数に基づいて、前記機能的構成情報を構成する構成要素の組み合わせを、前記被検証装置の検証項目として抽出する検証項目抽出手段と、
    を備えることを特徴とする検証支援装置。
JP2003188940A 2002-10-09 2003-06-30 検証支援方法、検証支援プログラムおよび検証支援装置 Expired - Fee Related JP4355525B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003188940A JP4355525B2 (ja) 2002-10-09 2003-06-30 検証支援方法、検証支援プログラムおよび検証支援装置
US10/680,105 US7536620B2 (en) 2002-10-09 2003-10-08 Method of and apparatus for validation support, computer product for validation support
EP03256356A EP1408409A3 (en) 2002-10-09 2003-10-09 Method and apparatus for validation support

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002295984 2002-10-09
JP2003188940A JP4355525B2 (ja) 2002-10-09 2003-06-30 検証支援方法、検証支援プログラムおよび検証支援装置

Publications (2)

Publication Number Publication Date
JP2004185592A JP2004185592A (ja) 2004-07-02
JP4355525B2 true JP4355525B2 (ja) 2009-11-04

Family

ID=32032951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003188940A Expired - Fee Related JP4355525B2 (ja) 2002-10-09 2003-06-30 検証支援方法、検証支援プログラムおよび検証支援装置

Country Status (3)

Country Link
US (1) US7536620B2 (ja)
EP (1) EP1408409A3 (ja)
JP (1) JP4355525B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4355525B2 (ja) * 2002-10-09 2009-11-04 富士通マイクロエレクトロニクス株式会社 検証支援方法、検証支援プログラムおよび検証支援装置
JP4335798B2 (ja) 2004-12-28 2009-09-30 富士通マイクロエレクトロニクス株式会社 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
JP4759392B2 (ja) * 2006-01-16 2011-08-31 富士通株式会社 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP4747034B2 (ja) * 2006-05-29 2011-08-10 富士通株式会社 検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法
US20110046938A1 (en) * 2009-08-19 2011-02-24 Fujitsu Limited Verification apparatus and design verification program
US8365112B2 (en) 2009-09-04 2013-01-29 Fujitsu Limited Verification apparatus and design verification program
US20110197172A1 (en) * 2010-02-09 2011-08-11 Fujitsu Limited Design verification apparatus and design verification program
WO2018142477A1 (ja) * 2017-01-31 2018-08-09 三菱電機株式会社 要求分析装置、要求分析方法および要求分析プログラム
KR102176133B1 (ko) * 2018-12-11 2020-11-09 (주)씽크포비엘 소프트웨어 테스트 케이스 자동 생성 방법 및 장치

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870590A (en) * 1993-07-29 1999-02-09 Kita; Ronald Allen Method and apparatus for generating an extended finite state machine architecture for a software specification
US5592493A (en) * 1994-09-13 1997-01-07 Motorola Inc. Serial scan chain architecture for a data processing system and method of operation
US5542043A (en) * 1994-10-11 1996-07-30 Bell Communications Research, Inc. Method and system for automatically generating efficient test cases for systems having interacting elements
US5751737A (en) * 1997-02-26 1998-05-12 Hewlett-Packard Company Boundary scan testing device
US6195776B1 (en) * 1998-11-02 2001-02-27 Synopsys, Inc. Method and system for transforming scan-based sequential circuits with multiple skewed capture events into combinational circuits for more efficient automatic test pattern generation
US6631344B1 (en) * 1999-03-26 2003-10-07 Synopsys, Inc. Method and system for performing deterministic analysis and speculative analysis for more efficient automatic test pattern generation
US6694290B1 (en) 1999-05-25 2004-02-17 Empirix Inc. Analyzing an extended finite state machine system model
JP2001042012A (ja) * 1999-07-29 2001-02-16 Mitsubishi Electric Corp テストパターン生成装置、ループ切断方法、伝播経路切断方法、遅延故障検出方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6578167B2 (en) * 1999-08-06 2003-06-10 Hewlett-Packard Development Company, L.P. Digital Component test Apparatus, an apparatus for testing electronic assemblies and a method for remotely testing a peripheral device having an electronic assembly
US6385750B1 (en) * 1999-09-01 2002-05-07 Synopsys, Inc. Method and system for controlling test data volume in deterministic test pattern generation
JP2001101255A (ja) * 1999-10-01 2001-04-13 Toshiba Corp 機能テスト支援システム、機能テスト支援方法およびハードウエア記述モデル
JP3943299B2 (ja) 1999-11-11 2007-07-11 富士通株式会社 ハードウェアについて検証すべきプロパティを生成する装置および方法
US6810372B1 (en) * 1999-12-07 2004-10-26 Hewlett-Packard Development Company, L.P. Multimodal optimization technique in test generation
US6789222B2 (en) * 2001-01-05 2004-09-07 Yardstick Research, L.L.C. Single-pass methods for generating test patterns for combinational circuits
EP1231608A1 (en) * 2001-02-07 2002-08-14 STMicroelectronics Limited Built-in test circuit and method for an integrated circuit
US20040025123A1 (en) * 2002-08-01 2004-02-05 Angilivelil Josey G. System and method to facilitate evaluation of integrated circuits through delay testing
US7278061B2 (en) * 2002-10-08 2007-10-02 Agilent Technologies, Inc. Building packets of data for testing a communication network
JP4355525B2 (ja) * 2002-10-09 2009-11-04 富士通マイクロエレクトロニクス株式会社 検証支援方法、検証支援プログラムおよび検証支援装置

Also Published As

Publication number Publication date
US20040073859A1 (en) 2004-04-15
US7536620B2 (en) 2009-05-19
JP2004185592A (ja) 2004-07-02
EP1408409A2 (en) 2004-04-14
EP1408409A3 (en) 2006-04-19

Similar Documents

Publication Publication Date Title
JP4217220B2 (ja) 検証支援プログラムおよび検証支援装置
André What’s decidable about parametric timed automata?
JP4355525B2 (ja) 検証支援方法、検証支援プログラムおよび検証支援装置
JP4759392B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
US20100107130A1 (en) 1xn block builder for 1xn vlsi design
JPWO2007097208A1 (ja) 言語処理装置、言語処理方法および言語処理用プログラム
US20060129958A1 (en) Method for verification using reachability overapproximation
JP4480737B2 (ja) 論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法
JP2006252438A (ja) 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
JP6301767B2 (ja) パーソナル情報匿名化装置
JP4716964B2 (ja) タイミングダイアグラム編集プログラム、タイミングダイアグラム編集装置およびタイミングダイアグラム編集方法
JP4747034B2 (ja) 検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法
US20080294396A1 (en) System and method for validating design requirements
US7734452B2 (en) Method and system for performing ternary verification
US20090326906A1 (en) Verification support apparatus, verification support method, and computer product
Wipliez et al. Design ip faster: Introducing the c high-level language
JP4231837B2 (ja) クロックツリー生成装置、クロックツリー生成方法、クロックツリー生成プログラムおよび記録媒体
US7634750B2 (en) Logic diagram display method, program, and apparatus
JPH10187767A (ja) パラメータ化hdl記述方法、論理合成装置および論理合成プログラムを記録した媒体
KR100319776B1 (ko) 소프트웨어 프로세스 모형화 장치 및 그 방법
JP2008117136A (ja) 検証支援プログラム、記録媒体、検証支援装置および検証支援方法
CN1287285C (zh) 验证支持的方法及用于验证支持的设备
Sayar et al. From an abstract specification in event-B toward an UML/OCL model
JP2007257375A (ja) 遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置
JP6011356B2 (ja) シミュレーションプログラム、シミュレーション方法およびシミュレーション装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071112

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081110

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090728

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090803

R150 Certificate of patent or registration of utility model

Ref document number: 4355525

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees