(57)【要約】【課題】  本発明の課題は、プログラムされたユーザー論理を用いたＬＳＩのプロトタイピングにおいて、評価精度を向上させることを目的とする。【解決手段】  上記課題は、２つのデバイスで構成されるプロトタイピング環境を実装するＬＳＩ評価ボード装置は、有効なバストランザクションの検出に応じて、前記２つのデバイスの動作に係る回路構成のクロック停止を指示する第一指示回路と、前記クロック停止の指示に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記２つのデバイスの動作に係る回路構成のクロックの停止を制御するクロック制御回路とを有するＬＳＩ評価ボード装置により達成される。【選択図】  図１
2010276378.tif 000002
【特許請求の範囲】
【請求項１】
２つのデバイスで構成されるプロトタイピング環境を実装するＬＳＩ評価ボード装置であって、
有効なバストランザクションの検出に応じて、前記２つのデバイスの動作に係る回路構成のクロック停止を指示する第一指示回路と、
前記クロック停止の指示に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記２つのデバイスの動作に係る回路構成のクロックの停止を制御するクロック制御回路とを有することを特徴とするＬＳＩ評価ボード装置。
【請求項２】
前記第一指示回路は、前記有効なバストランザクションが前記外部バスを介して前記２つのデバイスの一方へ伝播された時に、該一方のデバイスの動作に係る回路構成へのクロック供給の再開を指示し、
前記クロック制御回路は、前記クロック供給の再開指示に応じて、前記一方のデバイスの動作に係る回路構成のクロックを再開することを特徴とする請求項１記載のＬＳＩ評価ボード装置。
【請求項３】
前記第一指示回路は、前記クロック供給を再開するまでの時間をカウントする手段を有し、一定時間後にクロック供給の再開を指示することを特徴とする請求項２記載のＬＳＩ評価ボード装置。
【請求項４】
前記クロック供給を再開するまでの時間をレジスタで設定可能とすることを特徴とする請求項３記載のＬＳＩ評価ボード装置。
【請求項５】
前記２つのデバイスは、１つが評価用ＬＳＩであり、もう１つがＦＰＧＡであることを特徴とする請求項１乃至４のいずれか一項記載のＬＳＩ評価ボード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムされたユーザー論理を用いたＬＳＩのプロトタイピングにおいて、評価精度を向上させたＬＳＩ評価ボード装置に関する。
【背景技術】
【０００２】
近年、半導体集積回路（ＬＳＩ：Large Scale Integration）の開発において、論理検証やソフトウェアの先行開発のために、評価ボードを使ってＬＳＩのプロトタイピングを行うことが行われるようになった。評価ボードでは、ＣＰＵなど既に論理が固まっている回路は評価チップ（以下、評価用ＬＳＩと言う）として搭載し、ユーザー回路などのロジックをＦＰＧＡ（Field Programmable Gate Array）に搭載した構成が広く用いられるようになっている。
【０００３】
このような構成では、高周波で動作する評価用ＬＳＩと評価用ＬＳＩと比べて低周波で動作するＦＰＧＡとの間のバスを、評価用ＬＳＩとＦＰＧＡ各々に備えられた外部バスインタフェースを介して接続するようにし、各外部バスインタフェース内では複数段のフリップフロップを構成することが多い。また、評価用ＬＳＩの内部バスをＦＰＧＡに拡張する場合に、信号数を減らすためにバス信号をマルチプレクスしたり、シリアル化するようにした外部バスインタフェースなどが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２４２１０４号公報
【特許文献２】特開２００５−５００３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、外部バスインタフェース内の複数段のフリップフロップ、マルチプレクサ、もしくはパラレル−シリアル変換回路が原因となって、評価ボードを用いたプロトタイピング検証では、実際のＬＳＩに比べてアクセスレイテンシーが大きくなり、このためサイクルベースでのパフォーマンス見積もりを正確に行えないという問題があった。
【課題を解決するための手段】
【０００６】
開示の２つのデバイスで構成されるプロトタイピング環境を実装するＬＳＩ評価ボード装置は、有効なバストランザクションの検出に応じて、前記２つのデバイスの動作に係る回路構成のクロック停止を指示する第一指示回路と、前記クロック停止の指示に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記２つのデバイスの動作に係る回路構成のクロックの停止を制御するクロック制御回路とを有するように構成される。
【発明の効果】
【０００７】
開示のＬＳＩ評価ボード装置において、サイクルベースで実際のＬＳＩと同じタイミングで評価できるプロトタイピング環境を実現できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第一実施例に係るＦＰＧＡにスレーブモジュールを搭載した回路構成例を示す図である。
【図２】図１に示す回路構成例におけるプロトタイピング正確化を実現するためのタイミングチャート図である。
【図３】図１の回路構成例におけるクロック停止信号生成回路の動作を説明するためのフローチャート図である。
【図４】図１の回路構成例におけるバスアクセス検出回路の動作を説明するためのフローチャート図である。
【図５】ドメイン２が隠蔽される様子を説明するための図である。
【図６】本発明の第二実施例に係るＦＰＧＡにマスターモジュールを搭載した回路構成例を示す図である。
【図７】図６に示す回路構成例におけるプロトタイピング正確化を実現するためのタイミングチャート図である。
【図８】図６の回路構成例におけるクロック停止信号生成回路の動作を説明するためのフローチャート図である。
【図９】図６の回路構成例におけるバスアクセス検出回路の動作を説明するためのフローチャート図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。以下に説明する各実施例では、評価ボードにおいて評価用ＬＳＩとＦＰＧＡとが接続されている例で説明する。評価用ＬＳＩはハードウェア設計後に完成済みの実ＬＳＩであり、ＦＰＧＡには開発中のユーザー論理に基づくプログラムが搭載されている。ユーザー論理のプログラムは、プロトタイピングによる検証及び評価の結果がフィードバックされた後にハードウェア設計され、評価用ＬＳＩと組み合わされて一の実チップとして製品化されるものである。
【００１０】
先ず、評価用ＬＳＩがマスターモジュールとなり、ＦＰＧＡにスレーブモジュールを搭載する構成を第一実施例として説明する。図１は、本発明の第一実施例に係るＦＰＧＡにスレーブモジュールを搭載した回路構成例を示す図である。図１において、評価用ＬＳＩ１０５とＦＰＧＡ１０６とが、評価ボード１０７上に実装され電気的接続が確立している。
【００１１】
評価用ＬＳＩ１０５は、ＣＰＵ（Central Processing Unit）１００と、バスマトリックス１０１ａと、スレーブモジュール１０３ａと、外部バスＩ／Ｆ（インタフェース）１０４ａと、クロック制御回路２０４と、クロック停止信号生成回路２０５とを有する。また、ＦＰＧＡ１０６は、バスマトリックス１０１ｂと、スレーブモジュール１０３ｂと、外部バスＩ／Ｆ１０４ｂと、バスアクセス検出回路２０６とを有する。
【００１２】
評価用ＬＳＩ１０５における、ＣＰＵ１００と、バスマトリックス１０１ａと、スレーブモジュール１０３ａとが実装され高周波で動作する高周波動作領域をドメイン１（Ｄ１）とする。また、アクセスレイテンシーが発生する外部バス１９を介したデータ転送領域をドメイン２（Ｄ２）とする。更に、ＦＰＧＡ１０６における、バスマトリックス１０１ｂと、スレーブモジュール１０３ｂとが実装され低周波で動作する低周波動作領域をドメイン３（Ｄ３）とする。
【００１３】
評価用ＬＳＩ１０５において、ＣＰＵ１００は、クロック制御回路２０４からのクロックＣＬＫ１の供給によって動作し、スレーブモジュール１０３ａ及びＦＰＧＡ１０６のユーザー論理を搭載したスレーブモジュール１０３ｂを含むシステム制御を行う。
【００１４】
バスマトリックス１０１ａは、例えば、一般的なＶＡＬＩＤ信号及びＲＥＡＤＹ信号を使用し、モジュール間におけるデータ転送を制御する。ＶＡＬＩＤ信号は、送信側モジュールがアドレスやデータと共に受信側モジュールへ送る信号であり、スレーブ側はアドレスやデータ受信できる状態になるとＲＥＡＤＹ信号を送信する。
【００１５】
スレーブモジュール１０３ａは、ハードウェア開発済みモジュールである。外部バスＩ／Ｆ１０４ａは、評価用ＬＳＩ１０５とＦＰＧＡ１０６間のデータ転送するための、評価ボード１０７に備えられる外部バス１９に接続するためのインタフェースであり、複数段のフリップフロップ１４ａを備えている。
【００１６】
クロック制御回路２０４は、評価ボード１０７に実装される各構成回路へのクロック供給を制御するための回路である。アクセスレイテンシーを隠蔽してプロトタイピング正確化を実現するために、クロック制御回路２０４は、高周波動作領域のドメイン１（Ｄ１）へのクロックＣＬＫ１及び低周波動作領域のドメイン３（Ｄ３）へのクロックＣＬＫ３の供給停止及びその解除を行なう。
【００１７】
クロック停止信号生成回路２０５は、評価用ＬＳＩ１０５内部のバスマトリックス１０１ａと外部バスＩ／Ｆ１０４ａとの間に接続される。クロック停止信号生成回路２０５は、有効なバスアクセスが来たことをトリガーにしてクロック制御回路２０４にクロック停止指示信号を送出する。
【００１８】
ＦＰＧＡ１０６において、バスマトリックス１０１ｂは、評価用ＬＳＩ１０５におけるバスマトリックス１０１ａと同様に、例えば、一般的なＶＡＬＩＤ信号及びＲＥＡＤＹ信号を使用し、モジュール間におけるデータ転送を制御する。
【００１９】
スレーブモジュール１０３ｂは、プログラミング言語によって開発されたユーザー論理がロードされたモジュールである。例えば、ＶｅｒｉｌｏｇＨＤＬ（Hardware Description Language）、ＶＨＤＬ（Very High Speed Integrated Circuit Hardware Description Language）などのハードウェア記述言語によってプログラムされたモジュールである。外部バスＩ／Ｆ１０４ｂは、評価用ＬＳＩ１０５とＦＰＧＡ１０６間のデータ転送するための、評価ボード１０７に備えられる外部バス１９に接続するためのインタフェースであり、複数段のフリップフロップ１４ｂを備えている。
【００２０】
バスアクセス検出回路２０６は、ＦＰＧＡ１０６内部のバスマトリックス１０１ｂと外部バスＩ／Ｆ１０４ｂとの間に接続される。バスアクセス検出回路２０６は、バスアクセスを検出すると評価用ＬＳＩ１０５のクロック停止信号生成回路２０５へクロック再供給のための信号を送出する。
【００２１】
図１に示す第一実施例に係る回路構成例におけるバスアクセスとクロックの動作について、図２に示すタイミングチャートを用いて説明する。図２は、図１に示す回路構成例におけるプロトタイピング正確化を実現するためのタイミングチャート図である。
【００２２】
図２（ａ）はクロック制御回路２０４からドメイン１（Ｄ１）へ供給されるクロックＣＬＫ１の状態を示し、図２（ｂ）はクロック制御回路２０４からドメイン３（Ｄ３）へ供給されるクロックＣＬＫ３の状態を示す。図２（ｃ）はクロック停止信号生成回路２０５を通過するＶＡＬＩＤ信号ＳＧ１の状態を示す。
【００２３】
図２（ｄ）はバスアクセス検出回路２０６からのクロックＣＬＫ３を再開させるためのＣＬＫ３停止解除信号ＳＧ２の状態を示し、図２（ｅ）はバスアクセス検出回路２０６からのクロックＣＬＫ３を停止するためのＣＬＫ３停止指示信号ＳＧ３の状態を示す。
【００２４】
図２（ｆ）はクロック停止信号生成回路２０５を通過するＲＥＡＤＹ信号ＳＧ４の状態を示す。図２（ｇ）はクロック停止信号生成回路２０５からのクロックＣＬＫ１を停止させるためのＣＬＫ１停止指示信号ＳＧ５の状態を示し、図２（ｈ）はクロック停止信号生成回路２０５からのクロックＣＬＫ３を停止させるためのＣＬＫ３停止指示信号ＳＧ６の状態を示す。
【００２５】
時刻Ｔ１−Ｔ２にて、評価用ＬＳＩ１０５において、クロック停止信号生成回路２０５は、バスマトリックス１０１ａを介してＣＰＵ１００からのＶＡＬＩＤ信号ＳＧ１を検出すると、ドメイン１（Ｄ１）へのクロックＣＬＫ１の停止を指示するＣＬＫ１停止指示信号ＳＧ５と、ドメイン３（Ｄ３）へのクロックＣＬＫ３の停止を指示するＣＬＫ３停止指示信号ＳＧ６とを生成して、クロック制御回路２０４へ送信する。クロック制御回路２０４は、クロック停止信号生成回路２０５からクロック停止指示信号ＳＧ５とＣＬＫ３停止指示信号ＳＧ６とを受信すると、評価用ＬＳＩ１０５のドメイン１（Ｄ１）へのクロックＣＬＫ１と、ＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３とを停止させる。
【００２６】
時刻Ｔ２−Ｔ３にて、外部バス１９に係るドメイン２（Ｄ２）へのクロックだけが供給され、バス信号により有効なバストランザクションがＦＰＧＡ１０６に伝播される。
【００２７】
時刻Ｔ３−Ｔ４にて、有効なバストランザクションがＦＰＧＡ１０６に伝播され、外部バスＩ／Ｆ１０４ｂを通過したＶＡＬＩＤ信号ＳＧ１を検出すると、バスアクセス検出回路２０６は、クロック停止信号生成回路２０５へとＣＬＫ３停止解除信号ＳＧ２を送信する。これを受け、クロック停止信号生成回路２０５はＦＰＧＡ１０６に対するＣＬＫ３停止指示信号ＳＧ６を解除し、その解除に応じて、クロック生成回路２０４はＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３の供給を再開する。
【００２８】
この際、バスアクセス検出回路２０６の替わりに、バス信号により有効なバストランザクションがＦＰＧＡ１０６に伝播するまでの期間として予め設定した期間をカウント後、クロック停止信号生成回路２０５へクロックＣＬＫ３を再開させるためにＣＬＫ３停止解除信号ＳＧ２を出力するように構成してもよい。更に、その期間をレジスタに設定できる構成にすることで、外部バスＩ／Ｆ１０４ａ及び１０４ｂの仕様に合わせてカウント期間を設定可能な構成としてもよい。また、ＣＬＫ３停止解除信号ＳＧ２は、クロック停止信号生成回路２０５ではなく、直接クロック制御回路２０４へ接続する構成でもよい。
【００２９】
時刻Ｔ４−Ｔ５にて、ＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３が供給再開されると、ＦＰＧＡ１０６のスレーブモジュール１０３ｂからレスポンスが送信され、バスマトリックス１０１ｂからＲＥＡＤＹ信号が送出される。
【００３０】
時刻Ｔ５−Ｔ６にて、バスアクセス検出回路２０６がＲＥＡＤＹ信号を検出すると、クロック停止信号生成回路２０５へクロックＣＬＫ３を停止させるためにＣＬＫ３停止指示信号ＳＧ３を送信する。クロック制御回路２０４は、このＣＬＫ３停止指示信号ＳＧ３を受けると、クロック制御回路２０４にＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３を停止させるためにＣＬＫ３停止指示信号ＳＧ６を送信する。このＣＬＫ３停止指示信号ＳＧ６を受けると、クロック制御回路２０４はＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３の供給を停止する。
【００３１】
時刻Ｔ６−Ｔ７にて、外部バス１９に係るドメイン２（Ｄ２）へのクロックだけが供給され、バス信号により有効なバストランザクションが評価用ＬＳＩ１０５に伝播される。
【００３２】
時刻Ｔ７−Ｔ８にて、有効なバストランザクションが評価用ＬＳＩ１０５に伝播されることにより、クロック停止信号生成回路２０５を通過するＲＥＡＤＹ信号ＳＧ４に応じて、クロック停止信号生成回路２０５は評価用ＬＳＩのクロック停止指示信号ＳＧ５を解除し、評価用ＬＳＩ１０５のドメイン１（Ｄ１）へのクロックＣＬＫ１の供給が再開される。
【００３３】
図３は、図１の回路構成例におけるクロック停止信号生成回路の動作を説明するためのフローチャート図である。図３において、評価用ＬＳＩ１０５のクロック停止信号生成回路２０５は、ＶＡＬＩＤ信号の立ち上がり（positive edge）を検出すると（ステップＳ１１１）、クロックＣＬＫ１及びＣＬＫ３を停止させるためのＣＬＫ１停止指示信号ＳＧ５及びＣＬＫ３停止指示信号ＳＧ６を生成して、クロック制御回路２０４へと送出する（ステップＳ１１２）。一方、ステップＳ１１１にて、ＶＡＬＩＤ信号の立ち上がりを検出しない間は待ち状態となる。
【００３４】
クロック停止信号生成回路２０５は、タイマーをカウントダウンして（ステップＳ１１３）、カウントダウンしたタイマー用のカウンタの値がゼロであるか否かを判断する（ステップＳ１１４）。カウンタの値がゼロでなければ、ステップＳ１１３に戻り更にカウントダウンを行う。カウンタの値がゼロになったら、クロック停止信号生成回路２０５は、カウンタの値を初期値に戻し、クロックＣＬＫ３を停止させていたＣＬＫ３停止指示信号ＳＧ６を解除する（ステップＳ１１５）。従って、ＦＰＧＡ１０６のドメイン３（Ｄ３）に対するクロックＣＬＫ３の供給がクロック制御回路２０４によって再開される。
【００３５】
その後、クロック停止信号生成回路２０５は、ＲＥＡＤＹ信号の立ち上がり（positive
edge）を検出すると（ステップＳ１１６）、ドメイン１（Ｄ１）へのクロックＣＬＫ１の供給を再開させるためにＣＬＫ１停止指示信号ＳＧ５を解除して（ステップＳ１１７）、ステップＳ１１１へと戻り上記同様の処理を繰り返す。一方、ステップＳ１１６にて、ＲＥＡＤＹ信号の立ち上がりを検出しない間は待ち状態となる。
【００３６】
上述した処理フローにおいて、バスアクセス検出回路２０６からＣＬＫ３停止解除信号ＳＧ２を受けて、ＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３の供給を再開させる場合には、ステップＳ１１３、Ｓ１１４、及びＳ１１５を有するタイマー処理Ｓ１１０は省略される。
【００３７】
図４は、図１の回路構成例におけるバスアクセス検出回路２０６の動作を説明するためのフローチャート図である。図４において、ＦＰＧＡ１０６のバスアクセス検出回路２０６は、ＶＡＬＩＤ信号の立ち上がり（positive edge）を検出すると（ステップＳ１２１）、クロックＣＬＫ３の供給を再開させるためにＣＬＫ３停止解除信号ＳＧ２をクロック停止信号生成回路２０５へ送信する（ステップＳ１２２）。
【００３８】
その後、ＲＥＡＤＹ信号の立ち上がり（positive edge）を検出すると（ステップＳ１２３）、バスアクセス検出回路２０６は、ＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３を停止させるためにＣＬＫ３停止指示信号ＳＧ３を生成して、クロック停止信号生成回路２０５へ送信する（ステップＳ１２４）。そして、ステップＳ１２１へ戻り上記同様の処理を繰り返す。
【００３９】
上述した処理フローにおいて、クロック停止信号生成回路２０５がタイマー機能を備え、自身でＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３の供給を再開させる場合には、ステップＳ１２１及びＳ１２２を有するＣＬＫ３停止解除処理Ｓ１２０は省略される。
【００４０】
このように、外部バスＩ／Ｆ１０４ａ及び１０４ｂ内のフリップフロップ１４ａ及び１４ｂによるアクセスレイテンシーを隠蔽することによって、例えば、図５に示すように、外部バス１９に係るドメイン２（Ｄ２）が存在しない実チップ１０８と同様のタイミングでプロトタイピング検証を行うことができる。
【００４１】
図５は、ドメイン２が隠蔽される様子を説明するための図である。図５において、第一実施例における評価ボード１０７上に構成された評価用ＬＳＩ１０５及びＦＰＧＡ１０６によるＬＳＩのプロトタイプでは、外部バス１９を介してなされるＶＡＬＩＤ信号及びＲＥＡＤＹ信号の受け渡しにおいて、ドメイン１（Ｄ１）及び／又はドメイン３（Ｄ３）のクロックを一時的に停止させることによって、ドメイン２（Ｄ２）で起こりうるアクセスレイテンシーによる影響を隠蔽することができ、評価用ＬＳＩ１０５のドメイン１（Ｄ１）とＦＰＧＡ１０６のドメイン２（Ｄ２）とを有するが、外部バス１９に係るドメイン２（Ｄ２）が存在しない実チップ１０８と同様のタイミングでプロトタイピング検証を行うことができる。実チップ１０８を用いて検証した場合と同様の評価精度を得ることができる。
【００４２】
次に、ＦＰＧＡにマスターモジュールを搭載する構成を第二実施例として説明する。図６は、本発明の第二実施例に係るＦＰＧＡにマスターモジュールを搭載した回路構成例を示す図である。図６において、評価用ＬＳＩ１０５とＦＰＧＡ１０６とが評価ボード１０７上に実装され、電気的接続が確立している。
【００４３】
評価用ＬＳＩ１０５は、ＣＰＵ（Central Processing Unit）１００と、バスマトリックス１０１ａと、スレーブモジュール１０３ａと、外部バスＩ／Ｆ（インタフェース）１０４ａと、クロック制御回路２０４と、クロック停止信号生成回路２０５とを有する。また、ＦＰＧＡ１０６は、バスマトリックス１０１ｂと、マスターモジュール３０１と、外部バスＩ／Ｆ１０４ｂと、バスアクセス検出回路２０６とを有する。
【００４４】
評価用ＬＳＩ１０５における、ＣＰＵ１００と、バスマトリックス１０１ａと、スレーブモジュール１０３ａとが実装され高周波で動作する高周波動作領域をドメイン１（Ｄ１）とする。また、アクセスレイテンシーが発生する外部バス１９を介したデータ転送領域をドメイン２（Ｄ２）とする。更に、ＦＰＧＡ１０６における、バスマトリックス１０１ｂと、マスターモジュール３０１とが実装され低周波で動作する低周波動作領域をドメイン３（Ｄ３）とする。
【００４５】
評価用ＬＳＩ１０５において、ＣＰＵ１００は、クロック制御回路２０４からのクロックＣＬＫ１の供給によって動作し、スレーブモジュール１０３ａ及びＦＰＧＡ１０６のユーザー論理を搭載したマスターモジュール３０１を含むシステム制御を行う。
【００４６】
バスマトリックス１０１ａ、複数段のフリップフロップ１４ａを備えたスレーブモジュール１０３ａ、クロック制御回路２０４、及びクロック停止信号生成回路２０５の各機能については、第一実施例と同様であるのでその説明を省略する。但し、クロック制御回路２０４、及びクロック停止信号生成回路２０５の各々の処理手順は、第一実施例と異なるため後述される。
【００４７】
ＦＰＧＡ１０６において、マスターモジュール３０１は、プログラミング言語によって開発されたユーザー論理がロードされたモジュールである。例えば、ＶｅｒｉｌｏｇＨＤＬ（Hardware Description Language）、ＶＨＤＬ（Very High Speed Integrated Circuit Hardware Description Language）などのハードウェア記述言語によってプログラムされたモジュールである。
【００４８】
バスマトリックス１０１ｂ、外部バスＩ／Ｆ１０４ｂ、及びバスアクセス検出回路２０６の各機能については、第一実施例と同様であるのでその説明を省略する。但し、バスアクセス検出回路２０６の処理手順は、第一実施例と異なるため後述される。
【００４９】
図６に示す第二実施例に係る回路構成例におけるバスアクセスとクロックの動作について、図７に示すタイミングチャートを用いて説明する。図７は、図６に示す回路構成例におけるプロトタイピング正確化を実現するためのタイミングチャート図である。
【００５０】
図７（ａ）はクロック制御回路２０４からドメイン１（Ｄ１）へ供給されるクロックＣＬＫ１の状態を示し、図７（ｂ）はクロック制御回路２０４からドメイン３（Ｄ３）へ供給されるクロックＣＬＫ３の状態を示す。図７（ｃ）はバスアクセス検出回路２０６からのクロックＣＬＫ１及びＣＬＫ３を停止するためのＣＬＫ１及びＣＬＫ３停止指示信号ＳＧＮ１の状態を示す。
【００５１】
図７（ｄ）はクロック停止信号生成回路２０５を通過するＶＡＬＩＤ信号ＳＧＮ２の状態を示し、図７（ｅ）はクロック停止信号生成回路２０５を通過するＲＥＡＤＹ信号ＳＧＮ３の状態を示す。
【００５２】
図７（ｆ）はバスアクセス検出回路２０６からのクロックＣＬＫ３を再開させるためのＣＬＫ３停止解除信号ＳＧＮ４の状態を示す。図７（ｇ）はクロック停止信号生成回路２０５からのクロックＣＬＫ１を停止させるためのＣＬＫ１停止指示信号ＳＧＮ５の状態を示し、図７（ｈ）はクロック停止信号生成回路２０５からのクロックＣＬＫ３を停止させるためのＣＬＫ３停止指示信号ＳＧＮ６の状態を示す。
【００５３】
時刻Ｔ１−Ｔ２にて、ＦＰＧＡ１０６において、マスターモジュール３０１からのアドレス又はデータの送信に伴い、バスマトリックス１０１ｂからのＶＡＬＩＤ信号がバスアクセス検出回路２０６を通過すると、バスアクセス検出回路２０６はクロック停止指示信号ＳＧＮ１を、外部バス１９を介して評価用ＬＳＩ１０５のクロック停止信号生成回路２０５へ送信する。評価用ＬＳＩ１０５において、クロック停止信号生成回路２０５は、このクロック停止指示信号ＳＧＮ１を受信すると、ドメイン１（Ｄ１）へのクロックＣＬＫ１の停止を指示するＣＬＫ１停止指示信号ＳＧＮ５と、ドメイン３（Ｄ３）へのクロックＣＬＫ３の停止を指示するＣＬＫ３停止指示信号ＳＧＮ６とをクロック制御回路２０４へ送信する。クロック制御回路２０４は、クロック停止信号生成回路２０５からＣＬＫ１停止指示信号ＳＧＮ５とＣＬＫ３停止指示信号ＳＧＮ６とを受信すると、評価用ＬＳＩ１０５のドメイン１（Ｄ１）へのクロックＣＬＫ１と、ＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３とを停止させる。
【００５４】
時刻Ｔ２−Ｔ３にて、外部バス１９に係るドメイン２（Ｄ２）へのクロックだけが供給され、バス信号により有効なバストランザクションが評価用ＬＳＩ１０５に伝播される。
【００５５】
時刻Ｔ３−Ｔ４にて、有効なバストランザクションが評価用ＬＳＩ１０５に伝播され、クロック停止信号生成回路２０５を通過するＶＡＬＩＤ信号ＳＧＮ２を検出すると、クロック停止信号生成回路２０５はＣＬＫ１停止指示信号ＳＧＮ５を解除し、その解除に応じて、クロック生成回路２０４は評価用ＬＳＩ１０５のドメイン１（Ｄ１）へのクロックＣＬＫ１の供給を再開する。
【００５６】
時刻Ｔ４−Ｔ５にて、評価用ＬＳＩ１０５では、クロックＣＬＫ１の供給によって、スレーブモジュール１０３ａからＦＰＧＡ１０６のマスターモジュール３０１へレスポンスが送信され、バスマトリックス１０１ａからのＲＥＡＤＹ信号ＳＧＮ３が送信される。
【００５７】
時刻Ｔ５−Ｔ６にて、バスマトリックス１０１ａからのＲＥＡＤＹ信号ＳＧＮ３がクロック停止信号生成回路２０５を通過すると、クロック停止信号生成回路２０５からクロック制御回路２０４へ、評価用ＬＳＩ１０５のドメイン１（Ｄ１）へのクロックＣＬＫ１を停止するためのＣＬＫ１停止指示信号ＳＧＮ５が送信される。ＣＬＫ１停止指示信号ＳＧＮ５を受信すると、クロック制御回路２０４は、ドメイン１（Ｄ１）へのクロックＣＬＫ１の供給を停止する。
【００５８】
時刻Ｔ６−Ｔ７にて、外部バス１９に係るドメイン２（Ｄ２）へのクロックだけが供給され、バス信号により有効なバストランザクションがＦＰＧＡ１０６に伝播される。
【００５９】
時刻Ｔ７−Ｔ８にて、有効なバストランザクションがＦＰＧＡ１０６に伝播されることにより、外部バスＩ／Ｆ１０４ｂを通過したＲＥＡＤＹ信号をバスアクセス検出回路２０６が検出し、ＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３の供給を再開させるためにＬＣＫ３停止解除信号ＳＧＮ４をクロック停止信号生成回路２０５へ送信する。評価用ＬＳＩ１０５において、クロック停止信号生成回路２０５は、ＣＬＫ３停止指示信号ＳＧＮ６を解除し、ＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３の供給が再開される。
【００６０】
図８は、図６の回路構成例におけるクロック停止信号生成回路２０５の動作を説明するためのフローチャート図である。図６において、評価用ＬＳＩ１０５のクロック停止信号生成回路２０５は、外部バス１９を介してＶＡＬＩＤ信号の立ち上がり（positive edge）を検出すると（ステップＳ３１１）、ＣＬＫ１停止指示信号ＳＧＮ５を解除して、評価用ＬＳＩ１０５のドメイン１（Ｄ１）へのクロックＣＬＫ１の供給停止を解除させる（ステップＳ１１２）。このＣＬＫ１停止指示信号ＳＧＮ５の解除によって、ＦＰＧＡ１０６のバスアクセス検出回路２０６からのクロック停止指示信号ＳＧＮ１に応じて停止されていたクロックＣＬＫ１及びＣＬＫ３のうち、評価用ＬＳＩ１０５のドメイン１（Ｄ１）に対するクロックＣＬＫ１の供給がクロック制御回路２０４によって再開される。一方、ステップＳ３１１にて、ＶＡＬＩＤ信号の立ち上がりを検出しない間は待ち状態となる。
【００６１】
ＣＬＫ１停止指示信号ＳＧＮ５の解除後、評価用ＬＳＩ１０５のスレーブモジュール１０３ａからのＲＥＡＤＹ信号の立ち上がり（positive edge）を検出すると（ステップＳ３１３）、評価用ＬＳＩ１０５のドメイン１（Ｄ１）へのクロックＣＬＫ１を停止させるためのＣＬＫ１停止指示信号ＳＧＮ５を生成して、クロック制御回路２０４に送信する（ステップＳ３１４）。
【００６２】
クロック停止信号生成回路２０５は、タイマーをカウントダウンして（ステップＳ３１５）、カウントダウンしたタイマー用のカウンタの値がゼロであるか否かを判断する（ステップＳ３１６）。カウンタの値がゼロでなければ、ステップＳ３１５に戻り更にカウントダウンを行う。カウンタの値がゼロになったら、クロック停止信号生成回路２０５は、カウンタの値を初期値に戻し、クロックＣＬＫ３を停止させていたＣＬＫ３停止指示信号ＳＧＮ６を解除する（ステップＳ３１７）。従って、ＦＰＧＡ１０６のドメイン３（Ｄ３）に対するクロックＣＬＫ３の供給がクロック制御回路２０４によって再開される。
【００６３】
そして、クロック停止信号生成回路２０５は、ステップＳ３１１へ戻り上記の処理を繰り返す。
【００６４】
上述した処理フローにおいて、バスアクセス検出回路２０６からＣＬＫ３停止解除信号ＳＧＮ２を受けて、ＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３の供給を再開させる場合には、ステップＳ３１５、Ｓ３１６、及びＳ３１７を有するタイマー処理Ｓ３１０は省略される。
【００６５】
図９は、図６の回路構成例におけるバスアクセス検出回路の動作を説明するためのフローチャート図である。図９において、ＦＰＧＡ１０６のバスアクセス検出回路２０６は、ＶＡＬＩＤ信号の立ち上がり（positive edge）を検出すると（ステップＳ３２１）、クロックＣＬＫ１及びＣＬＫ３を停止させるためにクロック停止指示信号ＳＧＮ１を生成して、評価用ＬＳＩ１０５に送信する（ステップＳ３２２）。よって、クロック制御回路２０４により評価用ＬＳＩ１０５のドメイン１（Ｄ１）へのクロックＣＬＫ１と、ＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３とが停止される。
【００６６】
その後、ＲＥＡＤＹ信号の立ち上がり（positive edge）を検出すると（ステップＳ３２３）、バスアクセス検出回路２０６は、ＣＬＫ３停止解除信号ＳＧＮ４を送信して、評価用ＬＳＩ１０５のクロック制御回路２０４によってＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３の供給を再開させる（ステップＳ３２４）。
【００６７】
上述した処理フローにおいて、クロック停止信号生成回路２０５がタイマー機能を備え、自身でＦＰＧＡ１０６のドメイン３（Ｄ３）へのクロックＣＬＫ３の供給を再開させる場合には、ステップＳ３２３及びＳ３２４を有するＣＬＫ３停止解除処理Ｓ３２０は省略される。
【００６８】
このように、第一実施例及び第二実施例によれば、高周波数で動作する評価用ＬＳＩと、評価用ＬＳＩより低い周波数で動作するユーザー論理がプログラムされたＦＰＧＡとで構成されるプロトタイピング環境においても、サイクルベースでは擬似的に外部バスＩ／Ｆ１０４ａ及び１０４ｂ内のフリップフロップ１４ａ及び１４ｂがない実チップでの検証と同様のタイミングで動作させることができ、パフォーマンス見積もりなどのプロトタイピング検証時の評価精度を向上させることができる。
【００６９】
以上の説明に関し、更に以下の項を開示する。
（付記１）
２つのデバイスで構成されるプロトタイピング環境を実装するＬＳＩ評価ボード装置であって、
有効なバストランザクションの検出に応じて、前記２つのデバイスの動作に係る回路構成のクロック停止を指示する第一指示回路と、
前記クロック停止の指示に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記２つのデバイスの動作に係る回路構成のクロックの停止を制御するクロック制御回路とを有することを特徴とするＬＳＩ評価ボード装置。
（付記２）
前記第一指示回路は、前記有効なバストランザクションが前記外部バスを介して前記２つのデバイスの一方へ伝播された時に、該一方のデバイスの動作に係る回路構成へのクロック供給の再開を指示し、
前記クロック制御回路は、前記クロック供給の再開指示に応じて、前記一方のデバイスの動作に係る回路構成のクロックを再開することを特徴とする付記１記載のＬＳＩ評価ボード装置。
（付記３）
前記第一指示回路は、前記クロック供給を再開するまでの時間をカウントする手段を有し、一定時間後にクロック供給の再開を指示することを特徴とする付記２記載のＬＳＩ評価ボード装置。
（付記４）
前記クロック供給を再開するまでの時間をレジスタで設定可能とすることを特徴とする付記３記載のＬＳＩ評価ボード装置。
（付記５）
前記２つのデバイスは、１つが評価用ＬＳＩであり、もう１つがＦＰＧＡであることを特徴とする付記１乃至４のいずれか一項記載のＬＳＩ評価ボード装置。
（付記６）
前記第一指示回路は、前記評価用ＬＳＩに備えられる回路であり、
該評価用ＬＳＩにて発生した前記有効なバストランザクションの検出に応じて、前記クロック制御回路に前記評価用ＬＳＩと前記ＦＰＧＡの動作に係る回路構成のクロック停止を指示し、
前記有効なバストランザクションが前記外部バスを介して前記ＦＰＧＡへ伝播された時に、該ＦＰＧＡの動作に係る回路構成へのクロック供給の再開を指示することを特徴とする付記５記載のＬＳＩ評価ボード装置。
（付記７）
前記ＦＰＧＡに備えられ、前記有効なバストランザクションに対するレスポンスの発生時に、該ＦＰＧＡの動作に係る回路構成のクロックの停止を指示する第二指示回路を有することを特徴とする付記６記載のＬＳＩ評価ボード装置。
（付記８）
第一指示回路は、前記レスポンスの通過時に、前記評価用ＬＳＩの動作に係る回路構成のクロック供給の再開を指示することを特徴とする付記７記載のＬＳＩ評価ボード装置。
（付記９）
前記ＦＰＧＡに備えられ、該ＦＰＧＡにおける有効なバストランザクションの発生に応じて、前記第一指示回路へ前記評価用ＬＳＩと前記ＦＰＧＡの動作に係る回路構成のクロック停止を指示するクロック停止指示信号を送信する第二指示回路を有し、
前記第一指示回路は、前記評価用ＬＳＩに備えられ、前記クロック停止指示信号の受信に応じて、前記クロック制御回路に前記評価用ＬＳＩと前記ＦＰＧＡの動作に係る回路構成のクロック停止を指示することを特徴とする付記５記載のＬＳＩ評価ボード装置。
（付記１０）
前記第一指示回路は、前記外部バスを介して受信した前記有効なバストランザクションの検出に応じて、前記クロック制御回路に前記評価用ＬＳＩの動作に係る回路構成のクロック供給の再開を指示することを特徴とする付記９記載のＬＳＩ評価ボード装置。
（付記１１）
前記第一指示回路は、前記評価用ＬＳＩで発生した有効なバストランザクションの検出に応じて、前記評価用ＬＳＩと前記ＦＰＧＡの動作に係る回路構成のクロック停止を指示し、
前記有効なバストランザクションが前記外部バスを介して前記ＦＰＧＡへ伝播された時に、前記クロック制御回路に該ＦＰＧＡの動作に係る回路構成へのクロック供給の再開を指示することを特徴とする付記１０記載のＬＳＩ評価ボード装置。
（付記１２）
評価用ＬＳＩとＦＰＧＡとを有するプロトタイピング環境において、該評価用ＬＳＩに備えられるクロック停止信号生成回路であって、
前記評価用ＬＳＩにて発生した有効なバストランザクションの検出に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記評価用ＬＳＩと前記ＦＰＧＡの動作に係る回路構成のクロック停止を指示する手段を有することを特徴とするクロック停止信号生成回路。
（付記１３）
前記有効なバストランザクションが前記外部バスを介して前記２つのデバイスの一方へ伝播された時に、該一方のデバイスの動作に係る回路構成へのクロック供給の再開を指示する手段を更に有することを特徴とする付記１２記載のクロック停止信号生成回路。
（付記１４）
評価用ＬＳＩとＦＰＧＡとを有するプロトタイピング環境において、該ＦＰＧＡに備えられるバスアクセス検出回路であって、
前記ＦＰＧＡにて発生した有効なバストランザクションの検出に応じて、少なくとも、前記デバイス間を接続する外部バスに係る回路構成を除く前記２つのデバイスの動作に係る回路構成のクロック停止を指示する手段を有することを特徴とするバスアクセス検出回路。
（付記１５）
２つのデバイスで構成されるプロトタイピング環境を実装するＬＳＩ評価ボード装置でのＬＳＩ評価方法であって、
有効なバストランザクションの検出に応じて、前記２つのデバイスの動作に係る回路構成のクロック停止を指示する手順と、
前記クロック停止の指示に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記２つのデバイスの動作に係る回路構成のクロックの停止を制御する手順とを有することを特徴とするＬＳＩ評価方法。
【００７０】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００７１】
１４ａ、１４ｂ        フリップフロップ
１９                  外部バス
１００                ＣＰＵ
１０１ａ、１０１ｂ    バスマトリックス
１０３ａ、１０３ｂ    スレーブモジュール
１０４ａ、１０４ｂ    外部バスＩ／Ｆ
１０５      評価用ＬＳＩ
１０６      ＦＰＧＡ
１０７      評価ボード
１０８      実チップ
２０４      クロック制御回路
２０５      クロック停止信号生成回路
２０６      バスアクセス検出回路
３０１      マスターモジュール
Ｄ１        ドメイン１
Ｄ２        ドメイン２
Ｄ３        ドメイン３
【図１】
2010276378.tif 000003
【図２】
2010276378.tif 000004
【図３】
2010276378.tif 000005
【図４】
2010276378.tif 000006
【図５】
2010276378.tif 000007
【図６】
2010276378.tif 000008
【図７】
2010276378.tif 000009
【図８】
2010276378.tif 000010
【図９】
2010276378.tif 000011