(57)【特許請求の範囲】
【請求項１】
自ら命令を発行する第１のモジュールと、
前記第１のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第１のモジュールの接続先に転送するインターコネクトと、
前記インターコネクトによって前記第１のモジュールの接続先に指定される第２のモジュールと、
を含み、
前記第２のモジュールは、
前記第１のモジュールから前記インターコネクトを介して送信される読み出し命令信号に応じて、自らの処理結果を出力する機能ブロックと、
前記機能ブロックの出力の第１期待値が設定され、前記読み出し命令信号に応じて前記第１期待値を出力する応答回路と、
前記インターコネクトと前記機能ブロック及び前記応答回路との間に接続され、選択信号に基づいて前記読み出し命令信号を前記応答回路と前記機能ブロックのうちの一方に出力し、前記選択信号に基づいて前記機能ブロックの出力と前記第１期待値のうちの一方を前記インターコネクトに送信する選択器と、
を含み、
前記インターコネクトが、前記選択器から送信される前記機能ブロックの出力と前記第１期待値のうちの一方を前記第１のモジュールに送信することを特徴とする集積回路装置。
【請求項２】
前記インターコネクトは、当該インターコネクトに送信される、アドレス信号を含む制御信号をデコードするデコード部を含み、前記デコード部のデコード結果に基づいて、前記第２のモジュールを前記第１のモジュールの接続先に指定し、
前記読み出し命令信号は、前記制御信号が前記デコード部でデコードされた信号であることを特徴とする請求項１に記載の集積回路装置。
【請求項３】
前記制御信号を生成し、生成された前記制御信号を前記インターコネクトに送信する読み出し命令発行回路を更に含むことを特徴とする請求項２に記載の集積回路装置。
【請求項４】
自ら命令を発行する第１のモジュールと、
前記第１のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第１のモジュールの接続先に転送するインターコネクトと、
前記インターコネクトによって前記第１のモジュールの接続先に指定され、前記第１のモジュールから前記インターコネクトを介して送信される読み出し命令信号に応じて、自らの処理結果を出力する機能ブロックと、前記機能ブロックの出力の第１期待値が設定され、前記読み出し命令信号に応じて前記第１期待値を出力する応答回路と、前記インターコネクトと前記機能ブロック及び前記応答回路との間に接続され、選択信号に基づいて前記読み出し命令信号を前記応答回路と前記機能ブロックのうちの一方に出力し、前記選択信号に基づいて前記機能ブロックの出力と前記第１期待値のうちの一方を前記インターコネクトに送信する選択器と、を有する第２のモジュールと、
を含み、前記インターコネクトが、前記選択器から送信される前記機能ブロックの出力と前記第１期待値のうちの一方を前記第１のモジュールに送信する集積回路装置のハードウェアモデルと、
前記ハードウェアモデルを用い、前記応答回路に前記読み出し命令信号を受信させるシミュレーションを実行して前記第１期待値を取得するシミュレーション部と、
前記シミュレーション部によって取得された前記第１期待値と、前記集積回路装置の仕様に基づいて設定された第２期待値とを照合する照合部と、
を含むことを特徴とする検証装置。
【請求項５】
前記インターコネクトは、当該インターコネクトに送信される、アドレス信号を含む制御信号をデコードするデコード部を含み、前記デコード部のデコード結果に基づいて、前記第２のモジュールを前記第１のモジュールの接続先に指定し、
前記読み出し命令信号は、前記制御信号が前記デコード部でデコードされた信号であることを特徴とする請求項４に記載の検証装置。
【請求項６】
前記ハードウェアモデルは、前記制御信号を生成し、生成した前記制御信号を前記インターコネクトに送信する読み出し命令発行回路を含み、
前記シミュレーション部は、前記読み出し命令発行回路によって前記制御信号を生成して前記インターコネクトに送信することを特徴とする請求項５に記載の検証装置。
【請求項７】
前記シミュレーション部は、前記アドレス信号を変化させながら当該各アドレス信号について前記制御信号を生成することを特徴とする請求項６に記載の検証装置。
【請求項８】
前記ハードウェアモデルを用い、前記機能ブロックに前記読み出し命令信号を受信させるシミュレーションを実行して前記機能ブロックの出力を取得し、取得された前記機能ブロックの出力と前記第２期待値とを照合する機能を備えることを特徴とする請求項４乃至７のいずれかに記載の検証装置。
【請求項９】
コンピュータが、
自ら命令を発行する第１のモジュールと、
前記第１のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第１のモジュールの接続先に転送するインターコネクトと、
前記インターコネクトによって前記第１のモジュールの接続先に指定され、前記第１のモジュールから前記インターコネクトを介して送信される読み出し命令信号に応じて、自らの処理結果を出力する機能ブロックと、前記機能ブロックの出力の第１期待値が設定され、前記読み出し命令信号に応じて前記第１期待値を出力する応答回路と、前記インターコネクトと前記機能ブロック及び前記応答回路との間に接続され、選択信号に基づいて前記読み出し命令信号を前記応答回路と前記機能ブロックのうちの一方に出力し、前記選択信号に基づいて前記機能ブロックの出力と前記第１期待値のうちの一方を前記インターコネクトに送信する選択器と、を有する第２のモジュールと、
を含み、前記インターコネクトが、前記選択器から送信される前記機能ブロックの出力と前記第１期待値のうちの一方を前記第１のモジュールに送信する集積回路装置のハードウェアモデルを用い、
シミュレーション部により、前記応答回路に前記読み出し命令信号を受信させるシミュレーションを実行して前記第１期待値を取得し、
前記シミュレーション部により取得された前記第１期待値と、前記集積回路装置の仕様に基づいて設定された第２期待値とを照合部によって照合する、
ことを特徴とする検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路装置並びに、集積回路装置を検証する検証装置及び検証方法に関する。
【背景技術】
【０００２】
システムＬＳＩ（Large Scale Integration）等の集積回路装置に関し、所定のマスターモジュールを、インターコネクト（バススイッチ、バスマトリックス等とも称される）を介して、所定のスレーブモジュールに接続する技術が知られている。インターコネクトでは、アドレス信号等に基づいて接続先のスレーブモジュールが決定される。
【０００３】
更に、マスターモジュールとスレーブモジュールの間に、複数のインターコネクトを設ける技術、複数のインターコネクト間をバスブリッジで接続する技術も知られている。また、インターコネクトに接続されたマスターモジュールとスレーブモジュールの、異なる複数の組み合わせに対して、トランザクションを同時に行えるようにする技術も知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１９９８５９号公報
【特許文献２】特開２００４−１２６６４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記のようにマスターモジュールとスレーブモジュールをインターコネクトで接続する場合には、マスターモジュールが、インターコネクトによって、仕様通りのスレーブモジュールに接続されるか、検証を行う場合がある。検証方法としては、インターコネクトの回路構成や信号波形を目視で検証する方法がある。また、論理シミュレーションを行い、所定の読み出し命令に対する、マスターモジュールに接続されたスレーブモジュールからの読み出し値に基づき、当該スレーブモジュールが仕様通りの接続先であるのかを検証する方法もある。
【０００６】
しかし、目視で検証する方法では、マスターモジュールとスレーブモジュールの間に複数のインターコネクトが設けられる等、回路構成が比較的複雑になると、適正な検証が困難になる場合がある。また、論理シミュレーションで検証する方法では、ある決められた動作フローに従ってはじめて、スレーブモジュールから適正な読み出し値が得られる場合等もあり、スレーブモジュールから適正な読み出し値が得られないことが起こり得る。このような場合には、目視による検証作業が行われることになる。
【０００７】
このように、マスター、スレーブの各モジュールと、インターコネクトを含む集積回路装置においては、インターコネクトを介したモジュール間の接続がその集積回路装置の仕様通りとなっているか否かの検証が必ずしも容易でなかった。
【課題を解決するための手段】
【０００８】
本発明の一観点によれば、自ら命令を発行する第１のモジュールと、前記第１のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第１のモジュールの接続先に転送するインターコネクトと、前記インターコネクトによって前記第１のモジュールの接続先に指定される第２のモジュールと、を含み、前記第２のモジュールは、前記第１のモジュールから前記インターコネクトを介して送信される読み出し命令信号に応じて、自らの処理結果を出力する機能ブロックと、前記機能ブロックの出力の第１期待値が設定され、前記読み出し命令信号に応じて前記第１期待値を出力する応答回路と、前記インターコネクトと前記機能ブロック及び前記応答回路との間に接続され、選択信号に基づいて前記読み出し命令信号を前記応答回路と前記機能ブロックのうちの一方に出力し、前記選択信号に基づいて前記機能ブロックの出力と前記第１期待値のうちの一方を前記インターコネクトに送信する選択器と、を含み、前記インターコネクトが、前記選択器から送信される前記機能ブロックの出力と前記第１期待値のうちの一方を前記第１のモジュールに送信する集積回路装置が提供される。
【０００９】
また、本発明の一観点によれば、このような集積回路装置のハードウェアモデルを用いた検証装置及び検証方法が提供される。
【発明の効果】
【００１０】
集積回路装置或いはそのハードウェアモデルにおける、インターコネクトを介したモジュール間の接続が、仕様通りとなっているか否かの検証を容易に行うことが可能になる。
【図面の簡単な説明】
【００１１】
【図１】集積回路装置の構成例を示す図である。
【図２】第１の実施の形態に係るシステムＬＳＩの構成例を示す図である。
【図３】第１の実施の形態に係るシステムＬＳＩの要部の説明図である。
【図４】固定値応答回路の一例の説明図である。
【図５】アドレスマップの一例を示す図である。
【図６】論理シミュレーション装置の構成例を示す図である。
【図７】第１の実施の形態に係る論理シミュレーション装置の一例を示す図である。
【図８】第１の実施の形態に係る論理シミュレーションフローの一例を示す図である。
【図９】論理シミュレーション装置の別例を示す図である。
【図１０】論理シミュレーションフローの別例を示す図である。
【図１１】第１のバスプロトコルの適用例を説明する図である。
【図１２】第２のバスプロトコルの適用例を説明する図である。
【図１３】第２の実施の形態に係るシステムＬＳＩの要部の説明図である。
【図１４】第３の実施の形態に係るシステムＬＳＩの構成例を示す図である。
【図１５】第３の実施の形態に係るシステムＬＳＩの要部の説明図である。
【図１６】第３の実施の形態に係る論理シミュレーション装置の一例を示す図である。
【図１７】第３の実施の形態に係る論理シミュレーション時のマスターモジュールの説明図である。
【図１８】第３の実施の形態に係る論理シミュレーションフローの一例を示す図である。
【図１９】第４の実施の形態に係るシステムＬＳＩの要部の説明図である。
【図２０】論理シミュレーション装置のハードウェアの構成例を示す図である。
【発明を実施するための形態】
【００１２】
図１は集積回路装置の構成例を示す図である。
図１に示す集積回路装置１０は、マスターモジュール１１、インターコネクト１２、スレーブモジュール１３及び固定値応答回路１４を有している。マスターモジュール１１は、インターコネクト１２に接続され、インターコネクト１２には、スレーブモジュール１３及び固定値応答回路１４が接続される。インターコネクト１２は、例えば、マスターモジュール１１と、その接続先（アクセス先）となるスレーブモジュール１３の間を相互に接続する機能を有している。
【００１３】
マスターモジュール１１は、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＭＡ（Direct Memory Access）コントローラに代表されるようなモジュールで、自らバスにトランザクション等の命令を発行するモジュールである。
【００１４】
スレーブモジュール１３は、メモリコントローラ、インターラプトコントローラ、タイマに代表されるようなモジュールで、マスターモジュールからバスを通してトランザクション等の命令を受け、それに対する応答を返すようなモジュールである。
【００１５】
インターコネクト１２は、このようなマスターモジュール１１とスレーブモジュール１３の間を相互に接続する機能を有するモジュールである。
尚、図１には、インターコネクト１２に、マスターモジュール１１と、その接続先となるスレーブモジュール１３が、１つずつ接続されている場合を例示している。このほか、インターコネクト１２には、複数のマスターモジュール１１が接続されてもよく、また、複数のスレーブモジュール１３が接続されてもよい。この場合、インターコネクト１２は、所定の制御信号に基づき、所定の組み合わせのマスターモジュール１１とスレーブモジュール１３の間を相互に接続する機能を有していてもよい。また、固定値応答回路１４は、複数のスレーブモジュール１３のそれぞれに対応して、或いは複数のスレーブモジュール１３のうちの一部に対応して、設けることができる。
【００１６】
固定値応答回路１４は、インターコネクト１２から、マスターモジュール１１の接続先となるスレーブモジュール１３に対して送信される信号を、受信する。集積回路装置１０では、このような、スレーブモジュール１３を接続先とする信号を、例えば、選択器（選択回路）を用いて、スレーブモジュール１３か固定値応答回路１４のいずれかに受信させる。固定値応答回路１４は、インターコネクト１２から、スレーブモジュール１３を接続先とする信号を受信したときに、そのスレーブモジュール１３に設定されている固有の値（固定値）を、インターコネクト１２に送信（応答）する。
【００１７】
このような構成を有する集積回路装置１０によれば、スレーブモジュール１３がマスターモジュール１１の接続先として適正であるか否かを容易に知ることができる。即ち、この集積回路装置１０の固定値応答回路１４は、インターコネクト１２によってマスターモジュール１１の接続先とされたスレーブモジュール１３に送られてくる信号を、スレーブモジュール１３に代わって受信する。当該信号を受信した固定値応答回路１４は、スレーブモジュール１３固有の固定値を、インターコネクト１２に応答する。この固定値応答回路１４から応答される固定値により、インターコネクト１２によってマスターモジュール１１の接続先とされたスレーブモジュール１３を、当該スレーブモジュール１３の内部で処理を行わせることなく、識別することができる。これにより、マスターモジュール１１とスレーブモジュール１３の間のインターコネクト１２による接続が適正か否か、換言すればその接続が集積回路装置１０の仕様通りとなっているか否かを、容易に知ることができる。
【００１８】
尚、このような集積回路装置１０の製造にあたり、論理シミュレーションによる検証を行う場合には、図１のような回路構成を有する、ハードウェア記述言語で記述された、ハードウェアモデルが用いられる。
【００１９】
以下、集積回路装置及びその検証について、システムＬＳＩ及びその検証を例に、より詳細に説明する。
まず、第１の実施の形態について説明する。
【００２０】
図２は第１の実施の形態に係るシステムＬＳＩの構成例を示す図、図３は第１の実施の形態に係るシステムＬＳＩの要部の説明図である。
図２に示すシステムＬＳＩ１０Ａは、マスターモジュール１００、スレーブモジュール３００、及びそれらを接続するインターコネクト２００を有している。ここでは一例として、４つのマスターモジュール１００（Ｍ０，Ｍ１，Ｍ２，Ｍ３）と、４つのスレーブモジュール３００（Ｓ０，Ｓ１，Ｓ２，Ｓ３）を、１つのインターコネクト２００（ＩＣ）で接続する場合を例示している。
【００２１】
マスターモジュール１００は、例えば、マスターモジュールＭ０，Ｍ１をＣＰＵ、マスターモジュールＭ２をＤＭＡコントローラ、マスターモジュールＭ３をＧＰＵとすることができる。また、スレーブモジュール３００は、例えば、スレーブモジュールＳ０をメモリコントローラ、スレーブモジュールＳ１をインターラプトコントローラ、スレーブモジュールＳ２を内部メモリ、スレーブモジュールＳ３をシステム制御レジスタとすることができる。
【００２２】
各マスターモジュール１００は、インターコネクト２００との間で信号のやり取りを行うためのバスインタフェース（Ｉ／Ｆ）１１０（ＭＢ０，ＭＢ１，ＭＢ２，ＭＢ３）を有している。マスターモジュール１００は、アドレス信号、バス制御信号等を含む制御信号（例えば、リードトランザクション等の読み出し命令信号）を発行する。マスターモジュール１００で発行された信号は、バスＩ／Ｆ１１０を介して、インターコネクト２００に送信される。
【００２３】
インターコネクト２００は、図２に示したように、バスＩ／Ｆ２１０，２４０、デコード部２２０（Ｄ０，Ｄ１，Ｄ２，Ｄ３）、及び調停部２３０（Ａ０，Ａ１，Ａ２，Ａ３）を有している。
【００２４】
バスＩ／Ｆ２１０は、各マスターモジュール１００（バスＩ／Ｆ１１０）に対応して設けられる。インターコネクト２００は、各バスＩ／Ｆ２１０を介して、各マスターモジュール１００との間で信号のやり取りを行う。また、バスＩ／Ｆ２４０は、各スレーブモジュール３００に対応して設けられる。インターコネクト２００は、各バスＩ／Ｆ２４０を介して、各スレーブモジュール３００との間で信号のやり取りを行う。
【００２５】
インターコネクト２００のデコード部２２０及び調停部２３０はそれぞれ、各マスターモジュール１００及び各スレーブモジュール３００に対応して設けられる機能ブロックである。
【００２６】
各デコード部２２０は、対応するマスターモジュール１００から送信されてくる、アドレス信号等を含む制御信号を、デコードする。各デコード部２２０は、そのデコード結果に従って、アクセス先の調停部２３０との間をバスで接続する。即ち、デコード部２２０は、それに対応するマスターモジュール１００からの信号を、その信号に基づいて指定されるアクセス先のスレーブモジュール３００に対して転送する処理を行う。
【００２７】
各調停部２３０は、複数（ここでは４つ）のデコード部２２０から転送されてくる、リードトランザクション等の信号を、調停する。各調停部２３０は、その調停結果に従って、転送されてくる信号を、バスＩ／Ｆ２４０を介して、対応するスレーブモジュール３００に送信する。
【００２８】
各スレーブモジュール３００は、インターコネクト２００との間で信号のやり取りを行うためのバスＩ／Ｆ３１０（ＳＢ０，ＳＢ１，ＳＢ２，ＳＢ３，ＳＢ）を有している。更に、各スレーブモジュール３００は、バスＩ／Ｆ３１０に接続され、各スレーブモジュール３００の処理機能を実現する機能ブロック（回路ブロック）３２０（ＳＦ０，ＳＦ１，ＳＦ２，ＳＦ３，ＳＦ）を有している。
【００２９】
更にまた、図２及び図３に示したように、各スレーブモジュール３００（Ｓ０〜Ｓ３，Ｓ）は、内部に設けられた固定値応答回路４００（ＳＲ０，ＳＲ１，ＳＲ２，ＳＲ３，ＳＲ）及び選択器４１０（ＳＳ０，ＳＳ１，ＳＳ２，ＳＳ３，ＳＳ）を有している。
【００３０】
固定値応答回路４００は、所定の入力を受け付けたときに、当該固定値応答回路４００が設けられているスレーブモジュール３００に固有の値（固定値）を含んだ信号を出力する。固定値は、予め各スレーブモジュール３００に対してそれぞれ設定される。
【００３１】
選択器４１０は、選択信号であるテスト信号（ＴＥＳＴ）に基づき、インターコネクト２００から送られてくる信号を、バスＩ／Ｆ３１０を介して機能ブロック３２０に送信するか、固定値応答回路４００に送信するかの選択（切り替え）を行う。インターコネクト２００からの信号が機能ブロック３２０に送信されると、スレーブモジュール３００は、その機能ブロック３２０の処理を実行し、その処理結果を、バスＩ／Ｆ３１０及び選択器４１０を介してインターコネクト２００に応答する。一方、インターコネクト２００からの信号が固定値応答回路４００に送信されると、スレーブモジュール３００は、当該スレーブモジュール３００に設定された固定値を、固定値応答回路４００から選択器４１０を介してインターコネクト２００に応答する。
【００３２】
図４は固定値応答回路の一例の説明図である。
図４に示す固定値応答回路４００は、有効転送判定回路４０１及び応答信号生成回路４０２を含んでいる。
【００３３】
有効転送判定回路４０１は、インターコネクト２００から、選択器４１０を介して入力される信号に基づき、当該有効転送判定回路４０１が含まれるスレーブモジュール３００での処理が実行可能な、有効な信号が転送されたか否かを判定する。例えば、インターコネクト２００からの信号に含まれている、アドレス信号、及び転送の継続又は終了を示すバス制御信号から、転送された信号が、スレーブモジュール３００に対する転送が終了した有効な信号か否かが判定される。
【００３４】
応答信号生成回路４０２は、有効転送判定回路４０１において、有効な信号が転送されたと判定された場合に、当該応答信号生成回路４０２が含まれるスレーブモジュール３００の固定値を含む信号を生成する。更に、応答信号生成回路４０２は、生成したその固定値を含む信号が、転送先のモジュールでの処理が実行可能な、有効な信号であることを示すバス制御信号を生成する。応答信号生成回路４０２で生成された、固定値及びバス制御信号を含む信号（応答信号）は、選択器４１０を介してインターコネクト２００に送信（応答）される。
【００３５】
固定値応答回路４００からインターコネクト２００に送信された信号は、その固定値応答回路４００を含むスレーブモジュール３００に対して読み出し命令信号を発行したマスターモジュール１００に、調停部２３０及びデコード部２２０を介して返信される。
【００３６】
上記構成を有するシステムＬＳＩ１０Ａにおいて、その仕様通りの処理動作を実現するためには、各マスターモジュール１００及び各スレーブモジュール３００の処理動作に加え、それらを接続するインターコネクト２００の処理動作が検証される。
【００３７】
各マスターモジュール１００自体の処理動作、及び各スレーブモジュール３００自体の処理動作については、機能シミュレーション等によって検証が行われる。
インターコネクト２００については、ここでは、デコード部２２０のデコード処理動作が、システムＬＳＩ１０Ａのアドレスマップの仕様と同じになるかを、例えば、システムＬＳＩ１０Ａのハードウェアモデルを用いた論理シミュレーションによって検証する。
【００３８】
まず、アドレスマップの一例を図５に示す。
この図５には、各マスターモジュール１００（Ｍ０〜Ｍ３）から見た、アドレス信号（ＡＤＲ）０ｘＮ（Ｎ＝００００００００〜ＦＦＦＦＦＦＦＦ）とスレーブモジュール３００（Ｓ０〜Ｓ３）の関係の一例を示している。このような関係は、システムＬＳＩ１０Ａの仕様（仕様書）に基づいて設定される。
【００３９】
図５のアドレスマップには、便宜上、各スレーブモジュールＳ０〜Ｓ３に対して設定されている固定値の一例を、併せて示している。即ち、この例では、スレーブモジュールＳ０には０ｘ１９００ＢＡ５Ｅ、スレーブモジュールＳ１には０ｘ１９０１ＢＡ５Ｅ、スレーブモジュールＳ２には０ｘ１９０２ＢＡ５Ｅ、スレーブモジュールＳ３には０ｘ１９０３ＢＡ５Ｅの各固定値が設定されている。上記の各スレーブモジュール３００（Ｓ０〜Ｓ３）に設けられた固定値応答回路４００からは、このような固定値がそれぞれ出力されるようになっている。
【００４０】
尚、この図５のアドレスマップに例示した、各スレーブモジュールＳ０〜Ｓ３の固定値は、後述のようにアドレス信号ＡＤＲに基づいて行われる論理シミュレーションの出力値として期待される値（期待値）と言うことができる。
【００４１】
インターコネクト２００は、本来、デコード部２２０に送信されてくる信号に含まれるアドレス信号ＡＤＲに基づき、図５のようなアドレスマップで規定されるスレーブモジュールＳ０〜Ｓ３をアクセス先として、信号の転送を行う。第１の実施の形態では、インターコネクト２００のデコード部２２０が、図５のようなアドレスマップ仕様通りの処理動作（デコード及びそれに基づく転送）を行うか、論理シミュレーションによって固定値応答回路４００から出力される固定値を基に、検証する。
【００４２】
まず、論理シミュレーションによる検証に用いる検証装置（論理シミュレーション装置）について述べる。
図６は論理シミュレーション装置の構成例を示す図である。
【００４３】
図６に示す論理シミュレーション装置５００は、ハードウェアモデル５１０、テストベンチ５５０、シミュレーション部５２０、照合部５３０、及び記憶部５４０を有している。
【００４４】
ハードウェアモデル５１０は、検証対象のシステムＬＳＩをハードウェア記述言語で記述したモデルである。ハードウェアモデル５１０は、検証対象のシステムＬＳＩの仕様書に基づいて作成され、論理シミュレーション装置５００に実装される。また、作成されたハードウェアモデル５１０について、その動作を検証するためのテストベンチ５５０が作成され、ハードウェアモデル５１０と共に、論理シミュレーション装置５００に実装される。
【００４５】
シミュレーション部５２０は、テストベンチ５５０、論理シミュレーションに要する各種データやプログラム等（シミュレーション情報５６０）を用いて、ハードウェアモデル５１０の論理シミュレーションを実行する。尚、シミュレーション情報５６０は、ハードウェアモデル５１０及びテストベンチ５５０と共に、論理シミュレーション装置５００に実装されてもよい。シミュレーション部５２０は、論理シミュレーションを実行し、ハードウェアモデル５１０の出力値を取得する。シミュレーション部５２０は、その取得された出力値を、記憶部５４０に記憶する。
【００４６】
照合部５３０は、シミュレーション部５２０で取得された出力値を、予め設定された期待値と比較し、出力値が期待値と一致するか否かを判定する。照合部５３０は、その判定結果を示す情報を、記憶部５４０に記憶する。
【００４７】
記憶部５４０は、シミュレーション部５２０で取得された出力値、その出力値と照合するための期待値、照合部５３０による判定結果等の情報を、例えばデータベース（ＤＢ）化して、記憶する。
【００４８】
システムＬＳＩ１０Ａの処理動作を、このような論理シミュレーション装置５００を用いて検証する場合について、より詳細に説明する。
図７は第１の実施の形態に係る論理シミュレーション装置の一例を示す図、図８は第１の実施の形態に係る論理シミュレーションフローの一例を示す図である。
【００４９】
システムＬＳＩ１０Ａの論理シミュレーションによる検証では、図７に示すように、システムＬＳＩ１０Ａのハードウェアモデル５１０Ａが、そのテストベンチ５５０Ａと共に、論理シミュレーション装置５００に実装される。論理シミュレーション装置５００は、テストベンチ５５０Ａ等に基づき、シミュレーション部５２０によるシミュレーションを実行する。
【００５０】
その際、論理シミュレーション装置５００は、まず、スレーブモジュール３００に設けた選択器４１０に入力するテスト信号ＴＥＳＴを、有効（“１”）に設定する（ステップＳ１）。尚、テスト信号ＴＥＳＴを有効にするか否かは、論理シミュレーションを実行するに際して、作業者が論理シミュレーション装置５００に対して設定することができる。
【００５１】
次いで、論理シミュレーション装置５００は、マスターモジュール１００を起動する（ステップＳ２）。更に、論理シミュレーション装置５００は、一のアドレス信号ＡＤＲ０ｘＮを読み込む命令を実行し、マスターモジュール１００から、読み込んだアドレス信号ＡＤＲ、及びバス制御信号を含む、読み出し命令信号を発行する（ステップＳ３）。例えば、論理シミュレーション装置５００は、テストベンチ５５０Ａ、及びマスターモジュール１００を制御するマスターモジュール制御プログラム５６０Ａに基づき、マスターモジュール１００から、リードトランザクション等の読み出し命令信号を発行させる。
【００５２】
マスターモジュール１００から出力された読み出し命令信号は、上記のように、インターコネクト２００のデコード部２２０でデコードされ、そのデコード結果が示すアクセス先の調停部２３０を経て、対応するスレーブモジュール３００へと転送される。スレーブモジュール３００では、テスト信号ＴＥＳＴが有効（“１”）に設定されていることで、インターコネクト２００からの信号が、選択器４１０によって固定値応答回路４００に送信される。そして、固定値応答回路４００は、当該固定値応答回路４００が含まれるスレーブモジュール３００の固定値（０ｘ１９００ＢＡ５Ｅ，０ｘ１９０１ＢＡ５Ｅ，０ｘ１９０２ＢＡ５Ｅ，０ｘ１９０３ＢＡ５Ｅ）を含んだ信号を応答する。その際、固定値応答回路４００は、スレーブモジュール３００の固定値を含む信号を、それが有効であることを示す信号と共に、選択器４１０を介してインターコネクト２００に応答する。
【００５３】
例えば、固定値応答回路４００は、インターコネクト２００から信号が到達したときに、当該固定値応答回路４００が含まれるスレーブモジュール３００の固定値を含む有効な信号を、そのままインターコネクト２００に応答する。
【００５４】
また、固定値応答回路４００が図４に示したような有効転送判定回路４０１及び応答信号生成回路４０２を有している場合には、例えば、次のようにしてスレーブモジュール３００の固定値を含む有効な信号を、インターコネクト２００に応答する。即ち、まず、有効転送判定回路４０１が、インターコネクト２００から有効な信号が到達したか否かを判定する。そして、有効転送判定回路４０１によって有効な信号が到達したと判定されたときに、応答信号生成回路４０２が、スレーブモジュール３００の固定値を含む有効な信号を、インターコネクト２００に応答する。
【００５５】
固定値応答回路４００からは、スレーブモジュール３００の固定値を含む有効な信号が、インターコネクト２００に応答されるようになっている。
インターコネクト２００に応答された、スレーブモジュール３００の固定値を含む信号は、そのスレーブモジュール３００（固定値応答回路４００）に、発行した読み出し命令信号が転送されたマスターモジュール１００に返信される。論理シミュレーション装置５００は、マスターモジュール１００に送信された信号に含まれる固定値を、読み出し値（ＲＤ）として取得する（ステップＳ４）。そして、論理シミュレーション装置５００は、その読み出し値ＲＤを、現在のアドレス信号ＡＤＲと共に、記憶部５４０（読み出し値ＤＢ５４０ａ）に記憶する。
【００５６】
論理シミュレーション装置５００は、このようなシミュレーション部５２０によるシミュレーションの後、その論理シミュレーションで取得された読み出し値ＲＤについて、照合部５３０による照合処理を実行する。
【００５７】
その際、論理シミュレーション装置５００は、図８に示すように、取得された読み出し値ＲＤを、予め設定され、記憶部５４０（期待値ＤＢ５４０ｂ）に記憶されている期待値（ＥＸＰ）と照合する（ステップＳ５）。期待値ＥＸＰは、システムＬＳＩ１０Ａの仕様書５７０に基づいて設定される、図５に示したようなアドレスマップの、各スレーブモジュール３００に対して予め設定されている固定値である。
【００５８】
例えば、現在のアドレス信号ＡＤＲが０ｘ００００００００であるとする。この場合、論理シミュレーション装置５００は、各マスターモジュールＭ０〜Ｍ３に送信されて来た読み出し値ＲＤを、それぞれの期待値ＥＸＰ、即ち０ｘ１９００ＢＡ５Ｅ，０ｘ１９０２ＢＡ５Ｅ，０ｘ１９０２ＢＡ５Ｅ，０ｘ１９０３ＢＡ５Ｅと比較する。
【００５９】
論理シミュレーション装置５００は、このようにして現在のアドレス信号ＡＤＲで取得された読み出し値ＲＤと、そのアドレス信号ＡＤＲに対応する期待値ＥＸＰとの比較を行う。そして、それらが一致する場合には（ステップＳ６）、一致することを示すＰＡＳＳデータを、記憶部５４０（検証結果ＤＢ５４０ｃ）に記憶する（ステップＳ７）。一致しない場合には（ステップＳ６）、一致しないことを示すＦＡＩＬデータを記憶部５４０（検証結果ＤＢ５４０ｃ）に記憶する（ステップＳ８）。ＰＡＳＳデータ、ＦＡＩＬデータは、例えば論理シミュレーション装置５００にモニタが接続されていれば、そのモニタに表示させることもできる。
【００６０】
その後、論理シミュレーション装置５００は、現在のアドレス信号ＡＤＲが最大値であるか否かを判定し（ステップＳ９）、最大値でない場合には、アドレス信号ＡＤＲを変化（Ｎ＝Ｎ＋１）させ（ステップＳ１０）、ステップＳ３に戻る。論理シミュレーション装置５００は、アドレス信号ＡＤＲが最大値となるまで、ステップＳ３〜Ｓ１０の処理を繰り返す。
【００６１】
このように論理シミュレーション装置５００は、アドレス信号ＡＤＲを変化させてマスターモジュール１００から読み出し命令信号を発行し、スレーブモジュール３００の固定値応答回路４００から、そのスレーブモジュール３００の固定値を取得する。そして、その取得された固定値（読み出し値ＲＤ）と、アドレスマップに対応する期待値ＥＸＰとの一致、不一致を判定する。
【００６２】
これにより、マスターモジュール１００で発行された読み出し命令信号が、アドレスマップ仕様通りのスレーブモジュール３００に対して転送されたか否かを、取得される固定値から検証することができる。換言すれば、インターコネクト２００のデコード部２２０が、マスターモジュール１００で発行された読み出し命令信号を、アドレスマップ仕様通りのスレーブモジュール３００に転送しているか否かを、取得される固定値から検証することができる。
【００６３】
ここでは、インターコネクト２００のデコード部２２０が、アドレスマップ仕様通りの処理動作を行っているかの検証に、各スレーブモジュール３００の固定値応答回路４００から応答される固定値を用いる。そのため、各スレーブモジュール３００の機能ブロック３２０からの出力値を用いてデコード部２２０の処理動作を検証する場合に比べ、当該処理動作を容易に検証することが可能になる。
【００６４】
ここで比較のため、上記のような固定値応答回路を含まないシステムＬＳＩの検証例について説明する。
図９は論理シミュレーション装置の別例を示す図、図１０は論理シミュレーションフローの別例を示す図である。
【００６５】
図９に示す論理シミュレーション装置５００ａは、上記のような固定値応答回路４００及び選択器４１０を含まないシステムＬＳＩのハードウェアモデル５１０ａが用いられている点で、図７に示した論理シミュレーション装置５００と相違する。図９に示した論理シミュレーション装置５００ａでは、このようなハードウェアモデル５１０ａ及びそのテストベンチ５５０ａが実装され、シミュレーションが実行される。
【００６６】
論理シミュレーション装置５００ａは、まず、各マスターモジュール１００及び各スレーブモジュール３００の初期化、起動を行う（ステップＳ２０）。
次いで、論理シミュレーション装置５００ａは、一のアドレス信号ＡＤＲ０ｘＮを読み込む命令を実行する。そして、論理シミュレーション装置５００ａは、テストベンチ５５０ａ及びマスターモジュール制御プログラム５６０ａに基づき、マスターモジュール１００から、リードトランザクション等の読み出し命令信号を発行させる（ステップＳ２１）。
【００６７】
このようにしてマスターモジュール１００から出力された読み出し命令信号は、インターコネクト２００のデコード部２２０でデコードされ、そのデコード結果が示すアクセス先の調停部２３０を経て、対応するスレーブモジュール３００へと転送される。スレーブモジュール３００に転送された信号は、バスＩ／Ｆ３１０を介して機能ブロック３２０へと送信される。
【００６８】
機能ブロック３２０での処理動作が実行された結果得られた出力値は、インターコネクト２００に応答され、当該機能ブロック３２０に対して発行した読み出し命令信号が転送されたマスターモジュール１００に返信される。論理シミュレーション装置５００ａは、マスターモジュール１００において、機能ブロック３２０からの有効な応答が得られた場合には、読み出し（リード）成功と判定する（ステップＳ２２）。そして、論理シミュレーション装置５００ａは、その機能ブロック３２０からの応答信号を読み出し値（ＲＤａ）として取得し、現在のアドレス信号ＡＤＲと共に、読み出し値ＤＢ５４０ａに記憶する（ステップＳ２３）。
【００６９】
次いで、論理シミュレーション装置５００ａは、読み出し値ＲＤａ（スレーブモジュール３００の機能ブロック３２０からの出力値）を、期待値ＤＢ５４０ｂに記憶されている期待値（ＥＸＰａ）と照合する（ステップＳ２４）。ここでの期待値ＥＸＰａは、システムＬＳＩの仕様書５７０に基づき、そのアドレスマップにおける各アドレス信号ＡＤＲについて、スレーブモジュール３００の機能ブロック３２０からの出力値（読み出し値ＲＤａ）として期待される値である。
【００７０】
論理シミュレーション装置５００ａは、現在のアドレス信号ＡＤＲで取得された読み出し値ＲＤａと期待値ＥＸＰａとが一致する場合には（ステップＳ２５）、ＰＡＳＳデータを検証結果ＤＢ５４０ｃに記憶する（ステップＳ２６）。一致しない場合には（ステップＳ２５）、ＦＡＩＬデータを検証結果ＤＢ５４０ｃに記憶する（ステップＳ２７）。また、論理シミュレーション装置５００ａは、上記のステップＳ２２において、マスターモジュール１００に有効な応答が返信されず、リード不成功と判定した場合も同様に、ＦＡＩＬデータを検証結果ＤＢ５４０ｃに記憶する（ステップＳ２７）。
【００７１】
その後、論理シミュレーション装置５００ａは、現在のアドレス信号ＡＤＲが最大値であるか否かを判定し（ステップＳ２８）、最大値でない場合には、アドレス信号ＡＤＲを変化させ（ステップＳ２９）、ステップＳ２１に戻る。論理シミュレーション装置５００ａは、アドレス信号ＡＤＲが最大値となるまで、ステップＳ２１〜Ｓ２９の処理を繰り返す。
【００７２】
このように論理シミュレーション装置５００ａを用いた検証では、各スレーブモジュール３００の機能ブロック３２０からの出力値を読み出し値ＲＤａとし、それを期待値ＥＸＰａと比較することで、それらの一致、不一致を判定する。
【００７３】
しかし、この場合、読み出し値ＲＤａを取得するために、実際に各スレーブモジュール３００の機能ブロック３２０を動作させる（シミュレーションする）ことを要し、検証を効率的に行うことができないことがある。
【００７４】
また、各スレーブモジュール３００の機能ブロック３２０からは、読み出し値ＲＤａとして、必ずしも有効な応答が取得されるとは限らない。各スレーブモジュール３００は、リードトランザクション等の読み出し命令信号に対して有効な応答を出力するのに、ある決められた動作フローに従わなければならない場合があるためである。
【００７５】
例えば、スレーブモジュールＳ０をメモリコントローラとしているような場合、スレーブモジュールＳ０は、外部のメインメモリと接続されていなければ、読み出し命令信号を受信しても何も読み出されなかったり、読み出しエラーが発生したりしてしまう。また、スレーブモジュールＳ１をインターラプトコントローラとしているような場合、所定の外部割り込み動作がなければ、読み出し命令信号を受信しても読み出しエラー等が発生してしまう。また、スレーブモジュールＳ２を内部メモリとしているような場合、予め内部メモリに対する書き込みが行われていなければ、読み出し命令信号を受信しても読み出しエラー等が発生してしまう。また、スレーブモジュールＳ３をシステム制御レジスタとしているような場合、読み出し命令信号を受信した結果、ハードウェアモデル５１０ａ（システムＬＳＩ）が意図しない動作モードに移行してしまい、目的の読み出し値ＲＤａが得られないことが起こり得る。
【００７６】
このように、各スレーブモジュール３００は、ある決められた動作フローに従わなければ、リードトランザクション等の読み出し命令信号に対する有効な応答を出力することができない場合がある。この場合、単にアドレス信号ＡＤＲを変化させながらリードトランザクションを発行するのみでは、有効な応答（読み出し値ＲＤａ）を得ることができない。
【００７７】
有効な応答が得られなかった場合、論理シミュレーション装置５００ａは、上記のステップＳ２２において、リード不成功と判定してしまう。但し、このようにリード不成功とされたものの中には、インターコネクト２００のデコード部２２０自体は、マスターモジュール１００からの読み出し命令信号を、アドレスマップ仕様通りのアクセス先のスレーブモジュール３００に転送しているものも含まれ得る。従って、リード不成功の場合には、信号波形や仕様書５７０等に基づき、デコード部２２０が、マスターモジュール１００からの読み出し命令信号を、アドレスマップ仕様通りのスレーブモジュール３００に転送しているか否かを、目視で検証することになる。
【００７８】
このような目視での検証作業には、時間、労力を要する。また、ここでは１つのインターコネクト２００を例にしているが、システムＬＳＩによっては、マスターモジュール１００とスレーブモジュール３００の間に、直列に接続された複数のインターコネクト２００が設けられる場合がある。このほか、マスターモジュール１００によって、対応するデコード部２２０のデコードの仕組み等、その仕様が異なる場合もある。このようにマスターモジュール１００とスレーブモジュール３００の間の回路構成が比較的複雑になると、目視での適切な検証作業は困難になり得る。
【００７９】
これに対し、上記の論理シミュレーション装置５００を用いたシステムＬＳＩ１０Ａの、デコード部２２０の処理動作の検証では、そのような目視での検証作業を行うことなく、効率的に検証を行うことが可能になる。
【００８０】
即ち、論理シミュレーション装置５００では、マスターモジュール１００で発行された読み出し命令信号が、インターコネクト２００からスレーブモジュール３００に対して転送されたときに、当該スレーブモジュール３００の固定値を固定値応答回路４００から応答する。そして、応答される固定値から、インターコネクト２００のデコード部２２０が、マスターモジュール１００で発行された読み出し命令信号を、アドレスマップ仕様通りのスレーブモジュール３００に転送しているか否かを検証する。論理シミュレーションによる検証時に、機能ブロック３２０を介さないため、読み出しエラー等の発生を抑制することができ、従って、デコード部２２０の処理動作を、目視での検証作業を行うことなく、効率的に検証することが可能になる。
【００８１】
尚、システムＬＳＩ１０Ａのスレーブモジュール３００には、インターコネクト２００からの信号を、固定値応答回路４００側と機能ブロック３２０側のいずれかに送信する選択器４１０を設けている。この選択器４１０に入力するテスト信号ＴＥＳＴを無効（“０”）に設定すれば、インターコネクト２００からの信号が、バスＩ／Ｆ３１０を介して機能ブロック３２０に送信されるようになる。この場合には、システムＬＳＩ１０Ａのハードウェアモデル５１０Ａにおいて、機能ブロック３２０の動作によって出力される信号を取得することができる。このようなシステムＬＳＩ１０Ａのハードウェアモデル５１０Ａを用いた論理シミュレーションでは、機能ブロック３２０の動作（シミュレーション）によって出力される信号を、読み出し値ＲＤａとして取得し、期待値ＥＸＰａとの比較を行うことも可能である。
【００８２】
上記のような固定値応答回路４００を含むシステムＬＳＩ１０Ａ及びそのハードウェアモデル５１０Ａには、様々なバスプロトコルを適用することができる。以下に、２種類のバスプロトコルの適用例を示す。
【００８３】
図１１は第１のバスプロトコルの適用例を説明する図である。
図１１には、ＡＭＢＡ（Advanced Microcontroller Bus Architecture）のＡＨＢ（Advanced High-performance Bus）プロトコルの適用例を示している。
【００８４】
スレーブモジュール３００には、マスターモジュール１００で発行される読み出し命令信号が、インターコネクト２００を介して転送される。スレーブモジュール３００には、例えば、ＨＡＤＤＲ信号、ＨＴＲＡＮＳ信号、ＨＷＲＩＴＥ信号、ＨＳＩＺＥ信号、ＨＷＤＡＴＡ信号、ＨＳＥＬ信号、ＨＲＥＡＤＹｉｎ信号の各信号が転送される。
【００８５】
尚、ＨＡＤＤＲ信号は、所定ビットのシステムアドレスバスを示す信号である。ＨＴＲＡＮＳ信号は、転送タイプ（ＮＯＮＳＥＱＵＥＮＴＩＡＬ，ＳＥＱＵＥＮＴＩＡＬ，ＩＤＬＥ，ＢＵＳＹ）を示す信号である。ＨＷＲＩＴＥ信号は、書き込み又は読み出しを示す信号であって、Ｈｉｇｈの場合に書き込みを、Ｌｏｗの場合に読み出しを示す信号である。ＨＳＩＺＥ信号は、転送のサイズ（バイト数）を示す信号である。ＨＷＤＡＴＡ信号は、書き込み時のライトデータバスを示す信号である。ＨＳＥＬ信号は、アドレスバスの組み合わせをデコードした信号であって、当該信号が転送されるスレーブモジュール３００の選択を示す信号である。ＨＲＥＡＤＹｉｎ信号は、スレーブモジュール３００への入力時の転送の継続又は終了を示す信号であって、Ｈｉｇｈの場合には転送が終了したことを、Ｌｏｗの場合には転送が継続していることを示す信号である。
【００８６】
例えば、これらの信号がインターコネクト２００からスレーブモジュール３００の選択器４１０に入力される（図１１の点線矢印）。
選択器４１０のテスト信号ＴＥＳＴが、有効であることを示す“１”（Ｈｉｇｈ）に設定されている場合には、選択器４１０に入力された信号が、固定値応答回路４００に入力される。固定値応答回路４００は、その入力を受けて、当該固定値応答回路４００が設けられているスレーブモジュール３００の固定値を含む所定の信号を、選択器４１０を介してインターコネクト２００に応答する。固定値応答回路４００からは、例えば、ＨＲＤＡＴＡ信号、ＨＲＥＡＤＹｏｕｔ信号、ＨＲＥＳＰ信号の各信号が、インターコネクト２００に対して応答される。
【００８７】
また、選択器４１０のテスト信号ＴＥＳＴが、無効であることを示す“０”（Ｌｏｗ）に設定されている場合には、インターコネクト２００から選択器４１０に入力された信号が、バスＩ／Ｆ３１０を介して機能ブロック３２０に入力される。機能ブロック３２０は、その入力、及びスレーブモジュール３００に入力されるクロック信号等を受けて、所定の処理を実行し、その処理結果（出力値）を含む所定の信号を、バスＩ／Ｆ３１０及び選択器４１０を介してインターコネクト２００に応答する。機能ブロック３２０での処理の際、スレーブモジュール３００には、ＨＣＬＫ信号、ＨＲＥＳＥＴｎ信号が入力される。機能ブロック３２０側からは、例えば、ＨＲＤＡＴＡ信号、ＨＲＥＡＤＹｏｕｔ信号、ＨＲＥＳＰ信号の各信号が、インターコネクト２００に対して応答される。
【００８８】
尚、スレーブモジュール３００に入力されるＨＣＬＫ信号は、クロックを示す信号である。ＨＲＥＳＥＴｎ信号は、システムとバスをリセットする信号であって、通常動作時はＨｉｇｈとされ、リセット時にＬｏｗとされる。
【００８９】
固定値応答回路４００及びバスＩ／Ｆ３１０、並びに選択器４１０から出力されるＨＲＤＡＴＡ信号は、読み出し時のリードデータバスを示す信号であって、スレーブモジュール３００に設定された固定値、或いは機能ブロック３２０の出力値を含む。ＨＲＥＡＤＹｏｕｔ信号は、スレーブモジュール３００からの出力時の転送の継続又は終了を示す信号であって、Ｈｉｇｈの場合には転送が終了したことを、Ｌｏｗの場合には転送が継続していることを示す信号である。このＨＲＥＡＤＹｏｕｔ信号は、固定値応答回路４００からの固定値の出力時には、Ｈｉｇｈに固定される。ＨＲＥＳＰ信号は、転送状態（ＯＫＡＹ，ＥＲＲＯＲ，ＲＥＴＲＹ、ＳＰＬＩＴ）を示す信号であり、固定値応答回路４００からの固定値の出力時には、Ｌｏｗに固定される。
【００９０】
図１１の固定値応答回路４００には、ＨＲＤＡＴＡ信号、ＨＲＥＡＤＹｏｕｔ信号、ＨＲＥＳＰ信号の各信号の一例を示している。
図１２は第２のバスプロトコルの適用例を説明する図である。
【００９１】
図１２には、ＡＭＢＡのＡＰＢ（Advanced Peripheral Bus）３プロトコルの適用例を示している。
スレーブモジュール３００には、マスターモジュール１００で発行される読み出し命令信号が、インターコネクト２００を介して転送される。スレーブモジュール３００には、例えば、ＰＡＤＤＲ信号、ＰＳＥＬ信号、ＰＥＮＡＢＬＥ信号、ＰＷＲＩＴＥ信号、ＰＷＤＡＴＡ信号の各信号が転送される。
【００９２】
尚、ＰＡＤＤＲ信号は、アドレスバスを示す信号である。ＰＳＥＬ信号は、スレーブモジュール３００が選択され、転送が行われることを示す信号である。ＰＥＮＡＢＬＥ信号は、スレーブモジュール３００に対するアクセスのタイミングを示す信号である。ＰＷＲＩＴＥ信号は、書き込み又は読み出しを示す信号であって、Ｈｉｇｈの場合に書き込みを、Ｌｏｗの場合に読み出しを示す信号である。ＰＷＤＡＴＡ信号は、書き込み時のライトデータバスを示す信号である。
【００９３】
例えば、これらの信号がインターコネクト２００からスレーブモジュール３００の選択器４１０に入力される（図１２の点線矢印）。
選択器４１０のテスト信号ＴＥＳＴが、有効であることを示す“１”（Ｈｉｇｈ）に設定されている場合には、選択器４１０に入力された信号が、固定値応答回路４００に入力される。固定値応答回路４００は、その入力を受けて、当該固定値応答回路４００が設けられているスレーブモジュール３００の固定値を含む所定の信号を、選択器４１０を介してインターコネクト２００に応答する。固定値応答回路４００からは、例えば、ＰＲＤＡＴＡ信号、ＰＲＥＡＤＹ信号、ＰＳＬＶＥＲＲ信号の各信号が、インターコネクト２００に対して応答される。
【００９４】
また、選択器４１０のテスト信号ＴＥＳＴが、無効であることを示す“０”（Ｌｏｗ）に設定されている場合には、インターコネクト２００から選択器４１０に入力された信号が、バスＩ／Ｆ３１０を介して機能ブロック３２０に入力される。機能ブロック３２０は、その入力、及びスレーブモジュール３００に入力されるクロック信号等を受けて、所定の処理を実行し、その処理に応じた出力値を含む所定の信号を、バスＩ／Ｆ３１０及び選択器４１０を介してインターコネクト２００に応答する。機能ブロック３２０での処理の際、スレーブモジュール３００には、ＰＣＬＫ信号、ＰＲＥＳＥＴｎ信号が入力される。機能ブロック３２０側からは、例えば、ＰＲＤＡＴＡ信号、ＰＲＥＡＤＹ信号、ＰＳＬＶＥＲＲ信号の各信号が、インターコネクト２００に対して応答される。
【００９５】
尚、スレーブモジュール３００に入力されるＰＣＬＫ信号は、クロックを示す信号である。ＰＲＥＳＥＴｎ信号は、システムとバスをリセットする信号であって、通常動作時はＨｉｇｈとされ、リセット時にＬｏｗとされる。
【００９６】
固定値応答回路４００及びバスＩ／Ｆ３１０、並びに選択器４１０から出力されるＰＲＤＡＴＡ信号は、読み出し時のリードデータバスを示す信号であって、スレーブモジュール３００に設定された固定値、或いは機能ブロック３２０の出力値を含む。ＰＲＥＡＤＹ信号は、スレーブモジュール３００からの出力時の転送の継続又は終了を示す信号であって、Ｈｉｇｈの場合には転送が終了したことを、Ｌｏｗの場合には転送が継続していることを示す信号である。このＰＲＥＡＤＹ信号は、固定値応答回路４００からの固定値の出力時には、Ｈｉｇｈに固定される。ＰＳＬＶＥＲＲ信号は、転送状態を示す信号であり、固定値応答回路４００からの固定値の出力時には、Ｌｏｗに固定される。
【００９７】
図１２の固定値応答回路４００には、ＰＲＤＡＴＡ信号、ＰＲＥＡＤＹ信号、ＰＳＬＶＥＲＲ信号の各信号の一例を示している。
ここでは、ＡＨＢプロトコル、ＡＰＢ３プロトコルを例示したが、ＡＸＩ（Advanced eXtensible Interface）プロトコル等、その他のバスプロトコルを適用し、システムＬＳＩ１０Ａ及びそのハードウェアモデル５１０Ａを実現することも可能である。
【００９８】
尚、以上の説明では、スレーブモジュール３００の内部に固定値応答回路４００及び選択器４１０を設けたシステムＬＳＩ１０Ａ及びそのハードウェアモデル５１０Ａを例示した。
【００９９】
製造するシステムＬＳＩには、上記のような固定値応答回路４００及び選択器４１０が含まれていてもよい。この場合は、そのようなシステムＬＳＩの動作時に、選択器４１０に入力するテスト信号ＴＥＳＴを無効（“０”）に設定しておけばよい。また、選択器４１０に入力するテスト信号ＴＥＳＴを有効（“１”）に設定し、そのシステムＬＳＩの動作確認を行うこともできる。
【０１００】
製造するシステムＬＳＩには、固定値応答回路４００及び選択器４１０を設けない構成とすることもできる。この場合は、そのようなシステムＬＳＩを製造する際に行う、論理シミュレーションによる検証時に、上記のような固定値応答回路４００及び選択器４１０を設けたハードウェアモデル５１０Ａを用いるようにすればよい。
【０１０１】
次に、第２の実施の形態について説明する。
図１３は第２の実施の形態に係るシステムＬＳＩの要部の説明図である。
上記第１の実施の形態では、図３等に示したように、システムＬＳＩ１０Ａに設ける固定値応答回路４００及び選択器４１０を、スレーブモジュール３００の内部に設ける場合を例示した。この図１３に示す、第２の実施の形態に係るシステムＬＳＩ１０Ｂは、固定値応答回路４００及び選択器４１０が、スレーブモジュール３００の外部に設けられている点で、上記第１の実施の形態に係るシステムＬＳＩ１０Ａと相違する。尚、図１３には、インターコネクト２００についてはその一部を図示し、マスターモジュール１００についてはその図示を省略している。
【０１０２】
この第２の実施の形態に係るシステムＬＳＩ１０Ｂでは、固定値応答回路４００及び選択器４１０を、各スレーブモジュール３００に対応してそれぞれ設けることができる。
マスターモジュール１００で発行されたリードトランザクション等の読み出し命令信号は、インターコネクト２００から、デコード部２２０のデコード結果に応じたアクセス先のスレーブモジュール３００に対して転送される。インターコネクト２００内をアクセス先のスレーブモジュール３００に対して転送された信号は、まず、そのスレーブモジュール３００に対応して設けられた選択器４１０に入力される。
【０１０３】
テスト信号ＴＥＳＴが有効（“１”）に設定されていれば、選択器４１０に入力された信号は、選択器４１０同様、そのスレーブモジュール３００に対応して設けられた固定値応答回路４００に入力される。固定値応答回路４００は、対応するスレーブモジュール３００に設定されている固定値を含む信号を出力し、その出力信号は、選択器４１０を介してインターコネクト２００に応答され、マスターモジュール１００に返信される。
【０１０４】
テスト信号ＴＥＳＴが無効（“０”）に設定されていれば、選択器４１０に入力された信号は、対応するスレーブモジュール３００の機能ブロック３２０に、バスＩ／Ｆ３１０を介して入力される。機能ブロック３２０は、その処理を実行し、処理結果を含む信号を、バスＩ／Ｆ３１０及び選択器４１０を介してインターコネクト２００に応答する。
【０１０５】
論理シミュレーションによる検証時には、このように固定値応答回路４００及び選択器４１０を、対応するスレーブモジュール３００の外部に設けたシステムＬＳＩ１０Ｂのハードウェアモデルが用いられる。
【０１０６】
尚、製造するシステムＬＳＩには、上記のような固定値応答回路４００及び選択器４１０が含まれていてもよい。この場合は、そのようなシステムＬＳＩの動作時に、選択器４１０に入力するテスト信号ＴＥＳＴを無効（“０”）に設定しておけばよい。また、選択器４１０に入力するテスト信号ＴＥＳＴを有効（“１”）に設定し、そのシステムＬＳＩの動作確認を行うこともできる。
【０１０７】
製造するシステムＬＳＩには、固定値応答回路４００及び選択器４１０を設けない構成とすることもできる。この場合は、そのようなシステムＬＳＩを製造する際に行う、論理シミュレーションによる検証時に、上記のような固定値応答回路４００及び選択器４１０を設けたハードウェアモデルを用いるようにすればよい。
【０１０８】
第２の実施の形態のように、固定値応答回路４００及び選択器４１０を、対応するスレーブモジュール３００の外部に設ける場合にも、上記第１の実施の形態で述べたのと同様の効果を得ることができる。
【０１０９】
次に、第３の実施の形態について説明する。
図１４は第３の実施の形態に係るシステムＬＳＩの構成例を示す図、図１５は第３の実施の形態に係るシステムＬＳＩの要部の説明図である。
【０１１０】
図１４及び図１５に示す、第３の実施の形態に係るシステムＬＳＩ１０Ｃは、マスターモジュール１００（Ｍ０〜Ｍ３，Ｍ）に、読み出し命令発行回路６００（ＭＲ０〜ＭＲ３，ＭＲ）及び選択器６１０（ＭＳ０〜ＭＳ３，ＭＳ）を設けられている。このような点で、この第３の実施の形態に係るシステムＬＳＩ１０Ｃは、上記第１の実施の形態に係るシステムＬＳＩ１０Ａと相違する。
【０１１１】
読み出し命令発行回路６００は、アドレス信号ＡＤＲ０ｘＮ（Ｎ＝００００００００〜ＦＦＦＦＦＦＦＦ）を変化させるアドレスカウンタ６０１を備える。読み出し命令発行回路６００は、アドレスカウンタ６０１でセットされるアドレス信号ＡＤＲごとに、マスターモジュール１００の機能ブロック１２０（ＭＦ０〜ＭＦ３，ＭＦ）に代わって、有効なリードトランザクション等の読み出し命令信号（制御信号）を発行する。
【０１１２】
選択器６１０は、テスト信号ＴＥＳＴに基づき、バスＩ／Ｆ１１０（ＭＢ０〜ＭＢ３，ＭＢ）を介してインターコネクト２００に送信する読み出し命令信号を、読み出し命令発行回路６００から送信するか、機能ブロック１２０から送信するかの選択を行う。
【０１１３】
システムＬＳＩ１０Ｃでは、読み出し命令発行回路６００から発行された読み出し命令信号に対する応答（読み出し値ＲＤ）、及びその読み出し命令信号発行時のアドレス信号ＡＤＲが、例えば、マスターモジュール１００の外部に取り出されるようになっている。
【０１１４】
続いて、このようなシステムＬＳＩ１０Ｃのハードウェアモデルを用い、インターコネクト２００のデコード部２２０の処理動作を、論理シミュレーションによって検証する場合について説明する。
【０１１５】
システムＬＳＩ１０Ｃの論理シミュレーションによる検証には、例えば、上記図６に示したような構成を有する論理シミュレーション装置５００を用いることができる。システムＬＳＩ１０Ｃの処理動作を、このような論理シミュレーション装置５００を用いて検証する場合について、より詳細に説明する。
【０１１６】
図１６は第３の実施の形態に係る論理シミュレーション装置の一例を示す図、図１７は第３の実施の形態に係る論理シミュレーション時のマスターモジュールの説明図、図１８は第３の実施の形態に係る論理シミュレーションフローの一例を示す図である。
【０１１７】
システムＬＳＩ１０Ｃの論理シミュレーションによる検証では、図１６に示すように、システムＬＳＩ１０Ｃのハードウェアモデル５１０Ｃ（５１０）が、そのテストベンチ５５０Ｃ（５５０）と共に、論理シミュレーション装置５００に実装される。論理シミュレーション装置５００は、テストベンチ５５０Ｃ等に基づき、シミュレーション部５２０によるシミュレーションを実行する。
【０１１８】
その際、論理シミュレーション装置５００は、まず、マスターモジュール１００に設けた選択器６１０、及びスレーブモジュール３００に設けた選択器４１０に入力するテスト信号ＴＥＳＴを有効（“１”）に設定する（ステップＳ３０）。
【０１１９】
次いで、論理シミュレーション装置５００は、読み出し命令発行回路６００を起動する（ステップＳ３１）。更に、論理シミュレーション装置５００は、読み出し命令発行回路６００が備えるアドレスカウンタ６０１（図１７）により、一のアドレス信号ＡＤＲ０ｘＮをセットする。そして、論理シミュレーション装置５００は、読み出し命令発行回路６００により、セットされたアドレス信号ＡＤＲに対応する有効なリードトランザクション等の読み出し命令信号を発行する（ステップＳ３２）。
【０１２０】
マスターモジュール１００の読み出し命令発行回路６００から出力された信号は、インターコネクト２００のデコード部２２０でデコードされ、そのデコード結果が示すアクセス先のスレーブモジュール３００へと転送される。スレーブモジュール３００では、テスト信号ＴＥＳＴが有効（“１”）に設定されていることで、インターコネクト２００からの信号が、選択器４１０によって固定値応答回路４００へと送信される。固定値応答回路４００からは、当該固定値応答回路４００が含まれるスレーブモジュール３００の固定値を含む有効な信号が、インターコネクト２００に応答される。
【０１２１】
インターコネクト２００に応答された信号は、マスターモジュール１００（選択器６１０）に返信される。論理シミュレーション装置５００は、マスターモジュール１００の選択器６１０に送信された信号に含まれる固定値を、読み出し値ＲＤとして取得する（ステップＳ３３）。そして、論理シミュレーション装置５００は、その読み出し値ＲＤを、現在のアドレス信号ＡＤＲと共に、読み出し値ＤＢ５４０ａに記憶する。
【０１２２】
論理シミュレーション装置５００は、このようなシミュレーション部５２０によるシミュレーションの後、その論理シミュレーションで取得された読み出し値ＲＤについて、照合部５３０による照合処理を実行する。
【０１２３】
その際、論理シミュレーション装置５００は、図１８に示すように、読み出し値ＲＤを、期待値ＤＢ５４０ｂに記憶されている期待値ＥＸＰ（仕様書５７０に基づき各スレーブモジュール３００に設定されている固定値）と照合する（ステップＳ３４）。
【０１２４】
論理シミュレーション装置５００は、現在のアドレス信号ＡＤＲで取得された読み出し値ＲＤとその期待値ＥＸＰが一致する場合には（ステップＳ３５）、ＰＡＳＳデータを検証結果ＤＢ５４０ｃに記憶する（ステップＳ３６）。一致しない場合には（ステップＳ３５）、ＦＡＩＬデータを検証結果ＤＢ５４０ｃに記憶する（ステップＳ３７）。ＰＡＳＳデータ、ＦＡＩＬデータは、例えば論理シミュレーション装置５００にモニタが接続されていれば、そのモニタに表示させることもできる。
【０１２５】
その後、論理シミュレーション装置５００は、現在のアドレス信号ＡＤＲが最大値であるか否かを判定する（ステップＳ３８）。アドレス信号ＡＤＲが最大値でない場合には、ステップＳ３２に戻り、アドレスカウンタ６０１によってアドレス信号ＡＤＲを変化（Ｎ＝Ｎ＋１）させたうえで、ステップＳ３２以降の処理を実行する。論理シミュレーション装置５００は、アドレス信号ＡＤＲが最大値となるまで、ステップＳ３２〜Ｓ３８の処理を繰り返す。
【０１２６】
このような論理シミュレーションによれば、順次アドレス信号ＡＤＲを変化させながら有効な読み出し命令信号を発行していくため、いずれのマスターモジュール１００についても、論理シミュレーション時の制御フローが統一される。各マスターモジュール１００についてのマスターモジュール制御プログラムを不要にすることができる。そのため、マスターモジュール１００の機能ブロック１２０から読み出し命令信号を出力させる場合に比べ、インターコネクト２００のデコード部２２０の処理動作を、一層効率的に検証することができる。
【０１２７】
尚、マスターモジュール１００には、読み出し命令信号を読み出し命令発行回路６００側と機能ブロック１２０側のいずれかからインターコネクト２００に送信する選択器６１０を設けている。この選択器４１０に入力するテスト信号ＴＥＳＴを無効（“０”）に設定すれば、機能ブロック１２０で発行される読み出し命令信号を、バスＩ／Ｆ１１０を介してインターコネクト２００に送信することもできる。
【０１２８】
この第３の実施の形態では、読み出し命令発行回路６００及び選択器６１０を設けたシステムＬＳＩ１０Ｃ及びそのハードウェアモデル５１０Ｃを例示した。
製造するシステムＬＳＩには、上記のような読み出し命令発行回路６００及び選択器６１０、並びに固定値応答回路４００及び選択器４１０が含まれていてもよい。この場合は、そのようなシステムＬＳＩの動作時に、選択器６１０，４１０に入力するテスト信号ＴＥＳＴを無効（“０”）に設定しておけばよい。また、選択器６１０，４１０に入力するテスト信号ＴＥＳＴを有効（“１”）に設定し、そのシステムＬＳＩの動作確認を行うこともできる。
【０１２９】
製造するシステムＬＳＩには、読み出し命令発行回路６００及び選択器６１０、並びに固定値応答回路４００及び選択器４１０を設けない構成とすることもできる。この場合は、そのようなシステムＬＳＩを製造する際に行う、論理シミュレーションによる検証時に、上記のような読み出し命令発行回路６００、固定値応答回路４００及び選択器６１０，４１０を設けたハードウェアモデル５１０Ｃを用いるようにすればよい。
【０１３０】
尚、読み出し命令発行回路６００及び選択器６１０は、固定値応答回路４００及び選択器４１０をスレーブモジュール３００の外部に設けた、上記第２の実施の形態に係るシステムＬＳＩ１０Ｂのマスターモジュール１００にも同様に適用可能である。
【０１３１】
次に、第４の実施の形態について説明する。
図１９は第４の実施の形態に係るシステムＬＳＩの要部の説明図である。
上記第３の実施の形態では、マスターモジュール１００の内部に、読み出し命令発行回路６００及び選択器６１０を設ける場合を例示した。この図１９に示す、第４の実施の形態に係るシステムＬＳＩ１０Ｄは、読み出し命令発行回路６００及び選択器６１０が、マスターモジュール１００の外部に設けられている点で、上記第３の実施の形態に係るシステムＬＳＩ１０Ｃと相違する。尚、図１９には、インターコネクト２００についてはその一部を図示し、スレーブモジュール３００並びにその内部又は外部に設けられる固定値応答回路４００及び選択器４１０についてはその図示を省略している。
【０１３２】
この第４の実施の形態に係るシステムＬＳＩ１０Ｄでは、読み出し命令発行回路６００及び選択器６１０を、各マスターモジュール１００に対応してそれぞれ設けることができる。論理シミュレーションによる検証時には、このように読み出し命令発行回路６００及び選択器６１０を、対応するマスターモジュール１００の外部に設けたシステムＬＳＩ１０Ｄのハードウェアモデルが用いられる。
【０１３３】
尚、上記第３の実施の形態で述べたのと同様に、製造するシステムＬＳＩに読み出し命令発行回路６００、固定値応答回路４００及び選択器６１０，４１０を含め、選択器６１０，４１０に入力するテスト信号ＴＥＳＴで動作を制御するようにしてもよい。
【０１３４】
また、読み出し命令発行回路６００、固定値応答回路４００及び選択器６１０，４１０は、製造するシステムＬＳＩには設けず、論理シミュレーションによる検証時に用いるハードウェアモデルに設けるようにしてもよい。
【０１３５】
第４の実施の形態のように、読み出し命令発行回路６００及び選択器６１０を、対応するスレーブモジュール３００の外部に設ける場合にも、上記第３の実施の形態で述べたのと同様の効果を得ることができる。
【０１３６】
以上、システムＬＳＩ及びそのハードウェアモデル、並びにハードウェアモデルを用いた論理シミュレーション装置及び論理シミュレーション方法について説明した。尚、論理シミュレーション装置には、コンピュータを用いることができる。
【０１３７】
図２０は論理シミュレーション装置のハードウェアの構成例を示す図である。
論理シミュレーション装置５００は、ＣＰＵ（Central Processing Unit）５８１によって装置全体が制御されている。ＣＰＵ５８１には、バス５８８を介してＲＡＭ（Random Access Memory）５８２及び複数の周辺機器が接続されている。
【０１３８】
ＲＡＭ５８２は、論理シミュレーション装置５００の主記憶装置として使用される。ＲＡＭ５８２には、ＣＰＵ５８１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ５８２には、ＣＰＵ５８１による処理に必要な各種データが格納される。
【０１３９】
バス５８８に接続されている周辺機器としては、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）５８３、グラフィック処理装置５８４、入力Ｉ／Ｆ５８５、光学ドライブ装置５８６、及び通信Ｉ／Ｆ５８７がある。
【０１４０】
ＨＤＤ５８３は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。ＨＤＤ５８３は、論理シミュレーション装置５００の二次記憶装置として使用される。ＨＤＤ５８３には、ＯＳのプログラム、アプリケーションプログラム、及び各種データが格納される。尚、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【０１４１】
グラフィック処理装置５８４には、モニタ５９１が接続されている。グラフィック処理装置５８４は、ＣＰＵ５８１からの命令に従って、画像をモニタ５９１の画面に表示させる。モニタ５９１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置等がある。
【０１４２】
入力Ｉ／Ｆ５８５には、キーボード５９２及びマウス５９３が接続されている。入力Ｉ／Ｆ５８５は、キーボード５９２或いはマウス５９３から送られてくる信号をＣＰＵ５８１に送信する。尚、マウス５９３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
【０１４３】
光学ドライブ装置５８６は、レーザ光等を利用して、光ディスク５９４に記録されたデータの読み取りを行う。光ディスク５９４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク５９４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等がある。
【０１４４】
通信Ｉ／Ｆ５８７は、ネットワーク７００に接続されている。通信Ｉ／Ｆ５８７は、ネットワーク７００を介して、他のコンピュータ又は通信機器との間でデータの送受信を行う。
【０１４５】
以上のようなハードウェア構成によって、論理シミュレーション装置５００の処理機能を実現することができる。
論理シミュレーション装置５００の処理機能は、コンピュータによって実現され、その場合、論理シミュレーション装置５００が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ等がある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等がある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）等がある。
【０１４６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１４７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。尚、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１４８】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）等の電子回路で実現することもできる。
【０１４９】
以上説明した実施の形態に関し、更に以下の付記を開示する。
（付記１）  自ら命令を発行する第１のモジュールと、
前記第１のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第１のモジュールの接続先に転送するインターコネクトと、
前記インターコネクトによって前記第１のモジュールの接続先に指定される第２のモジュールと、
前記インターコネクトから前記第２のモジュールに対する読み出し命令信号が送信されたときに、前記読み出し命令信号を受信して前記第２のモジュール固有の固定値を前記インターコネクトに送信する固定値応答回路と、
を含むことを特徴とする集積回路装置。
【０１５０】
（付記２）  選択信号に基づいて前記読み出し命令信号を前記第２のモジュールと前記固定値応答回路のいずれかに入力させる選択器を更に含むことを特徴とする付記１に記載の集積回路装置。
【０１５１】
（付記３）  前記インターコネクトは、当該インターコネクトに送信される、アドレス信号を含む制御信号をデコードするデコード部を含み、前記デコード部のデコード結果に基づいて、前記第２のモジュールを前記第１のモジュールの接続先に指定し、
前記読み出し命令信号は、前記制御信号が前記デコード部でデコードされた信号であることを特徴とする付記１又は２に記載の集積回路装置。
【０１５２】
（付記４）  前記第１のモジュールは、前記制御信号を生成して前記インターコネクトに送信することを特徴とする付記３に記載の集積回路装置。
（付記５）  前記制御信号を生成し、生成された前記制御信号を前記インターコネクトに送信する読み出し命令発行回路を更に含むことを特徴とする付記３に記載の集積回路装置。
【０１５３】
（付記６）  前記固定値応答回路は、前記第２のモジュール内に設けられることを特徴とする付記１乃至５のいずれかに記載の集積回路装置。
（付記７）  前記固定値応答回路に、ＡＭＢＡのＡＨＢプロトコル又はＡＰＢ３プロトコルが用いられることを特徴とする付記１乃至６のいずれかに記載の集積回路装置。
【０１５４】
（付記８）  自ら命令を発行する第１のモジュールと、前記第１のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第１のモジュールの接続先に転送するインターコネクトと、前記インターコネクトによって前記第１のモジュールの接続先に指定される第２のモジュールと、前記インターコネクトから前記第２のモジュールに対する読み出し命令信号が送信されたときに、前記読み出し命令信号を受信して前記第２のモジュール固有の固定値を前記インターコネクトに送信する固定値応答回路とを含む集積回路装置のハードウェアモデルと、
前記ハードウェアモデルを用い、前記固定値応答回路に前記読み出し命令信号を受信させるシミュレーションを実行して前記固定値を取得するシミュレーション部と、
前記シミュレーション部によって取得された前記固定値と、前記集積回路装置の仕様に基づいて設定された期待値とを照合する照合部と、
を含むことを特徴とする検証装置。
【０１５５】
（付記９）  前記ハードウェアモデルは、選択信号に基づいて前記読み出し命令信号を前記第２のモジュールと前記固定値応答回路のいずれかに送信する選択器を含み、
前記シミュレーションの際には、前記選択器によって前記読み出し命令信号を前記固定値応答回路に受信させる、
ことを特徴とする付記８に記載の検証装置。
【０１５６】
（付記１０）  前記インターコネクトは、当該インターコネクトに送信される、アドレス信号を含む制御信号をデコードするデコード部を含み、前記デコード部のデコード結果に基づいて、前記第２のモジュールを前記第１のモジュールの接続先に指定し、
前記読み出し命令信号は、前記制御信号が前記デコード部でデコードされた信号であることを特徴とする付記８又は９に記載の検証装置。
【０１５７】
（付記１１）  前記シミュレーション部は、前記第１のモジュールによって前記制御信号を生成して前記インターコネクトに送信することを特徴とする付記１０に記載の検証装置。
【０１５８】
（付記１２）  前記ハードウェアモデルは、前記制御信号を生成し、生成した前記制御信号を前記インターコネクトに送信する読み出し命令発行回路を含み、
前記シミュレーション部は、前記読み出し命令発行回路によって前記制御信号を生成して前記インターコネクトに送信することを特徴とする付記１０に記載の検証装置。
【０１５９】
（付記１３）  前記シミュレーション部は、アドレス信号を変化させながら当該各アドレス信号について前記制御信号を生成することを特徴とする付記１１又は１２に記載の検証装置。
【０１６０】
（付記１４）  コンピュータが、
自ら命令を発行する第１のモジュールと、前記第１のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第１のモジュールの接続先に転送するインターコネクトと、前記インターコネクトによって前記第１のモジュールの接続先に指定される第２のモジュールと、前記インターコネクトから前記第２のモジュールに対する読み出し命令信号が送信されたときに、前記読み出し命令信号を受信して前記第２のモジュール固有の固定値を前記インターコネクトに送信する固定値応答回路とを含む集積回路装置のハードウェアモデルを用い、シミュレーション部により、前記固定値応答回路に前記読み出し命令信号を受信させるシミュレーションを実行して前記固定値を取得し、
前記シミュレーション部により取得された前記固定値と、前記集積回路装置の仕様に基づいて設定された期待値とを照合部によって照合する、
ことを特徴とすることを特徴とする検証方法。
【０１６１】
（付記１５）  コンピュータに、
自ら命令を発行する第１のモジュールと、前記第１のモジュールに接続され、受信した信号を当該信号に基づいて指定される前記第１のモジュールの接続先に転送するインターコネクトと、前記インターコネクトによって前記第１のモジュールの接続先に指定される第２のモジュールと、前記インターコネクトから前記第２のモジュールに対する読み出し命令信号が送信されたときに、前記読み出し命令信号を受信して前記第２のモジュール固有の固定値を前記インターコネクトに送信する固定値応答回路とを含む集積回路装置のハードウェアモデルを用い、シミュレーション部により、前記固定値応答回路に前記読み出し命令信号を受信させるシミュレーションを実行して前記固定値を取得し、
前記シミュレーション部により取得された前記固定値と、前記集積回路装置の仕様に基づいて設定された期待値とを照合部によって照合する、
処理を実行させることを特徴とする検証プログラム。
【符号の説明】
【０１６２】
１０  集積回路装置
１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ  システムＬＳＩ
１１，１００  マスターモジュール
１２，２００  インターコネクト
１３，３００  スレーブモジュール
１４，４００  固定値応答回路
１１０，２１０，２４０，３１０  バスＩ／Ｆ
１２０，３２０  機能ブロック
２２０  デコード部
２３０  調停部
４０１  有効転送判定回路
４０２  応答信号生成回路
４１０，６１０  選択器
５００，５００ａ  論理シミュレーション装置
５１０，５１０ａ，５１０Ａ，５１０Ｃ  ハードウェアモデル
５２０  シミュレーション部
５３０  照合部
５４０  記憶部
５４０ａ  読み出し値ＤＢ
５４０ｂ  期待値ＤＢ
５４０ｃ  検証結果ＤＢ
５５０，５５０ａ，５５０Ａ，５５０Ｃ  テストベンチ
５６０  シミュレーション情報
５６０ａ，５６０Ａ  マスターモジュール制御プログラム
５７０  仕様書
５８１  ＣＰＵ
５８２  ＲＡＭ
５８３  ＨＤＤ
５８４  グラフィック処理装置
５８５  入力Ｉ／Ｆ
５８６  光学ドライブ装置
５８７  通信Ｉ／Ｆ
５８８  バス
５９１  モニタ
５９２  キーボード
５９３  マウス
５９４  光ディスク
６００  読み出し命令発行回路
６０１  アドレスカウンタ
７００  ネットワーク
【図１】
0005789832.tif 000002
【図２】
0005789832.tif 000003
【図３】
0005789832.tif 000004
【図４】
0005789832.tif 000005
【図５】
0005789832.tif 000006
【図６】
0005789832.tif 000007
【図７】
0005789832.tif 000008
【図８】
0005789832.tif 000009
【図９】
0005789832.tif 000010
【図１０】
0005789832.tif 000011
【図１１】
0005789832.tif 000012
【図１２】
0005789832.tif 000013
【図１３】
0005789832.tif 000014
【図１４】
0005789832.tif 000015
【図１５】
0005789832.tif 000016
【図１６】
0005789832.tif 000017
【図１７】
0005789832.tif 000018
【図１８】
0005789832.tif 000019
【図１９】
0005789832.tif 000020
【図２０】
0005789832.tif 000021