(57)【要約】【課題】回路の一部分に欠陥が生じていてもそれを救済して回路全体を正常に動作させることが可能であるとともに、欠陥の救済に伴う信号遅延の変化を小さくすることができることはもとより、入力数の多いＬＵＴの冗長方式に適し、ストラクチャードＡＳＩＣにおいて最適なアーキテクチャを実現することが可能な半導体集積回路を提供する。【解決手段】インタフェース部列２０３−１〜２０３−５は、回路部列間に配置され、冗長前は、第１側に隣接する回路部列に接続される構造を有し、所定の回路部列に欠陥があると、欠陥回路部列が第１側に位置するインタフェース部列から順次に配置されているインタフェース部列は、第２側に隣接する回路部列と接続されるカラムシフト冗長方式によってセル部の配置が行われ、回路部の論理を実現するＬＵＴのプログラミング部で、冗長前後の複数データをプログラミングさせる。【選択図】図６
2009038105.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ（Ｍは２以上の整数）列の回路部列と、
任意の入出力論理を一意に決めるインタフェース部列と、を有し、
上記インタフェース部列は、上記回路部列間に配置され、冗長前は、第１側に隣接する回路部列に接続される構造を有し、
所定の回路部列に欠陥があると、当該欠陥回路部列が第１側に位置するインタフェース部列から順次に配置されているインタフェース部列は、第２側に隣接する回路部列と接続されるカラムシフト冗長方式によってセル部の配置が行われ、
回路部の論理を実現するルックアップテーブル（ＬＵＴ）のプログラミング部で、冗長前後の複数データをプログラミングさせる
半導体集積回路。
【請求項２】
上記プログラミング部にコンタクトを用い、異なる電源に接続することによりプログラミングを完了する
請求項１記載の半導体集積回路。
【請求項３】
上記プログラミング部はメモリセルを含み、異なる電源に接続することによりプログラミングを完了する
請求項１記載の半導体集積回路。
【請求項４】
物理的な大きさの違う回路ブロックの冗長を、同一冗長アドレスを用いて行う
請求項１記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに機能を代替可能な複数のモジュールを有する半導体集積回路に関するものである。
【背景技術】
【０００２】
近年の半導体集積回路では、加工寸法の微細化と回路構成の大規模化が進み、製造上の欠陥による歩留りの低下が深刻化している。そこで、全体の回路の一部に予め冗長な回路を設けておき、欠陥部分をこの冗長な回路に置き換えることによって、半導体チップ全体が不良品とならないようにする手法が提案されている。
【０００３】
たとえば特許文献１に記載されるＦＰＧＡ（field programmable gate array）の論理回路データ生成方法では、故障情報と論理情報から故障回避の必要性を判定し、必要であるなら故障部分の機能を空き部分で代用するように論理情報を変更する。
【０００４】
また、特許文献２に記載される半導体装置では、メモリーマップ型のアドレッシングによって複数の回路モジュール間のデータ転送が行われる。各回路モジュールにＩＤコードが割り当てられており、そのＩＤコードを操作してデータの転送先を制御することにより、故障した回路モジュールを冗長な回路モジュールに置き換える。
【０００５】
また、基本構成単位となる複数の回路セルを組み合わせることによって構成される半導体集積回路としてストラクチャードＡＳＩＣ（Structured ASIC）が知られている。
【０００６】
ストラクチャードＡＳＩＣは、回路の最小構成単位として、ＮＡＮＤ回路のような基本ゲートよりも粒度の粗い構造を持った回路セルを用いるＩＣである。
【０００７】
ストラクチャードＡＳＩＣの基本論理構成単位に関する代表的な論文として、たとえば非特許文献１がある。この論文においては、３入力ルックアップテーブル（look up table、以下「ＬＵＴ」と略記する）とスキャンフリップフロップ、２つの３入力ＮＡＮＤ回路、７つのバッファを用いて基本構成単位が構成されている。スタンダードセル方式との性能比較が検討されており、面積は４０〜６８％程大きくなるものの、遅延についてはほぼ同等の性能を得られることが報告されている。
【０００８】
また、特許文献３には、ＬＵＴの入力にＮＡＮＤ回路を接続した論理セルが提案されている。特許文献４には、２つの３入力ＬＵＴと２入力ＬＵＴ、フリップフロップを用いて構成された論理セルが提案されている。
【０００９】
ストラクチャードＡＳＩＣは、ＦＰＧＡ（field programmable gate array）と異なり、配線の一部を用途に合わせてカスタマイズするマスク・ルーティングにより所望の機能を持った回路を構成することができる。ＦＰＧＡにおける再構成可能な配線構造は非常に無駄が多いが、それをマスク・ルーティングに置き換えることによって、スタンダードセル方式より無駄があるものの、ＦＰＧＡよりは非常に無駄が少ない回路を短期間に開発できるというメリットがある。
【００１０】
【特許文献１】特許第３４９１５７９号明細書
【特許文献２】特許第３１９２２２０号明細書
【非特許文献１】Ｋ．Ｙ．Ｔｏｎｇ  他５名、“Ｒｅｇｕｌａｒ  ｌｏｇｉｃ  ｆａｂｒｉｃｓ  ｆｏｒ  ａ  ｖｉａ  ｐａｔｔｅｒｎｅｄ  ｇａｔｅ  ａｒｒａｙ  （ＶＰＧＡ）”、ＩＥＥＥ  ２００３  ＣＵＳＴＯＭ  ＩＮＴＥＧＲＡＴＥＤ  ＣＩＲＣＵＩＴＳ  ＣＯＮＦＥＲＥＮＣＥ、（米国）、２００３年、ｐ．５３−５６
【特許文献３】米国特許第６２３６２２９号明細書
【特許文献４】米国特許第６５８０２８９号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述した技術には、次に述べるような不利益がある。
【００１２】
特許文献１に記載されるＦＰＧＡでは、論理回路の基本構成単位である基本セルが故障している場合、これを迂回するように配線ルートが変更される。故障回避のための迂回配線は故障の発生状況に応じて様々であり、どのような配線ルートに変更されるかを予測することは難しい。そのため、基本セルのどれが故障しても所望の遅延条件を満たし得るような明確な遅延マージンを設定することが困難であり、遅延特性が著しく悪化する可能性を考慮してかなり大きな遅延マージンを見込んでおく必要がある。
【００１３】
特許文献２に記載される半導体装置では、回路モジュール間のデータ転送距離がどの程度の長さになるかが不良の発生状況に応じて大きく変化する可能性があるため、全ての回路モジュールがお互いに最大限離れた場合を想定して各モジュールの動作を規定する必要がある。したがって、設計の段階においてかなり大きな遅延マージンを見込んでおく必要があり、システム全体の性能を最適化し難い。
【００１４】
また、ＦＰＧＡマクロセルを用いたストラクチャードＡＳＩＣにおいては、セル内にＬＵＴとフリップフロップ（ＦＦ）が同梱されているため、ＬＵＴとＦＦの個数比が、回路アーキテクチャに対して常に最適とはならない。
【００１５】
また、たとえばＬＵＴを「プログラム部」と「デコーダ部」に分けてデコーダ部のみを救済するようにすることも考えられる。
しかし、この場合、プログラム部は、基本的にコンタクトのみなので、実質的にトランジスタ部の救済を目的とした冗長方式であるが、ＬＵＴのプログラム領域が大きくなってくると、プログラムデータ１ビットに対し、セレクタが２つ（トランジスタ数４）となるため、入力数の多いＬＵＴの冗長方式としては不向きである。
【００１６】
本発明は、回路の一部分に欠陥が生じていてもそれを救済して回路全体を正常に動作させることが可能であるとともに、欠陥の救済に伴う信号遅延の変化を小さくすることができることはもとより、入力数の多いＬＵＴの冗長方式に適し、ストラクチャードＡＳＩＣにおいて最適なアーキテクチャを実現することが可能な半導体集積回路を提供することにある。
【課題を解決するための手段】
【００１７】
本発明の観点に係る半導体集積回路は、Ｍ（Ｍは２以上の整数）列の回路部列と、任意の入出力論理を一意に決めるインタフェース部列と、を有し、上記インタフェース部列は、上記回路部列間に配置され、冗長前は、第１側に隣接する回路部列に接続される構造を有し、所定の回路部列に欠陥があると、当該欠陥回路部列が第１側に位置するインタフェース部列から順次に配置されているインタフェース部列は、第２側に隣接する回路部列と接続されるカラムシフト冗長方式によってセル部の配置が行われ、回路部の論理を実現するルックアップテーブル（ＬＵＴ）のプログラミング部で、冗長前後の複数データをプログラミングさせる。
【００１８】
好適には、上記プログラミング部にコンタクトを用い、異なる電源に接続することによりプログラミングを完了する。
【００１９】
好適には、上記プログラミング部はメモリセルを含み、異なる電源に接続することによりプログラミングを完了する。
【００２０】
好適には、物理的な大きさの違う回路ブロックの冗長を、同一冗長アドレスを用いて行う。
【発明の効果】
【００２１】
本発明によれば、入力数の多いＬＵＴの冗長方式に適し、ストラクチャードＡＳＩＣにおいて最適なアーキテクチャを実現することができる。
また、同一入出力部に接続される複数個のモジュールを、当該入出力部との距離の違いが小さくなるように配置することができるため、欠陥の救済等に伴って入出力部とモジュールとの接続を切り替えた場合に生じる信号遅延の変化を小さくすることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態を図面に関連付けて説明する。
本実施形態では、いわゆるカラムシフト冗長方式の基本的な、概念、構成を図１から図５に関連付けて説明した後、本実施形態の特徴であるストラクチャードＡＳＩＣ（Repairable Structured ASIC（RS-ASIC））の構造、配置、具体的な回路構成等について説明する。
【００２３】
図１は、本発明の実施形態に係るカラムシフト冗長方式を採用した半導体集積回路の構成の一例を示す図である。
本実施形態に係る半導体集積回路は、たとえば図１に示すように、モジュールＭ１１〜Ｍ１９，Ｍ２１〜Ｍ２９，Ｍ３１〜Ｍ３９，Ｍ４１〜Ｍ４９と、一般回路ブロック１００と、モジュール選択部５０とを有する。
【００２４】
モジュールＭ１１〜Ｍ１９，Ｍ２１〜Ｍ２９，Ｍ３１〜Ｍ３９，Ｍ４１〜Ｍ４９は、たとえば４行９列の行列状に配列される。ここで、‘ｋ’を１から４までの整数、‘ｎ’を１から９までの整数とすると、モジュールＭｋｎは第ｋ行および第ｎ列に属する。
【００２５】
モジュールＭｋｎは、入力される機能設定データに応じてその機能を設定される回路、すなわちプログラム可能な回路である。
モジュールＭｋｎの回路構成や機能は任意であり、たとえばＤＳＰ（digital signal processor）等の演算・処理機能を持つ回路や、単純な論理演算を行う回路を含んでも良い。後者の回路としては、たとえば、入出力部（後述）から入力される信号の少なくとも一部に応じて、機能設定データの複数のビットデータから１つを選択し、選択したビットデータ若しくはその論理反転データを入出力部へ出力するセレクタＳＥＬ（図２）などでも良い。
【００２６】
また、モジュールＭｋｎは、デジタル回路に限定されるものではなく、機能設定データに応じて機能を設定可能なアナログ回路でも良い。
【００２７】
同一の行に属するモジュールは、入力される機能設定データが同一の場合、互いの機能を代替可能である。すなわち、第ｋ行に属するモジュールＭｋ１〜Ｍｋ９に同一の機能設定データを入力した場合、これらのモジュールの機能は同等になる。
【００２８】
同一の行に属するモジュールＭｋ１〜Ｍｋ９は、全て同一の回路構成を有していても良いし、同じ機能設定データを入力した場合に機能を代替可能であれば、その一部に異なる回路構成を有するモジュールを含んでいても良い。
【００２９】
一般回路ブロック１００は、上述したモジュールＭ１１〜Ｍ１９，Ｍ２１〜Ｍ２９，Ｍ３１〜Ｍ３９，Ｍ４１〜Ｍ４９との間で信号をやり取りするための入出力部Ｐ１１〜Ｐ１８，Ｐ２１〜Ｐ２８，Ｐ３１〜３８，Ｐ４１〜Ｐ４８を有しており、これらのモジュールと共同して所定の処理を実行する。一般回路ブロック１００の回路構成や機能は任意であり、たとえば配線のみでも良い。
【００３０】
入出力部Ｐ１１〜Ｐ１８，Ｐ２１〜Ｐ２８，Ｐ３１〜３８，Ｐ４１〜Ｐ４８は、４行８列の行列状に配列される。ここで、‘ｉ’を１から８までの整数とすると、入出力部Ｐｋｉは第ｋ行および第ｉ列に属する。
【００３１】
入出力部Ｐ１１〜Ｐ１８，Ｐ２１〜Ｐ２８，Ｐ３１〜３８，Ｐ４１〜Ｐ４８の各々は、１つのモジュールに少なくとも１つの信号を出力するとともに、当該１つのモジュールにおいて発生する少なくとも１つの信号を入力する。図１において記号‘Ｉ／Ｏ’は、後述する機能設定データ以外に入出力部とモジュールとの間でやり取りされる信号を示す。
【００３２】
なお、同一の行に属する入出力部Ｐｋ１〜Ｐｋ８は、全てが同一の組合せの信号を入出力しても良いし、異なる組合せの信号を入出力する異なる種類の入出力部を含んでいても良い。
たとえばモジュールＭｋｎが３つの出力端子を有する場合に、この３つの出力端子の全てから信号を入力するものや、１つの出力端子のみから信号を入力するものなどが入出力部Ｐｋ１〜Ｐｋ８の中に混在していても良い。
【００３３】
また、入出力部Ｐｋｉは、上述した機能設定データを保持するデータ保持部ＰＤを有する。データ保持部ＰＤは、たとえばプログラマブルなデバイスにより形成可能である。入出力部Ｐｋｉが、後述するモジュール選択部５０によって１つのモジュールに接続されると、この入出力部Ｐｋｉに設けられたデータ保持部ＰＤは、接続先のモジュールに対して、保持している機能設定データを入力する。
【００３４】
データ保持部ＰＤは、少なくともデータを保持できれば良く、その構成は任意である。
【００３５】
たとえばデータ保持部ＰＤは、ビヤ等の配線を使って構成される固定的なデータを発生する回路でも良い。
この場合、データ保持部ＰＤは、複数の配線ＬＡ（第１配線）と、複数の配線ＬＢ（第２配線）と、複数の配線ＬＣ（第３配線）とを用いて構成することができる。
配線ＬＡは、接続先のモジュールへ機能設定データの各ビットデータを伝送する配線である。
配線ＬＢは、それぞれ所定のビットデータを伝送する配線である。たとえば電源線やグランド線など、一定値のビットデータ（‘１’、‘０’）を伝送する配線や、一般回路ブロック１００に含まれる回路によって任意の値に設定されるビットデータを伝送する配線などが含まれる。
配線ＬＣは、複数の配線ＬＡの各々に複数の配線ＬＢの何れか１つを接続する配線である。
【００３６】
たとえば第１配線ＬＡは、ある１つの金属配線層ＭＬ１に形成され、第２配線ＬＢは、この金属配線層ＭＬ１より上層の金属配線層ＭＬ２に形成される。この場合、第３配線ＬＣは、２つ金属配線層（ＭＬ１，ＭＬ２）の間を貫通するビヤを含む。
【００３７】
このように、配線を用いてデータ保持部ＰＤを構成した場合、データ保持部ＰＤに保持される機能設定データは、半導体集積回路の製造後に変更することができない。
【００３８】
他方、データ保持部ＰＤは、各種のＳＲＡＭ（static random access memory）やＲＯＭ（read only memory）、フリップフロップ、不揮発性メモリなど、記憶データを少なくとも１回書き換えることが可能な記憶素子を用いて構成しても良い。
データ保持部ＰＤに記憶素子を用いた場合、データ保持部ＰＤに保持される機能設定データは、半導体集積回路を製造した後でも書き換えることが可能になる。
【００３９】
図２は、入出力部とモジュールの構成例を示す図である。
入出力部Ｐｋｉに設けられたデータ保持部ＰＤは、たとえば４ビットの機能設定データ（ＦＤ０，…，ＦＤ３）を保持しており、後述のモジュール選択部５０によって接続されたモジュールＭｋｉに、この機能設定データを入力する。また、入出力部Ｐｋｉは、モジュール選択部５０を介して２ビットの信号（ＩＮ０，ＩＮ１）をモジュールＭｋｉに出力するとともに、モジュール選択部５０を介して１ビットの信号（ＯＵＴ）をモジュールＭｋｉから入力する。
モジュールＭｋｉは、たとえばセレクタＳＥＬを有しており、データ保持部ＰＤから入力される機能設定データの各ビットデータ（ＦＤ０，…，ＦＤ３）の中から、信号ＩＮ０，ＩＮ１に応じて１つのビットデータを選択し、これを信号ＯＵＴとして入出力部Ｐｋｉに出力する。
【００４０】
図２の例において、データ保持部ＰＤとセレクタＳＥＬは、２入力１出力のルックアップテーブルを構成している。本実施形態に係る半導体集積回路では、たとえば図２に示すように、ルックアップテーブルの構成要素であるデータ保持部とセレクタを分離し、入出力部の内部にデータ保持部を、モジュールの内部にセレクタをそれぞれ配置している。
このデータ保持部ＰＤとセレクタＳＥＬとは組み合わせ回路を形成する。
【００４１】
モジュール選択部５０は、不図示の制御部から供給される制御信号に応じて、上述した４行９列のモジュールから１列を除いた４行８列のモジュールを選択し、この選択した４行８列のモジュールと上述した４行８列の入出力部とを１対１に接続する。この場合、モジュール選択部５０は、同一の行に属する入出力部の各々に、同一の行に属する２つのモジュールから制御信号に応じて選択した１つのモジュールを接続する。すなわち、モジュール選択部５０は、第ｋ行に属するモジュールＭｋｉ又はモジュールＭｋ（ｉ＋１）の一方を制御信号に応じて選択し、これを第ｋ行の入出力部Ｐｋｉに接続する。
【００４２】
モジュール選択部５０は、たとえば、不図示の制御部から供給される制御信号に応じて、故障したモジュールを含む列（故障したモジュールがない場合は冗長用に設けられた特定の列）を除いた４行８列のモジュールを選択する。
【００４３】
故障したモジュールがない場合は、たとえば図１に示すように、モジュールＭｋｉと入出力部Ｐｋｉとが１対１に接続され、第９列に属するモジュールＭ１９〜Ｍ４９が全ての入出力部から切り離される。以下では、このように故障のモジュールがない通常の状態で入出力部から切り離されるモジュール列を、冗長カラムと呼ぶ場合がある。
【００４４】
図３は、図１に示す半導体集積回路における欠陥救済の一例を示す図であり、モジュールＭ２２が故障している場合における入出力部とモジュールとの接続状態を示す。
モジュールＭ２２が故障している場合、図示しない制御部によって、モジュールＭ２２を含む第２列のモジュールＭ１２〜Ｍ４２と第２列の入出力部Ｐ１２〜Ｐ４２とが切り離される。第２列の入出力部Ｐ１２〜Ｐ４２は、第２列のモジュールＭ１２〜Ｍ４２の代わりに第３列のモジュールＭ１３〜Ｍ４３に接続され、第３列の入出力部Ｐ２１〜Ｐ２２は、第３列のモジュールＭ１３〜Ｍ４３の代わりに第４列のモジュールＭ１４〜Ｍ４４に接続される。このように、各入出力部の接続先が冗長カラム（第９列）の方向へ順にシフトすることにより、４行８列の入出力部は第２列を除く４行８列のモジュールと１対１に接続され、モジュールＭ２２の欠陥が救済される。
【００４５】
図４および図５は、欠陥の救済に伴って機能設定データの入力方向が変化する様子を図解した図であり、図の下側は、図１に示す半導体集積回路の断面の一例を図解している。
欠陥モジュールがない場合（図４）、各入出力部のデータ保持部ＰＤは、図の左隣に位置するモジュールのセレクタＳＥＬに機能設定データを入力する。一方、欠陥モジュールが存在する場合（図５）であり、その欠陥モジュールを含んだ列より右側にある各入出力部のデータ保持部ＰＤは、図の右隣に位置するモジュールのセレクタＳＥＬに機能設定データを入力する。これにより、欠陥モジュールを含んだ列より右側にある各モジュールの機能は、欠陥救済を行う前と比較して、全体的に右側へシフトする。
【００４６】
以上、カラムシフト冗長方式の基本的な概念および構成について説明した。
以下に、本実施形態に係るＬＵＴ（Look Up Table）を用いたランダムロジック回路の生産時に生じる不良を救済する、冗長回路について説明する。
本実施形態においては、基本的に、冗長機能を有するストラクチャードＡＳＩＣにおいて、論理を実現するＬＵＴのプログラミング部で、冗長前後の複数データをプログラミングさせる。
この場合において、プログラミング部にコンタクト（ＶＩＡ）を用い、異なる電源に接続することによりプログラミングを完了するように構成することが可能である。
また、プログラミング部にメモリセルを用い、異なる電源に接続することによりプログラミングを完了するように構成することも可能である。
また、物理的な大きさの違う回路ブロックの冗長を、同一冗長アドレスを用いて実現することが可能である。
以下、これらの構成を図面に関連付けて説明する。
【００４７】
図６は、本実施形態に係る多入力ＬＵＴを用いたストラクチャードＡＳＩＣにおける冗長の基本構成を示す図である。
【００４８】
本実施形態のストラクチャードＡＳＩＣ２００は、図６に示すように、複数ｍ（図６の例ではｍ＝５）のセル部２０１−１〜２０１−５と、一つの冗長セル部２０２とを有する。
冗長セル部２０２は、前述した冗長カラムに相当する。
セル部２０１−１〜２０１−５および冗長セル部２０２は、ランダムロジックを実現するＬＵＴを格子状に並べた構造において、ＬＵＴとＬＵＴ間にＬＵＴへアクセスするためのライトインタフェース２０３−１〜２０３−５に入力・出力ピンＴＩＬ，ＴＩＲ、ＴＯＬ，ＴＯＲが配置されている。
その入出力ピンはスイッチＳＷＩＬ，ＳＷＩＲ、ＳＷＯＬ，ＳＷＯＲを介し、両側ＬＵＴの入出力ポートへ接続される。
【００４９】
製造されたチップにおいて、不良が無い状態である場合、前述の場合と同様に、図７に示すように、すべてのスイッチＳＷＩＬ，ＳＷＩＲ、ＳＷＯＬ，ＳＷＯＲは、左右どちらか一方に接続され（図７では入出力ピンから見て左側）、図中の右端にあるＬＵＴブロック（図中右側）の冗長セル部２０２は、不使用となる。
【００５０】
次に、製造されたチップに救済可能な不良が存在した場合、たとえば図８に示すように、図中右から３番目の回路ブロックに不良があった場合、左から３番目までのセル部２０１−１〜２０１−３のインタフェース部列を形成するライトインタフェース２０３−１〜２０３−３の入出力ピンＴＩ，ＴＯは図７の場合と同様、初期状態と同じように左側のＬＵＴと接続されるように冗長スイッチがコントロールされる。
しかし、左から４番目のブロックに不良があるとした場合、左から４番目の入出力ピンを左から４番目のブロックに接続すると回路動作不良を起こすため、冗長コントロール回路により左から４番目の入出力ピンＴＩＬ、ＴＯＬの左への接続関係を解消し、右入出力ピンＴＩＲ，ＴＯＲに接続する。
そのため、４番目のブロック以降のブロックは右方向のＬＵＴと接続することにより、不良部位に対するアクセスを禁止する。
【００５１】
次に、冗長対象となる回路ブロックの物理的な大きさが違う場合について説明する。
図９に示すように、ＬＵＴとフリップフロップＦＦとの関係のように、大きさの違う複数の回路ブロックが冗長対象となった場合、上記で説明したＬＵＴのみの冗長方法と全く同じ仕組みで冗長を実現することができる。
たとえば、図９の例においてＬＵＴのサイズがＦＦの4倍の大きさだったとする。この場合、冗長をコントロールするアドレスにおいて、ＦＦはアドレスの全ビット、ＬＵＴは下位の２ビットを除いたアドレスでコントロールする。すると、ＬＵＴがシフトするポイントは、ＦＦの４アドレスシフト毎となる。
【００５２】
次に、プログラミング部にメモリセルを用い、異なる電源に接続することによりプログラミングを完了するようにした構成について説明する。
【００５３】
図１０は、本実施形態に係るＬＵＴのプログラミング部をメモリ回路で構成した一例を示す図である。
【００５４】
メモリ回路３００は、図１０に示すように、メモリセルＭＣがマトリクス状に配列されたメモリセルアレイ３１０、複数のセンスアンプ３２１を含むセンスアンプ群３２０、ローデコーダ３３０、ワード線切り替えスイッチ３４１−１〜３４１−ｎを含むスイッチ群３４０、およびカラムセレクタ３５０を有している。なお、図１０においては、カラムデコーダは省略してある。
【００５５】
メモリセルＭＣは、たとえば図１１に示すように、ｐチャネルＭＯＳ（ＰＭＯＳ）ＰＴ１，ＰＴ２，およびｎチャネルＭＯＳ（ＮＭＯＳ）ＮＴ１，ＮＴ２を含むＳＲＡＭセルにより構成され、２つの記憶ノードＮＤ１，ＮＤ２がそれぞれ各カラムに対応して配線されたビット対ＢＬ０，ＢＬＢ０、ＢＬ１，ＢＬＢ１、・・・にＮＭＯＳトランジスタからなるアクセストランジスタＡＣＴを介して接続されている。
そして、同一行に配置されたアクセストランジスタＡＣＴは、ワード線ＷＬ０，ＷＲ０、ＷＬ１，ＷＲ１、ＷＬ２，ＷＲ２、ＷＬ３，ＷＲ３・・・に接続されている。
互いに隣接する行のメモリセルＭＣに接続されるアクセストランジスタＡＣＴは、ワード線切り替えスイッチ３４１−０〜３４１−ｎにより選択的に切り替えられる。換言すれば、左側ワード線ＷＬと右側ワード線ＷＲとは、スイッチ３４１−０〜３４１−ｎにより選択的にローデコーダ３３０と接続されて駆動される。
【００５６】
この場合、図中の「ＭＣ１」は、冗長シフト回路で左側を選択した場合にアクセスされるメモリセル（上記例では、冗長救済前）、「ＭＣ２」は、冗長シフト回路で右側を選択した場合にアクセスされるメモリセル（上記例では、冗長救済後）となる。
メモリセルＭＣ１には入出力ピンから見て左側を選択した場合に必要なデータを記憶させ、メモリセルＭＣ２には右側から選択した場合のデータを記憶させる。
【００５７】
図１２は、本実施形態に係るＬＵＴのプログラミング部をメモリ回路で構成した他例を示す図である。
【００５８】
この例は、図１３に示すような、メモリセルとしてコンタクトタイプのものを用いた場合である。
この例では、各セルの２つのアクセストランジスタＡＣＴＬ１のソースがコンタクトを介してビット線ＢＬに接続され、ドレイン側がたとえばオープンとしてある（あるいは電源に接続される）。ＡＣＴＬ２のドレインがコンタクトを介してビット線ＢＬＢに接続され、ソース側が基準電位（たとえば接地電位）ＧＮＤに接続され、両トランジスタＡＣＴＬ１，ＡＣＴＬ２のゲートがＷＬに接続されている。
また、図中右側に隣接する各セルの２つのアクセストランジスタＡＣＴＲ１のソースがビット線ＢＬに接続され、ドレイン側がコンタクトを介して接地電位ＧＮＤに接続されている。ＡＣＴＲ２のドレインがビット線ＢＬＢに接続され、ソース側がたとえばオープンとしてある（あるいは電源に接続される）。両トランジスタＡＣＴＲ１，ＡＣＴＲ２のゲートがＷＲに接続されている。
【００５９】
以上の構成を採用してたとえば６入力ＬＵＴを構成した場合、採用せずに３入力ＬＵＴの構成に比較して面積の増大を抑えることができる。
したがって、本実施形態の入力数の多いＬＵＴを用いたストラクチャードＡＳＩＣにおける冗長方式に最適である。
【００６０】
また、以上説明したように、図１に示す半導体集積回路によれば、４行９列のモジュールから１列を除いた４行８列のモジュールが選択され、この選択された４行８列のモジュールと４行８列の入出力部とが１対１に接続される。また、同一の行に属する入出力部の各々に、同一の行に属する２つのモジュールから選択された１つのモジュールが接続される。
これにより、同一の入出力部Ｐｋｉに接続される２つのモジュール（Ｍｋｉ、Ｍｋ（ｉ＋１））を、入出力部Ｐｋｉとの距離の違いが小さくなるように配置することが可能になる。たとえば図１に示すように、各行の８つの入出力部（Ｐｋ１〜Ｐｋ８）を等しい間隔で配列することにより、入出力部Ｐｋｉとの距離が互いに等しくなるように２つのモジュール（Ｍｋｉ、Ｍｋ（ｉ＋１））を配置することができる。
入出力部とモジュールとの距離の違いを小さくすることによって、両者を接続する配線長の違いを小さくすることができる。したがって、欠陥の救済に伴ってモジュールと入出力部との接続を切り替えた場合に生じる信号遅延の変化を小さくすることができる。
【００６１】
また、モジュールＭｋｉおよびＭｋ（ｉ＋１）と入出力部Ｐｋｉとの位置関係に基づいて、欠陥救済による信号遅延の変化がどの程度になるかを正確に予測することができるため、たとえば先に述べた特許文献１のように正確な予測が難しい場合に比べて、遅延マージンを小さく見積もることが可能になる。これにより、高速に動作する回路を実現できる。
【００６２】
さらに、図１に示す半導体集積回路によれば、１つの入出力部に２つのモジュールの一方を選択して接続する簡易な回路構成によって欠陥の救済を行うことができるため、回路の増加や余分な消費電力の発生を最小限に抑えることができる。
接続の切替えに用いるスイッチ回路や制御部、欠陥情報を保持するための記憶部には、従来の一般的な方法によって設計、製造可能な回路を用いることができるため、欠陥救済機能を設けることによるコストの増大を微小に抑えることができる。
【００６３】
また、図１に示す半導体集積回路によれば、各入出力部に機能設定データを保持するデータ保持部ＰＤが設けられており、このデータ保持部ＰＤに保持される機能設定データがモジュール選択部を介して各モジュールに入力される。各モジュールの機能は、入力される機能設定データに応じて設定される。
これにより、一の入出力部に接続されるモジュールが欠陥救済のために切り替えられても、当該一の入出力部に接続されるモジュールを、そのデータ保持部ＰＤに保持される機能設定データに応じた一定の機能に設定することができる。
【００６４】
欠陥救済に伴って入出力部とモジュールとの接続を切り替えた場合、各モジュールの機能は、接続先の入出力部に合わせて変更する必要がある。そのため、もし、データ保持部ＰＤがモジュールの内部に設けられていると、欠陥救済を行った場合には、データ保持部ＰＤの機能設定データを接続先の入出力部に合わせて書き換えなくてはならない。これを実現するには、たとえば、データ保持部ＰＤを書換え可能な記憶素子で構成する方法や、モジュールの欠陥を検査した後に電子線ビーム装置などによってデータ保持部ＰＤの配線を固定する方法などが考えられる。
しかしながら、書換え可能な記憶素子を用いてデータ保持部ＰＤを構成する方法では、ビヤ等によって配線を固定する方法に比べて回路構成が大幅に複雑化し、回路面積の増大や故障率の上昇を招くという不利益がある。また、電子線ビーム装置などによってデータ保持部ＰＤの配線を固定する方法では、従来の一般的な製造ラインを利用できなくなる不利益や、製造効率が低下するという不利益がある。
これに対し、図１に示す半導体集積回路によれば、入出力部とモジュールとの接続を切り替えても、データ保持部ＰＤに保持される機能設定データを一切変更する必要がないため、データ保持部ＰＤを固定の配線によって構成することができる。したがって、書換え可能な記憶素子を用いる方法や、電子線ビーム装置等を用いて配線を固定する方法における上述した不利益を回避することができる。
【００６５】
更に、一般回路ブロック１００には、欠陥の救済を行うために回路を付加する必要が全くないため、従来の回路をそのまま使用することが可能になり、欠陥救済機能を設けることによる設計の負担を軽減できる。
【００６６】
また、モジュールを規則的に配置する構造によって、配線の間隔や素子の特性等を最適化し易くなるため、モジュールをランダムに配置する構造に比べて回路面積の増大や回路特性のばらつきを抑制することができる。
【００６７】
しかも、図１に示す半導体集積回路によれば、入出力部とモジュールとの接続状態を列ごとに一括して制御することができるため、個々のモジュールについて入出力部との接続状態を独立に制御する場合に比べて制御信号の数を大幅に減らすことが可能であり、制御部の回路構成を簡易化することができる。
【００６８】
また、故障を検査する場合には、列ごとに故障の有無を検査すれば良いため、１つ１つのモジュールを検査する場合に比べて検査時間を短縮することができる。
【００６９】
更には、半導体集積回路の内部にヒューズ等の記憶素子を利用して故障モジュールの情報を書き込む場合には、列ごとに故障の有無の情報を書き込めば良いため、情報量が少なくなり、書き込み処理に要する時間を短縮することができる。
【００７０】
なお、本実施形態に係る半導体集積回路では、故障したモジュールが存在する場合に、これと同じ列に属する全てのモジュールが入出力部から切り離されるため、正常なモジュールも無駄になってしまう。そのため、故障の発生確率が高い場合には、無駄になるモジュールの数が多くなる傾向がある。しかしながら、故障の発生確率があまり高くない場合や、比較的小規模のモジュールを大量に有する場合には、個々のモジュールについて接続状態の制御を行う方式に比べて、同一の歩留りを達成するために必要な回路面積を抑えることができる。
【００７１】
また、図１に示す半導体集積回路においては、同一行の入出力部（Ｐｋ１〜Ｐｋ８）が直線上に配列されているが、これらはたとえば曲線や蛇行した線の上に配列されても良いし、ジグザグに配列されても良い。どのような線上であっても、入出力部Ｐｋ１〜Ｐｋ８が等しい間隔で配列されていれば、入出力部Ｐｋｉとの距離が互いに等しくなるように２つのモジュール（Ｍｋｉ、Ｍｋ（ｉ＋１））を配置することが可能である。
【００７２】
上述した実施形態ではモジュールや入出力部を行列状に配列しているが、本発明はこれに限定されない。たとえば、上述した行列における行の数を１つにしても良い。この場合、モジュールや入出力部は１本の直線に沿って配列しても良いし、曲線や蛇行線などの任意の線に沿って配列しても良いし、あるいはジグザグ状に配列しても良い。
【００７３】
上述した半導体集積回路は、その全てを同一の半導体チップに形成しても良いし、たとえばＳＩＰ（system in package）などの技術を用いることによって複数の半導体チップに分けて形成しても良い。
【図面の簡単な説明】
【００７４】
【図１】実施形態に係る半導体集積回路の構成の一例を示す図である。
【図２】入出力部とモジュールの構成例を示す図である。
【図３】図１に示す半導体集積回路における欠陥救済の一例を示す図である。
【図４】欠陥の救済に伴って機能設定データの入力方向が変化する様子を説明するための第１の図である。
【図５】欠陥の救済に伴って機能設定データの入力方向が変化する様子を説明するための第２の図である。
【図６】本実施形態に係る多入力ＬＵＴを用いたストラクチャードＡＳＩＣにおける冗長の基本構成を示す図である。
【図７】図６の各セル部に不良（欠陥）がない場合の配線のレイアウト例を示す図である。
【図８】図６のセル部に不良（欠陥）がある場合を示す図である。
【図９】冗長対象となる回路ブロックの物理的な大きさが違う場合について説明するための図である。
【図１０】本実施形態に係るＬＵＴのプログラミング部をメモリ回路で構成した一例を示す図である。
【図１１】ＳＲＡＭセルの構成例を示す図である。
【図１２】本実施形態に係るＬＵＴのプログラミング部をメモリ回路で構成した他例を示す図である。
【図１３】コンタクト型メモリセルの構成例を示す図である。
【符号の説明】
【００７５】
５０・・・モジュール選択部、１００・・・一般回路ブロック、ＰＤ・・・データ保持部、ＳＥＬ・・・セレクタ、Ｍ１１〜Ｍ１９，Ｍ２１〜Ｍ２９，Ｍ３１〜Ｍ３９，Ｍ４１〜Ｍ４９・・・モジュール、Ｐ１１〜Ｐ１８，Ｐ２１〜Ｐ２８，Ｐ３１〜３８，Ｐ４１〜Ｐ４８…入出力部、２００・・・ストラクチャードＡＳＩＣ、２０１−１〜２０１−５・・・セル部、２０２・・・冗長セル部、３００，３００Ａ・・・メモリ回路、３１０・・・メモリセルアレイ、３２０・・・センスアンプセンスアンプ群、３３０・・・ローデコーダ、３４０・・・スイッチ群、３５０・・・カラムセレクタ。
【図１】
2009038105.tif 000003
【図２】
2009038105.tif 000004
【図３】
2009038105.tif 000005
【図４】
2009038105.tif 000006
【図５】
2009038105.tif 000007
【図６】
2009038105.tif 000008
【図７】
2009038105.tif 000009
【図８】
2009038105.tif 000010
【図９】
2009038105.tif 000011
【図１０】
2009038105.tif 000012
【図１１】
2009038105.tif 000013
【図１２】
2009038105.tif 000014
【図１３】
2009038105.tif 000015