(57)【要約】  【課題】  ハードウェア記述言語（ＨＤＬ）で記述された初期プログラムから製造された電子回路をデバッグするためのデバイスを提供する。  【解決手段】  電子回路をデバッグするためのデバイスであって、初期プログラムを受信し、所定の機能を記述する追加プログラムを受信し、追加プログラムから電子回路へ組み込まれるべき、入力信号、出力信号又は追加回路内部の信号の中から選択された信号を所定値に設定することが可能な追加回路を決定し、追加回路のＨＤＬで記述した記述を組み込んだＨＤＬで記述された修正プログラムを提供する実行ユニット、及び修正プログラムから製造される修正された電子回路をデバッグすることが可能なデバッグユニットを備え、デバッグユニットは選択された信号を所定値に設定すべく追加回路と通信する。【選択図】      図１
2006048677.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア記述言語（ＨＤＬ）で記述された初期プログラムを用いて製造された電子回路をデバッグするためのデバイスであって、
前記初期プログラムを修正したハードウェア記述言語（ＨＤＬ）で記述された修正プログラムを提供する実行ユニットと、
前記修正プログラムに基づき形成された電子回路をデバッグするデバッグユニットとを備え、
前記実行ユニットは、
初期プログラムを受信する手段と、
所定の機能を記述してある追加プログラムを受信する手段と、
前記追加プログラムから前記電子回路へ組み込まれるべき追加回路を決定する手段と
を有し、
該追加回路は、
前記電子回路に接続された少なくとも１つの入力端子及び／又は１つの出力端子を備えており、
前記入力端子で受信された信号、前記出力端子から供給する信号、又は該追加回路内部の信号の中から選択された信号を所定値に設定することが可能となっており、
前記デバッグユニットは、
選択された信号を所定値に設定するよう制御すべく前記追加回路と通信するようにしてあることを特徴とするデバイス。
【請求項２】
前記入力端末及び／又は出力端末は、電子回路へ組み込まれるべき別の追加回路に接続されていることを特徴とする請求項１記載のデバイス。
【請求項３】
前記追加プログラムは、ＨＤＬとは異なる言語で記述されており、前記実行ユニットは、前記追加プログラムをＨＤＬに変換する手段を備えることを特徴とする請求項１記載のデバイス。
【請求項４】
前記追加回路は、制御信号によって動作を制御され、第１の入力で前記追加回路からの信号を、及び第２の入力で前記所定値を、それぞれ制御信号として受信するマルチプレクサを備え、前記デバッグユニットは、前記追加回路に制御信号の値を供給するようにしてあることを特徴とする請求項１記載のデバイス。
【請求項５】
前記追加回路は、選択された信号を表示する信号を供給することが可能であり、前記デバッグユニットはディスプレイ画面をさらに備え、ディスプレイ画面に表示信号の値を表示することができる請求項１記載のデバイス。
【請求項６】
前記電子回路は、初期プログラムに基づきプログラムされたプログラマブル・ゲート・アレイ回路であり、前記修正された電子回路は、修正プログラムに基づきプログラムされたプログラマブル・ゲート・アレイ回路であることを特徴とする請求項１記載のデバイス。
【請求項７】
ハードウェア記述言語（ＨＤＬ）で記述された初期プログラムに基づき製造された電子回路をデバッグする方法であって、
所定の機能を記述した追加プログラムを受信し、
該追加プログラムに基づき前記電子回路へ組み込まれるべき追加回路を決定し、
前記追加回路は、
電子回路に接続された少なくとも１つの入力端子及び／又は１つの出力端子を備えており、前記入力端子で受信された信号、前記出力端子から供給する信号、又は該追加回路内部の信号の中から選択された信号を所定値に設定することが可能となっており、
前記追加回路のＨＤＬで記述された記述を組み込んだ初期プログラムからＨＤＬで記述された修正プログラムを提供し、
修正プログラムに基づき修正された電子回路を製造し、
選択された信号を所定値に設定するよう制御すべく前記追加回路と通信することを特徴とする電子回路をデバッグする方法。
【請求項８】
前記所定の機能は、デバッグ機能、試験機能及び／又は検証機能であることを特徴とする請求項７記載の電子回路をデバッグする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェア記述言語（ＨＤＬ）で記述されたプログラムに基づき製造された電子回路をデバッグするデバイス及び方法に関する。
【背景技術】
【０００２】
ハードウェア記述言語（ＨＤＬ）は、電子回路の動作を正確に記述することができることから、電子回路の設計及びモデリング用に開発され、最適化されてきたプログラミング言語である。ＨＤＬの代表例は、例えばＶＨＤＬ（ＶＨＳＩＣ用ハードウェア記述言語、ＶＨＳＩＣは超高速集積回路を意味する）、Ｖｅｒｉｌｏｇ言語等である。
【０００３】
ＨＤＬプログラムに基づいて形成される電子回路の例には、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）回路、特定用途向け集積回路、ＡＳＩＣ等がある。より特定的には、ＦＰＧＡ回路は、所定のトポロジーに従って予め回路上へインプラントされた電子ゲートを備える。初期の状態では、これらのゲートは相互に接続されていない。ＦＰＧＡ回路に基づき特定の機能を実装する電子回路を形成するためには、ＦＰＧＡの所定の電子ゲート間に所望の機能を達成するに足る所定の接続（ＭＯＳトランジスタのＯＮ切換で達成可能）を生成すればよい。この目的のためには、特に回路接続を表わす構成データ（ビットストリーム）が格納されるＲＡＭが使用される可能性がある。ビットストリーム・データは、電子回路を記述するＨＤＬプログラムから取得される。
【０００４】
電子回路のフル設計プロセスにおいては、電子回路の動作間にエラーの検出、診断及び補正を含むデバッグ・ステップを設けることが必要である。ＨＤＬで記述されたプログラム（以下、ＨＤＬプログラムという）を基礎として設計される電子回路の場合、エラーの補正は電子回路を記述するＨＤＬプログラムの修正に対応する可能性がある。
【０００５】
現時点では、ＨＤＬプログラムから取得される電子回路をデバッグするための方法には、主として２つのタイプが存在する。
【０００６】
第１の方法は、ロジック・アナライザを使用する方法である。これは例えば、アルテラ社からシグナルＴＡＰの商品名で販売されているロジック・アナライザであっても良い。ロジック・アナライザは、電子回路を記述する初期のＨＤＬプログラムを修正し、その電子回路の動作にほとんど影響を与えず、かつ電子回路のデバッグに有効である特別な機能を実装した追加回路を有する同じ電子回路を記述する修正されたＨＤＬプログラムを取得することができる。追加回路は、電子回路によって使用される所与の信号に論理演算を実行し、論理条件が満たされた場合にアラート信号を供給し、幾つかの信号値を並行してチェックする、等が可能である。初期のＨＤＬプログラムからプログラムされるＦＰＧＡ回路のデバッグは、ＦＰＧＡ回路を修正されたＨＤＬプログラムでプログラムすることによって実行される。次に修正されたＦＰＧＡ回路はその正常な動作環境においてリアルタイムで動作し、ロジック・アナライザは、初期のＨＤＬプログラムによって記述された電子回路に追加される追加回路によって供給される異なる信号を収集するために使用される。
【０００７】
第２の方法は、ＨＤＬプログラムを直接的にデバッグする方法である。このようなデバッグ方法は、シンプリシティ社からアイデンティファイ（Ｉｄｅｎｔｉｆｙ）の商品名で販売されているデバッガによって実装することが可能である。このようなデバッガは、電子回路を記述する初期のＨＤＬプログラムの所定部分のレベルでウォッチポイントを挿入し、かつ例えばＦＰＧＡ回路がそれでプログラムされる修正されたＨＤＬプログラムを提供することを可能にする。こうしてプログラムされかつ修正されたＦＰＧＡ回路が動作すると、デバッガはＦＰＧＡ回路と信号を交換し、ユーザにウォッチポイントでマーキングされた初期のＨＤＬプログラムの部分がＦＰＧＡ回路の動作中に実行されているか否かを示すことができる。またデバッガは、初期のＨＤＬプログラムのマーキングされた部分が実行される時間に初期のＨＤＬプログラムによって使用される信号の値を示すこともできる。ＦＰＧＡ回路の動作中にエラーが発生すれば、ユーザは、そのレベルでエラーが発生した初期のＨＤＬプログラムの部分を位置決めすることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
第１の方法では、ロジック・アナライザは、ユーザに追加回路のリストを提供し、ユーザはこのリストから電子回路をデバッグするための特別な機能を決定する。しかしながら、取得され得るデバッグ機能はロジック・アナライザにより提供される追加回路によって限定される。ロジック・アナライザによって提供される機能を組み合わせてさらに複雑なデバッグ機能が定義された場合であっても、ユーザは必ずしもその電子回路のデバッグに特によく適合化された特別なデバッグ機能を定義することができない。
【０００９】
また、第２の方法で用いるようなデバッガは純粋にコード本位であり、ＦＰＧＡ回路により使用される信号値を基礎とする複雑な検証シナリオを構築することはできない。ロジック・アナライザ・タイプのツールの不在は、ＦＰＧＡ回路動作時の所定のエラーの検出又は検出された所定のエラーの起点の決定を困難にする可能性がある。
【００１０】
さらに、初期のＨＤＬプログラムのデバッグは、ＦＰＧＡ回路のプログラミング又はＡＳＩＣ回路の製造の前にスタティック・アナライザによって実行される可能性がある。これは、どんなタイプのプログラムにも使用可能な全自動ツールであり、プログラム設計におけるエラーを検出するためのそのテキストの１回の調査でプログラム実行時の行動を予測することを可能にする。解析は、ＨＤＬプログラムからプログラムされたＦＰＧＡ回路が動作する方法に関してではなく、直接ＨＤＬプログラムに関して実行される。しかしながら、初期のＨＤＬプログラムの複雑さが著しくなるにつれて、スタティック・アナライザの信頼性は低下するものと考えられており、初期プログラム設計における所定のエラーを検出することができない。さらに、このようなツールは、初期のＨＤＬプログラムから製造された回路成分の物理的性質に固有の所定の問題点を考慮することができない。
【００１１】
先に説明したデバッグ方法の何れによっても、ユーザは、初期のＨＤＬ記述プログラムに関連づけられる電子回路に組み込まれるべき、かつ修正されたＨＤＬ記述プログラムから製造された電子回路の動作時に考察の対象である電子回路のデバッグに適合化された特別なデバッグ機能の実行を可能にする、その固有の追加回路を自由に定義することができない。さらに、ユーザは集積回路の動作時に、特別な試験を実行するために先に定義された追加回路によって使用される入力信号、出力信号、又は内部信号の値を修正できることが望ましい。
【００１２】
本発明の目的は、ユーザが電子回路へ組み込まれるべき追加回路を自由に定義し、かつデバッグ・フェーズにおいて追加回路に関する信号の値をインポーズすることを可能にして電子回路のデバッグ・オペレーションを容易にする、ＨＤＬプログラムから製造された電子回路をデバッグするデバイス及び方法を提供することにある。
【課題を解決するための手段】
【００１３】
この目的を達成するために、本発明は、ハードウェア記述言語（ＨＤＬ）で記述された初期プログラムに基づき製造された電子回路をデバッグするためのデバイスを提供し、該デバイスは、初期プログラムを受信し、所定の機能を記述する追加プログラムを受信し、該追加プログラムに基づき電子回路へ組み込まれるべき追加回路を決定するものであり、該追加回路は電子回路に接続された少なくとも１つの入力端子及び／又は１つの出力端子を有し、前記入力端子で受信された信号、前記出力端子から供給する信号、又は該追加回路内部の信号の中から選択された信号を所定値に設定することが可能となっており、前記追加回路のＨＤＬで記述された記述を組み込んだ初期プログラムに基づきＨＤＬで記述された修正プログラムを提供する実行ユニットと、修正プログラムに基づき形成される修正された電子回路をデバッグするデバッグユニットとを備え、前記デバッグユニットは選択された信号を所定値に設定するよう制御すべく前記追加回路と通信するようにしてあることを特徴とする。
【００１４】
本発明の一実施形態によれば、前記入力端末及び／又は出力端末は電子回路へ組み込まれるべき別の追加回路に接続される。
【００１５】
本発明の一実施形態によれば、前記追加プログラムはＨＤＬとは異なる言語で記述してあり、前記実行ユニットは前記追加プログラムをＨＤＬに変換するための手段を備える。
【００１６】
本発明の一実施形態によれば、前記追加回路は、制御信号によって動作を制御され、第１の入力で前記追加回路からの信号を、及び第２の入力で前記所定値を、それぞれ制御信号として受信するマルチプレクサを備え、前記デバッグユニットは、前記追加回路に制御信号の値を供給するようにしてある。
【００１７】
本発明の一実施形態によれば、前記追加回路は選択された信号を表示する信号を供給することが可能であり、前記デバッグユニットはディスプレイ画面をさらに備え、前記ディスプレイ画面に上記表示信号の値を表示することができる。
【００１８】
本発明の一実施形態によれば、前記電子回路は初期プログラムに基づきプログラムされたプログラマブル・ゲート・アレイ回路であり、前記修正された電子回路は修正されたプログラムからプログラムされたプログラマブル・ゲート・アレイ回路である。
【００１９】
また本発明は、ハードウェア記述言語（ＨＤＬ）で記述した初期プログラムに基づき製造された電子回路をデバッグするための方法を提供し、追加プログラムを所定の機能を記述した追加プログラムを受信し、該追加プログラムに基づき前記電子回路へ組み込まれるべき追加回路を決定し、該追加回路は、電子回路に接続された少なくとも１つの入力端子及び／又は１つの出力端子を備えており、前記入力端子で受信された信号、前記出力端子から供給する信号、又は前記追加回路内部の信号の中から選択された信号を所定値に設定することが可能な追加回路のＨＤＬで記述された記述を組み込んだ初期プログラムからＨＤＬで記述された修正プログラムを提供し、修正プログラムに基づき修正された電子回路を製造し、選択された信号を所定値に設定するよう制御すべく、所定の時間に前記追加回路と通信する。
【００２０】
本発明の一実施形態によれば、前記所定の機能は、デバッグ機能、試験機能及び／又は検証機能である。
【発明の効果】
【００２１】
本発明によれば、ユーザがデバッグ処理においてそのツールによって実行されるべき機能を自由に、かつ容易に定義することができ、かつユーザがデバッグ処理において自らが定義したツールによって使用される一又は複数の信号の値を制御することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、添付の図面に関連する特定の実施形態の非限定的な説明において、本発明の上述の、及び他の目的、特徴及び優位点を詳しく検討する。
【００２３】
異なる図面を通じて、同じ要素は同じ参照数字で指示されている。明確を期して、本発明の理解に必要なエレメントのみが示されている。
【００２４】
図１は、本発明によるデバッグ方法の実装の一例をブロック図の形式で示したものである。以下の説明では、本発明によるデバッグ方法を、初期ＨＤＬ記述１２を基礎としてプログラムされることが望まれるＦＰＧＡ回路１０のデバッグに関して説明する。但し本発明は、初期ＨＤＬ記述１２を基礎として製造される、例えばＡＳＩＣタイプの専用電子回路のデバッグにも適用される。
【００２５】
本発明によるデバッグ方法は、初期ＨＤＬ記述１２を受信し、かつ後に詳述するように、ユーザにより供給される命令に従って初期ＨＤＬ記述１２を基礎とする修正されたＨＤＬプログラム１６を提供することができる実行ユニット１４を含む。この目的のために、実行ユニット１４は、例えばディスプレイ画面、マウス及びキーボード又は他の適合化された手段を備えるマン−マシン・インタフェースを含む。
【００２６】
修正ＨＤＬ記述１６は、次に、従来の方法で修正ＨＤＬ記述１６に基づいてＦＰＧＡ回路１０をプログラムする能力のあるプログラミングユニット１８へ供給される。
【００２７】
本発明によるデバッグ・デバイスは、修正ＨＤＬ記述に基づいてプログラムされたＦＰＧＡ回路１０が動作した場合、ＦＰＧＡ回路１０とデータを交換し、マンマシン・インタフェースを介してユーザにデバッグ処理の進捗状況に関する表示を供給することのできるデバッグユニット２０を備える。デバッグユニット２０とＦＰＧＡ回路１０との間のデータ交換は、例えばＩＥＥＥ規格１１４９．１により定義されたＪＴＡＧ試験プロトコルによるＦＰＧＡ回路１０の専用のピンを介して実行される。
【００２８】
図２は、初期ＨＤＬ記述１２を修正するために使用される実行ユニット１４のディスプレイ画面上のディスプレイの一例を示す。実行ウィンドウと呼ばれるウィンドウ２４は、ユーザに、各ブロックがデバッグ・オペレーションにおいてユーザを手助けすることができるデバッグ・ツールに関連づけられるブロック・リスト２６を提供する。これらは、テメント社からＤＬＩの商品名で販売されているロジック・アナライザによって供給されるツールであることが可能である。一例として、実行ユニット１４によって供給されるツールは、特に下記の非網羅的なリスト、すなわち、
−  入力信号を受信し、入力信号に論理演算を実行して一又は複数の出力信号を供給するツールであって、論理演算はユーザによって定義される可能性があるツール、
−  複数の入力信号の値を同時に予め定義された値と比較し、例えばアクティブな状態で出力信号を供給することにより入力信号の値が所定の時間に予め定義された値に等しいか否かを表示するツール、
−  信号の時間変動を観測し、観測された信号によって取得された値のシーケンスが予め定義された値のシーケンスに一致するか否かを表示するツール、
−  信号の時間変動を観測し、観測された信号が過渡パルスを呈示しているか否かを表示するツール、
−  例えばバス又はバス占有上のビット・レートを測定することにより、電子回路のバス上のデータ・フローを解析するツール、
に一致する。
【００２９】
ユーザは、提供されたツールの中から幾つかのツールを選択し、どの信号がこれらのツールを供給するのかを定義することが可能である。またユーザは、あるツールの出力が別のツールの入力を駆動するようにツールを相互接続することも可能である。これにより、ユーザは、実行ユニット１４によって最初に供給されるツールを基礎としてより複雑なデバッグ・ツールを入手することができるようになる。
【００３０】
本発明は、ユーザがデバッグ処理においてそのツールによって実行されるべき機能を自由に、かつ容易に定義できるようにする、かつユーザがデバッグ処理において自らが定義したツールによって使用される１つまたは幾つかの信号の値を制御できるようにする、論理ユーザ・ツールと呼ばれる特別なツールを提供することより成る。
【００３１】
図３は、論理ユーザユニット３０を形成するエレメントを略示している。デバッグ処理において論理ユーザユニット３０により実行される機能は、ユーザによって記述されたプログラムから取得された、ＨＤＬで記述されたツール記述プログラム３２によって定義される。論理ユーザユニット３０は、ツール記述プログラム３２の入力／出力信号を初期ＨＤＬ記述１２の他の信号へ、または他のデバッグ・ツールに関連づけられる信号へ接続できるようにするインタフェース・ユニット３４を備える。さらに論理ユーザユニット３０は、ツール記述プログラム３２の一又は複数の入力信号、出力信号又は内部信号の値を制御し、及び／又は観測できるようにする制御及び観測ユニット３６を備える。
【００３２】
図３は、論理ユーザユニット３０を基礎としてツールを形成するための方法の一例のステップを説明している。
【００３３】
ステップ４０において、ユーザは、デバッグ・フェーズにおいてそのツールが実行しなければならない試験機能、デバッグ機能及び／又は検証機能を定義する基本プログラムを適切な言語で記述している。これは、デバッグ機能を記述するために特に良く適合化されているＨＤＬである場合もあれば、期待された特性が検証されることを検証することより成る所謂アサート機能を記述するために特に良く適合化されているＰＳＬ  Ｓｕｇａｒ又はＶｅｒｉｌｏｇシステム言語であっても良い。基本プログラムは、他の信号（例えば、初期ＨＤＬ記述１２の信号又は初期ＨＤＬ記述１２内に既に組み込まれているツールの入力／出力信号）に接続されるように意図されたインタフェース信号を含まなければならない。さらに、基本プログラムの入力信号の１つは、デバッグ・フェーズにおいて特に制御及び観測ユニット３６により観測される信号のサンプリングに使用されるクロック信号に一致していなければならない。
【００３４】
ステップ４２において、ユーザは、論理ユーザユニット３０をユーザが既に初期ＨＤＬ記述１２へ接続しているツールへ追加する。この時点では、論理ユーザユニット３０はまだツール記述プログラム３２を備えていない。
【００３５】
ステップ４４において、ユーザは、ステップ４０で定義された基本プログラムを論理ユーザユニット３０にツール記述プログラム３２として組み込む。実行ユニット１４は、必要であればこの基本プログラムをＨＤＬに変換する。さらに実行ユニット１４は、ディスプレイ画面上にツール記述プログラムに関連づけられる入力及び出力信号及び内部信号を表示する。
【００３６】
ステップ４６において、ユーザは都合の良いときに、ツール記述プログラム３２の入力／出力信号を初期ＨＤＬ記述１２によって使用される信号へ、又はユーザが既に初期記述１２へ接続しているツールの入力／出力信号へ接続する。さらにユーザは、論理ツールユニット３０のクロック信号を初期ＨＤＬ記述１２に使用されるクロック信号へ、又は初期ＨＤＬ記述１２に使用されるクロック信号の１つへ接続する。ユーザはさらに、制御及び観測ユニット３６へ後続のデバッグ・ステップで観測することを希望するツール記述プログラム３２の入力信号、出力信号及び／又は内部信号を接続する。最後にユーザは、制御及び観測ユニット３６へ、後続のデバッグ・ステップにおいてその値をインポーズできるように希望する論理ユーザユニット３０の入力信号、出力信号及び／又は内部信号を接続する。
【００３７】
ステップ４８において、実行ユニット１４は、観測されるべき、又は制御されるべき信号を考慮するようにツール記述プログラム３２を修正し、次いで初期ＨＤＬ記述１２を論理ユーザユニット３０のＨＤＬ言語で書かれた記述を包含するように修正する。次にＦＰＧＡ回路１０は、修正ＨＤＬ記述１６からプログラムされる。
【００３８】
後続のデバッグ・フェーズにおいて、デバッグユニット２０はディスプレイ画面に観測された入力信号、出力信号、又は内部信号の値をタイミング図の形式で、又は各デジタル値が例えば仮想発光ダイオードである考慮対象信号を表す記号に関連づけられている複数のデジタル値の形式で表示することができる。ユーザはこれで、初期ＨＤＬ記述１２に組み込んだ論理ユーザユニット３０によって実行された試験、デバッグ及び／又は検証の結果を容易に視覚化することができる。デバッグ・ステップでは、ユーザはさらに、制御されるべき信号として先に指定した論理ユーザユニット３０の入力／出力信号又は内部信号の値をいつでも互いに独立して設定することが可能である。
【００３９】
論理ユーザユニット３０に関連づけられる信号を観測して制御するために、デバッグユニット２０は、例えばＩＥＥＥ規格１１４９．１に定義された試験プロトコルＪＴＡＧ専用のＦＰＧＡ回路１０のアクセス端末を使用する。より特定的には、信号を観測するために、観測されるべき信号数のサイズを有する観測レジスタがプログラムされたＦＰＧＡ回路１０のレベルに供給される。ＪＴＡＧ試験プロトコルによって従来と同様に使用されている命令により、そのビットがＪＴＡＧ試験プロトコル専用のＦＰＧＡ回路１０の端子ＴＤＯによりデバッグユニット２０へ連続して送信される、観測レジスタ内で観測されるべき信号の値が捕捉される。信号の捕捉は、論理ユーザユニット３０用に指定されているクロックと同時的に実行される。これは、観測されるべき信号の値を、それらが変化していないことを確信しながらサンプリングすることを可能にする。
【００４０】
ツール記述プログラム３２の入力／出力信号又は内部信号の制御は、ツール記述プログラム３２により記述された回路におけるマルチプレクサ５２の２つの新たな入力信号、すなわち制御されるべき信号へインポーズされることが望まれる値に対応する信号ＳＣＯＭ、マルチプレクサ５２を制御する信号ＳＭＵＸ、及び新たな内部信号ＳＮＥＷの加算によって達成される。ある実施例によれば、制御されることが望まれる信号の数の２倍に等しい、すなわち信号ＳＣＯＭ及びＳＭＵＸの数に等しいビット数で形成される制御レジスタが、プログラムされたＦＰＧＡ回路１０のレベルに供給される。デバッグ・フェーズでは、ＳＣＯＭ及びＳＭＵＸの値がデバッグユニット２０により制御レジスタへ、ＪＴＡＧ試験プロトコル専用のＦＰＧＡ回路１０の端子ＴＤＩによって連続して供給される。新しい値は次に、論理ユーザユニット３０用に指定されているクロック信号と同時に論理ユーザユニット３０へ効果的に送信される。デバッグ・ステップにおいて、論理ユーザユニット３０により実装される一又は複数の入力／出力信号及び／又は内部信号の値を修正することにより、同じデバッグ・ステップで、修正ＨＤＬ記述１６によってプログラムされたＦＰＧＡ回路１０の通常の動作速度で異なる試験を実行することができる。
【００４１】
図５乃至図７は、ツール記述プログラム３２の信号制御の実装例を大幅に略して示したものである。
【００４２】
図５（ａ）は、ユーザによって書かれた基本プログラムから定義され、その値をインポーズされることが望まれる論理ユーザユニット３０の出力信号ＳＯＵＴを供給する内部エレメント５０を含む論理ユーザユニット３０を示す。
【００４３】
図５（ｂ）は、エレメント５０の下流にマルチプレクサ５２が置かれた図５（ａ）に類似する図を示す。新たな内部信号ＳＮＥＷはエレメント５０によって供給される信号に対応し、出力信号ＳＯＵＴを供給するマルチプレクサ５２の第１の入力を駆動する。信号ＳＣＯＭはマルチプレクサ５２の第２の入力を駆動し、信号ＳＭＵＸはマルチプレクサ５２を制御する。
【００４４】
図６（ａ）は、ユーザによって書かれた基本プログラムから定義され、その値をインポーズされることが望まれる論理ユーザユニット３０の入力信号ＳＩＮを受信する内部エレメント５０を含む論理ユーザユニット３０を示す。
【００４５】
図６（ｂ）は、エレメント５０の上流にマルチプレクサ５２が置かれた図６（ａ）に類似する図を示す。新たな内部信号ＳＮＥＷはマルチプレクサ５２によって供給される信号に対応し、内部エレメント５０を駆動する。入力信号ＳＩＮはマルチプレクサ５２の第１の入力を駆動し、信号ＳＣＯＭはマルチプレクサ５２の第２の入力を駆動し、信号ＳＭＵＸはマルチプレクサ５２を制御する。
【００４６】
図７（ａ）は、内部信号ＳＩＮＴを第２の内部エレメント５４へ供給する第１の内部エレメント５２を含む論理ユーザユニット３０を示し、上記第１及び第２の内部エレメント５２、５４はユーザによって書かれた基本プログラムから定義されている。内部信号ＳＩＮＴの値は、インポーズされることが望まれる。
【００４７】
図７（ｂ）は、マルチプレクサ５２が内部エレメント５２、５４間に配置されている図７（ａ）に類似する図を示す。新しい内部信号ＳＮＥＷは、マルチプレクサ５２によって第２の内部エレメント５６へ供給される。内部信号ＳＩＮＴは、マルチプレクサ５２の第１の入力を駆動する。信号ＳＣＯＭはマルチプレクサ５２の第２の入力を駆動し、信号ＳＭＵＸはマルチプレクサ５２を制御する。
【００４８】
最も単純に表現すると、論理ユーザユニット３０は、その値がインポーズされることが望まれる信号、すなわち初期のＨＤＬ記述１２の信号又は初期のＨＤＬ記述１２に組み込まれる別のツールの入力又は出力信号に接続される第１の入力と、信号ＳＣＯＭを受信する第２の入力とを備える単一のマルチプレクサ５２より成る。論理ユーザユニット３０はまた、マルチプレクサ５２を制御する信号ＳＭＵＸも受信する。
【００４９】
より一般的に言えば、本発明は、ユーザが初期ＨＤＬ記述１２に正確に適合させることのできる特別なシナリオによる試験の実行を可能にする。これは、例えば複雑な状態マシンの検証である。このような検証オペレーションを従来のプログラミング言語で書くことは概して単純かつ迅速であるが、このような検証オペレーションをグラフィック・インタフェースを介して定義することは困難であると思われる。上述したシナリオは、併せて、別々に使用されることが可能な試験機能、デバッグ機能及び／又は検証機能を実装することが可能である。さらに、デバッグ・フェーズでは、ユーザは論理ユーザユニット３０の制御及び観測ユニットに接続された信号を別々に、又は同時に制御することが可能である。従ってユーザは、特別な試験ベクトルをＦＰＧＡ回路１０に直接印加することができる。
【００５０】
ＨＤＬプログラムは、ＨＤＬプログラムを基礎としてプログラムされたＦＰＧＡ回路１０の異なる部分を同期させるために使用される幾つかの制御クロック信号を実装することが可能である。よって各論理ユーザユニット３０は最も高い周波数を有する制御クロック信号によって効果的に制御され、観測される信号の測定は、観測信号の任意の状態スイッチングが捕捉されるように最も高い制御クロック信号周波数で実行される。
【００５１】
当然ながら、本発明は、当業者には容易に想起される様々な変更、修正及び改良を有するものと思われる。このような変更、修正及び改良は本開示の一部であることが意図され、かつ本発明の精神及び範囲内にあることが意図される。従って、上述の説明は単なる例示であり、限定的であることは意図されていない。本発明は、添付の請求の範囲及びその等価物に記載された内容によってのみ限定される。
【図面の簡単な説明】
【００５２】
【図１】本発明によるデバッグ方法の一実装例のステップのあらましを示す。
【図２】デバッグ処理を準備した時点の本発明によるデバッグ・デバイスのグラフィック・インタフェースの一例を略示している。
【図３】本発明によるデバッグ・ツールの一構成例を略示している。
【図４】本発明によるデバッグ・ツールを形成する方法の一例のステップを示す。
【図５】本発明によるデバッグ・ツールの構成例を示す。
【図６】本発明によるデバッグ・ツールの構成例を示す。
【図７】本発明によるデバッグ・ツールの構成例を示す。
【符号の説明】
【００５３】
１２  初期ＨＤＬ記述
１４  実行ユニット
１６  修正ＨＤＬ記述
１８  プログラミングユニット
１０  ＦＰＧＡ回路
２０  デバッグユニット
３０  論理ユーザユニット
５２  マルチプレクサ
【図１】
2006048677.tif 000003
【図２】
2006048677.tif 000004
【図３】
2006048677.tif 000005
【図４】
2006048677.tif 000006
【図５】
2006048677.tif 000007
【図６】
2006048677.tif 000008
【図７】
2006048677.tif 000009