説明

LSI評価ボード装置

【課題】 本発明の課題は、プログラムされたユーザー論理を用いたLSIのプロトタイピングにおいて、評価精度を向上させることを目的とする。
【解決手段】 上記課題は、2つのデバイスで構成されるプロトタイピング環境を実装するLSI評価ボード装置は、有効なバストランザクションの検出に応じて、前記2つのデバイスの動作に係る回路構成のクロック停止を指示する第一指示回路と、前記クロック停止の指示に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記2つのデバイスの動作に係る回路構成のクロックの停止を制御するクロック制御回路とを有するLSI評価ボード装置により達成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムされたユーザー論理を用いたLSIのプロトタイピングにおいて、評価精度を向上させたLSI評価ボード装置に関する。
【背景技術】
【0002】
近年、半導体集積回路(LSI:Large Scale Integration)の開発において、論理検証やソフトウェアの先行開発のために、評価ボードを使ってLSIのプロトタイピングを行うことが行われるようになった。評価ボードでは、CPUなど既に論理が固まっている回路は評価チップ(以下、評価用LSIと言う)として搭載し、ユーザー回路などのロジックをFPGA(Field Programmable Gate Array)に搭載した構成が広く用いられるようになっている。
【0003】
このような構成では、高周波で動作する評価用LSIと評価用LSIと比べて低周波で動作するFPGAとの間のバスを、評価用LSIとFPGA各々に備えられた外部バスインタフェースを介して接続するようにし、各外部バスインタフェース内では複数段のフリップフロップを構成することが多い。また、評価用LSIの内部バスをFPGAに拡張する場合に、信号数を減らすためにバス信号をマルチプレクスしたり、シリアル化するようにした外部バスインタフェースなどが提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−242104号公報
【特許文献2】特開2005−50030号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来技術では、外部バスインタフェース内の複数段のフリップフロップ、マルチプレクサ、もしくはパラレル−シリアル変換回路が原因となって、評価ボードを用いたプロトタイピング検証では、実際のLSIに比べてアクセスレイテンシーが大きくなり、このためサイクルベースでのパフォーマンス見積もりを正確に行えないという問題があった。
【課題を解決するための手段】
【0006】
開示の2つのデバイスで構成されるプロトタイピング環境を実装するLSI評価ボード装置は、有効なバストランザクションの検出に応じて、前記2つのデバイスの動作に係る回路構成のクロック停止を指示する第一指示回路と、前記クロック停止の指示に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記2つのデバイスの動作に係る回路構成のクロックの停止を制御するクロック制御回路とを有するように構成される。
【発明の効果】
【0007】
開示のLSI評価ボード装置において、サイクルベースで実際のLSIと同じタイミングで評価できるプロトタイピング環境を実現できる。
【図面の簡単な説明】
【0008】
【図1】本発明の第一実施例に係るFPGAにスレーブモジュールを搭載した回路構成例を示す図である。
【図2】図1に示す回路構成例におけるプロトタイピング正確化を実現するためのタイミングチャート図である。
【図3】図1の回路構成例におけるクロック停止信号生成回路の動作を説明するためのフローチャート図である。
【図4】図1の回路構成例におけるバスアクセス検出回路の動作を説明するためのフローチャート図である。
【図5】ドメイン2が隠蔽される様子を説明するための図である。
【図6】本発明の第二実施例に係るFPGAにマスターモジュールを搭載した回路構成例を示す図である。
【図7】図6に示す回路構成例におけるプロトタイピング正確化を実現するためのタイミングチャート図である。
【図8】図6の回路構成例におけるクロック停止信号生成回路の動作を説明するためのフローチャート図である。
【図9】図6の回路構成例におけるバスアクセス検出回路の動作を説明するためのフローチャート図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態を図面に基づいて説明する。以下に説明する各実施例では、評価ボードにおいて評価用LSIとFPGAとが接続されている例で説明する。評価用LSIはハードウェア設計後に完成済みの実LSIであり、FPGAには開発中のユーザー論理に基づくプログラムが搭載されている。ユーザー論理のプログラムは、プロトタイピングによる検証及び評価の結果がフィードバックされた後にハードウェア設計され、評価用LSIと組み合わされて一の実チップとして製品化されるものである。
【0010】
先ず、評価用LSIがマスターモジュールとなり、FPGAにスレーブモジュールを搭載する構成を第一実施例として説明する。図1は、本発明の第一実施例に係るFPGAにスレーブモジュールを搭載した回路構成例を示す図である。図1において、評価用LSI105とFPGA106とが、評価ボード107上に実装され電気的接続が確立している。
【0011】
評価用LSI105は、CPU(Central Processing Unit)100と、バスマトリックス101aと、スレーブモジュール103aと、外部バスI/F(インタフェース)104aと、クロック制御回路204と、クロック停止信号生成回路205とを有する。また、FPGA106は、バスマトリックス101bと、スレーブモジュール103bと、外部バスI/F104bと、バスアクセス検出回路206とを有する。
【0012】
評価用LSI105における、CPU100と、バスマトリックス101aと、スレーブモジュール103aとが実装され高周波で動作する高周波動作領域をドメイン1(D1)とする。また、アクセスレイテンシーが発生する外部バス19を介したデータ転送領域をドメイン2(D2)とする。更に、FPGA106における、バスマトリックス101bと、スレーブモジュール103bとが実装され低周波で動作する低周波動作領域をドメイン3(D3)とする。
【0013】
評価用LSI105において、CPU100は、クロック制御回路204からのクロックCLK1の供給によって動作し、スレーブモジュール103a及びFPGA106のユーザー論理を搭載したスレーブモジュール103bを含むシステム制御を行う。
【0014】
バスマトリックス101aは、例えば、一般的なVALID信号及びREADY信号を使用し、モジュール間におけるデータ転送を制御する。VALID信号は、送信側モジュールがアドレスやデータと共に受信側モジュールへ送る信号であり、スレーブ側はアドレスやデータ受信できる状態になるとREADY信号を送信する。
【0015】
スレーブモジュール103aは、ハードウェア開発済みモジュールである。外部バスI/F104aは、評価用LSI105とFPGA106間のデータ転送するための、評価ボード107に備えられる外部バス19に接続するためのインタフェースであり、複数段のフリップフロップ14aを備えている。
【0016】
クロック制御回路204は、評価ボード107に実装される各構成回路へのクロック供給を制御するための回路である。アクセスレイテンシーを隠蔽してプロトタイピング正確化を実現するために、クロック制御回路204は、高周波動作領域のドメイン1(D1)へのクロックCLK1及び低周波動作領域のドメイン3(D3)へのクロックCLK3の供給停止及びその解除を行なう。
【0017】
クロック停止信号生成回路205は、評価用LSI105内部のバスマトリックス101aと外部バスI/F104aとの間に接続される。クロック停止信号生成回路205は、有効なバスアクセスが来たことをトリガーにしてクロック制御回路204にクロック停止指示信号を送出する。
【0018】
FPGA106において、バスマトリックス101bは、評価用LSI105におけるバスマトリックス101aと同様に、例えば、一般的なVALID信号及びREADY信号を使用し、モジュール間におけるデータ転送を制御する。
【0019】
スレーブモジュール103bは、プログラミング言語によって開発されたユーザー論理がロードされたモジュールである。例えば、VerilogHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuit Hardware Description Language)などのハードウェア記述言語によってプログラムされたモジュールである。外部バスI/F104bは、評価用LSI105とFPGA106間のデータ転送するための、評価ボード107に備えられる外部バス19に接続するためのインタフェースであり、複数段のフリップフロップ14bを備えている。
【0020】
バスアクセス検出回路206は、FPGA106内部のバスマトリックス101bと外部バスI/F104bとの間に接続される。バスアクセス検出回路206は、バスアクセスを検出すると評価用LSI105のクロック停止信号生成回路205へクロック再供給のための信号を送出する。
【0021】
図1に示す第一実施例に係る回路構成例におけるバスアクセスとクロックの動作について、図2に示すタイミングチャートを用いて説明する。図2は、図1に示す回路構成例におけるプロトタイピング正確化を実現するためのタイミングチャート図である。
【0022】
図2(a)はクロック制御回路204からドメイン1(D1)へ供給されるクロックCLK1の状態を示し、図2(b)はクロック制御回路204からドメイン3(D3)へ供給されるクロックCLK3の状態を示す。図2(c)はクロック停止信号生成回路205を通過するVALID信号SG1の状態を示す。
【0023】
図2(d)はバスアクセス検出回路206からのクロックCLK3を再開させるためのCLK3停止解除信号SG2の状態を示し、図2(e)はバスアクセス検出回路206からのクロックCLK3を停止するためのCLK3停止指示信号SG3の状態を示す。
【0024】
図2(f)はクロック停止信号生成回路205を通過するREADY信号SG4の状態を示す。図2(g)はクロック停止信号生成回路205からのクロックCLK1を停止させるためのCLK1停止指示信号SG5の状態を示し、図2(h)はクロック停止信号生成回路205からのクロックCLK3を停止させるためのCLK3停止指示信号SG6の状態を示す。
【0025】
時刻T1−T2にて、評価用LSI105において、クロック停止信号生成回路205は、バスマトリックス101aを介してCPU100からのVALID信号SG1を検出すると、ドメイン1(D1)へのクロックCLK1の停止を指示するCLK1停止指示信号SG5と、ドメイン3(D3)へのクロックCLK3の停止を指示するCLK3停止指示信号SG6とを生成して、クロック制御回路204へ送信する。クロック制御回路204は、クロック停止信号生成回路205からクロック停止指示信号SG5とCLK3停止指示信号SG6とを受信すると、評価用LSI105のドメイン1(D1)へのクロックCLK1と、FPGA106のドメイン3(D3)へのクロックCLK3とを停止させる。
【0026】
時刻T2−T3にて、外部バス19に係るドメイン2(D2)へのクロックだけが供給され、バス信号により有効なバストランザクションがFPGA106に伝播される。
【0027】
時刻T3−T4にて、有効なバストランザクションがFPGA106に伝播され、外部バスI/F104bを通過したVALID信号SG1を検出すると、バスアクセス検出回路206は、クロック停止信号生成回路205へとCLK3停止解除信号SG2を送信する。これを受け、クロック停止信号生成回路205はFPGA106に対するCLK3停止指示信号SG6を解除し、その解除に応じて、クロック生成回路204はFPGA106のドメイン3(D3)へのクロックCLK3の供給を再開する。
【0028】
この際、バスアクセス検出回路206の替わりに、バス信号により有効なバストランザクションがFPGA106に伝播するまでの期間として予め設定した期間をカウント後、クロック停止信号生成回路205へクロックCLK3を再開させるためにCLK3停止解除信号SG2を出力するように構成してもよい。更に、その期間をレジスタに設定できる構成にすることで、外部バスI/F104a及び104bの仕様に合わせてカウント期間を設定可能な構成としてもよい。また、CLK3停止解除信号SG2は、クロック停止信号生成回路205ではなく、直接クロック制御回路204へ接続する構成でもよい。
【0029】
時刻T4−T5にて、FPGA106のドメイン3(D3)へのクロックCLK3が供給再開されると、FPGA106のスレーブモジュール103bからレスポンスが送信され、バスマトリックス101bからREADY信号が送出される。
【0030】
時刻T5−T6にて、バスアクセス検出回路206がREADY信号を検出すると、クロック停止信号生成回路205へクロックCLK3を停止させるためにCLK3停止指示信号SG3を送信する。クロック制御回路204は、このCLK3停止指示信号SG3を受けると、クロック制御回路204にFPGA106のドメイン3(D3)へのクロックCLK3を停止させるためにCLK3停止指示信号SG6を送信する。このCLK3停止指示信号SG6を受けると、クロック制御回路204はFPGA106のドメイン3(D3)へのクロックCLK3の供給を停止する。
【0031】
時刻T6−T7にて、外部バス19に係るドメイン2(D2)へのクロックだけが供給され、バス信号により有効なバストランザクションが評価用LSI105に伝播される。
【0032】
時刻T7−T8にて、有効なバストランザクションが評価用LSI105に伝播されることにより、クロック停止信号生成回路205を通過するREADY信号SG4に応じて、クロック停止信号生成回路205は評価用LSIのクロック停止指示信号SG5を解除し、評価用LSI105のドメイン1(D1)へのクロックCLK1の供給が再開される。
【0033】
図3は、図1の回路構成例におけるクロック停止信号生成回路の動作を説明するためのフローチャート図である。図3において、評価用LSI105のクロック停止信号生成回路205は、VALID信号の立ち上がり(positive edge)を検出すると(ステップS111)、クロックCLK1及びCLK3を停止させるためのCLK1停止指示信号SG5及びCLK3停止指示信号SG6を生成して、クロック制御回路204へと送出する(ステップS112)。一方、ステップS111にて、VALID信号の立ち上がりを検出しない間は待ち状態となる。
【0034】
クロック停止信号生成回路205は、タイマーをカウントダウンして(ステップS113)、カウントダウンしたタイマー用のカウンタの値がゼロであるか否かを判断する(ステップS114)。カウンタの値がゼロでなければ、ステップS113に戻り更にカウントダウンを行う。カウンタの値がゼロになったら、クロック停止信号生成回路205は、カウンタの値を初期値に戻し、クロックCLK3を停止させていたCLK3停止指示信号SG6を解除する(ステップS115)。従って、FPGA106のドメイン3(D3)に対するクロックCLK3の供給がクロック制御回路204によって再開される。
【0035】
その後、クロック停止信号生成回路205は、READY信号の立ち上がり(positive
edge)を検出すると(ステップS116)、ドメイン1(D1)へのクロックCLK1の供給を再開させるためにCLK1停止指示信号SG5を解除して(ステップS117)、ステップS111へと戻り上記同様の処理を繰り返す。一方、ステップS116にて、READY信号の立ち上がりを検出しない間は待ち状態となる。
【0036】
上述した処理フローにおいて、バスアクセス検出回路206からCLK3停止解除信号SG2を受けて、FPGA106のドメイン3(D3)へのクロックCLK3の供給を再開させる場合には、ステップS113、S114、及びS115を有するタイマー処理S110は省略される。
【0037】
図4は、図1の回路構成例におけるバスアクセス検出回路206の動作を説明するためのフローチャート図である。図4において、FPGA106のバスアクセス検出回路206は、VALID信号の立ち上がり(positive edge)を検出すると(ステップS121)、クロックCLK3の供給を再開させるためにCLK3停止解除信号SG2をクロック停止信号生成回路205へ送信する(ステップS122)。
【0038】
その後、READY信号の立ち上がり(positive edge)を検出すると(ステップS123)、バスアクセス検出回路206は、FPGA106のドメイン3(D3)へのクロックCLK3を停止させるためにCLK3停止指示信号SG3を生成して、クロック停止信号生成回路205へ送信する(ステップS124)。そして、ステップS121へ戻り上記同様の処理を繰り返す。
【0039】
上述した処理フローにおいて、クロック停止信号生成回路205がタイマー機能を備え、自身でFPGA106のドメイン3(D3)へのクロックCLK3の供給を再開させる場合には、ステップS121及びS122を有するCLK3停止解除処理S120は省略される。
【0040】
このように、外部バスI/F104a及び104b内のフリップフロップ14a及び14bによるアクセスレイテンシーを隠蔽することによって、例えば、図5に示すように、外部バス19に係るドメイン2(D2)が存在しない実チップ108と同様のタイミングでプロトタイピング検証を行うことができる。
【0041】
図5は、ドメイン2が隠蔽される様子を説明するための図である。図5において、第一実施例における評価ボード107上に構成された評価用LSI105及びFPGA106によるLSIのプロトタイプでは、外部バス19を介してなされるVALID信号及びREADY信号の受け渡しにおいて、ドメイン1(D1)及び/又はドメイン3(D3)のクロックを一時的に停止させることによって、ドメイン2(D2)で起こりうるアクセスレイテンシーによる影響を隠蔽することができ、評価用LSI105のドメイン1(D1)とFPGA106のドメイン2(D2)とを有するが、外部バス19に係るドメイン2(D2)が存在しない実チップ108と同様のタイミングでプロトタイピング検証を行うことができる。実チップ108を用いて検証した場合と同様の評価精度を得ることができる。
【0042】
次に、FPGAにマスターモジュールを搭載する構成を第二実施例として説明する。図6は、本発明の第二実施例に係るFPGAにマスターモジュールを搭載した回路構成例を示す図である。図6において、評価用LSI105とFPGA106とが評価ボード107上に実装され、電気的接続が確立している。
【0043】
評価用LSI105は、CPU(Central Processing Unit)100と、バスマトリックス101aと、スレーブモジュール103aと、外部バスI/F(インタフェース)104aと、クロック制御回路204と、クロック停止信号生成回路205とを有する。また、FPGA106は、バスマトリックス101bと、マスターモジュール301と、外部バスI/F104bと、バスアクセス検出回路206とを有する。
【0044】
評価用LSI105における、CPU100と、バスマトリックス101aと、スレーブモジュール103aとが実装され高周波で動作する高周波動作領域をドメイン1(D1)とする。また、アクセスレイテンシーが発生する外部バス19を介したデータ転送領域をドメイン2(D2)とする。更に、FPGA106における、バスマトリックス101bと、マスターモジュール301とが実装され低周波で動作する低周波動作領域をドメイン3(D3)とする。
【0045】
評価用LSI105において、CPU100は、クロック制御回路204からのクロックCLK1の供給によって動作し、スレーブモジュール103a及びFPGA106のユーザー論理を搭載したマスターモジュール301を含むシステム制御を行う。
【0046】
バスマトリックス101a、複数段のフリップフロップ14aを備えたスレーブモジュール103a、クロック制御回路204、及びクロック停止信号生成回路205の各機能については、第一実施例と同様であるのでその説明を省略する。但し、クロック制御回路204、及びクロック停止信号生成回路205の各々の処理手順は、第一実施例と異なるため後述される。
【0047】
FPGA106において、マスターモジュール301は、プログラミング言語によって開発されたユーザー論理がロードされたモジュールである。例えば、VerilogHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuit Hardware Description Language)などのハードウェア記述言語によってプログラムされたモジュールである。
【0048】
バスマトリックス101b、外部バスI/F104b、及びバスアクセス検出回路206の各機能については、第一実施例と同様であるのでその説明を省略する。但し、バスアクセス検出回路206の処理手順は、第一実施例と異なるため後述される。
【0049】
図6に示す第二実施例に係る回路構成例におけるバスアクセスとクロックの動作について、図7に示すタイミングチャートを用いて説明する。図7は、図6に示す回路構成例におけるプロトタイピング正確化を実現するためのタイミングチャート図である。
【0050】
図7(a)はクロック制御回路204からドメイン1(D1)へ供給されるクロックCLK1の状態を示し、図7(b)はクロック制御回路204からドメイン3(D3)へ供給されるクロックCLK3の状態を示す。図7(c)はバスアクセス検出回路206からのクロックCLK1及びCLK3を停止するためのCLK1及びCLK3停止指示信号SGN1の状態を示す。
【0051】
図7(d)はクロック停止信号生成回路205を通過するVALID信号SGN2の状態を示し、図7(e)はクロック停止信号生成回路205を通過するREADY信号SGN3の状態を示す。
【0052】
図7(f)はバスアクセス検出回路206からのクロックCLK3を再開させるためのCLK3停止解除信号SGN4の状態を示す。図7(g)はクロック停止信号生成回路205からのクロックCLK1を停止させるためのCLK1停止指示信号SGN5の状態を示し、図7(h)はクロック停止信号生成回路205からのクロックCLK3を停止させるためのCLK3停止指示信号SGN6の状態を示す。
【0053】
時刻T1−T2にて、FPGA106において、マスターモジュール301からのアドレス又はデータの送信に伴い、バスマトリックス101bからのVALID信号がバスアクセス検出回路206を通過すると、バスアクセス検出回路206はクロック停止指示信号SGN1を、外部バス19を介して評価用LSI105のクロック停止信号生成回路205へ送信する。評価用LSI105において、クロック停止信号生成回路205は、このクロック停止指示信号SGN1を受信すると、ドメイン1(D1)へのクロックCLK1の停止を指示するCLK1停止指示信号SGN5と、ドメイン3(D3)へのクロックCLK3の停止を指示するCLK3停止指示信号SGN6とをクロック制御回路204へ送信する。クロック制御回路204は、クロック停止信号生成回路205からCLK1停止指示信号SGN5とCLK3停止指示信号SGN6とを受信すると、評価用LSI105のドメイン1(D1)へのクロックCLK1と、FPGA106のドメイン3(D3)へのクロックCLK3とを停止させる。
【0054】
時刻T2−T3にて、外部バス19に係るドメイン2(D2)へのクロックだけが供給され、バス信号により有効なバストランザクションが評価用LSI105に伝播される。
【0055】
時刻T3−T4にて、有効なバストランザクションが評価用LSI105に伝播され、クロック停止信号生成回路205を通過するVALID信号SGN2を検出すると、クロック停止信号生成回路205はCLK1停止指示信号SGN5を解除し、その解除に応じて、クロック生成回路204は評価用LSI105のドメイン1(D1)へのクロックCLK1の供給を再開する。
【0056】
時刻T4−T5にて、評価用LSI105では、クロックCLK1の供給によって、スレーブモジュール103aからFPGA106のマスターモジュール301へレスポンスが送信され、バスマトリックス101aからのREADY信号SGN3が送信される。
【0057】
時刻T5−T6にて、バスマトリックス101aからのREADY信号SGN3がクロック停止信号生成回路205を通過すると、クロック停止信号生成回路205からクロック制御回路204へ、評価用LSI105のドメイン1(D1)へのクロックCLK1を停止するためのCLK1停止指示信号SGN5が送信される。CLK1停止指示信号SGN5を受信すると、クロック制御回路204は、ドメイン1(D1)へのクロックCLK1の供給を停止する。
【0058】
時刻T6−T7にて、外部バス19に係るドメイン2(D2)へのクロックだけが供給され、バス信号により有効なバストランザクションがFPGA106に伝播される。
【0059】
時刻T7−T8にて、有効なバストランザクションがFPGA106に伝播されることにより、外部バスI/F104bを通過したREADY信号をバスアクセス検出回路206が検出し、FPGA106のドメイン3(D3)へのクロックCLK3の供給を再開させるためにLCK3停止解除信号SGN4をクロック停止信号生成回路205へ送信する。評価用LSI105において、クロック停止信号生成回路205は、CLK3停止指示信号SGN6を解除し、FPGA106のドメイン3(D3)へのクロックCLK3の供給が再開される。
【0060】
図8は、図6の回路構成例におけるクロック停止信号生成回路205の動作を説明するためのフローチャート図である。図6において、評価用LSI105のクロック停止信号生成回路205は、外部バス19を介してVALID信号の立ち上がり(positive edge)を検出すると(ステップS311)、CLK1停止指示信号SGN5を解除して、評価用LSI105のドメイン1(D1)へのクロックCLK1の供給停止を解除させる(ステップS112)。このCLK1停止指示信号SGN5の解除によって、FPGA106のバスアクセス検出回路206からのクロック停止指示信号SGN1に応じて停止されていたクロックCLK1及びCLK3のうち、評価用LSI105のドメイン1(D1)に対するクロックCLK1の供給がクロック制御回路204によって再開される。一方、ステップS311にて、VALID信号の立ち上がりを検出しない間は待ち状態となる。
【0061】
CLK1停止指示信号SGN5の解除後、評価用LSI105のスレーブモジュール103aからのREADY信号の立ち上がり(positive edge)を検出すると(ステップS313)、評価用LSI105のドメイン1(D1)へのクロックCLK1を停止させるためのCLK1停止指示信号SGN5を生成して、クロック制御回路204に送信する(ステップS314)。
【0062】
クロック停止信号生成回路205は、タイマーをカウントダウンして(ステップS315)、カウントダウンしたタイマー用のカウンタの値がゼロであるか否かを判断する(ステップS316)。カウンタの値がゼロでなければ、ステップS315に戻り更にカウントダウンを行う。カウンタの値がゼロになったら、クロック停止信号生成回路205は、カウンタの値を初期値に戻し、クロックCLK3を停止させていたCLK3停止指示信号SGN6を解除する(ステップS317)。従って、FPGA106のドメイン3(D3)に対するクロックCLK3の供給がクロック制御回路204によって再開される。
【0063】
そして、クロック停止信号生成回路205は、ステップS311へ戻り上記の処理を繰り返す。
【0064】
上述した処理フローにおいて、バスアクセス検出回路206からCLK3停止解除信号SGN2を受けて、FPGA106のドメイン3(D3)へのクロックCLK3の供給を再開させる場合には、ステップS315、S316、及びS317を有するタイマー処理S310は省略される。
【0065】
図9は、図6の回路構成例におけるバスアクセス検出回路の動作を説明するためのフローチャート図である。図9において、FPGA106のバスアクセス検出回路206は、VALID信号の立ち上がり(positive edge)を検出すると(ステップS321)、クロックCLK1及びCLK3を停止させるためにクロック停止指示信号SGN1を生成して、評価用LSI105に送信する(ステップS322)。よって、クロック制御回路204により評価用LSI105のドメイン1(D1)へのクロックCLK1と、FPGA106のドメイン3(D3)へのクロックCLK3とが停止される。
【0066】
その後、READY信号の立ち上がり(positive edge)を検出すると(ステップS323)、バスアクセス検出回路206は、CLK3停止解除信号SGN4を送信して、評価用LSI105のクロック制御回路204によってFPGA106のドメイン3(D3)へのクロックCLK3の供給を再開させる(ステップS324)。
【0067】
上述した処理フローにおいて、クロック停止信号生成回路205がタイマー機能を備え、自身でFPGA106のドメイン3(D3)へのクロックCLK3の供給を再開させる場合には、ステップS323及びS324を有するCLK3停止解除処理S320は省略される。
【0068】
このように、第一実施例及び第二実施例によれば、高周波数で動作する評価用LSIと、評価用LSIより低い周波数で動作するユーザー論理がプログラムされたFPGAとで構成されるプロトタイピング環境においても、サイクルベースでは擬似的に外部バスI/F104a及び104b内のフリップフロップ14a及び14bがない実チップでの検証と同様のタイミングで動作させることができ、パフォーマンス見積もりなどのプロトタイピング検証時の評価精度を向上させることができる。
【0069】
以上の説明に関し、更に以下の項を開示する。
(付記1)
2つのデバイスで構成されるプロトタイピング環境を実装するLSI評価ボード装置であって、
有効なバストランザクションの検出に応じて、前記2つのデバイスの動作に係る回路構成のクロック停止を指示する第一指示回路と、
前記クロック停止の指示に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記2つのデバイスの動作に係る回路構成のクロックの停止を制御するクロック制御回路とを有することを特徴とするLSI評価ボード装置。
(付記2)
前記第一指示回路は、前記有効なバストランザクションが前記外部バスを介して前記2つのデバイスの一方へ伝播された時に、該一方のデバイスの動作に係る回路構成へのクロック供給の再開を指示し、
前記クロック制御回路は、前記クロック供給の再開指示に応じて、前記一方のデバイスの動作に係る回路構成のクロックを再開することを特徴とする付記1記載のLSI評価ボード装置。
(付記3)
前記第一指示回路は、前記クロック供給を再開するまでの時間をカウントする手段を有し、一定時間後にクロック供給の再開を指示することを特徴とする付記2記載のLSI評価ボード装置。
(付記4)
前記クロック供給を再開するまでの時間をレジスタで設定可能とすることを特徴とする付記3記載のLSI評価ボード装置。
(付記5)
前記2つのデバイスは、1つが評価用LSIであり、もう1つがFPGAであることを特徴とする付記1乃至4のいずれか一項記載のLSI評価ボード装置。
(付記6)
前記第一指示回路は、前記評価用LSIに備えられる回路であり、
該評価用LSIにて発生した前記有効なバストランザクションの検出に応じて、前記クロック制御回路に前記評価用LSIと前記FPGAの動作に係る回路構成のクロック停止を指示し、
前記有効なバストランザクションが前記外部バスを介して前記FPGAへ伝播された時に、該FPGAの動作に係る回路構成へのクロック供給の再開を指示することを特徴とする付記5記載のLSI評価ボード装置。
(付記7)
前記FPGAに備えられ、前記有効なバストランザクションに対するレスポンスの発生時に、該FPGAの動作に係る回路構成のクロックの停止を指示する第二指示回路を有することを特徴とする付記6記載のLSI評価ボード装置。
(付記8)
第一指示回路は、前記レスポンスの通過時に、前記評価用LSIの動作に係る回路構成のクロック供給の再開を指示することを特徴とする付記7記載のLSI評価ボード装置。
(付記9)
前記FPGAに備えられ、該FPGAにおける有効なバストランザクションの発生に応じて、前記第一指示回路へ前記評価用LSIと前記FPGAの動作に係る回路構成のクロック停止を指示するクロック停止指示信号を送信する第二指示回路を有し、
前記第一指示回路は、前記評価用LSIに備えられ、前記クロック停止指示信号の受信に応じて、前記クロック制御回路に前記評価用LSIと前記FPGAの動作に係る回路構成のクロック停止を指示することを特徴とする付記5記載のLSI評価ボード装置。
(付記10)
前記第一指示回路は、前記外部バスを介して受信した前記有効なバストランザクションの検出に応じて、前記クロック制御回路に前記評価用LSIの動作に係る回路構成のクロック供給の再開を指示することを特徴とする付記9記載のLSI評価ボード装置。
(付記11)
前記第一指示回路は、前記評価用LSIで発生した有効なバストランザクションの検出に応じて、前記評価用LSIと前記FPGAの動作に係る回路構成のクロック停止を指示し、
前記有効なバストランザクションが前記外部バスを介して前記FPGAへ伝播された時に、前記クロック制御回路に該FPGAの動作に係る回路構成へのクロック供給の再開を指示することを特徴とする付記10記載のLSI評価ボード装置。
(付記12)
評価用LSIとFPGAとを有するプロトタイピング環境において、該評価用LSIに備えられるクロック停止信号生成回路であって、
前記評価用LSIにて発生した有効なバストランザクションの検出に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記評価用LSIと前記FPGAの動作に係る回路構成のクロック停止を指示する手段を有することを特徴とするクロック停止信号生成回路。
(付記13)
前記有効なバストランザクションが前記外部バスを介して前記2つのデバイスの一方へ伝播された時に、該一方のデバイスの動作に係る回路構成へのクロック供給の再開を指示する手段を更に有することを特徴とする付記12記載のクロック停止信号生成回路。
(付記14)
評価用LSIとFPGAとを有するプロトタイピング環境において、該FPGAに備えられるバスアクセス検出回路であって、
前記FPGAにて発生した有効なバストランザクションの検出に応じて、少なくとも、前記デバイス間を接続する外部バスに係る回路構成を除く前記2つのデバイスの動作に係る回路構成のクロック停止を指示する手段を有することを特徴とするバスアクセス検出回路。
(付記15)
2つのデバイスで構成されるプロトタイピング環境を実装するLSI評価ボード装置でのLSI評価方法であって、
有効なバストランザクションの検出に応じて、前記2つのデバイスの動作に係る回路構成のクロック停止を指示する手順と、
前記クロック停止の指示に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記2つのデバイスの動作に係る回路構成のクロックの停止を制御する手順とを有することを特徴とするLSI評価方法。
【0070】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【0071】
14a、14b フリップフロップ
19 外部バス
100 CPU
101a、101b バスマトリックス
103a、103b スレーブモジュール
104a、104b 外部バスI/F
105 評価用LSI
106 FPGA
107 評価ボード
108 実チップ
204 クロック制御回路
205 クロック停止信号生成回路
206 バスアクセス検出回路
301 マスターモジュール
D1 ドメイン1
D2 ドメイン2
D3 ドメイン3

【特許請求の範囲】
【請求項1】
2つのデバイスで構成されるプロトタイピング環境を実装するLSI評価ボード装置であって、
有効なバストランザクションの検出に応じて、前記2つのデバイスの動作に係る回路構成のクロック停止を指示する第一指示回路と、
前記クロック停止の指示に応じて、前記デバイス間を接続する外部バスに係る回路構成を除く前記2つのデバイスの動作に係る回路構成のクロックの停止を制御するクロック制御回路とを有することを特徴とするLSI評価ボード装置。
【請求項2】
前記第一指示回路は、前記有効なバストランザクションが前記外部バスを介して前記2つのデバイスの一方へ伝播された時に、該一方のデバイスの動作に係る回路構成へのクロック供給の再開を指示し、
前記クロック制御回路は、前記クロック供給の再開指示に応じて、前記一方のデバイスの動作に係る回路構成のクロックを再開することを特徴とする請求項1記載のLSI評価ボード装置。
【請求項3】
前記第一指示回路は、前記クロック供給を再開するまでの時間をカウントする手段を有し、一定時間後にクロック供給の再開を指示することを特徴とする請求項2記載のLSI評価ボード装置。
【請求項4】
前記クロック供給を再開するまでの時間をレジスタで設定可能とすることを特徴とする請求項3記載のLSI評価ボード装置。
【請求項5】
前記2つのデバイスは、1つが評価用LSIであり、もう1つがFPGAであることを特徴とする請求項1乃至4のいずれか一項記載のLSI評価ボード装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate