(57)【要約】  本発明は、次のステップを含む方法に関する。すなわち、システムの合成時にメモリ要素の元となるＨＤＬ命令シーケンスが、元のＨＤＬ記述ファイル内で自動的に発見され、いわゆるＳＣＡＮ  ＨＤＬ命令が、少なくともＨＤＬ記述ファイルの一部へと、自動的で順次に、識別されたメモリ要素の関係または関数の分析なしに挿入され、それにより、メモリ要素をリンクする、少なくとも１つのいわゆるＳＣＡＮチャネルがシステムの合成時に得られる。【選択図】  図１
2007522574.tif 000002
【特許請求の範囲】
【請求項１】
レジスタトランスファレベルにおける、ＨＤＬ言語と呼ばれる記述言語による集積デジタル電子システム（５）の元の記述ファイルの組の分析を、ＨＤＬ言語による命令を記述ファイルへと自動的に挿入して、集積デジタル電子システムのＨＤＬ言語による新しい記述ファイルの組を得て、テスト機能を含めて、新しいファイルの組を用いた集積デジタル電子システムの自動合成の際に、得られる集積デジタル電子システムに、前記集積デジタル電子システム（５）のテストに必要な論理電子回路（２２、２３、２４）の少なくとも一部が組み込まれるようにするために、行う方法であって、
前記元のＨＤＬ記述ファイル内で、システム（３）の合成時にメモリ要素の元になるＨＤＬ命令シーケンスを自動的に発見する（１）ステップと、
前記システム（３）の合成時に、前記メモリ要素を接続する少なくとも１つのいわゆる「ＳＣＡＮ」チェイン（１１）を得るのに使用される、いわゆるＳＣＡＮ  ＨＤＬ命令を、ＨＤＬ記述ファイルの少なくとも一部へと、識別済みメモリ要素の関係または関数の分析を行わずに、自動的に順次挿入するステップと
を含むことを特徴とする方法。
【請求項２】
得られた前記新しいＨＤＬ記述ファイルの組を記録するステップを含むことを特徴とする、請求項１に記載の分析および挿入の方法。
【請求項３】
前記メモリ要素の元となるＨＤＬ命令を発見する前記ステップ（１）が、
同期したプロセスを検索してこれらのプロセス内部で代入されたオブジェクトを検出するステップと、
メモリ要素の元となる命令の識別のための次の命令、すなわち、
あるプロセス内部で代入され、別のプロセス内でまたはＨＤＬコードの現在の部分の中で読み込まれるどのようなオブジェクトも、メモリ要素であると見なされることになること、
同期したプロセス内で、「ｉｆ」制御構造のある分岐内部で代入され、この同じ構造の他の分岐すべての内部で代入されないどのようなオブジェクトも、メモリ要素と見なされること、および、
同期したプロセス内で、書き込まれる前に読み取られたどのようなオブジェクトも、メモリ要素と見なされること
の適用と
を含むことを特徴とする、請求項１または２に記載の分析および挿入の方法。
【請求項４】
可能な既存の様々なクロックドメインを識別するステップを含むこと、およびＨＤＬメモリ要素チェイン化命令を挿入する前記ステップが、クロックドメインごとに別々の少なくとも１つのＳＣＡＮチェインを作成するように実現されることを特徴とする、請求項１〜３のいずれか一項に記載の分析および挿入の方法。
【請求項５】
元のＨＤＬ記述ファイルすべての分析またはインデキシングと、オブジェクトおよびＨＤＬプロセスごとに、もしあれば設計ユニット（エンティティ、ライブラリ、パケット）のリスト、ならびに、設計ユニットごとの宣言すべてを含み、各宣言は行番号、オブジェクト名、型、サイズ、および関連するコントロールの構築のタイプを含む、少なくとも１つのインデキシングファイルの作成とを行うステップ（１ａ）を含むこと、および
回路の合成の際にメモリ要素の元になるＨＤＬ命令を発見するステップ（１ｂ）が、対応するＨＤＬオブジェクトの名前、型、寸法、および元のＨＤＬ記述ファイル内での座標を、メモリ要素ごとに含むメモリ発見ファイルの作成のフェーズを含むこと
を特徴とする、請求項１〜４のいずれか一項に記載の分析および自動挿入の方法。
【請求項６】
前記分析またはインデキシングのステップが、前記システムの恒等インスタンスのインデキシングのステップを含むこと、および、ＳＣＡＮ命令を自動的に挿入する前記ステップが、インスタンスごとに、前記システム内の記述ファイルすべてに対するＳＣＡＮ  ＨＤＬ命令の自動挿入の間に初めて現れると行われ、次いで、前記インスタンスに再び出遭うたびに、前記ＳＣＡＮ  ＨＤＬ命令を使用してローカルなＳＣＡＮ制約を満たせることの検査が行われ、そうである場合は、前記インスタンスの記述ファイルへの変更は行われず、他方、そうでない場合は、前記インスタンスの記述ファイル（群）は変更され、前記インスタンスの生起するそれまでの場所すべてが検証され、その環境が、前記インスタンスの新しい形と共にローカルなＳＣＡＮ制約を満たすように変更されることを特徴とする、請求項５に記載の分析および自動挿入の方法。
【請求項７】
前記元のＨＤＬ記述ファイル内でメモリ要素の元となる変数の寸法に関する情報がない場合、この値を所定のデフォルト値に基づいて自動的に定義するステップか、または前記方法のユーザが前記定義を対話的に行うステップを含むことを特徴とする、請求項１〜５のいずれか一項に記載の分析および自動挿入の方法。
【請求項８】
ＨＤＬチェイン化命令の挿入時に、メモリ要素相互間の互換性を検証するステップと、
互換性のない場合、
衝突の元となる２つのオブジェクトのうちの１つの型および／または寸法の自動変換のフェーズか、
または、衝突の元となる２つのオブジェクトのうちの１つの型および／または寸法をユーザが対話的に変更するフェーズ
を含むことを特徴とする、請求項１〜７のいずれか一項に記載の分析および自動挿入の方法。
【請求項９】
メモリ要素のチェイン化に対する前記ＨＤＬ命令挿入ステップが、
合成時にＨＤＬオブジェクトごとに、メモリ要素の別々のチェインの少なくとも１つを得るように、ＨＤＬオブジェクトに対応するＨＤＬ命令の組において、ローカルなチェイン化と呼ばれる、メモリ要素のＨＤＬチェイン化命令を挿入するフェーズと、
ローカルなチェイン化のフェーズのときに作成されたメモリ要素のチェインを含む、少なくとも１つのメモリ要素のチェインを合成時に得るように、ＨＤＬ記述ファイルにおいて、グローバルと呼ばれるＨＤＬチェイン化命令を挿入するフェーズと
を含むことを特徴とする、請求項１〜８のいずれか一項に記載の分析および自動挿入の方法。
【請求項１０】
ローカルなチェイン化に対するＨＤＬ命令の自動挿入の前記ステップが、次のフェーズ、すなわち、
入力−出力ポートとして使用されるテスト信号に対応するＨＤＬ命令の挿入と、
１次入力／出力ポートを含むいくつかのプロセス間のメモリ要素の場合に、中間作業信号に対応するＨＤＬ命令の挿入と、
プロセス固有のメモリ要素を接続する、少なくとも１つのいわゆる「ＳＣＡＮ」チェインを回路の合成の際に得るためのＨＤＬ命令の各プロセスにおける挿入と、
プロセスの外部のＳＣＡＮチェインの入出力のチェインのコンカレントな代入のためのＨＤＬ命令の挿入と
を含むことを特徴とする、請求項９に記載の分析および自動挿入の方法。
【請求項１１】
合成後のＳＣＡＮチェインの再構成を可能にするために、ＨＤＬ  ＳＣＡＮ命令を挿入する前記ステップが、
合成時にＳＣＡＮチェインのメモリ要素の少なくとも一部の間に挿入される中間スイッチを生成することになるＨＤＬ命令を挿入するフェーズと、
合成時にこれら中間スイッチのコントローラを生成することになるＨＤＬ命令を挿入するフェーズと
を含むことを特徴とする、請求項１〜１０のいずれか一項に記載の分析および自動挿入の方法。
【請求項１２】
ＨＤＬ命令の自動挿入の前記ステップが、合成時に少なくとも次のもの、すなわち、
テストパターン生成器（２０）などのテストパターン生成手段、
テスト結果圧縮ブロック（２１）など、テスト済み回路の応答を分析する手段、
テストコントローラ（２２）などのテストコントロール手段、
テストの入力（２３）および出力（２４）
の元となるＢＩＳＴ（ｂｕｉｌｔ−ｉｎ  ｓｅｌｆ−ｔｅｓｔ）ＨＤＬ命令の挿入のステップを含むことを特徴とする、請求項１〜１１のいずれか一項に記載の分析および自動挿入の方法。
【請求項１３】
テストパターンを生成する前記手段が、初期化シーケンスがプログラム可能な、線形ＰＲＰＧ（Ｐａｒａｌｌｅｌ  Ｒａｎｄｏｍ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）を含むことを特徴とする、請求項１２に記載の分析および自動挿入の方法。
【請求項１４】
テストパターンの生成と応答の分析との手段が、再構成可能なＳＣＡＮ機構に基づくことを特徴とする、請求項１１および１２または１３に記載の分析および自動挿入の方法。
【請求項１５】
ＨＤＬ言語と呼ばれる、レジスタトランスファレベルにおける記述言語による集積デジタル電子システム（５）のシステム全体または一部の自動設計のための装置であって、この装置は、少なくとも１つの計算ユニット、メモリユニット、およびファイルストレージユニットを具備し、前記ストレージユニットが、前記集積電子システムの前記システムまたは一部のＨＤＬ言語記述ファイルを備えること、および、前記計算ユニットおよびメモリユニットが、請求項１〜１２のいずれか一項に記載の前記方法を使用してＨＤＬ記述ファイルから、ＨＤＬ記述を含む前記システムまたは一部の新しいＨＤＬ記述ファイルを生成するように適合されて、その結果、前記新しいファイルから得られる前記集積デジタル電子システムの前記システムまたは一部が、前記メモリ要素の動作テストに必要な電子論理回路の少なくとも一部を含むことを特徴とする装置。
【請求項１６】
請求項１〜１２のいずれか一項に記載の方法の使用によって得られるＨＤＬ言語による記述ファイルの組の合成の結果であること、および、１つまたはいくつかのＳＣＡＮチェインなど、前記メモリ要素の動作をテストするのに必要な前記論理電子回路の少なくとも一部を含むことを特徴とする、集積デジタル電子システム。
【請求項１７】
前記ＳＣＡＮチェインの再構成を可能にするように適合されること、および、少なくとも、
ＳＣＡＮチェイン内のメモリ要素（１１、１２）の少なくとも一部の間に置かれる中間スイッチ（１５、１６）と、
中間スイッチコントローラ
を含むことを特徴とする、請求項１６に記載の集積デジタル電子システム。
【請求項１８】
テストパターン生成器（２０）などのテストパターン生成手段
テスト結果圧縮ブロック（２１）など、テスト済み回路の応答を分析する手段
テストコントローラ（２２）などのテストコントロール手段
テストの入力（２３）および出力（２４）
を含むことを特徴とする、請求項１６または１７に記載の集積デジタル電子システム。
【請求項１９】
テストパターンを生成する前記手段が、初期化シーケンスがプログラム可能な、線形ＰＲＰＧ（Ｐａｒａｌｌｅｌ  Ｒａｎｄｏｍ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）を含むことを特徴とする、請求項１８に記載の集積デジタル電子システム。
【請求項２０】
テストパターンの生成と応答の分析との前記手段が、再構成可能なＳＣＡＮ機構に基づくことを特徴とする、請求項１７および１８または１９に記載の集積デジタル電子システム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
本発明は、第１に、「電子チップ」とも呼ばれる集積デジタル電子システムのＣＡＤ（ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  ｄｅｓｉｇｎ、コンピュータ支援設計）の技術分野に関し、第２に、得られる電子チップの技術分野に関する。
【０００２】
一般に、同じ電子チップ上に集積すべき複雑な電子システムの設計では、集積電子システムの記述を、いわゆるＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）において、いわゆるＨＤＬ（Ｈｉｇｈ  ｌｅｖｅｌ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で生成するフェーズが使用される。そのようなＨＤＬ記述を作るのに最も頻繁に使用される言語は、ＶｅｒｉｌｏｇまたはＶＨＤＬという言語であるが、これらがもっぱらデジタル集積電子システムのＨＤＬ記述をＲＴＬレベルにおいて出力するのに使用できる言語であると考えてはならない。
【０００３】
ＨＤＬ言語による集積電子システムの記述は、普通、電子ファイルまたは記述データベースの形で有形化されるが、そのときこれは、ＨＤＬ言語で出力される単一のテキストファイルからなるとすることができ、またはそうでない場合には、これはいくつかの記述テキストファイルを含んでもよく、そうしたファイルのうちの一部は、集積システムのモジュールまたは部品の特定の記述に対応し、他方他のファイルでは、様々なモジュールの間の相互作用および関係ならびにその間に存在するリンクが記述される。
【０００４】
機能的または振る舞い的と見ることのできるＨＤＬ言語の記述に対して、物理的と見ることのできる電子チップの記述を得るためには、ＨＤＬ記述ファイルのシステムからの合成またはコンパイルが、普通シリコンコンパイラと呼ばれる、論理ゲートでのハードウェア記述を得るのに使用されるコンピュータツールを用いて、選択された技術に応じて行われるが、この記述はまた「ネットリスト」とも呼ばれ、これは次いで、集積電子システムの物理的表現を、チップを製作するのに使用されるマスクの形で得るために、知られている様々な技術に従って使用されことになるが、これは本発明の範囲内にはない。
【０００５】
このようにして得られる集積デジタル電子システムでは、もちろん、その設計中に設定された目的に従った信頼性および動作が保証されなければならない。
【０００６】
したがって、電子システムの設計の際、その完全な動作の検証を、もちろん自動化された形で、製造された後にはその集積電子システムに接続されることになる外部装置を用いて、または得られる集積電子システムの全体をなすテストシステムを用いて行うシステムまたは手段が必要であると思われた。
【０００７】
一般に、集積電子システムのテスト可能性に向けたアプローチは、ＤＦＴ（Ｄｅｓｉｇｎ  Ｆｏｒ  Ｔｅｓｔ）技法と見られ、より具体的には、それ自体の自動化されたテスト手段を集積電子システムへと組み込むことを意図するときは、ＢＩＳＴ（Ｂｕｉｌｔ−ｉｎ  Ｓｅｌｆ−ｔｅｓｔ、組み込み自己テスト）という用語が使用される。
【０００８】
集積デジタル電子システムの正しい動作を検証する第１のアプローチは、まず、中間的な処理結果または信号の値を一時的に格納することになる、組み込みシステム内部のメモリ要素またはフリップフロップの完全な動作を検証することからなる。この発明は、いわゆるシーケンシャルコンポーネント内部に存在するローカルなメモリ要素に関する。こうしたシーケンシャルコンポーネントは、マイクロプロセッサや信号処理プロセッサなどの大多数の複雑な組み込み回路に相当する。順序回路は、ＲＡＭまたはＲＯＭのメモリモジュールのメモリ要素から区別すべき、組合せ論理要素およびシーケンシャル要素またはフリップフロップからなるためである。
【０００９】
順序回路のテストは、テストパターンの生成を、「自動テストパターン生成器」（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒｓ）を意味するＡＴＰＧと呼ばれる特化したソフトウェアツールを用いて行うステップを含む。生成されたテストパターンの質により、製造後のテストフェーズおよび欠陥の存在を明らかにするテストパターンの能力が決まる。品質テストパターンの生成には、ＳＣＡＮなどのＤＦＴ技法を使用することが必要である。「ＳＣＡＮ」技法は、様々なメモリ要素をチェイン化することによって、テストモードでの集積回路の動作の一環としてアクティブ化されることになる１つまたはいくつかのＳＣＡＮチェインを得ることからなる。
【００１０】
メモリ要素のＳＣＡＮおよびチェイン化の機能は、米国特許第６３１１３１７号に記載の通り、集積デジタル電子回路のハードウェア記述（ｎｅｔｌｉｓｔ）において配置することができる。しかし、特に、非常に多数の論理ゲートを考慮すると、この挿入を自動的または半自動的に行うには、非常に長い計算時間が必要である。さらに、この挿入のために、集積電子論理システムの通常モードでの動作が乱されるおそれがあり、その結果、要素のチェイン化をネットリストハードウェア記述において行った後で、回路の設計の変更と、そのためにこの回路のＨＤＬ言語による記述の書き換えとが、新たなシリコンコンパイルを行いネットリストにおけるメモリ要素のチェイン化の新たな挿入を行う前に、必要となる可能性がある。
【００１１】
この反復プロセスは、非常に長く、ハードウェアのおよび人的な資源を消費し、信頼できる、パフォーマンスの高い集積電子システムの設計に必要な時間の低減にとって障害となる。
【００１２】
したがって、ＳＣＡＮ機能を合成フェーズの前にＨＤＬ記述において統合できれば、集積電子システムのための設計時間を実質的に低減することが可能となるはずであると思われた。
【００１３】
このため、集積デジタル電子システムのＨＤＬ記述の一環として、チェイン化またはＳＣＡＮの機能と呼ばれる機能をＲＴＬレベルにおいて組み込むことからなる別のやり方が提案されている。
【００１４】
たとえば、米国特許第６２５６７７０号では、集積電子システムのテスト機能をそのＨＤＬ言語による記述の一環として実装する方法および装置が提案されている。この特許では、まず、メモリ要素チェインの部分を回路内の様々なモジュールに代入し、その後、これらのメモリ要素チェインの部分のスケジュール化を、モジュールのＨＤＬ記述内のメモリ要素またはデータパターンの間に存在する関数関係の分析に基づいて行うことが記述されている。このスケジュールに基づく次のステップは、チェイン化命令をＨＤＬ言語内の関係するモジュールの記述へと挿入して、前記モジュールの合成時に、集積デジタル電子システムが、そのようなチェイン化から生じるテストに必要な論理電子回路を、関係するモジュールごとに組み込むようにすることである。
【００１５】
そのような方法および装置により、ＨＤＬ命令の自動挿入が可能になって、回路が合成されるとき、ＳＣＡＮ関数が得られることによって、テスト中の集積回路用の品質のよいテストパターンが生成される。
【００１６】
しかし、実際には、様々なデータパターンの間の関数関係の分析を、特に複雑な集積デジタル電子システムの設計の一環として行うには、特に長い計算時間が必要であり、その結果、ＨＤＬ言語によるＲＴＬレベルにおけるＳＣＡＮ機能の挿入の利益は、米国特許第６２５６７７０号によれば、この挿入を行うのに必要な計算時間または計算パワーが原因で、減じられ、または完全に相殺さえされることがわかっている。
【００１７】
米国特許出願公開公報２００３／００２３９４１では、ＲＴＬにおけるＨＤＬ言語による命令を自動的に挿入して、そのようにして変更されたＨＤＬ記述の合成によって得られることになる集積電子システム内のＳＣＡＮ機能を実装する別のやり方が開示されている。この文書によれば、ＨＤＬ言語によるＲＴＬレベルにおけるＳＣＡＮチェインおよびテストポイントの挿入は、まず、集積電子システムのＨＤＬ言語による記述のテスト可能性を分析することによって行われる。
【００１８】
米国特許出願公開公報２００３／００２３９４１に記載の方法により、ＳＣＡＮ機能に対応するＨＤＬ命令の自動挿入が合成後に可能にはなるが、テスト可能性の分析は、大量の計算資源または時間を消費するステップであり、その結果、集積電子システムのＨＤＬレベルにおける自動変更によって得られる利益は、テスト可能性の分析の計算時間によって最小となる。
【００１９】
さらに、米国特許出願公開公報２００３／００２３９４１では、ＳＣＡＮチェインの挿入を、ＩＤの作成および様々な既存のクロックドメインの分析、その後のテスト生成コストを最小するための、およびクロックドメインを最小化するための計算によってどのように行えるかも開示されている。このクロックドメインの分析、およびこの最小化にも、多くの資源が必要である。
【００２０】
したがって、集積デジタル電子システムのＲＴＬレベルにおけるＨＤＬ記述の一環としてＳＣＡＮ機能を自動的に挿入することによって、合成後、従来技術による方法によって処理されたＲＴＬレベルにおけるＨＤＬ記述から合成されるはずの集積システムのパフォーマンスと、パフォーマンスが少なくとも同等になる集積デジタル電子システムを提供しながら、計算時間を実質的に減らす方法が必要とされている。
【００２１】
この目的を達成するために、本発明は、レジスタトランスファレベルにおける、ＨＤＬ言語と呼ばれる記述言語による集積デジタル電子システムの元の記述ファイルの組の分析を、ＨＤＬ言語による命令を記述ファイルへと自動的に挿入して、集積デジタル電子システムのＨＤＬ言語による新しい記述ファイルの組を得て、テスト機能を含めて、新しいＨＤＬ記述ファイルの組を用いた集積デジタル電子システムの自動合成の際に、得られる集積デジタル電子システムに、少なくとも前記メモリ要素の動作のテストに必要な論理電子回路の少なくとも一部が組み込まれるようにするために、行う方法に関する。
【００２２】
本発明によれば、前記分析および自動挿入の方法は、
・前記元のＨＤＬ記述ファイル内で、前記システムの合成時に前記メモリ要素の元になるＨＤＬ命令シーケンスを自動的に発見するステップと、
・前記システムの合成時に、第１に、前記メモリ要素を接続する少なくとも１つのいわゆる「ＳＣＡＮ」チェインを、第２に、前記回路の前記いわゆるＳＣＡＮテストを実装する手段を、得るのに使用されるＨＤＬ命令を、ＨＤＬ記述ファイルの少なくとも一部へと、識別済みメモリ要素の関係または関数の分析を行わずに、自動的に順次挿入するステップとを含むことを特徴とする。
【００２３】
本発明によれば、集積デジタル電子システムのＨＤＬ記述ファイルの組は、ＨＤＬ命令で、集積デジタル電子システムの１つ、いくつか、またはすべての機能モジュールを記述する１つまたはいくつかのテキストまたはＡＳＣＩＩコードのファイル、および、様々なモジュールの間に存在する可能な関係を含む。また、本発明によれば、集積デジタル電子システムのＨＤＬ記述は、記述のデータベースの一環として記述することもできる。
【００２４】
同様に、本発明の目的で、いわゆるＳＣＡＮテストを使用するのに必要なＨＤＬ命令すべての挿入、すなわち、特に、テストすべき回路をテストモードにするのに使用される命令の挿入、テスト信号入力命令、テスト信号出力命令、テストクロックを実装する命令、メモリ要素をチェイン化する命令、ＳＣＡＮテストコントローラの定義のための命令が行われるが、このリストが網羅的またはＳＣＡＮテストの実装に必要な可能性のある他の機能を除外すると考えることはできない。
【００２５】
本発明による方法には、要素のチェイン化の命令をＨＤＬ記述ページ内での出現に応じて順次（すなわち、それらの可能な関係の分析を行わずに）挿入するため、多くの計算資源が必要でなく、その結果、本発明による方法は、パーソナルコンピュータなどのコンピュータ上で、従来技術による方法を使用するのに必要な時間よりも処理時間を少なくして使用できるという利点がある。
【００２６】
ＳＣＡＮ機能の実装に必要なＨＤＬ命令を挿入するために、関係または関数の分析、あるいはテスト可能性分析さえ行う必要がなかったこと、および、ヒューリスティックな挿入と見ることのできる、メモリ要素を生成できる命令のＨＤＬ記述ファイル中内での出現に応じての、前記ＨＤＬ命令の順次挿入により、結局、集積デジタル電子システムのメモリ要素のテストの機能すべてを、パフォーマンスを変更しまたはこれらのメモリ要素の表面積を過度に増加させずに、得られるようになったことを発明者らは証明している。
【００２７】
また、本発明は、本発明による方法の使用によって得られるＨＤＬ言語による記述ファイルの組の合成の結果であり、１つまたはいくつかのＳＣＡＮチェインなど、少なくともメモリ要素の動作をテストするのに必要な論理電子回路の少なくとも一部を含む、集積デジタル電子システムに関する。
【００２８】
本発明の一特徴によれば、分析および自動挿入の方法は、得られた前記新しいＨＤＬ記述ファイルの組を記録するステップを含む。
【００２９】
本発明の別の特徴によれば、新しいＨＤＬ記述ファイルの組を用いた回路の合成の際のＳＣＡＮ規則に対する違反を防ぐために、分析および自動挿入の方法は、既存の様々なクロックドメインを識別するステップを含み、ＨＤＬメモリ要素チェイン化命令を挿入する前記ステップは、このとき、クロックドメインごとに別々の少なくとも１つのＳＣＡＮチェインを作成するように実現される。
【００３０】
さらに、本発明によれば、合成時にＳＣＡＮ規則が遵守されるように保証するＲＴＬレベルにおけるＳＣＡＮを実装するために、変数または信号の寸法は、ＨＤＬ  ＳＣＡＮ命令を挿入するステップの前に決定される。したがって、たとえば、整数型または列挙型のＶＨＤＬ変数の場合、本発明では、ビット数に対応するワード長をＶＨＤＬ  ＳＣＡＮ命令が挿入される前に固定して、各メモリを構成する要素的メモリが互いに正しくチェインされるようにすることを要求している。
【００３１】
したがって、本発明の別の特徴によれば、分析および自動挿入の方法は、
・元のＨＤＬ記述ファイルすべての分析またはインデキシングと、ＨＤＬのオブジェクトおよびプロセスごとに、もしあれば設計ユニット（エンティティ、ライブラリ、パケット）のリスト、ならびに、設計ユニットごとの宣言すべてを含み、各宣言は行番号、オブジェクト名、型、サイズ、および関連するテストの構築のタイプを含む、少なくとも１つのインデキシングファイルの作成とを行うステップを含み、
・回路の合成の際にメモリ要素の元になるＨＤＬ命令を発見する前記ステップが、少なくとも各メモリ要素に対応するＨＤＬオブジェクトの名前を、型、寸法、および元のＨＤＬ記述ファイル内での座標と共に含むメモリ発見ファイルの作成のフェーズを含む。
【００３２】
さらに、ある変数の寸法についての情報が元のＨＤＬ記述ファイルの組にない可能性がある以上、本発明の好ましい一実施形態では、この寸法を所定のデフォルト値に基づいて自動定義するか、またはこの方法のユーザが定義を対話的に行うステップを含む。
【００３３】
同様に、好ましい一変形実施形態によれば、本発明による方法では、ＨＤＬチェイン化命令が挿入されるときに、メモリ要素間の互換性が検査される。実際、同じ型で寸法の互換性のあるオブジェクトに対応するメモリ要素をチェインすることが可能なだけである。したがって、互換性のない場合、本発明は、衝突の元となる２つのオブジェクトのうちの１つの型および／または寸法を自動変換するためのフェーズ、または衝突の元となる２つのオブジェクトのうちの１つの型および／または寸法をユーザが対話的に変更するためのフェーズを含む、好ましいが最低限必要ではない、ＨＤＬチェイン化命令を挿入するやり方を含む。言語の使用におけるシンタクスまたは文法のエラーに対応するそのような衝突の自動的な検出および訂正についての情報に関しては、米国特許出願公開公報２００３／００３３５９５を参照されたい。
【００３４】
本発明の別の特徴によれば、メモリ要素のチェイン化の前記ＨＤ命令挿入ステップは、
・合成時にＨＤＬプロセスごとに、メモリ要素の別々のチェインの少なくとも１つを得るように、ＨＤＬプロセスに対応するＨＤＬ命令の組において、メモリ要素のローカルなチェイン化のためのＨＤＬ命令を挿入するフェーズと、
・ローカルなチェイン化のフェーズのときに作成されたメモリ要素のチェインを含む、少なくとも１つのメモリ要素のチェインを合成時に得るように、ＨＤＬ記述ファイルにおいて、グローバルと呼ばれるＨＤＬチェイン化命令を挿入するフェーズとを含む。
【００３５】
一般に、シーケンシャルドメインにおけるチェイン化という用語は、プロセス内部のチェイン化に関して使用され、コンカレントドメインにおけるチェイン化という用語は、プロセス外部のチェイン化に関して使用される。
【００３６】
したがって、本発明の別の特徴によれば、ＨＤＬ命令の自動挿入のための前記ステップは、次のフェーズ、すなわち、
・入力−出力ポートとして使用されるテスト信号に対応するＨＤＬ命令の挿入と、
・１次入力／出力ポートを含むいくつかのプロセス間のメモリ要素の場合に、中間作業信号に対応するＨＤＬ命令の挿入と、
・プロセス固有のメモリ要素を接続する、少なくとも１つのいわゆる「ＳＣＡＮ」チェインを回路の合成の際に得るためのＨＤＬ命令の各プロセスにおける挿入と、
・プロセスの外部のＳＣＡＮチェインの入出力のチェインのコンカレントな代入のためのＨＤＬ命令の挿入とを含む。
【００３７】
本発明によれば、ＨＤＬ命令を分析し挿入する方法は、ＶｅｒｉｌｏｇやＶＨＤＬなど、様々なＨＤＬ記述言語の一環として使用することができるが、これらは、非限定的な例であり、本発明によるプロセスは、他のＨＤＬ記述言語にも使用可能であることが了解されている。
【００３８】
さらにまた、プロセスは、もっぱらにではなくたとえば、Ｖｅｒｉｌｏｇ言語で作られたある記述ファイルやＶＨＤＬ言語で作られた他の記述ファイルを含む、元のＨＤＬ言語の記述ファイルの混成の組に対して使用することが可能である。
【００３９】
したがって、本発明の別の特徴によれば、ＶｅｒｉｌｏｇおよびＶＨＤＬの言語がＨＤＬ記述言語として使用されるとき、メモリ要素の元となるＨＤＬ命令を発見する前記ステップは、
・同期したプロセスを検索してこれらのプロセス内部で代入されたオブジェクトを検出するステップと、
・メモリ要素の元となる命令の識別のための次の命令の適用を含む。
・あるプロセス内部で代入され、別のプロセス内でまたはＨＤＬコードの現在の部分の中で読み込まれるどのようなオブジェクトも、メモリ要素であると見なされることになる
・同期したプロセス内で、「ｉｆ」制御構造のある分岐内部で代入され、この同じ構造の他の分岐すべての内部で代入されないどのようなオブジェクトも、メモリ要素と見なされる
・同期したプロセス内で、書き込まれる前に読み取られたどのようなオブジェクトも、メモリ要素と見なされる
【００４０】
本発明によるプロセスのある好ましい実施形態には、またＶＨＤＬ言語で記述されたプロセスのローカルなチェイン化の一環として、変数ストリングのチェインの値を再使用するように設計された中間信号の定義のためのＶＨＤＬ命令を挿入して、プロセス外部でこれらのチェインを代入しチェイン化できるようにするフェーズが含まれる。
【００４１】
さらに、本発明によれば、ＨＤＬ命令の自動挿入は、ＨＤＬ言語による元の集積デジタル電子システムのコードのどのような機能的低下も引き起こさないようなやり方で行わなければならない。
【００４２】
本発明の別の特徴によれば、新しいＨＤＬ記述ファイルの組を用いた集積デジタル電子システムの合成後にＳＣＡＮチェインの最適化および故障検出率の改善を、ＨＤＬ言語による記述の再度の変更および本発明によるプロセスの再度の使用を必要とせずに可能にし、そうして回路設計時間の増加を防ぐために、プログラム可能なＳＣＡＮチェインが作成される。これを達成するために、ＨＤＬ  ＳＣＡＮ命令を挿入する前記ステップは、合成時にＳＣＡＮチェインのメモリ要素の少なくとも一部の間に挿入されるプログラム可能なマルチプレクサを生成することになるＨＤＬ命令を挿入するフェーズを含む。好ましくは、そのようなマルチプレクサは、ＳＣＡＮチェインの連続するメモリ要素すべての間に挿入される。もちろん、ＳＣＡＮチェイン内で挿入されるマルチプレクサのコントローラに対応するＨＤＬ命令の挿入も行われる。
【００４３】
本発明による方法の上で述べたような様々な特徴は、これらの特徴が互いに両立しないものでないときは、様々な組合せで組み合わせられることに注意されたい。
【００４４】
また、本発明は、少なくとも１つの組合せ論理関数モジュールおよび関連するメモリ要素、ならびに、少なくとも１つのメモリ要素のチェインを含むＳＣＡＮ型テスト手段を含む、集積デジタル電子システムまたはシングルチップシステムに関する。本発明によれば、集積デジタル電子システムは、ＳＣＡＮチェインのプログラム可能な再構成のための手段を含むことを特徴とする。
【００４５】
本発明の別の特徴によれば、やはり新しいＨＤＬ記述ファイルの組から得られることになる回路のテスト能力を改善するために、このプロセスは、合成すると集積デジタル電子システムのＢＩＳＴ（ｂｕｉｌｔ−ｉｎ  ｓｙｓｔｅｍ  ｔｅｓｔｓ）が作成されることになるＨＤＬ命令を挿入するステップを含む。そのような手段は、少なくとも１つの自動テストパターン生成器（ＴＰＧ、Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）、電子システムの応答を分析する手段、およびテストコントロール手段を含む。本発明の好ましい一特徴によれば、自動テストパターン生成器は、線形ＰＲＰＧ（Ｐａｒａｌｌｅｌ  Ｒａｎｄｏｍ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）を含み、このＰＲＰＧの初期化シーケンスがプログラム可能であるように設計される。さらに、本発明の好ましい一実施形態によれば、テストパターン生成機構（ｓｔｒｕｃｔｕｒｅ）および応答分析機構は、上で触れたプログラム可能なまたは再構成可能なＳＣＡＮに基づく。
【００４６】
上で述べた本発明による集積デジタルシステムの様々な特徴は、これらの特徴が互いに両立しないものでないときは、様々な組合せで組み合わせられる。
【００４７】
また、本発明は、ＨＤＬ言語と呼ばれる、レジスタトランスファレベルにおける記述言語による集積デジタル電子システムのシステム全体または一部の自動設計のための装置であって、この装置は、少なくとも１つの計算ユニット、メモリユニット、およびファイルストレージユニットを含み、前記ストレージユニットが、前記集積電子システムの前記システムまたは一部のＨＤＬ言語記述ファイルを含むこと、および、前記計算ユニットおよびメモリユニットが、本発明による前記方法を使用してＨＤＬ記述ファイルから、ＨＤＬ記述を含むこのシステムまたは一部の新しいＨＤＬ記述ファイルを生成するように適合されて、その結果、前記新しいファイルから得られる前記集積デジタル電子システムの前記システムまたは一部が、少なくとも前記メモリ要素の動作テストに必要な電子論理回路の少なくとも一部を含むことを特徴とする装置に関する。
【００４８】
ある好ましい実施形態では、この装置は、本発明によるプロセスを使用するように実行されるプログラムを使用するパーソナルコンピュータを含む。
【００４９】
また、本発明は、コンピュータによって実行されたとき、本発明による方法の使用を可能にするプログラムが記録される、コンピュータにより読み取り可能なデータサポート（ｄａｔａ  ｓｕｐｐｏｒｔ）に関する。
【００５０】
本発明の他の様々な特徴は、以下の説明を添付の図面を参照して行うことから明らかとなろうが、そこでは本発明の様々な目的を、例として与えた非限定的な形で示している。
【００５１】
これまでに触れたように、本発明による方法の第１の実施形態は、回路の合成後にはその回路に、ＳＣＡＮ技法を用いてそのメモリ要素の少なくとも一部をテストするのに必要な手段をすべて与えることになる、ＨＤＬ命令の回路をＨＤＬ言語記述において挿入することを意図している。本発明は、この目的を、高価な計算資源を必要とし長い処理時間を生じさせる関係または関数の分析など、回路のどのような予測的分析も行わずに達成することを意図している。他方、本発明によれば、ＳＣＡＮチェインおよび関連する機能に対応する命令は、メモリ要素またはそのメモリ要素に対応するＨＤＬ命令が現れる際に挿入される。もちろん、本発明によれば、このチェイン化は、作成中のＳＣＡＮチェイン（群）が、ユーザが必要ならば課す基準を満たしていることを、進めながら検査することによって行われ、何か必要な修正は、既に作成済みのチェインおよび／またはチェインの断片に対して働きかけることによって行われる。
【００５２】
ある好ましい実施形態では、図１の流れ図に示す本発明による方法は、まず、システムの合成時にメモリ要素の元となることになる命令の自動発見のステップ１を含む。
【００５３】
この自動発見は、いくつかのフェーズを含んでもよく、ある好ましい実施形態では、この自動発見のステップは、少なくとも１つのＶＩＦインデキシングファイルを作成するための元の記述ファイルすべての分析またはインデキシングのためのステップ１ａを含み、ＶＩＦインデキシングファイルは、もしあれば設計ユニット（エンティティ、ライブラリ、パケット）のリスト、および設計ユニットごとの宣言すべてを含み、宣言はそれぞれ、行番号、オブジェクト名、タイプ、サイズ、および関連するコントロールの構築のタイプを含む。そして、このインデキシングファイルは、元のまたは初期のＨＤＬ記述ファイル内の少なくともタイプおよび座標を、ＨＤＬオブジェクトおよびプロセスごとに含むことになる。
【００５４】
たとえば、あるプロセスのＶＨＤＬ言語による記述の、図２に示すものなどのファイルから行われる、この分析またはインデキシングのステップ１ａの一環として、図３に示すものなどのＶＩＦインデキシングファイルが生成される。
【００５５】
本発明によれば、この分析またはインデキシングのステップ１ａは、他のタイプのＨＤＬ言語に対して実現してもよい。このため、図４に、いくつかのプロセスに基づくＶＥＲＩＬＯＧ言語による元のまたは初期の記述ファイルの例を示してあり、このファイルに適用されるインデキシングのステップ１ａは、図５に示すもののようなＶＩＦインデキシングファイルを得るために使用されることになる。
【００５６】
本発明によれば、インデキシングのステップ１ａは、いくつかのインデキシングファイル、インデキシングファイルシステムの作成、および、好ましいが最低限必要ではない、インデキシングデータベースの作成に至る可能性があることに注意されたい。
【００５７】
このインデキシングのステップの一環として、本発明による方法は、システムのＨＤＬ記述内にある可能性のある恒等インスタンス（ｉｄｅｎｔｉｃａｌ  ｉｎｓｔａｎｃｅ）のインデキシングを、様々な初等的な命令のインデキシングのほかに含む。恒等インスタンスとは、そのシステム内で何回か使用されるシステムの部分を記述する単一ファイルまたはＨＤＬファイルの単一の組を意味する。
【００５８】
このインデキシングのステップ１ａの後には、回路の合成の後でメモリ要素の元となるＨＤＬ命令を自動的に発見するためのステップ１ｂがある。本発明によれば、この発見のステップ１ｂは、単一のシステムを記述するのに組み合わせて使用してもよい、様々なタイプのＨＤＬ記述言語、もっぱらにではなくたとえば、ＶＨＤＬおよびＶｅｒｉｌｏｇの言語のために使用される。したがって、このシステムの一部はＶＨＤＬで書かれたファイルで記述してもよいが、システムの他の部分はＶｅｒｉｌｏｇで書かれたファイルで記述される。
【００５９】
その好ましい実施形態において、またＶＨＤＬまたはＶｅｒｉｌｏｇのファイルで利用する場合、メモリ要素の元となるＨＤＬ命令を発見するステップ１ｂは、同期したプロセスを検索してそうしたプロセス内部で代入されたオブジェクトを検出するステップを含む。同期したプロセスを検索するこのステップは、インデキシングのステップ１ａの結果から、すなわち、ＶＩＦファイルの、あるいはこのステップ１ａ中に作成または定義されたデータベースからのデータの処理によって、また場合によっては、そのシステムのＨＤＬ言語による初期ＨＤＬ記述ファイルの処理によって、行われる。同期したプロセスの発見の後、合成時にメモリ要素を生成する可能性のある命令の識別は、以下の規則を用いて行われる。すなわち、
・あるプロセス内部で代入され、別のプロセスへまたはＨＤＬコードの現在の部分へと読み込まれるどのようなオブジェクトも、メモリ要素の元となると見なされることになる
・同期したプロセス内で、「ｉｆ」制御構造の１つの分岐の内部で代入され、この構造の他の分岐すべての内部で代入されないどのようなオブジェクトも、メモリ要素の元となると見なされる
・同期したプロセス内で、書き込まれる前に読み込まれたどのようなオブジェクトも、メモリ要素の元となるとして参照される。
【００６０】
発見のステップ１ｂを識別するステップは、同期したプロセスを検索するステップと同様に、インデキシングのステップ１ａの結果を用いて、すなわち、ＶＩＦファイルの、あるいはこのステップ１ａ中に作成または定義されたデータベースからのデータの処理によって、また場合によっては、そのシステムのＨＤＬ言語による初期ＨＬＤ記述ファイルの処理によって、行われる。また、発見のステップ１ｂは、少なくとも対応するＨＤＬオブジェクトの名前、ならびに元のＨＤＬ記述ファイル内でのそのタイプ、寸法、および座標をメモリ要素ごとにリストするＭＥＭファイルを書き込みまたは作成するステップを含む。図６には、図３のＶＩＦインデキシングファイルの処理により、図２に従ってＶＨＤＬ言語によるＨＤＬ記述ファイル用に得られたメモリ要素ＭＥＭファイルの発見ファイルを示している。同様に、図７には、図５のＶＩＦインデキシングファイルの処理により、図４に従ってＶｅｒｉｌｏｇ言語によるＨＤＬ記述ファイル用に得られたメモリ要素ＭＥＭファイルの発見ファイルを示している。もちろん、本発明によれば、ＭＥＭファイルなどの１つまたは１組の発見ファイルを作成するステップは、データベースの作成にも、またデータベースを上で非限定的に挙げた各メモリ要素についての情報で満たすことにも同様に適用することができる。
【００６１】
本発明の別の目的は、元のＨＤＬ記述ファイルのある変数の寸法に関する情報の不足を克服するために、欠けている寸法の値を本発明によるプロセスの使用の前またはその間にユーザのあらかじめ定めたデフォルト値に基づいて自動的に選ぶステップ、またはこの情報の不足が生じたときにこの方法をユーザと対話的に定義するステップを、ユーザの選択に応じて含めることである。このようにして定義された寸法の値は、そのときに、ＭＥＭ発見ファイルまたは対応するデータベース（群）に記録される。
【００６２】
本発明のある本質的な特徴によれば、この方法は、合成時にメモリ要素の元となることになるＨＤＬ命令の発見の後に、ＨＤＬ言語によるシステムの元のＨＤＬ記述ファイル（群）の少なくとも一部にＨＤＬ命令を挿入する挿入のステップ２を含み、システムの合成時に、これらの命令は、少なくとも１つのＳＣＡＮチェインと、もっぱらにではなくたとえば、ＳＣＡＮの入力および出力、システムをテストモードにする手段、ＳＣＡＮテストクロック、ＳＣＡＮテストコントローラなどのＳＣＡＮテストを行う手段とを得るのに使用されることになる。
【００６３】
ＳＣＡＮ用のＨＤＬ命令の挿入は、回路の合成時にＳＣＡＮ規則に対するどのような違反も防ぐために行われることになる。このとき、本発明による方法は、好ましくは、適用可能な場合、様々なクロックドメインのファイルまたはアドホックな発見データベース内のレコードのともなう様々な既存のどのようなクロックドメインも識別するフェーズを含む。
【００６４】
好ましくは、ＨＤＬ  ＳＣＡＮ命令を挿入するステップ２は、ユーザの決めたパラメータ、すなわち、システム全体に対する、または関係するシステムの一部の要素に対するＳＣＡＮチェインの数および長さに応じて行われる。
【００６５】
このようにして、挿入のステップ２では、ＭＥＭファイル、元のＨＤＬ記述ファイル、様々なクロックドメインの発見、ユーザの定義したＳＣＡＮ使用パラメータなど、発見のステップ１の結果を使用することになる。
【００６６】
本発明によれば、ＨＤＬメモリ要素チェイン化命令の挿入は、はじめはローカルに、その後グローバルに行われる。
【００６７】
ローカルなチェイン化のフェーズは、必要な回数繰り返されるが、合成時に、ＨＤＬプロセスごとに少なくともメモリ要素の１つのチェインを得るように、ＨＤＬプロセスに対応するＨＤＬ命令全体のレベルに関する。この点で、ＶＨＤＬ言語で記述されたプロセスのローカルなチェイン化の一環として、本発明は、プロセス外部でのその代入およびチェイン化を可能にするために、変数のチェインを再使用するように設計された中間信号のためのＶＨＤＬ定義命令を挿入するフェーズを含む。
【００６８】
したがって、本発明のある好ましい実施形態によれば、ローカルなチェイン化のためのＨＤＬ命令の自動挿入のためのフェーズは、次のフェーズを含む。すなわち、
・入出力ポートとして使用されるテスト信号に対応するＨＤＬ命令の挿入
・中間作業信号に対応するＨＤＬ命令の可能な挿入
・プロセス固有のメモリ要素をリンクする、「ＳＣＡＮ」と呼ばれる少なくとも１つのチェインを回路の合成の際に得るための、ＨＤＬ命令の各プロセスにおける挿入
・プロセスの外部のＳＣＡＮチェインの入出力のチェインのコンカレントな代入のためのＨＤＬ命令の挿入
【００６９】
ＳＣＡＮ規則を遵守するために、本発明では、メモリ要素相互間の互換性の検証を、ＨＤＬチェイン化命令が挿入されるときに要求しており、これを達成するために、ＨＤＬチェイン化命令を挿入するステップは、衝突の元となるオブジェクトのどちらかまたはどちらもの型および／または寸法を自動変換するためのフェーズ、または衝突の元となるオブジェクトのどちらかまたはどちらもの型および／または寸法をユーザと対話的に変更するためのフェーズを含むことに注意されたい。
【００７０】
グローバルなチェイン化は、ローカルなチェイン化の後で行われ、必要な回数繰り返されるが、合成時に、少なくともメモリ要素の１つのチェインを得るように、ＨＤＬグローバルチェイン化命令をＨＤＬ記述ファイルに挿入するフェーズを含み、ローカルなチェイン化のフェーズ中に作成されたメモリ要素チェインを含む。
【００７１】
したがって、本発明による方法を使用するとき、その結果は、図２に示す元のＶＨＤＬ  ＨＤＬファイルから作られる、図８に示すＳＣＡＮ済みＨＤＬファイル（ＳＣＡＮＮＥＤ  ＨＤＬ  Ｆｉｌｅ）であり、合成時にＳＣＡＮ機能の元になるＶＨＤＬ命令を含む同じシステムのＶＨＤＬ記述を含む。同様に、図９には、図４に示す元のＶｅｒｉｌｏｇ記述ファイルに対する本発明によるプロセスの使用によって得られるＶｅｒｉｌｏｇ  ＳＣＡＮ済みＨＤＬ記述ファイルを示している。
【００７２】
本発明による方法は、好ましくは、第１に、インデキシングのステップ１ａの間にインデキシングされるインスタンスなどの恒等インスタンスの存在を、第２に、たとえば、システムのある部分ではあるインスタンスに単一のＳＣＡＮチェインが関係するが、システムの別の部分では同じインスタンスにいくつかのＳＣＡＮチェインが関係することになる可能性のあるユーザの選択を考慮するように、使用されることに注意されたい。これら２つ以上の恒等インスタンスは同じファイルまたはＨＤＬファイルの組によって記述されることが了解されている。そこで、本発明では、この要件を満たすために、インスタンスがシステムの記述ファイルの組のためのＳＣＡＮ  ＨＤＬ命令の自動挿入の間に初めて現れたときに、そのインスタンスをＳＣＡＮ  ＨＤＬ命令の自動挿入によって変更することを意図している。次いで、前記インスタンスにまた出遭うたびに、ＳＣＡＮ  ＨＤＬ命令を使用してローカルなＳＣＡＮ制約を満たすことができるかどうかの検査が行われ、そうである場合は、そのインスタンスの記述ファイルには変更は行われない。他方、そうでない場合は、そのインスタンスの記述ファイル（群）は変更され、前記インスタンスが生起したそれまでの場所が検証され、その環境は、新しい形のインスタンスと共にローカルなＳＣＡＮ制約を満たすように変更される。本発明の趣旨によれば、この処置の仕方により、恒等インスタンスに対するどのような予測的分析の計算も避けられ、既に行われたＨＤＬ命令の挿入は、必要なときだけ再考される。
【００７３】
この方法のある変形実施形態では、本発明は、設計者が、ＲＴＬレベルにおいて構築されたＳＣＡＮチェインの構成に関する選択について意向を変られるようにすることを意図している。これを達成するために、本発明は、ＳＣＡＮ  ＨＤＬ命令に加えて、ＨＤＬ再構成命令を、すなわち、第１に、１つのＳＣＡＮチェインの各メモリ要素の間、および／またはＳＣＡＮチェインの部分の間に挿入される中間スイッチを定義するＨＤＬ命令を、第２に、これらの中間スイッチの少なくともコントローラに対応するＨＤＬ命令を、挿入することを意図している。
【００７４】
合成時に、ＨＤＬのＳＣＡＮおよび再構成の命令を使用して、図１０で図式的に示すものなどの機能のある集積デジタルシステムＳが作られることになる。このため、システムＳは、コントローラ１７へと接続される中間スイッチ１５、１６により、図１０に示すように互いに次々と接続されているＳＣＡＮチェインの部分１１、１２、１３、１４を含む。
【００７５】
これらの手段の使用する際、ＳＣＡＮチェインの動的な再構成は、ハードウェアレベルにおける合成後に、次のパラメータを再定義することによって行うことが可能になる。すなわち、
＞ＳＣＡＮチェインのサイズ
＞１つまたはいくつかのＳＣＡＮチェインの物理的構成
である。
【００７６】
図１０に示すように、そのような再構成には、コントローラ１７が必要であり、これは、スイッチ１５、１６に対して動作して、チェインの部分１１から１４の相互間およびコントローラ１７との接続のアクティブ化を、コントローラでアクティブ化された構成シーケンスに応じて行う。
【００７７】
ある実施形態では、本発明は、また、ＨＤＬ命令のシステムのＨＤＬ記述ファイルへの自動挿入のためのステップを含み、これらのＨＤＬ命令により、システムの合成後には、ＢＩＳＴ（Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ−Ｔｅｓｔ）機能がすべて、システムに与えられることになる。
【００７８】
したがって、本発明は、合成時に少なくとも次のものの元になるＨＤＬ組み込み自己テスト命令を自動的に挿入するステップを含む。すなわち、
−  テストパターン生成器２０などのテストパターン生成手段
−  テスト結果圧縮ブロック２１など、テスト済み回路の応答を分析する手段
−  テストコントローラ２２などのテストコントロール手段
−  テストの入力２３および出力２４
【００７９】
図１１に示すように、これらの要素は、システムＳの機能のすべてまたは一部だけを行うことのできる、テストすべき回路２５に関する。
【００８０】
本発明によれば、テストコントローラは、組み込み自己テストの信頼性および特に故障検出率（ｆａｕｌｔ  ｃｏｖｅｒａｇｅ）を高めるために、少なくともテスト生成器の初期化シーケンス（群）のプログラミングを可能にするように適合されることになる。テストコントローラは、故障検出率をさらに高めるために、テストコントローラの構成のプログラミングおよび場合によってはＳＣＡＮコントローラのプログラミングを可能にするように適合されることになる。
【００８１】
本発明の別の特徴によれば、合成の後でテストコントローラおよび場合によってはＳＣＡＮコントローラのプログラムを行うステップがあり、そのとき、このプログラミングは、テストコントローラの低レベルで行って、そのテストパラメータを決めることができる。
【００８２】
もちろん、本発明への様々な修正形態は、その範囲から逸脱することなく行うことができる。
【図面の簡単な説明】
【００８３】
【図１】本発明による方法の使用のための流れ図の例を示す図である。
【図２】集積デジタルシステムの一部分の、ＶＨＤＬ言語による元の記述ファイルを示す図である。
【図３】図２のファイルについての、本発明による方法の使用中に生成されるファイルの例を示す図である。
【図４】集積デジタルシステムの一部分の、Ｖｅｒｉｌｏｇ言語による元の記述ファイルを示す図である。
【図５】図４のファイルについての、本発明による方法の使用中に生成されるファイルの例を示す図である。
【図６】図２および４によるファイル用に、本発明による方法によって生成されるメモリ要素のインデキシングファイルの例を示す図である。
【図７】図２および４によるファイル用に、本発明による方法によって生成されるメモリ要素のインデキシングファイルの例を示す図である。
【図８】本発明による方法によって自動的に挿入されるＨＤＬ  ＳＣＡＮを組み込む、それぞれ図２および４の元のファイルに対応するＨＤＬ記述ファイルを示す図である。
【図９】本発明による方法によって自動的に挿入されるＨＤＬ  ＳＣＡＮを組み込む、それぞれ図２および４の元のファイルに対応するＨＤＬ記述ファイルを示す図である。
【図１０】集積デジタルシステムのＳＣＡＮチェインを再構成する手段の使用を図式的に示す図である。
【図１１】本発明によるプロセスによって生成されたＨＤＬ記述の合成後に得られ、組み込み自己テスト「ＢＩＳＴ」の機能を使用するような集積デジタルシステムを図式的に示す図である。
【図１】
2007522574.tif 000003
【図２】
2007522574.tif 000004
【図３】
2007522574.tif 000005
【図４】
2007522574.tif 000006
【図５】
2007522574.tif 000007
【図６】
2007522574.tif 000008
【図７】
2007522574.tif 000009
【図８】
2007522574.tif 000010
【図９】
2007522574.tif 000011
【図１０】
2007522574.tif 000012
【図１１】
2007522574.tif 000013
【国際調査報告】
2007522574.tif 000014
2007522574.tif 000015
2007522574.tif 000016
2007522574.tif 000017
2007522574.tif 000018
2007522574.tif 000019