(57)【要約】【課題】テスト用の入力フレームの入力条件や内部レジスタ値の設定条件等をランダムに設定する通信用ＬＳＩ検証において、フレームロス率のような統計的な値の検証を効率よく行うことができるようにする。【解決手段】本発明に係る通信用ＬＳＩ検証装置は、検証項目に応じてランダムに生成された、検証対象とされるフレームバッファを有する通信用ＬＳＩに設定すべき書込レジスタ値（３１）と、前記通信用ＬＳＩに入力すべき入力フレーム（２２）の入力フレームパターン情報（１４Ｄ）とに基づいてフレームロス率の期待値を算出する期待値算出部（１５Ｆ）と、前記書込レジスタ値が設定された通信用ＬＳＩに前記入力フレームパターン情報に基づく入力フレームを入力したときの通信用ＬＳＩの入力フレーム数および廃棄フレーム数の実測値に基づいてフレームロス率を算出するフレームロス率算出部（１５Ｇ）とを備えることを特徴とする。【選択図】図４
2016052029.tif 000002
【特許請求の範囲】
【請求項１】
フレームバッファを有する通信用ＬＳＩの検証を行うための通信用ＬＳＩ検証装置であって、
検証項目に応じてランダムに生成された、前記通信用ＬＳＩの内部レジスタに設定すべき書込レジスタ値と前記通信用ＬＳＩに入力すべき入力フレームのフレームパターンおよび入力条件を含む入力フレームパターン情報とに基づいて、フレームロス率の期待値を算出する期待値算出部と、
前記書込レジスタ値が設定された前記通信用ＬＳＩに前記入力フレームパターン情報に基づく入力フレームを入力したときの前記通信用ＬＳＩの入力フレーム数および廃棄フレーム数の実測値に基づいてフレームロス率を算出するフレームロス率算出部と、
を備える
ことを特徴とする通信用ＬＳＩ検証装置。
【請求項２】
請求項１に記載の通信用ＬＳＩ検証装置において、
前記フレームロス率算出部によって算出されたフレームロス率と、前記期待値算出部によって算出されたフレームロス率の期待値とを照合する照合部と、
前記照合部による照合時に許容される誤差を示す許容誤差情報を記憶する記憶部とを更に有し、
前記照合部は、前記フレームロス率算出部によって算出されたフレームロス率が、前記期待値算出部によって算出されたフレームロス率の期待値に対して、許容誤差情報に基づく誤差の範囲内にある場合には、算出されたフレームロス率と前記期待値とが一致すると判定し、前記許容誤差情報に基づく誤差の範囲内にない場合には、算出されたフレームロス率と前記期待値とが一致しないと判定する
ことを特徴とする通信用ＬＳＩ検証装置。
【請求項３】
請求項１または２に記載の通信用ＬＳＩ検証装置において、
前記期待値算出部は、
前記通信用ＬＳＩに前記入力フレームが入力される毎に、前記入力フレーム数をカウントアップする入力フレーム数カウント部と、
前記フレームバッファを構成する複数のキューのうち前記書込レジスタ値に基づいて選択された入力キューに前記入力フレームを蓄積することができるか否かを判定するキュー蓄積判定部と
前記キュー蓄積判定部によって、前記入力キューに前記入力フレームを蓄積することができないと判定されたら、前記廃棄フレーム数をカウントアップする廃棄フレーム数カウント部と、
前記廃棄フレーム数を前記入力フレーム数によって除算することによって、前記フレームロス率の期待値を算出する演算部と、
前記複数のキューに蓄積されているフレームの総フレーム長をキュー毎に更新する総フレーム長更新部と、を有し、
前記キュー蓄積判定部は、前記入力キューの総フレーム長と前記入力フレームのフレーム長との合計値が、前記入力キューのキュー長よりも小さい場合に、前記入力キューに前記入力フレームを蓄積することができると判定し、当該合計値が前記入力キューのキュー長よりも大きい場合に、前記入力キューに前記入力フレームを蓄積することができないと判定し、
前記総フレーム長更新部は、前記入力キューに前記入力フレームを蓄積することができると判定された場合には、前記入力キューに蓄積されているフレームの総フレーム長と前記入力フレームのフレーム長との合計値を前記入力キューの総フレーム長とし、前記入力キューに前記入力フレームを蓄積することができないと判定された場合には、前記入力したキューの総フレーム長を更新しない
ことを特徴とする通信用ＬＳＩ検証装置。
【請求項４】
請求項３に記載の通信用ＬＳＩ検証装置において、
前記期待値算出部は、
前記複数のキューからフレームを出力することが可能な出力可能時間を算出する出力可能時間算出部と、
前記複数のキューのうちフレームの出力対象として選択された出力キューからフレームを出力することができるか否かを判定するキュー出力判定部と、
前記出力キューに最初に蓄積されたフレームを出力するのに要する出力所要時間を算出する出力所要時間算出部と、を更に有し、
前記キュー出力判定部は、前記出力所要時間が前記出力可能時間よりも短い場合に、前記出力キューからフレームを出力することができると判定し、前記出力所要時間が前記出力可能時間よりも長い場合に、前記出力キューからフレームを出力することができないと判定し、
前記出力可能時間算出部は、前記出力キューからフレームを出力することができると判定された場合には、前記出力可能時間から前記出力所要時間を減算することによって前記出力可能時間を更新し、前記出力キューからフレームを出力することができないと判定された場合には、前記出力可能時間をゼロにし、
前記総フレーム長更新部は、前記出力キューからフレームを出力することができると判定された場合には、前記出力キューの総フレーム長から前記最初に蓄積されたフレームのフレーム長だけ減算することによって前記出力キューの総フレーム長を更新し、
前記出力キューからフレームを出力することができないと判定されたら、前記出力キューの総フレーム長を更新しない
ことを特徴とする通信用ＬＳＩ検証装置。
【請求項５】
請求項３に記載の通信用ＬＳＩ検証装置において、
前記フレームバッファは、前記複数のキューから出力されたフレームを蓄積し、ＦＩＦＯ形式で出力する出力バッファを更に含み、
前記期待値算出部は、
前記出力キューから出力された出力フレームが前記出力バッファに蓄積可能か否かを判定する出力バッファ蓄積判定部を更に有し、
前記総フレーム長更新部は、前記出力バッファ蓄積判定部によって前記出力フレームが前記出力バッファに蓄積可能であると判定された場合に、前記出力キューの総フレーム長から前記出力フレームのフレーム長だけ減算することによって前記出力キューの総フレーム長を更新し、前記出力バッファ蓄積判定部によって前記出力フレームが前記出力バッファに蓄積可能でないと判定された場合には、前記出力キューの総フレーム長を更新しない
ことを特徴とする通信用ＬＳＩ検証装置。
【請求項６】
検証対象とされるフレームバッファを備えた通信用ＬＳＩに対して実行する検証項目毎に、当該検証の内容が記述された検証シナリオを記憶する記憶部と、
前記検証シナリオに基づいて、前記検証項目毎に、前記通信対象ＬＳＩに入力すべきテスト用の入力フレームのフレームパターンと前記通信対象ＬＳＩの各内部レジスタに設定すべき各書込レジスタ値の何れか一方または双方をランダムに生成するとともに、前記フレームパターンを含む入力フレーム情報と、前記各書込レジスタ値を含む書込レジスタ情報とを生成する検証フレームワークと、
前記入力フレーム情報に基づいて、実際の検査時に前記通信用ＬＳＩへ入力する入力フレームパターンとその入力条件とを含む入力フレームパターン情報を生成するフレームパターン生成部と、
前記フレームパターン生成部で生成された前記入力フレームパターン情報に含まれる入力フレームパターンを、フレーム入出力装置を介して前記通信用ＬＳＩに入力するフレーム制御部と、
前記書込レジスタ情報に基づいて、実際の検査時に通信用ＬＳＩの各内部レジスタに書き込む各書込レジスタ値を含む書込レジスタ値リストを生成する書込レジスタ値リスト生成部と、
前記レジスタ値リスト生成部で生成された前記書込レジスタ値リストに含まれる各書込レジスタ値を前記通信用ＬＳＩの対応する各内部レジスタにそれぞれ書き込むとともに、前記入力フレームパターンの入力および前記書込レジスタ値の設定に応じた前記通信用ＬＳＩでのフレーム処理後に当該通信用ＬＳＩの前記内部レジスタに記憶された読出レジスタ値を読み出すレジスタ制御部と、
前記レジスタ制御部によって読み出された前記読出レジスタ値に含まれる前記通信用ＬＳＩの入力フレーム数の情報および廃棄フレーム数の情報に基づいてフレームロス率を算出するフレームロス率算出部と、
前記レジスタ値リスト生成部で生成された前記書込レジスタ値リストと前記フレームパターン生成部で生成された前記入力フレームパターン情報とに基づいて、前記書込レジスタ値リストに含まれる各書込レジスタ値が設定された前記通信用ＬＳＩに前記入力フレームパターン情報に基づく入力フレームを入力した場合の入力フレーム数と前記フレームバッファによるフレーム溢れによって廃棄される廃棄フレーム数とを推定し、推定した入力フレーム数および廃棄フレーム数に基づいて、フレームロス率の期待値を算出する期待値算出部と、
を備える
ことを特徴とする通信用ＬＳＩ検証装置。
【請求項７】
フレームバッファを有する通信用ＬＳＩの内部レジスタに設定すべき書込レジスタ値と、前記通信用ＬＳＩに入力すべき入力フレームのフレームパターンおよび入力条件を含む入力フレームパターン情報とを検証項目に応じてランダムに生成する第１ステップと、
前記書込レジスタ値と前記入力フレームパターン情報とに基づいて、フレームロス率の期待値を算出する第２ステップと、
前記書込レジスタ値が設定された前記通信用ＬＳＩに前記入力フレームパターン情報に基づく入力フレームを入力したときの前記通信用ＬＳＩの入力フレーム数および廃棄フレーム数の実測値に基づいてフレームロス率を算出する第３ステップと、
前記第２ステップにおいて算出された前記期待値と、前記第３ステップにおいて算出されたフレームロス率とを照合する第４ステップと含み、
前記第４ステップは、前記第３ステップにおいて算出されたフレームロス率が前記第２ステップにおいて算出された前記期待値の許容誤差の範囲内にある場合には、前記第３ステップにおいて算出されたフレームロス率と前記期待値とが一致すると判定し、前記第３ステップにおいて算出されたフレームロス率が前記期待値の許容誤差の範囲内にない場合には、前記第３ステップにおいて算出されたフレームロス率と前記期待値とが一致しないと判定するステップを含む
ことを特徴とする通信用ＬＳＩの検証方法。
【請求項８】
コンピュータに、請求項７に記載の通信用ＬＳＩの検証方法における各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信用ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）検証装置、通信用ＬＳＩの検証方法、およびプログラムに関し、例えば、フレームの送受信に用いられるフレームバッファを備えた通信用ＬＳＩの機能を検証する通信用ＬＳＩ検証装置に関する。
【背景技術】
【０００２】
データ通信における通信データの塊であるパケットの集合体（以下、「フレーム」と称する。）の送受信に用いる通信用ＬＳＩの実機の検証手法として、次のような手法が従来から知られている。
例えば、先ず、予め策定した検証項目に従って、通信用ＬＳＩ内部のレジスタ値、テスト用フレームパターンのパラメータ値、およびフレームの入力条件等を設定し、所定数のテスト用フレームパターンを通信用ＬＳＩに入力し、通信用ＬＳＩの出力結果（ＬＳＩ内部のカウンタ値）を取得する。次に、上述した通信用ＬＳＩ内部のレジスタ値、テスト用フレームパターンのパラメータ値、およびフレームの入力条件等を予め用意したモデルに設定して、通信用ＬＳＩの出力結果の期待値を算出する。そして、通信用ＬＳＩから取得したカウンタ値とモデルによって算出した期待値とを照合し、一致／不一致を判定することによって検証を行う。
【０００３】
このような検証手法では、入力するフレームのサイズやフレームの入力間隔などのフレームの入力条件が特定の値である場合や、また、ＬＳＩ内部のレジスタ値が特定の値である場合など、極めて稀な条件でのみ発生する不具合を検出するために、ランダムに生成した値（検証条件）を検証対象の各種レジスタに設定するランダム検証が行われる。例えば、特許文献１には、論理回路のランダム検証方法の一例が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−９２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、通信用ＬＳＩには、複数のキューを用いて一時的に入力フレームを蓄積する機能部（以下、「フレームバッファ」と称する。）を有しているものがある。このフレームバッファを備える通信用ＬＳＩにおいては、上述したランダム検証だけでなく、多量のテスト用フレームを通信用ＬＳＩに入力し、フレームバッファを構成するキューに多量のフレームを蓄積させた状態や、多量のフレームをキューに入力し、フレームが廃棄される（キュー溢れ）状態を意図的に発生させる高負荷条件の検証を行う必要がある。例えば、フレームバッファの高負荷条件での検証項目としては、キュー溢れにより廃棄されるフレームの割合を表すフレームロス率が知られている。
【０００６】
しかしながら、前述した従来のＬＳＩ検証技術では、上述のフレームロス率のような、フレームの入力条件や内部レジスタ値の設定条件、各キューの設定等の影響を受けやすい統計値の検証を行うことができなかった。
【０００７】
また、仮に、実機の出力結果に基づいて算出したフレームロス率と、モデルから算出したフレームロス率の期待値とを照合する検証を行った場合、モデルの精度によっては実機のフレームロス率と期待値とが“不一致”となることが多くなるため、一つの検証項目あたりに費やす検証時間が増加するという問題がある。この問題を解決するために、通信用ＬＳＩの回路記述（例えばＲＴＬ：Ｒｅｇｉｓｔｅｒ  ＴｒａｎｓｆｅｒＬｅｖｅｌ）と同等のモデルを生成し、そのモデルに基づいて期待値を算出する方法も考えられるが、この方法ではモデルの作成に回路設計と同程度の時間を要し、且つモデルから期待値を算出するのにも数時間以上の膨大な時間を要するという問題がある。
【０００８】
本発明は、上記の問題に鑑みてなされたものであり、本発明の目的は、テスト用フレームの入力条件や内部レジスタ値の設定条件等をランダムに設定する通信用ＬＳＩ検証において、フレームロス率のような統計的な値の検証を効率よく行うことができるようにすることにある。
【課題を解決するための手段】
【０００９】
本発明に係る通信用ＬＳＩ検証装置（１０）は、フレームバッファ（３４）を有する通信用ＬＳＩ（３０）の検証を行うための通信用ＬＳＩ検証装置であって、検証項目に応じてランダムに生成された、前記通信用ＬＳＩの内部レジスタに設定すべき書込レジスタ値（３１）と前記通信用ＬＳＩに入力すべき入力フレームのフレームパターンおよび入力条件を含む入力フレームパターン情報（１４Ｄ）とに基づいて、フレームロス率の期待値を算出する期待値算出部（１５Ｆ）と、前記書込レジスタ値が設定された前記通信用ＬＳＩに前記入力フレームパターン情報に基づく入力フレーム（２２）を入力したときの前記通信用ＬＳＩの入力フレーム数および廃棄フレーム数の実測値に基づいてフレームロス率を算出するフレームロス率算出部（１５Ｇ）と、を備えることを特徴とする。
上記通信用ＬＳＩ検証装置において、前記フレームロス率算出部によって算出されたフレームロス率と、前記期待値算出部によって算出されたフレームロス率の期待値とを照合する照合部（１５Ｈ）と、前記照合部による照合時に許容される誤差を示す許容誤差情報（１４Ｉ）を記憶する記憶部（１４）とを更に有し、前記照合部は、前記フレームロス率算出部によって算出されたフレームロス率が、前記期待値算出部によって算出されたフレームロス率の期待値に対して、許容誤差情報に基づく誤差の範囲内にある場合には、算出されたフレームロス率と前記期待値とが一致すると判定し、前記許容誤差情報に基づく誤差の範囲内にない場合には、算出されたフレームロス率と前記期待値とが一致しないと判定するようにしてもよい。
【００１０】
上記通信用ＬＳＩ検証装置において、前記期待値算出部は、前記通信用ＬＳＩに前記入力フレームが入力される毎に、前記入力フレーム数をカウントアップする入力フレーム数カウント部（１５１）と、前記フレームバッファを構成する複数のキューのうち前記書込レジスタ値に基づいて選択された入力キューに前記入力フレームを蓄積することができるか否かを判定するキュー蓄積判定部（１５３）と、前記キュー蓄積判定部によって、前記入力キューに前記入力フレームを蓄積することができないと判定されたら、前記廃棄フレーム数をカウントアップする廃棄フレーム数カウント部（１５２）と、前記廃棄フレーム数を前記入力フレーム数によって除算することによって、前記フレームロス率の期待値を算出する演算部（１８）と、前記複数のキューに蓄積されているフレームの総フレーム長をキュー毎に更新する総フレーム長更新部（１５５）とを有し、前記キュー蓄積判定部は、前記入力キューの総フレーム長と前記入力フレームのフレーム長との合計値が、前記入力キューのキュー長よりも小さい場合に、前記入力キューに前記入力フレームを蓄積することができると判定し、当該合計値が前記入力キューのキュー長よりも大きい場合に、前記入力キューに前記入力フレームを蓄積することができないと判定し、前記総フレーム長更新部は、前記入力キューに前記入力フレームを蓄積することができると判定された場合には、前記入力キューに蓄積されているフレームの総フレーム長と前記入力フレームのフレーム長との合計値を前記入力キューの総フレーム長とし、前記入力キューに前記入力フレームを蓄積することができないと判定された場合には、前記入力キューの総フレーム長を更新しないようにしてもよい。
【００１１】
上記通信用ＬＳＩ検証装置において、前記期待値算出部は、前記複数のキューからフレームを出力することが可能な出力可能時間を算出する出力可能時間算出部（１５６）と、前記複数のキューのうちフレームの出力対象として選択された出力キューからフレームを出力することができるか否かを判定するキュー出力判定部（１５８）と、前記出力キューに最初に蓄積されたフレームを出力するのに要する出力所要時間を算出する出力所要時間算出部（１５７）と、を更に有し、前記キュー出力判定部は、前記出力所要時間が前記出力可能時間よりも短い場合に、前記出力キューからフレームを出力することができると判定し、前記出力所要時間が前記出力可能時間よりも長い場合に、前記出力キューからフレームを出力することができないと判定し、前記出力可能時間算出部は、前記出力キューからフレームを出力することができると判定された場合には、前記出力可能時間から前記出力所要時間を減算することによって前記出力可能時間を更新し、前記出力キューからフレームを出力することができないと判定された場合には、前記出力可能時間をゼロにし、前記総フレーム長更新部は、前記出力キューからフレームを出力することができると判定された場合には、前記出力キューの総フレーム長から前記最初に蓄積されたフレームのフレーム長だけ減算することによって前記出力キューの総フレーム長を更新し、前記出力キューからフレームを出力することができないと判定されたら、前記出力キューの総フレーム長を更新しないようにしてもよい。
【００１２】
上記通信用ＬＳＩ検証装置において、前記フレームバッファは、前記複数のキューから出力されたフレームを蓄積し、ＦＩＦＯ形式で出力する出力バッファ（３８）を更に含み、前記期待値算出部（１５Ｊ）は、前記出力キューから出力された出力フレームが前記出力バッファに蓄積可能か否かを判定する出力バッファ蓄積判定部（１７０）を更に有し、前記総フレーム長更新部（１７１）は、前記出力バッファ蓄積判定部によって前記出力フレームが前記出力バッファに蓄積可能であると判定された場合に、前記出力キューの総フレーム長から前記出力フレームのフレーム長だけ減算することによって前記出力キューの総フレーム長を更新し、前記出力バッファ蓄積判定部によって前記出力フレームが前記出力バッファに蓄積可能でないと判定された場合には、前記出力キューの総フレーム長を更新しないようにしてもよい。
【００１３】
なお、上記説明において括弧を付した参照符号は、図面において当該参照符号が付された構成要素の概念に含まれるものを例示するに過ぎない。
【発明の効果】
【００１４】
本発明によれば、テスト用フレームの入力条件や内部レジスタ値の設定条件等をランダムに設定する通信用ＬＳＩの検証において、統計的な値の検証を効率よく行うことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の一実施の形態に係る通信用ＬＳＩ検証装置を含む通信ＬＳＩ検証システムを示す図である。
【図２】図２は、実施の形態１に係る通信用ＬＳＩ検証装置の検証対象である通信用ＬＳＩの内部構成を示す図である。
【図３】図３は、実施の形態１に係る通信用ＬＳＩ検証装置の検証対象である通信用ＬＳＩに含まれるフレームバッファの内部構成を示す図である。
【図４】図４は、実施の形態１に係る通信用ＬＳＩ検証装置における演算処理部の内部構成を示す図である。
【図５】図５は、実施の形態１に係る通信用ＬＳＩ検証装置における期待値算出部の内部構成を示す図である。
【図６】図６は、実施の形態１に係る通信用ＬＳＩ検証装置の処理フローを示す図である。
【図７】図７は、実施の形態１に係る通信用ＬＳＩ検証装置による期待値算出処理の処理フローを示す図である。
【図８】図８は、実施の形態１に係る通信用ＬＳＩ検証装置によるバッファ処理の処理フローを示す図である。
【図９】図９は、実施の形態２に係る通信用ＬＳＩ検証装置における期待値算出部の内部構成を示す図である。
【図１０】図１０は、実施の形態２に係る通信用ＬＳＩ検証装置によるバッファ処理の処理フローを示す図である。
【図１１】図１１は、出力バッファによる出力処理の詳細な処理フローを示す図である。
【図１２】図１２は、実施の形態２に係る通信用ＬＳＩ検証装置によって行った検証内容の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について図を参照して説明する。
【００１７】
図１は、本発明の一実施の形態に係る通信用ＬＳＩ検証装置を含む通信ＬＳＩ検証システムを示す図である。
同図に示される通信ＬＳＩ検証システム１は、通信用ＬＳＩ検証装置１０、フレーム入出力装置２０、および通信用ＬＳＩ３０から構成されている。通信ＬＳＩ検証システム１において、通信用ＬＳＩ検証装置１０とフレーム入出力装置２０とは制御伝送路４０を介して接続され、通信用ＬＳＩ検証装置１０と通信用ＬＳＩ３０とは制御バス４１を介して接続され、フレーム入出力装置２０と通信用ＬＳＩ３０とはテスト用の通信回線４２を介して接続されている。
【００１８】
通信用ＬＳＩ検証装置１０は、全体としてサーバ装置やパーソナルコンピュータなどの情報処理装置からなり、フレーム入出力装置２０を用いて、検証対象となる通信用ＬＳＩ３０の各種機能の動作を検証する装置である。本実施の形態では、通信用ＬＳＩ検証装置１０によって実行される各種検証のうち、通信用ＬＳＩのフレームバッファのフレームロス率の検証に関する機能部についてのみ図示および説明し、その他の検証内容に関する機能部については図示および説明を省略する。なお、通信用ＬＳＩ検証装置１０の内部構成については後述する。
【００１９】
フレーム入出力装置２０は、市販のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アナライザなどの一般的な通信用計測装置からなり、入力フレームパターン２１を含む通信用ＬＳＩ検証装置１０からの制御信号に基づいて通信用ＬＳＩ３０にテスト用の入力フレーム２２を入力するフレーム送信機能と、通信用ＬＳＩ３０が出力するテスト用の出力フレーム２３を受信するフレーム受信機能と、送信および受信したフレーム数やデータ量を計測して通信用ＬＳＩ検証装置１０へ通知するカウンタ機能と、受信した出力フレーム２３をキャプチャして一時的に記憶し、フレームパターン２４として通信用ＬＳＩ検証装置１０へ通知信号で通知する機能とを有している。
【００２０】
通信用ＬＳＩ３０は、フレーム入出力装置２０から入力された入力フレーム２２に対してエラー訂正処理や暗号解析処理等の各種処理を必要に応じて実行するとともに、通信用ＬＳＩ検証装置１０から設定されたレジスタ値（以下、「書込レジスタ値」と称する。）３１に基づく所定のルールに従って、入力フレーム２２を内部に設けられたフレームバッファに順次蓄積するとともに蓄積されたフレームパターンを出力フレーム２３として出力する。
【００２１】
図２は、実施の形態１に係る通信用ＬＳＩ検証装置の検証対象である通信用ＬＳＩの内部構成を示す図である。なお、図２には、説明の容易化のため、通信用ＬＳＩ３０におけるフレームバッファ周辺の機能部のみを図示している。
図２に示されるように、通信用ＬＳＩ３０は、内部レジスタ３３と、フレームバッファ３４とを備える。内部レジスタ３３は、複数のレジスタから構成されている。内部レジスタ３３を構成する複数のレジスタは、例えば、通信用ＬＳＩ３０による各種処理を制御するための各種パラメータが設定される設定レジスタと、通信用ＬＳＩ３０において実行された各種処理の処理結果、動作状況、および統計情報等が格納される処理結果レジスタの２つのレジスタ群に分けることができる。
【００２２】
例えば、上記設定レジスタには、通信用ＬＳＩ検証装置１０によって書込レジスタ値３１が設定される。例えば、書込レジスタ値３１には、後述するフレームバッファ３４を構成するキュー３６＿１〜３６＿ｎの個数、キュー３６＿１〜３６＿ｎの識別情報、キュー３６＿１〜３６＿ｎ毎の優先度（各キューに対するフレームの振り分けルール）、各キュー３６＿１〜３６＿ｎのキュー長、後述する出力バッファ３８のバッファ長等を指定する各種の情報が含まれている。
【００２３】
また、上記処理結果レジスタには、通信用ＬＳＩ３０内部で実行された各種処理によって得られた結果等が書き込まれる。上記処理結果レジスタに書き込まれたレジスタ値は、読出レジスタ値３２として、必要に応じて通信用ＬＳＩ検証装置１０に読み出される。例えば、読出レジスタ値３２には、各キュー３６＿１〜３６＿ｎに入力されたフレームの個数を示す入力フレーム数、各キュー３６＿１〜３６＿ｎのキュー溢れによって廃棄されたフレーム数を示す廃棄フレーム数、および各キュー３６＿１〜３６＿ｎから出力されたフレームの個数を表す出力フレーム数等の情報と、後述する出力バッファ３８に入力されたフレームの個数を示す出力バッファの入力フレーム数や、出力バッファ３８から出力されたフレームの個数を示す出力バッファの出力フレーム数等の情報が含まれている。
なお、必要に応じて、上記設定レジスタに設定されたレジスタ値を読出レジスタ値３２として読み出すことも可能である。
【００２４】
フレームバッファ３４は、所定のルールに従って入力フレーム２２を蓄積するとともに蓄積したフレームを出力フレーム２３として出力する機能部である。
【００２５】
図３に、フレームバッファ３４の内部構成を示す。同図に示されるように、フレームバッファ３４は、キュー振り分け部３５、複数のキュー３６＿１〜３６＿ｎ（ｎは２以上の整数）、出力制御部３７、および出力バッファ３８を含む。
【００２６】
キュー振り分け部３５は、通信用ＬＳＩ検証装置１０から内部レジスタ３３に設定された書込レジスタ値３１に基づく所定のルールに従ってフレーム入出力装置２０から入力された入力フレーム２２を何れかのキュー３６＿１〜３６＿ｎに振り分ける機能部である。例えば、キュー振り分け部３５は、内部レジスタ３３の上記設定レジスタに設定された各キュー３６＿１〜３６＿ｎの優先度を参照し、キュー３６＿１〜３６＿ｎの中から最も優先度の高いキューを入力キューとして選択し、その入力キューに対して入力フレーム２２を供給する。選択された入力キューに空きがない場合には、キュー溢れとなり、入力フレーム２２は廃棄される。廃棄された入力フレームの個数は、通信用ＬＳＩ３０内部のカウンタ（図示せず）によってキュー３６＿１〜３６＿ｎ毎にカウントされており、廃棄フレーム数として上記処理結果レジスタに書き込まれる。
【００２７】
キュー３６＿１〜３６＿ｎ（以下、総称する場合には、「キュー３６」と表記する。）は、ＦＩＦＯ形式でフレームの蓄積および出力を行う機能部である。
本実施の形態では、キュー３６のデータ容量（蓄積可能な最大データ量）をキュー長Ｌｑと称し、キュー３６に格納されている全てのフレームのフレーム長の合計をキューの総フレーム長Ｌｆｑと称する。また、入力フレーム２２のフレーム長を“Ｌｉｎ”と表記する。なお、キュー３６＿１〜３６＿ｎの個数や各キュー３６＿１〜３６＿ｎのキュー長Ｌｑは、内部レジスタ３３の上記設定レジスタに設定する値によって、キュー毎に変更することが可能である。
【００２８】
出力制御部３７は、通信用ＬＳＩ検証装置１０から内部レジスタ３３に設定された書込レジスタ値３１に基づく所定のルールに従って何れかのキュー３６からフレームを取り出して出力バッファ３８に供給する。例えば、出力制御部３７は、内部レジスタ３３の上記設定レジスタによって設定された各キュー３６＿１〜３６＿ｎの優先度を参照し、キュー３６＿１〜３６＿ｎの中から最も優先度の高いキューを出力キューとして選択する。そして、出力制御部３７は、選択した出力キューから出力すべきフレーム（出力フレーム）を取り出して後段の出力バッファ３８に与える。前記出力フレームとしては、各キュー３６の最初に蓄積されたフレーム（各キュー３６の出口に最も近いフレーム）が選択される。  なお、後段の出力バッファ３８に空きがない場合には、出力制御部３７は、キュー３６からフレームの取り出すことなく、出力バッファ３８に空きが生じるまで待機する。
【００２９】
出力バッファ３８は、キュー３６と同様にＦＩＦＯ形式でフレームの蓄積および出力を行う機能部であり、キュー３６よりも十分大きなデータ容量を有する。本実施の形態では、出力バッファ３８のデータ容量をバッファ長Ｌｂと称し、出力バッファ３８に格納されている全てのフレームのフレーム長の合計を出力バッファの総フレーム長Ｌｆｂと称する。なお、バッファ長Ｌｂは、内部レジスタ３３の上記設定レジスタに設定する値によって変更することが可能である。
【００３０】
次に、通信用ＬＳＩ検証装置１０について詳細に説明する。
通信用ＬＳＩ検証装置１０は、予め設定された検証シナリオの各検証項目に合わせて、通信用ＬＳＩ３０に入力するテスト用の入力フレームに関する入力フレームパターン情報を生成し、フレーム入出力装置２０を介して通信用ＬＳＩへ送信するとともに、各検証項目に合わせて、通信用ＬＳＩ３０の内部レジスタに設定する書込レジスタ値を生成して、通信用ＬＳＩの内部レジスタに設定し、これに応じた通信用ＬＳＩ３０でのフレーム処理の後、通信用ＬＳＩ検証装置１０によって、通信用ＬＳＩ３０のフレームバッファ３４を構成するキュー３６毎の入力フレーム数や廃棄フレーム数等のレジスタ値を読み出し、読み出したレジスタ値に基づいてフレームロス率を算出する。また、通信用ＬＳＩ検証装置１０は、生成した入力フレームパターン情報および書込レジスタ値に基づいてフレームロス率の期待値を算出し、算出した期待値と通信用ＬＳＩ３０から読み出したレジスタ値に基づいて算出したフレームロス率とを照合する。通信用ＬＳＩ検証装置１０は、予め設定された許容誤差を考慮して、通信用ＬＳＩ３０から読み出したレジスタ値と期待値とを照合する。
【００３１】
なお、本実施の形態では、個々の検証で用いるフレームパターンと各書込レジスタ値について、これら両方をランダムに生成する場合を例として説明するが、これに限定されるものではなく、フレームパターンまたは各書込レジスタ値の何れか一方のみをランダムに生成するようにしてもよい。
【００３２】
図１に示すように、通信用ＬＳＩ検証装置１０は、主な機能部として、通信Ｉ／Ｆ部１１、操作入力部１２、画面表示部１３、記憶部１４、および演算処理部１５を備える。
【００３３】
通信Ｉ／Ｆ部１１は、通信回線を介して接続された外部装置（図示せず）との間で、各種データを送受信する機能を有している。操作入力部１２は、キーボード、マウス、タッチパッドなどの操作入力装置からなり、オペレータの操作を検出して演算処理部１５へ出力する機能を有している。画面表示部１３は、ＬＣＤなどの画面表示装置からなり、演算処理部１５からの出力に基づいて、操作画面、設定画面、検証結果などの各種データを画面表示する機能を有している。
【００３４】
記憶部１４は、ハードディスクや半導体メモリなどの記憶装置からなり、各種の検証処理を演算処理部１５に実行させるためのプログラム、上記検証処理で用いる各種のパラメータ、および上記検証処理によって得られる中間データや最終データ等の処理結果を記憶する。上記プログラム（図示せず）は、例えば、外部装置や記録媒体から通信Ｉ／Ｆ部１１を介して記憶部１４に予め格納される。
【００３５】
記憶部１４で記憶する主な処理データとして検証シナリオ１４Ａがある。検証シナリオ１４Ａは、検証項目ごとに検証内容が記述された情報である。具体的には、検証項目に合わせたテスト用の入力フレームパターンの構成（例えばフレーム長、フレーム構成（フレーム内のデータ構造）など）や当該入力フレームパターンの入力条件（例えばフレームの送信間隔（ＩＦＧ：Ｉｎｔｅｒ  Ｆｒａｍｅ  Ｇａｐ）、送信フレーム数、バースト数、データ送信のビットレートなど）と、検証項目に合わせた通信用ＬＳＩ３０の各内部レジスタの設定値（キューの個数、各キューの識別情報、各キューの優先度、各キューのキュー長Ｌｑ、およびバッファ長Ｌｂ等）や設定方法（ランダム値または固定値、ランダム値の範囲など）とが記述されている。
【００３６】
演算処理部１５は、ＣＰＵとその周辺回路を有し、記憶部１４からプログラムを読み込んで実行することにより、通信用ＬＳＩ３０の検証処理を実行するための各種処理部を実現する機能を有している。
【００３７】
図４は、実施の形態１に係る通信用ＬＳＩ検証装置における演算処理部の内部構成を示す図である。
図４に示すように、演算処理部１５によるプログラム処理によって実現される主な処理部としては、検証フレームワーク１５Ａ、フレームパターン生成部１５Ｂ、書込レジスタ値リスト生成部１５Ｃ、フレーム制御部１５Ｄ、レジスタ制御部１５Ｅ、期待値算出部１５Ｆ、フレームロス率算出部１５Ｇ、および照合部１５Ｈがある。
【００３８】
検証フレームワーク１５Ａは、記憶部１４に格納されている検証シナリオ１４Ａを入力として、検証項目ごとに実際の検証内容を構成する検証内容構成部であり、検証シナリオ１４Ａに基づいて、検証項目ごとに、当該検証項目で用いるフレームパターンをランダムに生成し、当該フレームパターンとその入力条件とを含む入力フレーム情報１４Ｂを生成して出力する機能と、検証項目ごとに、当該検証で用いる書込レジスタ値をランダムに生成し、当該書込レジスタ値を含む書込レジスタ情報１４Ｃを生成して出力する機能を有している。入力フレーム情報１４Ｂには、フレームの入力タイミング、フレームの入力間隔、およびフレーム長等の情報が含まれる。
【００３９】
例えば、入力フレームパターンや、フレームの入力間隔、フレーム長などの入力フレーム情報１４Ｂはランダムに生成される。また、通信用ＬＳＩ３０に設定するフレームバッファの各キューのキュー長や、振り分けルール等を含む書込レジスタ情報１４Ｃもランダムに生成される。
【００４０】
なお、本実施の形態では、検証フレームワーク１５Ａにおいて、個々の検証で用いるフレームパターンと各書込レジスタ値について、これら両方をランダムに生成する場合を例として説明するが、これに限定されるものではなく、検証フレームワーク１５Ａにおいて、フレームパターンまたは各書込レジスタ値の何れか一方のみをランダムに生成し、他方については、例えば検証シナリオ１４Ａに設定されている固定値を用いるようにしてもよい。
また、実施の形態１では、出力バッファ３８のバッファ長Ｌｂが無限大であるとして検証を行う場合を説明する。
【００４１】
フレームパターン生成部１５Ｂは、検証フレームワーク１５Ａから出力された入力フレーム情報１４Ｂに基づいて、実際の検査時に通信用ＬＳＩ３０へ入力する入力フレームパターンを生成するとともに、生成した入力フレームパターンと、当該入力フレーム情報１４Ｂで指定された入力条件とを含む入力フレームパターン情報１４Ｄを出力する機能とを有している。
【００４２】
書込レジスタ値リスト生成部１５Ｃは、検証フレームワーク１５Ａから出力された書込レジスタ情報１４Ｃを入力として、この書込レジスタ情報１４Ｃに基づいて、実際の検査時に通信用ＬＳＩの各内部レジスタに書き込む書込レジスタ値３１毎に、内部レジスタへの書込指示コマンド、および書込先内部レジスタを示す書込先アドレス値からなる書込方法を特定する機能と、これら書込レジスタ値３１および書込方法の組を書込レジスタ値リスト１４Ｅとして出力する機能を有している。
【００４３】
フレーム制御部１５Ｄは、フレームパターン生成部１５Ｂから出力された入力フレームパターン情報１４Ｄを入力として、制御伝送路４０を介してフレーム入出力装置２０へ制御信号を出力することにより、当該入力フレームパターン情報１４Ｄに含まれる入力フレームパターンをテスト用の入力フレームパターン２１として設定する機能と、当該入力フレームパターン２１の入力条件を設定する機能と、制御伝送路４０を介したフレーム入出力装置２０からの通知信号により、通信用ＬＳＩ３０が出力したテスト用の出力フレームパターン２４を所定数取得し、出力フレームパターン情報１４Ｆとして出力する機能を有している。
具体的に、フレーム制御部１５Ｄは、検証時に、フレーム入出力装置２０に対する制御信号を生成し、制御伝送路４０を介してフレーム入出力装置２０へ送信することでフレーム入出力装置２０を制御する。この制御信号は、フレーム入出力装置２０に対するテスト用の入力フレームパターンの設定のほか、テスト用の入力フレームパターンの送出を開始および停止するための契機や、予めフレーム入出力装置２０に具備されている送受信フレーム数や送受信データ量等を計測するためのカウンタの動作を開始および停止するための契機や、受信フレームパターンの取得および蓄積を開始および停止するための契機の指示に用いられる。
【００４４】
レジスタ制御部１５Ｅは、レジスタ値リスト生成部１５Ｃから出力された書込レジスタ値リスト１４Ｅを入力として、制御バス４１を介して通信用ＬＳＩ３０へ、当該書込レジスタ値リスト１４Ｅに含まれる書込方法、すなわち書込指示コマンドおよび書込先アドレス値を用いて、当該書込レジスタ値リスト１４Ｅに含まれる書込レジスタ値３１を出力して、通信用ＬＳＩ３０の書込先内部レジスタへ設定する機能と、通信用ＬＳＩ３０の内部レジスタの読出レジスタ値を、予め設定されている読出指示コマンドおよび読出先アドレス値を用いて、制御バス４１を介して読み出し、読出レジスタ値リスト１４Ｇとして出力する機能とを有している。
【００４５】
例えば、検証時に、レジスタ制御部１５Ｅは、通信用ＬＳＩ３０の内部レジスタに対する書込レジスタ値３１を生成し、制御バス４１を介して通信用ＬＳＩ３０に送信することで、通信用ＬＳＩ３０の内部レジスタ３３の設定を実施する。また、レジスタ制御部１５Ｅは、通信用ＬＳＩ３０のよる各種のフレーム処理後に、読出指示コマンドおよび読出先アドレス値を送出することで、読出レジスタ値３２を取得・表示する。
【００４６】
期待値算出部１５Ｆは、フレームパターン生成部１５Ｂから出力された入力フレームパターン情報１４Ｄ、およびレジスタ値リスト生成部１５Ｃから出力された書込レジスタ値リスト１４Ｅを入力とし、通信用ＬＳＩ３０が出力すべき読出レジスタ値の期待値、および当該読出レジスタに基づく統計値の期待値を算出する。本実施の形態では、期待値算出部１５Ｆによる各種の期待値の算出機能のうち、フレームバッファのフレームロス率の期待値を算出する機能についてのみ説明し、その他の期待値の算出機能については説明を省略する。
【００４７】
具体的に、期待値算出部１５Ｆは、書込レジスタ値３１が設定された通信用ＬＳＩ３０に入力フレームパターン情報に基づくテスト用の入力フレームを入力した場合の入力フレーム数と、フレームバッファ３４によるフレーム溢れによって廃棄される廃棄フレーム数とを推定し、推定した入力フレーム数および廃棄フレーム数に基づいて、キュー３６毎のフレームロス率の期待値を算出する。なお、期待値算出部１５Ｆの具体的な内部構成については後述する。
【００４８】
フレームロス率算出部１５Ｇは、レジスタ制御部１５Ｅによって通信用ＬＳＩ３０から読み出された読出レジスタ値リスト１４Ｇを入力し、読出レジスタ値リスト１４Ｇに含まれる所定のレジスタ値に基づいて、通信用ＬＳＩ３０の実測値に基づくフレームロス率１４Ｈを算出する。具体的に、フレームロス率算出部１５Ｇは、読出レジスタ値リスト１４Ｇに含まれるキュー毎の入力フレーム数および廃棄フレーム数に基づいて、フレームロス率１４Ｈを算出する。フレームロス率１４Ｈは、例えば廃棄フレーム数を入力フレーム数で除算した値に基づいて算出される。
【００４９】
照合部１５Ｈは、フレームロス率算出部１５Ｇによって算出されたフレームロス率１４Ｈと、期待値算出部１５Ｆによって算出されたフレームロス率の期待値１４Ｆとを照合し、照合結果１４Ｊを出力する。具体的に、照合部１５Ｈは、実測値に基づくフレームロス率１４Ｈが、フレームロス率の期待値１４Ｆに対する許容誤差情報１４Ｉに基づく誤差の範囲内にある場合には、実測値に基づくフレームロス率１４Ｈと期待値１４Ｆとが一致すると判定し、許容誤差情報１４Ｉに基づく誤差の範囲内にない場合には、実測値に基づくフレームロス率１４Ｈと期待値１４Ｆとが一致しないと判定する。
【００５０】
許容誤差情報１４Ｉとは、照合部１４Ｊによる照合時に許容される誤差を示す情報であり、例えば記憶部１４に記憶されている。例えば、許容誤差情報１４Ｉで規定された許容誤差が±５％、期待値１４Ｆが８０％である場合に、算出されたフレームロス率１４Ｈが７８％であったとすれば、フレームロス率は８０％±５％内に入るため、“フレームロス率１４Ｈと期待値１４Ｆとが一致”という照合結果を出力する。一方、フレームロス率１４Ｈが７０％であったとすれば、フレームロス率は８０％±５％内に入らないため、“フレームロス率１４Ｈと期待値１４Ｆとが不一致”という照合結果を出力する。
【００５１】
なお、演算処理部１５における各種処理によって生成または用いられる各種のデータ（例えば、期待値１４Ｆ、フレームロス率１４Ｆ、および読出レジスタ値リスト１４Ｇ等）は、記憶部１４に記憶され、必要に応じて演算処理部１５によって読み出だすことが可能となっている。
【００５２】
次に、期待値算出部１５Ｆにおいて実行されるフレームロス率の期待値の算出処理について詳細に説明する。
図５は、期待算出部１５Ｆの内部構成を示す図である。
図５に示されるように、期待算出部１５Ｆは、モデル設定部１６、バッファ処理部１７、および演算部１８から構成されている。
【００５３】
モデル設定部１６は、書込レジスタ値リスト生成部１５Ｃによって生成され、実際に通信用ＬＳＩ３０に設定される書込レジスタ値３１に基づいて、キューの個数、各キューの優先度、各キューのキュー長、出力バッファのバッファ長、および入力キューの指定等のフレームバッファの構成を規定するフレームバッファ情報１４Ｑを生成する。
なお、複数のキュー３６のうち、どのキューを入力キューとするかは、例えば各キューの優先度に従って決定される。例えば、フレームバッファ３４を構成するキュー３６として５つのキューＡ〜Ｅが存在し、キューＣの優先度が最も高い場合には、キューＣが入力キューとして指定され、キューＣに対して入力フレームが供給される。
【００５４】
また、モデル設定部１６は、フレームパターン生成部１５Ｂによって生成された入力フレームパターン情報１４Ｄを読み込んで、実際に通信用ＬＳＩ３０に入力される入力フレーム２２と同等のテスト用入力フレーム１４Ｒを生成する。
【００５５】
演算部１８は、後述するバッファ処理部１７によるバッファ処理によって得られた廃棄フレーム数１４Ｌを入力フレーム数１４Ｋによって除算し、除算した値（商）に基づいてフレームロス率の期待値１４Ｆを算出する。フレームロス率の期待値１４Ｆは、キュー毎に算出される。
【００５６】
バッファ処理部１７は、モデル設定部１５０によって生成されたフレームバッファ情報１４Ｑおよびテスト用入力フレーム１４Ｒに基づいて、バッファ処理を実行する。
【００５７】
ここで、バッファ処理とは、一つの入力フレームをフレームバッファ（モデル）に入力したときに、フレームバッファ内で実行されるフレームの入出力処理である。バッファ処理部１７０によってバッファ処理が実行されることにより、一個の入力フレームをフレームバッファに入力した場合における、各キューの総フレーム長、各キューの入力フレーム数、各キューの廃棄フレーム数、および各キューからの出力フレーム数等の推定値が算出される。バッファ処理部１７０によるバッファ処理は、入力フレーム２２を入力する入力キュー、入力フレーム２２のフレーム長、入力フレームのフレーム間隔（ＩＦＧ）の設定完了を契機として開始される。
【００５８】
具体的に、バッファ処理部１７は、入力フレーム数カウント部１５１、廃棄フレームカウント部１５２、キュー蓄積判定部１５３、キュー総フレーム長更新部１５５、出力可能時間算出部１５６、出力所要時間算出部１５７、およびキュー出力判定部１５８から構成されている。
【００５９】
キュー蓄積判定部１５３は、フレームバッファ３４を構成する複数のキュー３６のうち書込レジスタ値３１に基づいて選択されたキューに入力フレーム２２を蓄積することができるか否かを判定する。
【００６０】
入力フレーム数カウント部１５１は、通信用ＬＳＩ３０に入力フレーム２２が入力される毎に、入力フレーム数１４Ｋをカウントアップする。入力フレーム数１４Ｋのカウントはキュー３６毎に行われる。例えば、上述の例において、キューＣが入力キューとして選択された場合には、キューＣの入力フレーム数がカウントアップされる。
【００６１】
廃棄フレーム数カウント部１５２は、キュー蓄積判定部１５３によって選択されたキュー３６に入力フレーム２２を蓄積することができないと判定されたら、廃棄フレーム数１４Ｌをカウントアップする。廃棄フレーム数１４Ｌのカウントは、キュー３６毎に行われる。
【００６２】
キュー総フレーム長更新部１５５は、複数のキュー３６に蓄積されているフレームの総フレーム長Ｌｆｑをキュー毎に更新する。具体的に、キュー総フレーム長更新部１５５は、キュー蓄積判定部１５３による判定結果に基づいて、キューの総フレーム長Ｌｆｑを更新する。また、キュー総フレーム長更新部１５５は、キュー出力判定部１５８による判定結果に基づいて、キューの総フレーム長Ｌｆｑを更新する。
【００６３】
キュー出力判定部１５８は、複数のキュー３６の中から出力キューを選択し、出力キューからフレームを出力することができるか否かを判定する。キュー３６のうち、どのキューを出力キューとするかは、各キュー３６に設定された優先度に従って決定する。具体的に、キュー出力判定部１５８は、出力所要時間１４Ｐと出力可能時間１４Ｏとを比較することによって、出力キューからフレームを出力することができるか否かを判定する。
【００６４】
ここで、出力可能時間１４Ｏとは、キュー３６からフレームを出力することが可能な時間を表し、具体的には、入力フレーム２２がキュー３６に入力されてから次の入力フレーム２２がキュー３６に入力されるまでに、キュー３６から蓄積されたフレームを出力することが可能な時間を言う。
【００６５】
出力所要時間１４Ｐとは、図３に示されるように、出力キューに最初に蓄積されたフレーム２５（出力キューの出口に最も近いデータ）を出力するのに必要な時間を言う。
【００６６】
出力可能時間算出部１５６は、テスト用入力フレーム１４Ｒの入力に応じて出力可能時間１４Ｏを算出するとともに、出力キューからフレーム出力の可否に応じて出力可能時間１４Ｏを更新する。
【００６７】
出力所要時間算出部１５７は、出力所要時間１４Ｐを算出する。
次に、通信用ＬＳＩ検証装置１０の具体的な動作内容について説明する。
図６は、実施の形態１に係る通信用ＬＳＩ検証装置の処理フローを示す図である。
【００６８】
先ず、通信用ＬＳＩ検証装置１０において、検証フレームワーク１５Ａが検証シナリオ１４Ａを記憶部１４から読み込む（Ｓ１）。次に、検証フレームワーク１５Ａは、実施する検証項目について、読み込んだ検証シナリオ１４Ａに基づき、テスト用の入力フレームパターンを生成するとともに、フレーム長、送信間隔、送信フレーム数などの入力条件を特定し、入力フレーム情報１４Ｂを生成する（Ｓ２）。また、検証フレームワーク１５Ａは、実施する検証項目について、通信用ＬＳＩ３０の内部レジスタの設定値を特定し、書込レジスタ情報１４Ｃを生成する（Ｓ３）。
【００６９】
次に、通信用ＬＳＩ検証装置１０において、フレームパターン生成部１５Ｂが、検証フレームワーク１５Ａから出力された入力フレーム情報１４Ｂに基づいて、実際の検査時に通信用ＬＳＩ３０へ入力する入力フレームパターンを生成するとともに、入力フレームパターン情報１４Ｄを生成して出力する（Ｓ４）。また、通信用ＬＳＩ検証装置１０において、書込レジスタ値リスト生成部１５Ｃは、検証フレームワーク１５Ａから出力された書込レジスタ情報１４Ｃに基づいて、書込レジスタ値リスト１４Ｅを生成して出力する（Ｓ５）。
【００７０】
次に、通信用ＬＳＩ検証装置１０における期待値算出部１５Ｆは、入力フレーム情報１４Ｂおよび書込レジスタ値リスト１４Ｅに基づいて、フレームロス率の期待値の算出処理を実行する（Ｓ６）。
【００７１】
なお、ステップＳ６の期待値の算出処理が実行されるタイミングは、特に限定されない。例えば、照合部１５Ｈによる照合を行う時点においてフレームロス率の期待値が算出されていれば良く、後述するステップＳ７（通信用ＬＳＩの内部レジスタ３３に対する書込レジスタ値３１の設定）と同時にステップＳ６が実行されても良いし、ステップＳ７の前後のタイミングでステップＳ６が実行されてもよい。
【００７２】
また、通信用ＬＳＩ検証装置１０において、レジスタ制御部１５Ｅは、通信用ＬＳＩの内部レジスタ３３に書込レジスタ値３１を設定する（Ｓ７）。次に、通信用ＬＳＩ検証装置３０において、フレーム制御部１５Ｄは、入力フレームパターン情報１４Ｄに基づいてフレーム入出力装置２０に対する制御信号を生成し、制御伝送路４０を介してフレーム入出力装置２０へ送信することでフレーム入出力装置２０を制御する（Ｓ８）。これにより、通信用ＬＳＩ３０に対するテスト用の入力フレーム２２の送出が開始され、通信用ＬＳＩ３０によるフレーム処理が実行される。
【００７３】
通信用ＬＳＩ３０によるフレーム処理の終了後、通信用ＬＳＩ検証装置３０において、レジスタ制御部１５Ｅは、通信用ＬＳＩ３０の内部レジスタ３３から読出レジスタ値３２を読み出す（Ｓ９）。前述したように、読出レジスタ値３２には、少なくとも各キュー３６の入力フレーム数および廃棄フレーム数が含まれている。
【００７４】
次に、通信用ＬＳＩ検証装置３０において、フレームロス率算出部１５Ｇは、読出レジスタ値３２に含まれる入力フレーム数および廃棄フレーム数に基づいて、通信用ＬＳＩ３０のフレームロス率を算出する（Ｓ１０）。フレームロス率の算出方法は前述のとおりである。
【００７５】
ステップＳ１０での実測値に基づくレームロス率の算出処理と、ステップＳ６でのフレームロス率の期待値の算出処理とが完了した後、通信用ＬＳＩ検証装置３０において、照合部１５Ｈが、算出された実際のフレームロス率と期待値との照合を行う（Ｓ１１）。
【００７６】
照合部１５Ｈによる実際のフレームロス率と期待値と一致／不一致の判定は、前述したように、許容誤差情報１４Ｉに基づいて行われる。照合部１５Ｈによる照合結果Ｊの出力方法としては、実際のフレームロス率と期待値との一致／不一致の判定結果のみをモニタ（図示せず）の画面に表示しても良いし、実際のフレームロス率と期待値とを比較可能なように画面に表示しても良いし、実際のフレームロス率と期待値とともに一致／不一致の判定結果も画面に表示するようにしても良い。また、照合部１５Ｈによる照合結果Ｊを画面に表示せずに、通信Ｉ／Ｆ部１１を介して外部装置に送信したり、記憶媒体に記憶したりしても良い。
【００７７】
次に、ステップＳ６における期待値算出処理について詳細に説明する。
図７は、期待値算出処理の処理フローを示す図である。
【００７８】
先ず、期待値算出部１５Ｆにおいて、モデル設定部１６は、書込レジスタ値リスト生成部１５Ｃによって生成された書込レジスタ値３１を読み込み、キューの個数、各キューの優先度、各キューのキュー長、出力バッファのバッファ長、および入力キューの指定等のフレームバッファの構成を規定するフレームバッファ情報１４Ｑを生成する（Ｓ６１）。また、モデル設定部１６は、フレームパターン生成部１５Ｂによって生成された入力フレームパターン情報１４Ｄを読み込こむ（Ｓ６２）。
【００７９】
次に、期待値算出部１５Ｆにおいて、モデル設定部１６は、読み込んだ入力フレームパターン情報１４Ｄに基づいてテスト用入力フレーム１４Ｒを生成する（Ｓ６３）。
【００８０】
次に、期待値算出部１５Ｆにおいて、バッファ処理部１７は、ステップＳ６１で生成されたフレームバッファ情報１４Ｑと、ステップＳ６３で生成されたテスト用入力フレーム１４Ｒとに基づいて、バッファ処理を実行する（Ｓ６４）。なお、バッファ処理の詳細については後述する。
【００８１】
バッファ処理が完了すると、期待値算出部１５Ｆにおいて、モデル設定部１６は、次にフレームバッファに入力すべきテスト用入力フレーム１４Ｒがあるか否かを判別する（Ｓ６５）。次に入力すべきテスト用入力フレーム１４Ｒがある場合には、モデル設定部１６が新たにテスト用入力フレーム１４Ｒを生成し（Ｓ６３）、そのテスト用入力フレーム１４Ｒに対するバッファ処理が実行される（Ｓ６４）。
【００８２】
上記のステップＳ６３〜６５の処理は入力すべきテスト用入力フレーム１４Ｒがなくなるまで繰り返し実行される。上記ステップＳ６３〜６５の繰り返し回数は、例えば、フレーム入出力装置２２へ設定するフレーム数、バースト数、ストリーム数、および繰返し回数の積により決定される。
【００８３】
入力すべきテスト用入力フレーム１４Ｒがなくなった場合には、期待値算出部１５Ｆにおいて、演算部１８がフレームロス率の期待値１４Ｆを算出する（Ｓ６６）。具体的に、演算部１８は、ステップＳ６４のバッファ処理によって得られた入力フレーム数１４Ｋおよび廃棄フレーム数１４Ｌに基づいてフレームロス率の期待値１４Ｆを算出する。例えば、廃棄フレーム数１４Ｌを入力フレーム数１４Ｋによって除算した値に基づいて、フレームロス率の期待値１４Ｆを算出する。これにより、期待値の算出に係る一連の処理が終了する。
【００８４】
次に、ステップＳ６４のバッファ処理について詳細に説明する。
図８は、バッファ処理の処理フローを示す図である。同図に示されるバッファ処理は、入力キューにテスト用入力フレーム１４Ｒを入力するフレーム入力処理（Ｓ６４０〜Ｓ６４４）と、出力キューからフレームを出力するフレーム出力処理（Ｓ６４５〜Ｓ６５１）とに分けることができる。
【００８５】
初めに、フレーム入力処理について説明する。
先ず、バッファ処理部１７における入力フレーム数カウント部１５１によって、入力キューにテスト用入力フレーム１４Ｒを入力したときの、入力フレーム数をカウントする（Ｓ６４０）。
【００８６】
次に、出力可能時間算出部１５６は、出力可能時間を算出する（Ｓ６４１）。具体的には、当該テスト用入力フレーム１４Ｒを入力する前の出力可能時間１４Ｏに、入力時間を加算することによって出力可能時間１４Ｏを更新する。ここで、入力時間とは、入力キューにテスト用入力フレーム１４Ｒが入力されるまでの時間を言い、例えば、テスト用入力フレーム１４Ｒのフレーム長をビットレートで除算した値（商）に、フレーム送出間隔ＩＦＧを加算することによって算出される。例えば、テスト用入力フレーム１４Ｒを入力する前の出力可能時間１４Ｏが０（ゼロ）であれば、上記入力時間が出力可能時間１４Ｏとなる。
【００８７】
次に、バッファ処理部１７におけるキュー蓄積判定部１５３は、入力キューにテスト用入力フレーム１４Ｒを蓄積することができるか否かを判定する（Ｓ６４２）。具体的に、キュー蓄積判定部１５３は、入力キューの総フレーム長１４Ｍとテスト用入力フレーム１４Ｒのフレーム長との合計値が、入力キューのキュー長１４Ｎよりも小さい場合に、入力キューに入力フレームを蓄積することができると判定し、当該合計値が入力キューのキュー長１４Ｎよりも大きい場合に、入力キューにテスト用入力フレーム１４Ｒを蓄積することができないと判定する。例えば、上述の例において、入力キューとしてキューＣが選択された場合、キューＣに既に蓄えられているフレームの総フレーム長Ｌｆｑと入力フレーム２２のフレーム長Ｌｉｎとの和がキューＣのキュー長Ｌｑよりも小さければ、キューＣに入力フレーム２２を蓄積することができると判定される。一方、キューＣに既に蓄えられているフレームの総フレーム長Ｌｆｑと入力フレーム２２のフレーム長Ｌｉｎとの和がキューＣのキュー長Ｌｑよりも大きければ、キューＣは入力フレーム２２を蓄積する空きがないので、入力フレーム２２を蓄積することができないと判定される。
【００８８】
キュー蓄積判定部１５３によって、入力キューにテスト用入力フレーム１４Ｒを蓄積することができないと判定された場合には、テスト用入力フレーム１４Ｒは廃棄され、廃棄フレームカウント部１５２が廃棄フレーム数をカウントアップする（Ｓ６４３）。
【００８９】
一方、キュー蓄積判定部１５３によって、入力キューにテスト用入力フレーム１４Ｒを蓄積することができる判定された場合には、キュー総フレーム長更新部１５５は、入力キューの総フレーム長１４Ｍを更新する（Ｓ６４４）。具体的に、キュー総フレーム長更新部１５５は、当該テスト用入力フレーム１４Ｒを入力する前の入力キューの総フレーム長１４Ｍにテスト用入力フレーム１４Ｒのフレーム長を加算し、加算した値を入力キューの総フレーム長Ｌｑとする。例えば、上述の例において、キューＣを入力キューとしてテスト用フレーム１４Ｒを蓄積した場合、当該テスト用フレーム１４Ｒを入力する前のキューＣの総フレーム長Ｌｆｑに当該テスト用入力フレーム１４Ｒのフレーム長Ｌｉｎを加算することによって、キューＣの総フレーム長Ｌｆｑを更新する。なお、入力キューに入力フレーム２２を蓄積することができないと判定された場合には、キュー総フレーム長更新部１５５は、入力キューの総フレーム長Ｌｆｑの更新は行わない。
【００９０】
以上により、フレーム入力処理が終了し、引き続きフレーム出力処理が開始される。
フレーム出力処理では、先ず、キュー出力判定部１５８によって、フレームの出力が可能なキューの有無が判定される（Ｓ６４５）。例えば、キュー出力判定部１５８は、複数のキュー３６のうち、フレームが蓄積されているキューが一つでもあれば、フレーム出力が可能なキューが存在すると判定し、フレームが蓄積されているキューがなければ、フレーム出力が可能なキューが存在しないと判定する。
【００９１】
ステップＳ６４５において、フレーム出力が可能なキューが存在すると判定された場合には、キュー出力判定部１５８は、フレームの出力が可能なキューのうち最も優先度の高いキューを出力キューとして選択する（Ｓ６４６）。
【００９２】
次に、出力所要時間算出部１５７は、キュー出力判定部１５８による出力キューの選択結果に応じて、出力キューからフレームを出力するのに必要な出力所要時間１４Ｐを算出する（Ｓ６４７）。例えば、出力所要時間算出部１５７は、出力キューの出力フレームのフレーム長に基づいて出力所要時間１４Ｐを算出する。例えば、図３において、キュー３６＿１が出力キューとして選択された場合には、キュー３６＿１の最初に蓄積されたフレーム２５が出力フレームとなり、その出力フレーム２５のフレーム長をビットレートで除算することによって出力所要時間１４Ｐを算出する。
【００９３】
次に、キュー出力判定部１５８は、出力所要時間１４Ｐと出力可能時間１４Ｏとを比較し、出力キューからフレームを出力することができるか否かを判定する（Ｓ６４８）。具体的に、キュー出力判定部１５８は、出力所要時間１４Ｐが出力可能時間１４Ｏよりも短ければ、出力キューからフレームを出力することができると判定し、出力所要時間が出力可能時間よりも長ければ、出力キューからフレームを出力することができないと判定する。
【００９４】
ステップＳ６４８において、出力キューからフレームを出力することができないと判定された場合には、出力可能時間算出部１５６が出力可能時間１４Ｏを０（ゼロ）にリセットし（Ｓ６５１）、バッファ処理が終了する。
【００９５】
一方、ステップＳ６４８において、出力キューからフレームを出力することができると判定された場合には、出力可能時間算出部１５６は、出力可能時間１４Ｏから出力所要時間１４Ｐを減算することによって出力可能時間１４Ｏを更新する（Ｓ６４９）。
【００９６】
また、キュー総フレーム長更新部１５５は、出力キューからフレームを出力することができると判定されたことを受けて、出力キューの総フレーム長１４Ｍから出力フレーム（最初に蓄積されたフレーム）のフレーム長を減算することによって、出力キューの総フレーム長を更新する（Ｓ６５０）。例えば、図３において、キュー３６＿１が出力キューとして選択されている場合には、キュー３６＿１の総フレーム長Ｌｆｑから出力フレーム２５のフレーム長を減算することによって、キュー３６＿１の総フレーム長Ｌｆｑを更新する。なお、出力キューからフレームを出力することができないと判定された場合には、キュー総フレーム長更新部１５５は出力キューの総フレーム長の更新を行わない。
【００９７】
その後、再びステップＳ６４５に戻り、フレーム出力が可能なキューが存在しなくなるまで、ステップＳ６４５〜Ｓ６５０の処理が繰り返し実行される。
【００９８】
以上、実施の形態１に係る通信用ＬＳＩ検証装置によれば、通信用ＬＳＩの検証において、検証対象のＬＳＩの内部レジスタ設定およびテスト用フレームパターンの生成、フレーム入出力装置の制御、検証結果の判定といった一連の検証手順を、検証シナリオに記述することでランダム検証および高負荷時の検証を自動制御することができる。
【００９９】
これにより、統計的な値であるフレームロス率の判定（検証結果の判定）を効率よく行え、１つの検証項目あたりに費やす時間を短縮できる。また、検証手順の自動化により、単位時間当たりに実施する試行回数を増やすことができるため、検証の網羅率が高くなる効果がある。また、高負荷な状況が多数存在しうるような場合でも、効率よく検証を行うことができる。また、検証フレームワークの中にフレームロス率の期待値算出や判定を入れることで、フレームロス率を算出するための実測値（出力フレーム数や廃棄フレーム数）の取得等も効率よく行える。
【０１００】
また、実施の形態１に係る通信用ＬＳＩ検証装置によれば、フレームの入力条件や内部レジスタ値の設定条件、各キューの設定等の影響を受けやすいフレームロス率について、高精度且つ容易に検証を行うことができる。
【０１０１】
また、実施の形態１に係る通信用ＬＳＩ検証装置によれば、通信用ＬＳＩの実測値に基づくフレームロス率とフレームロス率の期待値との照合を行う際に、予め設定した許容誤差情報に基づいて、実測値に基づくフレームロス率と期待値との一致／不一致を判定することができるので、誤差を含むことを前提にした検証が可能となる。これにより、単位時間当たりに実施する試行回数を増やすことができ、検証効率を向上させることができる。
【０１０２】
また、実施の形態１に係る通信用ＬＳＩ検証装置によれば、フレームバッファによるバッファ処理を考慮した上述の簡易モデル（バッファ処理部）を用いるので、従来のように通信用ＬＳＩの回路記述と同等の高精度なモデルを作成する必要がない。このため、モデルの作成やモデルから期待値を算出する時間を短縮することができ、ＬＳＩ検証におけるコストの低減に資する。
【０１０３】
≪実施の形態２≫
実施の形態１では、フレームバッファ３４を構成する出力バッファ３８のバッファ長Ｌｂが無限であるものとしてフレームロス率の期待値を算出したが、実施の形態２では、出力バッファ３８のバッファ長Ｌｂが有限であるものとしてフレームロス率の期待値を算出する。具体的に、実施の形態２に係る通信用ＬＳＩ検証装置は、バッファ処理部の構成が実施の形態１に係る通信用ＬＳＩ検証装置と相違し、その他の点は実施の形態１に係る通信用ＬＳＩ検証装置と同様である。
【０１０４】
図９は、実施の形態２に係る通信用ＬＳＩ検証装置における期待値算出部の内部構成を示す図である。
同図に示されるように、実施の形態２に係る通信用ＬＳＩ検証装置の期待値算出部１５Ｊは、モデル設定部１６、バッファ処理部１９、および演算部１８を備える。
【０１０５】
バッファ処理部１９は、入力フレーム数カウント部１５１、廃棄フレームカウント部１５２、キュー蓄積判定部１５３、出力バッファ蓄積判定部１７０、キュー総フレーム長更新部１７１、出力バッファ総フレーム長更新部１７２、出力所要時間算出部１７３、出力バッファ出力処理判定部１７４、および出力可能時間算出部１７５を含む。
なお、実施の形態２に係る通信用ＬＳＩ検証装置の構成要素のうち、実施の形態１に係る通信用ＬＳＩ検証装置の構成要素と同様の構成要素には同一の符号を付して、その詳細な説明を省略する。
【０１０６】
出力バッファ蓄積判定部１７０は、出力キューから出力された出力フレームを出力バッファ３８に蓄積することができるか否かを判定する。
【０１０７】
キュー総フレーム長更新部１７１は、実施の形態１に係るキュー総フレーム長更新部１５５と同様に、キュー蓄積判定部１５３による判定結果に基づいて、キューの総フレーム長Ｌｆｑを更新する。また、キュー総フレーム長更新部１７１は、出力バッファ蓄積判定部１７０による判定結果に基づいて、キューの総フレーム長Ｌｆｑを更新する。
【０１０８】
出力バッファ出力判定部１７４は、出力バッファ３８からフレームを出力することができるか否かを判定する。具体的に、出力バッファ出力判定部１７４は、出力所要時間１４Ｔと出力可能時間１４Ｕとを比較することによって、出力バッファ３８からフレームを出力することができるか否かを判定する。
【０１０９】
ここで、出力可能時間１４Ｕとは、出力バッファ３８からフレームを出力することが可能な時間を表し、具体的には、入力フレーム２２がキュー３６に入力されてから次の入力フレーム２２がキュー３６に入力されるまでに、出力バッファ３８からフレームを出力することが可能な時間を言う。
【０１１０】
出力所要時間１４Ｔとは、図３に示されるように、出力バッファ３８に最初に蓄積された出力フレーム２６（出力バッファ３８の出口に最も近いデータ）を出力するのに必要な時間を言う。
【０１１１】
出力可能時間算出部１７５は、テスト用入力フレーム１４Ｒの入力に応じて出力可能時間１４Ｕを算出するとともに、出力バッファ３８からのフレーム出力の可否に応じて出力可能時間１４Ｏを更新する。
【０１１２】
出力所要時間算出部１７３は、出力所要時間１４Ｔを算出する。例えば、出力所要時間算出部１７３は、出力バッファに最初に蓄積された出力フレーム２６のフレーム長と、予め決められている最小のＩＦＧと、前方誤り訂正（ＦＥＣ：Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）のパリティ長とを加算することによって算出する。ＦＥＣのパリティ長とは、所定のデータ量毎に挿入される誤り訂正符号であり、例えば、ＩＥＥＥ８０２．３ａｖ  Ｃｌａｕｓｅ７６に準拠したシステムにおいてＦＥＣ符号としてＲＳ（２５５，２２３，８）を使用した場合、２２４  Ｂｙｔｅ毎に３２Ｂｙｔｅのパリティがフレームに挿入される。例えば、出力バッファ３８の後段には、出力フレームに誤り訂正符号を付与する機能部（図示せず）があり、出力バッファから出力された出力フレームに対して上述のようにＦＥＣ（誤り訂正符号）を挿入してから、通信用ＬＳＩの外部に出力する。そのため、出力フレームのフレーム長は、出力バッファ３８から出力されたフレームのデータ長に加えて、ＦＥＣのパリティ長の分だけ大きくなるため、見かけ上、出力所要時間が増えることになる。
【０１１３】
なお、ＦＥＣのパリティ長は、例えば、出力フレーム２６のフレーム長と、最小のＩＦＧと、パリティ残長とを加算し、その加算値をＦＥＣブロック長によって除算することによって得られた商（端数切捨）の値とする。また、パリティ残長は、ＦＥＣのパリティ長の算出時の除算によって生じた“余り”の値とする。
【０１１４】
なお、本実施の形態では、上記パリティ長を考慮して出力所要時間１４Ｔを算出する場合を例示するが、要求される検証精度が得られるのであれば、実施の形態１のように、パリティ長等を考慮せず、出力バッファ３９に最初に蓄積された出力フレーム２６のフレーム長に基づいて出力所要時間１４Ｔを算出することも可能である。
【０１１５】
出力バッファ総フレーム長更新部１７２は、出力バッファ蓄積判定部１７０の判定結果に基づいて、出力バッファ３８の総フレーム長Ｌｆｂを更新するとともに、出力バッファ出力判定部１７４の判定結果に基づいて、出力バッファ３８の総フレーム長Ｌｆｂを更新する。
【０１１６】
次に、実施の形態２に係る通信用ＬＳＩ検証装置の具体的な動作内容について説明する。なお、実施の形態２に係る通信用ＬＳＩ検証装置による処理において、検証シナリオの読み込みからフレームロス率の照合までの処理フロー（図５）と、フレームロス率の期待値の算出処理のフロー（図６）は、実施の形態１に係る通信用ＬＳＩ検証装置と同様であるため、説明を省略する。以下では、実施の形態２に係る通信用ＬＳＩ検証装置において実行されるバッファ処理について詳細に説明する。
【０１１７】
図１０は、実施の形態２に係る通信用ＬＳＩ検証装置によるバッファ処理の処理フローを示す図である。同図に示されるバッファ処理は、入力キューに入力フレームを入力するフレーム入力処理（Ｓ６４０〜Ｓ６４４）と、出力キューからフレームを出力し、出力バッファからフレームを出力するフレーム出力処理（Ｓ６５３〜Ｓ６６０）に分けることができる。
【０１１８】
実施の形態２に係るバッファ処理におけるフレーム入力処理（Ｓ６４０〜Ｓ６４４）は、実施の形態１に係るバッファ処理におけるフレーム入力処理と同様であるため、説明を省略する。
【０１１９】
フレーム出力処理では、先ず、バッファ処理部１９における出力バッファ蓄積判定部１７０によって、フレームの出力が可能なキューの有無が判定される（Ｓ６５３）。例えば、複数のキュー３６のうち、フレームが蓄積されているキューが一つでもあれば、フレーム出力が可能なキューが存在すると判定され、フレームが蓄積されているキューがなければ、フレーム出力が可能なキューが存在しないと判断される。
【０１２０】
ステップＳ６５３において、フレームの出力が可能なキューが存在しないと判断された場合には、後述する出力バッファによる出力処理に移行する（Ｓ６５９）。一方、ステップＳ６５３において、フレームの出力が可能なキューが存在すると判断された場合には、出力バッファ蓄積判定部１７０は、フレーム出力が可能なキューのうち最も優先度の高いキューを出力キューとして選択する（Ｓ６５４）。次に、出力バッファ蓄積判定部１７０は、出力キューの最初に蓄積された出力フレームのフレーム長を取得する（Ｓ６５５）。
【０１２１】
次に、出力バッファ蓄積判定部１７０は、出力キューの出力フレームを出力バッファに蓄積することができるか否かを判定する（Ｓ６５６）。具体的に、出力バッファ蓄積判定部１７０は、出力バッファ３８に蓄積されているフレームの総フレーム長１４Ｓと出力キューの出力フレームのフレーム長とを加算し、その加算値と出力バッファ３８のバッファ長１４Ｒとを比較することによって判定する。例えば、出力バッファ蓄積判定部１７０は、上記加算値がバッファ長よりも小さい場合には、出力フレーム２６を出力バッファ３８に蓄積できると判定する。一方、上記加算値がバッファ長よりも大きい場合には、出力バッファ蓄積判定部１７０は、出力フレームを出力バッファ３８に蓄積できないと判定する。
【０１２２】
ステップＳ６５６において、出力キューの出力フレームを出力バッファに蓄積することができないと判定された場合には、後述する出力バッファ３８による出力処理に移行する（Ｓ６５９）。
【０１２３】
一方、ステップＳ６５６において、出力キューの出力フレームを出力バッファに蓄積することができると判定された場合には、キュー総フレーム長更新部１７１は、出力キューの総フレーム長を更新する（Ｓ６５７）。具体的に、キュー総フレーム長更新部１７１は、出力キューの総フレーム長１４Ｍから出力キューの出力フレームのフレーム長だけ減算することによって、出力キューの総フレーム長を更新する。
【０１２４】
また、出力バッファ総フレーム長更新部１７２は、出力フレーム２５を出力バッファに蓄積することができると判定されたことを受けて、出力バッファ３８の総フレーム長に出力キューから出力された出力フレームのフレーム長を加算することにより、出力バッファ３８の総フレーム長１４Ｓを更新する（Ｓ６５８）。
【０１２５】
例えば、図３において、キュー３６＿１から出力フレーム２５を出力し、出力バッファ３８に入力する場合、出力フレーム２５を出力する前のキュー３６＿１の総フレーム長Ｌｆｑから出力フレーム２５のフレーム長を減算することによって、キュー３６＿１の総フレーム長Ｌｆｑを更新する。更に、キュー３６＿１から出力フレーム２５が出力される前の出力バッファ３８の総フレーム長Ｌｆｂに、キュー３６＿１から出力された出力フレーム２５のフレーム長を加算することにより、出力バッファ３８の総フレーム長Ｌｆｂを更新する。
【０１２６】
出力キューの総フレーム長と出力バッファ２８の総フレーム長の更新が完了したら、出力バッファ３８による出力処理が実行される（Ｓ６５９）。
ここで、出力バッファ３８による出力処理とは、出力バッファ３８からフレームを出力するときの処理であり、上記出力処理が実行されることにより、出力バッファ３８の出力フレーム数および出力バッファ３８の総フレーム長Ｌｆｂの推定値が得られる。出力バッファ３８による出力処理の終了時には、継続して出力処理を実行するか否かが決定され、継続して出力バッファ３８による出力処理を実行しない場合には、一連のバッファ処理が終了する。一方、継続して出力バッファ３８による出力処理を実行する場合には、上記のステップＳ６５３〜Ｓ６５９の処理が繰り返し行われる。
【０１２７】
次に、出力バッファ３８による出力処理について詳細に説明する。
図１１は、出力バッファによる出力処理の詳細な処理フローを示す図である。
出力バッファ３８による出力処理が開始されると、先ず、バッファ処理部１９における出力バッファ出力判定部１７４は、出力バッファ３８にフレームが蓄積されているか否かを判断する（Ｓ６７０）。出力バッファ３８にフレームが蓄積されていないと判断された場合には、出力所要時間算出部１７３がパリティ残長を算出する（Ｓ６７３）。その後、出力可能時間算出部１７５が出力可能時間１４Ｕを０（ゼロ）にし（Ｓ６７４）、出力バッファ３８による出力処理の継続なしとして処理を終了する（Ｓ６７９）。
【０１２８】
一方、ステップＳ６７０において、出力バッファ３８にフレームが蓄積されていると判断された場合には、出力所要時間算出部１７３は、出力バッファ３８に最初に蓄積された出力フレーム２６のフレーム長を取得する（Ｓ６７１）。次に、出力所要時間算出部１７３は、ステップＳ６７１で取得した出力フレーム２６のフレーム長に基づいて、出力所要時間１４Ｔを算出する（Ｓ６７２）。具体的には、前述したように、出力フレーム２６のフレーム長と、予め決められている最小のＩＦＧと、ＦＥＣのパリティ長とを加算することによって出力所要時間１４Ｔを算出する。
【０１２９】
次に、出力バッファ出力判定部１７４は、出力バッファ３８からフレームを出力することができるか否かを判定する（Ｓ６７５）。具体的に、出力バッファ出力判定部１７４は、出力所要時間１４Ｔが出力可能時間１４Ｕよりも短ければ、出力バッファ３８からフレームを出力することができると判定し、出力所要時間１４Ｔが出力可能時間１４Ｕよりも長ければ、出力バッファ３８からフレームを出力することができないと判定する。
【０１３０】
ステップＳ６７５において、出力バッファ３８からフレームを出力することができないと判定された場合には、“出力バッファ３８による出力処理の継続なし”として処理を終了する（Ｓ６７９）。
【０１３１】
一方、ステップＳ６７５において、出力バッファ３８からフレームを出力することができると判定された場合には、出力可能時間算出部１７５は、ステップＳ６４１で算出した出力可能時間１４Ｕから出力所要時間１４Ｔを減算することによって出力可能時間１４Ｕを更新する（Ｓ６７６）。また、出力バッファ総フレーム長更新部１７２は、出力バッファ出力判定部１７４による出力バッファ３８からフレームを出力することができるとする判定結果を受けて、出力バッファ３８の総フレーム長Ｌｆｂから出力フレーム２６のフレーム長を減算することにより、出力バッファ３８の総フレーム長Ｌｆｂを更新する（Ｓ６７７）。その後、“出力バッファ３８による出力処理の継続あり”として、処理を終了する（Ｓ６７８）。
【０１３２】
以上、実施の形態２に係る通信用ＬＳＩ検証装置によれば、通信用ＬＳＩのフレームバッファの後段に設けられている出力バッファのバッファ長を考慮してフレームロス率を算出することができるので、検証精度を更に向上させることができる。
【０１３３】
例えば、実施の形態２に係る通信用ＬＳＩ検証装置を用いて、図１２に示す検証条件１で検証を行った場合、全３０試行の検証において、通信用ＬＳＩ３０の実測値に基づくフレームロス率とモデルによる期待値との差が“０．３”ポイント以内となる検証結果が得られた。また、図１２に示す検証条件２で検証を行った場合、通信用ＬＳＩ３０の実測値に基づくフレームロス率とモデルによる期待値との差が大きくなるキューは存在するが、全試行の８割以上において、通信用ＬＳＩ３０の実測値に基づくフレームロス率とモデルによる期待値との差が“２”ポイント以内となる検証結果が得られた。
【０１３４】
上記の検証結果からも理解されるように、実施の形態２に係る通信用ＬＳＩ検証装置によれば、フレームバッファを有する通信用ＬＳＩのフレームロス率について、より高精度に検証することが可能となる。
【０１３５】
以上、本発明者らによってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１３６】
例えば、上記実施の形態において、検証によって得られる統計的な値として、フレームロス率を一例として例示したが、フレームバッファの特性を評価するための統計的な値であれば、フレームロス率に限定されない。例えば、バッファ処理部１７、１９によるバッファ処理によって得られるデータ（入力フレーム数、廃棄フレーム数、および出力フレーム数等）を用いて算出することができる別の統計値についても、上記実施の形態に係る通信用ＬＳＩ検証装置を用いて、上記フレームロス率と同様に検証を行うことが可能である。
【０１３７】
また、上記実施の形態において、期待値算出部１５Ｆ、１５Ｊを演算処理部１５とは別個の演算処理装置を用いて実現しても良い。この場合、通信用ＬＳＩの実測値に基づくフレームロス率と期待値との照合は、例えば、演算処理部１５が、上記別個の演算処理装置から期待値を取得することによって行うようにすれば良い。また、上記実施の形態において、演算処理部１５とは別個の演算処理装置によって、入力フレームパターン情報１４Ｄおよび書込レジスタ値リスト１４Ｅ（書込レジスタ値３１）を生成し、作成されたそれらの情報を演算処理部１５に与えるようにしてもよい。
【０１３８】
また、通信用ＬＳＩ検証装置の検証シナリオ１４Ａにおいて、検証結果の判定方法について記述しておき、この記述に基づき照合部１５Ｈで照合するようにしてもよい。
【０１３９】
また、読出レジスタ値３２を読み出す対象の内部レジスタ３３は、予めレジスタ制御部１５Ｅで規定しておいてもよいが、検証シナリオ１４Ａにおいて、通信用ＬＳＩ３０の内部レジスタ３３のうち、読出レジスタ値３２を読み出す対象レジスタを記述しておき、これを書込レジスタ情報１４Ｃさらには書込レジスタ値リスト１４Ｅを介してレジスタ制御部１５Ｅへ通知することにより、検証シナリオ１４Ａで読出レジスタ値３２を読み出す内部レジスタ３３を特定するようにしてもよい。
【０１４０】
また、検証時、通信用ＬＳＩ３０に対して多量の入力フレーム２２を入力する場合、期待値算出部１５Ｆ、１５Ｊでの計算処理量を削減し計算時間を短縮するために、期待値算出部１５Ｆ、１５Ｊが出力する期待値を通信用ＬＳＩ３０へ入力したフレーム数分で等倍した値を計算し、この値に基づき検証結果を判定してもよい。
【０１４１】
また、上記実施の形態では、通信用ＬＳＩ３０の検証時に、通信用ＬＳＩ３０の内部に備えるカウンタ値（内部レジスタ３３）を用いて、各キュー３６への入力フレーム数や廃棄フレーム数等を取得する場合を一例として説明したが、これに限定されるものではなく、例えばフレーム入出力装置２０が計測している入力フレーム数や出力フレーム数等を適宜用いて、通信用ＬＳＩ３０のフレームロス率を算出し、先に述べたモデルが算出する期待値との比較に用いてもよい。
【符号の説明】
【０１４２】
１…通信ＬＳＩ検証システム、１０…通信用ＬＳＩ検証装置、１１…通信Ｉ／Ｆ部、１２…操作入力部、１３…画面表示部、１４…記憶部、１５…演算処理部、２０…フレーム入出力装置、３０…通信用ＬＳＩ、３１…書込レジスタ値、３２…読出レジスタ値、３３…内部レジスタ、３４…フレームバッファ、３５…キュー振り分け部、３６＿１〜３６＿ｎ…キュー、３７…出力制御部、３８…出力バッファ、１６…モデル設定部、１７、１９…バッファ処理部、１８…演算部、１５１…入力フレーム数カウント部、１５２…廃棄フレームカウント部、１５３…キュー蓄積判定部、１５５…キュー総フレーム長更新部、１５６…出力可能時間算出部、１５７…出力所要時間算出部、１５８…キュー出力判定部、１７０…出力バッファ蓄積判定部、１７１…キュー総フレーム長更新部、１７２…出力バッファ総フレーム長更新部、１７３…出力所要時間算出部、１７４…出力バッファ出力処理判定部、１７５…出力可能時間算出部。
【図１】
2016052029.tif 000003
【図２】
2016052029.tif 000004
【図３】
2016052029.tif 000005
【図４】
2016052029.tif 000006
【図５】
2016052029.tif 000007
【図６】
2016052029.tif 000008
【図７】
2016052029.tif 000009
【図８】
2016052029.tif 000010
【図９】
2016052029.tif 000011
【図１０】
2016052029.tif 000012
【図１１】
2016052029.tif 000013
【図１２】
2016052029.tif 000014