(57)【要約】【課題】再構成可能な論理デバイスにおいて、論理シミュレータと同様に不定値を用いた、デバッグを実現する。【解決手段】再構成可能な論理デバイスの構成要素に、不定値を保持し、不定値を含む演算をし、不定値を伝搬させる機能を付与する。レジスタ７と配線とを備えた再構成可能な論理デバイスにおいて、前記レジスタ７は不定値を記録するように構成され、不定値拡張用の端子９、１１、１３を備え、前記配線は不定値を伝搬するように構成される。【選択図】図２
2008176485.tif 000002
【特許請求の範囲】
【請求項１】
レジスタまたはメモリのいずれかの記憶素子と配線とを備えた再構成可能な論理デバイスにおいて、
前記記憶素子は不定値を保持するように構成され、
前記配線は不定値を伝搬するように構成されたことを特徴とする、再構成可能な論理デバイス。
【請求項２】
演算器と配線とを備えた再構成可能な論理デバイスにおいて、
前記演算器は不定値を含む演算を行うように構成され、
前記配線は不定値を伝搬するように構成されたことを特徴とする、再構成可能な論理デバイス。
【請求項３】
内部構成を変更するスイッチと配線とを備えた再構成可能な論理デバイスにおいて、
前記スイッチは不定値を伝搬するように構成され、
前記配線は不定値を伝搬するように構成されたことを特徴とする、再構成可能な論理デバイス。
【請求項４】
入出力端子を備えた再構成可能な論理デバイスにおいて、
前記入出力端子は不定値を伝搬するように構成されたことを特徴とする、再構成可能な論理デバイス。
【請求項５】
不定値を考慮しない通常モードと不定値を考慮するデバッグモードとの間で切り替え可能であるように構成されたことを特徴とする、請求項１ないし４のいずれかに記載の再構成可能な論理デバイス。
【請求項６】
前記通常モードにおいて誤り検出または誤り訂正に使用する資源を、前記デバッグモードにおいて使用するように構成されたことを特徴とする、請求項５に記載の再構成可能な論理デバイス。
【請求項７】
不定値をビットごとに付加するように構成されたことを特徴とする、請求項１ないし４のいずれかに記載の再構成可能な論理デバイス。
【請求項８】
不定値をデータ処理の単位ごとに付加するように構成されたことを特徴とする、請求項１ないし４のいずれかに記載の再構成可能な論理デバイス。
【請求項９】
初期化時において、前記記憶素子、前記演算器、前記スイッチ、前記入出力端子のいずれかに不定値を設定するように構成されたことを特徴とする、請求項１ないし４のいずれかに記載の再構成可能な論理デバイス。
【請求項１０】
請求項１ないし４のいずれかに記載の再構成可能な論理デバイスと、
前記再構成可能な論理デバイスを初期化する際、前記記憶素子、前記演算器、前記スイッチ、前記入出力端子のいずれかに不定値を設定するように構成されたデバッグ装置と、
を備えたことを特徴とする再構成可能な論理デバイスのデバッグシステム。
【請求項１１】
請求項１ないし４のいずれかに記載の再構成可能な論理デバイスと、
前記再構成可能な論理デバイスへ構成情報を書き込んだ後、前記記憶素子、前記演算器、前記スイッチ、前記入出力端子のいずれかに不定値を設定するように構成されたデバッグ装置と、
を備えたことを特徴とする再構成可能な論理デバイスのデバッグシステム。
【請求項１２】
前記記憶素子、前記演算器、前記スイッチ、前記配線、前記入出力端子のいずれかにおいて発生または伝搬した不定値伝搬情報を取得し、デバッグ用の情報を出力するように構成された制御器を、備えたことを特徴とする、請求項９に記載の再構成可能な論理デバイス。
【請求項１３】
請求項１２に記載の再構成可能な論理デバイスと、
前記制御器から前記デバッグ用の情報を入力するとともにデバッグ用の情報を出力するように構成されたデバッグ装置と、
を備えたことを特徴とする再構成可能な論理デバイスのデバッグシステム。
【請求項１４】
不定値伝搬をトリガにしてイベントを発生するように構成されたことを特徴とする、請求項９に記載の再構成可能な論理デバイス。
【請求項１５】
不定値伝搬をトリガにしてイベントを発生するように構成されたことを特徴とする、請求項１０または１１のいずれかに記載の再構成可能な論理デバイスのデバッグシステム。
【請求項１６】
不定値伝搬を時系列に記録するように構成されたことを特徴とする、請求項９に記載の再構成可能な論理デバイス。
【請求項１７】
不定値伝搬を時系列に記録するように構成されたことを特徴とする、請求項１０または１１のいずれかに記載の再構成可能な論理デバイスのデバッグシステム。
【請求項１８】
不定値伝搬をトリガにして停止するように構成されたことを特徴とする、請求項９に記載の再構成可能な論理デバイス。
【請求項１９】
不定値伝搬をトリガにして停止するように構成されたことを特徴とする、請求項１０または１１のいずれかに記載の再構成可能な論理デバイスのデバッグシステム。
【請求項２０】
不定値発生をトリガにして動作中にデバッグ用の情報を表示するように構成されたことを特徴とする、請求項１５または１７のいずれかに記載の再構成可能な論理デバイスのデバッグシステム。
【請求項２１】
不定値発生をトリガにして停止した後にデバッグ用の情報を表示するように構成されたことを特徴とする、請求項１７または１９のいずれかに記載の再構成可能な論理デバイスのデバッグシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は再構成可能な論理デバイスおよびそのデバッグシステムに関し、特に不定値伝搬によるデバッグ機能を備えた再構成可能な論理デバイスおよびそのデバッグシステムに関する。
【背景技術】
【０００２】
近年、再構成可能な論理デバイス（部分再構成可能または動的再構成可能な論路デバイスを含む。以下同じ。）を用いたＬＳＩ開発において、ラピッド・プロトタイピングに基づいた開発が盛んになってきており、設計、合成、実機による実行の開発サイクルが短くなってきている。
【０００３】
論理回路の規模または実行サイクル数が大きい場合には、仮に合成時間が長くかかったとしても、実ハートウェアでデバッグを行うことにより、シミュレーションと比較して、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）が短くなることもある。
【０００４】
また、シミュレーションと実ハードウェアへマッピングした場合とでは、動作が論理的に異なる場合があるため、シミュレーションを行う場合も、最終的には実ハードウェアによる検証が必須である。
【０００５】
このように、ＴＡＴの短縮および検証の確実性の観点から、実ハードウェアにおけるデバッグを容易に実現する技術が期待されている。
【０００６】
なお、不定値伝搬によるシミュレーション方法は、例えば文献１に開示されている。
【０００７】
【特許文献１】特開平０５−１８９５１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
論理回路のデバッグは論理シミュレータを用い不定値伝搬を解析することが有効であることが知られている（特許文献１）。しかし、従来の実ハードウェアでは不定値を扱うことができず、０または１の２値しか扱うことができないため、不定値検出による回路デバッグが不可能である。
【０００９】
したがって、実チップにおける不定値伝搬を可能とし、論理シミュレータと同様に実チップにおいても不定値伝搬を用いたデバッグを行うことを可能とするための再構成可能な論理デバイスおよびそのデバッグ装置を提供することが課題となる。
【課題を解決するための手段】
【００１０】
本発明の第１の視点に係る再構成可能な論理デバイスは、レジスタまたはメモリのいずれかの記憶素子と配線とを備えた再構成可能な論理デバイスにおいて、前記記憶素子は不定値を保持するように構成され、前記配線は不定値を伝搬するように構成されたことを特徴とする。
【００１１】
本発明の第２の視点に係る再構成可能な論理デバイスは、演算器と配線とを備えた再構成可能な論理デバイスにおいて、前記演算器は不定値を含む演算を行うように構成され、前記配線は不定値を伝搬するように構成されたことを特徴とする。
【００１２】
本発明の第３の視点に係る再構成可能な論理デバイスは、内部構成を変更するスイッチと配線とを備えた再構成可能な論理デバイスにおいて、前記スイッチは不定値を伝搬するように構成され、前記配線は不定値を伝搬するように構成されたことを特徴とする。
【００１３】
本発明の第４の視点に係る再構成可能な論理デバイスは、入出力端子を備えた再構成可能な論理デバイスにおいて、前記入出力端子は不定値を伝搬するように構成されたことを特徴とする。
【００１４】
第１の展開形態の再構成可能な論理デバイスは、不定値を考慮しない通常モードと不定値を考慮するデバッグモードとの間で切り替え可能であるように構成されたことを特徴とする。
【００１５】
第２の展開形態の再構成可能な論理デバイスは、前記通常モードにおいて誤り検出または誤り訂正に使用する資源を、前記デバッグモードにおいて使用するように構成されたことを特徴とする。
【００１６】
第３の展開形態の再構成可能な論理デバイスは、不定値をビットごとに付加するように構成されたことを特徴とする。
【００１７】
第４の展開形態の再構成可能な論理デバイスは、不定値をデータ処理の単位ごとに付加するように構成されたことを特徴とする。
【００１８】
第５の展開形態の再構成可能な論理デバイスは、初期化時において、前記記憶素子、前記演算器、前記スイッチ、前記入出力端子のいずれかに不定値を設定するように構成されたことを特徴とする。
【００１９】
第６の展開形態の再構成可能な論理デバイスのデバッグシステムは、前記再構成可能な論理デバイスと、前記再構成可能な論理デバイスを初期化する際、前記記憶素子、前記演算器、前記スイッチ、前記入出力端子のいずれかに不定値を設定するように構成されたデバッグ装置と、を備えたことを特徴とする。
【００２０】
第７の展開形態の再構成可能な論理デバイスのデバッグシステムは、前記再構成可能な論理デバイスと、前記再構成可能な論理デバイスへ構成情報を書き込んだ後、前記記憶素子、前記演算器、前記スイッチ、前記入出力端子のいずれかに不定値を設定するように構成されたデバッグ装置と、を備えたことを特徴とする。
【００２１】
第８の展開形態の再構成可能な論理デバイスは、前記記憶素子、前記演算器、前記スイッチ、前記配線、前記入出力端子のいずれかにおいて発生または伝搬した不定値伝搬情報を取得し、デバッグ用の情報を出力するように構成された制御器を、備えたことを特徴とする。
【００２２】
第９の展開形態の再構成可能な論理デバイスのデバッグシステムは、前記論理デバイスと、前記制御器から前記デバッグ用の情報を入力するとともにデバッグ用の情報を出力するように構成されたデバッグ装置と、を備えたことを特徴とする。
【００２３】
第１０の展開形態の再構成可能な論理デバイスは、不定値伝搬をトリガにしてイベントを発生するように構成されたことを特徴とする。
【００２４】
第１１の展開形態の再構成可能な論理デバイスのデバッグシステムは、不定値伝搬をトリガにしてイベントを発生するように構成されたことを特徴とする。
【００２５】
第１２の展開形態の再構成可能な論理デバイスは、不定値伝搬を時系列に記録するように構成されたことを特徴とする。
【００２６】
第１３の展開形態の再構成可能な論理デバイスのデバッグシステムは、不定値伝搬を時系列に記録するように構成されたことを特徴とする。
【００２７】
第１４の展開形態の再構成可能な論理デバイスは、不定値伝搬をトリガにして停止するように構成されたことを特徴とする。
【００２８】
第１５の展開形態の再構成可能な論理デバイスのデバッグシステムは、不定値伝搬をトリガにして停止するように構成されたことを特徴とする。
【００２９】
第１６の展開形態の再構成可能な論理デバイスのデバッグシステムは、不定値発生をトリガにして動作中にデバッグ用の情報を表示するように構成されたことを特徴とする。
【００３０】
第１７の展開形態の再構成可能な論理デバイスのデバッグシステムは、不定値発生をトリガにして停止した後にデバッグ用の情報を表示するように構成されたことを特徴とする。
【発明の効果】
【００３１】
本発明に係る再構成可能な論理デバイスおよびそのデバッグシステムによれば、ソフトウェアによる低速なシミュレータまたは高速であるものの高価なエミュレータによるシミュレーションを行わなくても、再構成可能な論理デバイスの実チップにおいて不定値を扱うことができるようになる。
【００３２】
したがって、実チップにおいて、シミュレータを用いた場合と同様に不定値を用いた効率の良いデバッグを行うことが可能となる。
【発明を実施するための最良の形態】
【００３３】
上記目的を達成するため、本発明のデバイスは、再構成可能な論理デバイスであって、デバイスを構成する記憶素子（レジスタおよびメモリを含む。以下同じ。）が０、１の２値のみならず不定値を保持できる機能と、デバイスを構成する配線が不定値を伝搬する配線と、を有する。
【００３４】
また、再構成可能な論理デバイスであって、デバイスを構成する演算器が不定値を含む演算を行う機能と、デバイスを構成する配線が不定値を伝搬する配線と、を有する。
【００３５】
また、再構成可能な論理デバイスであって、デバイスを構成する配線間の接続を行うスイッチ素子の設定に起因して不定値を発生させる機能と、デバイスを構成する配線が不定値を伝搬する配線と、を有する。
【００３６】
また、再構成可能な論理デバイスであって、デバイスを構成する入出力端子が外部回路と不定値を送受信可能とする不定値用の端子と、デバイスを構成する配線が不定値を伝搬する配線と、を有する。
【００３７】
再構成可能な論理デバイスであって、デバイスに通常モードとデバッグモード間のモード切り替え機能と、デバイスを構成する上記モードに応じて、既存リソースと不定値伝搬機能（記憶素子・演算器・配線・入出力端子）を切り替えることによりリソースの一部又は全部を共有する機能と、を有する。
【００３８】
再構成可能な論理デバイスであって、これらにより、あらかじめ未初期化部分に不定値表現を書き込み、動作させることにより、実機においても回路の不具合に起因する不定値伝搬を検出する機能を有する。
【００３９】
次に、本発明の上記および他の目的、特徴および利点を明確にすべく、添付した図面を参照して、本発明の実施の形態を説明する。
【００４０】
図１は不定値機能を備えた再構成可能な論理デバイスを示す。以下では、再構成可能な論理デバイスの構成を例に説明する。但し、本発明は部分再構成可能もしくは動的再構成可能な論理デバイスに対しても同様に適用することができる。
【００４１】
再構成可能な論理デバイス１は、レジスタ、メモリなどの記憶素子または演算器からなるプロセッシング・エレメント（ＰＥ）２、配線３、配線間を接続するスイッチ４、入出力端子５をマトリクス状に複数個備える。これらに加え、モード設定や不定値伝搬の検出を行う制御器６を備える。
【００４２】
図１の２ないし６の構成要素は従来の再構成可能な論理デバイスにおいても、同様に含まれる。しかし、本発明に係るこれらの構成要素は不定値を保持し、または、伝搬する機能を有する。すなわち、記憶素子２は特定値（２値のいずれか）の保持だけでなく、不定値を保持することのできる記憶素子をさらに備え、演算器２は特定値同士の演算だけでなく、特定値と不定値の演算などの不定値を含む演算を行うことのできる演算器拡張を有し、配線３は不定値を伝搬できる配線をさらに備え、スイッチ４は不定値を伝搬すると共に不定値を設定することができる拡張を備え、入出力端子５は再構成可能な論理デバイスと外部回路間の不定値の送受信を行うため、不定値を伝搬することができる拡張端子を備える。
【００４３】
ここで、追加される不定値機能は物理的な1ビット線の追加であっても、多値による論理的な1ビット追加であっても良い（ビットの追加に関する記述について、以下同じ）。
【００４４】
また制御器６は、再構成可能な論理デバイスを構成するレジスタまたはメモリなどの記憶素子２に特定値を読み書きする機能の他に、不定値の読み書きをする機能を有する。またこの制御器６は再構成可能な論理デバイス１の各構成要素２〜５から不定値発生ないし伝搬の信号を受け取り、不定値の検出を行う機能を有する。
【００４５】
この再構成可能な論理デバイス１の外部には、デバッグ装置が備えられる。再構成可能な論理デバイス１とデバッグ装置とを合わせて、再構成可能な論理デバイスのデバッグシステムと呼ぶ。
【００４６】
図８は、入出力装置および再構成可能な論理デバイスに接続可能なインタフェースを備えた計算機とソフトウェアとからなるデバッグ装置を示す図である。
【００４７】
デバッグ装置４１は、計算機４２およびソフトウェア（非図示）を備え、計算機４２に備えるインタフェース装置４５を介して、再構成可能な論理デバイス１の制御器６と通信を行い、デバッグに必要な情報を設定し、取得し、生成し、表示する。
【００４８】
図２は不定値拡張を行ったレジスタ７を示す。書き込み、読み出し、ライト・イネーブル（ＷＥ）端子にそれぞれ不定値用のポートを追加し、かつ、不定値を保持(記録)できるよう内部に記憶素子を追加する。クロック、リセット等の同期回路で自明な信号線は省略した。以下の図に対しても同様に自明な信号線を省略する。
【００４９】
図中のｎビットのｎは１以上の整数であり、例えばｎ＝８の場合は８ビットレジスタに対して、不定値用の情報を１ビット拡張することを示している。書き込み端子８および読み出し端子１０それぞれに対して不定値拡張用の端子９および１１を追加する。また、ＷＥ（Ｗｒｉｔｅ  Ｅｎａｂｌｅ）端子１２はこの１ビットに対して、そのまま不定値拡張用の端子１３を１ビット拡張する。なお、不定値拡張の対象がレジスタではなくフリップフロップ（ＦＦ）の場合、ＷＥ端子１２は不要である。アドレスが特定値である場合は特定値および不定値の書き込みおよび読み出しが可能であるが、アドレスが不定値である場合は、書き込みは発生せず、読み出しでは不定値が読み出される。また、ＷＥ端子１２への入力が不定値の場合は、書き込みは行われない。
【００５０】
図３は不定値拡張を行ったメモリ１４を示す。書き込みデータ、読み出しデータ、アドレス、ライト・イネーブル（ＷＥ）端子にそれぞれ不定値用のポートを追加し、かつ、不定値を保持できるよう内部に記憶素子を追加する。
【００５１】
図中のｍおよびｎはそれぞれ１以上の整数であり、例えば、ｍ＝ｎ＝８の場合は、メモリの８ビット毎に不定値を示す１ビット分の記憶領域を拡張することを示している。書き込みデータ、アドレスデータ、読み出しデータのそれぞれの端子１５、１７、１９に対して不定値拡張用の端子１６、１８、２０を追加する。また、ＷＥ端子２１はこの１ビットに対して、そのまま不定値拡張用の端子２２を１ビット拡張する。
【００５２】
図４は不定値拡張を行ったＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  Ｌｏｇｉｃ  Ｕｎｉｔ、算術論理演算装置）２３を示す。入力ｐ、入力ｑと出力ｒ端子にそれぞれ不定値用のポートを追加し、かつ、不定値を含む演算機能をＡＬＵ内部に追加してある。ＡＬＵがセレクタ（ＳＥＬＥＣＴＯＲ）の場合は、セレクト端子に不定値用のポートを追加する。図中のｎは1以上の整数であり、例えばｎ＝８の場合は、２入力（端子２４、２６）かつ１出力(端子２８)で演算器の粒度が８ビットであり、不定値拡張を含む入力（端子２４、２５、２６、２７）を受け、不定値を考慮した演算を行い、不定値を含む演算結果を出力（端子２８、２９）する。ＡＬＵ２３が入力のどちらかを選択し出力するセレクタ（ＳＥＬＥＣＴＯＲ）の場合は、セレクタ値（制御値）を受ける端子３０を持つため、この不定値拡張（１ビット）に対して、不定値拡張用の端子３１を１ビット拡張する。
【００５３】
図５は不定値を考慮した演算の真理値表を示す。一般に、入力のいずれか１つが不定値であった場合、演算結果、すなわち出力は不定値となる。但し、ＡＮＤやＯＲなどの論理演算およびセレクタでは入力のいずれかが不定値であっても出力が特定値となる場合がある。一般に、多入力１出力の演算では入力のいずれか１つに不定値Ｘが含まれる場合、出力は不定値Ｘとなる。ただし、ＡＮＤ、ＯＲなどの論理演算やセレクタでは入力のいずれか１つが不定値Ｘであっても出力値が特定される場合がある。例えば論理積（ＡＮＤ）の場合は入力端子のいずれか１つがゼロであれば出力もゼロとなる。したがって、この場合に限り、入力端子の何れかが不定値Ｘであっても出力がゼロに特定される。論理和（ＯＲ）の場合は入力のいずれか１つのビットが全て１であれば出力のビットも全て１となる。したがって、この場合に限り、入力端子のいずれかに不定値Ｘが含まれる場合であっても出力のビットは全て１に特定される。否定（ＮＯＴ）は、入力が不定値Ｘであれば出力も不定値Ｘとなる。２入力１出力セレクタの場合はセレクト信号が特定値であれば、選択されない方の入力が不定値Ｘであっても出力は特定される。セレクト信号が不定値Ｘである場合、出力は常に不定値Ｘとなる。
【００５４】
図６は不定値を考慮したスイッチの一例を示す。図中のスラッシュ付きの線３３は従来の信号線であり、スラッシュ無しの線３４は不定値用の信号線である。雲状の部分は回路網３２を示す。入力端子が非接続（ＮＣ）の信号線３５に対しては、不定値用信号線３６に不定値を設定する。つまり、再構成可能な論理デバイスの断線した信号線３５には不定値が設定され、配線を通じて不定値が伝搬する。
【００５５】
図７は既存リソースと不定値機能を共有する一例を示す。既存リソースとして、レジスタ７やメモリ１４にはパリティビット３７が、ＡＬＵ２３にはパリティビット３８の再計算を行う機能がある場合、レジスタ７やメモリ１４のパリティビット３７は排他的に不定値の保持用途にも使用できる。また、不定値を考慮しない通常モードおよび不定値を考慮するデバッグモードのモードを定義し、モード切り替えスイッチ４０によるモードの切り替えに連動して不定値演算を行う機能を組み込むことにより、パリティビット３８と不定値保持ビット３９の間で配線を共有することが可能となり、オーバーヘッドを最小にしつつ不定値演算機能を追加することできる。
【００５６】
このモードの切り替えは図１に示す制御器６により制御される。図７には、既存リソースがパリティの場合を示したが、既存リソースはＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｎｇ）等の故障検出機能であっても良い。
【００５７】
図８はデバッグ装置４１を示す。デバッグ装置４１は計算機４２と、入力装置４３と、出力装置４４とを備える。計算機４２は再構成可能な論理デバイス１に接続可能なインタフェース装置４５を備える。また、計算機４２上でデバッグソフトウェアが動作する。
【実施例１】
【００５８】
再構成可能な論理デバイスは、ユーザ回路を構成情報として設定することにより機能する。図１を参照すると、実施例１の再構成可能な論理デバイス１において、構成情報の書き込み前に、全てのレジスタやメモリなどの記憶素子２の内容を不定値で埋め、また、全てのスイッチ４を非接続の設定にして、非接続部分は不定値となるように不定値設定を行う。
【００５９】
この不定値設定動作は再構成可能な論理デバイス１のリセット動作に組み込まれていても良いし、図８を参照して、再構成可能な論理デバイスのデバッグ装置４１の機能として埋め込まれていても良い。
【００６０】
なお、不定値設定動作は構成情報の書き込み後に任意の部分だけ不定値となるように行ってもよい。この段階で構成情報を未設定の記憶素子２や断線状態にある配線３には不定値が設定されている。
【００６１】
次に、ユーザ回路を動作させる。
【００６２】
ユーザ回路の構成情報にバグが無い場合、再構成可能な論理デバイス１に設定されている不定値は利用されず、配線３を伝って伝搬しない。一方、構成情報にバグが含まれる場合、不定値が伝搬し得る。
【００６３】
ＰＥ２に配置されたメモリおよび演算器によって、不定値が読み出され、演算結果が不定値となった場合、その情報は再構成可能な論理デバイス１の制御器６に集められ、不定値の発生とその発生箇所が検出される。
【００６４】
図８を参照すると、不定値の発生や発生箇所の情報は、再構成可能な論理デバイス１の外部に接続されたデバッグ装置４１へ、計算機４２のインタフェース装置４５を介して送信され、出力装置４４によって回路設計者に表示される。
【００６５】
これにより回路設計者は回路の問題箇所、すなわち、構成情報に含まれるバグを検出することが可能となる。
【実施例２】
【００６６】
実施例１では構成情報の未設定部分に不定値が設定されるようにすることで、バグを検出することを可能にした。実施例２では、注目する特定の部分に不定値を設定し、それ以外の部分に特定値を設定した後、不定値の伝搬を解析することで、不定値の伝搬範囲によって、バグの影響する範囲を特定することが可能となる。
【００６７】
はじめに、ユーザ回路の構成情報を含む全ての構成情報に特定値を設定する。次に、回路構造上の影響範囲を調べたい特定の構成要素に不定値を設定する。
【００６８】
その後、特定のサイクルに亘って、ユーザ回路を動作させる。
【００６９】
すると上記注目点を起点としたコーン状に不定値が伝搬する。図１を参照すると、この情報は再構成可能な論理デバイス１の制御器６に集められる。さらに、図８を参照すると、制御器６に集められた情報は、外部に接続されたデバッグ装置４１へと計算機４２のインタフェース装置４５を介して転送され、デバッグ装置４１の出力装置４４によって回路設計者に提示される。
【００７０】
これにより回路設計者は、特定の構成要素に含まれるバグの影響範囲を把握すると共にデバッグの補助情報として用いることが出来る。
【図面の簡単な説明】
【００７１】
【図１】不定値機能を備えた再構成可能な論理デバイスを示す図である。
【図２】レジスタに不定値保持機能を追加した例を示す図である。
【図３】１リード１ライトの２ポートメモリに不定値保持機能を追加した例を示す図である。
【図４】２入力１出力ＡＬＵ（演算器）に不定値演算機能を追加した例を示す図である。
【図５】不定値を含む演算の真理値表である。
【図６】スイッチにおける不定値の伝搬を示す図である。
【図７】レジスタやメモリにおいて、パリティ等の既存リソースと不定値の保持リソースを共有することを示す図である。
【図８】デバッグ装置および再構成可能な論理デバイスからなる再構成可能な論理デバイスのデバッグシステムを示す図である。
【符号の説明】
【００７２】
１  再構成可能な論理デバイス
２  記憶素子および演算器からなるプロセッシング・エレメント（ＰＥ）
３  配線
４  スイッチ
５  入出力端子
６  制御器
７  レジスタ
８、１５  書き込み端子
９、１１、１３、１６、１８、２０、２２、２５、２７、２９、３１  不定値拡張用の端子
１０、１９  読み出し端子
１２、２１  ＷＥ端子
１４  メモリ
１７  アドレス端子
２３  ＡＬＵ（演算器）
２４、２６  入力端子
２８  出力端子
３０  セレクト端子
３２  回路網
３３、３４、３５、３６  信号線
３７  パリティ（不定値保持）ビット
３８  パリティビット
３９  不定値保持ビット
４０  モード切り替えスイッチ（ＳＷ）
４１  デバッグ装置
４２  計算機
４３  入力装置
４４  出力装置
４５  インタフェース装置
【図１】
2008176485.tif 000003
【図２】
2008176485.tif 000004
【図３】
2008176485.tif 000005
【図４】
2008176485.tif 000006
【図５】
2008176485.tif 000007
【図６】
2008176485.tif 000008
【図７】
2008176485.tif 000009
【図８】
2008176485.tif 000010