(57)【要約】ラッパーの動作機能を変化させることができ、したがって設計されたＳｏＣの動作機能を変化させることができる機能再設定モジュール（ＦＲＭ）を有しているラッパーを使用することによって、並外れて効果的なＳｏＣ設計が達成される。コア＋ラッパーの組み合わせの一実施の形態は、ラッパー内の別個の入力セルおよび出力セル、ならびに別個のＦＲＭを有している。他の実施の形態においては、入力セルおよび出力セルをＦＲＭ内に組み込んでもよい。ＦＲＭは、例えばフィールド・プログラマブル・ロジック・アレイ（ＦＰＬＡ）によって実装することができる。さらなる進歩が、ＳｏＣの種々の要素を相互接続している信号経路ネットワークに何本かの予備のリードを設けることによって達成される。
2007501586.tif 000002
【特許請求の範囲】
【請求項１】
一式の入力および出力を備える機能回路と、入力セルおよび出力セルを備える第２の回路とを有し、入力セルのそれぞれが外部入力と内部出力とを有して、該内部出力が前記機能回路の対応する入力へと接続され、出力セルのそれぞれが外部出力と内部入力とを有して、該内部入力が前記機能回路の対応する出力へと接続されているデバイスであって、
ａ）前記第２の回路が、複数の入力と複数の出力とを有するプログラマブルな回路手段をさらに有しており、
ｂ）各入力セルが、前記機能回路の対応する入力を、前記入力セルの外部入力または前記プログラマブルな回路手段の出力へと選択的に接続する制御手段を有しており、
ｃ）各出力セルが、前記出力セルの外部出力を、前記プログラマブルな回路手段の出力または前記機能回路の対応する出力へと選択的に接続する制御手段を有している
ことを特徴とするデバイス。
【請求項２】
前記プログラマブルな回路手段が、設定メモリを有している請求項１に記載のデバイス。
【請求項３】
前記設定メモリが、不揮発性メモリを含んでいる請求項２に記載のデバイス。
【請求項４】
前記プログラマブルな回路手段が、複数の導体および該導体のうちの選択されたいくつかを選択的に相互接続する複数のスイッチをさらに有しており、該複数のスイッチのそれぞれの状態が、前記設定メモリに保存された値によって制御される請求項２または３に記載のデバイス。
【請求項５】
各出力セルの制御手段が、第１の入力が前記プログラマブルな回路手段の出力へと接続され、第２の入力が前記機能回路の対応する出力へと接続され、制御端子が前記プログラマブルな回路手段の複数の出力のうちの１つからの設定信号に接続され、出力が前記出力セルの外部出力へと接続されているマルチプレクサを有している請求項１〜４のいずれか一項に記載のデバイス。
【請求項６】
前記マルチプレクサの出力が、前記プログラマブルな回路手段の複数の出力のうちの１つからの第２の設定制御信号に応答する３状態のバッファを介して、前記出力セルの外部出力リードに接続され、
前記ドライバが、前記第２の設定制御信号が第１の論理レベルにあるときに、自身への入力信号を自身の出力へと伝達し、前記第２の設定制御信号が第２の論理レベルにあるときに、自身の出力に高いインピーダンスを提供する
請求項５に記載のデバイス。
【請求項７】
各出力セルの制御手段が、入力が前記プログラマブルな回路手段の出力へと接続され、出力が前記出力セルの外部出力へと接続されている第１の３状態のドライバ、および入力が前記機能回路の対応する出力へと接続され、出力がやはり前記出力セルの外部出力へと接続されている第２の３状態のドライバを有しており、
前記ドライバのそれぞれが、制御端子を前記プログラマブルな回路手段へと接続して有している請求項１〜４のいずれか一項に記載のデバイス。
【請求項８】
前記ドライバの前記制御端子に加えられる信号が、あらゆる時点において、有効にされるドライバが前記ドライバのうちの最大１つであるように構成されている請求項７に記載のデバイス。
【請求項９】
前記機能回路がコア回路である請求項１〜８のいずれか一項に記載のデバイス。
【請求項１０】
前記プログラマブルな回路手段への情報を受け取るための少なくとも１つの設定入力リード
をさらに有している請求項１〜９のいずれか一項に記載のデバイス。
【請求項１１】
当該デバイスが集積回路であり、前記機能回路および前記第２の回路がモジュールを形成しており、前記機能回路の入力および出力が、前記第２の回路内の回路を通過することによってのみ前記モジュールの外部からアクセス可能である請求項１〜１０のいずれか一項に記載のデバイス。
【請求項１２】
各入力セルの前記制御手段が、前記機能回路の対応する入力を、前記入力セルの外部入力または前記プログラマブルな回路手段の出力へと、当該プログラマブルな回路手段の内部の設定メモリ素子から当該セルへと加えられる設定信号にもとづいて、選択的に接続する請求項１〜１１のいずれか一項に記載の集積回路。
【請求項１３】
前記機構回路がコアであり、前記第２の回路がＲＥＦＡＢである請求項１〜１２のいずれか一項に記載のデバイス。
【請求項１４】
前記ＲＥＦＡＢが、プログラマブルなロジックおよびプログラマブルな相互接続ファブリックを有している請求項１３に記載のデバイス。
【請求項１５】
前記プログラマブルなロジックのプログラミングが、メモリ・モジュールの内容の制御によって達成される請求項１４に記載のデバイス。
【請求項１６】
前記メモリ・モジュールの前記内容をもたらすための少なくとも１つの設定入力リード
をさらに有している請求項１５に記載のデバイス。
【請求項１７】
前記ＲＥＦＡＢが、フィールド・プログラマブル・アレイを有している請求項１３または１４に記載のデバイス。
【請求項１８】
ａ）当該デバイスが集積回路であり、前記機能回路および前記第２の回路が第１のモジュールを形成しており、前記集積回路が、１つ以上の同様のモジュールを有しており、
ｂ）前記集積回路が、前記モジュールのうちの第１のモジュールの出力セルの前記外部出力のうちの１つ以上を、前記モジュールのうちの第２のモジュールの入力セルの前記外部入力のうちの１つ以上へと相互接続する導体を有している
請求項１〜１７のいずれか一項に記載のデバイス。
【請求項１９】
前記第１または第２のモジュールのうちの少なくとも１つの前記機能回路の少なくとも１つが、コア回路である請求項１８に記載の集積回路。
【請求項２０】
前記第１または第２のモジュールのうちの少なくとも１つの前記機能回路の１つがコア回路であり、残りの機能回路がＵＤＬ回路である請求項１８に記載の集積回路。
【請求項２１】
前記第１のモジュールおよび前記第２のモジュールの前記第２の回路を相互接続する導体の数が、前記第１のモジュールおよび前記第２のモジュールの前記第２の回路が存在しない場合に前記第１のモジュールの前記機能回路と前記第２のモジュールの前記機能回路とを接続するために必要な導体の数よりも多い請求項１８〜２０のいずれか一項に記載の集積回路。
【請求項２２】
前記第１のモジュールの前記プログラマブルな回路手段と前記第２のモジュールの前記プログラマブルな回路手段との間にまたがる設定リード
をさらに有している請求項１８〜２１のいずれか一項に記載の集積回路。
【請求項２３】
前記モジュールのそれぞれの前記機能回路の設計が、当該機能回路を当該集積回路の設計内に取り入れる前に完了しかつ検証されていることを特徴とする請求項１８〜２２のいずれか一項に記載の集積回路。
【請求項２４】
前記機能回路のそれぞれが、当該集積回路の設計者によってユニットとして入手された設計を有している請求項２３に記載の集積回路。
【請求項２５】
前記機能回路のそれぞれが、当該機能回路を当該集積回路の設計内に取り入れる前にすでに知られている当該機能回路の動作状態を検証するための検査の仕組みを有している請求項２３または２４に記載の集積回路。
【請求項２６】
さらに、１つ以上のユーザ定義のロジック回路を、前記第１のモジュールの出力セルの１つ以上の外部出力および前記第２のモジュールの入力セルの１つ以上の外部入力に接続して有している請求項１８〜２５のいずれか一項に記載の集積回路。
【請求項２７】
前記第１または第２のモジュールのうちの選択された一方のプログラマブルな回路手段が、前記導体のうちの１つを流れる信号ｓを信号ｑによって置き替えるように構成されている請求項１８〜２６のいずれか一項に記載の集積回路。
【請求項２８】
前記信号ｑが前記信号ｓの関数である請求項２７に記載の集積回路。
【請求項２９】
前記モジュールのうちの少なくとも１つのプログラマブルな回路手段が、当該プログラマブルな回路手段と組である機能回路を検査するように構成されている請求項１８〜２８のいずれか一項に記載の集積回路。
【請求項３０】
前記モジュールのうちの１つの前記プログラマブルな回路手段が、前記組である機能回路を検査するため、テスト・ベクトルを生成するように構成されている請求項２９に記載の集積回路。
【請求項３１】
前記第１のモジュールのプログラマブルな回路手段が、第１の検査回路を備えて構成され、前記第２のモジュールのプログラマブルな回路手段が、第２の検査回路を備えて構成され、前記第１の検査回路および前記第２の検査回路が相互接続されている請求項１８〜３０のいずれか一項に記載の集積回路。
【請求項３２】
前記第１のモジュールのプログラマブルな回路手段、または前記第２のモジュールのプログラマブルなロジック手段、あるいは両者が、当該集積回路の製造欠陥を修復するように構成されている請求項１８〜３１のいずれか一項に記載の集積回路。
【請求項３３】
前記欠陥が、当該集積回路のモジュールを相互接続している接続ファブリックに存在する請求項３２に記載の集積回路。
【請求項３４】
前記モジュールのうちの第１のモジュールの外部出力からのＭ本の導体が、前記モジュールのうちの第２のモジュールのＭ個の外部入力へと接続され、ここでＭが、当該集積回路の機能のために前記第１のモジュールの機能回路と前記第２のモジュールの機能回路のＩ／Ｏリードとの間に接続される必要がある導体の数Ｎに予備リードの数Ｓを加えたものに等しい請求項１８〜３３のいずれか一項に記載の集積回路。
【請求項３５】
Ｍが、ＮにＳを加え、設定リードの数Ｃを加えたものに等しい請求項３４に記載の集積回路。
【請求項３６】
ＳがＮに直接に比例している請求項３５に記載の集積回路。
【請求項３７】
ＳがＮの或る割合であって、整数値へと切り上げられている請求項３６に記載の集積回路。
【請求項３８】
前記モジュールのうちの１つの第２の回路が、前記予備の信号リードのうちの１つへと、当該モジュールの機能回路の出力の１つ以上の信号の関数である信号を渡すように構成されている請求項３４〜３７のいずれか一項に記載の集積回路。
【請求項３９】
前記モジュールのうちの１つの第２の回路が、前記予備の信号リードのうちの１つへと、前記予備の信号リードを介して前記プログラマブルな回路手段に加えられた１つ以上の信号の関数である信号を渡すように構成されている請求項３４〜３８のいずれか一項に記載の集積回路。
【請求項４０】
通常の動作時に、前記モジュールの前記プログラマブルな回路手段が、前記モジュールの前記入力セルおよび出力セルの状態の設定以外には関与しない請求項１８〜３９のいずれか一項に記載の集積回路。
【請求項４１】
前記モジュールまたは前記モジュールの相互接続パターンの１つ以上について技術的変更を実行するため、通常の動作時に、前記モジュールの前記プログラマブルな回路手段のうちの少なくとも１つが、当該集積回路にロジック機能を付加する請求項４０に記載の集積回路。
【請求項４２】
前記モジュールのプログラマブルな回路手段が、（ａ）当該プログラマブルな回路手段への入力信号、（ｂ）当該モジュールに組み合わされた機能回路の出力信号、および（ｃ）前記予備の信号リードを介して当該プログラマブルな回路手段に加えられる入力信号、で構成される組から選択される１つ以上の信号の関数である信号を生成するように構成され、
生成された信号が、（ｉ）当該モジュールの入力セル、（ｉｉ）当該モジュールの出力セル、および（ｉｉｉ）前記予備の信号リードのうちの１つ、で構成される組から選択される地点へと加えられる
請求項４０に記載の集積回路。
【請求項４３】
前記プログラマブルな回路手段が、所望のロジック機能を実装するメモリ素子を有している請求項１〜４２に記載の集積回路。
【請求項４４】
機能回路とラッパーとを備えるモジュールを複数有している集積回路を動作させる方法であって、
ａ）プログラムされた機能を実行するため、前記モジュールのうちの少なくとも１つのラッパー内のプログラマブルな回路手段をプログラムするステップ、および
ｂ）前記プログラマブルな回路にて前記プログラムされた機能を実行し、少なくとも１つの出力信号を生み出すステップ
を含んでいる方法。
【請求項４５】
前記プログラムされた機能が、デバッグ機能である請求項４４に記載の方法。
【請求項４６】
前記デバッグ機能が、ブレークポイント表示を出力する請求項４５に記載の方法。
【請求項４７】
前記デバッグ機能がイベント・カウンタである請求項４５に記載の方法。
【請求項４８】
前記プログラムされた機能が、前記モジュールのうちの少なくとも１つの機能回路を検査する請求項４４に記載の方法。
【請求項４９】
複数のモジュール内のプログラマブルな回路手段が、検査機能を実行しつつ相互作用するようにプログラムされている請求項４８に記載の方法。
【請求項５０】
少なくとも１つの信号ｓを、前記モジュールのうちの少なくとも１つのプログラム可能な回路手段へと、当該プログラム可能な回路手段を含んでいるモジュールのラッパーによって選択的に迂回させるステップ
をさらに含んでおり、
前記プログラムされた機能が、前記信号ｓの論理反転である出力信号を生成する請求項４４に記載の方法。
【請求項５１】
前記出力信号が、前記集積回路内の予備のリードによって別のモジュールのラッパーへと接続されている請求項４４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の背景）
本発明は、集積回路に関し、さらに詳しくは、集積回路の設計手法に関する。
【背景技術】
【０００２】
単一の集積回路内での高度に複雑なシステムの設計は、集積回路の設計業界にとっての新規な挑戦事項である。高速かつ大処理能力の用途へのニーズを動機として、超大規模集積回路（ＶＬＳＩ）の設計を、コア・レベルでの再使用のポリシーを採用することによってのみもっとも好都合に行なうことができることが、完全に明らかになっている。そのような再使用は、きわめて複雑なチップの設計を効率的に行なうことができるようにするだけでなく、そのような設計をきわめて短時間に提供することができる。このような再使用のアプローチにおいては、これまでの社内での設計から利用でき、あるいは他の市販の事業から利用できるコアが、プリント回路配線基板上での集積回路の相互接続とあまり変わらないやり方で、チップ上のシステム（ＳｏＣ）を構成すべく相互に接続される。コアは、ＣＰＵ、メモリ、ネットワークコントローラ、ＵＡＲＴ、などを実装して利用可能である。コアを使用する利点は、それらの設計が過去において完全にされており（デバッグされ完全に検証されている）、正確に動作すると考えることができる点にある。
【０００３】
いくつかのＳｏＣ設計は、利用可能なコアの単純な相互接続では手に入れることができない機能を必要とし、したがって、そのような設計が、特別に設計された１つ以上のユーザ定義のロジック（ＵＤＬ）モジュールを含んでいることに、注意すべきである。ＵＤＬモジュールは、単なる組み合わせロジック以上のものを含むことができる。
【０００４】
本明細書の開示の文脈において、用語「コア」は、集積回路の設計者が通常はいかなる変更も加えずに利用するあらかじめパッケージ化された設計モジュールを指している。ＵＤＬモジュールは、集積回路の機能回路を構成すべくコアに組み合わされる集積回路設計の機能要素を表わしている。
【０００５】
残念ながら、集積回路を設計するためにコアを使用したとしても、システムの全体設計または既存のＵＤＬが誤りを含んでいる可能性があり、設計の初期段階においてコア間のインターフェイスが適切なやり方で明らかにされなかった可能性があり、あるいは配置が適切に設計されなかった可能性があるため、完成した集積回路設計を検証するということになると充分ではない。
【０００６】
ＳｏＣにおいて考えられる製造欠陥の無数の発生源ゆえ、ＳｏＣは必然的に、検査可能でなければならない。たいていは、ＳｏＣ内のコアにアクセス可能であるならば、少なくとも当該コアを検査できるよう、コアも利用可能な一連の検査を有している。これにより、きわめて高度に複雑な設計についても、ＳｏＣ設計内の埋め込みコアのそれぞれにアクセスするための機構が組み込まれているならば、検査が実現可能になる。
【０００７】
ラッパーという概念が、この能力を正確にもたらすために生まれている。ラッパーは、コアを取り囲む回路からなり、ＳｏＣの外部からアクセス可能（必ずしも直接的でなくてもよいが）である。ラッパーは、コアのすべての入力および出力がラッパーを通過することによってのみ利用可能であるため、コアを「取り囲んで」いると称される。換言すれば、ラッパーは、関連のコアのＩ／Ｏリードが接続される内部のＩ／Ｏリードと、外部のＩ／Ｏリードとを有している。内部のＩ／Ｏリードのそれぞれが、対応する外部のＩ／Ｏリードを有している。ラッパーは、通常は、いくつかの追加の外部Ｉ／Ｏリードを有している。
【０００８】
図１は、ＩＥＥＥ提案のＰ１５００標準に適合するラッパーの構造を示している。例えば、ｈｔｔｐ：／／ｇｒｏｕｐｅｒ．ｉｅｅｅ．ｏｒｇ／ｇｒｏｕｐｓ／１５００／を参照されたい。先に定義した意味でコア２０をラップしており、すなわち取り囲んでいるラッパー１０が含まれている。ラッパーのシリアル入力１８が、シフト・レジスタ状であるラッパー入力インターフェイス・セルの組１３へと加えられ、そこからシリアル・レジスタ状であるラッパー出力セルの組１４へと加えられている。組１４のシリアル出力は、マルチプレクサ１５に加えられている。さらに、シリアル入力は、典型的には１ビットの遅延をもたらすバイパス・レジスタ１７を通って、マルチプレクサ１５（の別の入力リード）に加えられている。最後に、シリアル入力は、シリアル入力を受け取るラッパーインストラクション・レジスタ１１‐１を有しており、インストラクション・レジスタ１１‐１に保存された情報をコントローラ１１‐２へと加えるラッパー制御要素１１に加えられている。実際、レジスタ１１‐１は、シリアル入力／出力レジスタおよびパラレル入力／出力レジスタの両者である。レジスタ１１‐１へのパラレル入力は、ラッパー１０の外部からバス１２によって加えられ、シリアル出力が、マルチプレクサ１６の第１の入力に加えられる。マルチプレクサ１５の出力が、マルチプレクサ１６の第２の入力とつながっており、マルチプレクサ１６の出力が、ラッパー１０のシリアル出力を構成している。コントローラ１１‐２が、入力セルの組、出力セルの組、ならびにマルチプレクサ１５および１６を制御している。
【０００９】
外部のテスターが、ＳｏＣの一連のピンにおいてコアへのテスト・ベクトルを印加する。これらのピンとコアのラッパーとの間の経路が、テスト・アクセス機構すなわちＴＡＭと称される。ＴＡＭは、ユーザによって定義され、Ｐ１５００標準の一部ではない。
【００１０】
Ｓ．Ｋｏｒａｎｎｅが、「Ａ  Ｎｏｖｅｌ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｗｒａｐｐｅｒ  ｆｏｒ  Ｔｅｓｔｉｎｇ  ｏｆ  Ｅｍｂｅｄｄｅｄ  Ｃｏｒｅ‐Ｂａｓｅｄ  ＳＯＣｓ  ａｎｄ  ｉｔｓ  Ａｓｓｏｃｉａｔｅｄ  Ｓｃｈｅｄｕｌｉｎｇ  Ａｌｇｏｒｉｔｈｍ」、Ｊｏｕｒｎａｌ  ｏｆ  Ｅｌｅｃｔｒｏｎｉｃ  Ｔｅｓｔｉｎｇの第２１巻、５１〜７０ページ、Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ、２００２年９月において、システム・レベルの検査の効率的な計画に関連して、ＴＡＭの最適化の問題に目を向けている。Ｋｏｒａｎｎｅは、集積回路（ＩＣ）のポートにおいて利用できる検査ピンの数が限られているため、検査の総コストを低減するために、検査ビットが分割されるべきであると述べている。従来のアプローチがＴＡＭの幅が静的であると仮定してコアの周囲の検査用ラッパーを設計しているとの観察から、Ｋｏｒａｎｎｅは、ラッパーによって並列に処理されるＴＡＭビットの数が固定ではなくて変更可能であるアプローチを説明している。Ｋｏｒａｎｎｅは、これを、「再設定可能なラッパー設計（ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  ｗｒａｐｐｅｒ  ｄｅｓｉｇｎ）」と呼んでいる。
【００１１】
Ｋｏｒａｎｎｅが自身のアプローチをどのように呼んでいるにせよ、それは依然として、ＳｏＣ内のコアの検査において使用されるＴＡＭビットの数についてのみ制御を提供するアプローチである。このような制御は、最良でも、ＴＡＭのパラメータについての制御と呼ばれるにとどまる。Ｋｏｒａｎｎｅの提案する何者によっても、ラッパーの機能は変更されていない。
【００１２】
しかしながら、ＳｏＣ設計の複雑性は、ラッパーの機能について制御を実行するアプローチを採用し、したがってコアとラッパーとの組み合わせの機能を変化させることができるアーキテクチャおよび設計パラダイムを採用することを、きわめて有利にしている。
【発明の開示】
【課題を解決するための手段】
【００１３】
（発明の要旨）
この技術分野における大きな進歩が、ラッパーの動作機能を変化させることができ、したがって設計されたＳｏＣの動作機能を変化させることができる機能再設定モジュール（ＦＲＭ）を有するラッパーによって実現される。コアとラッパーとからなる組み合わせの一実施の形態は、ラッパー内に別個の入力セルおよび出力セルを有し、さらに別個のＦＲＭを有している。関連するコアの各出力が、ラッパー内の出力セルおよびＦＲＭに接続される。出力セルのドライバが、ラッパーの出力リードに信号をもたらす。ラッパーへの入力のそれぞれは、入力セルおよびＦＲＭに接続され、入力セルのドライバが、関連するコアの入力リードへと出力する。他の実施の形態においては、入力セルおよび出力セルをＦＲＭ内に組み込んでもよい。ＦＲＭは、例えば、その機能が設定メモリの内容によって決定されるフィールド・プログラマブル・ロジック・アレイ（ＦＰＬＡ）と同様のロジックによって実装することができる。
【００１４】
ＦＲＭの並外れた柔軟性は、（ａ）設定変更可能であるという性質、（ｂ）ラッパー、関連のコア、およびラッパーの入力リードの間の相互接続、ならびに（ｃ）ＦＲＭを、メモリとの組み合わせあり、およびなしで実装できる点から、もたらされる。
【００１５】
さらなる進歩は、ＳｏＣの種々の要素を相互接続している信号経路ネットワークに何本かの予備のリードを設けることによって、実現できる。例えば、各ラッパーを他のラッパーへと相互接続しているリードの数が、ＦＲＭへと接続される予備のリードによって増やされ、それら予備のリードを、検査、監視、設計の修正、製造欠陥の修正、などに使用できる。
【００１６】
一態様において、本発明は、一式の入力および出力を備える機能回路と、入力セルおよび出力セルを備える第２の回路とを有しているデバイスであって、入力セルのそれぞれが外部入力と内部出力とを有して、該内部出力が前記機能回路の対応する入力へと接続され、出力セルのそれぞれが外部出力と内部入力とを有して、該内部入力が前記機能回路の対応する出力へと接続されているデバイスに関する。前記第２の回路が、複数の入力と複数の出力とを有するプログラマブルな回路手段をさらに有しており、各入力セルが、前記機能回路の対応する入力を、前記入力セルの外部入力または前記プログラマブルな回路手段の出力へと選択的に接続する制御手段を有している。さらに、各出力セルが、前記出力セルの外部出力を、前記プログラマブルな回路手段の出力または前記機能回路の対応する出力へと選択的に接続する制御手段を有している。
【００１７】
このデバイスの一実施の形態においては、前記プログラマブルな回路手段が、設定メモリを有している。
【００１８】
このデバイスの他の実施の形態においては、前記設定メモリが、不揮発性メモリを含んでいる。
【００１９】
このデバイスの他の実施の形態においては、前記プログラマブルな回路手段が、複数の導体と、該導体のうちの選択されたいくつかを選択的に相互接続する複数のスイッチとをさらに有しており、該複数のスイッチのそれぞれの状態が、前記設定メモリに保存された値によって制御される。
【００２０】
このデバイスの他の実施の形態においては、各出力セルの制御手段が、第１の入力が前記プログラマブルな回路手段の出力へと接続され、第２の入力が前記機能回路の対応する出力へと接続され、制御端子が前記プログラマブルな回路手段の複数の出力のうちの１つからの設定信号に接続され、出力が前記出力セルの外部出力へと接続されているマルチプレクサを有している。
【００２１】
このデバイスの他の実施の形態においては、前記マルチプレクサの出力が、前記プログラマブルな回路手段の複数の出力のうちの１つからの第２の設定制御信号に応答する３状態のバッファを介して、前記出力セルの外部出力リードに接続され、前記ドライバが、前記第２の設定制御信号が第１の論理レベルにあるときに、自身への入力信号を自身の出力へと伝達し、前記第２の設定制御信号が第２の論理レベルにあるときに、自身の出力に高いインピーダンスを提供する。
【００２２】
このデバイスの他の実施の形態においては、各出力セルの制御手段が、入力が前記プログラマブルな回路手段の出力へと接続され、出力が前記出力セルの外部出力へと接続されている第１の３状態のドライバ、および入力が前記機能回路の対応する出力へと接続され、出力がやはり前記出力セルの外部出力へと接続されている第２の３状態のドライバを有しており、前記ドライバのそれぞれが、制御端子を前記プログラマブルな回路手段へと接続して有している。
【００２３】
このデバイスの他の実施の形態においては、前記ドライバの前記制御端子に加えられる信号が、あらゆる時点において、有効にされるドライバが前記ドライバのうちの最大１つであるように構成されている。
【００２４】
このデバイスの他の実施の形態においては、前記機能回路がコア回路である。
【００２５】
他の実施の形態においては、当該デバイスが、前記プログラマブルな回路手段への情報を受け取るための少なくとも１つの設定入力リードをさらに有している。
【００２６】
他の実施の形態においては、当該デバイスが集積回路であり、前記機能回路および前記第２の回路がモジュールを形成しており、前記機能回路の入力および出力が、前記第２の回路内の回路を通過することによってのみ前記モジュールの外部からアクセス可能である。
【００２７】
このデバイスの他の実施の形態においては、各入力セルの前記制御手段が、前記機能回路の対応する入力を、前記入力セルの外部入力または前記プログラマブルな回路手段の出力へと、当該プログラマブルな回路手段の内部の設定メモリ素子から当該セルへと加えられる設定信号にもとづいて、選択的に接続する。
【００２８】
このデバイスの他の実施の形態においては、前記機構回路がコアであり、前記第２の回路がＲＥＦＡＢである。
【００２９】
このデバイスの他の実施の形態においては、前記ＲＥＦＡＢが、プログラマブルなロジックおよびプログラマブルな相互接続ファブリックを有している。
【００３０】
このデバイスの他の実施の形態においては、前記プログラマブルなロジックのプログラミングが、メモリ・モジュールの内容の制御を通じて達成される。
【００３１】
他の実施の形態においては、当該デバイスが、前記メモリ・モジュールの前記内容をもたらすための少なくとも１つの設定入力リードをさらに有している。
【００３２】
このデバイスの他の実施の形態においては、前記ＲＥＦＡＢが、フィールド・プログラマブル・アレイを有している。
【００３３】
他の実施の形態においては、当該デバイスが集積回路であり、前記機能回路および前記第２の回路が第１のモジュールを形成しており、前記集積回路が、同様の第２のモジュールを有している。さらに、前記集積回路が、前記第１のモジュールの出力セルの前記外部出力のうちの１つ以上を、前記第２のモジュールの入力セルの前記外部入力のうちの１つ以上へと相互接続する導体を有している。
【００３４】
このデバイスの他の実施の形態においては、前記第１または第２のモジュールの少なくとも一方の機能回路が、コア回路である。
【００３５】
このデバイスの他の実施の形態においては、前記第１または第２のモジュールの少なくとも一方の機能回路の１つがコア回路であり、残りの機能回路がＵＤＬ回路である。
【００３６】
このデバイスの他の実施の形態においては、前記第１のモジュールおよび前記第２のモジュールの前記第２の回路を相互接続する導体の数が、前記第１および第２のモジュールの前記第２の回路が存在しない場合に前記第１のモジュールの前記機能回路と前記第２のモジュールの前記機能回路とを接続するために必要な導体の数よりも多い。
【００３７】
他の実施の形態においては、当該デバイスが、前記第１のモジュールの前記プログラマブルな回路手段と前記第２のモジュールの前記プログラマブルな回路手段との間にまたがる設定リードをさらに有している。
【００３８】
このデバイスの他の実施の形態においては、前記モジュールのそれぞれの前記機能回路の設計が、当該機能回路を当該集積回路の設計内に取り入れる前に完了しかつ検証されていることを特徴とする。
【００３９】
このデバイスの他の実施の形態においては、前記機能回路のそれぞれが、当該集積回路の設計者によってユニットとして入手された設計を有している。
【００４０】
このデバイスの他の実施の形態においては、前記機能回路のそれぞれが、当該機能回路を当該集積回路の設計内に取り入れる前にすでに知られている当該機能回路の動作状態を検証するための検査の仕組みを有している。
【００４１】
他の実施の形態においては、当該デバイスが、さらに、１つ以上のユーザ定義のロジック回路を、前記第１のモジュールの出力セルの１つ以上の外部出力および前記第２のモジュールの入力セルの１つ以上の外部入力に接続して有している。
【００４２】
このデバイスの他の実施の形態においては、前記第１または第２のモジュールのうちの選択された一方のプログラマブルな回路手段が、前記導体のうちの１つを流れる信号ｓを信号ｑによって置き替えるように構成されている。他の実施の形態においては、前記信号ｑが前記信号ｓの関数であってよい。
【００４３】
このデバイスの他の実施の形態においては、前記モジュールのうちの少なくとも１つのプログラマブルな回路手段が、当該プログラマブルな回路手段と組である機能回路を検査するように構成されている。
【００４４】
このデバイスの他の実施の形態においては、前記モジュールのうちの１つの前記プログラマブルな回路手段が、前記組である機能回路を検査するため、テスト・ベクトルを生成するように構成されている。
【００４５】
このデバイスの他の実施の形態においては、前記第１のモジュールのプログラマブルな回路手段が、第１の検査回路を備えて構成され、前記第２のモジュールのプログラマブルな回路手段が、第２の検査回路を備えて構成され、前記第１の検査回路および前記第２の検査回路が相互接続されている。
【００４６】
このデバイスの他の実施の形態においては、前記第１のモジュールのプログラマブルなロジック手段、または前記第２のモジュールのプログラマブルな回路手段、あるいは両者が、当該集積回路の製造欠陥を修復するように構成されている。
【００４７】
このデバイスの他の実施の形態においては、前記欠陥が、当該集積回路のモジュールを相互接続している接続ファブリックに存在している。
【００４８】
このデバイスの他の実施の形態においては、前記モジュールのうちの第１のモジュールの外部出力からのＭ本の導体が、前記モジュールのうちの第２のモジュールのＭ個の外部入力へと接続され、ここでＭが、当該集積回路の機能のために前記第１のモジュールの機能回路と前記第２のモジュールの機能回路のＩ／Ｏリードとの間に接続される必要がある導体の数Ｎに、予備リードの数Ｓを加えたものに等しい。このデバイスの或る実施の形態においては、Ｍが、ＮにＳを加え、設定リードの数Ｃを加えたものに等しい。いくつかの実施の形態では、ＳがＮに直接に比例している。他の実施の形態では、ＳがＮの或る割合であって、整数値へと切り上げられている。
【００４９】
このデバイスの他の実施の形態においては、前記モジュールのうちの１つの第２の回路が、前記予備の信号リードのうちの１つへと、当該モジュールの機能回路の出力の１つ以上の信号の関数である信号を渡すように構成されている。
【００５０】
このデバイスの他の実施の形態においては、さらにこの信号が、前記予備の信号リードを介して前記プログラマブルな回路手段に加えられた１つ以上の信号の関数である。
【００５１】
このデバイスの他の実施の形態においては、通常の動作時に、前記モジュールの前記プログラマブルな回路手段が、前記モジュールの前記入力セルおよび出力セルの状態の設定以外には関与しない。いくつかの実施の形態では、前記モジュールの１つ以上または前記モジュールの相互接続パターンについて技術的変更を実行するため、通常の動作時に、前記モジュールの前記プログラマブルな回路手段のうちの少なくとも１つが、当該集積回路にロジック機能を付加する。
【００５２】
このデバイスの他の実施の形態においては、前記モジュールのプログラマブルな回路手段が、（ａ）当該プログラマブルな回路手段への入力信号、（ｂ）当該モジュールに組み合わされた機能回路の出力信号、および（ｃ）前記予備の信号リードを介して当該プログラマブルな回路手段に加えられる入力信号、で構成される組から選択される１つ以上の信号の関数である信号を生成するように構成され、生成された信号が、（ｉ）当該モジュールの入力セル、（ｉｉ）当該モジュールの出力セル、および（ｉｉｉ）前記予備の信号リードのうちの１つ、で構成される組から選択される地点へと加えられる。
【００５３】
このデバイスの他の実施の形態においては、前記プログラマブルな回路手段が、所望のロジック機能を実装するメモリ素子を有している。
【００５４】
他の態様において、本発明は、機能回路とラッパーとを備えるモジュールを複数有している集積回路を動作させる方法に関する。この方法は、プログラムされた機能を実行するため、前記モジュールのうちの少なくとも１つのラッパー内のプログラマブルな回路手段をプログラムするステップ、および前記プログラマブルな回路にて前記プログラムされた機能を実行し、少なくとも１つの出力信号を生み出すステップ、を含んでいる。
【００５５】
この方法のいくつかの実施の形態においては、前記プログラムされた機能が、デバッグ機能である。いくつかの実施の形態においては、前記デバッグ機能が、ブレークポイント表示を出力する。他の実施の形態においては、前記デバッグ機能がイベント・カウンタである。
【００５６】
この方法の他の実施の形態においては、前記プログラムされた機能が、前記モジュールのうちの少なくとも１つの機能回路を検査する。
【００５７】
この方法の他の実施の形態においては、複数のモジュール内のプログラマブルな回路手段が、検査機能を実行しつつ相互作用するようにプログラムされている。
【００５８】
他の実施の形態においては、この方法が、少なくとも１つの信号ｓを、前記モジュールのうちの少なくとも１つのプログラム可能な回路手段へと、当該プログラム可能な回路手段を含んでいるモジュールのラッパーによって選択的に迂回させるステップ、をさらに含んでおり、前記プログラムされた機能が、前記信号ｓの論理反転である出力信号を生成する。
【００５９】
この方法の他の実施の形態においては、前記出力信号が、前記集積回路内の予備のリードによって別のモジュールのラッパーへと接続されている。
【００６０】
これら種々の実施の形態の特徴は、単独で使用することも、任意の組み合わせにて使用することも、可能である。さらに、本発明の実施の形態を実現しているあらゆるデバイスの特徴を、本発明を実行する方法の一部として実装することができる。同様に、本発明を使用している方法の特徴を、本発明の実施の形態を実施しているデバイスの一部として実装することができる。
【００６１】
添付の図面は、必ずしも比例尺で描かれてはいない。図面においては、種々の図に描かれている同一でありあるいはほぼ同一である構成要素のそれぞれが、同様の参照番号で表わされている。わかりやすくするため、すべての図においてすべての構成要素に標示が付されているわけではない。
【発明を実施するための最良の形態】
【００６２】
（詳細な説明）
本発明は、その用途について、以下の説明に記載され、あるいは図面に示される詳細な構成要素の構成および配置に限定されるわけではない。本発明は、他の実施の形態も可能であり、さまざまなやり方で実施および実行が可能である。さらに、本明細書において使用される専門語および術語は、説明のためのものであり、本発明を限定するものとして理解するべきではない。本明細書において、「・・・を備えている」、「・・・からなる」または「・・・を有している」、「含んでいる」、「伴っている」、およびこれらの変形は、これらに従って挙げられる品目およびその均等物を包含していることを意味し、さらに追加の品目を包含していることを意味する。
【００６３】
図２は、本明細書に開示する原理に従って構成されたラッパー３０へと接続されたコア２０のブロック図を表わしている。コア２０は、例えば、「システム・オン・チップ」すなわちＳｏＣの簡単な例として使用されている。ＳｏＣは、入力信号２１および出力信号２４を介してコア２０と通信し、入力信号２１および出力信号２４の両者は、コアへの経路およびコアからの経路においてラッパー３０を通過する。基本的に、コア２０の入力リード２２が、ラッパー３０の内部（出力）リードに接続され、ラッパー３０の内部（出力）リードは、ラッパー３０内で入力セルの組３１の出力端子に接続されている。外部入力リード２１が、入力セルの組３１の入力端子に接続され、これにより信号をラッパー３０を通ってコア２０に渡すことができる。同様に、コア２０の出力リード２３は、ラッパー３０の内部（入力）リードに接続され、ラッパー３０の内部（入力）リードは、ラッパー３０内で出力セルの組３４の入力端子に接続されている。出力セルの組３４の出力端子が、ラッパー３０の外へと外部出力リード２４まで延びている。さらに、ラッパー３０は、機能再設定モジュール（ＦＲＭ）４０を、セルの組３１およびセルの組３４に接続して備えている。ＦＲＭは、例えばフィールド・プログラマブル・アレイおよび或る種の制御回路を備えて実装でき、フィールド・プログラマブル・アレイの機能が、フィールド・プログラマブル・アレイの一部である設定メモリの内容によって決定される。さらにＦＲＭ４０は、シリアル入力４１（おそらくは、複数リードのバス）およびシリアル出力４２を備えており、ＳｏＣ内の一連のラッパーを通過するようにデイジーチェイン接続されたとき、ＳｏＣ内のすべてのＦＲＭをシリアル接続によって設定することができる。明示的には示されていないが、さらにＦＲＭ４０は、ラッパーの機能および動作を指示すべく加えることができる制御信号が通過するリードを備えている。したがって、本明細書に開示の原理に従い、入力セル、出力セル、およびＦＲＭの集合からなるラッパーであるＲＥＦＡＢ（再設定が可能な構成）によって、柔軟なＳｏＣを生み出すことができる。考えられる一実施の形態においては、ＦＲＭが、フィールド・プログラマブル・ロジックと、ＦＲＭ内のロジックおよび相互接続を設定するメモリとによってのみ、事実上構成されている。事実上とは、ＦＲＭの「不動産」の９５パーセント超が、フィールド・プログラマブル・ロジックおよび関連の設定メモリ素子に供されていることを意味する。
【００６４】
入力セルの組３１および出力セルの組３４は、ＦＲＭ４０内に埋め込まれてもよいが、説明をわかりやすくするため、この明細書のすべての図面においてはセルを別個の要素として示していることに、注意すべきである。
【００６５】
図３は、出力セルおよび入力セルの構造を、ＳｏＣを描くことによって示しており、コア２０‐１の出力リード２３‐ｉが、コア２０‐２の入力リード２２‐ｊに接続される必要がある。本明細書に開示するラッパーのパラダイムによれば、この接続が、コア２０‐１のラッパーであるラッパー３０‐１を通過し、コア２０‐２のラッパーであるラッパー３０‐２を通過することによって、達成される。さらに具体的には、リード２３‐ｉがラッパー３０‐１内の出力セル３４‐ｉへと接続され、リード２４‐ｉにてセル３４‐ｉを出て、ラッパー３０‐２のリード２１‐ｊへとつながり、入力セル３１‐ｊへと入って、リード２２‐ｊにて入力セル３１‐ｊを出ている。
【００６６】
ラッパー内の出力セルは、セル３４‐ｉについて図示したとおりに構成されている。すなわち、セルは、一方の入力が関連するコアの出力リード（例えば、２３‐ｉ）に接続されている２入力のマルチプレクサ３２からなる。コアのこの同じ出力リードは、このラッパーのＦＲＭ、すなわちＦＲＭ４０‐１にも接続されている。マルチプレクサ３２の第２の入力は、ＦＲＭから受信される。マルチプレクサ３２の出力は、３状態のドライバ３３を介してラッパー３０の出力リードに接続されている。ドライバ３３は、制御信号がロー（論理レベル「０」）であるときの高い出力インピーダンスを特徴としている。制御信号がハイ（論理レベル「１」）であるとき、ドライバ３３の出力は、単に入力に等しい。設定ビット４６など、ＦＲＭ４０‐１内の設定メモリ・ビット（図３の黒塗りの正方形）が、マルチプレクサ３２およびドライバ３３を制御する。
【００６７】
あるいは、ラッパー内の出力セルを、セル３４‐ｆについて図示したとおりに構成してもよい。すなわち、セルが３状態のドライバ３６および３状態のドライバ３７を有しており、ドライバ３６が、設定ビットの制御のもとで、コア出力リード２３‐ｆの信号をラッパーの出力リード２４‐ｆへと出力するように構成され、ドライバ３７が、第２の設定ビットの制御のもとで、ラッパー内で生成された信号を同じ出力２４‐ｆへと出力するように構成されている。当然ながら、設定ビットは、決して同時に両方のドライバがそれぞれの出力に信号を渡すことがないように、設定される。
【００６８】
ラッパー内の入力セルは、セル３１‐ｊについて示したとおり、例えば２入力のマルチプレクサ３５を備えて構成される。ラッパーの外部入力リード（例えば、２１‐ｊ）が、マルチプレクサ３５の一方の入力および関連のＦＲＭに接続される。マルチプレクサ３５の第２の入力は、ＦＲＭから受信され、マルチプレクサ３５の出力は、関連するコアの入力リード（例えば、２２‐ｊ）に接続される。セル３４‐ｉと同様、ＦＲＭ内の設定ビットが、マルチプレクサ３５の状態を制御する。
【００６９】
図３は、本明細書に開示のＳｏＣ構造アーキテクチャに大きな利点をもたらすさらなる特徴を表わしており、そのような特徴とは、ラッパー３０‐１のＦＲＭをラッパー３０‐２のＦＲＭへと接続する予備の線４３および４４である。図３においては、予備の線が２つだけ示されているが、図３の図が、ラッパー３０‐１および３０‐２間のすべての接続よりも少ない接続しか図示していないかもしれず、また他のラッパーおよびＵＤＬモジュールへの接続が存在するかもしれないことを、念頭に置いておくべきである。
【００７０】
予備の線の数が設計上の選択事項であることは、明白である。しかしながら、２つのラッパーの間の予備の線の数は、個々のＳｏＣ設計においてそれらのラッパー間を接続している信号線の数に、必ずしも数学的に厳密な関係でなくてもよいが、直接に比例するものと予想される。好都合には、算術的に求めた予備の線の数が、次の整数へと切り上げされる。
【００７１】
異なる出力セル設計を説明するため、図３は、ラッパー３０‐１について２つの出力セルを描いている。第１のセル（セル３４‐ｉ）はマルチプレクサ３２を有し、３状態のドライバ３３がマルチプレクサ３２に続いている。第２のセル（セル３４‐ｆ）は、３状態のドライバ３６および３状態のドライバ３７を有しており、それらの出力が、まとめてセルの出力（例えば、線２４‐ｆ）へと接続されている。第１のセルにおいて、マルチプレクサ３４が、コア２０‐１からの信号またはＦＲＭ４０‐１内からの信号のいずれかを選択し、ドライバ３４が、この信号をセルの出力に渡す。あるいはドライバ３４が無効にされ、セルの出力に高いインピーダンスを提供する。第２のセルにおいては、一度に有効にされるドライバは１つだけであり、したがって当該セルは、セルの出力に高いインピーダンスを提供するか、あるいは有効にされたドライバの信号、すなわちコア２０‐１からの信号またはＦＲＭ４０‐１内からの信号のいずれかを提供する。
【００７２】
図４は、ＦＲＭ４０の実装において使用することができる１つのＦＰＬＡの構造を提示している。図４における線は、複数リードのバスを表わしており、黒塗りの点は、スイッチ一式を表わしている。それぞれのスイッチ一式は、関連の設定ビットを有しているが、わかりやすくするため、図４においては示されていない。図４のＦＰＬＡの設計は、かなり一般的である。しかしながら、スイッチ一式の配置が、ロジック素子のアレイの各ロジック素子４５へと信号を届けるためにほぼ無限の接続構成を設定可能にしていることに、注意すべきである。各ロジック素子は、水平方向のバスから信号を取得する１つの入力バスと、垂直方向のバスから信号を取得する１つの入力バスとを有している。各ロジック素子は、水平方向のバスまたは垂直方向のバス（あるいは、両方）へと加えることができる１つの出力バスを有している。ロジック・ブロック４５は、多くのやり方で実装することができる。１つのやり方は、各ロジック・ブロック４５をプログラマブル・メモリで構成することである。それらのメモリは、シリアル入力（図２、要素４１）によってプログラムされ、任意の所望のロジック機能を実現できる。簡潔にするため、種々の設定ビットおよびＦＲＭ４０内のメモリのシリアル接続は、図４には示されていない。要約すると、ＦＲＭは、プログラマブル・ロジックのセルを有し、さらに予備のラッパー間接続を含むラッパーのロジック・セル、入力および出力間にリンクを確立することができるプログラマブルな相互接続ネットワークを有している。セルの機能およびプログラマブルな相互接続の接続は、ラッパー内の設定メモリをロードすることによって設定される。
【００７３】
以下の章では、図２に構造に備わっている能力のいくつか説明し、図５は、通常の動作状況を示している。
【００７４】
図５において、コア２０‐１の出力リードが、ラッパー３０‐１内の出力セルのマルチプレクサ３２に加えられている。「０」である制御信号に応答して、マルチプレクサ３２は、このリードの信号を選択し、ドライバ３３へと加える。「０」である制御信号に応答し、ドライバ３３が有効にされて信号がラッパー３０‐１の外へと引き出され、ラッパー３０‐２へと接続されるとともに、おそらくは他のラッパーおよび／またはＵＤＬに接続される。後者は、端末に文字「Ａ」が付されている線で図示されている。ラッパー３０‐２において、信号が入力セルさらに具体的にはマルチプレクサ３５に加えられ、マルチプレクサ３５において、「０」である制御信号に応答してこの信号が選択される。マルチプレクサ３５の出力が、コア２０‐２に加えられる。
【００７５】
（出力信号の反転）
コアの出力信号が、特定の目的にとって望まれるものではない可能性がある。この状況は、例えばコア２０‐１など第三者から受け取るコアの設計（および配置）がより早い時期に完了されているため、まれにしか生じないというわけではないと予想される。図６は、信号
【００７６】
【化１】
2007501586.tif 000003
を形成すべくコア２０‐１の出力信号を反転させるための構成を提示している。必要なことは、ラッパー３０‐１のＦＲＭ内に、ラッパー３０‐１の出力とマルチプレクサ３２の第２の入力との間に接続された反転器を設定（すなわち、生成）し、マルチプレクサ３２へと「１」の制御信号を設定することだけである。この結果、ドライバ３３へと加えられる信号が
【００７７】
【化２】
2007501586.tif 000004
になり、したがって図６に太い多角線で示すとおり所望の最終結果が達成される。
【００７８】
（入力信号の反転）
コアの出力信号が、当該出力信号が加えられるべき他のさまざまなラッパーおよびＵＤＬモジュールにとっては、あるべきとおりであるが、ただ１つのコア３０‐２にとっては、当該信号ｓが誤りであって信号
【００７９】
【化３】
2007501586.tif 000005
が必要である場合がありうる。図７は、コア２０‐２の入力信号を反転させるための構成を提示している。必要なことは、ラッパー３０‐２のＦＲＭ内に、ラッパー３０‐２の入力とマルチプレクサ３５の第２の入力との間に接続された反転器を設定し、マルチプレクサ３５へと「１」の制御信号を設定することだけである。この結果、コア２０‐２へと加えられる信号が
【００８０】
【化４】
2007501586.tif 000006
になり、したがって図７に太い多角線で示すとおり所望の最終結果が達成される。
【００８１】
（クロストーク問題の修正または２本の線間の短絡のバイパス）
設計が論理的には正しいにもかかわらず、実際のチップのレイアウトにおいて２つの信号の引き回しが互いに接近しすぎる結果となり、結果として互いに悪影響を及ぼす可能性がある。このクロストークの問題は、典型的には、次の設計サイクルにおいてレイアウトを変更することによって解決される。しかしながら、これはきわめて高価につく。同様の問題が、接続されてはならない線同士が、製造上の欠陥によって誤って接続（「短絡」）されてしまう場合に生じる。
【００８２】
本明細書に開示のＦＲＭは、接続されているラッパー間の予備の線の好都合な利用と組み合わされ、図８にクロストーク問題について示されているとおり、これら困難な問題を容易に解決する。説明のため、図８に関して、ラッパー３０‐１のドライバ３３とラッパー３０‐２のマルチプレクサ３５との間の信号線について、過大なクロストークにさらされていることが発見されたと仮定する。本明細書に開示する原理によれば、この問題が、通常であればドライバ３３から（クロストークにさらされている線へと）引き出されるコア２０‐１の出力信号を、代わりにラッパー３０‐１をラッパー３０‐２へと接続している予備の線のうちの１つを通って引き出すよう、ラッパー３０‐１を設定することによって克服される。この解決策は、この予備の線にて到着する信号をマルチプレクサ３５の第２のリードへともたらすとともに、マルチプレクサ３５について「１」の制御信号を設定するように、ラッパー３０‐２を設定することによって完結する。この結果、以前はドライバ３３からマルチプレクサ３５の上側の入力へと到る線を通って流れていた信号が、今や予備の線およびマルチプレクサ３５の下側の入力を通って流れるようになる。予備の線は、必然的に、問題となっているクロストークを生み出している線からより遠く離れているため、この問題は改善される。これが、図８の太い多角線で示されている。マルチプレクサ３２の制御信号が、無関係（「無効」）であるために指定されていない点に、注意すべきである。
【００８３】
「短絡」をバイパスするための解決策は、図９に示されているとおり、クロストーク問題の解決策と同一であってよい。
【００８４】
（「回路」の修正）
レイアウトの誤りまたは製造上の欠陥ゆえ、必要な接続がなされずに「開路」が生じる場合も起こりうる。この欠陥も、図１０に示されているとおり、きわめて容易に修正することができる。
【００８５】
短絡や開路などの製造上の欠陥を修正する能力を、製造されたＳｏＣを検査するときにＳｏＣの製造者によって行使でき、あるいは事後にＳｏＣの顧客／ユーザによって行使できる点に、注目できる。これは、製造歩留まりを向上させるためのきわめて強力な道具であり、本明細書に開示のラッパー・アーキテクチャの主たる工業上の利点をもたらしている。
【００８６】
（設計ミスの修正）
すでに示したとおり、設計されたＳｏＣは、コアの他にＵＤＬモジュールを含むことがある。ＵＤＬモジュールは、ＳｏＣのために特別に設計されるため、設計ミスを含んでいる可能性がある。
【００８７】
図１１は、コア２０‐２へと加えられるべき信号がＧ（ｓ，ｕ）である状況を示しており、ここでｓは、コア２０‐１の出力信号であり、ｕはコア２０‐３の出力信号である。この設計は、ラッパー３０‐１内の要素３２および３３を介してＵＤＬ５０に信号ｓを加え、さらにラッパー３０‐３内の要素３２および３３を介してＵＤＬ５０に信号ｕを加えることによって、ＵＤＬモジュール５０から関数Ｇ（ｓ，ｕ）を得るように計画されている。しかしながら、設計ミスによって、ＵＤＬモジュール５０が実際には別の信号、すなわちＦ（ｓ，ｕ）を生む結果となるかもしれない。このミスは、図１１の実施の形態によれば、信号ｓをラッパー３０‐２へと延びる予備の線のうちの１つへと渡すようにラッパー３０‐１を構成し、信号ｕをラッパー３０‐２へとつながる予備の線へと渡すようにラッパー３０‐３を構成することによって、修正される。ラッパー３０‐２は、予備の線にて到着する信号に応答して正しい関数Ｇ（ｓ，ｕ）を生み、生み出したＧ（ｓ，ｕ）信号をマルチプレクサ３５の第２の入力に加えるように構成されている。ラッパー３０‐２を、「１」である制御信号をマルチプレクサ３５に加えるように設定することで、設計ミスの修正は完結する。
【００８８】
図１１の修正が、ラッパー３０‐３とラッパー３０‐２との間の予備の線、ならびにラッパー３０‐１とラッパー３０‐２との間の予備の線を、たとえラッパー３０‐２とこれら他のラッパーとの間に他の信号の接続が存在しなくても必要とすることに、言及することができる。当然ながら、ＳｏＣ設計にそのような予備の線を盛り込むことを妨げる理由は存在しない。
【００８９】
他の解決策が、図１２に提示されており、例えばラッパー３０‐４であるが、ＵＤＬ５０を包含するラッパーを生成することを妨げる理由はないという所見にもとづいている。これにより、すでに説明したとおりのやり方に沿って、ラッパー３０‐４内に関数Ｇ（ｓ、ｕ）を生成することができる。
【００９０】
予備の線がラッパー間の信号線への追加としてのみ含まれるべきであるという厳格な規則に調和した他の解決策が、図１３に示されており、そこではラッパー３０‐１が、Ｍ（ｓ）に相当する信号を生成して、自身のマルチプレクサ３２の第２の入力に加え、さらに自身のドライバ３３へと渡すように構成されている。同様に、ラッパー３０‐２は、Ｎ（ｕ）に相当する信号を生成して、自身のマルチプレクサ３２の第２の入力に加え、自身のドライバ３３へと渡すように構成されている。設計の不具合は、関数Ｍ（ｓ）およびＮ（ｕ）がＦ（Ｍ（ｓ），Ｎ（ｕ））がＧ（ｓ，ｕ）と等しくなるように選択されたときに解決される。
【００９１】
設計および製造上の不具合を克服する前記修正について、ＳｏＣへと恒久的に取り入れることが望まれるであろうさまざまな状況が存在する。本明細書の開示の原理によれば、これが、ＦＲＭ内の例えばＲＯＭなどの組み込みの不揮発性メモリによって、容易に達成される。ひとたびＳｏＣが検査され、ラッパーが設計または製造上の不具合を克服するように設定されると、ＳｏＣへと電力が加えられたときに、ＲＯＭを適切な設定ビットを設定するデータで「焼く」ことができる。
【００９２】
（デバッグ）
エラーの存在および発生を検出するため、ＳｏＣをデバッグできる必要がある。好都合なことに、本明細書に開示するアーキテクチャは、強力なデバッグ能力を提供する。それらには、ブレークポイント（ｂｒｅａｋｐｏｉｎｔｓ）の挿入、状態ダンプの実行、アサーション（ａｓｓｅｒｔｉｏｎ）のチェック、イベント・カウンタ、などが含まれる。
【００９３】
図１４は、コア２０‐２の或る特定の出力信号ｖが「１」であり、かつコア２０‐１の出力信号ｓが「１」であるときに論理レベル「１」をとるブレークポイント信号の生成が示されている。これは、例えば、ラッパー３０‐２を、信号ｖをラッパー３０‐２をラッパー３０‐１へとつないでいる予備の線に渡すように設定し、ラッパー３０‐１を、ＡＮＤゲートを生成し、このＡＮＤゲートに信号ｖおよびｓを渡し、ゲートの出力をブレークポイント情報の送信先であるどこかへとつながっている予備の線へと出力するように構成することによって、達成される。現在の技術水準では、このようなブレークポイントを確立でき、あるいは別々のコアからの信号を実行時に組み合わせることができるいかなるＳｏＣデバッグ機構も提供されていない。代案としては、ラッパー３０‐１が、例えば指定の時間期間において状態Ｓ・Ｖ＝１が生じた回数などをカウントするためのイベント・カウンタを実装することができる。これは、ゲート３７の出力に応答するカウンタの追加のみを必要とする。カウンタの最終値を、カウンタを含んでいるシリアル・レジスタを構成し、カウンタの状態を走査することによって、読み出すことができる。これらが、デバッグの特徴のいくつかの例にすぎないことに、注意すべきである。他の例には、状態のダンプ、アサーションのチェック、モニタリング、エラーの注入、などが含まれる。熟練のデバッグ技術者にとっては、ラッパーを再設定することができるということが、ラッパー間の予備の信号線の使用と組み合わされて、ＳｏＣ設計のデバッグのための他と比べようもない柔軟性を提供している。
【００９４】
（コアの検査）
多くのコアは、コアを検査するためのテスト・ベクトルを生成でき、さらにコアから得た応答を分析して製造欠陥を含んでいるか否かを判断することができる作り付けの自己テスト（ＢＩＳＴ）ハードウェアを含んでいる。従来からのＢＩＳＴロジックは、通常は製造時の検査のために１回だけ使用されるが、その全寿命にわたって回路内に残されたままになっている。これは、本発明の観点から言えば、チップの「不動産」の浪費である。本明細書に開示の原理に従ったＳｏＣ設計では、自己テストのハードウェアが、検査が望まれるときにのみラッパーのＦＲＭの中に設定される。コアを検査するため、ＦＲＭに位置する自己テスト・ハードウェア（ＦＲＭ‐ＲＳＴＨ）が、検査対象のコアの入力へと加えるべき信号を生成し、出力信号を分析する。検査が完了したとき、ＦＲＭを他の目的のために再設定することができる。当然ながら、自己テストのハードウェアが、当該コアに組み合わされたＦＲＭにおいて利用できるリソースよりも多くのリソースを必要とする可能性がある。しかしながら、これは、他のラッパーのＦＲＭからのハードウェアを、すでに述べたとおり予備の線の使用を通じて当該ＦＲＭ‐ＲＳＴＨに取り入れることができるため、問題にならない。これが、例えば図１５に示されており、ブロックＡおよびＢが協働して、検査対象のコア２０‐１のための所望の検査機能を提供している。検査対象コア２０‐１のラッパー３０‐１の３状態のドライバが、当該コアをＳｏＣの残りの部分から絶縁するため、無効にされている点に注意すべきである。
【００９５】
ＦＲＭを、提案されているＰ１５００標準を実装するように設定できることに、注意すべきである。
【００９６】
多数のコアが、外部のテスターによって供給されてＴＡＭを介して検査対象のコアへともたらされるベクトルで検査される。本明細書に開示の原理によるＳｏＣ設計では、コアに必要とされるベクトルを生成するためのすべてのロジックを、当該コアのラッパーに構成することができ、さらに必要であれば、他のラッパーに構成することができる。このようなやり方で、ＴＡＭをなしで済ますことができる。
【００９７】
（ＵＤＬの検査）
本明細書に開示のアーキテクチャは、コアの動作の完全性を検証できるだけでなく、ＵＤＬモジュールの動作の完全性も検証することができる。図１６は、そのような検査の構成の１つを示しており、ラッパー３０‐１がテスターを備えて構成され、ラッパー３０‐２がテスターを備えて構成されている。両方のテスターが、ＵＤＬ５０の入力へとテスト・シーケンスを加え、両方のテスターが、ＵＤＬ５０の出力を観察することができる。
【００９８】
（相互接続の検査）
図１８は、コア間の相互接続も図１７と同様のやり方で検査できることを示している。
【００９９】
すでに開示したいくつかの能力は、コアとラッパーとの組み合わせにおけるＦＲＭの使用に固有である。当業者であれば、他にも多くの可能性があることを容易に理解できるであろう。例えば、１つのコアについて必要とされる機能回路、または２つの別個のコアのやり取りに必要とされる機能回路が、必ずしもただ１つのラッパー内または当該コアに関係する複数のラッパー内で実現される必要はない。それらは、図１７に示したとおり、別のラッパーのリソースを利用することができる。これにより、ＳｏＣ設計に含まれているＦＲＭの全体セットの効率性が潜在的に向上し、個々のＦＲＭを、そのようでない場合に有することが推奨される大きさよりも小さくすることができる。
【０１００】
本発明の少なくとも１つの実施の形態についていくつかの態様を説明したが、当業者であれば種々の変更、修正、および改善を容易に思い浮かべることができることを、理解すべきである。そのような変更、修正、および改善は、本明細書の一部を構成するものであって、本発明の技術的思想および技術的範囲に包含されるべきものである。すなわち、以上の説明および図面は、あくまで例にすぎない。
【図面の簡単な説明】
【０１０１】
【図１】図１は、提案されているＰ１５００基準に合致するラッパー設計を示している。
【図２】図２は、本発明の原理によるラッパー設計を示している。
【図３】図３は、出力セルおよび入力セルの構造、およびＦＲＭ間の予備の線の使用を示している。
【図４】図４は、図３の設計において使用できるＦＰＬＡの構造を示している。
【図５】図５は、２つのコア、およびそれらの関連のラッパーを介したそれらの通常の相互接続を示している。
【図６】図６は、コアの実効出力を反転させるためのラッパーの構成を示している。
【図７】図７は、コアの実効入力を反転させるためのラッパーの構成を示している。
【図８】図８、９、および１０は、それぞれ、クロストーク問題、「開路」問題、および「短絡」問題を克服するための予備リードの設定を示している。
【図９】図８、９、および１０は、それぞれ、クロストーク問題、「開路」問題、および「短絡」問題を克服するための予備リードの設定を示している。
【図１０】図８、９、および１０は、それぞれ、クロストーク問題、「開路」問題、および「短絡」問題を克服するための予備リードの設定を示している。
【図１１】図１１、１２、および１３は、１つ以上のラッパー内のＦＲＭを設定することによってＵＤＬにおける設計上の不具合を修正するための種々のアプローチを示している。
【図１２】図１１、１２、および１３は、１つ以上のラッパー内のＦＲＭを設定することによってＵＤＬにおける設計上の不具合を修正するための種々のアプローチを示している。
【図１３】図１１、１２、および１３は、１つ以上のラッパー内のＦＲＭを設定することによってＵＤＬにおける設計上の不具合を修正するための種々のアプローチを示している。
【図１４】図１４は、１つ以上のラッパー内のＦＲＭに構成できる監視機能の一例を示している。
【図１５】図１５は、コアの検査を示しており、さらに実装が必要なあらゆる機能をＳｏＣ内のＦＲＭのリソースの集合を使用して実装できることを示している。
【図１６】図１６および１７は、１つ以上のラッパーのＦＲＭ内にテスターを構成することによるＵＤＬおよび相互接続の検査を示している。
【図１７】図１６および１７は、１つ以上のラッパーのＦＲＭ内にテスターを構成することによるＵＤＬおよび相互接続の検査を示している。
【図１８】記載なし。
【図１】
2007501586.tif 000007
【図２】
2007501586.tif 000008
【図３】
2007501586.tif 000009
【図４】
2007501586.tif 000010
【図５】
2007501586.tif 000011
【図６】
2007501586.tif 000012
【図７】
2007501586.tif 000013
【図８】
2007501586.tif 000014
【図９】
2007501586.tif 000015
【図１０】
2007501586.tif 000016
【図１１】
2007501586.tif 000017
【図１２】
2007501586.tif 000018
【図１３】
2007501586.tif 000019
【図１４】
2007501586.tif 000020
【図１５】
2007501586.tif 000021
【図１６】
2007501586.tif 000022
【図１７】
2007501586.tif 000023
【図１８】
2007501586.tif 000024
【手続補正書】
【提出日】平成18年1月19日(2006.1.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
一式の入力（２２）および出力（２３）を備える機能回路（２０、２０−１、２０−２）と、入力セル（３１）および出力セル（３４）を備える第２の回路（３０、３０−１、３０−２）とを有し、入力セルのそれぞれが外部入力（２１）と内部出力とを有して、該内部出力が前記機能回路の対応する入力（２２）へと接続され、出力セルのそれぞれが外部出力（３４）と内部入力とを有して、該内部入力が前記機能回路の対応する出力（２３）へと接続されているデバイスであって、
ａ）前記第２の回路が、複数の入力と複数の出力とを有するプログラマブルな回路手段（４０、４０−１、４０−２）をさらに有しており、該プログラマブルな回路手段の複数の入力の少なくとも一部分が、それぞれ、入力セル（３１−ｊ）の外部入力（２１−ｊ）または出力セル（３４−ｉ）の内部入力（２３−ｉ）に接続されており、
ｂ）各入力セル（３１−ｊ）が、前記機能回路（２０−２）の対応する入力（２２−ｊ）を、前記入力セルの外部入力（２１−ｊ）または前記プログラマブルな回路手段（４０−２）の出力へと選択的に接続する制御手段（３５）を有しており、
ｃ）各出力セル（３４−ｉ、３４−ｆ）が、前記出力セルの外部出力（２４−ｉ、２４−ｆ）を、前記プログラマブルな回路手段（４０−１）の出力または前記機能回路の対応する出力（２３−ｉ、２３−ｆ）へと選択的に接続する制御手段（３２、３６−３７）を有しており、
ｄ）これによって、該機能回路の一式の入力および出力に対して選択される信号が、該プログラマブルな回路手段において発生する信号で置き換えられ得る
ことを特徴とするデバイス。
【請求項２】
前記プログラマブルな回路手段が、設定メモリを有している請求項１に記載のデバイス。
【請求項３】
前記設定メモリが、不揮発性メモリを含んでいる請求項２に記載のデバイス。
【請求項４】
前記プログラマブルな回路手段が、複数の導体および該導体のうちの選択されたいくつかを選択的に相互接続する複数のスイッチをさらに有しており、該複数のスイッチのそれぞれの状態が、前記設定メモリに保存された値によって制御される請求項２または３に記載のデバイス。
【請求項５】
各出力セルの制御手段が、第１の入力が前記プログラマブルな回路手段（４０−１）の出力へと接続され、第２の入力が前記機能回路（２０−１）の対応する出力（２３−ｉ）へと接続され、制御端子が前記プログラマブルな回路手段の複数の出力のうちの１つからの設定信号（４６）に接続され、出力が前記出力セル（３４−ｉ）の外部出力（２４−ｉ）へと接続されているマルチプレクサ（３２）を有している請求項１〜４のいずれか一項に記載のデバイス。
【請求項６】
前記マルチプレクサの出力が、前記プログラマブルな回路手段の複数の出力のうちの１つからの第２の設定制御信号に応答する３状態のバッファ（３３）を介して、前記出力セルの外部出力リードに接続され、
前記ドライバが、前記第２の設定制御信号が第１の論理レベルにあるときに、自身への入力信号を自身の出力へと伝達し、前記第２の設定制御信号が第２の論理レベルにあるときに、自身の出力に高いインピーダンスを提供する
請求項５に記載のデバイス。
【請求項７】
各出力セル（３４−ｆ）の制御手段が、入力が前記プログラマブルな回路手段（４０−１）の出力へと接続され、出力が前記出力セルの外部出力（２４−ｆ）へと接続されている第１の３状態のドライバ（３７）、および入力が前記機能回路の対応する出力（２３−ｆ）へと接続され、出力がやはり前記出力セルの外部出力（２４−ｆ）へと接続されている第２の３状態のドライバ（３６）を有しており、
前記ドライバのそれぞれが、制御端子を前記プログラマブルな回路手段へと接続して有している請求項１〜４のいずれか一項に記載のデバイス。
【請求項８】
前記ドライバの前記制御端子に加えられる信号が、あらゆる時点において、有効にされるドライバが前記ドライバのうちの最大１つであるように構成されている請求項７に記載のデバイス。
【請求項９】
前記機能回路がコア回路である請求項１〜８のいずれか一項に記載のデバイス。
【請求項１０】
前記プログラマブルな回路手段への情報を受け取るための少なくとも１つの設定入力リード（４１）
をさらに有している請求項１〜９のいずれか一項に記載のデバイス。
【請求項１１】
当該デバイスが集積回路であり、前記機能回路（２０）および前記第２の回路がモジュールを形成しており、前記機能回路の入力（２２）および出力（２３）が、前記第２の回路内の回路を通過することによってのみ前記モジュールの外部からアクセス可能である請求項１〜１０のいずれか一項に記載のデバイス。
【請求項１２】
各入力セルの前記制御手段が、前記機能回路の対応する入力を、前記入力セルの外部入力または前記プログラマブルな回路手段の出力へと、当該プログラマブルな回路手段の内部の設定メモリ素子から当該セルへと加えられる設定信号にもとづいて、選択的に接続する請求項１〜１１のいずれか一項に記載のデバイス。
【請求項１３】
ａ）当該デバイスが集積回路であり、前記機能回路および前記第２の回路が第１のモジュールを形成しており、前記集積回路が、１つ以上の同様のモジュールを有しており、
ｂ）前記集積回路が、前記モジュールのうちの第１のモジュールの前記第２の回路（４０−１）の出力のうちの１つ以上を、前記モジュールのうちの第２のモジュールの第２の回路（４０−２）の入力のうちの１つ以上へと相互接続する導体（４３、４４）を有している
請求項１〜１７のいずれか一項に記載のデバイス。
【請求項１４】
前記第１または第２のモジュールのうちの少なくとも１つの前記機能回路の少なくとも１つが、コア回路である請求項１３に記載のデバイス。
【請求項１５】
前記第１または第２のモジュールのうちの少なくとも１つの前記機能回路の１つがコア回路であり、残りの機能回路がＵＤＬ回路である請求項１３に記載のデバイス。
【請求項１６】
前記第１のモジュールおよび前記第２のモジュールの前記第２の回路を相互接続する導体の数が、前記第１のモジュールおよび前記第２のモジュールの前記第２の回路が存在しない場合に前記第１のモジュールの前記機能回路と前記第２のモジュールの前記機能回路とを接続するために必要な導体の数よりも多い請求項１３〜１５のいずれか一項に記載のデバイス。
【請求項１７】
前記第１のモジュールの前記プログラマブルな回路手段と前記第２のモジュールの前記プログラマブルな回路手段との間にまたがる設定リード
をさらに有している請求項１３〜１６のいずれか一項に記載のデバイス。
【請求項１８】
前記モジュールのそれぞれの前記機能回路の設計が、当該機能回路を当該集積回路の設計内に取り入れる前に完了しかつ検証されていることを特徴とする請求項１３〜１７のいずれか一項に記載のデバイス。
【請求項１９】
前記機能回路のそれぞれが、当該集積回路の設計者によってユニットとして入手された設計を有している請求項１８に記載のデバイス。
【請求項２０】
前記機能回路のそれぞれが、当該機能回路を当該集積回路の設計内に取り入れる前にすでに知られている当該機能回路の動作状態を検証するための検査の仕組みを有している請求項１８〜１９のいずれか一項に記載のデバイス。
【請求項２１】
さらに、１つ以上のユーザ定義のロジック回路を、前記第１のモジュールの出力セルの１つ以上の外部出力および前記第２のモジュールの入力セルの１つ以上の外部入力に接続して有している請求項１３〜２０のいずれか一項に記載のデバイス。
【請求項２２】
前記第１または第２のモジュールのうちの選択された一方のプログラマブルな回路手段が、前記導体のうちの１つを流れる信号ｓを信号ｑによって置き替えるように構成されている請求項１３〜２１のいずれか一項に記載のデバイス。
【請求項２３】
前記信号ｑが前記信号ｓの関数である請求項２２に記載のデバイス。
【請求項２４】
前記モジュールのうちの少なくとも１つのプログラマブルな回路手段が、当該プログラマブルな回路手段と組である機能回路を検査するように構成されている請求項１３〜２３のいずれか一項に記載のデバイス。
【請求項２５】
前記モジュールのうちの１つの前記プログラマブルな回路手段が、前記組である機能回路を検査するため、テスト・ベクトルを生成するように構成されている請求項２４に記載のデバイス。
【請求項２６】
前記モジュールのうちの第１のモジュールの前記第２の回路からのＭ本の導体が、前記モジュールのうちの第２のモジュールのＭ個の前記第２の回路へと接続され、ここでＭが、当該集積回路の機能のために前記第１のモジュールの機能回路と前記第２のモジュールの機能回路のＩ／Ｏリードとの間に接続される必要がある導体の数Ｎに予備リードの数Ｓを加えたものに等しい請求項１３〜２５のいずれか一項に記載のデバイス。
【請求項２７】
前記第１のモジュールのプログラマブルな回路手段が、第１の検査回路を備えて構成され、前記第２のモジュールのプログラマブルな回路手段が、第２の検査回路を備えて構成され、前記第１の検査回路および前記第２の検査回路が別のリードを介して相互接続されている請求項１３〜２６のいずれか一項に記載のデバイス。
【請求項２８】
前記第１のモジュールのプログラマブルな回路手段、および／または前記第２のモジュールのプログラマブルなロジック手段が、当該集積回路の製造欠陥を修復するように構成されている請求項１３〜２７のいずれか一項に記載のデバイス。
【請求項２９】
前記欠陥が、当該集積回路のモジュールを相互接続している接続ファブリックに存在する請求項２８に記載のデバイス。
【請求項３０】
前記モジュールのうちの１つの第２の回路が、前記予備の信号リードのうちの１つへと、当該モジュールの機能回路の出力の１つ以上の信号の関数である信号を渡すように構成されている請求項２６〜２９のいずれか一項に記載のデバイス。
【請求項３１】
前記モジュールのうちの１つの第２の回路が、前記予備の信号リードのうちの１つへと、前記予備の信号リードを介して前記プログラマブルな回路手段に加えられた１つ以上の信号の関数である信号を渡すように構成されている請求項２６〜３０のいずれか一項に記載のデバイス。
【請求項３２】
通常の動作時に、前記モジュールの前記プログラマブルな回路手段が、前記モジュールの前記入力セルおよび出力セルの状態の設定以外には関与しない請求項１３〜３１のいずれか一項に記載のデバイス。
【請求項３３】
前記モジュールの第１の回路または前記モジュールの相互接続パターンの１つ以上について技術的変更を実行するため、通常の動作時に、前記モジュールの前記プログラマブルな回路手段のうちの少なくとも１つが、その関連する第１の回路の少なくとも１つの入力および／または少なくとも１つの出力を置き換えるように構成されている請求項３２に記載のデバイス。
【請求項３４】
前記モジュールのプログラマブルな回路手段が、（ａ）当該プログラマブルな回路手段への入力信号、（ｂ）当該モジュールに組み合わされた機能回路の出力信号、および（ｃ）前記予備の信号リードを介して当該プログラマブルな回路手段に加えられる入力信号、で構成される組から選択される１つ以上の信号の関数である信号を生成するように構成され、
生成された信号が、（ｉ）当該モジュールの入力セル、（ｉｉ）当該モジュールの出力セル、および（ｉｉｉ）前記予備の信号リードのうちの１つ、で構成される組から選択される地点へと加えられる
請求項３２に記載のデバイス。
【請求項３５】
機能回路とラッパーとを備えるモジュールを複数有している集積回路を動作させる方法であって、該モジュールの各々は、機能回路およびラッパーを有し、そして該ラッパーにおいて、少なくとも１つの入力信号を受信し、そして該機能回路において、少なくとも１つの出力信号を発生させ、該方法は、
ａ）プログラムされた機能を実行するため、前記モジュールのうちの少なくとも１つのラッパー内のプログラマブルな回路手段をプログラムするステップ、
ｂ）該少なくとも１つのモジュールの入力信号および／または該少なくとも１つのモジュールの機能回路の出力信号を、該プログラマブルな回路手段に迂回させ、該入力信号および／または該少なくとも１つのモジュールの機能回路の出力信号を、入力として使用して、前記プログラマブルな回路にて前記プログラムされた機能を実行し、少なくとも１つのプログラマブルな回路手段の出力信号を生み出すステップ、および
ｃ）該少なくとも１つのプログラマブルな回路手段の出力信号を、該複数のモジュールのうちの少なくとも１つのモジュールの機能回路へと迂回させるステップ
を含んでいる方法。
【請求項３６】
前記プログラムされた機能が、デバッグ機能である請求項３５に記載の方法。
【請求項３７】
前記デバッグ機能が、ブレークポイント表示（３７）を出力する請求項３６に記載の方法。
【請求項３８】
前記デバッグ機能がイベント・カウンタである請求項３６に記載の方法。
【請求項３９】
前記プログラムされた機能が、前記モジュールのうちの少なくとも１つの機能回路を検査する請求項３５に記載の方法。
【請求項４０】
複数のモジュール内のプログラマブルな回路手段が、検査機能を実行しつつ相互作用するようにプログラムされている請求項３９に記載の方法。
【請求項４１】
少なくとも１つの信号ｓを、前記モジュールのうちの少なくとも１つのプログラム可能な回路手段へと、当該プログラム可能な回路手段を含んでいるモジュールのラッパーによって選択的に迂回させるステップ
をさらに含んでおり、
前記プログラムされた機能が、前記信号ｓの論理反転である出力信号を生成する請求項３５に記載の方法。
【請求項４２】
前記出力信号が、前記集積回路内の予備のリードによって別のモジュールのラッパーへと接続されている請求項３５に記載の方法。
【請求項４３】
前記プログラムされた機能が、アサーションのチェックである、請求項３５に記載の方法。
【国際調査報告】
2007501586.tif 000025
2007501586.tif 000026
2007501586.tif 000027