JP3865789B2 - インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長回路 - Google Patents
インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長回路 Download PDFInfo
- Publication number
- JP3865789B2 JP3865789B2 JP55057098A JP55057098A JP3865789B2 JP 3865789 B2 JP3865789 B2 JP 3865789B2 JP 55057098 A JP55057098 A JP 55057098A JP 55057098 A JP55057098 A JP 55057098A JP 3865789 B2 JP3865789 B2 JP 3865789B2
- Authority
- JP
- Japan
- Prior art keywords
- logic
- column
- circuit
- programmable logic
- programmable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/17764—Structural details of configuration resources for reliability
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Description
発明の背景
本発明は、プログラマブル論理装置に関し、具体的には、欠陥を含むプログラマブル論理装置を回復するための冗長回路に関する。
プログラマブル論理装置は、カスタム論理機能を実行するようにプログラムされ得る集積回路である。集積回路製造技術は完全でないため、時折、プログラマブル論理装置は、欠陥を有して製造され得る。論理装置が使用される前に欠陥を回復することができなければ、その論理装置は廃棄されなければならない。そのような装置の廃棄は、欠陥が比較的重大でない場合には特に、不経済である。従って、回路の欠陥部を回復するようにスペア回路が切り換えられて配置されることを可能にする様々な冗長機構が開発されてきた。
所定の論理装置アーキテクチャのための適切な冗長機構を実現する難しさは、アーキテクチャの属性に依存する。例えば、インタリーブされたマルチプレクサ回路を用いて信号を論理アレイブロックに分配するプログラマブル論理装置に冗長を提供することに関連する難しさがある。そのような構成では、隣接する論理アレイブロックが信号経路付け資源を共有するため、1つの論理アレイブロックに欠陥が発生すると、隣接するその他の欠陥のない論理アレイブロックに影響を及ぼし得る。欠陥が検出されると、影響を受けたこれらの論理アレイブロックの両方が置き換えられる冗長機構を用いることが可能であり得るが、そのような機構は、少なくとも1つの欠陥のない論理アレイブロックのバイパスを必然的に伴う。論理資源をより効率的に用いる冗長機構が望ましい。
従って、本発明の目的は、インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長構成を提供することである。
発明の要旨
本発明の上記およびその他の目的は、インタリーブされた入力マルチプレクサ回路を用いて信号を隣接する論理領域に分配するプログラマブル論理装置のための冗長回路を提供することにより、本発明の原理に従って達成される。プログラマブル論理装置は、論理領域の少なくとも1つの行を有し、且つ、多数の列を有する。各列は、インタリーブされた入力マルチプレクサの1つと、論理領域の1つとを含む。論理領域間で信号を伝えるために、論理領域の行に関連する導体の組が用いられる。
インタリーブされた入力マルチプレクサ回路の各々は、論理信号を、行の導体から2つの隣接する論理領域に分配する。信号が分配される論理領域の一方は、インタリーブされた入力マルチプレクサ回路と同じ列にある。信号が分配される他方の論理領域は、隣接する列にある。
各列には、その列のインタリーブされた入力マルチプレクサおよび論理領域をバイパスするためのバイパス回路が設けられる。装置の製造中、装置はテストされ、列のいずれかが欠陥回路を含むかどうかが判定される。列に欠陥が検出されると、製造者は、装置の使用中にその列をバイパスするようにバイパス回路を構成することにより、装置を回復することができる。
プログラマブル論理装置のプログラミング中、ユーザは、装置上の様々な論理コンポーネントに所望の論理機能を実行するよう指示するプログラミングデータを、装置に供給する。回路の列が欠陥を含んでいれば、製造者により以前に構成された回路は、本来その列のために意図されたプログラミングデータを、隣接する列にシフトする。本来この隣接する列、および、行の論理のそれに続く各列のために意図されたプログラミングデータもまた、シフトされる。
論理の様々な列のプログラミングデータが、欠陥列のバイパスを受け入れるためにシフトされているとき、通常の論理の最後の列からシフトされたプログラミングデータを受け取るために、行の終わりには、論理のスペア列が設けられる。スペア論理は、欠陥列がバイパスされるときに失われる論理を埋め合わせる。従って、装置が欠陥検出後に回復されるのか、元々装置に欠陥が無かったのかに拘わらず、同じ数の論理領域が用いられる。
論理領域からの出力は、プログラミングドライバを用いて導体に付与される。各列に関連するドライバは、典型的には、導体への独自の接続パターンを形成する。欠陥の回復中にプログラミングデータが次の列にシフトされると、ドライバに関連するプログラミングデータもまた、次の列にシフトされる。1つの構成では、プログラマブル論理装置は、プログラミングデータ再方向付け回路を用いて、ドライバについてのシフトされたプログラミングデータを、本来の列のドライバに戻すよう向け直す。別の構成では、各列に、補助ドライバが設けられる。各列の補助ドライバは、前の列の通常のドライバにより形成される導体への接続パターンと同じ接続パターンを形成する。欠陥を含む列が回復されるとき、その後の列の補助ドライバが通常ドライバの代わりに用いられ、これらのその後の列の論理領域の出力が、プログラミングデータがシフトされていなかったら向けられていたであろう行き先と同じ行き先に向けられることを確実にする。
論理領域は、好ましくはプログラマブル論理アレイブロックであり、プログラマブル論理アレイブロックの各々は、4入力ルックアップテーブルに基づくかまたは積項論理に基づく複数のプログラマブル論理素子を含む。
論理アレイブロックの2つの組が、行に設けられてもよい。このタイプの構成では、単一のスペア論理アレイブロックが、行の中心に設けられ得る。これにより、冗長に関連する間接費が削減される。なぜなら、行の論理アレイブロックの2つの組が、スペア論理アレイブロックを共有できるからである。
本発明の別の特徴、本発明の本質および様々な利点は、添付の図面と、好適な実施形態についての以下の詳細な説明とからより明らかになる。
【図面の簡単な説明】
図1は、本発明による冗長構成を備える例示的なプログラマブル論理装置の部分の回路図である。
図2は、図1に示されるタイプのプログラマブル論理装置の部分のより詳細な回路図である。
図3は、インタリーブされた入力マルチプレクサ回路をより詳細に示す、図2のプログラマブル論理装置の部分の回路図である。
図4は、本発明のプログラマブル論理装置の様々な部分にプログラミングデータを経路付けするために用いられる回路を示す回路図である。
図5は、本発明によるプログラマブル論理装置において、論理アレイブロックと水平方向の導体との間に作られる出力ドライバ接続を示す回路図である。
図6は、本発明による冗長の提供に関連する間接費を削減するための構成を示す回路図である。
図7は、本発明の冗長回路を有するプログラマブル論理装置が用いられ得るデータ処理システムの図である。
好適な実施形態の詳細な説明
プログラマブル論理装置は、カスタム論理機能を実行するようにユーザにより再構成または「プログラム」され得る論理を含む集積回路である。プログラマブル論理装置は、その最も基本的なレベルでは、プログラマブルスイッチまたはコネクタに基づく。そのようなプログラマブルコンポーネントは、ランダムアクセスメモリ、リードオンリメモリ、消去可能なプログラマブルリードオンリメモリ、電気的に消去可能なプログラマブルリードオンリメモリ、ヒューズ、アンチヒューズ、強誘電エレメント、またはその他の適切なプログラマブルコンポーネント技術を用い得る。
冗長即ちスペア回路を含むプログラマブル論理装置は、欠陥があると判定される回路の部分を回復するために、製造者により、製造プロセス中に構成され得る。
本発明による冗長構成を有するプログラマブル論理装置集積回路が、図1に示される。プログラマブル論理装置10は、好ましくは、論理アレイブロック12の1つ以上の行を有するが、本発明の原理は、いかなる適切なタイプのプログラマブル論理領域を含むプログラマブル論理装置にも適用可能である。行の論理アレイブロック12は、水平方向の導体14により相互接続される。論理アレイブロック12の1つよりも多い行が望まれる場合、行間で論理信号を伝えるために、適切な垂直方向の導体および関連するプログラマブル経路付け回路(図示せず)が用いられ得る。図面を過度に複雑にするのを避けるために、図1には、論理アレイブロック12の単一の行しか示されていない。さらに、図1には、論理装置10のすべてのコンポーネントが示されているわけではない。例えば、図1には、装置10の入出力回路の詳細は示されていない。
各論理アレイブロック12は、好ましくは、多数のプログラマブル論理素子16を含む。プログラマブル論理装置10における論理素子16およびその他のプログラマブル論理回路は、様々な論理機能を実行するようにユーザによりプログラムされ得る。論理素子16は、ルックアップテーブル論理、積項論理、または、その他のいかなる適切なタイプのプログラマブル論理にも基づき得る。望ましい場合には、論理素子16は、様々な論理信号を登録する(registering)ためのレジスタ論理を含んでいてもよい。
プログラマブル論理装置10は、多数の列を有し、各列は、論理アレイブロック12と、インタリーブされた入力マルチプレクサ回路18とを含む。インタリーブされたマルチプレクサ回路18は、水平方向の導体14からの論理信号を論理アレイブロック12に分配するために用いられる。インタリーブされた入力マルチプレクサ回路18の各々は、導体20を介して、2つの隣接する論理アレイブロック12に信号を分配する。信号が分配されるアレイブロック12の一方は、インタリーブされた入力マルチプレクサ回路18と同じ列にある。信号が分配される他方の論理アレイブロック12は、隣接する列にある。導体14および導体20のような導体は、図1では一本の線として示されているが、そのような線の各々は、典型的には、多数の平行な信号導体を表す。
装置10の各行には、好ましくは、少なくとも1つのスペア論理アレイブロック12と、少なくとも1つのスペアのインタリーブされた入力マルチプレクサ回路18とがある。論理アレイブロック12の行内でのそのようなスペア回路の場所は、決定的に重要であるわけではない。例えば、スペア回路は、行のいずれかの端部に配置されてもよく、望ましい場合には、行の中心に配置されてもよい。
製造プロセス中、装置10は、製造者によりテストされる。論理アレイブロック12の1つまたはインタリーブされた入力マルチプレクサ回路18の1つに欠陥があれば、装置10は、スペア回路を用いて欠陥列の論理アレイブロック12およびインタリーブされた入力マルチプレクサ回路18を置き換えることにより、回復され得る。
欠陥回路の置き換えは、典型的には、本来欠陥回路の入力に提供されるものであった論理信号が、欠陥回路に隣接する、影響を受けていない回路に向け直されるように装置を構成することを伴う。例えば、論理アレイブロック12aと、インタリーブされた入力マルチプレクサ回路18aとを含む列(列N−1)に欠陥があると判定されると、通常であれば論理アレイブロック12aの入力20aに提供されていたであろう信号を、列Nの論理アレイブロック12bの入力20bに向け直すために、その列に関連するバイパス回路22aが用いられ得る。列Nのバイパス回路22b、列N+1のバイパス回路22c、およびその他の列のバイパス回路は使用されない。
行の各論理アレイブロック12は、典型的には、異なるドライバパターンを用いて、その行の水平方向の導体14への出力接続を作る。従って、欠陥回路の置き換えはまた、回路に欠陥が無ければ出力が水平方向の導体14に接続されていたであろう方法と同じ方法で、回復された行の論理アレイブロックの出力が水平方向の導体14に接続されるように、論理アレイブロックの幾つかからの出力を向け直すことを伴う。これは、各論理アレイブロックからの出力信号が、回路が欠陥を含んでいなければ向けられていたであろう行き先と同じ行き先に向けられることを確実にする。従って、回復された回路は、欠陥のない回路と同一の態様で動作する。
例えば、列N−1の論理アレイブロック12aまたはインタリーブされた入力マルチプレクサ回路18aに欠陥があると判定されると、出力26bの信号をドライバ経路28aに戻るよう向け直すために、出力再方向付け(redirecting)回路24aが用いられ得る。これは、欠陥がなければ出力26aを導体14に接続するために用いられていたであろうドライバ接続パターンと同じドライバ接続パターンが、出力26bを導体14に接続するために用いられることを可能にするため、この構成は、論理アレイブロック12aまたはインタリーブされた入力マルチプレクサ回路18aに欠陥がなければ論理アレイブロック12aからの出力信号が向けられていたであろう行き先と同じ行き先に、論理アレイブロック12bからの出力信号が向けられることを確実にする。
論理アレイブロック12bの出力26bがドライバ経路28aに向け直されるため、出力26cは、出力再方向付け回路24bにより、ドライバ経路28bに向け直されなければならない。論理アレイブロック12cよりも左側にある連続する列の論理アレイブロック12の出力は、同様の出力再方向付け回路24を用いて、出力信号を、そのすぐ右側にある前の列の出力ドライバにシフトする。
望ましい場合、回路の本来の出力ドライバパターンは、その他の出力再方向付け回路構成を用いた欠陥回路の置き換えの間、保たれ得る。例えば、出力再方向付け回路構成は、通常のドライバ経路28の回路の代わりに用いられ得る補助ドライバ経路28’を有し得る。補助ドライバ経路28’の各々は、同じドライバパターンを用いて、関連する論理アレイブロック出力を、前の列の通常のドライバ経路28により用いられる導体14に接続する。
欠陥回路が見つからなければ、各論理アレイブロックは、関連する通常のドライバ経路28を用いて、導体14に接続される。列が欠陥を含むと判定されると、欠陥列よりも右側にある論理アレイブロック12は、通常のドライバ経路28を用いて導体14に接続され、欠陥列よりも左側にある論理アレイブロック12は、補助ドライバ経路28’を用いて導体14に接続される。例えば、論理アレイブロック12aに欠陥があれば、論理アレイブロック12aよりも右側にある各論理アレイブロック12の出力は、それぞれの通常のドライバ経路28を用いて、導体14に接続される。しかし、論理アレイブロック12bと、論理アレイブロック12bよりも左側にある各論理アレイブロック12との出力は、補助ドライバ経路28’を用いて、導体14に接続される。
図2は、図1に示されるタイプのプログラマブル論理装置の部分のより詳細な回路図である。図2に示されるプログラマブル論理装置30の部分は、水平方向の導体34により相互接続される論理素子32の多数の列と、単一の行とを有する。各列の多数のそのような論理素子32は、好ましくは一緒にグループ分けされて、図1に示されるように、各列の論理アレイブロックを形成する。このレベルの詳細は、図面を過度に複雑にするのを避けるために、図2には示されていない。プログラマブル論理装置30はまた、好ましくは、そのような論理アレイブロックの多数の行を含み、各行は、同じタイプの論理素子構成を含む。他の行の論理アレイブロックは、水平方向の導体34の様々な行間で信号を経路付けするために、垂直方向の導体(図示せず)を用いて、図2に示される論理素子32の行を含む論理アレイブロックの行と相互接続され得る。図2に示される論理素子32の行には、論理素子32は4つしかないが、論理装置30は、いかなる適切な数の論理素子32を有していてもよい。
論理素子32は、積項論理(product term logic)またはルックアップテーブル論理、などのいかなる適切なタイプの論理に基づいていてもよく、望ましい場合には、レジスタ論理を含んでいてもよい。論理素子32は、いかなる適切な数の入力および出力を有していてもよい。図2の例示的構成では、論理素子32は、入力A、B、CおよびDを有する。これらの入力は、例えば、標準の4入力ルックアップテーブル回路への入力であってもよい。図2の論理素子32の各々は、L出力およびG出力を有する。これらの出力は、標準のルックアップテーブル回路からの出力であってもよい。
水平方向の導体34からの信号は、プログラマブルマルチプレクサ38および局所的な垂直方向の導体40により、入力マルチプレクサ回路36に提供される。入力マルチプレクサ回路36は、好ましくは、所定の論理アレイブロックのすべての論理素子32を通過して延びる。プログラマブルマルチプレクサ38は、選択された水平方向の導体34を局所的な垂直方向の導体40に接続するように、装置30のユーザによりプログラムされ得る。局所的な水平方向の導体42は、入力マルチプレクサ回路36からの信号を論理素子32に向けるために用いられる。
入力マルチプレクサ回路36と論理素子32との例示的な組が、図3に、より詳細に示される。図3に示されるように、各入力マルチプレクサ回路36に関連する4本の局所的な垂直方向の導体40上の信号は、プログラマブルコネクタ43により、交差する局所的な水平方向の導体42に選択的に経路付けされ得る。プログラマブルコネクタ43の動作は、記憶セル45中のデータにより制御される。
各マルチプレクサ47は、その入力に接続された4本の水平方向の導体42の1本を、論理素子32の入力に向ける。各プログラマブルマルチプレクサ38は、好ましくは、多数の個々のプログラマブルコネクタ49から形成される。
図2の示された実施形態では、論理素子32の列は4つある。論理素子32b、32cおよび32dは、通常の論理素子である。論理素子32aは、スペア即ち冗長論理素子32である。製造プロセス中、装置30は、欠陥の有無についてテストされる。装置30に欠陥がないと判定されれば、スペア論理素子32aは使用される必要がない。列に欠陥があれば、その列の論理をバイパスすることにより、この欠陥がバイパスされ得る。さらに、バイパスされた列(即ち、バイパスされた論理素子)において失われた回路を置き換えるために、スペア論理素子32aの回路がシフトされて配置され得る。
各論理素子32は、4つの関連する入力マルチプレクサ回路36からの信号を受け取り得る。例えば、論理素子32cは、(論理素子32cのAおよびC入力に接続された局所的な水平方向の導体42aを介して)入力マルチプレクサ回路36eおよび36fと、(マルチプレクサ44で論理素子32cのBおよびD入力に接続された局所的な水平方向の導体42b’を介して)入力マルチプレクサ回路36gおよび36hとからの信号を受け取り得る。
隣接する入力マルチプレクサ回路36は、局所的な水平方向の導体42の共通の組を共有するため、互いにインタリーブされる。例えば、入力マルチプレクサ回路36eは、入力マルチプレクサ回路36fとインタリーブされる。なぜなら、入力マルチプレクサ36eを通過する局所的な水平方向の導体42が、入力マルチプレクサ36fも通過するからである。
局所的な水平方向の導体42aは、入力マルチプレクサ回路36からの信号を、直接論理素子入力AおよびCに供給する。局所的な水平方向の導体42bは、入力マルチプレクサ回路36からの信号を、バイパスマルチプレクサ44を介して、論理素子入力BおよびDに供給する。
製造プロセス中、装置30はテストされ、装置30が欠陥回路を含んでいるかどうかが判定される。テストにより、装置30に欠陥がないことが示されると、バイパスは必要とされない。従って、バイパスマルチプレクサ44は、バイパスマルチプレクサ44の入力に直接接続される局所的な水平方向の導体42bからの信号を、マルチプレクサ出力46を介して、論理素子入力BおよびDに送るように構成される。テストにより、装置30が、列の論理素子32または入力マルチプレクサ回路36の1つに欠陥を含むことが示されると、製造者は、その列の欠陥論理がバイパスされるように、適切なバイパスマルチプレクサ44を構成する。
例えば、列2の論理素子32cまたはインタリーブされた入力マルチプレクサ回路36eもしくは36fに欠陥が検出されると、バイパスマルチプレクサ44’は、局所的な水平方向の導体42b’からの信号を、出力46’を介して列2の論理素子32cのBおよびD入力に経路付けするのではなく、バイパス導体48を介して列3の論理素子32bのBおよびD入力に経路付けするように構成され得る。
プログラミングデータを装置30の論理に供給する経路は、好ましくは、ユーザが装置30をプログラムするときに用いるプログラミングデータが、装置のプログラミング中に適切な論理に経路付けされるように、製造者により構成される。例えば、インタリーブされた入力マルチプレクサ回路36eおよび36fが用いられていれば、これらの回路36eおよび36fに関連するプログラマブルマルチプレクサ38’に用いられていたであろうプログラミングデータは、プログラマブルマルチプレクサ38”に向けられる。論理素子32cを構成するために用いられていたであろうプログラミングデータは、論理素子32bに提供される。列2のインタリーブされた入力マルチプレクサ36eおよび36fの局所的な垂直方向の導体40’と局所的な水平方向の導体42aおよび42b”との間のプログラム可能な接続のパターンを確立するために用いられていたであろうプログラミングデータは、列3のインタリーブされた入力マルチプレクサ回路36cおよび36dに提供される。
欠陥論理回路がバイパスされる場合になされる別の変更は、導体34に提供される論理素子出力信号の経路に関する。欠陥回路がない場合、各論理素子32に関連する出力マルチプレクサ50は、その論理素子32のLおよびG出力を、直接水平方向の導体34に向ける。例えば、マルチプレクサ50’は、論理素子32cのLおよびG出力を、ドライバ52’および経路54’を介して、水平方向の導体34に向け、マルチプレクサ50”は、論理素子32bのLおよびG出力を、ドライバ52”および経路54”を介して、水平方向の導体34に向ける。装置30が欠陥回路を含んでいると判定されると、マルチプレクサ50は、欠陥回路が無かった場合に用いられたドライバパターンと同じドライバパターンを用いて出力信号が水平方向の導体34に向けられるように構成される。
例えば、列2の論理素子32cまたはインタリーブされた入力マルチプレクサ回路36eもしくは36fに欠陥が検出されると、マルチプレクサ50’および経路58’は、列3の論理素子32bからの出力信号を、列2のバイパスされた論理素子32cに関連するドライバ52’に向け直すために用いられる。同様に、マルチプレクサ50”は、冗長即ちスペア列のスペア論理素子32aからの出力を、本来列3の論理素子32bに関連していたドライバ52”に戻すように向ける。この構成は、欠陥回路をスペア回路と置き換える間に装置30上の回路の幾らかが再構成される場合であっても、ドライバ52の各組に関連する経路54と水平方向の導体34との間の接続56のパターンが保たれることを可能にする。
ドライバ接続56の各組は、典型的には、水平方向の導体34の異なるパターンを駆動する。従って、用いられるドライバ接続56のパターンを保つことは、所定の論理素子32の論理素子出力信号がそれらの意図された行き先に到達することを確実にする。
ドライバ54は、好ましくは、オン状態またはオフ状態のいずれかにプログラム可能である。望ましい場合、各ドライバ54は、1本よりも多い導体34を駆動し得る。隣接する列の欠陥のない論理素子32および欠陥のない入力マルチプレクサにシフトされる、欠陥列の論理素子32および入力マルチプレクサ36のプログラミングデータとは異なり、欠陥列のドライバのプログラミングデータは、結局はシフトされない。これは、図4に示される。
図4のプログラミング構成は、プログラミング記憶セル60の多数の垂直方向のチェーンを有する。記憶セル60にロードされるプログラミングデータは、セル60が関連するプログラマブル論理を構成する。セル60の各列は、図2の装置30の論理素子32、入力マルチプレクサ回路36、およびプログラマブルマルチプレクサ38の異なる列に関連する。例えば、図4のセル60の冗長列は、図2の冗長論理素子32aに関連し得、セル60の列3は、論理素子32bに関連し得、セル60の列2は、論理素子32cに関連し得、そして、セル60の列1は、論理素子32dに関連し得る。
装置をプログラムするために、入力ライン62に供給されたプログラミングデータは、シリアルにクロックされてデータレジスタ64に送られる。欠陥回路が検出されなければ、マルチプレクサ68は、列1、2および3のプログラミングデータをデータレジスタ66b、66cおよび66dにシフトするように構成される。レジスタ66b、66cおよび66dのプログラミングデータは、クロックされ、それぞれ列3、2および1のセル60の垂直方向のチェーンに送られる。
欠陥回路が(例えば、列2に)検出されると、マルチプレクサ68は、通常であれば列2〜列3のセル60の垂直方向のチェーンを下方向に移動していたであろうプログラミングデータと、通常であれば列3のセル60の垂直方向のチェーンを下方向に移動していたであろうプログラミングデータとを、冗長即ちスペア列にシフトするように構成される。列1のプログラミングデータは、影響を受けない。
論理素子32、入力マルチプレクサ回路36、およびプログラマブルマルチプレクサ38のプログラミングデータをシフトすることは、本来は欠陥があることが分かった回路により実行されるべきである論理機能が、欠陥のない回路により実行されることを可能にする。図2のマルチプレクサ構成は、装置の使用中に、シフトされた各論理素子の出力信号を本来の列に戻すように向け直して、本来のドライバが用いられるようにする。これは、これらのドライバのプログラミングデータが、装置のプログラミング中に、シフトされた列にとどまるのではなく、欠陥回路を含む本来の列に戻るようにシフトされることを必要とする。
図4に示されるように、装置の様々なコンポーネントのプログラミングデータは、シリアルにロードされる。例えば、論理アレイブロックの行のドライバのプログラミングデータはすべて、その行の論理素子、入力マルチプレクサ回路、およびプログラマブルマルチプレクサ38のプログラミングデータをロードする前に、ロードされ得る。シフト用マルチプレクサ70は、ドライバプログラミングデータを、欠陥の検出前にそのデータが本来用いられるべきであった行に戻すように選択的に向け直すために用いられる。例えば、列2が欠陥回路を含む場合、本来列2のドライバのために意図されたプログラミングデータは、シフトされた列2のプログラミングデータの残りとともに、マルチプレクサ68’により列3にシフトされるが、経路72およびマルチプレクサ70’を介して、列2および適切なセル60’に戻すように向け直される。
プログラミングデータは、セル60の各列の頂部からシリアルにロードされるため、列2のドライバのプログラミングデータを列3から列2に戻すように向け直すようにマルチプレクサ70’を構成すると、マルチプレクサ70’を通過するその他すべてのプログラミングデータは、そのデータが列3の回路のものであっても、列2に向けられる。従って、マルチプレクサ70により列2に戻されるプログラミングデータが、列3に戻されることを確実にして、列3に関連するプログラマブル論理が正しくプログラムされるようにするために、マルチプレクサ74’が用いられる。その他のマルチプレクサ70および74はまた、ドライバおよびその他の回路コンポーネントのプログラミングデータを、装置30をプログラムするために適切なセルに向けるように構成される。
論理の各列が、欠陥論理領域の回復中に論理がシフトされる場合にはいつでも使用され得る補助ドライバの組(auxiliary set of drivers)を備える場合、ドライバ52のプログラミングデータは、その本来の列に戻されるように経路付けし直される必要はない。このタイプの1つの適切な構成が、図5に示される。図5に示されるように、論理素子76のLおよびG出力は、通常のドライバ80または補助ドライバ82のいずれかを介して、水平方向の導体78に接続され得る。列が欠陥を持たなければ、その列の論理素子76の出力は、通常のドライバ80を介して、水平方向の導体78に提供される。
例えば、列2の論理に欠陥がなければ、論理素子76aのLおよびG出力は、通常のドライバ80と接続84および86とを介して、水平方向の導体78に付与される。列2に欠陥があれば、通常は論理素子76aの論理により実行される論理機能が、論理素子76bにより実行される。これは、本来列2の論理のために意図されるプログラミングデータが装置のプログラミング中に列3にシフトされるように装置を構成することにより、達成される。列2で用いられていたであろう出力ドライバ接続パターンと同じ出力ドライバ接続パターンを列3に保持するために、論理素子76bのLおよびG出力は、補助ドライバ82と接続88および90とを介して、水平方向の導体78に付与される。
各列に関連する補助ドライバ82は、水平方向の導体78への接続について、前の列(即ち、右側の次の列)に関連する通常のドライバ80と同じ接続を作る。例えば、列3のLおよびG出力についての補助ドライバ82に関連する接続である接続88および90は、列2のLおよびG出力についての通常のドライバ80に関連する接続である接続84および86と同じ水平方向の導体に接続される。列2が欠陥を含む場合、列1の論理素子76が通常のドライバ80を使用し、列2の論理素子は使用されない。列3および冗長列の論理素子は、補助ドライバ82を用いる。
図2に示されるように、入力マルチプレクサ回路36aおよび36jは、「エンドキャップ」である。エンドキャップは、装置30のレイアウトに対称性を与え、且つ、ソフトウェアの適合の潜在的な問題点を低減することにより装置30のプログラミングを容易にする活性入力マルチプレクサ回路である。入力マルチプレクサ回路36aは、論理素子32aの反対側に配置される入力マルチプレクサ回路36dのバランスをとることにより対称性を与え、そして、入力マルチプレクサ回路36jは、論理素子32dの反対側に配置される入力マルチプレクサ回路36gのバランスをとることにより対称性を与える。
エンドキャップに隣接する入力マルチプレクサに欠陥が検出されると、プログラミングデータは、論理素子の行の中央で欠陥が検出された場合とは幾らか異なる態様でシフトされる。具体的には、3つのコンポーネント(1つの論理素子および2つの入力マルチプレクサ回路)のプログラミングデータではなく、4つの論理コンポーネント(1つの論理素子および3つの入力マルチプレクサ回路)のプログラミングデータがシフトされる。例えば、図2の装置30の入力マルチプレクサ回路36iで欠陥が検出されると、以下に示す論理の領域のプログラミングデータがシフトされる。入力マルチプレクサ回路36i(入力マルチプレクサ回路36gにシフトされる)、論理素子32d(論理素子32cにシフトされる)、入力マルチプレクサ回路36h(入力マルチプレクサ36fにシフトされる)、および、入力マルチプレクサ回路36g(入力マルチプレクサ回路36eにシフトされる)。この切り換え構成は、入力マルチプレクサ回路36iに関連するプログラミングデータだけをシフトすることと等価である。
ある特定の状況では、スペア回路を設けることに関連する間接費を削減することが望ましい可能性がある。図6に示されるように、プログラマブル論理アレイ装置92は、論理領域94のアレイを含み、各論理領域94は、論理アレイブロックの2つのグループ(GOL)96を有する。各GOL96は、論理アレイブロック98の2つの組を含む。スペア論理アレイブロック100は、各論理領域94において、行ごとに論理アレイブロック98の2つの組の中心に設けられ得る。図2に示される冗長機構などの冗長機構は、スペア論理アレイブロック100を用いて論理領域94を回復するために用いられ得る。スペア論理アレイブロック100が中心に配置されるため、論理アレイブロック98の2つの組を含む各行には、そのようなスペア論理アレイブロック100を2つ設けるのではなく、単一のスペア論理アレイブロック100を設けるだけでよく、それにより間接費を削減する。
上記構成は、典型的には、より大型のシステムの部分にされるプログラマブル論理装置において用いられる。図7は、デジタルデータ処理システム104において用いられる、本発明の冗長回路を含むプログラマブル論理装置102を示す。データ処理システム104は、プロセッサ106、メモリ108、I/O回路110、および周辺ドライバ112、というコンポーネントの1つ以上を含み得る。これらのコンポーネントは、システムバス114により互いに結合され、システム104に含まれる回路板116にある。
システム104は、コンピュータネットワーキング、データネットワーキング、計装(instrumentation)、ビデオ処理、デジタル信号処理、または、プログラマブル論理を使用する利点が望ましいその他の任意の応用、などの幅広い範囲の様々な応用において用いられ得る。プログラマブル論理装置102は、様々な異なる論理機能を実行するために用いられ得る。例えば、プログラマブル論理装置102は、プロセッサ106と協働して作業するプロセッサまたはコントローラとして構成されてもよい。プログラマブル論理装置102はまた、システム104内の共有資源へのアクセスを調停するためのアービタとして用いられてもよい。さらに別の実施例では、プログラマブル論理装置102は、プロセッサ106と、システム104内のその他のコンポーネントの1つとの間のインタフェースとして構成されてもよい。
本発明のプログラマブル論理装置の様々なコンポーネント間に作られるプログラム可能な接続は、幅広い範囲の様々な方法のいずれで実現されてもよい。例えば、プログラム可能な接続の各々は、幾つかの入力のいずれかを出力に接続するための1つまたは複数のスイッチ、などの比較的単純なプログラマブルコネクタであってもよい。そのような接続の各々は、ランダムアクセスメモリセル、などのメモリセルを用いて構成され得る。あるいは、プログラマブルコネクタは、(例えば、入力の幾つかを論理的に組み合わせることにより)論理を実行することができるとともに、接続を作ることができる、幾らかより複雑なエレメントであってもよい。例えば、プログラム可能な接続の各々は、AND、NAND、ORまたはNOR、などの機能を実現する積項論理を用いてもよい。プログラム可能な接続を実現するのに適したコンポーネントの例としては、消去可能なプログラマブルリードオンリメモリ(EPROM)、電気的に消去可能なプログラマブルリードオンリメモリ(EEPROM)、パストランジスタ、伝送ゲート、アンチヒューズ、レーザヒューズ、任意の金属リンク、などがある。これらのプログラマブルコンポーネントは、プログラマブルコンポーネントおよび様々なプログラマブル論理回路を制御するために用いられる構成データを格納する様々なプログラマブル機能制御エレメントまたはメモリセルにより制御され得る。適切な機能制御エレメントの例としては、スタティックランダムアクセスメモリ(SRAM)セル、ダイナミックランダムアクセスメモリ(DRAM)セル、ファーストインファーストアウトセル、EPROM、EEPROM、機能制御レジスタ(例えば、Wahlstromの米国特許第3,473,160号に記載のもの)、強誘電メモリ、ヒューズ、アンチヒューズ、などがある。上記の様々な例から、本発明が、一回限りのプログラマブル装置および再プログラム可能な装置の両方に適用可能であることが分かる。
上記説明は、単に本発明の原理の例示であり、本発明の範囲および精神から逸脱することなく、当業者により様々な改変がなされ得る。
Claims (18)
- 装置が欠陥を含んでいると製造者が判断した場合に回復され得るプログラマブル論理装置であって、
行に配列される、複数の通常のプログラマブル論理領域および少なくとも1つのスペアプログラマブル論理領域と、
該論理領域の行に関連する複数の導体と、
複数のインタリーブされた入力マルチプレクサ回路と、を含み、該複数のインタリーブされた入力マルチプレクサ回路の各々は、該行の2つの隣接する論理領域の間に接続され、且つ、該導体からの信号を該2つの論理領域に分配し、該プログラマブル論理装置は、複数の列を有し、該列の各々は、該インタリーブされた入力マルチプレクサ回路の1つと、該論理領域の1つとを含み、
各々がそれぞれの列に関連する複数のバイパス回路であって、製造者が該列に欠陥があると判断すると、該列の該インタリーブされた入力マルチプレクサ回路および該論理領域を選択的にバイパスするための複数のバイパス回路をさらに含み、該スペアプログラマブル論理領域は、欠陥があるときに、該バイパスされた論理領域において失われた回路を置き換えるために用いられる、プログラマブル論理装置。 - 前記列の1つに欠陥があるとき、前記論理領域および前記インタリーブされた入力マルチプレクサのプログラミングデータを、欠陥を含まない列にシフトするためのプログラミングデータシフト回路をさらに含む、請求項1に記載のプログラマブル論理装置。
- 各列に通常の出力ドライバの組(normal set of output drivers)をさらに含み、該通常の出力ドライバの組は、該列の前記論理領域に関連し、該論理領域からの出力信号を前記導体に提供する、請求項2に記載のプログラマブル論理装置。
- 各列に関連する出力再方向付け回路をさらに含み、該出力再方向付け回路は、各論理領域からの出力信号を、(1)該論理領域で用いられる前記プログラミングデータが前記プログラミングデータシフト回路によりシフトされていない場合には、該論理領域と同じ列にある前記通常のドライバに向け、または、(2)該論理領域で用いられる該プログラミングデータが該プログラミングデータシフト回路により隣接する列からシフトされている場合には、該隣接する列にある該通常のドライバに向ける出力再方向付け回路をさらに含む、請求項3に記載のプログラマブル論理装置。
- 各列に補助出力ドライバの組をさらに含み、該補助出力ドライバの組は、該列の前記論理領域に関連し、隣接する列の通常のドライバに用いられる前記導体への接続パターンと同じ接続パターンを用いて、該論理領域からの出力信号を該導体に提供し、
出力再方向付け回路をさらに含み、該出力再方向付け回路は、各列に関連し、各列の前記論理領域からの出力信号を、(1)該論理領域で用いられるプログラミングデータが前記プログラミングデータシフト回路によりシフトされていない場合には、該列の通常のドライバを用い、または、(2)該論理領域で用いられる該プログラミングデータが該プログラミングデータシフト回路により隣接する列からシフトされている場合には、該列の該補助ドライバを用いて、該導体に向ける、請求項2に記載のプログラマブル論理装置。 - 各列に関連し、各列の前記論理領域からの出力信号を前記導体に提供するためのドライバと、
欠陥を含む列に関連する前記ドライバのプログラミングデータが、前記プログラミングデータシフト回路により別の列にシフトされた後、該プログラミングデータを該列に戻すように向け直すためのプログラミングデータ再方向付け回路と、をさらに含む、請求項2に記載のプログラマブル論理装置。 - 前記インタリーブされた入力マルチプレクサ回路の各々が、2つの入力マルチプレクサ回路を含み、前記プログラマブル論理装置が、それぞれの該入力マルチプレクサ回路にそれぞれ関連する複数のプログラマブルマルチプレクサをさらに含む、請求項1に記載のプログラマブル論理装置。
- 前記入力マルチプレクサ回路の各々が、
前記プログラマブルマルチプレクサにより前記導体に接続される複数の局所的な垂直方向の導体と、
該局所的な垂直方向の導体に選択的に接続される複数の局所的な水平方向の導体と、
該複数の局所的な水平方向の導体の1つを、隣接する論理領域の1つに選択的に接続する少なくとも1つのマルチプレクサと、を含む、請求項7に記載のプログラマブル論理装置。 - 前記バイパス回路が、各列に少なくとも1つのバイパスマルチプレクサを含み、該バイパスマルチプレクサは、同じ列の前記インタリーブされた入力マルチプレクサからの信号を受け入れる1つの入力と、前の列の該インタリーブされた入力マルチプレクサからの信号を受け入れる別の入力と、を有し、該バイパスマルチプレクサの該出力が、次の列の前記論理領域に提供される、請求項1に記載のプログラマブル論理装置。
- 前記論理領域が論理素子を含む、請求項1に記載のプログラマブル論理装置。
- 各々が同じ複数の導体に関連する論理素子の複数の行をさらに含む、請求項10に記載のプログラマブル論理装置。
- 前記論理領域が、論理アレイブロックを含み、該論理アレイブロックの各々が、複数の論理素子を含む、請求項1に記載のプログラマブル論理装置。
- 前記論理アレイブロックの複数の行と、
前記導体の複数の組と、をさらに含み、該導体の各組が、該論理アレイブロックのそれぞれの行に関連する、請求項12に記載のプログラマブル論理装置。 - 前記論理領域が、論理アレイブロックを含み、該論理アレイブロックの各々が、複数の論理素子を含み、前記プログラマブル論理装置が、
行に配置される該論理アレイブロックの2つの組と、
該行の中心に配置され、欠陥回路を回復する際に該論理アレイブロックの組のいずれかにより用いられるスペア論理アレイブロックと、をさらに含む、請求項1に記載のプログラマブル論理装置。 - デジタル処理システムであって、
プロセッサと、
該プロセッサに結合されるメモリと、
該プロセッサおよび該メモリに結合されるプログラマブル論理装置と、を含み、該プログラマブル論理装置は、該プログラマブル論理装置が欠陥を含んでいると製造者が判断した場合に回復可能であり、該プログラマブル論理装置は、
行に配列される、複数の通常のプログラマブル論理領域および少なくとも1つのスペアプログラマブル論理領域と、
該論理領域の行に関連する複数の導体と、
複数のインタリーブされた入力マルチプレクサ回路と、を有し、該複数のインタリーブされた入力マルチプレクサ回路の各々は、該行の2つの隣接する論理領域の間に接続され、且つ、該導体からの信号を該2つの論理領域に分配し、該プログラマブル論理装置は、複数の列を有し、該列の各々は、該インタリーブされた入力マルチプレクサ回路の1つと、該論理領域の1つとを含み、
各々がそれぞれの列に関連する複数のバイパス回路であって、製造者が該列に欠陥があると判断すると、該列の該インタリーブされた入力マルチプレクサ回路および該論理領域を選択的にバイパスするための複数のバイパス回路をさらに含み、該スペアプログラマブル論理領域は、欠陥があるときに、該バイパスされた論理領域において失われた回路を置き換えるために用いられる、デジタル処理システム。 - 前記メモリ、前記プロセッサ、および前記プログラマブル論理装置が装着される回路板をさらに含む、請求項15に記載のデジタル処理システム。
- 前記プログラマブル論理装置、前記プロセッサ、および前記メモリに結合される入出力回路をさらに含む、請求項15に記載のデジタル処理システム。
- 前記プログラマブル論理装置、前記プロセッサ、および前記メモリに結合される周辺ドライバをさらに含む、請求項15に記載のデジタル処理システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US4761097P | 1997-05-23 | 1997-05-23 | |
US60/047,610 | 1997-05-23 | ||
PCT/US1998/010301 WO1998053401A1 (en) | 1997-05-23 | 1998-05-20 | Redundancy circuitry for programmable logic devices with interleaved input circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001526866A JP2001526866A (ja) | 2001-12-18 |
JP3865789B2 true JP3865789B2 (ja) | 2007-01-10 |
Family
ID=21949943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55057098A Expired - Fee Related JP3865789B2 (ja) | 1997-05-23 | 1998-05-20 | インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長回路 |
Country Status (5)
Country | Link |
---|---|
US (3) | US6107820A (ja) |
EP (1) | EP0983549B1 (ja) |
JP (1) | JP3865789B2 (ja) |
DE (1) | DE69802927T2 (ja) |
WO (1) | WO1998053401A1 (ja) |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3865789B2 (ja) * | 1997-05-23 | 2007-01-10 | アルテラ コーポレイション | インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長回路 |
US6126451A (en) * | 1997-06-02 | 2000-10-03 | Compaq Computer Corporation | SCSI connector |
US6084427A (en) | 1998-05-19 | 2000-07-04 | Altera Corporation | Programmable logic devices with enhanced multiplexing capabilities |
EP1162747B1 (en) | 2000-04-26 | 2012-02-29 | Altera Corporation | Line segmentation in programmable logic devices having redundancy circuitry |
NZ508052A (en) * | 2000-11-09 | 2003-06-30 | Derek Ward | Programmable controller |
EP1227385A3 (en) * | 2001-01-24 | 2005-11-23 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit |
US6965249B2 (en) * | 2001-10-15 | 2005-11-15 | Altera Corporation | Programmable logic device with redundant circuitry |
US6803782B2 (en) * | 2002-03-21 | 2004-10-12 | John Conrad Koob | Arrayed processing element redundancy architecture |
FR2846491B1 (fr) * | 2002-10-25 | 2005-08-12 | Atmel Corp | Architecture comprenant des cellules de remplacement pour reparer des erreurs de conception dans des circuits integres apres fabrication |
US7111213B1 (en) | 2002-12-10 | 2006-09-19 | Altera Corporation | Failure isolation and repair techniques for integrated circuits |
US7062685B1 (en) | 2002-12-11 | 2006-06-13 | Altera Corporation | Techniques for providing early failure warning of a programmable circuit |
US7024327B1 (en) | 2002-12-18 | 2006-04-04 | Altera Corporation | Techniques for automatically generating tests for programmable circuits |
US7058534B1 (en) | 2003-03-19 | 2006-06-06 | Altera Corporation | Method and apparatus for application specific test of PLDs |
US7215140B1 (en) | 2003-05-30 | 2007-05-08 | Altera Corporation | Programmable logic device having regions of non-repairable circuitry within an array of repairable circuitry and associated configuration hardware and method |
US6879207B1 (en) * | 2003-12-18 | 2005-04-12 | Nvidia Corporation | Defect tolerant redundancy |
US7180324B2 (en) | 2004-05-28 | 2007-02-20 | Altera Corporation | Redundancy structures and methods in a programmable logic device |
EP1632825B1 (en) * | 2004-09-03 | 2008-10-29 | Derek Ward | Improvements in or relating to programmable logic controller and related electronic devices |
US7277346B1 (en) | 2004-12-14 | 2007-10-02 | Altera Corporation | Method and system for hard failure repairs in the field |
US7265573B1 (en) | 2004-12-18 | 2007-09-04 | Altera Corporation | Methods and structures for protecting programming data for a programmable logic device |
US7256612B1 (en) | 2005-06-14 | 2007-08-14 | Xilinx, Inc. | Programmable logic block providing carry chain with programmable initialization values |
US7375552B1 (en) | 2005-06-14 | 2008-05-20 | Xilinx, Inc. | Programmable logic block with dedicated and selectable lookup table outputs coupled to general interconnect structure |
US7253658B1 (en) | 2005-06-14 | 2007-08-07 | Xilinx, Inc. | Integrated circuit providing direct access to multi-directional interconnect lines in a general interconnect structure |
US7268587B1 (en) | 2005-06-14 | 2007-09-11 | Xilinx, Inc. | Programmable logic block with carry chains providing lookahead functions of different lengths |
US7276934B1 (en) | 2005-06-14 | 2007-10-02 | Xilinx, Inc. | Integrated circuit with programmable routing structure including diagonal interconnect lines |
US7265576B1 (en) | 2005-06-14 | 2007-09-04 | Xilinx, Inc. | Programmable lookup table with dual input and output terminals in RAM mode |
US7202698B1 (en) * | 2005-06-14 | 2007-04-10 | Xilinx, Inc. | Integrated circuit having a programmable input structure with bounce capability |
US7804719B1 (en) | 2005-06-14 | 2010-09-28 | Xilinx, Inc. | Programmable logic block having reduced output delay during RAM write processes when programmed to function in RAM mode |
US7274214B1 (en) | 2005-06-14 | 2007-09-25 | Xilinx, Inc. | Efficient tile layout for a programmable logic device |
JP4552803B2 (ja) * | 2005-08-10 | 2010-09-29 | ソニー株式会社 | 半導体集積回路 |
US8620980B1 (en) | 2005-09-27 | 2013-12-31 | Altera Corporation | Programmable device with specialized multiplier blocks |
US7644385B1 (en) | 2005-11-07 | 2010-01-05 | Altera Corporation | Programmable logic device with performance variation compensation |
US8266199B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8301681B1 (en) | 2006-02-09 | 2012-10-30 | Altera Corporation | Specialized processing block for programmable logic device |
US8041759B1 (en) | 2006-02-09 | 2011-10-18 | Altera Corporation | Specialized processing block for programmable logic device |
US8266198B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US7836117B1 (en) | 2006-04-07 | 2010-11-16 | Altera Corporation | Specialized processing block for programmable logic device |
US7212032B1 (en) * | 2006-04-25 | 2007-05-01 | Altera Corporation | Method and apparatus for monitoring yield of integrated circuits |
US7408380B1 (en) * | 2006-05-16 | 2008-08-05 | Xilinx, Inc. | Method and apparatus for a redundant transceiver architecture |
US7822799B1 (en) | 2006-06-26 | 2010-10-26 | Altera Corporation | Adder-rounder circuitry for specialized processing block in programmable logic device |
US8386550B1 (en) | 2006-09-20 | 2013-02-26 | Altera Corporation | Method for configuring a finite impulse response filter in a programmable logic device |
US8386553B1 (en) | 2006-12-05 | 2013-02-26 | Altera Corporation | Large multiplier for programmable logic device |
US7930336B2 (en) | 2006-12-05 | 2011-04-19 | Altera Corporation | Large multiplier for programmable logic device |
US7814137B1 (en) | 2007-01-09 | 2010-10-12 | Altera Corporation | Combined interpolation and decimation filter for programmable logic device |
US8650231B1 (en) | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable device |
US7865541B1 (en) | 2007-01-22 | 2011-01-04 | Altera Corporation | Configuring floating point operations in a programmable logic device |
US8645450B1 (en) | 2007-03-02 | 2014-02-04 | Altera Corporation | Multiplier-accumulator circuitry and methods |
US7724031B2 (en) * | 2007-03-21 | 2010-05-25 | Altera Corporation | Staggered logic array block architecture |
US7995067B2 (en) * | 2007-03-29 | 2011-08-09 | Mobileye Technologies Limited | Cyclical image buffer |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8111577B2 (en) | 2007-04-17 | 2012-02-07 | Cypress Semiconductor Corporation | System comprising a state-monitoring memory element |
US20080263319A1 (en) * | 2007-04-17 | 2008-10-23 | Cypress Semiconductor Corporation | Universal digital block with integrated arithmetic logic unit |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
EP2147337B1 (en) * | 2007-05-17 | 2018-04-04 | Octio Geophysical AS | Apparatus and method for collecting geophysical information |
US7949699B1 (en) | 2007-08-30 | 2011-05-24 | Altera Corporation | Implementation of decimation filter in integrated circuit device using ram-based data storage |
US7589552B1 (en) | 2007-10-23 | 2009-09-15 | Altera Corporation | Integrated circuit with redundancy |
US8959137B1 (en) | 2008-02-20 | 2015-02-17 | Altera Corporation | Implementing large multipliers in a programmable integrated circuit device |
US8244789B1 (en) | 2008-03-14 | 2012-08-14 | Altera Corporation | Normalization of floating point operations in a programmable integrated circuit device |
US8626815B1 (en) | 2008-07-14 | 2014-01-07 | Altera Corporation | Configuring a programmable integrated circuit device to perform matrix multiplication |
US8255448B1 (en) | 2008-10-02 | 2012-08-28 | Altera Corporation | Implementing division in a programmable integrated circuit device |
US8307023B1 (en) | 2008-10-10 | 2012-11-06 | Altera Corporation | DSP block for implementing large multiplier on a programmable integrated circuit device |
US8886696B1 (en) | 2009-03-03 | 2014-11-11 | Altera Corporation | Digital signal processing circuitry with redundancy and ability to support larger multipliers |
US8549055B2 (en) | 2009-03-03 | 2013-10-01 | Altera Corporation | Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry |
US8805916B2 (en) | 2009-03-03 | 2014-08-12 | Altera Corporation | Digital signal processing circuitry with redundancy and bidirectional data paths |
US8706790B1 (en) | 2009-03-03 | 2014-04-22 | Altera Corporation | Implementing mixed-precision floating-point operations in a programmable integrated circuit device |
US8468192B1 (en) | 2009-03-03 | 2013-06-18 | Altera Corporation | Implementing multipliers in a programmable integrated circuit device |
US8645449B1 (en) | 2009-03-03 | 2014-02-04 | Altera Corporation | Combined floating point adder and subtractor |
US8650236B1 (en) | 2009-08-04 | 2014-02-11 | Altera Corporation | High-rate interpolation or decimation filter in integrated circuit device |
US8396914B1 (en) | 2009-09-11 | 2013-03-12 | Altera Corporation | Matrix decomposition in an integrated circuit device |
US8412756B1 (en) | 2009-09-11 | 2013-04-02 | Altera Corporation | Multi-operand floating point operations in a programmable integrated circuit device |
US8539016B1 (en) | 2010-02-09 | 2013-09-17 | Altera Corporation | QR decomposition in an integrated circuit device |
US7948267B1 (en) | 2010-02-09 | 2011-05-24 | Altera Corporation | Efficient rounding circuits and methods in configurable integrated circuit devices |
US8601044B2 (en) | 2010-03-02 | 2013-12-03 | Altera Corporation | Discrete Fourier Transform in an integrated circuit device |
US8458243B1 (en) | 2010-03-03 | 2013-06-04 | Altera Corporation | Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering |
US7902855B1 (en) | 2010-03-03 | 2011-03-08 | Altera Corporation | Repairable IO in an integrated circuit |
US8484265B1 (en) | 2010-03-04 | 2013-07-09 | Altera Corporation | Angular range reduction in an integrated circuit device |
US8510354B1 (en) | 2010-03-12 | 2013-08-13 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8539014B2 (en) | 2010-03-25 | 2013-09-17 | Altera Corporation | Solving linear matrices in an integrated circuit device |
US8862650B2 (en) | 2010-06-25 | 2014-10-14 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8589463B2 (en) | 2010-06-25 | 2013-11-19 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8577951B1 (en) | 2010-08-19 | 2013-11-05 | Altera Corporation | Matrix operations in an integrated circuit device |
US8645451B2 (en) | 2011-03-10 | 2014-02-04 | Altera Corporation | Double-clocked specialized processing block in an integrated circuit device |
US9600278B1 (en) | 2011-05-09 | 2017-03-21 | Altera Corporation | Programmable device using fixed and configurable logic to implement recursive trees |
US8812576B1 (en) | 2011-09-12 | 2014-08-19 | Altera Corporation | QR decomposition in an integrated circuit device |
US8949298B1 (en) | 2011-09-16 | 2015-02-03 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US9053045B1 (en) | 2011-09-16 | 2015-06-09 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
KR101209824B1 (ko) | 2011-10-12 | 2012-12-07 | 고려대학교 산학협력단 | 블록 인터리빙 장치 |
US8762443B1 (en) | 2011-11-15 | 2014-06-24 | Altera Corporation | Matrix operations in an integrated circuit device |
US9236864B1 (en) | 2012-01-17 | 2016-01-12 | Altera Corporation | Stacked integrated circuit with redundancy in die-to-die interconnects |
US8543634B1 (en) | 2012-03-30 | 2013-09-24 | Altera Corporation | Specialized processing block for programmable integrated circuit device |
US9098332B1 (en) | 2012-06-01 | 2015-08-04 | Altera Corporation | Specialized processing block with fixed- and floating-point structures |
US8996600B1 (en) | 2012-08-03 | 2015-03-31 | Altera Corporation | Specialized processing block for implementing floating-point multiplier with subnormal operation support |
US8704548B1 (en) | 2012-10-19 | 2014-04-22 | Altera Corporation | Methods and apparatus for building bus interconnection networks using programmable interconnection resources |
US8860460B1 (en) * | 2012-11-05 | 2014-10-14 | Altera Corporation | Programmable integrated circuits with redundant circuitry |
US9207909B1 (en) | 2012-11-26 | 2015-12-08 | Altera Corporation | Polynomial calculations optimized for programmable integrated circuit device structures |
US9189200B1 (en) | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
US9348795B1 (en) | 2013-07-03 | 2016-05-24 | Altera Corporation | Programmable device using fixed and configurable logic to implement floating-point rounding |
US9030227B1 (en) | 2013-08-20 | 2015-05-12 | Altera Corporation | Methods and apparatus for providing redundancy on multi-chip devices |
US9379687B1 (en) | 2014-01-14 | 2016-06-28 | Altera Corporation | Pipelined systolic finite impulse response filter |
US9684488B2 (en) | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
KR102557310B1 (ko) * | 2016-08-09 | 2023-07-20 | 에스케이하이닉스 주식회사 | 반도체 장치 |
US10942706B2 (en) | 2017-05-05 | 2021-03-09 | Intel Corporation | Implementation of floating-point trigonometric functions in an integrated circuit device |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US33521A (en) * | 1861-10-22 | Improved apparatus for heating air for blast-furnaces | ||
US3566153A (en) * | 1969-04-30 | 1971-02-23 | Texas Instruments Inc | Programmable sequential logic |
US3805039A (en) * | 1972-11-30 | 1974-04-16 | Raytheon Co | High reliability system employing subelement redundancy |
US3995261A (en) * | 1975-02-24 | 1976-11-30 | Stanford Research Institute | Reconfigurable memory |
US4020469A (en) * | 1975-04-09 | 1977-04-26 | Frank Manning | Programmable arrays |
US4051354A (en) * | 1975-07-03 | 1977-09-27 | Texas Instruments Incorporated | Fault-tolerant cell addressable array |
US4124899A (en) * | 1977-05-23 | 1978-11-07 | Monolithic Memories, Inc. | Programmable array logic circuit |
DE3015992A1 (de) * | 1980-04-25 | 1981-11-05 | Ibm Deutschland Gmbh, 7000 Stuttgart | Programmierbare logische anordnung |
US4538247A (en) * | 1983-01-14 | 1985-08-27 | Fairchild Research Center | Redundant rows in integrated circuit memories |
US4566102A (en) * | 1983-04-18 | 1986-01-21 | International Business Machines Corporation | Parallel-shift error reconfiguration |
JPS6093700A (ja) * | 1983-10-26 | 1985-05-25 | Hitachi Ltd | ライン切換回路およびそれを用いた半導体記憶装置 |
US4551814A (en) * | 1983-12-12 | 1985-11-05 | Aerojet-General Corporation | Functionally redundant logic network architectures |
US4774421A (en) * | 1984-05-03 | 1988-09-27 | Altera Corporation | Programmable logic array device using EPROM technology |
US4713792A (en) * | 1985-06-06 | 1987-12-15 | Altera Corporation | Programmable macrocell using eprom or eeprom transistors for architecture control in programmable logic circuits |
US4617479B1 (en) * | 1984-05-03 | 1993-09-21 | Altera Semiconductor Corp. | Programmable logic array device using eprom technology |
US4609986A (en) * | 1984-06-14 | 1986-09-02 | Altera Corporation | Programmable logic array device using EPROM technology |
US4598388A (en) * | 1985-01-22 | 1986-07-01 | Texas Instruments Incorporated | Semiconductor memory with redundant column circuitry |
US4706216A (en) * | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US4677318A (en) * | 1985-04-12 | 1987-06-30 | Altera Corporation | Programmable logic storage element for programmable logic devices |
US4722084A (en) * | 1985-10-02 | 1988-01-26 | Itt Corporation | Array reconfiguration apparatus and methods particularly adapted for use with very large scale integrated circuits |
US4703206A (en) * | 1985-11-19 | 1987-10-27 | Signetics Corporation | Field-programmable logic device with programmable foldback to control number of logic levels |
US4700187A (en) * | 1985-12-02 | 1987-10-13 | Concurrent Logic, Inc. | Programmable, asynchronous logic cell and array |
JPS632351A (ja) * | 1986-06-20 | 1988-01-07 | Sharp Corp | 半導体装置 |
US5187393A (en) * | 1986-09-19 | 1993-02-16 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US5019736A (en) * | 1986-11-07 | 1991-05-28 | Concurrent Logic, Inc. | Programmable logic cell and array |
US4829198A (en) * | 1987-04-10 | 1989-05-09 | International Business Machines Corporation | Fault tolerant logical circuitry |
US4928022A (en) * | 1987-07-17 | 1990-05-22 | Trw Inc. | Redundancy interconnection circuitry |
US4800302A (en) * | 1987-07-17 | 1989-01-24 | Trw Inc. | Redundancy system with distributed mapping |
US4920497A (en) * | 1987-10-27 | 1990-04-24 | State University Of New York | Method for rendering usuable a defective raw programmable logic array and a defective programmable logic array rendered usable by this method |
US4798976A (en) * | 1987-11-13 | 1989-01-17 | International Business Machines Corporation | Logic redundancy circuit scheme |
US4912342A (en) * | 1988-05-05 | 1990-03-27 | Altera Corporation | Programmable logic device with array blocks with programmable clocking |
US4871930A (en) * | 1988-05-05 | 1989-10-03 | Altera Corporation | Programmable logic device with array blocks connected via programmable interconnect |
KR910003594B1 (ko) * | 1988-05-13 | 1991-06-07 | 삼성전자 주식회사 | 스페어컬럼(column)선택방법 및 회로 |
US4899067A (en) * | 1988-07-22 | 1990-02-06 | Altera Corporation | Programmable logic devices with spare circuits for use in replacing defective circuits |
JPH0289299A (ja) * | 1988-09-27 | 1990-03-29 | Nec Corp | 半導体記憶装置 |
US5255228A (en) * | 1989-01-10 | 1993-10-19 | Matsushita Electronics Corporation | Semiconductor memory device with redundancy circuits |
US5471427A (en) * | 1989-06-05 | 1995-11-28 | Mitsubishi Denki Kabushiki Kaisha | Circuit for repairing defective bit in semiconductor memory device and repairing method |
GB8926004D0 (en) * | 1989-11-17 | 1990-01-10 | Inmos Ltd | Repairable memory circuit |
US5005158A (en) * | 1990-01-12 | 1991-04-02 | Sgs-Thomson Microelectronics, Inc. | Redundancy for serial memory |
US5204836A (en) * | 1990-10-30 | 1993-04-20 | Sun Microsystems, Inc. | Method and apparatus for implementing redundancy in parallel memory structures |
US5255227A (en) * | 1991-02-06 | 1993-10-19 | Hewlett-Packard Company | Switched row/column memory redundancy |
US5220214A (en) * | 1991-04-22 | 1993-06-15 | Altera Corporation | Registered logic macrocell with product term allocation and adjacent product term stealing |
US5121006A (en) * | 1991-04-22 | 1992-06-09 | Altera Corporation | Registered logic macrocell with product term allocation and adjacent product term stealing |
US5260611A (en) * | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic array having local and long distance conductors |
US5260610A (en) * | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
KR950000275B1 (ko) * | 1992-05-06 | 1995-01-12 | 삼성전자 주식회사 | 반도체 메모리 장치의 컬럼 리던던시 |
US5237219A (en) * | 1992-05-08 | 1993-08-17 | Altera Corporation | Methods and apparatus for programming cellular programmable logic integrated circuits |
JP2909328B2 (ja) * | 1992-11-02 | 1999-06-23 | 株式会社東芝 | フィールドプログラマブルゲートアレイ |
US5498975A (en) * | 1992-11-19 | 1996-03-12 | Altera Corporation | Implementation of redundancy on a programmable logic device |
US5434514A (en) * | 1992-11-19 | 1995-07-18 | Altera Corporation | Programmable logic devices with spare circuits for replacement of defects |
US5483178A (en) * | 1993-03-29 | 1996-01-09 | Altera Corporation | Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers |
CH688425A5 (fr) * | 1993-05-24 | 1997-09-15 | Suisse Electronique Microtech | Circuit électronique organisé en réseau matriciel de cellules. |
US5369314A (en) * | 1994-02-22 | 1994-11-29 | Altera Corporation | Programmable logic device with redundant circuitry |
US5426379A (en) * | 1994-07-29 | 1995-06-20 | Xilinx, Inc. | Field programmable gate array with built-in bitstream data expansion |
US5592102A (en) * | 1995-10-19 | 1997-01-07 | Altera Corporation | Means and apparatus to minimize the effects of silicon processing defects in programmable logic devices |
US5670895A (en) * | 1995-10-19 | 1997-09-23 | Altera Corporation | Routing connections for programmable logic array integrated circuits |
JP3865789B2 (ja) * | 1997-05-23 | 2007-01-10 | アルテラ コーポレイション | インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長回路 |
JP3130269B2 (ja) | 1997-05-30 | 2001-01-31 | 愛三工業株式会社 | 燃料供給装置 |
-
1998
- 1998-05-20 JP JP55057098A patent/JP3865789B2/ja not_active Expired - Fee Related
- 1998-05-20 US US09/082,081 patent/US6107820A/en not_active Expired - Lifetime
- 1998-05-20 WO PCT/US1998/010301 patent/WO1998053401A1/en active IP Right Grant
- 1998-05-20 DE DE69802927T patent/DE69802927T2/de not_active Expired - Lifetime
- 1998-05-20 EP EP98923566A patent/EP0983549B1/en not_active Expired - Lifetime
-
2000
- 2000-03-17 US US09/527,903 patent/US6222382B1/en not_active Expired - Lifetime
-
2001
- 2001-02-28 US US09/795,870 patent/US6337578B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6222382B1 (en) | 2001-04-24 |
US6337578B2 (en) | 2002-01-08 |
US6107820A (en) | 2000-08-22 |
WO1998053401A1 (en) | 1998-11-26 |
DE69802927T2 (de) | 2002-08-08 |
JP2001526866A (ja) | 2001-12-18 |
DE69802927D1 (de) | 2002-01-24 |
EP0983549A1 (en) | 2000-03-08 |
US20010006347A1 (en) | 2001-07-05 |
EP0983549B1 (en) | 2001-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3865789B2 (ja) | インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長回路 | |
US6344755B1 (en) | Programmable logic device with redundant circuitry | |
US5825197A (en) | Means and apparatus to minimize the effects of silicon processing defects in programmable logic devices | |
US5371422A (en) | Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements | |
US5369314A (en) | Programmable logic device with redundant circuitry | |
US5485102A (en) | Programmable logic devices with spare circuits for replacement of defects | |
US5654650A (en) | High throughput FPGA control interface | |
US5498975A (en) | Implementation of redundancy on a programmable logic device | |
US6467017B1 (en) | Programmable logic device having embedded dual-port random access memory configurable as single-port memory | |
US6810513B1 (en) | Method and apparatus of programmable interconnect array with configurable multiplexer | |
KR100264302B1 (ko) | 집적 회로 칩 | |
US8174284B1 (en) | Repairable IO in an integrated circuit | |
EP0612153A1 (en) | FPGA with distributed switch matrix | |
US4872137A (en) | Reprogrammable control circuit | |
US5721498A (en) | Block segmentation of configuration lines for fault tolerant programmable logic device | |
US6094385A (en) | Repairable memory cell for a memory cell array | |
US5555214A (en) | Apparatus for serial reading and writing of random access memory arrays | |
US5831907A (en) | Repairable memory cell for a memory cell array | |
US7622947B1 (en) | Redundant circuit presents connections on specified I/O ports | |
US6295236B1 (en) | Semiconductor memory of the random access type with a bus system organized in two planes | |
US6263482B1 (en) | Programmable logic device having macrocells with selectable product-term inversion | |
GB2286914A (en) | Programmable logic device with redundancy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050517 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061004 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091013 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131013 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |