(57)【特許請求の範囲】
【請求項１】
プログラマブル集積回路（ＩＣ）上に、クリティカル部分および非クリティカル部分を有する回路設計の実装形態を生成する方法であって、前記プログラマブルＩＣは、
第１のタイプの複数の構成メモリセルおよび第２のタイプの複数の構成メモリセルを含む構成メモリと、
前記構成メモリに結合されるプログラマブル相互接続リソースであって、前記プログラマブル相互接続リソースの第１のサブセットは、前記第１のタイプの前記構成メモリセルのサブセットによってプログラム可能であり、前記プログラマブル相互接続リソースの第２のサブセットは、前記第２のタイプの前記構成メモリセルのサブセットによってプログラム可能である、プログラマブル相互接続リソースと、
前記構成メモリに結合されるプログラマブル論理リソースであって、前記プログラマブル論理リソースの第１のサブセットは前記第１のタイプの前記構成メモリセルのサブセットによってプログラム可能であり、前記プログラマブル論理リソースの第２のサブセットは前記第２のタイプの前記構成メモリセルのサブセットによってプログラム可能である、プログラマブル論理リソースと、を含み、
前記第１のタイプの構成メモリセルは、前記第２のタイプの構成メモリセルよりも、シングルイベントアップセット（ＳＥＵ）へのイミュニティが大きく、
前記方法は、プログラムされたプロセッサ上で、
前記回路設計を入力する動作と、
前記回路設計を合成することによって前記回路設計を実装するための初期データを生成する動作と、
前記回路設計の前記クリティカル部分および前記非クリティカル部分を決定する動作と、
前記回路設計をマッピングする、配置する、および経路設定することによって前記回路設計を実装するために前記プログラマブルＩＣの構成メモリセルをプログラムするための第２のデータを生成する動作であって、前記第２のデータの第１のサブセットは、前記プログラマブルＩＣの前記プログラマブル論理リソースの第１のサブセットおよび前記プログラマブル相互接続リソースの第１のサブセットに対して前記回路設計の前記クリティカル部分のための投票回路を実装するために、前記第１のタイプの構成メモリセルをプログラムするように割り当てられ、前記第２のデータの第２のサブセットは、前記プログラマブルＩＣの前記プログラマブル論理リソースの第２のサブセットおよび前記プログラマブル相互接続リソースの第２のサブセットに対して、前記回路設計の三重モジュール式冗長（ＴＭＲ）回路としての前記クリティカル部分、および前記非クリティカル部分を実装するために、前記第２のタイプの構成メモリセルをプログラムするように割り当てられる、生成する動作と、
前記第２のデータを電子的に読み取り可能な記憶媒体に記憶する動作と、を行うことを含み、
前記三重モジュール式冗長（ＴＭＲ）回路が、３つまたはそれ以上のインスタンスを含み、
前記投票回路が、前記３つまたはそれ以上のインスタンスからの出力信号を受信するために結合されている、
方法。
【請求項２】
前記第１のタイプの構成メモリセルは１２Ｔメモリセルであり、前記第２のタイプの構成メモリセルは６Ｔメモリセルである、請求項１に記載の方法。
【請求項３】
前記クリティカル部分を決定することは、使用される入力の数が閾値を上回るルックアップテーブル（ＬＵＴ）を決定することを含む、請求項１又は２に記載の方法。
【請求項４】
前記第２のデータの前記第１のサブセットは、前記プログラマブル論理リソースの第１のサブセットによって処理されるデータを記憶するために前記プログラマブル相互接続リソースの第１のサブセットを介して前記プログラマブル論理リソースの第１のサブセットを前記プログラマブルＩＣのメモリリソースの第１のサブセットに接続する構成データを含み、前記メモリリソースの第１のサブセットは１２Ｔメモリセルによって実装される、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記第２のデータの前記第２のサブセットは、前記プログラマブル論理リソースの第２のサブセットによって処理されるデータを記憶するために前記プログラマブル相互接続リソースの第２のサブセットを介して前記プログラマブル論理リソースの第２のサブセットを前記プログラマブルＩＣのメモリリソースの第２のサブセットに接続する構成データを含み、前記メモリリソースの第２のサブセットは６Ｔメモリセルによって実装される、請求項４に記載の方法。
【請求項６】
前記クリティカル部分を決定することは、使用される入力の数が閾値を上回るルックアップテーブル（ＬＵＴ）を決定することを含み、前記第１のタイプの構成メモリセルは、前記第２のタイプの構成メモリセルよりも、シングルイベントアップセット（ＳＥＵ）へのイミュニティが大きい、請求項１に記載の方法。
【請求項７】
前記クリティカル部分を決定することは、使用される入力の数が閾値を上回るルックアップテーブル（ＬＵＴ）を決定することを含み、前記第１のタイプの構成メモリセルは１２Ｔメモリセルであり、前記第２のタイプの構成メモリセルは６Ｔメモリセルである、請求項１に記載の方法。
【請求項８】
前記クリティカル部分を決定することは、使用される入力の数が閾値を上回るルックアップテーブル（ＬＵＴ）を決定することを含み、前記第２のデータの前記第１のサブセットは、前記プログラマブル論理リソースの第１のサブセットによって処理されるデータを記憶するために前記プログラマブル相互接続リソースの第１のサブセットを介して前記プログラマブル論理リソースの第１のサブセットを前記プログラマブルＩＣのメモリリソースの第１のサブセットに接続する構成データを含み、前記メモリリソースの第１のサブセットは１２Ｔメモリセルによって実装される、請求項１に記載の方法。
【請求項９】
クリティカル部分および非クリティカル部分を有する回路設計を実装するプログラマブル集積回路（ＩＣ）であって、
第１のタイプの複数の構成メモリセルおよび第２のタイプの複数の構成メモリセルを含む構成メモリと、
前記構成メモリに結合されるプログラマブル相互接続リソースであって、前記プログラマブル相互接続リソースの第１のサブセットは前記第１のタイプの前記構成メモリセルのサブセットによってプログラム可能であり、前記プログラマブル相互接続リソースの第２のサブセットは前記第２のタイプの前記構成メモリセルのサブセットによってプログラム可能である、プログラマブル相互接続リソースと、
前記構成メモリに結合されるプログラマブル論理リソースであって、前記プログラマブル論理リソースの第１のサブセットは前記第１のタイプの前記構成メモリセルのサブセットによってプログラム可能であり、前記プログラマブル論理リソースの第２のサブセットは前記第２のタイプの前記構成メモリセルのサブセットによってプログラム可能である、プログラマブル論理リソースと、を含み、
前記第１のタイプの構成メモリセルは、前記第２のタイプの構成メモリセルよりも、シングルイベントアップセット（ＳＥＵ）へのイミュニティが大きく、
前記構成メモリセルは、前記回路設計の前記クリティカル部分が、前記プログラマブル相互接続リソースの前記第２のサブセットおよび前記プログラマブル論理リソースの前記第２のサブセットにおいて実装され、３つまたはそれ以上のインスタンスを含む三重モジュール式冗長（ＴＭＲ）回路、および、前記プログラマブル相互接続リソースの前記第１のサブセットおよび前記プログラマブル論理リソースの第１のサブセットにおいて実装され、前記３つまたはそれ以上のインスタンスからの出力信号を受信するために結合されている投票回路として実装されるように、請求項１に記載の方法に従ってプログラムされ、前記投票回路は前記プログラマブル相互接続リソースの第２のサブセットを介して前記三重モジュール式冗長（ＴＭＲ）回路に結合される、プログラマブル集積回路（ＩＣ）。
【請求項１０】
前記プログラマブル論理リソースによって処理されるデータを記憶するためのメモリリソースをさらに含み、
前記メモリリソースは、前記プログラマブル相互接続リソースを介して前記プログラマブル論理リソースに接続可能であり、
前記メモリリソースの第１のサブセットは６Ｔメモリセルであり、
前記メモリリソースの第２のサブセットは１２Ｔメモリセルである、請求項９に記載のプログラマブル集積回路（ＩＣ）。
【請求項１１】
前記プログラマブルＩＣの前記プログラマブル論理リソースの第１のサブセットおよび前記プログラマブル相互接続リソースの第１のサブセット上に実装される回路設計の第１の部分と、
前記プログラマブルＩＣの前記プログラマブル論理リソースの第２のサブセットおよび前記プログラマブル相互接続リソースの第２のサブセット上に実装される前記回路設計の第２の部分と、をさらに含む、請求項１０に記載のプログラマブル集積回路（ＩＣ）。
【請求項１２】
複数の前記６Ｔメモリセルは複数の前記１２Ｔメモリセルより数が多い、請求項１０又は１１に記載のプログラマブル集積回路（ＩＣ）。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、プログラマブル集積回路の構成メモリに関する。
【背景技術】
【０００２】
コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）およびフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの従来のプログラマブル集積回路（ＩＣ）は、典型的には、実装された回路の機能をプログラムするために数百万のスタティックランダムアクセスメモリ（ＳＲＡＭ）構成メモリセルを使用する。構成メモリセルは、例えば、プログラマブルＩＣの相互接続リソース、論理リソースまたはメモリリソースをプログラムするためのものとすることができる。
【０００３】
チップ形状が小さくなりかつ供給電圧が低くなることで、プログラマブルＩＣにおいて増えつつあるＳＲＡＭ構成メモリセルの存在は、構成メモリセル記憶状態が大気圏外からの宇宙粒子またはＩＣパッケージング材料からのアルファ粒子との衝突によって不調になり得る可能性を高める。メモリセルの状態の予期せぬ変化はシングルイベントアップセット（ＳＥＵ）と呼ばれる。ＳＥＵが生じる可能性が高い場合、ＰＬＤに対する特定のプログラム構成の平均故障時間は減少することになり、単位時間当たりの故障（ＦＩＴ）率は増加することになる。
【発明の概要】
【０００４】
プログラマブル集積回路上に回路設計の実装形態を生成する１つの方法によれば、入力回路設計を実装するための第１のデータが生成される。方法は、回路設計のクリティカル部分および非クリティカル部分を決定する。回路設計を実装するためにプログラマブルＩＣの構成メモリセルをプログラムするための第２のデータが生成される。第２のデータの第１のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第１のサブセットおよびプログラマブル相互接続リソースの第１のサブセットに対して回路設計のクリティカル部分の３つまたはそれ以上のインスタンスを実装するために、プログラマブルＩＣの６Ｔ構成メモリセルをプログラムするように割り当てられる。第２のデータの第２のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第２のサブセットおよびプログラマブル相互接続リソースの第２のサブセットに対して投票回路を実装するために、プログラマブルＩＣの１２Ｔ構成メモリセルをプログラムするように割り当てられる。投票回路は、回路設計の第１の部分の３つのインスタンスから出力信号を受信するように結合される。第２のデータは電子的に読み取り可能な記憶媒体に記憶される。
【０００５】
プログラマブルＩＣ上に回路設計の実装形態を生成する別の方法によれば、回路設計は入力され、回路設計を実装するための第１のデータが生成される。回路設計のクリティカル部分および非クリティカル部分が決定される。第２の方法は、回路設計を実装するためにプログラマブルＩＣの構成メモリセルをプログラムするための第２のデータを生成する。第２のデータの第１のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第１のサブセットおよびプログラマブル相互接続リソースの第１のサブセットに対して回路設計のクリティカル部分を実装するために、第１のタイプの構成メモリセルをプログラムするように割り当てられる。第２のデータの第２のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第２のサブセットおよびプログラマブル相互接続リソースの第２のサブセットに対して回路設計の非クリティカル部分を実装するために、第２のタイプの構成メモリセルをプログラムするように割り当てられる。第２のデータは電子的に読み取り可能な記憶媒体に記憶される。
【０００６】
プログラマブルＩＣは、複数の６Ｔメモリセルおよび複数の１２Ｔメモリセルを有する構成メモリを含む。プログラマブル相互接続リソースは構成メモリに結合される。プログラマブル相互接続リソースの第１のサブセットは、６Ｔメモリセルのサブセットによってプログラム可能であり、プログラマブル相互接続リソースの第２のサブセットは、１２Ｔメモリセルのサブセットによってプログラム可能である。プログラマブル論理リソースは構成メモリに結合される。プログラマブル論理リソースの第１のサブセットは、６Ｔメモリセルのサブセットによってプログラム可能であり、プログラマブル論理リソースの第２のサブセットは、１２Ｔメモリセルのサブセットによってプログラム可能である。プログラマブル入力／出力（Ｉ／Ｏ）リソースは構成メモリに結合される。
【０００７】
他の特徴は、以下の発明を実施するための形態および特許請求の範囲を考察することによって認識されるであろう。
【０００８】
開示された方法およびシステムのさまざまな態様および特徴は、以下の詳細な説明を検討し、図面を参照することによって明らかとなろう。
【図面の簡単な説明】
【０００９】
【図１】６Ｔ  ＳＲＡＭ構成メモリによって構成可能なプログラマブルリソースの１部分、および１２Ｔ  ＳＲＡＭ構成メモリによって構成可能なプログラマブルリソースの別の部分を有するプログラマブル集積回路（ＩＣ）のブロック図である。
【図２】プログラマブルＩＣの他の構成メモリセルよりもＳＥＵのアップセットの影響を受けることが少ないいくつかの構成メモリセルを有するプログラマブルＩＣ上に回路設計の実装形態を生成するためのプロセスのフローチャートである。
【図３】１２Ｔ構成メモリセルによって構成可能であるプログラマブルリソースに実装される投票回路と共に、６Ｔ構成メモリセルによって構成可能であるプログラマブルリソースにおいて三重モジュール式冗長（ＴＭＲ）として実装される回路設計の一部分のブロック図である。
【図４】本明細書に記載されるプロセスおよびデータ構造を実装するように構成され得るコンピューティング構成の一例を示す図である。
【図５】プログラマブルＩＣ例のブロック図である。
【発明を実施するための形態】
【００１０】
以下の説明において、本明細書に提示される具体的な例を説明するための多数の具体的な細部が示される。しかしながら、１つもしくは複数の他の例および／またはこれらの例の変形が下で挙げられる具体的な細部全てがなくても実践できることは、当業者には当然明らかである。他の事例では、本明細書において例の説明を不明瞭にすることがないように、周知の特徴は詳細に説明されていない。説明を容易にするために、同じ参照符号は、同じ要素、または同じ要素の追加の事例に言及するための異なる図表において使用される場合がある。
【００１１】
開示された方法および回路はプログラマブルＩＣを包含し、このプログラマブルＩＣにおいて、構成メモリセルの全てではないが一部は１２Ｔ（１２トランジスタ）ＳＲＡＭセルであり、他の構成メモリセルは６Ｔ（６トランジスタ）ＳＲＡＭセルである。１２Ｔ  ＳＲＡＭによって実装された構成メモリセルの一部のみを有するプログラマブルＩＣを実装することによって、設計のクリティカルな一部の相互接続リソースおよび論理リソースは、全てではないものの、ＳＥＵのＦＩＴ率を低減するために三重モジュール式冗長（ＴＭＲ）にする必要がある。回路設計のクリティカルな一部は１２Ｔセルによって構成されるリソース上に配置および経路設定することができ、回路設計の非クリティカルな一部は６Ｔセルによって構成されるリソース上に配置および経路設定することができる。代替的には、回路設計のクリティカルな一部は、６Ｔ構成メモリセルを使用してＴＭＲにすることができ、投票回路は、投票回路にＳＥＵに対する回復力を持たせるために１２Ｔ構成メモリセルを使用して実装できる。構成メモリセルは、全てではないものの、１２Ｔ  ＳＲＡＭによって実装されるため、プログラマブルＩＣのフットプリントは、６Ｔ  ＳＲＡＭによって実装される構成メモリセル全てを有するプログラマブルＩＣのフットプリントより著しく大きくはならない。
【００１２】
プログラマブルＩＣ上に回路設計の実装形態を生成する開示された方法の１つによれば、回路設計を実装するための第１のデータが生成される。例えば、回路設計は、コンパイルされても、やはり最初にマッピングされ、配置され、経路設定されてもよい。設計者は、回路設計の選択された部分を信頼性が高くＳＥＵの影響を受けることが少ないようにすることを選ぶことができる。信頼性が高くＳＥＵの影響を受けることが少ないようにすることが示された回路設計の一部分は、「クリティカル部分」と呼ばれる場合もある。設計者はクリティカル部分を指定してもよく、または、設計ツールが入力回路設計のクリティカル部分を自動的に決定してもよい。例えば、設計のクリティカル部分は、プログラマブルリソースの構成メモリセルの大部分を使用して、そのプログラマブルリソースの所望の機能を構成する一部分であってよい。例えば、回路設計において使用される大きいルックアップテーブル（ＬＵＴ）は入力ピンの大半が設計によって使用される場合クリティカルであると考えられる場合があるが、これは、構成メモリセルの大部分が所望の機能を実装するために使用されることになるからである。対照的に、大きいＬＵＴは数個の入力ピンのみが設計によって使用された場合クリティカルであると考えられないと思われるが、これは、構成メモリセルのごく一部分のみが所望の機能を実装するために使用されることになり、構成メモリセルの多くが未使用となるからである。未使用の構成メモリセルのアップセットは、回路の動作に影響を及ぼすことはない。方法によれば、回路設計を実装するためにプログラマブルＩＣの構成メモリセルをプログラムするための第２のデータが生成される。第２のデータの第１のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第１のサブセットおよびプログラマブル相互接続リソースの第１のサブセットに対して回路設計のクリティカル部分を実装するために、第１のタイプの構成メモリセルをプログラムするように割り当てられる。第２のデータの第２のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第２のサブセットおよびプログラマブル相互接続リソースの第２のサブセットに対して回路設計の非クリティカル部分を実装するために、第２のタイプの構成メモリセルをプログラムするように割り当てられる。実装例では、第１のタイプの構成メモリセルは、第２のタイプの構成メモリセルよりもＳＥＵへのイミュニティが大きい。すなわち、第１のタイプの構成メモリセルは、第２のタイプの構成メモリセルよりもＳＥＵの影響を受けることが少なく、ＦＩＴ率が低い。第２のデータは、プログラマブルＩＣを構成するために記憶され、後に使用可能である。
【００１３】
プログラマブルＩＣ上に回路設計の実装形態を生成する第２の方法によれば、プログラムされたプロセッサは、回路設計を実装するための第１のデータを生成し、回路設計のクリティカル部分は上記のように決定される。回路設計を実装するためにプログラマブルＩＣの構成メモリセルをプログラムするための第２のデータが生成される。第２の方法の第２のデータの第１のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第１のサブセットおよびプログラマブル相互接続リソースの第１のサブセットに対して回路設計のクリティカル部分の３つまたはそれ以上のインスタンスを実装するために、プログラマブルＩＣの６Ｔ構成メモリセルをプログラムするように割り当てられる。第２のデータの第２のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第２のサブセットおよびプログラマブル相互接続リソースの第２のサブセットに対して投票回路を実装するために、プログラマブルＩＣの１２Ｔ構成メモリセルをプログラムするように割り当てられる。投票回路は回路設計の第１の部分の３つのインスタンスから出力信号を受信するために結合される。第２のデータは、プログラマブルＩＣを構成するために記憶され、後に使用可能である。
【００１４】
１２Ｔ構成メモリセルおよび６Ｔ構成メモリセル両方を有する構成メモリを有するプログラマブルＩＣも開示される。プログラマブルＩＣでは、プログラマブル相互接続リソースおよびプログラマブル論理リソースは構成メモリに結合される。プログラマブル相互接続リソースの種々のサブセットは、６Ｔ構成メモリセルおよび１２Ｔ構成メモリセルによってプログラム可能である。同様に、プログラマブル論理リソースの種々のサブセットは、６Ｔ構成メモリセルおよび１２Ｔ構成メモリセルによってプログラム可能である。プログラマブルＩＣはまた、構成メモリに結合されるプログラマブル入力／出力（Ｉ／Ｏ）リソースを含む。
【００１５】
図１は、６Ｔ  ＳＲＡＭ構成メモリによって構成可能なプログラマブルリソースの１部分、および１２Ｔ  ＳＲＡＭ構成メモリによって構成可能なプログラマブルリソースの別の部分を有するプログラマブル集積回路（ＩＣ）１００のブロック図を示す。図１はプログラマブルＩＣの物理的レイアウトの回路を図示していないことを理解されたい。もっと正確に言えば、図１は、いくつかのプログラマブルリソースが１２Ｔ構成メモリセルによって構成可能であり、他のプログラマブルリソースが６Ｔ構成メモリセルによって構成可能であることを示す。また、プログラマブルＩＣは、示されているものに加えて数タイプのプログラマブルリソースを有することができる。
【００１６】
プログラマブルＩＣ１００のプログラマブルリソースは、プログラマブル論理リソース１０２および１０４と、プログラマブル相互接続リソース１０６および１０８と、プログラマブル入力／出力（Ｉ／Ｏ）リソース１１０および１１２と、メモリリソース１１４および１１６とを含む。プログラマブルＩＣは、構成メモリセル１１８および構成メモリセル１２０をさらに含む。構成メモリセル１１８は構成メモリセル１２０よりもＳＥＵのアップセットの影響を受けることが少ない。実装例では、構成メモリセル１１８は１２Ｔメモリセルであり、構成メモリセル１２０は６Ｔメモリセルである。
【００１７】
プログラマブル論理リソース、プログラマブル相互接続リソース、およびプログラマブルＩ／Ｏリソースの種々のサブセットは、種々のタイプの構成メモリによってプログラム可能である。例えば、プログラマブル論理リソース１０２は、１２Ｔ  ＳＲＡＭによって実装される構成メモリ１１８によってプログラム可能であり、プログラマブル論理リソース１０４は、６Ｔ  ＳＲＡＭによって実装される構成メモリ１２０によってプログラム可能である。同様に、プログラマブル相互接続リソース１０６およびプログラマブルＩ／Ｏリソース１１０は、構成メモリ１１８によってプログラム可能であり、プログラマブル相互接続リソース１０８およびプログラマブルＩ／Ｏリソース１１２は、構成メモリ１２０によってプログラム可能である。
【００１８】
プログラマブルＩＣ１００は、プログラマブル論理リソース１０２および１０４、プログラマブル相互接続リソース１０６および１０８、ならびにプログラマブルＩ／Ｏリソース１１０および１１２上に実装される応用回路によって応用データを記憶するために使用可能であるメモリリソース１１４および１１６をさらに含む。メモリリソース１１４は１２Ｔ  ＳＲＡＭによって実装されてよく、メモリリソース１１６は６Ｔ  ＳＲＡＭによって実装されてよい。プログラマブルＩＣ１００上に実装される応用回路に対してクリティカルであると見なされるデータは、メモリリソース１１４に記憶されて、ＳＥＵの影響の受けやすさを低減するようにすることができる。それほどクリティカルでないデータはメモリリソース１１６に記憶されてよい。
【００１９】
プログラマブルＩＣにおいて他の構成メモリよりもＳＥＵのアップセットの影響を受けることが少ないある構成メモリを有するプログラマブルＩＣ１００は、プログラマブルＩＣ上に実装される回路のＦＩＴ率を低減するための適応性をもたらす。例えば、回路設計のクリティカル部分は１２Ｔメモリセルによって実装される構成メモリ１１８によって構成可能であるプログラマブルリソース上に実装されてよく、回路設計のそれほどクリティカルでない部分は６Ｔメモリセルによって実装される構成メモリ１２０によって構成可能であるプログラマブルリソース上に実装されてよい。代替的には、回路設計のクリティカル部分は、６Ｔメモリセルによって実装される構成メモリ１２０によって構成可能であるプログラマブルリソース上にＴＭＲ回路として実装されてよく、投票回路は、１２Ｔメモリセルによって実装される構成メモリ１１８によって構成可能であるプログラマブルリソース上に実装されてよい。プログラマブルＩＣが大きくなりすぎないようにするために、６Ｔ構成メモリセルより少ない１２Ｔ構成メモリセルがある。例えば、構成メモリセルの５〜１０％は１２Ｔ構成メモリセルであってよく、残りの構成メモリセルは６Ｔセルであってよい。
【００２０】
図２は、プログラマブルＩＣの他の構成メモリセルよりもＳＥＵの影響を受けることが少ないいくつかの構成メモリセルを有するプログラマブルＩＣ上に回路設計の実装形態を生成するためのプロセスのフローチャートを示す。回路設計はブロック２０２において処理するために入力され、ブロック２０４では、初期実装データが生成される。初期実装データは、回路設計を合成するかさらにはマッピングする、および／または、回路設計を配置および経路設定する結果であってよい。設計者の入力に基づいて、回路設計の一部を、信頼性が高くＳＥＵの影響を受けることを少なくすることができる。設計者は、信頼性の高い（「クリティカルな」）ものにされる回路設計の特定の部分を示すことができる、または、クリティカル部分は自動的に決定可能である。ブロック２０６では、プロセスは回路設計のクリティカル部分および非クリティカル部分を決定する。
【００２１】
自動化手順において、回路設計の一部分は、その部分のＦＩＴ率が実装された回路設計の全体のＦＩＴ率における重要因子である場合クリティカルであると見なされる場合がある。例えば、回路設計において使用される大きいルックアップテーブル（ＬＵＴ）は入力ピンの大半が設計によって使用される場合クリティカルであると考えられる場合があるが、これは、構成メモリセルの大部分が所望の機能を実装するために使用されることになるからである。対照的に、大きいＬＵＴ（大量の入力ピンを有するＬＵＴ）は、数個の入力ピンのみが設計によって使用された場合クリティカルであると考えられないと思われるが、これは、構成メモリセルのごく一部分のみが所望の機能を実装するために使用されることになり、構成メモリセルの多くが未使用となるからである。未使用の構成メモリセルのアップセットは、回路の動作に影響を及ぼすことはない。同様に、小さいＬＵＴは、数個の構成メモリセルのみがそのＬＵＴ上での機能を実装するために使用されることになるため、クリティカルではないと見なされる場合がある。実装例では、回路設計の一部分は、その部分が閾値を超える数の入力ピンを有するＬＵＴ上に実装され、かつ、使用される入力ピン数が閾値を上回る場合、クリティカルであると決定される場合がある。例えば、回路設計の一部分は、その部分が少なくとも６つの入力ピンを有するＬＵＴ上に実装されることに応答してクリティカルであると決定される場合があり、入力ピンの少なくとも５つが使用される。回路設計のクリティカル部分および非クリティカル部分のさらなる態様は、全体が参照によって本明細書に組み込まれている、２０１４年４月３０日に出願され、代理人整理番号：Ｘ−４３９９ＵＳの「ＳＥＬＥＣＴＩＯＮ  ＯＦ  ＬＯＧＩＣ  ＰＡＴＨＳ  ＦＯＲ  ＲＥＤＵＮＤＡＮＣＹ」という名称のＪａｉｎらによる同時係属特許出願第１４／２６６，５４７号にさらに記載される。
【００２２】
判断ブロック２０８では、プロセスは、回路設計のクリティカル部分を実装するためのアプローチを選択する。このアプローチは、所望のアプローチを指定する設計者の入力に応答して選択されてよい。第１のアプローチでは、クリティカル部分は、１２Ｔ構成メモリセルによってプログラムされるプログラマブルリソースを使用して実装され、第２のアプローチでは、クリティカル部分は、投票回路を実装するために使用される１２Ｔ構成メモリセルによってＴＭＲ回路として実装される。
【００２３】
第１のアプローチでは、ブロック２１０では、回路設計は、クリティカル部分を実装するために１２Ｔ構成メモリセルによってプログラムされるプログラマブルリソースを割り当てることによって、マッピングされ、配置され、および、経路設定される。回路設計が以前にマッピングされ、配置され、および経路設定されていた場合、プロセスは、それに応じて回路設計を再マッピングする、再配置する、および再経路設定することができる。
【００２４】
ブロック２１２では、構成データは、回路設計を実装するためにプログラマブルＩＣの構成メモリセルをプログラムするために生成される。構成データの第１のサブセットは、プログラマブルＩＣの（ブロック２１０で決定されるような）プログラマブル論理リソースの第１のサブセットおよび（ブロック２１０で決定されるような）プログラマブル相互接続リソースの第１のサブセットに対して回路設計のクリティカル部分を実装するために、１２Ｔ構成メモリセルをプログラムする。例えば、構成データは、プログラマブル論理リソース１０２およびプログラマブル相互接続リソース１０６上でクリティカル部分を実装するために、１２Ｔメモリセルによって実装される構成メモリ１１８（図１）の一部をプログラムするためのものであってよい。回路設計の非クリティカル部分は、プログラマブルＩＣの利用可能なプログラマブルリソースのいずれかにおいて実装されてよい。例えば、回路設計の非クリティカル部分はプログラマブルＩＣの（ブロック２１０で決定されるような）プログラマブル論理リソースの第２のサブセットおよび（ブロック２１０で決定されるような）プログラマブル相互接続リソースの第２のサブセット上で実装されてよい。この場合、リソースの第２のサブセットは、６Ｔ構成メモリセルのみ、または６Ｔ構成メモリセルおよび１２Ｔ構成メモリセルの組み合わせによってプログラムされる。非クリティカル部分を実装するための構成データは、プログラマブル論理リソース１０４およびプログラマブル相互接続リソース１０８上に非クリティカル部分を実装するために、６Ｔメモリセルによって実装される構成メモリ１２０（図１）の一部をプログラムするためのものであってよい。
【００２５】
回路設計のクリティカル部分は、回路設計がアクセスするデータを記憶するメモリリソースをさらに含むことができる。生成された構成データは、プログラマブル論理リソース１０２および／またはプログラマブル論理リソース１０４を１２Ｔメモリセルによって実装されるメモリリソース１１４に接続するために、プログラマブル相互接続リソース１０６および／またはプログラマブル相互接続リソース１０８をプログラムする構成データをさらに含むことができる。
【００２６】
回路設計の非クリティカル部分は、回路設計によってアクセスされる非クリティカルデータを記憶するメモリリソースをさらに含むことができる。生成された構成データは、プログラマブル論理リソース１０２および／またはプログラマブル論理リソース１０４を６Ｔメモリセルによって実装されるメモリリソース１１６に接続するために、プログラマブル相互接続リソース１０６および／またはプログラマブル相互接続リソース１０８をプログラムする構成データをさらに含むことができる。
【００２７】
ブロック２１４において、ブロック２１２で生成された構成データは、出力される、および／または電子的に読み取り可能な記憶媒体に記憶される。構成データは、出力可能であり、かつ、フラッシュメモリまたは磁気記憶デバイスなどのデータ記憶デバイスに記憶可能である。
【００２８】
回路設計のクリティカル部分がＴＭＲ回路として実装されることになる場合、判断ブロック２０８はブロック２２２へそのプロセスを導く。アプローチ例において、回路設計のクリティカル部分は、６Ｔ構成メモリセルによって構成可能であるプログラマブルリソースによってＴＭＲとされ、投票回路は、１２Ｔ構成メモリセルによって構成可能であるプログラマブルリソースにおいて実装される。
【００２９】
ブロック２２２では、回路設計は、回路設計のクリティカル部分の３つのインスタンスを実装するようにプログラマブルリソースを割り当てることによって、マッピングされ、配置され、および経路設定される。リソースは、６Ｔ構成メモリセルのみ、または、６Ｔ構成メモリセルおよび１２Ｔ構成メモリセルの組み合わせによってプログラムされてよい。回路設計が以前にマッピングされ、配置され、および経路設定されていた場合、プロセスは、それに応じて回路設計を再マッピングする、再配置する、および再経路設定することができる。
【００３０】
プログラマブルリソースはまた、投票回路を実装し、かつ、投票回路をＴＭＲ回路に接続するようにブロック２２２において割り当てられる。投票回路を実装し、かつ投票回路をＴＭＲ回路に接続するプログラマブルリソースは、１２Ｔ構成メモリセルのみによってプログラムされ、このことは、ＳＥＵに対して投票回路を保護するのに役立つ。
【００３１】
ブロック２２４では、構成データは、ＴＭＲ回路および投票回路を実装するプログラマブルリソースをプログラムする構成メモリセルをプログラムするために生成される。構成データは、ブロック２２２で決定されるように、プログラマブルＩＣのプログラマブル論理リソースおよびプログラマブル相互接続リソースのサブセットの機能を構成する構成メモリセルをプログラムするために指定される。例えば、ＴＭＲ回路について、構成データは、プログラマブル論理リソース１０４およびプログラマブル相互接続リソース１０８の一部分においてクリティカル部分を実装するために、６Ｔメモリセルによって実装される構成メモリ１２０（図１）の一部をプログラムするためのものであってよい。例えば、投票回路について、構成データは、プログラマブル論理リソース１０２およびプログラマブル相互接続リソース１０６の一部分において投票回路を実装するために、１２Ｔメモリセルによって実装される構成メモリ１１８（図１）の一部をプログラムするためのものであってよい。構成データはまた、回路設計のクリティカル部分を実装するＴＭＲ回路から出力信号を受信するために投票回路を接続するようにプログラマブルリソースを構成する（例えば、図３のインスタンス３０２、３０４、３０６）。
【００３２】
ブロック２２６では、ブロック２２４において生成された構成データは、出力される、および／または電子的に読み取り可能な記憶媒体に記憶される。構成データは、出力可能であり、かつ、フラッシュメモリまたは磁気記憶デバイスなどのデータ記憶デバイスに記憶可能である。
【００３３】
図３は、１２Ｔ構成メモリセルによって構成可能であるプログラマブルリソースに実装される投票回路と共に、６Ｔ構成メモリセルによって構成可能であるプログラマブルリソースにおいて三重モジュール式冗長（ＴＭＲ）として実装される回路設計の一部分のブロック図を示す。１２Ｔメモリセルを有する構成メモリによって構成されるプログラマブルリソース上で回路設計のクリティカル部分を実装する代わりに、クリティカル部分は、６Ｔメモリセルを有する構成メモリによって構成されるプログラマブルリソース上でＴＭＲ回路として実装されてよい。投票回路は、１２Ｔメモリセルを有する構成メモリによって構成されるプログラマブルリソース上に実装可能であり、これによって、ＳＥＵに対する投票回路の影響の受けやすさを低減する。
【００３４】
回路設計のクリティカル部分は、ブロック３０２、３０４、３０６、３０８、３１０、および３１２として実装されるように示される。ブロック３０２、３０４、および３０６は、それぞれのプログラマブル論理（ＰＬ）リソースおよびプログラマブル相互接続（ＩＮＴ）リソース上に実装される回路設計のクリティカル部分の３つのインスタンスを表す。ブロック３０８、３１０、および３１２は、クリティカル部分のそれぞれのインスタンスを投票回路３１４に接続する相互接続リソースを表す。回路設計のクリティカル部分および投票回路の接続のインスタンスは、回路構成が３部構成になっているため、６Ｔ構成メモリセルによって構成可能であるプログラマブルリソース上に実装可能である。投票回路は、１２Ｔ構成メモリセルによって構成可能であるプログラマブル論理リソースおよびプログラマブル相互接続リソース上に実装可能であり、これによって、ＳＥＵに対する投票回路の影響の受けやすさを低減する。投票回路３１４は、複数のインスタンス３０２、３０４、３０６、ならびに相互接続回路３０８、３１０、および３１２がＳＥＵを被っていない限り、予想通りの結果を出力することになる。
【００３５】
回路設計の非クリティカル部分は、６Ｔ構成メモリセルによって構成可能であるプログラマブル論理リソースおよびプログラマブル相互接続リソース上に実装されてよい。例えば、非クリティカル部分３１６によってＴＭＲ回路（クリティカル部分）への入力が行われ、非クリティカル部分３１８は投票回路３１４を介してクリティカル部分から出力を受信する。プログラマブル相互接続リソース３０９は、非クリティカル部分３１６をクリティカル部分のＴＭＲインスタンス３０２、３０４、および３０６に接続し、プログラマブル相互接続リソース３０８は、１２Ｔ構成メモリセルによって構成可能である。
【００３６】
図４は、本明細書に記載されるプロセスおよびデータ構造を実装するように構成され得るコンピューティング構成の一例を示す。プロセッサコンピューティング構成５００は、実行可能コンピュータコードに従ってプログラムされる１つまたは複数のプロセッサ５０２と、クロック信号発生器５０４と、メモリ構成５０６と、記憶構成５０８と、入力／出力制御ユニット５１０とを含み、これら全てはホストバス５１２に結合される。構成５００は、回路基板上で別個構成要素によって実装可能である、または、集積回路内で内部に実装可能である。集積回路内で内部に実装される時、プロセッサコンピューティング構成は、別段マイクロコントローラとして知られている。
【００３７】
コンピューティング構成のアーキテクチャは、当業者には認識されると思われるが、実装要件に左右される。プロセッサ５０２は、１つもしくは複数の汎用プロセッサ、または、１つもしくは複数の汎用プロセッサおよび適したコプロセッサの組み合わせ、または、１つもしくは複数の専用プロセッサ（例えば、ＲＩＳＣ、ＣＩＳＣ、パイプライン型など）であってよい。
【００３８】
メモリ構成５０６は、典型的には、複数のレベルのキャッシュメモリ、およびメインメモリを含む。記憶構成５０８は、磁気ディスク（図示せず）、フラッシュ、ＥＰＲＯＭ、または他の不揮発性データ記憶装置によって提供されるものといった、ローカル永続記憶装置および／またはリモート永続記憶装置を含むことができる。記憶ユニットは読み取る能力、または読み書きする能力を有することができる。さらに、メモリ構成５０６および記憶構成５０８は、単一の構成で組み合わせ可能である。
【００３９】
プロセッサ５０２は、記憶構成５０８および／またはメモリ構成５０６においてソフトウェアを実行する、記憶構成５０８および／またはメモリ構成５０６からデータを読み取りかつそれにデータを記憶する、ならびに、入力／出力制御構成５１０を通して外部デバイスと通信する。これらの機能はクロック信号発生器５０４によって同期される。コンピューティング構成のリソースは、オペレーティングシステム（図示せず）またはハードウェア制御ユニット（図示せず）によって管理可能である。
【００４０】
図５は、開示された回路が実装可能であるプログラマブル集積回路（ＩＣ）６００を示す。プログラマブルＩＣはまた、他のプログラマブルリソースと共に、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）論理を含むシステムオンチップ（ＳＯＣ）と呼ばれる場合がある。ＦＰＧＡ論理は、アレイ状のいくつかの種々のタイプのプログラマブル論理ブロックを含むことができる。例えば、図５は、マルチギガビットトランシーバ（ＭＧＴ）６０１、構成可能論理ブロック（ＣＬＢ）６０２、ランダムアクセスメモリブロック（ＢＲＡＭ）６０３、入力／出力ブロック（ＩＯＢ）６０４、構成およびクロッキング論理（ＣＯＮＦＩＧ／ＣＬＯＣＫＳ）６０５、デジタル信号処理ブロック（ＤＳＰ）６０６、専用入力／出力ブロック（Ｉ／Ｏ）６０７（例えば、クロックポート）、ならびに、デジタルクロックマネージャ、アナログ−デジタル変換器、システム監視論理などのような他のプログラマブル論理６０８を含む、多数の種々のプログラマブルタイルを含むプログラマブルＩＣ６００を示す。ＦＰＧＡ論理を有する一部のプログラマブルＩＣは、専用のプロセッサブロック（ＰＲＯＣ）６１０、ならびに内部再構成ポートおよび外部再構成ポート（図示せず）も含む。
【００４１】
あるＦＰＧＡ論理では、それぞれのプログラマブルタイルは、それぞれの隣接したタイルにおいて対応する相互接続素子に対する標準化された接続を有するプログラマブル相互接続素子（ＩＮＴ）６１１を含む。従って、共に採用されるプログラマブル相互接続素子は、示されるＦＰＧＡ論理についてのプログラマブル相互接続構造を実装する。プログラマブル相互接続素子ＩＮＴ６１１はまた、図５の最上部に含まれる例によって示されるように、同じタイル内のプログラマブル論理素子に対する接続を含む。
【００４２】
例えば、ＣＬＢ６０２は、ユーザ論理を実装するためにプログラム可能である構成可能論理素子ＣＬＥ６１２に加えて、単一のプログラマブル相互接続素子ＩＮＴ６１１を含むことができる。ＢＲＡＭ６０３は、１つまたは複数のプログラマブル相互接続素子に加えて、ＢＲＡＭ論理素子（ＢＲＬ）６１３を含むことができる。典型的には、１タイルに含まれる相互接続素子の数は、そのタイルの高さに左右される。叙述された実施形態において、ＢＲＡＭタイルは５つのＣＬＢと同じ高さを有するが、他の数（例えば４つ）も使用できる。ＤＳＰタイル６０６は、適切な数のプログラマブル相互接続素子に加えて、ＤＳＰ論理素子（ＤＳＰＬ）６１４を含むことができる。ＩＯＢ６０４は、例えば、プログラマブル相互接続素子ＩＮＴ６１１の１インスタンスに加えて、入力／出力論理素子（ＩＯＬ）６１５の２つのインスタンスを含むことができる。当業者には明らかになるように、例えば、Ｉ／Ｏ論理素子６１５に接続される実際のＩ／Ｏ接着パッドは、さまざまな示される論理ブロックの上に積層される金属を使用して製造され、典型的には、入力／出力論理素子６１５の領域に制限されない。
【００４３】
叙述された実施形態において、（図５において網掛けで示される）ダイの中央近くの円柱状領域は、構成、クロック、および他の制御論理のために使用される。この円柱形状から延在する水平領域６０９は、プログラマブルＩＣの横幅にわたってクロックおよび構成信号を分布するために使用される。
【００４４】
図５に示されるアーキテクチャを利用するいくつかのプログラマブルＩＣは、プログラマブルＩＣの大半を編成する規則的な円柱構造を分断する追加の論理ブロックを含む。追加の論理ブロックは、プログラマブルブロックおよび／または専用論理とすることができる。例えば、図５に示されるプロセッサブロック（ＰＲＯＣ）６１０は、ＣＬＢおよびＢＲＡＭのいくつかの列に及ぶ。
【００４５】
図５は、例示のプログラマブルＩＣアーキテクチャのみを示すことを目的とすることに留意されたい。１列における論理ブロックの数、列の相対的な幅、列の数および順序、列に含まれる論理ブロックのタイプ、論理ブロックの相対的なサイズ、ならびに、図５の最上部に含まれる相互接続／論理実装形態は、単に例示されたものである。例えば、実際のプログラマブルＩＣにおいて、ＣＬＢの２つ以上の隣接した列は、典型的には、ユーザ論理の効率的な実装を容易にするために、ＣＬＢが生じる場合は必ず含まれる。
【００４６】
多数の例が提供される。
【００４７】
１つの例では、プログラマブル集積回路上に回路設計の実装形態を生成する方法が提供される。かかる方法は、プログラムされたプロセッサ上で、回路設計を入力する動作と、回路設計を実装するための第１のデータを生成する動作と、回路設計のクリティカル部分および非クリティカル部分を決定する動作と、回路設計を実装するためにプログラマブルＩＣの構成メモリセルをプログラムするための第２のデータを生成する動作であって、第２のデータの第１のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第１のサブセットおよびプログラマブル相互接続リソースの第１のサブセットに対して回路設計のクリティカル部分を実装するために、第１のタイプの構成メモリセルをプログラムするように割り当てられ、第２のデータの第２のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第２のサブセットおよびプログラマブル相互接続リソースの第２のサブセットに対して回路設計の非クリティカル部分を実装するために、第２のタイプの構成メモリセルをプログラムするように割り当てられる、生成する動作と、第２のデータを電子的に読み取り可能な記憶媒体に記憶する動作と、を行うことを含むことができる。
【００４８】
いくつかのかかる方法では、第１のタイプの構成メモリセルは、第２のタイプの構成メモリセルよりも、シングルイベントアップセット（ＳＥＵ）へのイミュニティが大きい場合がある。
【００４９】
いくつかのかかる方法では、第１のタイプの構成メモリセルは１２Ｔメモリセルであり、第２のタイプの構成メモリセルは６Ｔメモリセルである。
【００５０】
いくつかのかかる方法では、クリティカル部分を決定することは、使用される入力の数が閾値を上回るルックアップテーブル（ＬＵＴ）を決定することを含む。
【００５１】
いくつかのかかる方法では、第２のデータの第１のサブセットは、プログラマブル論理リソースの第１のサブセットによって処理されるデータを記憶するためにプログラマブル相互接続リソースの第１のサブセットを介してプログラマブル論理リソースの第１のサブセットをプログラマブルＩＣのメモリリソースの第１のサブセットに接続する構成データを含み、メモリリソースの第１のサブセットは１２Ｔメモリセルによって実装される。
【００５２】
いくつかのかかる方法では、第２のデータの第２のサブセットは、プログラマブル論理リソースの第２のサブセットによって処理されるデータを記憶するためにプログラマブル相互接続リソースの第２のサブセットを介してプログラマブル論理リソースの第２のサブセットをプログラマブルＩＣのメモリリソースの第２のサブセットに接続する構成データを含み、メモリリソースの第２のサブセットは６Ｔメモリセルによって実装される。
【００５３】
いくつかのかかる方法では、クリティカル部分を決定することは、使用される入力の数が閾値を上回るルックアップテーブル（ＬＵＴ）を決定することを含み、第１のタイプの構成メモリセルは、第２のタイプの構成メモリセルよりも、シングルイベントアップセット（ＳＥＵ）へのイミュニティが大きい。
【００５４】
いくつかのかかる方法では、クリティカル部分を決定することは、使用される入力の数が閾値を上回るルックアップテーブル（ＬＵＴ）を決定することを含み、第１のタイプの構成メモリセルは１２Ｔメモリセルであり、第２のタイプの構成メモリセルは６Ｔメモリセルである。
【００５５】
いくつかのかかる方法では、クリティカル部分を決定することは、使用される入力の数が閾値を上回るルックアップテーブル（ＬＵＴ）を決定することを含み、第２のデータの第１のサブセットは、プログラマブル論理リソースの第１のサブセットによって処理されるデータを記憶するためにプログラマブル相互接続リソースの第１のサブセットを介してプログラマブル論理リソースの第１のサブセットをプログラマブルＩＣのメモリリソースの第１のサブセットに接続する構成データを含み、メモリリソースの第１のサブセットは１２Ｔメモリセルによって実装される。
【００５６】
別の例において、プログラマブル集積回路上に回路設計の実装形態を生成する方法が提供される。かかる方法は、プログラムされたプロセッサ上で、回路設計を入力する動作と、回路設計を実装するための第１のデータを生成する動作と、回路設計のクリティカル部分および非クリティカル部分を決定する動作と、回路設計を実装するためにプログラマブルＩＣの構成メモリセルをプログラムするための第２のデータを生成する動作であって、第２のデータの第１のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第１のサブセットおよびプログラマブル相互接続リソースの第１のサブセットに対して回路設計のクリティカル部分の３つまたはそれ以上のインスタンスを実装するために、プログラマブルＩＣの６Ｔ構成メモリセルをプログラムするように割り当てられ、第２のデータの第２のサブセットは、プログラマブルＩＣのプログラマブル論理リソースの第２のサブセットおよびプログラマブル相互接続リソースの第２のサブセットに対して投票回路を実装するために、プログラマブルＩＣの１２Ｔ構成メモリセルをプログラムするように割り当てられ、投票回路は、回路設計のクリティカル部分の３つまたはそれ以上のインスタンスから出力信号を受信するように結合される、生成する動作と、第２のデータを電子的に読み取り可能な記憶媒体に記憶する動作と、を行うことを含むことができる。
【００５７】
いくつかのかかる方法では、第２のデータは、プログラマブルＩＣのプログラマブル論理リソースの第３のサブセットおよびプログラマブル相互接続リソースの第３のサブセットに対して回路設計の非クリティカル部分を実装するためにプログラマブルＩＣの６Ｔ構成メモリセルをプログラムするための第２のデータの第３のサブセットを含む。
【００５８】
かかる方法では、クリティカル部分を決定することは、使用される入力の数が閾値を上回るルックアップテーブル（ＬＵＴ）を決定することを含む。
【００５９】
プログラマブルＩＣが提供可能である。かかるプログラマブルＩＣは、複数の６Ｔメモリセルおよび複数の１２Ｔメモリセルを含む構成メモリと、構成メモリに結合されるプログラマブル相互接続リソースであって、プログラマブル相互接続リソースの第１のサブセットは６Ｔメモリセルのサブセットによってプログラム可能であり、プログラマブル相互接続リソースの第２のサブセットは１２Ｔメモリセルのサブセットによってプログラム可能である、プログラマブル相互接続リソースと、構成メモリに結合されるプログラマブル論理リソースであって、プログラマブル論理リソースの第１のサブセットは６Ｔメモリセルのサブセットによってプログラム可能であり、プログラマブル論理リソースの第２のサブセットは１２Ｔメモリセルのサブセットによってプログラム可能である、プログラマブル論理リソースと、構成メモリに結合されるプログラマブル入力／出力（Ｉ／Ｏ）リソースと、を含むことができる。
【００６０】
いくつかのかかるＩＣは、プログラマブル論理リソースによって処理されるデータを記憶するためのメモリリソースをさらに含むことができる。この場合、メモリリソースは、プログラマブル相互接続リソースを介してプログラマブル論理リソースに接続可能であり、メモリリソースの第１のサブセットは６Ｔメモリセルであり、メモリリソースの第２のサブセットは１２Ｔメモリセルである。
【００６１】
いくつかのかかるＩＣは、プログラマブル相互接続リソースの第１のサブセットおよびプログラマブル論理リソースの第１のサブセットに実装される三重モジュール式冗長（ＴＭＲ）回路と、プログラマブル相互接続リソースの第２のサブセットおよびプログラマブル相互接続リソースの第２のサブセットに実装される投票回路であって、プログラマブル相互接続リソースの第１のサブセットを介してＴＭＲ回路に結合される投票回路と、をさらに含むことができる。
【００６２】
いくつかのかかるＩＣは、プログラマブルＩＣのプログラマブル論理リソースの第１のサブセットおよびプログラマブル相互接続リソースの第１のサブセット上に実装される回路設計の第１の部分と、プログラマブルＩＣのプログラマブル論理リソースの第２のサブセットおよびプログラマブル相互接続リソースの第２のサブセット上に実装される回路設計の第２の部分と、をさらに含むことができる。
【００６３】
いくつかのかかるＩＣでは、複数の６Ｔメモリセルは複数の１２Ｔメモリセルより数が多い。
【００６４】
態様および特徴は、場合によって個々の図において説明される場合があるが、１つの図からの特徴と別の図の特徴との組み合わせは、組み合わせとして明示的に示されていないまたは明示的に説明されていない場合でも可能であることは理解されるであろう。
【産業上の利用可能性】
【００６５】
方法およびシステムは、ＳＥＵに対して保護するために回路設計を処理するためのさまざまなシステムに応用可能であると思われる。他の態様および特徴は明細書を考察することで当業者には明らかとなろう。明細書および図面は例としてのみ考慮されるものとし、本発明の真の範囲は以下の特許請求の範囲によって指示されることが意図される。
【図１】
0006603304.tif 000002
【図２】
0006603304.tif 000003
【図３】
0006603304.tif 000004
【図４】
0006603304.tif 000005
【図５】
0006603304.tif 000006