(57)【要約】【課題】検証対象回路に与えられるコマンドとデータの対応付けを行った状態で、検証対象回路の内部まで精度よくトレースする。【解決手段】回路記述生成装置１は、コマンドＩＤ経路部１１と、ライトデータＩＤ経路部１２と、リードデータＩＤ経路部１３と、コマンドＩＤ発行部１４と、ライトデータＩＤ発行部１５と、リードデータ出力部１６と、コマンド出力部１７と、ライトデータ出力部１８と、リードデータＩＤ発行部１９と、入出力・期待値チェック部２０とを有する。コマンドとデータの伝送タイミングが同じでない場合に、対応するコマンドとデータに共通のＩＤを割り振ると共に、コマンドやデータを表す信号が検証対象回路５内を伝搬する間に、分岐したり、集束したりしても、それに合わせてＩＤのビット幅を可変制御するため、検証対象回路５内でコマンドやデータを精度よくトレースすることができ、各信号のトレーサビリティが向上する。【選択図】図１
2010231517.tif 000002
【特許請求の範囲】
【請求項１】
回路記述言語で記述される検証対象回路に入力されるコマンドと、前記コマンドに対応するデータとに対して共通の識別信号を付加する識別情報付加手段と、
前記コマンドおよび前記データが前記検証対象回路の内部を通過する信号経路に沿って、前記コマンドおよび前記データの識別信号のビット幅を調整するビット幅調整手段と、
前記ビット幅調整手段にてビット幅が調整された識別信号が付加されたコマンドおよびデータを含む、前記検証対象回路に対応する回路記述を生成する回路記述生成手段と、を備えることを特徴とする回路記述生成装置。
【請求項２】
前記ビット幅調整手段は、前記コマンドおよび前記データが前記検証対象回路の内部を通過する信号経路を、前記検証対象回路の入力側から出力側に向けて順に辿って行き、次の信号接続先で複数の信号経路に分岐される場合には、分岐される信号経路の数に応じて、対応する前記コマンドまたはデータの識別信号のビット幅を調整することを特徴とする請求項１に記載の回路記述生成装置。
【請求項３】
前記ビット幅調整手段は、前記コマンドおよび前記データが前記検証対象回路の内部を通過する信号経路を、前記検証対象回路の入力側から出力側に向けて順に辿って行き、次の信号接続先で複数の信号経路が集束され、かつ集束される他の信号経路が識別信号の付加対象でなければ、対応する前記コマンドまたはデータの識別信号のビット幅に基づいて前記次の信号接続先の識別信号のビット幅を決定し、前記次の信号接続先で複数の信号経路が集束され、かつ集束される他の信号経路が識別信号の付加対象の場合には、集束する対象となる各信号経路の識別信号のビット幅に基づいて、前記次の信号接続先の識別信号のビット幅を決定することを特徴とする請求項１に記載の回路記述生成装置。
【請求項４】
前記ビット幅調整手段でビット幅が調整された識別信号が付加された前記コマンドおよびデータを期待値として、前記回路記述生成手段で生成された回路記述を用いてシミュレーションまたはエミュレーションを行った結果と比較して、前記検証対象回路の機能検証を行う機能検証手段をさらに備えることを特徴とする請求項１乃至３のいずれかに記載の回路記述生成装置。
【請求項５】
回路記述言語で記述される検証対象回路に入力されるコマンドと、前記コマンドに対応するデータとに対して共通の識別信号を付加するステップと、
前記コマンドおよび前記データが前記検証対象回路内を通過する信号経路に沿って、前記コマンドおよび前記データの識別信号のビット幅を調整するステップと、
ビット幅が調整された識別信号が付加されたコマンドおよびデータを含む、前記検証対象回路に対応する回路記述を生成するステップと、
前記生成された回路記述を用いてシミュレーションまたはエミュレーションを行うステップと、
ビット幅が調整された識別信号が付加された前記コマンドおよびデータを期待値として、前記生成された回路記述を用いてシミュレーションまたはエミュレーションを行った結果と比較して、前記検証対象回路の機能検証を行うステップと、を備えることを特徴とする機能検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路記述言語で記述される検証対象回路の機能検証を行う回路記述生成装置および機能検証方法に関する。
【背景技術】
【０００２】
近年、データ転送を高速に行う回路に対する要求が高まっており、この種の回路に対応したプロトコルやインタフェースが提案されている。また、システムＬＳＩ内部の各回路ブロック間で高速にデータ伝送を行うデータ伝送回路を採用する例も増えている。
【０００３】
これらの高速にデータ伝送を行う回路を検証する一手法として、波形ビューアが広く利用されている。例えば、シミュレーションやエミュレーションの最中に、内部信号を逐次出力（ダンプ）しておき、この内部信号をシミュレーションやエミュレーション終了後に波形ビューアに入力することで、信号波形をモニターすることができる。
【０００４】
従来のプロトコルは、コマンドと対応するデータのタイミングが一致しているため、波形ビューアでのデータのトレースにもそれほど時間はかからないし、コマンドとデータとの対応づけを間違う可能性もない。しかしながら、近年のプロトコルでは、高速化を図るために、コマンドとデータを別タイミングで伝送する場合がある。この場合、コマンドとデータの遷移タイミングが一致しないため、波形ビューアでコマンドとデータの対応付けを行うのが容易ではなく、あるデータが期待値と一致しなくなったときに、その原因の解明に時間がかかってしまう。
【０００５】
特許文献１には、バス上でトランザクションの順序が入れ替わった場合に、該順序が入れ替わったトランザクションに関する情報をアトリビュート情報としてトランザクションに設定する技術が開示されている。
【０００６】
しかしながら、特許文献１は、検証対象回路の内部で信号が分岐したり、集束した場合を想定しておらず、検証対象回路の内部の信号経路を精度よくトレースすることは困難であり、トレーザビリティがよくないという問題がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２２１４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、検証対象回路に与えられるコマンドとデータの対応付けを行った状態で、検証対象回路の内部まで精度よくトレースできる回路記述生成装置および機能検証方法を提供するものである。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の一態様では、回路記述言語で記述される検証対象回路に入力されるコマンドと、前記コマンドに対応するデータとに対して共通の識別信号を付加する識別情報付加手段と、
前記コマンドおよび前記データが前記検証対象回路の内部を通過する信号経路に沿って、前記コマンドおよび前記データの識別信号のビット幅を調整するビット幅調整手段と、
前記ビット幅調整手段にてビット幅が調整された識別信号が付加されたコマンドおよびデータを含む、前記検証対象回路に対応する回路記述を生成する回路記述生成手段と、を備えることを特徴とする回路記述生成装置が提供される。
【発明の効果】
【００１０】
本発明によれば、検証対象回路に与えられるコマンドとデータの対応付けを行った状態で、検証対象回路の内部まで精度よくトレースできる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る回路機能検証装置を備えた回路機能検証システムの概略構成を示すブロック図。
【図２】検証対象回路５を説明する図。
【図３】ＩＤ付き回路記述生成部１で生成される回路記述に含まれる特徴的な構成部分を示すブロック図。
【図４】コマンドＩＤ経路部１１、ライトＩＤ経路部１２およびリードデータＩＤ経路部１３と検証対象回路５との関係を概念的に説明する図。
【図５】ＩＤ経路部の処理手順の一例を示すフローチャート。
【図６】図５のステップＳ５のビット幅調整処理の詳細な処理手順の一例を示すフローチャート。
【図７】ＩＤ付き回路記述生成部１による処理結果の一例を示す波形図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、詳細に説明する。
【００１３】
図１は本発明の一実施形態に係る回路記述生成装置を備えた回路機能検証システムの概略構成を示すブロック図である。図１の回路機能検証システムは、回路記述生成装置１と、シミュレータまたはエミュレータ２と、波形ビューア３と、検証結果生成部４と、を備えている。
【００１４】
回路記述生成装置１は、検証対象回路（ＤＵＴ：Design Under Test）を回路記述言語で記述した回路記述を生成し、その際、検証対象回路の入出力信号と検証対象回路内部の中間信号のそれぞれにＩＤ（識別信号）を付加する。以下、ＩＤを付加した回路記述をＩＤ付き回路記述と呼ぶ。回路記述生成装置１は、検証対象回路に入力されるコマンド（アドレス信号）と、対応するデータとに同じＩＤを付加する。
【００１５】
検証対象回路をＨＤＬ（Hardware Description Languate）等の回路記述言語で記述した回路記述とＩＤ付き回路記述は、シミュレータまたはエミュレータ２に供給されて、シミュレーションまたはエミュレーションが行われる。シミュレータまたはエミュレータ２に供給される入力データは期待値であり、この期待値は、シミュレーションまたはエミュレーションで得られた結果（実測値）と比較されて、ダンプリストが生成される。このダンプリストは検証結果生成部４に入力される。
【００１６】
また、シミュレーションまたはエミュレーションで得られたタイミング情報は、波形ダンプされて、波形ビューア３に供給される。波形ビューア３は、波形ダンプに基づいて、特定の信号波形を表示する。
【００１７】
図２は検証対象回路５を説明する図である。図２の検証対象回路５は、マスター側の回路ブロックＡ，Ｂ，Ｃと、スレーブ側の回路ブロックＤ，Ｅ，Ｆの間に配置されており、マスター側とスレーブ側との間でプロトコル変換を行ったり、各種信号のスイッチングを行う。本実施形態では、このようなプロトコル変換やスイッチングを行う検証対象回路５の回路記述および機能検証を行う例を説明するが、本発明が適用される検証対象回路５は、必ずしも図３に示す検証対象回路に限定されるものではない。
【００１８】
図３は回路記述生成装置１で生成される回路記述（回路記述生成手段）１０に含まれる特徴的な構成部分を示すブロック図である。図３の回路記述生成装置１は、コマンドＩＤ経路部１１と、ライト（書き込み）データＩＤ経路部１２と、リードデータＩＤ経路部１３と、コマンドＩＤ発行部１４と、ライトデータＩＤ発行部１５と、リードデータ出力部１６と、コマンド出力部１７と、ライトデータ出力部１８と、リードデータＩＤ発行部１９と、入出力・期待値チェック部（機能検証手段）２０とを有する。
【００１９】
ここで、ライトデータとは、検証対象回路（ＤＵＴ）５にデータを書き込むものではなく、図２のマスター側から検証対象回路５を介してスレーブ側にデータを書き込むことを意図しており、検証対象回路５は、コマンドに基づいて、ライトデータの送り先を制御する。同様に、リードデータは、図２のマスター側がスレーブ側から検証対象回路５を介してデータを読み出すことを意図しており、検証対象回路５は、コマンドに基づいて、データの読み出し先を制御する。
【００２０】
書き込み用のコマンドと、対応するライトデータとは、検証対象回路５に入力されるとともに、コマンドＩＤ発行部１４、ライトデータＩＤ発行部１５、および入出力・期待値チェック部２０にも入力される。コマンドＩＤ発行部１４とライトデータＩＤ発行部１５は、書き込み用の個々のコマンドと、対応するライトデータとに、共通のＩＤを付加する。入出力・期待値チェック部２０は、書き込み用のコマンドと、対応するライトデータを期待値として取得する。
【００２１】
コマンドＩＤ経路部１１は、入力されたＩＤ付きのコマンドを、検証対象回路５の対応する入力端子から内部の信号経路に沿って辿っていき、必要に応じて、ＩＤのビット幅の調整を行う。同様に、ライトデータＩＤ経路部１２は、入力されたＩＤ付きのライトデータを、検証対象回路５の対応する入力端子から内部の信号経路に沿って辿っていき、必要に応じて、ＩＤのビット幅の調整を行う。これらＩＤ経路部（ビット幅調整手段）の処理動作については後述する。
【００２２】
スレーブ側から送られてきたリードデータは、リードデータＩＤ発行部１９と入出力・期待値チェック部２０に入力される。コマンドＩＤ発行部１４とリードデータＩＤ発行部１９は、読み出し用の個々のコマンドと、対応するリードデータとに、共通のＩＤを付加する。入出力・期待値チェック部２０は、読み出し用のコマンドと、対応するリードデータを期待値として取得する。
【００２３】
リードデータＩＤ経路部１３は、ＩＤ付きのリードデータが検証対象回路５内を伝搬する信号経路を辿って行き、必要に応じて、ＩＤのビット幅の調整を行う。
【００２４】
図４は、コマンドＩＤ経路部１１、ライトＩＤ経路部１２およびリードデータＩＤ経路部１３（以下、総称してＩＤ経路部と呼ぶ）と検証対象回路（ＤＵＴ）５との関係を概念的に説明する図である。図４に示すように、上述した３つのＩＤ経路部１１〜１３は、ＩＤ付きのコマンドまたはデータ（以下、検証対象信号）のそれぞれについて、検証対象回路５内の信号経路を辿っていき、各検証対象信号が複数の信号経路に分岐したり、複数の信号経路が一つに集束したりしても、ＩＤ情報が失われないようにする。より具体的には、各ＩＤ経路部１１〜１３は、検証対象回路５内のコマンドおよびデータの信号経路に合わせてＩＤのビット幅を調整し、コマンドのＩＤと対応するデータのＩＤとの対応関係が失われないようにする。
【００２５】
本実施形態の特徴の一つは、これらＩＤ経路部１１〜１３の処理手順にある。図５はＩＤ経路部１１〜１３の処理手順の一例を示すフローチャートである。まず、検証対象回路５の入出力信号の中から、ＩＤ付加対象信号を選択する（ステップＳ１）。各信号ごとに有効（ＶＡＬＩＤ）信号が設けられている場合は、ＶＡＬＩＤ信号が「有効」である信号の中からＩＤ付加対象信号を選択する。
【００２６】
次に、選択されたＩＤ付加対象信号が回路記述のポートリスト（port list）と入力属性に含まれているか否かを判定し（ステップＳ２）、含まれていなければ処理を終了する。
【００２７】
ステップＳ２でＹＥＳと判定されると、検証対象回路５に対応する回路記述、より具体的には、代入記述と、回路モジュールに対応するインスタンスの信号接続記述との中に含まれる、ＩＤ付加対象信号に関する記述を順に辿って行く（ステップＳ３）。
【００２８】
ステップＳ３の処理を行った結果、ＩＤ付加対象信号の接続先が存在するか否かを判定する（ステップＳ４）。接続先が存在しなければ処理を終了し、接続先が存在すれば、後述するＩＤのビット幅調整処理を行う（ステップＳ５）。
【００２９】
次に、代入記述とインスタンスの信号接続記述を辿って行った結果、接続を伴わない出力属性ポートに達したか否かを判定する（ステップＳ６）。まだ達していなければステップＳ３に戻り、達した場合には処理を終了する。
【００３０】
図６は図５のステップＳ５のビット幅調整処理の詳細な処理手順の一例を示すフローチャートである。まず、検証対象回路５の内部を順に辿って行き、次の接続先の信号名とビット幅を取得する（ステップＳ１１）。
【００３１】
次に、接続先で信号が複数の信号経路に分岐されているか否かを判定する（ステップＳ１２）。分岐されている場合には、分岐された数ｐの底を２とする対数ｌｏｇ２ｐを計算し、計算された数分だけＩＤのビット幅を拡張する（ステップＳ１３）。
【００３２】
例えば、接続先で４つの信号経路に分岐される場合には、ｌｏｇ２４＝２だけＩＤのビット幅を拡張する。この場合、例えば以下の（１）式のように、記述される。
｛wData_A，wData_B，wData_C，wData_D｝  ＜＝  #D wData    …（１）
（１）式の右辺の＃Ｄは遅延を表し、遅延Ｄの後にwDataを代入することを示している。（１）式の右辺が接続元の信号を表し、左辺の４つの信号が接続先の各分岐信号を表す。これら各分岐信号のＩＤは、それぞれ以下の（２）〜（５）式で表される。
wData_A_ID＝｛wData_ID，２’b00｝    …（２）
wData_B_ID＝｛wData_ID，２’b01｝    …（３）
wData_C_ID＝｛wData_ID，２’b10｝    …（４）
wData_D_ID＝｛wData_ID，２’b11｝    …（５）
【００３３】
図６のステップＳ１２の判定が否定された場合、あるいはステップＳ１３の処理が終わった場合は、接続先で複数の信号が一つに集束されており、かつ集束される他の信号はＩＤ付加対象信号ではないか否かを判定する（ステップＳ１４）。ステップＳ１４がＹＥＳの場合には、接続先の信号のＩＤのビット幅を、接続元の信号のＩＤにビット幅と同じにする（ステップＳ１５）。
【００３４】
このステップＳ１５において、例えば、接続先で２つの信号が集束され、そのうちの一方の信号wDataはＩＤ付加対象で、他方の信号wDataEnはＩＤ付加対象でないとすると、以下の（６）式のように表される。
wData_Plus  ＜＝  #D｛wData，wDataEn｝    …（６）
上記（６）式において、wDataが３２ビット、wDataEnが４ビットすると、接続先の信号wData_Plusの［３５：４］がＩＤ付加対象範囲となる。
【００３５】
ステップＳ１４がＮＯの場合は、接続先で複数の信号が一つに集束されており、かつ集束される他の信号もＩＤ付加対象信号か否かを判定する（ステップＳ１６）。ステップＳ１６がＹＥＳの場合は、集束される各信号のＩＤのビット幅の和を、接続先の信号のＩＤのビット幅とする（ステップＳ１７）。
【００３６】
このステップＳ１７において、例えば、接続先で２つの信号が一つに集束され、両信号ともＩＤ付加対象の場合、以下の（７）式のように表される。
wData_AB  ＜＝  #D｛wData_A，wData_B｝    …（７）
ここで、信号wData_AのＩＤをwData_A_ID、信号wData_BのＩＤをwData_B_IDとすると、接続先のＩＤは以下の（８）式で表される。
wData_AB_ID＝｛wData_A_ID，wData_B_ID｝    …（８）
【００３７】
図７は回路記述生成装置１による処理結果の一例を示す波形図である。図７はＯＣＰ（Open Core Protocol）の波形タイミングを示している。ＯＣＰでは、コマンド（アドレス）とデータが異なるタイミングで伝送される。このため、検証対象回路５にコマンドとデータを与えて機能検証を行う際に、コマンドとデータとの対応関係が把握できなくなる可能性がある。ところが、本実施形態の場合、コマンドｃｍ１に対応するＩＤ１の値と、データｄ１に対応するＩＤ２の値がともに”２２０”であり、両者が対応関係にあることを正確に把握できる。
【００３８】
なお、図７では、ＩＤ情報がブロックＩＤと、トランザクションＩＤと、バーストＩＤの３種類を含む例を示している。ブロックＩＤは、検証対象回路５に含まれる個々の回路ブロック（モジュール）に固有のＩＤである。トランザクションＩＤは、各回路ブロックが発行するコマンドの発行順序を示す番号である。バーストＩＤは、１つのコマンドで伝送されるデータの順序を示す番号である。
【００３９】
図７では、コマンドのＩＤを構成する３種類のＩＤ情報をID_C_Blk、ID_C_Trans、ID_C_Burstとし、データのＩＤを構成する３種類のＩＤ情報をID_D_Blk、ID_D_Trans、ID_D_Burstとしている。
【００４０】
また、図７では、コマンドのアドレスをMaddr、コマンドの種類をMCmd、コマンドに対応するデータ数をMBurstlength、コマンドに対応するデータをMDataとしている。
【００４１】
なお、図７に示すようにＩＤが３種類のＩＤ情報に分かれることは一例にすぎず、本発明は図７以外のＩＤにも適用可能である。
【００４２】
図３に示すように、回路記述生成装置１は入出力・期待値チェック部２０を備えている。この入出力・期待値チェック部２０は、検証対象回路５に入力されるデータ書き込み用のコマンドおよびライトデータ、またはデータ読み出し用のコマンドおよびリードデータを期待値とする一方で、回路記述生成装置１で生成された回路記述に基づいてシミュレーションまたはエミュレーションを行った結果を実測値として、これら実測値を期待値と比較する。
【００４３】
より具体的には、入出力・期待値チェック部２０は、コマンドおよびデータの入出力チェックと期待値との比較チェックとを行う。
【００４４】
入出力チェックは、コマンドおよびデータがＩＤ経路部１１〜１３を介して出力されたか否かをチェックするものである。すなわち、回路記述生成装置１で生成された回路記述に何らかの不具合があり、ＩＤ経路部１１〜１３からコマンドやデータが出力されなかった場合は、入出力チェックがエラーとなる。
【００４５】
また、期待値との比較チェックは、回路記述生成装置１で生成された回路記述に対してコマンドおよびデータを与えたときに、この回路記述から出力された実測値が期待値と一致するか否かをチェックするものである。このチェックにより、検証対象回路５の機能検証を行うことができる。
【００４６】
このように、検証対象回路５の入出力信号を期待値とする一方で、ＩＤ経路部１１〜１３の出力信号を実測値として、両者を比較することで、検証対象回路５の機能検証を簡易な手順で行うことができる。
【００４７】
なお、回路記述生成装置１の内部に入出力・期待値チェック部２０を設けることは必ずしも必須ではないため、入出力・期待値チェック部２０を省略してもよい。これにより、回路記述生成装置１の内部構成を簡略化できる。
【００４８】
このように、本実施形態は、コマンド（アドレス）とデータの伝送タイミングが同じでない場合に、対応するコマンドとデータに共通のＩＤを割り振ると共に、コマンドやデータを表す信号が検証対象回路５内を伝搬する間に、分岐したり、集束したりしても、それに合わせてＩＤのビット幅を可変制御するため、検証対象回路５の内部でコマンドやデータを精度よくトレースすることができ、各信号のトレーサビリティが向上する。
【００４９】
また、コマンドやデータを表す信号が検証対象回路５内を伝搬する間に分岐や集束してもＩＤ情報が失われないように、回路記述内に３種類のＩＤ経路部を設けるため、このＩＤ経路部を利用することで、検証対象回路５の入出力信号が正しく伝搬するか否かのチェックと、検証対象回路５の入出力信号と期待値とが一致するか否かのチェックを簡易且つ正確に行うことができる。
【００５０】
本発明の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本発明の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
【００５１】
上述した実施形態で説明した回路機能検証装置の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、回路機能検証装置の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【００５２】
また、回路機能検証装置の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【符号の説明】
【００５３】
１  回路記述生成装置
１１  コマンドＩＤ経路部
１２  ライトデータＩＤ経路部
１３  リードデータＩＤ経路部
１４  コマンドＩＤ発行部
１５  ライトデータＩＤ発行部
１６  リードデータ出力部
１７  コマンド出力部
１８  ライトデータ出力部
１９  リードデータＩＤ発行部
２０  入出力・期待値チェック部
【図１】
2010231517.tif 000003
【図２】
2010231517.tif 000004
【図３】
2010231517.tif 000005
【図４】
2010231517.tif 000006
【図５】
2010231517.tif 000007
【図６】
2010231517.tif 000008
【図７】
2010231517.tif 000009