(57)【要約】【課題】  有限状態マシンのシミュレーション結果を検証するための機能検証記述を作成するにあたり、有限状態マシンの設計や機能検証記述の作成に使用する言語に係わらず、機能検証記述の作成方法に関する知識が無い者であっても、機能検証記述を作成できるようにする。【課題手段】  有限状態マシンの仕様情報からシミュレーションの対象の動作にかかる情報を抽出する抽出部２１と、シミュレーションの動作についての機能検証記述の記述テンプレート１１〜１５を保持する保持部１０と、この保持部１０からシミュレーションの対象の動作についての記述テンプレート１１〜１５を選択する選択部２２と、抽出部２１によって抽出された情報を選択部２２によって選択された記述テンプレート１１〜１５に代入して機能検証記述を作成する作成部２３とをそなえて構成する。【選択図】  図１
2007034833.tif 000002
【特許請求の範囲】
【請求項１】
有限状態マシンについてのシミュレーションの結果を検証するための機能検証記述を生成する機能検証記述生成装置であって、
前記有限状態マシンの仕様情報から前記シミュレーションの対象の動作にかかる情報を抽出する抽出部と、
前記シミュレーションの動作についての機能検証記述の記述テンプレートを保持する保持部と、
該保持部から前記シミュレーションの対象の動作についての前記記述テンプレートを選択する選択部と、
前記抽出部によって抽出された前記シミュレーションの対象の動作にかかる情報を、前記選択部によって選択された前記記述テンプレートに代入して機能検証記述を作成する作成部とをそなえて構成されていることを特徴とする、機能検証記述生成装置。
【請求項２】
前記保持部が、遷移元の状態から遷移先の状態へ正しい条件で遷移することを検証するための機能検証記述についての第１記述テンプレートを保持し、
前記抽出部が、前記仕様情報から遷移元の状態，遷移条件，及び遷移先の状態を抽出し、
前記選択部が前記保持部から前記第１記述テンプレートを選択するとともに、
前記作成部が、前記抽出部によって抽出された遷移元の状態，遷移条件，及び遷移先の状態を、前記選択部によって選択された前記第１記述テンプレートに代入することによって、遷移元の状態から遷移先の状態へ正しい条件で遷移することを検証するための機能検証記述を作成することを特徴とする、請求項１記載の機能検証記述生成装置。
【請求項３】
前記保持部が、遷移元の状態から遷移先の状態へ所定サイクル内に遷移することを検証するための機能検証記述についての第２記述テンプレートを保持し、
前記抽出部が、前記仕様情報から遷移元の状態，遷移先の状態，及び所定の遷移サイクルを抽出し、
前記選択部が前記保持部から前記第２記述テンプレートを選択するとともに、
前記作成部が、前記抽出部によって抽出された遷移元の状態，遷移先の状態，及び所定の遷移サイクルを、前記選択部によって選択された前記第２記述テンプレートに代入することによって、遷移元の状態から遷移先の状態へ所定サイクル内に遷移することを検証するための機能検証記述を作成することを特徴とする、請求項１または請求項２記載の機能検証記述生成装置。
【請求項４】
有限状態マシンについてのシミュレーションの結果を検証するための機能検証記述を生成する機能検証記述生成方法であって、
前記有限状態マシンの仕様情報から前記シミュレーションの対象の動作にかかる情報を抽出する抽出ステップと、
記憶部に保持された、前記シミュレーションの動作についての機能検証記述の記述テンプレートの中から、前記シミュレーションの対象の動作についての記述テンプレートを選択する選択ステップと、
前記抽出ステップにおいて抽出された前記シミュレーションの対象の動作にかかる情報を、前記選択ステップにおいて選択された前記記述テンプレートに代入して機能検証記述を作成する作成ステップとを含んでいることを特徴とする、機能検証記述生成方法。
【請求項５】
有限状態マシンについてのシミュレーションの結果を検証するための機能検証記述を生成する機能をコンピュータに実現させるための機能検証記述生成プログラムであって、
前記有限状態マシンの仕様情報から前記シミュレーションの対象の動作にかかる情報を抽出する抽出部、
記憶部に保持された、前記シミュレーションの動作についての機能検証記述の記述テンプレートの中から、前記シミュレーションの対象の動作についての記述テンプレートを選択する選択部、及び、
前記抽出部によって抽出された前記シミュレーションの対象の動作にかかる情報を、前記選択部によって選択された前記記述テンプレートに代入して機能検証記述を作成する作成部として、前記コンピュータを機能させることを特徴とする、機能検証記述生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模集積回路（ＬＳＩ：Large Scale Integration）の論理回路などの有限状態マシン（ＦＳＭ：Finite State Machine）の動作検証に用いる機能検証記述を生成するための技術に関する。
【背景技術】
【０００２】
例えば、ＬＳＩ（Large Scale Integration）などの有限状態マシン（ＦＳＭ：Finite State Machine；ステートマシン）の論理検証を行なう際には、シミュレーションでテストパターンを入力して動作検証（動作確認）を行なう。
なお、ＦＳＭは、入力に従って、ある状態から別の状態に遷移することのできる状態の集合である。つまり、いくつかの有限な状態があり、それらが入力の種類によって、異なる状態に遷移するような構造になっている。そのため、ＦＳＭでは、ただ一つの初期状態から様々な入力によって様々な受理状態（複数存在することが多いので、普通は、受理状態の集合）へ状態を遷移させながら、最終的にどの受理状態に到達したかによって、動作検証の結果が得られる。
【０００３】
そして、かかるシミュレーションではシミュレーション結果として波形で表現される信号が出力されるが、この信号の波形をオペレータが目視にて確認（つまり、結果の適否を判断）すると労力やコストが掛かるので、従来から、一部の確認項目について、シミュレーション結果（波形）の適否を判断するための機能検証記述（以下、チェッカともいう）を作成し、このチェッカによって判断作業を自動化することが行なわれている。
【０００４】
具体的には、チェッカを設計データやテストベンチなどに含めて、ソフトウェアシミュレータでシミュレーションを実行することによって、チェッカがシミュレーション結果を確認し、検証項目に対する異常動作が発見されると不具合があったことを自動的に報告する仕組みになっている。
そして、チェッカは、回路記述言語（つまり、ＦＳＭの設計に用いる言語）であるＨＤＬ（Hardware Description Language）を使って記述する方法が一般的であった。
【０００５】
しかし、近年、効率性の問題から、チェッカを作成する言語として、回路記述用のＨＤＬを使うのではなく、検証項目を記述するために専用に開発されたアサーション専用言語が使われるようになっている。
アサーション専用言語としては、例えば、規格標準化推進団体「Accellera」の「Formal Verification Technical Committee(FVTC)」から提案されているＰＳＬ（Property Specification Language）や、ＳＶＡ（System Verilog Assertion）などがある。
【０００６】
これらのアサーション専用言語を使ってチェッカを作成すると、ＨＤＬを使った場合よりも効率良くチェッカを作成することができ、例えば、ＰＳＬを使ってチェッカを作成すると、その記述量はＨＤＬを使った場合の１／５〜１／１０程度になる。
なお、従来から、チェッカに関して、タイミングダイアグラムから検証記述を生成する技術（例えば、下記特許文献１参照）や、リスト処理及びパリティチェックをするＨＤＬで記述されたチェッカを自動生成する技術（例えば、下記特許文献２参照）が提案されており、また、シミュレーションに関して、シミュレーションのテストパターン（検証データ）を自動生成する技術（例えば、下記特許文献３参照）や、不足しているテストデータを測定することでカバレッジを解析する技術（例えば、下記特許文献４参照）が提案されている。
【特許文献１】特開２００３−２１６６８３号公報
【特許文献２】特開平１１−８５８２１号公報
【特許文献３】特開平９−９１３１５号公報
【特許文献４】特表２００２−５１４８２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、回路（ＦＳＭ）の設計者や検証担当者等（以下、設計者等という）は、新たに開発されたアサーション専用言語（例えば、ＰＳＬやＳＶＡ）を使ったチェッカの記述方法を、回路記述方法とは別に新たに学習して習得する必要があるので、設計者等にとっては非常に手間が掛かるとともに、設計者等がアサーション専用言語を使用した記述方法を完全に習得するまでは、作成されたチェッカの信頼性は低い。
なお、ＨＤＬを用いてチェッカを作成する場合でも、設計者等は、チェッカを作成するための作成方法を、ＦＳＭ設計とは別に学習して習得する必要がある。
【０００８】
本発明は、このような課題に鑑み創案されたもので、ＦＳＭのシミュレーション結果を検証するための機能検証記述（チェッカ）を作成するにあたり、ＦＳＭの設計や機能検証記述の作成に使用する言語に係わらず、機能検証記述の作成方法に関する知識が無い者であっても、機能検証記述を作成できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の機能検証記述生成装置は、有限状態マシンについてのシミュレーションの結果を検証するための機能検証記述を生成するものであって、前記有限状態マシンの仕様情報から前記シミュレーションの対象の動作にかかる情報を抽出する抽出部と、前記シミュレーションの動作についての機能検証記述の記述テンプレートを保持する保持部と、この保持部から前記シミュレーションの対象の動作についての前記記述テンプレートを選択する選択部と、前記抽出部によって抽出された前記シミュレーションの対象の動作にかかる情報を、前記選択部によって選択された前記記述テンプレートに代入して機能検証記述を作成する作成部とをそなえて構成されていることを特徴としている（請求項１）。
【００１０】
なお、前記保持部が、遷移元の状態から遷移先の状態へ正しい条件で遷移することを検証するための機能検証記述についての第１記述テンプレートを保持し、前記抽出部が、前記仕様情報から遷移元の状態，遷移条件，及び遷移先の状態を抽出し、前記選択部が前記保持部から前記第１記述テンプレートを選択するとともに、前記作成部が、前記抽出部によって抽出された遷移元の状態，遷移条件，及び遷移先の状態を、前記選択部によって選択された前記第１記述テンプレートに代入することによって、遷移元の状態から遷移先の状態へ正しい条件で遷移することを検証するための機能検証記述を作成することが好ましい（請求項２）。
【００１１】
さらに、前記保持部が、遷移元の状態から遷移先の状態へ所定サイクル内に遷移することを検証するための機能検証記述についての第２記述テンプレートを保持し、前記抽出部が、前記仕様情報から遷移元の状態，遷移先の状態，及び所定の遷移サイクルを抽出し、前記選択部が前記保持部から前記第２記述テンプレートを選択するとともに、前記作成部が、前記抽出部によって抽出された遷移元の状態，遷移先の状態，及び所定の遷移サイクルを、前記選択部によって選択された前記第２記述テンプレートに代入することによって、遷移元の状態から遷移先の状態へ所定サイクル内に遷移することを検証するための機能検証記述を作成することが好ましい（請求項３）。
【００１２】
また、上記目的を達成するために、本発明の機能検証記述生成方法は、有限状態マシンについてのシミュレーションの結果を検証するための機能検証記述を生成する方法であって、前記有限状態マシンの仕様情報から前記シミュレーションの対象の動作にかかる情報を抽出する抽出ステップと、記憶部に保持された、前記シミュレーションの動作についての機能検証記述の記述テンプレートの中から、前記シミュレーションの対象の動作についての記述テンプレートを選択する選択ステップと、前記抽出ステップにおいて抽出された前記シミュレーションの対象の動作にかかる情報を、前記選択ステップにおいて選択された前記記述テンプレートに代入して機能検証記述を作成する作成ステップとを含んでいることを特徴としている（請求項４）。
【００１３】
また、上記目的を達成するために、本発明の機能検証記述生成プログラムは、有限状態マシンについてのシミュレーションの結果を検証するための機能検証記述を生成する機能をコンピュータに実現させるためのものであって、前記有限状態マシンの仕様情報から前記シミュレーションの対象の動作にかかる情報を抽出する抽出部、記憶部に保持された、前記シミュレーションの動作についての機能検証記述の記述テンプレートの中から、前記シミュレーションの対象の動作についての記述テンプレートを選択する選択部、及び、前記抽出部によって抽出された前記シミュレーションの対象の動作にかかる情報を、前記選択部によって選択された前記記述テンプレートに代入して機能検証記述を作成する作成部として、前記コンピュータを機能させることを特徴としている（請求項５）。
【発明の効果】
【００１４】
このように、本発明によれば、抽出部がシミュレーションの対象の動作にかかる情報を有限状態マシン（ＦＳＭ）の仕様情報から抽出し（抽出ステップ）、選択部が当該シミュレーションの対象の動作についての記述テンプレート選択し（選択ステップ）、作成部が抽出部によって抽出された情報を、選択部によって選択された記述テンプレートに代入することによって、当該シミュレーションの動作に対する機能検証記述を作成する（作成ステップ）ので、有限状態マシンの仕様情報の記述言語（つまり、有限状態マシンの設計に用いる記述言語）と、機能検証記述の記述言語とが異なる場合であっても、これらの言語に係わらず、自動的に機能検証記述を作成することができる。また、機能検証記述が記述テンプレートに基づいて自動で作成されるので、機能検証記述に用いる記述言語やその作成方法に関する知識が無い者であっても、機能検証記述を確実に且つ容易に作成することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の一実施形態について
まず、図１に示すブロック図を参照しながら、本発明の一実施形態としての機能検証記述生成装置の構成について説明する。図１に示すように、本機能検証記述生成装置１は、ＦＳＭ（Finite State Machine）設計装置１００に接続され、テンプレート保持部（保持部）１０，機能検証記述生成部２０，及び機能検証記述記憶部３０をそなえて構成されている。
【００１６】
なお、ＦＳＭ設計装置１００は、ＨＤＬ（Hardware Description Language）等を用いてＦＳＭを設計するものであり、設計者がＦＳＭの仕様情報を入力するためのＦＳＭ仕様入力部１０１と、このＦＳＭ仕様入力部１０１によって入力された仕様情報を記憶保持するＦＳＭ仕様記憶部１０２とをそなえて構成されている。
そして、ＦＳＭの設計者は、ＦＳＭ仕様入力部１０１を用いて、ＦＳＭの仕様情報として、下記（１）〜（７）の情報を入力する。
【００１７】
（１）ＦＳＭが取り得るすべてのステート（状態）の種類及びステートの表現方法。
（２）あるステートから他のステートへの遷移経路及び遷移条件。
（３）すべてのステートに共通する遷移条件（共通遷移条件）。
（４）あるステートから他のステートへの遷移タイミング。
（５）状態遷移の開始時のステート（初期状態）。
【００１８】
（６）状態遷移のシナリオ終了時のステート（受理状態）。
（７）クロック信号（名）、及び、リセット信号（名）。
ここで、図２，図３に上記（１）〜（７）の具体例を示す。なお、図２はＦＳＭの状態遷移図であり、図３は図２に示すＦＳＭの仕様情報を格納するデータテーブルを示す図である。
【００１９】
なお、図２に示す状態遷移図や図３に示すデータテーブル１０２ａは、ＦＳＭ仕様記憶部１０２に保持される。つまり、ＦＳＭ仕様入力部１０１によって入力された上記（１）〜（７）の仕様情報は、すべてＦＳＭ仕様記憶部１０２に保持される。
ここでは、上記（１）の仕様情報として、ＦＳＭのすべてのステート“ＩＤＬＥ”，“ＤＴ＿ＲＣＶ”，“ＳＥＮＤ＿ＡＣＫ”，“ＳＥＮＤ＿ＤＴ”，及び“ＡＣＫ＿ＲＣＶ”がＦＳＭ仕様入力部１０１によって入力される。
【００２０】
なお、“ＩＤＬＥ”は待機状態を示し、“ＤＴ＿ＲＣＶ”はデータ受信状態（DATA_RECEIVE）を示し、“ＳＥＮＤ＿ＡＣＫ”は肯定応答送信状態（SEND_ACKNOWLEDGE）を示し、“ＳＥＮＤ＿ＤＴ”データ送信状態（SEND_DATA）を示し、“ＡＣＫ＿ＲＣＶ”は肯定応答受信状態（ACKNOWLEDGE_RECEIVE）を示す。
これら５つのステートは、ハードウェアで表現するために、下記（Ａ）〜（Ｃ）の表現方法が考えられ、これらの表現方法は、機能検証記述を生成するために、ＦＳＭ仕様記憶部１０２がＦＳＭ仕様情報として持っておく必要がある。
【００２１】
（Ａ）複数の１ビットの信号（例えば、信号Ｓ１〜Ｓ５）のそれぞれに、ステートを割り当てる。
例えば、“信号Ｓ１＝ＩＤＬＥ”，“信号Ｓ２＝ＤＴ＿ＲＣＶ”，“信号Ｓ３＝ＳＥＮＤ＿ＡＣＫ”，“信号Ｓ４＝ＳＥＮＤ＿ＤＴ”，“信号Ｓ５＝ＡＣＫ＿ＲＣＶ”とする。
（Ｂ）ｎ（ｎは整数）ビット信号、例えば、“State[2:0]”で表現できる数値に各ステートを割り当てる。
【００２２】
例えば、“3’b000＝ＩＤＬＥ”，“3’b001＝ＤＴ＿ＲＣＶ”，“3’b010＝ＳＥＮＤ＿ＡＣＫ”，“3’b011＝ＳＥＮＤ＿ＤＴ”，“3’b100＝ＡＣＫ＿ＲＣＶ”とする。
（Ｃ）ｎビット信号、例えば、“State[4:0]”の各ビットにステートを割り当てる。
例えば、“5’b00001＝ＩＤＬＥ”，“5’b00010＝ＤＴ＿ＲＣＶ”，“5’b00100＝ＳＥＮＤ＿ＡＣＫ”，“5’b01000＝ＳＥＮＤ＿ＤＴ”，“5’b10000＝ＡＣＫ＿ＲＣＶ”とする。
【００２３】
そして、（Ａ）〜（Ｃ）に示すような表現方法に基づいてＦＳＭ仕様入力部１０１で入力した情報が、ＦＳＭ仕様記憶部１０２に保持される。
また、上記（２）に示す仕様情報として、上記（１）で入力されたステート間の遷移経路と、その遷移条件が入力される。つまり、図２に示すように、ステート間を結ぶ矢印（遷移経路；図３中の“遷移条件ＩＤ”に相当）ａ〜ｋが入力され、各遷移経路ａ〜ｋの遷移条件が入力される。
【００２４】
例えば、図３に示すごとく、遷移経路（遷移条件ＩＤ）ａの遷移条件が“ＣＡＮＣＥＬ＝Ｈ”であれば、「ステートが“ＤＴ＿ＲＣＶ”で、且つＣＡＮＣＥＬ信号が“Ｈ”の時、次のサイクルでステートが“ＩＤＬＥ”へ遷移する（遷移前：ＤＴ＿ＲＣＶ，遷移条件：ＣＡＮＣＥＬ＝＝‘Ｈ’，遷移後：ＩＤＬＥ）」という仕様を表わしている。
なお、図３において遷移条件ＩＤｂ〜ｋの遷移条件は、図の簡略化のため省略（ここでは“＊＊＊＊”と表記）している。
【００２５】
また、上記（３）に示す仕様情報として、上記（１）で入力されたステートすべてに対して共通の条件、つまり、ＦＳＭの現在のステートに関係ない共通の遷移条件と、それに対応する遷移経路が入力される。
例えば、図３に示すごとく、遷移条件ＩＤｘ〜ｚで表わされる共通遷移条件が入力される。ここで、遷移条件ＩＤｘは、遷移先ステートが“ＤＴ＿ＲＣＶ”であり、遷移条件が“ＳＴＡＲＴ＝＝‘Ｈ’”である。つまり、この共通遷移条件の遷移経路ｘは、現在のステートに関係なく、ＳＴＡＲＴ信号がアサートされる（つまり‘Ｈ’になる）と、次のサイクルに“ＤＴ＿ＲＣＶ”へ遷移することを示している。
【００２６】
また、遷移条件ＩＤｙは、遷移先ステートが“ＩＤＬＥ”であり、遷移条件が“ＳＴＯＰ＝＝‘Ｈ’”である。つまり、この共通遷移条件の遷移経路ｙは、現在のステートに関係なく、ＳＴＯＰ信号がアサートされる（つまり‘Ｈ’になる）と、次のサイクルに“ＩＤＬＥ”へ遷移することを示している。
さらに、遷移条件ＩＤｚは、遷移先ステートが“ＩＤＬＥ”であり、遷移条件が“ＲＥＳＥＴ＝＝‘Ｈ’”である。つまり、この共通遷移条件の遷移経路ｚは、現在のステートに関係なく、ＲＥＳＥＴ信号がアサートされる（つまり‘Ｈ’になる）と、次のサイクルに“ＩＤＬＥ”へ遷移することを示している。
【００２７】
また、上記（４）に示す仕様情報として、例えば、図４に示すデータテーブル１０２ｂに示す、あるステートから他のステートへの遷移タイミングが入力される。なお、この遷移タイミングの最大値は、ＦＳＭのすべてのステートの数の二乗の値である。
ここでは、遷移前（遷移元）のステートが“ＩＤＬＥ”であり、遷移タイミングが“１６サイクル以内”であり、遷移後（遷移先）のステートが“ＳＥＮＤ＿ＤＴ”という情報が入力される。これは、遷移元ステート“ＩＤＬＥ”から所定の遷移タイミング（１６サイクル）以内に必ず遷移先ステート“ＳＥＮＤ＿ＤＴ”に遷移することを示している。
【００２８】
さらに、ここでは、遷移前のステートが“ＤＴ＿ＲＣＶ”であり、遷移タイミングが“いつか必ず”であり、遷移後のステートが“ＩＤＬＥ”という情報が入力される。これは、遷移元のステート“ＳＥＮＤ＿ＤＴ”から、他のステートを経由したとしても、いつかは必ず所定の遷移先のステート“ＩＤＬＥ”に遷移することを示している。
また、上記（５）に示す仕様情報として、ＦＳＭの状態遷移の開示時のステート、すなわち、初期状態が入力される。ここでは、図３のテーブル１０２ａに示すごとく、“ＩＤＬＥ”が初期状態として入力される。
【００２９】
さらに、上記（６）に示す仕様情報として、ＦＳＭの状態遷移のシナリオ終了時に取りうるステート、すなわち、受理状態が入力される。ここでは、図３のテーブル１０２ａに示すごとく、“ＩＤＬＥ”が受理状態として入力される。
また、上記（７）に示す仕様情報として、ＦＳＭで使用されるクロック信号、及び、リセット信号が入力される。ここでは、クロック信号名として“ＳＹＳ＿ＣＬＫ”が入力され、リセット信号名として“ＲＥＳＥＴ”が入力される。
【００３０】
そして、本機能検証記述生成装置１は、上述のごとくＦＳＭ仕様入力部１０１によって入力され、ＦＳＭ仕様記憶部１０２に記憶されたＦＳＭの仕様情報に基づいて、ＦＳＭのシミュレーションの結果を検証するための機能検証記述（チェッカ）を生成する。
以下、図１を参照しながら、本機能検証記述生成装置１の構成について詳細に説明する。
【００３１】
テンプレート保持部１０は、シミュレーションの対象の動作についての機能検証記述のための記述テンプレートを保持するものであり、ここでは、第１記述テンプレート１１〜第５記述テンプレート１５をそなえている。なお、第１記述テンプレート１１〜第５記述テンプレート１５の記述言語及びステート表現方法（上記（Ａ）〜（Ｃ））は、本機能検証記述生成装置１においては限定されるものではなく、本機能検証記述生成装置１が生成すべき機能検証記述の言語と同一の言語のものが用意される。
【００３２】
第１記述テンプレート１１は、遷移元のステートから遷移先のステートへ正しい条件で遷移することを検証するための機能検証記述についてのテンプレートであり、具体的には、「（遷移元ステート）かつ（遷移条件）かつ（リセット信号ＯＦＦ）が成り立つとき、（遷移タイミング）後に（遷移先ステート）になる」という機能検証記述の括弧内がブランクになったテンプレートである。
【００３３】
第２記述テンプレート１２は、遷移元のステートから遷移先のステートへ所定サイクル内に遷移すること、つまり、ステートの遷移するタイミングが設計仕様どおりに守られていることを検証するための機能検証記述についてのテンプレートであり、具体的には、「（リセット信号ＯＦＦ）かつ（遷移元ステート）が成り立つとき、（遷移タイミング）後に（遷移先ステート）になる」という機能検証記述の括弧内がブランクになったテンプレートである。
【００３４】
第３記述テンプレート１３は、遷移元のステートから他のステートを経由したとしても所定の遷移先のステートへ遷移することを検証するための機能検証記述についてのテンプレートであり、具体的には、「（遷移元ステートから状態遷移が開始された）とき、いつか必ず（遷移先ステート）になる」という機能検証記述の括弧内がブランクになったテンプレートである。つまり、第３記述テンプレート１３は、遷移サイクル（タイミング）は指定されていないが、いつか必ず遷移することが設定されている遷移元ステート及び遷移先ステートについて、これらステート間の遷移が本当に実行されていることを検証するための機能検証記述についてのテンプレートである。
【００３５】
第４記述テンプレート１４は、遷移元のステートから所定の遷移先のステートへ遷移することを検証するため、つまり、遷移元のステートから禁じられたステート（つまり、予め決められた所定のステート以外のステート）に遷移しないことを検証するための機能検証記述についてのテンプレートである。例えば、上記図２に示すＦＳＭのステート“ＳＥＮＤ＿ＤＴ”に着目すると、この“ＳＥＮＤ＿ＤＴ”を遷移元とする遷移経路は、“ＡＣＫ＿ＲＣＶ”へ遷移する遷移経路ｂと、自身に遷移する遷移経路ｃである。したがって、これら以外の遷移先に“ＳＥＮＤ＿ＤＴ”から遷移した場合は、ＦＳＭの不具合となる。第４記述テンプレートは、このような不具合を検証するためのものである。
【００３６】
具体的には、第４記述テンプレート１４は、「（任意のステート）から、次のサイクルで遷移するのは（遷移先ステート１）または（遷移先ステート２）または、、、、（遷移先ステートｎ）となる」という機能検証記述の括弧内がブランクになったテンプレートである。
第５記述テンプレート１５は、シミュレーションを実行する所定の遷移シナリオによるカバレッジを測定するため機能検証記述についてのテンプレートである。つまり、第５記述テンプレート１５は、遷移シナリオの発生回数をカウントするためのものであり、ここでは、設計者によって予め設定された所定の遷移シナリオ（後述する図５参照）が実行されたことを検証するための機能検証記述についてのテンプレートである。
【００３７】
ＦＳＭのシミュレーションでは、物量的、時間的な制限から１００％のカバレッジを達成するのは困難である。そのため、シミュレーションで発生した遷移シナリオのカバレッジを測定すること（つまり、第５記述テンプレート１５に基づく機能検証記述）によって、シミュレーションが十分であるかどうかを判断する指標を得ることができるのである。
具体的には、第５記述テンプレート１５は、「（ステート１）、（ステート２）、、、、（ｎ番目のステート）という状態遷移が起こったら真」という機能検証記述の括弧内がブランクになったテンプレートである。
【００３８】
機能検証記述生成部２０は、機能検証記述を生成するものであり、ＦＳＭ仕様情報抽出部（抽出部）２１，テンプレート選択部（選択部）２２，及び機能検証記述作成部（作成部）２３をそなえて構成されている。
ＦＳＭ仕様情報抽出部２１は、ＦＳＭ仕様記憶部１０２に保持されたＦＳＭの仕様情報（図２〜図４参照）から、機能検証記述を生成するのに必要な情報、つまり、シミュレーションの対象の動作にかかる情報を抽出するものである。
【００３９】
テンプレート選択部２２は、テンプレート保持部１０に保持された複数の記述テンプレート１１〜１５の中から、生成すべき機能検証記述に関するテンプレート、つまり、シミュレーションの対象の動作についての記述テンプレートを選択するものである。
機能検証記述作成部２３は、ＦＳＭ仕様情報抽出部２１によって抽出されたシミュレーション対象の動作にかかる情報を、テンプレート選択部２２によって選択された当該シミュレーション対象の動作についての記述テンプレートに代入することによって、機能検証記述を作成するものである。
【００４０】
なお、機能検証記述作成部２３は、ＦＳＭ仕様情報抽出部２１によって抽出された情報の記述言語や表現方法が、テンプレート選択部２２によって選択された記述テンプレートの記述言語や表現方法と異なる場合には、ＦＳＭ仕様記憶部１０２に保持された上記（Ａ）〜（Ｃ）の表現方法に関する仕様情報などに基づいて、ＦＳＭ仕様情報抽出部２１によって抽出された情報の記述言語や表現方法を、記述テンプレートの記述言語や表現方法に変換した上で代入する。なお、この機能検証記述作成部２３による記述言語や表現方法の変換は、例えば、複数種類の記述言語の対応関係を示すテーブル（図示略）や、複数種類の表現方法の対応関係を示すテーブル（図示略）を用いて実行される。
【００４１】
そして、機能検証記述作成部２３によって作成された機能検証記述は、機能検証記述記憶部３０に記憶保持されて、外部に出力される。
ここで、機能検証記述生成部２０による機能検証記述の生成について具体例を用いて説明する。
まず、機能検証記述生成部２０がテンプレート保持部１０に保持された第１記述テンプレート１１に基づいて、遷移元のステートから遷移先のステートへ正しい条件で遷移することを検証するための機能検証記述を作成する場合について説明する。
【００４２】
この場合、ＦＳＭ仕様情報抽出部２１は、ＦＳＭ仕様記憶部１０２に保持されたＦＳＭの仕様情報（図２，図３参照）から、遷移元のステート，遷移条件，及び遷移先のステートを抽出する。
一方、テンプレート選択部２２は、テンプレート保持部１０から第１記述テンプレート１１を選択する。
【００４３】
そして、機能検証記述作成部２３が、ＦＳＭ仕様情報抽出部２１によって抽出された遷移元のステート，遷移条件，及び遷移先のステートを、第１記述テンプレート１１に代入することによって、遷移元のステートから遷移先のステートへ正しい条件で遷移することを検証するための機能検証記述を作成する。
例えば、図２，図３に示す遷移経路ａについての機能検証記述を作成する場合、つまり、“ＤＴ＿ＲＣＶ”から“ＩＤＬＥ”への状態遷移が、正しい遷移条件“ＣＡＮＣＥＬ＝＝‘Ｈ’”のときに実行されるという動作のシミュレーションの結果を検証するための機能検証記述を作成する場合について説明する。
【００４４】
このとき、ＦＳＭ仕様情報抽出部２１は、ＦＳＭ仕様記憶部１０２の仕様情報から、遷移元のステートとして“ＤＴ＿ＲＣＶ”を、遷移条件として“ＣＡＮＣＥＬ＝＝‘Ｈ’”を、遷移先のステートとして“ＩＤＬＥ”を抽出する。
一方、テンプレート選択部２２は、テンプレート保持部１０から第１記述テンプレート１１を選択する。
【００４５】
そして、機能検証記述作成部２３は、ＦＳＭ仕様情報抽出部２１によって抽出された情報を、第１記述テンプレート１１に代入することにより、例えば、「always( {State ==  `DT_RCV && CANCEL && !SYS_RST } |=> {State == `DT_RCV; State ==  `IDLE})@(posedge SYS_CLK);」という機能検証記述を作成する。なお、この機能検証記述（つまり、第１記述テンプレート１１）は、Verilog表現のＰＳＬ（Property Specification Language）で記述されたものである。また、この機能検証記述においてステートの表現はｎビット信号で表現できる数値に各ステートを割り当てたもの（上記（Ｃ）の表現方法）を用いている。
【００４６】
また、機能検証記述生成部２０が第１記述テンプレート１１に基づいて機能検証記述を作成する場合には、図２，図３に示す遷移経路ａ〜ｋ及び共通遷移条件に基づく遷移経路ｘ〜ｚのすべてについて、機能検証記述を生成する。
したがって、ＦＳＭ仕様情報抽出部２１は、ＦＳＭのすべてのステート，すべての遷移経路ａ〜ｋ，ｘ〜ｚ，及び各遷移経路ａ〜ｋ，ｘ〜ｚの遷移条件を仕様情報から抽出し、機能検証記述作成部２３が、すべての遷移経路ａ〜ｋ，ｘ〜ｚについて、第１記述テンプレート１１に基づいて機能検証記述を作成する。
【００４７】
このとき、機能検証記述作成部２３は、遷移経路ａ〜ｋ，ｘ〜ｚ毎に、当該遷移経路ａ〜ｋ，ｘ〜ｚの機能検証記述を作成したことを示す作成フラグを保持し、機能検証記述を作成すると、作成した機能検証記述の遷移経路の作成フラグをオンにする。これより、機能検証記述作成部２３は、すべての遷移経路ａ〜ｋ，ｘ〜ｚについての機能検証記述を確実に作成することができる。
【００４８】
次に、機能検証記述生成部２０がテンプレート保持部１０に保持された第２記述テンプレート１２に基づいて、遷移元のステートから遷移先のステートへ所定サイクル内に遷移することを検証するための機能検証記述を作成する場合について説明する。
この場合、ＦＳＭ仕様情報抽出部２１は、ＦＳＭ仕様記憶部１０２に保持されたＦＳＭの仕様情報（図２〜図４参照）から、遷移元のステート，遷移先のステート，及び所定の遷移サイクルを抽出する。
【００４９】
一方、テンプレート選択部２２は、テンプレート保持部１０から第２記述テンプレート１２を選択する。
そして、機能検証記述作成部２３が、ＦＳＭ仕様情報抽出部２１によって抽出された遷移元のステート，遷移先のステート，及び所定の遷移サイクルを、第２記述テンプレート１２に代入することによって、遷移元のステートから遷移先のステートへ所定サイクル内に遷移することを検証するための機能検証記述を作成する。
【００５０】
例えば、図４に示す“１６サイクル以内”についての機能検証記述を作成する場合、つまり、“ＤＴ＿ＲＣＶ”から“ＳＥＮＤ＿ＤＴ”へ“１６サイクル以内”に遷移するという動作のシミュレーションの結果を検証するための機能検証記述を作成する場合について説明する。
このとき、ＦＳＭ仕様情報抽出部２１は、ＦＳＭ仕様記憶部１０２の仕様情報から、遷移元のステートとして“ＤＴ＿ＲＣＶ”を、遷移先のステートとして“ＳＥＮＤ＿ＤＴ”を、所定の遷移サイクルとして“１６サイクル以内”を抽出する。
【００５１】
一方、テンプレート選択部２２は、テンプレート保持部１０から第２記述テンプレート１２を選択する。
そして、機能検証記述作成部２３は、ＦＳＭ仕様情報抽出部２１によって抽出された情報を、第２記述テンプレート１２に代入することにより、例えば、「always (({State == `IDLE }} |=> {true[*..15]; State == `SEND_DT}) abort RESET)@(posedge SYS_CLK);」という機能検証記述を作成する。なお、この機能検証記述（つまり、第２記述テンプレート１２）は、Verilog表現のＰＳＬで記述されたものである。また、この機能検証記述においてステートの表現はｎビット信号で表現できる数値に各ステートを割り当てたもの（上記（Ｃ）の表現方法）を用いている。
【００５２】
また、機能検証記述生成部２０が第２記述テンプレート１２に基づいて機能検証記述を作成する場合には、図４に示す所定の遷移サイクルすべて（ここでは１つのみ）について、機能検証記述を生成する。
したがって、ＦＳＭ仕様情報抽出部２１は、すべての所定の遷移サイクル，当該遷移サイクルにかかる遷移元のステート及び遷移先のステートを仕様情報から抽出し、機能検証記述作成部２３が、すべての所定の遷移サイクルについて、第２記述テンプレート１２に基づいて機能検証記述を作成する。
【００５３】
このとき、機能検証記述作成部２３は、すべての所定の遷移サイクル毎に当該所定の遷移サイクルの機能検証記述を作成したことを示す作成フラグを保持し、機能検証記述を作成すると、作成した機能検証記述の所定の遷移サイクルの作成フラグをオンにする。これより、機能検証記述作成部２３は、すべての所定の遷移サイクルについての機能検証記述を確実に作成することができる。
【００５４】
次に、機能検証記述生成部２０がテンプレート保持部１０に保持された第３記述テンプレート１３に基づいて、遷移元のステートから他のステートを経由したとしても所定の遷移先の状態へ遷移することを検証するための機能検証記述を作成する場合について説明する。
この場合、ＦＳＭ仕様情報抽出部２１は、ＦＳＭ仕様記憶部１０２に保持されたＦＳＭの仕様情報（図２〜図４参照）から、遷移元のステートと所定の遷移先のステートとを指定するための指定情報（ここでは、図４に示す“いつか必ず”という情報），当該遷移元のステート，及び当該遷移先のステートを抽出する。
【００５５】
一方、テンプレート選択部２２は、テンプレート保持部１０から第３記述テンプレート１３を選択する。
そして、機能検証記述作成部２３が、ＦＳＭ仕様情報抽出部２１によって抽出された指定情報，遷移元のステート，及び遷移先のステートを、第３記述テンプレート１３に代入することによって、遷移元のステートから他のステートを経由したとしても所定の遷移先の状態へ遷移することを検証するための機能検証記述を作成する。
【００５６】
例えば、図４に示す“いつか必ず”という指定情報についての機能検証記述を作成する場合、つまり、予め設定された遷移元ステート“ＤＴ＿ＲＣＶ”から予め設定された遷移先ステート“ＩＤＬＥ”への状態遷移が、遷移元ステート“ＤＴ＿ＲＣＶ”から他のステートを経由したとしても、必ず実行されるという動作のシミュレーションの結果を検証するための機能検証記述を作成する場合について説明する。
【００５７】
このとき、ＦＳＭ仕様情報抽出部２１は、ＦＳＭ仕様記憶部１０２の仕様情報から、指定情報として“いつか必ず”を、遷移元のステートとして“ＤＴ＿ＲＣＶ”を、遷移先のステートとして“ＩＤＬＥ”を抽出する。
一方、テンプレート選択部２２は、テンプレート保持部１０から第３記述テンプレート１３を選択する。
【００５８】
そして、機能検証記述作成部２３は、ＦＳＭ仕様情報抽出部２１によって抽出された情報を、第３記述テンプレート１３に代入することにより、例えば、「always ( (State == `DT_RCV) -> next everntually! (State == `IDLE) )@(posedge SYS_CLK);」という機能検証記述を作成する。なお、この機能検証記述（つまり、第３記述テンプレート１３）は、Verilog表現のＰＳＬで記述されたものである。また、この機能検証記述においてステートの表現はｎビット信号で表現できる数値に各ステートを割り当てたもの（上記（Ｃ）の表現方法）を用いている。
【００５９】
また、機能検証記述生成部２０が第３記述テンプレート１３に基づいて機能検証記述を作成する場合には、図４に示す指定情報（ここでは一つのみ）すべてについて、機能検証記述を生成する。
したがって、ＦＳＭ仕様情報抽出部２１は、すべての指定情報，当該指定情報にかかる遷移元のステート及び遷移先のステートを仕様情報から抽出し、機能検証記述作成部２３が、すべての指定情報について、第３記述テンプレート１３に基づいて機能検証記述を作成する。
【００６０】
このとき、機能検証記述作成部２３は、指定情報毎に当該指定情報の機能検証記述を作成したことを示す作成フラグを保持し、機能検証記述を作成すると、作成した機能検証記述の所定の遷移サイクルの作成フラグをオンにする。これより、機能検証記述作成部２３は、すべての指定情報についての機能検証記述を確実に作成することができる。
次に、機能検証記述生成部２０がテンプレート保持部１０に保持された第４記述テンプレート１４に基づいて、遷移元のステートから所定の遷移先のステートへ遷移することを検証するための機能検証記述を作成する場合について説明する。
【００６１】
この場合、ＦＳＭ仕様情報抽出部２１は、ＦＳＭ仕様記憶部１０２に保持されたＦＳＭの仕様情報（図２，図３参照）から、遷移元のステート及び当該遷移元のステートに対する遷移先のステートを抽出する。
一方、テンプレート選択部２２は、テンプレート保持部１０から第４記述テンプレート１４を選択する。
【００６２】
そして、機能検証記述作成部２３が、ＦＳＭ仕様情報抽出部２１によって抽出された遷移元のステート及び当該遷移元のステートに対する遷移先のステートを、第４記述テンプレート１４に代入することによって、遷移元のステートから所定の遷移先のステートへ遷移することを検証するための機能検証記述を作成する。
例えば、図２，図３に示すステート“ＳＥＮＤ＿ＤＴ”についての機能検証記述を作成する場合、つまり、“ＳＥＮＤ＿ＤＴ”からは、“ＡＣＫ＿ＲＣＶ”か“ＳＥＮＤ＿ＤＴ”への状態遷移が実行されるという動作のシミュレーションの結果を検証するための機能検証記述を作成する場合について説明する。
【００６３】
このとき、ＦＳＭ仕様情報抽出部２１は、ＦＳＭ仕様記憶部１０２の仕様情報から、遷移元のステートとして“ＳＥＮＤ＿ＤＴ”を、所定の遷移先のステートとして“ＡＣＫ＿ＲＣＶ”及び“ＳＥＮＤ＿ＤＴ”を抽出する。
一方、テンプレート選択部２２は、テンプレート保持部１０から第４記述テンプレート１４を選択する。
【００６４】
そして、機能検証記述作成部２３は、ＦＳＭ仕様情報抽出部２１によって抽出された情報を、第４記述テンプレート１４に代入することにより、例えば、「always ( (State == `SEND_DT) -> next (State == `SEND_DT || State == `ACK_RCV ) )@(posedge SYS_CLK);」という機能検証記述を作成する。なお、この機能検証記述（つまり、第４記述テンプレート１４）は、Verilog表現のＰＳＬで記述されたものである。また、この機能検証記述においてステートの表現はｎビット信号で表現できる数値に各ステートを割り当てたもの（上記（Ｃ）の表現方法）を用いている。
【００６５】
また、機能検証記述生成部２０が第４記述テンプレート１４に基づいて機能検証記述を作成する場合には、図２，図３に示すすべてのステートについて、当該ステートを遷移元とした機能検証記述を生成する。
したがって、ＦＳＭ仕様情報抽出部２１は、ＦＳＭのすべてのステート及び各ステートの所定の遷移先のステートを仕様情報から抽出し、機能検証記述作成部２３が、すべてのステートについて、第４記述テンプレート１４に基づいて機能検証記述を作成する。
【００６６】
このとき、機能検証記述作成部２３は、すべてのステート毎に機能検証記述を作成したことを示す作成フラグを保持し、機能検証記述を作成すると、作成した機能検証記述のステートの作成フラグをオンにする。これより、機能検証記述作成部２３は、すべてのステートについての機能検証記述を確実に作成することができる。
次に、機能検証記述生成部２０がテンプレート保持部１０に保持された第５記述テンプレート１５に基づいて、シミュレーションを実行する所定の遷移シナリオによるカバレッジを測定するための機能検証記述を作成する場合について説明する。
【００６７】
この場合、ＦＳＭ仕様情報抽出部２１は、例えば、図５に示す、ＦＳＭ仕様記憶部１０２に保持されたＦＳＭの仕様情報としてのデータテーブル１０２ｃから、所定の遷移シナリオに関する情報を抽出する。
ここで、図５に示すデータテーブル１０２ｃは、設計者によってＦＳＭ仕様入力部１０１を用いて入力されたシミュレーションの対象の動作の遷移シナリオであり、シナリオＩＤ毎に遷移順序と各遷移順序に対応するステートとを保持している。
【００６８】
一方、テンプレート選択部２２は、テンプレート保持部１０から第５記述テンプレート１５を選択する。
そして、機能検証記述作成部２３が、ＦＳＭ仕様情報抽出部２１によって抽出された所定の遷移シナリオの各ステートをその順序に基づいて第５記述テンプレート１５に代入することによって、カバレッジを測定するための機能検証記述を作成する。
【００６９】
例えば、図２，図３に示すＦＳＭにおいて、図５に示すデータテーブル１０２ｃのシナリオＩＤ“１”に該当する、「“ＩＤＬＥ”→“ＤＴ＿ＲＣＶ”→“ＳＥＮＤ＿ＡＣＫ”→“ＤＴ＿ＲＣＶ”→“ＩＤＬＥ”」という遷移シナリオについての機能検証記述を作成する場合ついて説明する。
このとき、ＦＳＭ仕様情報抽出部２１は、ＦＳＭ仕様記憶部１０２の仕様情報（図５参照）から、所定の遷移シナリオとして、「“ＩＤＬＥ”→“ＤＴ＿ＲＣＶ”→“ＳＥＮＤ＿ＡＣＫ”→“ＤＴ＿ＲＣＶ”→“ＩＤＬＥ”」を抽出する。
【００７０】
一方、テンプレート選択部２２は、テンプレート保持部１０から第５記述テンプレート１５を選択する。
そして、機能検証記述作成部２３は、ＦＳＭ仕様情報抽出部２１によって抽出された遷移シナリオを、第５記述テンプレート１５に代入することにより、例えば、「always ({State == `IDLE; State == `DT_RCV; State == `SEND_ACK; State == `DT_RCV; State == `IDLE} |-> {true})@(posedge SYS_CLK);」という機能検証記述を作成する。なお、この機能検証記述（つまり、第５記述テンプレート１５）は、Verilog表現のＰＳＬで記述されたものである。また、この機能検証記述においてステートの表現はｎビット信号で表現できる数値に各ステートを割り当てたもの（上記（Ｃ）の表現方法）を用いている。
【００７１】
また、機能検証記述生成部２０が第５記述テンプレート１５に基づいて機能検証記述を作成する場合には、図５に示すすべての遷移シナリオについて機能検証記述を生成する。
したがって、ＦＳＭ仕様情報抽出部２１は、仕様情報として保持されているすべての遷移シナリオを仕様情報から抽出し、機能検証記述作成部２３が、すべての遷移シナリオについて、第５記述テンプレート１５に基づいて機能検証記述を作成する。
【００７２】
このとき、機能検証記述作成部２３は、すべての遷移シナリオ毎に機能検証記述を作成したことを示す作成フラグを保持し、機能検証記述を作成すると、作成した機能検証記述のステートの作成フラグをオンにする。これより、機能検証記述作成部２３は、すべての遷移シナリオについての機能検証記述を確実に作成することができる。
次に、本発明の一実施形態としての機能検証記述生成方法（本機能検証記述生成装置１の動作手順）を、テンプレート保持部１０に保持された第１記述テンプレート１１〜第５記述テンプレート１５のそれぞれに基づいて作成する場合に分けて説明する。
【００７３】
まず、第１記述テンプレート１１に基づいて機能検証記述を作成する場合について、図６に示すフローチャート（ステップＳ１０〜Ｓ１９）を参照しながら説明する。
はじめに、機能検証記述生成部２０のＦＳＭ仕様情報抽出部２１が、ＦＳＭ仕様記憶部１０２に保持されたＦＳＭの仕様情報から、ＦＳＭが取りうるすべてのステートを抽出する（ステップＳ１０）。ここでは、上記図２，図３に示す“ＩＤＬＥ”，“ＤＴ＿ＲＣＶ”，“ＳＥＮＤ＿ＡＣＫ”，“ＳＥＮＤ＿ＤＴ”，及び“ＡＣＫ＿ＲＣＶ”を抽出する。
【００７４】
次いで、機能検証記述作成部２３が、未処理のステートがあるか否かを判断する（ステップＳ１１）。つまり、ここでは、機能検証記述作成部２３が、上記ステップＳ１０において抽出されたすべてのステートのそれぞれについて、当該ステートを遷移元とするすべての遷移経路の機能検証記述が生成されたことを示す作成フラグをそなえており、このフラグがオフになっているステートがあるか否かを判断する。
【００７５】
ここで、機能検証記述作成部２３が、未処理のステートがない（つまり、作成フラグがオフになっているステートがない）と判断した場合（ステップＳ１１のＮｏルート）、処理を終了する。
一方、機能検証記述作成部２３が、未処理のステートがある（つまり、作成フラグがオフになっているステートがある）と判断した場合（ステップＳ１１のＹｅｓルート）、ＦＳＭ仕様情報抽出部２１が、未処理のステートについて、当該ステートが遷移元となる遷移経路をＦＳＭ使用記憶部１０２に保持された仕様情報から抽出するとともに、当該遷移経路の遷移条件をＦＳＭ仕様記憶部１０２に保持された仕様情報から抽出する（ステップＳ１２；抽出ステップ）。このとき、ＦＳＭ仕様情報抽出部２１は、共通遷移条件に基づく遷移経路も抽出する。
【００７６】
そして、機能検証記述作成部２３が、未処理の遷移経路があるか否か（つまり、上記ステップＳ１２において遷移経路が抽出されたか否か）を判断し（ステップＳ１３）、ここで、機能検証記述作成部２３が未処理の遷移経路がない（つまり上記ステップＳ１２において遷移経路が抽出されなかった）と判断すると（ステップＳ１３のＮｏルート）、機能検証記述作成部２３が、かかる未処理のステート（つまり、すべての遷移経路について機能検証記述を作成完了したステート）の作成フラグをオンにし（ステップＳ１４）、上記ステップＳ１１の処理に戻る。
【００７７】
一方、機能検証記述作成部２３が未処理の遷移経路がある（つまり、上記ステップＳ１２において遷移経路が抽出された）と判断すると（ステップＳ１３のＹｅｓルート）、ＦＳＭ仕様情報抽出部２１が、その遷移経路についての情報（ここでは、遷移元ステート，遷移先ステート，遷移条件，クロック信号名，及びリセット信号名）を、ＦＳＭ仕様記憶部１０２に保持された仕様情報から抽出する（ステップＳ１５；抽出ステップ）。
【００７８】
次いで、テンプレート選択部２２がテンプレート保持部１０から第１記述テンプレート１１を選択する（ステップＳ１６；選択ステップ）。
そして、機能検証記述作成部２３が、上記ステップＳ１５においてＦＳＭ仕様情報抽出部２１によって抽出された情報を、上記ステップＳ１６においてテンプレート選択部２２によって選択された第１記述テンプレート１１に当てはめて機能検証記述を作成する（ステップＳ１７；作成ステップ）。
【００７９】
さらに、機能検証記述作成部２３は、上記ステップＳ１７において作成した機能検証記述を機能検証記述記憶部３０に保存させるとともに（ステップＳ１８）、機能検証記述を作成した遷移条件についての作成フラグをオンにして（ステップＳ１９）、上記ステップＳ１３の処理に戻る。
そして、上記ステップＳ１１〜Ｓ１９の処理を繰り返し実行することによって、機能検証記述生成部２０は、ＦＳＭ仕様記憶部１０２に保持された仕様情報におけるすべての遷移経路（つまり、図２，図３における遷移経路ａ〜ｋ，ｘ〜ｚ）についての機能検証記述を生成する。
【００８０】
次に、第２記述テンプレート１２もしくは第３記述テンプレート１３に基づいて機能検証記述を作成する場合について、図７に示すフローチャート（ステップＳ２０〜Ｓ２６）を参照しながら説明する。
まず、機能検証記述生成部２０のＦＳＭ仕様情報抽出部２１が、ＦＳＭ仕様記憶部１０２に保持されたＦＳＭの仕様情報（上記図４参照）から、遷移タイミング（所定の遷移サイクル及び指定情報）をすべて抽出する（ステップＳ２０；抽出ステップ）。ここでは、上記図４に示す所定の遷移サイクルとしての“１６サイクル以内”及び指定情報としての“いつか必ず”を抽出する。
【００８１】
次いで、機能検証記述作成部２３が、未処理の遷移タイミングがあるか否かを判断する（ステップＳ２１）。つまり、機能検証記述作成部２３が、上記ステップＳ２０において抽出されたすべての遷移タイミングについての機能検証記述の作成フラグに基づいて、未処理の遷移タイミングがあるか否かを判断する。
ここで、機能検証記述作成部２３が、未処理の遷移タイミングがない（つまり、作成フラグがオフになっている遷移タイミングがない）と判断した場合（ステップＳ２１のＮｏルート）、処理を終了する。
【００８２】
一方、機能検証記述作成部２３が、未処理の遷移タイミングがある（つまり、作成フラグがオフになっている遷移タイミングがある）と判断した場合（ステップＳ２１のＹｅｓルート）、ＦＳＭ仕様情報抽出部２１が、未処理の遷移タイミングに関する情報（ここでは、遷移元ステート，遷移先ステート，クロック信号名，及びリセット信号名）を、ＦＳＭ使用記憶部１０２に保持された仕様情報から抽出する（ステップＳ２２；抽出ステップ）。
【００８３】
そして、テンプレート選択部２２がテンプレート保持部１０から第２記述テンプレート１２もしくは第３記述テンプレート１３を選択する（ステップＳ２３；選択ステップ）。
なお、テンプレート選択部２２は、かかる未処理の遷移タイミングが所定の遷移サイクルである場合には第２記述テンプレート１２を選択する一方、かかる未処理の遷移タイミングが指定情報である場合には第３記述テンプレート１３を選択する。
【００８４】
次いで、機能検証記述作成部２３が、上記ステップＳ２２においてＦＳＭ仕様情報抽出部２１によって抽出された情報を、上記ステップＳ２３においてテンプレート選択部２２によって選択された記述テンプレートに当てはめて機能検証記述を作成する（ステップＳ２４；作成ステップ）。
そして、機能検証記述作成部２３は、上記ステップＳ２４において作成した機能検証記述を機能検証記述記憶部３０に保存させるとともに（ステップＳ２５）、機能検証記述を作成した遷移タイミングについての作成フラグをオンにして（ステップＳ２６）、上記ステップＳ２１の処理に戻る。
【００８５】
そして、上記ステップＳ２１〜Ｓ２６の処理を繰り返し実行することにより、機能検証記述生成部２０は、ＦＳＭ仕様記憶部１０２に保持された仕様情報におけるすべての遷移タイミング（上記図４参照）についての機能検証記述を生成する。
次に、第４記述テンプレート１４に基づいて機能検証記述を作成する場合について、図８に示すフローチャート（ステップＳ４０〜Ｓ４６）を参照しながら説明する。
【００８６】
まず、機能検証記述生成部２０のＦＳＭ仕様情報抽出部２１が、ＦＳＭ仕様記憶部１０２に保持されたＦＳＭの仕様情報から、ＦＳＭが取りうるすべてのステートを抽出する（ステップＳ４０；抽出ステップ）。ここでは、上記図２，図３に示す“ＩＤＬＥ”，“ＤＴ＿ＲＣＶ”，“ＳＥＮＤ＿ＡＣＫ”，“ＳＥＮＤ＿ＤＴ”，及び“ＡＣＫ＿ＲＣＶ”を抽出する。
【００８７】
次いで、機能検証記述作成部２３が、未処理のステートがあるか否かを判断する（ステップＳ４１）。つまり、ここでは、機能検証記述作成部２３が、上記ステップＳ４０において抽出されたすべてのステートのそれぞれについて、当該ステートを遷移元とする機能検証記述の作成フラグをそなえており、この作成フラグがオフになっているステートがあるか否かを判断する。
【００８８】
ここで、機能検証記述作成部２３が、未処理のステートがない（つまり、作成フラグがオフになっているステートがない）と判断した場合（ステップＳ４１のＮｏルート）、処理を終了する。
一方、機能検証記述作成部２３が、未処理のステートがある（つまり、作成フラグがオフになっているステートがある）と判断した場合（ステップＳ４１のＹｅｓルート）、ＦＳＭ仕様情報抽出部２１が、未処理のステートについて、当該ステートが遷移元となる遷移経路についての情報（ここでは、遷移元ステート，当該遷移元ステートの取りうる遷移先ステートのリスト，クロック信号名，及びリセット信号名）をＦＳＭ使用記憶部１０２に保持された仕様情報から抽出する（ステップＳ４２；抽出ステップ）。
【００８９】
次いで、テンプレート選択部２２がテンプレート保持部１０から第４記述テンプレート１４を選択する（ステップＳ４３；選択ステップ）。
そして、機能検証記述作成部２３が、上記ステップＳ４２においてＦＳＭ仕様情報抽出部２１によって抽出された情報を、上記ステップＳ４３においてテンプレート選択部２２によって選択された第４記述テンプレート１４に当てはめて機能検証記述を作成する（ステップＳ４４；作成ステップ）。
【００９０】
さらに、機能検証記述作成部２３は、上記ステップＳ４４において作成した機能検証記述を機能検証記述記憶部３０に保存させるとともに（ステップＳ４５）、機能検証記述を作成したステートについての作成フラグをオンにして（ステップＳ４６）、上記ステップＳ４１の処理に戻る。
そして、上記ステップＳ４１〜Ｓ４６の処理を繰り返し実行することにより、機能検証記述生成２０は、ＦＳＭ仕様記憶部１０２に保持された仕様情報におけるすべてのステートについて、機能検証記述を生成する。
【００９１】
次に、第５記述テンプレート１５に基づいて機能検証記述を作成する場合について、図９に示すフローチャート（ステップＳ５０〜Ｓ５６）を参照しながら説明する。
まず、機能検証記述生成部２０のＦＳＭ仕様情報抽出部２１が、ＦＳＭ仕様記憶部１０２に保持されたＦＳＭの仕様情報から、設計者がチェックすべく入力された所定の遷移シナリオをすべて抽出する（ステップＳ５０；抽出ステップ）。ここでは、上記図６に示す所定の遷移シナリオをすべて抽出する。
【００９２】
次いで、機能検証記述作成部２３が、未処理の所定の遷移シナリオがあるか否かを判断する（ステップＳ５１）。つまり、ここでは、機能検証記述作成部２３が、上記ステップＳ５０において抽出されたすべての遷移シナリオのそれぞれについて、当該遷移シナリオの機能検証記述の作成フラグをそなえており、この作成フラグがオフになっている遷移シナリオがあるか否かを判断する。
【００９３】
ここで、機能検証記述作成部２３が、未処理の遷移シナリオがない（つまり、作成フラグがオフになっている遷移シナリオがない）と判断した場合（ステップＳ５１のＮｏルート）、処理を終了する。
一方、機能検証記述作成部２３が、未処理の遷移シナリオがある（つまり、作成フラグがオフになっている遷移シナリオがある）と判断した場合（ステップＳ５１のＹｅｓルート）、ＦＳＭ仕様情報抽出部２１が、未処理の遷移シナリオについて、当該遷移シナリオに関する情報（ここでは、シナリオが含むステートのリスト（遷移順にソートしたリスト），クロック信号名，及びリセット信号名）をＦＳＭ使用記憶部１０２に保持された仕様情報（図６参照）から抽出する（ステップＳ５２；抽出ステップ）。
【００９４】
次いで、テンプレート選択部２２がテンプレート保持部１０から第５記述テンプレート１５を選択する（ステップＳ５３；選択ステップ）。
そして、機能検証記述作成部２３が、上記ステップＳ５２においてＦＳＭ仕様情報抽出部２１によって抽出された情報を、上記ステップＳ５３においてテンプレート選択部２２によって選択された第５記述テンプレート１５に当てはめて機能検証記述を作成する（ステップＳ５４；作成ステップ）。
【００９５】
さらに、機能検証記述作成部２３は、上記ステップＳ５４において作成した機能検証記述を機能検証記述記憶部３０に保存させるとともに（ステップＳ５５）、機能検証記述を作成した所定の遷移シナリオについての作成フラグをオンにして（ステップＳ５６）、上記ステップＳ５１の処理に戻る。
そして、上記ステップＳ５１〜Ｓ５６の処理を繰り返し実行することにより、機能検証記述生成部２０は、ＦＳＭ仕様記憶部１０２に保持された仕様情報におけるすべての所定の遷移シナリオについて機能検証記述を生成する。
【００９６】
このように、本発明の一実施形態としての機能検証記述生成装置１及び機能検証記述生成方法によれば、ＦＳＭ仕様情報抽出部２１がシミュレーションの動作に対する機能検証記述の作成に必要な情報を仕様情報から抽出し（抽出ステップ）、テンプレート選択部２２が当該シミュレーションの動作に対する機能検証記述の記述テンプレートを、テンプレート保持部１０から選択し（選択ステップ）、機能検証記述作成部２３が、ＦＳＭ仕様情報抽出部２１によって抽出された情報を、テンプレート選択部２２によって選択された記述テンプレートに代入することによって、当該シミュレーションの動作に対する機能検証記述を作成する（作成ステップ）ので、仕様情報の記述言語（つまり、ＦＳＭの設計に用いる記述言語）と、機能検証記述の記述言語とが異なる場合であっても、これらの言語に係わらず、自動的に機能検証記述を作成することができる。また、機能検証記述が記述テンプレートに基づいて自動で作成されるので、機能検証記述に用いる記述言語やその作成方法に関する知識が無い者であっても、機能検証記述を確実に且つ容易に作成することができる。
【００９７】
〔２〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、ＦＳＭ設計装置１００のＦＳＭ仕様記憶部１０２に記憶されたＦＳＭの仕様情報の記述言語がＨＤＬであり、テンプレート保持部１０に保持された第１記述テンプレート１１〜第５記述テンプレート１５（つまり、機能検証記述作成部２３によって作成される機能検証記述）の記述言語がＰＳＬである場合を例に挙げて説明したが、本発明においてこれらの記述言語は限定されるものではなく、例えば、ＳＶＡ（System Verilog Assertion）などであってもよい。
【００９８】
また、上述した実施形態では、機能検証記述記述生成部２０のＦＳＭ仕様情報抽出部２１が情報を抽出する先がＦＳＭ設計装置１００のＦＳＭ仕様記憶部１０２である場合を例に挙げて説明したが、本発明はこれに限定されるものではなく、少なくともＦＳＭ仕様情報抽出部２１が、機能検証記述の生成に必要な情報を抽出すべくＦＳＭの仕様情報を保持するデータベースにアクセス可能に構成されていればよい。
【００９９】
さらに、上述した実施形態では、テンプレート保持部１０が第１記述テンプレート１１〜第５記述テンプレート１５を保持して構成されている例をあげて説明したが、本発明はこれに限定されるものではなく、テンプレート保持部１０は少なくとも一つの記述テンプレートを保持していればよく、さらに、その記述テンプレートは第１記述テンプレート１１〜第５記述テンプレート１５のいずれかである必要はない。
【０１００】
つまり、テンプレート保持部１０に保持されるテンプレートは、第１記述テンプレート１１〜第５記述テンプレート１５に限定されるものではなく、これら以外にも、シミュレーションの対象の動作に基づくものであればよい。
【０１０１】
なお、上述したＦＳＭ仕様情報抽出部２１，テンプレート選択部２２，及び機能検証記述作成部２３としての機能は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラム（機能検証記述生成プログラム）を実行することによって実現されてもよい。
【０１０２】
そのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体から機能検証記述生成プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、それらのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【０１０３】
ここで、コンピュータとは、ハードウェアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウェアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。
【０１０４】
上記機能検証記述生成プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、ＦＳＭ仕様情報抽出部２１，テンプレート選択部２２，及び機能検証記述作成部２３としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク，ＣＤ，ＤＶＤ，磁気ディスク，光ディスク，光磁気ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
【０１０５】
〔３〕付記
（付記１）
有限状態マシンについてのシミュレーションの結果を検証するための機能検証記述を生成する機能検証記述生成装置であって、
前記有限状態マシンの仕様情報から前記シミュレーションの対象の動作にかかる情報を抽出する抽出部と、
前記シミュレーションの動作についての機能検証記述の記述テンプレートを保持する保持部と、
該保持部から前記シミュレーションの対象の動作についての前記記述テンプレートを選択する選択部と、
前記抽出部によって抽出された前記シミュレーションの対象の動作にかかる情報を、前記選択部によって選択された前記記述テンプレートに代入して機能検証記述を作成する作成部とをそなえて構成されていることを特徴とする、機能検証記述生成装置。
【０１０６】
（付記２）
前記保持部が、遷移元の状態から遷移先の状態へ正しい条件で遷移することを検証するための機能検証記述についての第１記述テンプレートを保持し、
前記抽出部が、前記仕様情報から遷移元の状態，遷移条件，及び遷移先の状態を抽出し、
前記選択部が前記保持部から前記第１記述テンプレートを選択するとともに、
前記作成部が、前記抽出部によって抽出された遷移元の状態，遷移条件，及び遷移先の状態を、前記選択部によって選択された前記第１記述テンプレートに代入することによって、遷移元の状態から遷移先の状態へ正しい条件で遷移することを検証するための機能検証記述を作成することを特徴とする、付記１記載の機能検証記述生成装置。
【０１０７】
（付記３）
前記抽出部が、前記仕様情報から前記有限状態マシンのすべての状態，すべての遷移経路，及び各遷移経路の遷移条件を抽出するとともに、
前記作成部が、前記抽出部によって抽出されたすべての遷移経路について、前記第１記述テンプレートに基づいて機能検証記述を作成することを特徴とする、付記２記載の機能検証記述生成装置。
【０１０８】
（付記４）
前記作成部が、機能検証記述を作成した遷移経路の作成フラグをオンにすることを特徴とする、付記３記載の機能検証記述生成装置。
（付記５）
前記抽出部が、前記有限状態マシンのすべての状態に共通の条件である共通遷移条件及び当該共通遷移条件に基づく遷移経路のそれぞれを、前記すべての遷移経路及び各遷移経路の遷移条件として前記仕様情報から抽出することを特徴とする、付記３または付記４記載の機能検証記述生成装置。
【０１０９】
（付記６）
前記保持部が、遷移元の状態から遷移先の状態へ所定サイクル内に遷移することを検証するための機能検証記述についての第２記述テンプレートを保持し、
前記抽出部が、前記仕様情報から遷移元の状態，遷移先の状態，及び所定の遷移サイクルを抽出し、
前記選択部が前記保持部から前記第２記述テンプレートを選択するとともに、
前記作成部が、前記抽出部によって抽出された遷移元の状態，遷移先の状態，及び所定の遷移サイクルを、前記選択部によって選択された前記第２記述テンプレートに代入することによって、遷移元の状態から遷移先の状態へ所定サイクル内に遷移することを検証するための機能検証記述を作成することを特徴とする、付記１〜付記５のいずれか１項に記載の機能検証記述生成装置。
【０１１０】
（付記７）
前記抽出部が、前記仕様情報からすべての所定の遷移サイクルと、当該所定の遷移サイクルにかかる遷移元の状態及び遷移先の状態を抽出するとともに、
前記作成部が、前記抽出部によって抽出されたすべての所定の遷移サイクルについて、前記第２記述テンプレートに基づいて機能検証記述を作成することを特徴とする、付記６記載の機能検証記述生成装置。
【０１１１】
（付記８）
前記作成部が、機能検証記述を作成した前記所定の遷移サイクルの作成フラグをオンにすることを特徴とする、付記７記載の機能検証記述生成装置。
（付記９）
前記保持部が、遷移元の状態から他の状態を経由したとしても所定の遷移先の状態へ遷移することを検証するための機能検証記述についての第３記述テンプレートを保持し、
前記抽出部が、前記仕様情報から前記遷移元の状態と前記所定の遷移先の状態とを指定するための指定情報，当該遷移元の状態，及び当該遷移先の状態を抽出し、
前記選択部が、前記保持部から前記第３記述テンプレートを選択するとともに、
前記作成部が、前記抽出部によって抽出された前記遷移元の状態及び前記所定の遷移先の状態を、前記選択部によって選択された前記第３記述テンプレートに代入することによって、遷移元の状態から他の状態を経由したとしても所定の遷移先の状態へ遷移することを検証するための機能検証記述を作成することを特徴とする、付記１〜付記８のいずれか１項に記載の機能検証記述生成装置。
【０１１２】
（付記１０）
前記抽出部が、前記仕様情報からすべての指定情報と、当該指定情報にかかる遷移元の状態及び所定の遷移先の状態を抽出するとともに、
前記作成部が、前記抽出部によって抽出されたすべての指定情報について、前記第３記述テンプレートに基づいて機能検証記述を作成することを特徴とする、付記９記載の機能検証記述生成装置。
【０１１３】
（付記１１）
前記作成部が、機能検証記述を作成した前記指定情報の作成フラグをオンにすることを特徴とする、付記１０記載の機能検証記述生成装置。
（付記１２）
前記保持部が、遷移元の状態から所定の遷移先の状態へ遷移することを検証するための機能検証記述についての第４記述テンプレートを保持し、
前記抽出部が、前記仕様情報から遷移元の状態及び当該遷移元の状態に対する所定の遷移先の状態を抽出し、
前記選択部が、前記保持部から前記第４記述テンプレートを選択するとともに、
前記作成部が、前記抽出部によって抽出された遷移元の状態及び当該遷移元の状態に対する所定の遷移先の状態を、前記選択部によって選択された前記第４記述テンプレートに代入することによって、遷移元の状態から所定の遷移先の状態にだけ遷移することを検証するための機能検証記述を作成することを特徴とする、付記１〜付記１１のいずれか１項に記載の機能検証記述生成装置。
【０１１４】
（付記１３）
前記抽出部が、前記仕様情報から前記有限状態マシンのすべての状態と、当該状態にかかる所定の遷移先の状態とを抽出するように構成され、
前記作成部が、前記抽出部によって抽出されたすべての状態について、前記第４記述テンプレートに基づいて機能検証記述を作成することを特徴とする、付記１２記載の機能検証記述生成装置。
【０１１５】
（付記１４）
前記作成部が、機能検証記述を作成した前記状態の作成フラグをオンにすることを特徴とする、付記１３記載の機能検証記述生成装置。
（付記１５）
前記保持部が、前記シミュレーションを実行する所定の遷移シナリオによるカバレッジを測定するための機能検証記述についての第５記述テンプレートを保持し、
前記選択部が、前記保持部から前記第５テンプレートを選択するとともに、
前記作成部が、前記選択部によって選択された前記第５記述テンプレートに基づいて、前記所定の遷移シナリオについての機能検証記述を作成することを特徴とする、付記１〜付記１４のいずれか１項に記載の機能検証記述生成装置。
【０１１６】
（付記１６）
前記抽出部が、前記所定の遷移シナリオから遷移状態のリストを抽出し、
前記作成部が、前記抽出部によって抽出された前記遷移状態のリストを、前記第５記述テンプレートに代入することによって、前記カバレッジを測定するための機能検証記述を作成することを特徴とする、付記１５記載の機能検証記述生成装置。
【０１１７】
（付記１７）
前記有限状態マシンの前記仕様情報の言語と、前記記述テンプレートの言語とが異なっていることを特徴とする、付記１〜付記１６のいずれか１項に記載の機能検証記述生成装置。
（付記１８）
前記仕様情報がハードウェア記述言語からなり、前記作成部によって作成される前記機能検証記述がＰＳＬ（Property Specification Language）からなることを特徴とする、付記１７記載の機能検証記述生成装置。
【０１１８】
（付記１９）
有限状態マシンについてのシミュレーションの結果を検証するための機能検証記述を生成する機能検証記述生成方法であって、
前記有限状態マシンの仕様情報から前記シミュレーションの対象の動作にかかる情報を抽出する抽出ステップと、
記憶部に保持された、前記シミュレーションの動作についての機能検証記述の記述テンプレートの中から、前記シミュレーションの対象の動作についての記述テンプレートを選択する選択ステップと、
前記抽出ステップにおいて抽出された前記シミュレーションの対象の動作にかかる情報を、前記選択ステップにおいて選択された前記記述テンプレートに代入して機能検証記述を作成する作成ステップとを含んでいることを特徴とする、機能検証記述生成方法。
【０１１９】
（付記２０）
有限状態マシンについてのシミュレーションの結果を検証するための機能検証記述を生成する機能をコンピュータに実現させるための機能検証記述生成プログラムであって、
前記有限状態マシンの仕様情報から前記シミュレーションの対象の動作にかかる情報を抽出する抽出部、
記憶部に保持された、前記シミュレーションの動作についての機能検証記述の記述テンプレートの中から、前記シミュレーションの対象の動作についての記述テンプレートを選択する選択部、及び、
前記抽出部によって抽出された前記シミュレーションの対象の動作にかかる情報を、前記選択部によって選択された前記記述テンプレートに代入して機能検証記述を作成する作成部として、前記コンピュータを機能させることを特徴とする、機能検証記述生成プログラム。
【図面の簡単な説明】
【０１２０】
【図１】本発明の一実施形態としての機能検証記述生成装置の構成を示すブロック図である。
【図２】本発明の一実施形態としての機能検証記述生成装置の対象ＦＳＭ（Finite State Machine）の状態遷移図である。
【図３】本発明の一実施形態としての機能検証記述生成装置の対象ＦＳＭの仕様情報を示す図である。
【図４】本発明の一実施形態としての機能検証記述生成装置の対象ＦＳＭの仕様情報としての遷移タイミングを示す図である。
【図５】本発明の一実施形態としての機能検証記述生成装置の対象ＦＳＭの仕様情報としての所定の遷移シナリオを示す図である。
【図６】本発明の一実施形態としての機能検証記述生成方法の手順の一例を説明するためのフローチャートである。
【図７】本発明の一実施形態としての機能検証記述生成方法の手順の一例を説明するためのフローチャートである。
【図８】本発明の一実施形態としての機能検証記述生成方法の手順の一例を説明するためのフローチャートである。
【図９】本発明の一実施形態としての機能検証記述生成方法の手順の一例を説明するためのフローチャートである。
【符号の説明】
【０１２１】
１  機能検証記述生成装置
１０  テンプレート保持部（保持部）
１１  第１記述テンプレート
１２  第２記述テンプレート
１３  第３記述テンプレート
１４  第４記述テンプレート
１５  第５記述テンプレート  
２０  機能検証記述生成部
２１  ＦＳＭ仕様情報抽出部（抽出部）
２２  テンプレート選択部（選択部）
２３  機能検証記述作成部（作成部）
３０  機能検証記述記憶部
１００  ＦＳＭ設計部
１０１  ＦＳＭ仕様入力部
１０２  ＦＳＭ仕様記憶部
【図１】
2007034833.tif 000003
【図２】
2007034833.tif 000004
【図３】
2007034833.tif 000005
【図４】
2007034833.tif 000006
【図５】
2007034833.tif 000007
【図６】
2007034833.tif 000008
【図７】
2007034833.tif 000009
【図８】
2007034833.tif 000010
【図９】
2007034833.tif 000011