JP3478666B2 - プログラマブル論理セル - Google Patents

プログラマブル論理セル

Info

Publication number
JP3478666B2
JP3478666B2 JP12826796A JP12826796A JP3478666B2 JP 3478666 B2 JP3478666 B2 JP 3478666B2 JP 12826796 A JP12826796 A JP 12826796A JP 12826796 A JP12826796 A JP 12826796A JP 3478666 B2 JP3478666 B2 JP 3478666B2
Authority
JP
Japan
Prior art keywords
logic
input
output
cell
multiplexer
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
Application number
JP12826796A
Other languages
English (en)
Other versions
JPH08340248A (ja
Inventor
アラン・ロバート・バートレット
キム・ピー・エヌ・クリントン
クリスティーン・マリー・フラー
スコット・ホイットニー・グールド
スティーブン・ポール・ハートマン
ジョセフ・アンドリュー・アイアダンザ
フランク・レイ・カイザー
エリック・アーネスト・ミルハム
ティモシー・ショーン・レニィ
ブライアン・エイ・ワース
ガルソン・イエーザー
テランス・ジョン・ジトリッチュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08340248A publication Critical patent/JPH08340248A/ja
Application granted granted Critical
Publication of JP3478666B2 publication Critical patent/JP3478666B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、集積回路素子に関
し、具体的には、複数のプログラマブル論理セルとプロ
グラマブル相互接続網を有するプログラマブル集積回路
素子に係わる。
【0002】
【従来の技術】プログラマブル集積回路は、当技術分野
で周知であり、プログラマブル論理素子(PLD)、プ
ログラマブル・アレイ論理(PAL)、およびプログラ
マブル論理アレイ(PLA)を備える。これらのプログ
ラマブル回路はそれぞれ、入力AND論理面の後にOR
論理面が続いている。したがって入力項の積の和である
出力関数を計算することができる。論理面は通常、面の
初期汎用レイアウトを特定用途用にカストマイズするこ
とができるように、プログラム可能になっている。
【0003】プログラマブル回路のより一般的な手法
は、異なる不拘束論理セルのアレイをプログラマブル・
ゲート・アレイ(PGA)に設ける。プログラマブル相
互接続網は通常、セルを相互接続し、アレイとの間でデ
ータの入出力を行うために設けられる。特定用途向け
に、汎用設計の論理セルと相互接続網のカスタマイズま
たはプログラムが行われる。このようなアレイの1つは
マスク・プログラマブル・ゲート・アレイ(MPGA)
であり、集積回路に金属化の最終層を付加するときにセ
ルと配線網の構成が行われる。改変された手法では、レ
ーザー照射エネルギーを使用して金属化パターンをカス
タマイズする。他のこのようなアレイは、フィールド・
プログラマブル・ゲート・アレイ(FPGA)であり、
構成はユーザが「現場(フィールド)」で行うことがで
きる。このような構成は、電気的プログラム可能ヒュー
ズ・リンク、アンチヒューズ、メモリ制御トランジス
タ、フローティング・ゲート・トランジスタなどを使用
して行うことができる。
【0004】使用するプログラミングのタイプにかかわ
らず、所与のFPGAまたはMPGAの基本論理関数
は、おもに不拘束論理セルまたは未プログラム論理セル
の機能と、その相互接続網とのインタフェースによって
規定される。
【0005】
【発明が解決しようとする課題】当技術分野では、プロ
グラマブル論理セルの実装のためのいくつかの手法が開
発されている。最初の、一般に「参照テーブル」(LU
T)手法と呼ばれている手法は、各論理セル内部で入力
項の可能な組合せごとにユーザ定義出力関数を記憶する
メモリ・ユニットを使用する。たとえば、4入力、1出
力のLUTは、24X1ビットのメモリを含む。したが
って、16通りの可能な入力の組合せのそれぞれについ
て、1ビット値が(ユーザによって)定義され、その値
はその組合せが行われるときに選択(および出力)され
る。しかし、実際には24X1ビット・メモリのメモリ
状態の可能な組合せは、216すなわち65,536通り
ある。この多数の可能なメモリ状態により、ユーザ回路
設計をLUTにマッピングする技法として一般的な固定
ライブラリ技法を使用した場合に問題が生ずることがあ
る。
【0006】論理セル実装の他の手法では、標準セルを
使用し、セル内とセルの周囲でプログラマブル信号選択
を使用する。図1に、現在周知の標準セル10の例を図
示する。固定論理ゲート12a〜dを並列に、カスケー
ド形態で使用する。配線網からセルへの入力は、マルチ
プレクサ14a〜cを使用して選択することができ、得
られる出力論理信号16aおよび16bをそれぞれセル
出力ノード18aおよび18bに選択的に出力すること
ができる。このセルを使用している1つの市販製品で
は、現在、約44種類のプログラム済み構成が使用可能
であり、この数は前述の4入力LUTで使用可能な多数
の関数と比較すると、比較的少ない。しかし、このタイ
プのセルを使用して固定ライブラリ技法マッピングを容
易に実現することができる。
【0007】PGA設計者にとってもう1つ重要な問題
は、相互接続網と論理セルの間の接続性のレベルであ
る。高レベルの接続性によって、場所および経路の設計
サイクルが容易になり、システムの全体的な柔軟性が高
くなる。図1の従来の技術のシステムでは、入力信号線
20aおよび20bは隣接セルからの「直接」接続であ
る。さらに、4本の「L」バス(この特定のアレイで
は、アレイ内の任意の論理セル間の汎用接続を構成す
る)との間の入出力のために、1つの別個のスイッチ・
システム22しか設けられていない。このレベルの接続
はやや拘束的である。
【0008】
【発明が解決しようとする課題】したがって、必要なの
は広く普及している固定ライブラリ・マッピング技法を
使用することができ、しかもLUTベースのセルの高い
機能性の多くを提供することができる標準セルである。
さらに、アレイの全体的な柔軟性を増すために、セルと
その周囲の相互接続網との間のより高いレベルの接続性
が望まれる。
【0009】
【課題を解決するための手段】要約すると、本発明は1
つの態様において、第1および第2の論理ゲートを備え
るプログラマブル論理セルである。第1および第2の論
理ゲートのそれぞれは、少なくとも2つの入力と、1つ
の出力と、制御ノードとを有する。第1および第2の論
理ゲートはそれぞれ、そのそれぞれの少なくとも2つの
入力に送られる論理信号に対して所定の組の論理関数の
1つを実行するように構成可能である。第1および第2
の論理ゲートのそれぞれは、そのそれぞれの制御ノード
を使用して構成される。
【0010】セルは、第3および第4の論理ゲートをさ
らに含む。第3および第4の論理ゲートのそれぞれは第
1および第2の入力を有し、第3および第4の論理ゲー
トのうちの少なくとも1つの第1の入力は第1の論理ゲ
ートの出力に接続され、第3および第4の論理ゲートの
少なくとも1つの第2の入力は第2の論理ゲートの出力
に接続されている。第3および第4の論理ゲートはそれ
ぞれ1つの出力をさらに備える。
【0011】このプログラマブル論理セルは、第1のマ
ルチプレクサと第2のマルチプレクサを備えることがで
き、第1のマルチプレクサは第1の論理ゲートの出力に
接続された第1の入力と、第3の論理ゲートと第4の論
理ゲートのうちの1つの出力に接続された第2の入力を
有する。第2のマルチプレクサは、第2の論理ゲートの
出力に接続された第1の入力と、第3の論理ゲートと第
4の論理ゲートのうちの1つの出力に接続された第2の
入力を有する。第1および第2の各マルチプレクサの出
力は、他方の各マルチプレクサの使用可能な入力に戻さ
れる。
【0012】このプログラマブル論理セルは、第4の論
理ゲートの出力に接続された入力を有するデータ記憶回
路と、第3の論理ゲートの出力に接続された入力を有す
るインバータをさらに備えることができる。この構成で
は、プログラマブル論理セルの第1のマルチプレクサ
は、第1の論理ゲート、インバータ、およびデータ記憶
回路のうちの1つの出力に接続された第1の入力を有し
ており、第2のマルチプレクサの出力に接続された第2
の入力を備えることもできる。第2のマルチプレクサ
は、第2の論理ゲート、第3の論理ゲート、および第4
の論理ゲートのうちの1つの出力に接続された第1の入
力を備えることになり、第1のマルチプレクサの出力に
接続された第2の入力をさらに備えることができる。
【0013】このプログラマブル論理セルは、第1のセ
ル入力ノードに接続された入力と、第1の論理ゲートの
2つの入力のうちの1つに接続された出力と、制御ノー
ドとを有する第1のプログラマブル・インバータを備え
ることができ、第1のセル入力ノードに送られた信号
を、第1の論理ゲートの2つの入力のうちの1つに渡す
前に、制御可能な方式で反転したり反転しなかったりす
ることができる。論理セルはさらに、第2のセル入力ノ
ードに接続された入力と、第2の論理ゲートの2つの入
力のうちの1つに接続された出力と、制御ノードとを有
する第2のプログラマブル・インバータを備えることが
でき、第2のセル入力ノードに送られた論理信号を、第
2の論理ゲートの2つの入力のうちの1つに渡す前に、
制御可能な方式で反転したり反転しなかったりすること
ができる。
【0014】第1および第2の論理ゲートの制御ノード
に接続され、第1と第2の両方の論理ゲートを共通して
構成する1つのメモリ手段を設けることができる。ま
た、第1および第2のプログラマブル・インバータの制
御ノードに接続され、第1と第2のプログラマブル・イ
ンバータを共通して制御する1つのメモリ手段を設ける
ことができる。
【0015】第1および第2の論理ゲートの所定の組の
論理関数は、NAND関数とNOR関数で構成すること
ができる。第3の論理ゲートはNANDゲートとするこ
とができ、第4の論理ゲートはXNORゲートとするこ
とができる。
【0016】本発明の他の態様では、セル入力ノードと
複数の組合せ論理回路または順序論理回路を有するプロ
グラマブル論理セルが提供される。このプログラマブル
論理セルは、入力論理信号をプログラムにより反転する
インバータ回路をさらに備えることができ、このインバ
ータ回路はセル入力ノードに接続されて入力論理信号を
受け入れるインバータ入力ノードと、複数の組合せ論理
回路または順序論理回路のうちの1つに論理信号を送る
インバータ出力ノードと、インバータ制御ノードを有す
る。インバータは、入力論理信号の補数を示す論理信号
がインバータ出力ノードに出力される第1の状態と、入
力論理信号の非補数を示す論理信号がインバータ出力ノ
ードに出力される第2の状態にプログラム可能である。
インバータ回路は、前記第1および第2の状態の両方
で、入力論理信号をバッファリングする。
【0017】このインバータ回路は、第1および第2の
入力を有するXNOR回路を含むことができ、第1のX
NOR回路の第1の入力がインバータ入力ノードで、X
NOR回路の第2の入力がインバータ制御ノードで、X
NOR回路の出力がインバータ出力ノードである。
【0018】本発明の他の態様では、その中に配置され
た複数の論理セルと相互接続網とを有するプログラマブ
ル集積回路アレイが提供される。相互接続網は、複数の
論理セルのうちの第1の論理セルとの間で信号を伝送す
る第1の複数の相互接続導線を備える。複数の論理セル
のうちの第1の論理セルは、4つの論理入力ノードと、
2つの論理出力ノードと、4つの入力マルチプレクサと
を備える。各入力マルチプレクサは、4つの論理入力ノ
ードのうちの対応する1つに接続された出力を有する。
4つの入力マルチプレクサのうちの第1および第2のマ
ルチプレクサはそれぞれ、第1の複数の相互接続導線の
それぞれに接続された第1の複数の入力を有する。セル
はさらに、4つのプログラマブル入力インバータを備
え、各プログラマブル入力インバータは、4つの論理入
力ノードのうちの対応する1つに接続された入力ノード
を有する。各プログラマブル入力インバータはさらに出
力ノードを備える。セルはさらに第1および第2の論理
ゲートを備え、各ゲートは2つの入力を有し、それぞれ
がその入力に送られた信号に対して所定の1組の関数の
うちの1つを実行するように構成されている。第1およ
び第2の各論理ゲートの2つの入力はそれぞれ、4つの
プログラマブル入力インバータの出力ノードのうちの対
応する1つに接続されている。
【0019】集積回路アレイの第1の論理セルは、2つ
の論理出力ノードのうちのいずれかから論理状態を受け
取る入力を有する出力マルチプレクサをさらに備えるこ
とができる。出力マルチプレクサはさらに、第1の複数
の相互接続導線のそれぞれに接続された複数の出力を備
える。この出力マルチプレクサは、4つの入力マルチプ
レクサのそれぞれから全体として独立している。
【0020】このプログラマブル集積回路アレイの第1
の論理セルは、第3および第4の論理ゲートをさらに備
えることができる。第3および第4の論理ゲートのそれ
ぞれは、第1および第2の入力を有する。第3および第
4の論理ゲートの両方の第1の入力は、第1の論理ゲー
トの出力に接続され、第3および第4の論理ゲートの両
方の第2の入力は第2の論理ゲートの出力に接続されて
いる。
【0021】この集積回路アレイの複数の論理セルは、
第1の論理セルの近傍に配置された複数の近傍論理セル
をさらに備えることができる。この場合、相互接続網
は、複数の近傍論理セルのそれぞれから第1の論理セル
に、一般に、直接信号を伝送する、第2の複数の相互接
続導線を備える。4つの入力マルチプレクサのうちの少
なくとも第3の入力マルチプレクサは複数の入力を備
え、複数の入力のそれぞれが第2の複数の相互接続導線
の各1本に接続されている。
【0022】入力マルチプレクサには、低スキュー信号
網からの低スキュー信号(たとえばクロック)、論理状
態「0」、および論理状態「1」など、相互接続網で伝
送される信号以外の様々な信号を送ることができる。第
1の論理セルは、2つの論理出力ノードの1つと4つの
入力マルチプレクサのうちの1つの入力の間にフィード
バック経路をさらに備えることができ、フィードバック
経路はインバータまたはバッファを備えることができ
る。
【0023】本発明は、上記で要約したように、広く普
及している固定ライブラリ・マッピング技法を使用して
プログラムすることができ、しかもLUTベースのセル
の高度な機能性の多くを備える標準セルを提供する。こ
のセルでは、それに応じた多数の関数を実現することが
できる。また、セルと相互接続網との間にはるかに高い
レベルの接続性が提供され、アレイの全体的な柔軟性が
増す。
【0024】
【発明の実施の形態】本発明とみなされる主題は、本明
細書の結論部で具体的に指摘し、明確に請求している。
しかし、本発明は構成と実施方法の両方について、その
目的および利点とともに、以下の好ましい実施例の詳細
な説明と添付図面を参照すれば最もよく理解することが
できる。
【0025】図2を参照すると、複数の論理セル32を
含むプログラマブル・ゲート・アレイ30が示されてい
る。この特定の実施例では、複数のプログラマブル論理
セルが、セルのセクタに分割された56×56セル・ア
レイを構成しており、各セクタが8×8セル・グループ
によって画定されている。アレイの外縁に沿って、デー
タ入出力に使用することができる入出力ピン34も図示
されている。さらに、特定のピンをクロック・ピン、リ
セット・ピン、またはアレイ30のプログラム可能資源
をプログラムする構成ピンとして使用することができ
る。アレイの入出力部は、「プログラマブル・アレイ入
出力−経路指定資源」という名称の米国特許出願の上記
組込み部分に従って実施することができる。
【0026】図3を参照すると、図2のアレイのプログ
ラマブル論理セルのうちの単一のセクタ40が示されて
いる。1つのセクタは論理セル421,1ないし428,8
含む。論理セル421,6を参照すると、セルは全体とし
て、垂直相互接続導線44aおよび44bと、水平相互
接続導線46aおよび46bによって囲まれている。こ
れらの水平および垂直の相互接続導線はアレイの各行と
列の間に配置されており、アレイ内の任意の2つのセル
間、またはアレイ内の任意のセルと入出力ピンとの間を
接続可能にする。相互接続導線が合わさってプログラマ
ブル・アレイの相互接続網全体を形成している。プログ
ラマブル論理セル内のプログラム可能資源に加えて、相
互接続網内にプログラム可能資源を設けることができ
る。相互接続網内のプログラム可能資源としては、たと
えば、2本の垂直導線間で信号を伝送することができる
ようにするスイッチ素子48がある。さらに、指定され
た垂直相互接続導線と指定された水平相互接続導線との
間のプログラム可能相互接続を行うように、バス・ター
ン(図示せず)を使用することもできる。この相互接続
網は、「プログラマブル・アレイ相互接続網」という名
称の米国特許出願の上記組込み部分に従って実施するこ
とができる。
【0027】図4に、本発明の原理による、論理セル5
0と近傍の相互接続導線との間で使用可能な好ましい接
続を詳細に図示する。相互接続導線は、垂直グループ5
2aおよび52bと水平グループ54aおよび54bを
含む。これらの相互接続画定部は、「セル・アクセス」
点(図5の凡例参照)によって示された領域56a〜d
内に含まれる。各垂直および水平グループにはL1〜L
4、E1〜E2、およびS1というラベルの付いた7本
のバスが含まれているのがわかる。さらに、セル・アク
セス点は、L1〜L4というラベルの付いた「ローカ
ル」バスにのみ割り振られており、セルと(より長い)
バスE1〜E2およびS1との間にはセル接続が維持さ
れていないのがわかる。
【0028】L1〜L4バスへの接続に加えて、論理セ
ルはFおよびG直セル接続バスを介して隣接セルへの直
接接続56a〜hを維持している。したがって、相互接
続網は実際には汎用相互接続バスの組L1〜L4、E1
〜E2、およびS1だけでなく、隣接論理セル間で信号
を伝送する専用直接接続バスも含む。セルへの入力は、
E、F、G、およびHというラベルの付いた入力ノード
に経路指定される。添字のN、S、E、およびWは、セ
ルに対する信号源バスまたは信号宛先バスの方向(すな
わち東西南北)を示す。当業者には、これらのバスは実
際には、チップ金属化層内でセルを超えて延びているこ
とと、並行するN/SバスとE/Wバスの間には物理的
相違があるにしてもわずかであることがわかるであろ
う。
【0029】当業者には、図4の領域56a〜dに一般
的に画定されている接続を行う方法は数多くあることが
明らかであろう。たとえば各セル・アクセス点、たとえ
ばセル・アクセス点62は、論理セルへの入力と相互接
続導線との間の所望の分離または接続を行う、パス・ト
ランジスタ、EPROM、ヒューズ・リンク、またはア
ンチヒューズで構成することもできる。ユーザは、任意
の特定のアクセス点で接続が必要であれば、その接続点
で接続が行われるように適切なプログラミングを行うだ
けでよい。また、レーザ・プログラム素子は、アクセス
点で光溶接を使用することもできる。必用な接続は、溶
接部を組み込んだり除外したりすることによって行うこ
とができる。マスク・プログラム素子は、該当する接続
部を組み込むか省くかするだけでよい。プログラムの前
には選択可能な信号が複数あってプログラム後にはその
信号の1つが選択される信号選択のための構造体を、本
明細書ではマルチプレクサと呼ぶ。本明細書でこれらの
領域および他のすべての部分について使用する「接続」
とは、特に明記のない限り、導線間の直接導通接続か、
または間接ではあるが一方の導線からの情報が他方の導
線に送られる間接(たとえばバッファ付き/反転)イン
タフェースを広義に指す。同様に、「入力」または「出
力」とは、特に明記のない限り、直接または間接(たと
えばバッファ付き/反転)インタフェースを示す。
【0030】現在のところ好ましい実施例では、接続を
形成するために、スタティック・ランダム・アクセス・
メモリ(SRAM)セルによって制御されるパス・ゲー
ト・マルチプレクサを使用する。SRAMセルは、パス
・ゲート・マルチプレクサ内のパス・ゲートのゲートに
直接または(デコーダを介して)間接的に結合されてお
り、それによりパス・ゲートの状態を制御する。たとえ
ば、論理セルはE入力接続60a〜dを制御するEin
ルチプレクサを備える。この特定の実施例では、1つの
接続が各潜在的バスから伝達ゲートのソース/ドレーン
の組合せまで経路指定され、その伝達ゲートのドレーン
/ソースの組合せは論理セルの入力ノードに経路指定さ
れている。16:1パス・ゲート・マルチプレクサには
このような伝達ゲートが16個あり、プログラミング・
システムのソフトウェアとデコード論理によって特定の
1つのパス・ゲートだけが活動化されるようになる。
【0031】たとえば接続グループ58fに示すよう
に、隣接セルからの直接接続とL1、L2、およびL3
ローカル・バスからの接続を多重化することも可能であ
る。本発明の原理によると、1つの出力および、直接接
続と汎用相互接続の両方のバスからの潜在的接続を組み
合わせる1つの入力を有する、単一のマルチプレクサを
使用する。さらに、グループ52a、52b、54a、
および54bからのすべての入力ローカル・バスを、論
理セル50の4つの入力(E、F(図示せず)、G、
H)のどの1つにも適用することができる。したがっ
て、図1の従来の技術のセルの接続性レベルと比較し
て、図4に示す高度に汎用化された入力多重化方式を使
用すると、周囲の相互接続導線から論理セルへのはるか
に高いレベルの接続性が実現される。
【0032】図6にプログラマブル論理セル70の好ま
しい実施例を図示する。プログラマブル・マルチプレク
サ78a〜d(E、F、G、H)が設けられており、好
ましい実施例ではこれらはSRAMメモリ・ビットによ
って制御されるパス・ゲート・マルチプレクサで構成さ
れている。上記で図4を参照しながら説明したように、
ローカル・バスL1〜L4の多くは、図6の好ましい実
施例のE、G、およびHの各マルチプレクサの入力とし
て設けられている。さらに、入力マルチプレクサ78b
にF直接接続72aが設けられ、マルチプレクサ78c
にG直接接続74aが入力として設けられている。各入
力マルチプレクサ78a〜dは、論理セルの入力ノード
84a〜dに結合された出力ノードを備える。したがっ
て、本発明の原理によると、プログラム論理セルには4
つの独立した入力ノードが設けられている。
【0033】図6には、各入力ノード84a〜dのとこ
ろに入力インバータ86a〜dが図示されている。破線
で囲まれた回路は機能図に過ぎず、マルチプレクサを使
用して入力ノードから反転信号または非反転信号を選択
することができる。プログラマブル入力インバータの好
ましい実施例について、図8〜図11を参照しながら詳
細に説明する。
【0034】入力インバータ(M、N、O、P)の各出
力は、それぞれ構成可能論理ゲート88aまたは構成可
能論理ゲート88bに結合されている。具体的には、ノ
ードMとNがゲート88aへの入力110aを構成し、
ノードOとPがゲート88bへの入力110bを構成し
ている。それぞれが2つの独立した入力ノードを有する
2つの構成可能論理ゲートが、本発明の原理に従って設
けられており、これについては以下で詳述する。簡単に
言うと、各構成可能論理ゲートは、そのそれぞれの入力
に対してNAND関数またはNOR関数を実行すること
ができる。実行される関数はプログラミングによって決
まり、好ましい実施例ではプログラミング機構は、その
状態がゲート88aおよび88bの制御入力に送られる
SRAMメモリを含む。
【0035】好ましい実施例では、構成可能論理ゲート
100aおよび100bの出力はそれぞれ3つの異なる
宛先に結合される。具体的には、出力100aはマルチ
プレクサ98aに結合され、論理ゲート90aおよび9
0bへの入力を成す。出力100bはゲート90aおよ
び90bと、マルチプレクサ98bに結合される。した
がって、論理ゲート90aおよび90bは第2のレベル
の論理関数を構成するが、構成可能論理ゲート88aお
よび88bとは異なり、好ましい実施例では固定されて
いる。すなわち、ゲート90aはNANDを構成し、ゲ
ート90bはXNORゲートを構成する。他の実施例で
は、ゲート90aおよび90bは構成可能論理ゲートと
することもできる。XNORゲートの実現については、
以下で図12を参照しながら詳述する。ゲート90aの
出力102aはマルチプレクサ98bとインバータ(ま
たはバッファ)94に結合される。ゲート90bの出力
102bはフリップフロップ92に結合され、マルチプ
レクサ98bにも結合される。インバータとフリップフ
ロップの出力は両方ともマルチプレクサ98aに結合さ
れる。
【0036】本発明の原理によると、マルチプレクサ9
8aおよび98bはそれぞれ入力104aおよび104
bを受け取り、それぞれ独立して制御可能で、この2つ
の入力のうちの1つをそれぞれのセル出力ノード116
aまたは116bに結合する。入力104aはマルチプ
レクサ98bの出力からの接続を含み、入力104bは
マルチプレクサ98aの出力への接続を含む。したがっ
て、セルからの6つの汎用的に結合可能な論理出力の任
意の1つが、2つの出力ノード116aおよび116b
のうちのいずれの一方にも結合可能である。マルチプレ
クサ98aおよび98bは、好ましい実施例ではSRA
Mビットによって制御されるパス・ゲート・マルチプレ
クサを構成するが、前述のどの多重化構造体を使用して
も形成することができる。
【0037】出力ノード116Aに接続された出力、イ
ンバータ・ノードMの出力に接続された制御ノード(接
続は図示せず)、および出力インバータ・ノードOおよ
びPに接続された入力OおよびPを有する(接続は図示
せず)、マルチプレクサ96も図示されている。したが
って、本発明の原理によると、論理ゲートを使用するの
ではなく、論理セルと1段の多重化を使用して、2:1
多重化機能を容易に実現することができる。論理ゲート
を使用した場合は、選択入力は二重線でなければなら
ず、それによって経路指定とタイミング上の問題が生ず
る。マルチプレクサ96はノードMに送られる論理セル
信号によって制御される。マルチプレクサ96の詳細に
ついては、以下で図14を参照しながら説明する。
【0038】出力ノード116aおよび116bでの信
号の配信は以下の通りである。ノード116aに、直接
接続72bへの出力を駆動するインバータ(またはバッ
ファ)114aを設けることができる。これらの直接接
続出力のうちの各1つが、それぞれ4つの隣接する近傍
セルの1つに経路指定される。同様に、出力ノード11
6bにインバータ(またはバッファ)114bを付加す
ることができる。インバータの出力は、それぞれの隣接
セルへの接続を構成する直接接続出力74bに経路指定
される。さらに、出力116aは線124を介してトラ
イステート・インバータ122に経路指定することがで
きる。トライステート・インバータは、出力マルチプレ
クサ80を駆動することができる。出力マルチプレクサ
80は、本発明の原理によって、信号を駆動してL1〜
L4バスのそれぞれに送ることができる。このマルチプ
レクサは、各Lバス82を独立して駆動するように動作
する。トライステート・インバータ122は、マルチプ
レクサ118を介して制御することができる。マルチプ
レクサ118への入力は、G入力ノード84cから発信
される線120上のユーザ定義信号か、あるいは固定
「1」または「0」入力のいずれかで構成される。マル
チプレクサ118および80の詳細については、以下で
図15を参照しながら説明する。この場合も、当業者に
は、多重化機能を提供するための複数の構造体が周知で
ある。好ましい実施例では、マルチプレクサは2:1A
OI(AND−OR−反転)であり、マルチプレクサ8
0はSRAMメモリ・セルによって制御されるゲートを
有するパス・ゲートで実現される。
【0039】このプログラマブル・コア・セルのその他
の機能としては、4つの入力マルチプレクサ78a〜d
のそれぞれに送ることができる固定論理状態「1」があ
る。マルチプレクサ78a、78c、および78dから
L2入力をなくしてこの固定入力を設けると同時に、各
マルチプレクサで可能な状態を16通りだけに維持する
ことに留意されたい。また、マルチプレクサ80から複
数のL2バスのうちの1つをなくし、それによって以下
で図15に関して詳述する追加の制御状態を作り出す。
さらに、入力マルチプレクサ78bに固定論理状態
「0」を送ることができる。また、マルチプレクサ78
bには、セル出力ノード116aからのフィードバック
信号112も送ることができる。最後に、入力マルチプ
レクサ78bにはクロック入力も送ることができる。こ
のクロック入力は、フリップフロップ92へのクロック
入力に加えて、通常はシステム・クロック資源から供給
される。したがって、本発明の原理によると、クロック
信号は論理セル内のどの論理回路にも直接送ることがで
きる。このクロック入力がないと、クロック信号へのア
クセスを得るために、クロックは所望の速度の2倍の速
度で動作することになり、フリップフロップの「Q」出
力のサンプリングが必用になり、サンプリングされたク
ロック信号をフィードバック経路を使用して2つのマル
チプレクサ78bに戻すことになる。したがって、この
クロック信号を直接供給しないと、論理セルの資源をこ
のサンプリング機能とフィードバック機能の専用に使用
しなければならなくなる。アレイ全体へのクロックの配
信は、「プログラマブル・アレイ・クロック/リセット
資源」という名称の米国特許出願の上記の組込部分に従
って行うことができる。その出願で述べているように、
このクロック網は低スキュー・データ網としても使用す
ることができる。したがって、本発明の原理によると、
マルチプレクサ78bには全体として低スキューのデー
タが供給される。
【0040】構成可能論理ゲート88a〜bの好ましい
実施例を図7に詳細に図示する。(当業者には、以下の
回路図内のトランジスタを表すために使用されている
「T」という表記は、別の回路図で繰り返して使用され
ている場合に同じトランジスタを一般的に示しているの
ではないことがわかるであろう。)以下の説明は、ゲー
ト88aと88bのいずれか一方と、それぞれの入力お
よび出力に適用される。図7の回路は、pチャネル・ト
ランジスタT1、T3、T5、T7、およびT9と、n
チャネル・トランジスタT2、T4、T6、T8、およ
びT10を含む。この回路への入力信号には、ノードM
およびN(図6に図示する)からの論理信号と、pチャ
ネル・トランジスタ154およびnチャネル・トランジ
スタ156に入力される制御信号が含まれる。この好ま
しい構成可能論理ゲートは、制御信号が論理「0」の場
合にNAND関数を実行し、制御信号が論理「1」の場
合にNOR関数を実行する。制御トランジスタ154お
よび156は、出力信号がトランジスタT7、T9、T
6、およびT10によって直接駆動されて有利となるよ
うに、それぞれの電圧源の近くに配置されていることに
留意されたい。この構成可能論理ゲートの1つの特徴
は、ノード152が、NAND回路またはNOR回路用
に共通接続されたノードを備えていることである。この
共有構成を設ける代わりの代替策は、マルチプレクサに
給電する別々のNAND回路とNOR回路を設けること
である。このような手法は、図7の回路よりもかなり多
くの空間を使用することになる。制御信号「C」は、好
ましい実施例ではSRAMメモリ・セルを含む、プログ
ラミング機構を介して供給することができる。
【0041】以下に、NAND状態とNOR状態のそれ
ぞれの、N、M、およびIノードの状態を記載した真理
値表を示す。 C=0(NAND) M N I 0 0 1 0 1 1 1 0 1 1 1 0 C=1(NOR) M N I 0 0 1 0 1 0 1 0 0 1 1 0
【0042】図8ないし図11に、図6のプログラマブ
ル・インバータ86a〜dの好ましい実施例を示す。以
下の説明は、インバータ86a〜dのどの1つにも適用
され、それぞれの入力および出力に適用される。この好
ましい手法は、ノードEに接続された入力と、制御ノー
ドCに接続されたもう1つの入力と、ノードMに接続さ
れた出力とを有するXNORゲート86を備える。C=
0の場合、ノードMにノードEの信号の反転された信号
が出力され、C=1の場合、ノードMにEの信号の非反
転信号が出力される。
【0043】図6に概要を図示したマルチプレクサ手法
とは異なり、図8ないし図11を参照して説明するイン
バータ手法は、反転経路と非反転経路の両方でバッファ
信号を供給する。バッファ信号により、立ち上がり/立
ち下がり時間が改善される。これは特に、入力信号の立
ち上がり/立ち下がり時間が、図6に示すマルチプレク
サ78a〜dで使用されているパス・ゲートの影響を受
けている場合に重要である。この手法のもう1つの利点
は、反転信号経路と非反転信号経路とのタイミング・バ
ランスがよくなることである。
【0044】図9は、インバータXNORゲートの回路
図であり、pチャネル・トランジスタT1、T3、T
5、T7、およびT9と、nチャネル・トランジスタT
2、T4、T6、T8、およびT10を含む。図10に
は、制御信号Cが論理「0」に設定された場合の結果の
回路が図示されている。入力が電圧源に結合されている
インバータ90は、ノードEの入力が論理「1」の場合
にノードMに低論理「0」状態を出力する。トランジス
タT9は、ノードEが論理「0」に設定された場合にノ
ードMに論理「1」を出力する。発生する遅延はほぼト
ランジスタT9またはT10のターン・オン遅延である
ことと、出力信号が再駆動されることに留意されたい。
【0045】図11に、制御信号Cが論理「1」に設定
された場合のインバータ回路の構成を示す。この場合、
回路は単にインバータ96および98を備えるに過ぎな
い。出力信号Mは、単に入力信号Eが再駆動された信号
であり、発生する遅延はトランジスタT1、T2、T
5、およびT6のターン・オン時間によって決まる。
【0046】図6の固定論理ゲート90aおよび90b
の好ましい実施例を図12(同様の要素は同様の参照番
号で示されている)に示す。XNORゲート90bは、
ORゲート162とNANDゲート164の組合せを使
用して実現することができる。NANDゲート90aの
出力がNANDゲート164の入力として使用される。
ゲート162および164は、周知のCMOS OR構
成要素とNAND構成要素の組合せを使用して1つの回
路で実現することができる。
【0047】前述のように、当業者にはアレイをプログ
ラム可能にする様々な技法が周知である。これらの技法
のいずれか、またはその変形を使用して、本発明の論理
セルをプログラムすることができる。マスク・プログラ
ミング技法としては、汎用設計集積回路の最終金属化層
の付着のカスタマイズがある(たとえば、1976年1
1月23日付けの「Programmable Latch and Other Cir
cuits for Logic Arrays」という名称の米国特許第39
93919号、および1988年3月3日付けの「Mult
i-Function FET Masterslice Cell」という名称の米国
特許第4742383号を参照のこと。この2つの特許
は本出願と同じ出願人に譲渡されている)。レーザ・プ
ログラミング技法としては、付着させた後の金属化層の
カスタマイズがある(たとえば、ラッフェル(Raffel)
等の「A Wafer-Scale Digital Integrator Using Restr
ucturable VSLI」、IEEE Journal of Solid-State Circ
uits, Vol. SC-20, No.1、1985年2月、399ペー
ジ参照)。ヒューズ・リンクまたはアンチヒューズを使
用し、永久(不揮発性)プログラミングを行うことがで
きる(たとえば、ミルマン(Millman)の「Microelectr
onics」、McGraw-Hill, Inc.、1979年、196ペー
ジ、および1988年7月19日付けのエルガマル(El
gamal)等の「User Programmable Integrated Circuit
InterconnectArchitecture and Test Method」という名
称の米国特許第4758745号参照)。消去可能プロ
グラマブル読取り専用メモリ(EPROM)および電気
的消去可能プログラマブル読取り専用メモリ(EEPR
OM)デバイスを使用して、半永久プログラミングを行
うことができる。EPROMおよびEEPROMは両方
とも電気的にプログラム可能であり、電力を除去しても
その状態を保持する。しかしこれらのデバイスは、特別
な消去手続きを使用して再構成することができる(たと
えば、ウッド(Wood)等の「An Electrically Alterabl
e PLA for FastTurnaround Time VLSI Development Har
dware」、IEEE Journal of Solid-State Circuits, Vo
l. SC-16, No.5、1981年10月、570ページ参
照)。最後に、揮発性ランダム・アクセス・メモリ(R
AM)デバイスも使用可能である。これは完全にプログ
ラム可能であり再プログラム可能であるが、電力を除去
するとプログラムされた状態が失われる(たとえば、1
979年12月4日付けの米国特許第4177452号
を参照。これは本出願と同じ出願人に譲渡されてい
る)。アレイをプログラムする上記およびその他の技法
は、当業者に周知であり、S.ブラウン(Brown)、
R.フランシス(Francis)、J.ローズ(Rose)、お
よびZ.ヴラネシック(Vranesic)の出版物「Field-Pr
ogrammable Gate Arrays」、Kluwer Academic Publishe
rs、1992年、にも概説されている。上記の各出典
は、参照によりその全体が本明細書に組み込まれる。
【0048】前述のように、本発明の論理セルをプログ
ラムする好ましい手法は、ユーザによってプログラムさ
れるSRAMメモリ・セルを必用とする。図13に図6
の論理セルのSRAMセルM1〜M28の好ましい接続
を示す。このアレイは、1993年5月Atmel Corporat
ion発行の「Application Note AT6000 Series Configur
ation」改訂1B版と題する出版物で開示されている技
法に従って構成することができる。この出版物は参照に
よりその全体が本明細書に組み込まれる。
【0049】ノードNおよびOのインバータは、単一の
メモリ・セルM2によって共通制御可能であることに留
意されたい。また、このプログラマブル論理ゲートは単
一のメモリ・セルM3によって制御されることにも留意
されたい。それぞれの場合において、一対のうちのそれ
ぞれの資源(インバータまたはゲート)は共有メモリ・
セルによって独立して制御される。
【0050】図6の論理セルの特定部分の制御の詳細
を、図14および図15(同様の要素は同様の参照番号
によって示されている)に示す。図14で、メモリ・セ
ルM7およびM8はマルチプレクサ98aの4通りの可
能な状態を制御する。デコードされた状態ラッチSが線
174でフリップフロップ92に送られてクロックをゲ
ート制御する。フリップフロップの出力をマルチプレク
サ98aを介して経路指定しない場合(すまわちフリッ
プフロップを使用していない場合)、ラッチS信号は、
クロックをゲート制御してオフにし、クロック網に接続
されているデバイスが無用にスイッチングされないよう
にし、それによって電力が浪費されないようにする。
【0051】また、メモリ・セルM5〜M8が共同して
マルチプレクサ98aおよび98bの状態を制御するた
めと、この2つのマルチプレクサの(前述の)交差結合
のため、マルチプレクサ98aおよび98bを制御する
のにメモリ・セルM5〜M8の16通りの使用可能な状
態のうちの15通りしか使用されない。完全に交差結合
された構成を定義する状態は無意味である。この残りの
状態は、GS170線およびFS172線を使用してセ
ル・マルチプレクサ96の出力をゲート制御する。
【0052】ORゲート180とNANDゲート182
を備えた図6のマルチプレクサ118の実施例を、図1
5(同様の要素は同様の参照番号で示してある)を図示
する。マルチプレクサ80には15通りの構成しかない
ため、線186を使用して制御セルM9〜M12の余分
の状態をマルチプレクサ118に適用する。セルM28
の両方の状態が線184でマルチプレクサ118に適用
される。15の出力82のいずれも選択されない場合、
トライステート・バッファ122がデコード状態186
(0)で高インピーダンス・モードになる。M28=
「1」の場合、トライステート・バッファ122はオン
になり、線124からの信号をマルチプレクサ80に送
る。M28=「0」の場合、トライステート・バッファ
122は線120のセル信号Gによって制御される。
【0053】上記で開示したプログラマブル論理セル
は、構造化論理設計とランダム論理設計の両方に等しく
好適な豊富な固定ライブラリを提供するように設計され
ている。このセルは、他の多くの市販プログラマブル論
理セルよりも、標準ゲート・アレイ・セルにはるかに近
いため、この論理セルを使用した設計ははるかに容易に
合成することができる。上記で開示したプログラマブル
論理セルは、4つの入力と3つの出力を有し、それぞれ
がそれ自身のマルチプレクサを使用して信号の送信元と
送信先を選択する。入力マルチプレクサのうちの2つ
(EおよびH)は、入力としてローカル・バスのうちの
任意の1つから選択することができる。F入力マルチプ
レクサは、直接相互接続導線からの信号か、または列ク
ロックを選択することができる。G入力マルチプレクサ
は、ローカル・バスまたは直接相互接続導線から信号を
選択することができる。出力マルチプレクサLは、任意
の1つのローカル・バスに接続し、直接接続出力の2つ
のグループを、隣接セルのいずれにも接続することがで
きる。
【0054】セル内の論理回路は、3つの入力の任意の
関数と、4つの入力のうちの最も有用な関数を生成する
ように設計されている。各入力は、セルに入力されると
きに反転することも反転しないことも可能である。信号
は対になって論理ゲートを通り、論理ゲートは選択可能
なNAND関数またはNOR関数を行うことができる。
ノードIおよびJに出力された結果は次にいくつかの関
数を通過して送られ、それをユーザが出力マルチプレク
サを介して選択する。F出力とG出力はそれぞれ独立し
て選択され、それによってセルから2つの固有の関数を
生成することができる。また、F出力とG出力で入手可
能な関数をコア・セル内でスイッチすることができ、そ
れによって多数の直接接続を使用した場合の経路指定上
の問題が軽減される。
【0055】アレイ内に設けらたセルの数の結果、多く
の論理関数とフリップフロップをサポートするアーキテ
クチャが実現される。各セルの使用効率を向上させるた
めに、F入力に内部フィードバック経路を設けて、フィ
ードバックを必用とする関数を単一のセル内で生成する
ことができるようにする。F入力マルチプレクサにクロ
ック入力を供給し、それによって、このプログラマブル
論理セルがサポートするあらゆる関数でグローバル・ク
ロックのクロック・ゲート制御と生成を行うことができ
るようにする。表1に、上記で開示した図6のプログラ
マブル論理セルを使用したフィールド・プログラマブル
・ゲート・アレイの実施例におけるプログラム可能関数
のリストを示す。使用可能な関数の数(145)は、従
来の標準セル手法で使用可能な数をはるかに超える。さ
らに、これらの関数はLUTセル内で使用可能な多くの
関数のうちで最も多く使用される関数を含むように選択
されている。したがって、本明細書で開示されているプ
ログラマブル論理セルは、LUTの機能の多くを備える
にもかかわらず、標準セル技術を使用する。
【表1】 表1 名前 説明 関数 ONE 論理1 ZERO 論理ゼロ BUF バッファ INV インバータ AN2 2入力AND AN2C1 1相補入力付き2入力AND AN2C12Q 2入力2出力AND、1入力+1出力インバータ NA2Q2I 2入力2出力AND、1出力インバータ ANINV 2入力AND、出力2は反転入力 AN3 3入力AND AN3C1 1相補入力付き3入力AND AN3C2 2相補入力付き3入力AND AN4 4入力AND AN4C1 1相補入力付き4入力AND AN4C2 2相補入力付き4入力AND ND2 2入力NAND NDND ツイン2入力NAND ND2C1 1相補入力付き2入力NAND ND3 3入力NAND ND3C1 1相補入力付き3入力NAND ND3C2 2相補入力付き3入力NAND ND4 4入力NAND ND4C1 1相補入力付き4入力NAND OR2 2入力OR OR2C1 1相補入力付き2入力OR OR3 3入力OR OR3C1 1相補入力付き3入力OR OR4 4入力OR OR4C1 1相補入力付き4入力OR OR4C2 2相補入力付き4入力OR NO2 2入力NOR NO22Q 2出力付き2入力NOR NO2C1 1相補入力付き2入力NOR NO3 3入力NOR NO3C1 1相補入力付き3入力NOR NO4 4入力NOR NO4C1 1相補入力付き4入力NOR XO2 2入力XOR XNO2 2入力XNOR MUXP 2−1MUX(高速) MUX2 2−1MUX MUX2XO(*) 2−1MUX(XOR使用) MUXC0 2−1MUX、0入力相補 MUXC1 2−1MUX、1入力相補 MUXI 2−1MUX、出力反転(高速) MUX2I 2−1MUX、出力反転 MUXF QおよびQN出力付き2−1MUX MUXFB0 0へのフィードバック付き2−1MUX、およびQ/QN MUXFB1 1へのフィードバック付き2−1MUX、およびQ/QN AO21 AND−OR2−1入力 AOI21 AND−ORインバータ、2−1入力 AO21C01 AND−OR2−1(相補)入力 AOI21C0 AND−NOR2−1(相補)入力 AO21C1 AND−OR2(1相補)−1入力 AOI21C1 AND−NOR2(1相補)−1入力 AO22 AND−OR2−2入力 AO22C01 AND−OR2−2(1相補)入力 AO22C11 AND−OR2(1相補)−2(1相補)入力 AOI22 AND−NOR2−2入力 AOI22C0 AND−NOR2−2(1相補)入力 AX21 AND−XNOR2−1入力 AX212Q AND−XOR2−1入力、ANDおよびXOR2出力 AXN21 AND−XNOR、2−1入力 AX21C1 AND−XOR2(1相補)−1入力 AXN21C1 AND−XNOR2(1相補)−1入力 AX22 AND−XOR2−2入力 AX22C01 AND−XOR2−2(1相補)入力 AX22C11 AND−XOR2(1相補)−2(1相補)入力 OA21 OR−AND2−1入力 OAI21 OR−NAND2−1入力 OA21C01 OR−AND2−1(相補)入力 OAI21C0 OR−NAND2−1(相補)入力 OA21C1 OR−AND2(1相補)−1入力 OAI21C1 OR−NAND2(1相補)−1入力 OA22 OR−AND2−2入力 OA22C01 OR−AND2−2(1相補)入力 OA22C11 OR−AND2(1相補)−2(1相補)入力 OAI22 OR−NAND2−2入力 OAI22C0 OR−NAND2−2(1相補)入力 OX21 OR−XOR2−1入力 OXN21 OR−XNOR、2−1入力 OX22 OR−XOR2−2入力 OX22C01 OR−XOR2−2(1相補)入力 XOND 2入力XORおよび2入力付きNAND XOND3 2入力XOR、3入力NAND、2入力 HAL1 1ビット半加算器桁上げ低 トライステート: ------ LZ バス・ドライバ低またはZ HZ バス・ドライバ高またはZ BUFZ トライステート・バッファ BUFZ2 トライステート・バッファおよび別のバッファ出力 INVZ トライステート・インバータ FDZQ トライステート出力付きDフリップフロップ FDZQ2 トライステート出力およびQ出力付きDフリップフロップ フリップフロップ: ------ LD Dラッチ・トランスペアレント高 LDL Dラッチ・トランスペアレント低 FD Dフリップフロップ同期 FD2 Q1=d、Q2=d'のDフリップフロップ FDE イネーブルのDフリップフロップ同期 FDEL イネーブル低のDフリップフロップ同期 FDHA Dフリップフロップ半加算器合計 FDHAFB フィードバック付きDフリップフロップ半加算器 CR0 0ビット桁上げ伝搬カウンタ CR1 1ビット桁上げ伝搬カウンタ CRST ビットステージ桁上げ伝搬カウンタ FDMUX(*) MUX入力付きDフリップフロップ FDMUXFB0(*)MUX 0入力へのフィードバック付きDフリップフロップ FDMUXFB1(*)MUX 1入力へのフィードバック付きDフリップフロップ PSC1 1ビット並直列変換器 SRPST 並列ロード付きビット・ステージ・シフト・レジスタ FAN2C1 Dフリップフロップ、入力AN2C1 FAX21C1 Dフリップフロップ、入力AX21C1(ピン・スワップ) FAX22C1 Dフリップフロップ、入力AX22C1 FAX22C2 Dフリップフロップ、入力AX22C11 FAX21 Dフリップフロップ、入力AXN21(ピン・スワップ) FAXN21C Dフリップフロップ、入力AXN21C(ピン・スワップ) FDN QN出力と同期するDフリップフロップ FDNAND Dフリップフロップ2入力NAND FND2C1 Dフリップフロップ、入力ND2C1 FDNFB QN出力と同期するDフリップフロップ・フィードバック FDN2 Dフリップフロップ、Q1=反転D、Q2=反転入力 FDAN Dフリップフロップ2入力AND FDND D=(ab)'およびab第2入力のDフリップフロップ FDOR Dフリップフロップ2入力OR FDORN Dフリップフロップ入力(a+b') FNOR Dフリップフロップ、入力NO2 FDX Dフリップフロップ2入力XOR FXNO Dフリップフロップ、入力NO2 FDXFB フィードバック付きDフリップフロップ入力XOR FDAX Dフリップフロップ入力AX22 FDAXF Dフリップフロップ2入力ANDおよびXOR FDAXFB フィードバックおよびXOR付きDフリップフロップ入力AND FDX3AN Q1=(ab)XOR(c)、Q2=(a*b)AND(c)のDフリップフロップ FDOX Dフリップフロップ、入力OX22 FOX21 Dフリップフロップ、入力OX21(ピン・スワップ) FOXN21 Dフリップフロップ、入力OXN21(ピン・スワップ) FX22C01 Dフリップフロップ、入力OX22C01 FDOXF Dフリップフロップ、入力(a)XOR(b'C)入力 FDOXFB Dフリップフロップ、フィードバックおよびXOR付き入力OR FDR Dフリップフロップ同期リセット低 FDS Dフリップフロップ同期セット低 FT Tフリップフロップ同期 FTR Tフリップフロップ同期リセット低 FTRA Tフリップフロップ非同期リセット低 FTS Tフリップフロップ同期セット低 CLKEDGE クロック・エッジ検出
【0056】表2に、セルを表1の関数にプログラムす
るのに必用なメモリ・セルを示す。図13に図示されて
いるメモリ・セルM1〜M8およびM25〜M27のメ
モリ・セルの設定値を、以下の凡例(図6および図13
のプログラム可能資源の参照符号が記載されている)に
従って表2に示す。メモリ・セルM9〜M24およびM
28は、ユーザの選定した入力信号源と出力信号の出力
先のみに依存して変化する度合いが高いため、記載して
いない。表2には、多くの場合、表1に記載されている
1つの関数について代替メモリ・セル設定値が記載され
ている。 M1、M2、M4 インバータ86 0 反転 1 非反転 M3 NAND/NORゲート 0 NAND 1 NOR M6 M5 G出力選択(マルチプレクサ98b) 0 0 J 0 1 X 1 0 A 1 1 P M8 M7 F出力選択(マルチプレクサ98a) 0 0 I 0 1 N 1 0 L 1 1 C M27 M26 M25 F入力選択(マルチプレクサ78b) 0 0 0 1(Vdd) 0 0 1 フィン南 0 1 0 0(接地) 0 1 1 フィン北 1 0 0 セクタ・クロック 1 0 1 フィン西 1 1 0 フィードバック 1 1 1 フィン東
【0057】表2の各項目は以下のように配列されてい
る。
【表2】 関数 M27 M26 M25 M8 M7 M6 M5 M4 M3 M2 M1 表2 ONE_2 000 00001010 INV_4 000 00000001 ONE_1 000 00000011 INV_3 000 00000010 ZERO_2 000 00001000 INV_2 000 00001000 ZERO_1 000 00000001 INV_1 000 00000010 BUF_4 000 00000011 AN2_5 010 00101000 BUF_3 000 00001010 AN2_4 000 00101001 BUF_2 000 00001010 AN2_3 000 00100011 BUF_1 000 00000011 AN2_2 000 00100010 AN2_1 000 00001010 ND2C1_3 000 00000110 AN2C1_8 000 00101010 ND2C1_2 000 00000110 AN2C1_7 010 00101001 ND2C1_1 000 00001100 AN2C1_6 000 00000010 OR2C1_4 000 00000101 AN2C1_5 000 00000001 OR2C1_3 000 00000110 AN2C1_4 000 00101010 OR2C1_2 000 00000110 AN2C1_3 000 00100011 OR2C1_1 000 00001100 AN2C1_2 000 00001000 ND3_4 000 01000100 AN2C1_1 000 00000010 ND3_3 000 01000100 NO2C1_8 000 00101010 ND3_2 000 01000100 NO2C1_7 000 00101001 ND3_1 000 01000100 NO2C1_6 000 00000010 OR3C3_4 000 01000100 NO2C1_5 000 00000001 OR3C3_3 000 01000100 NO2C1_4 000 00101010 OR3C3_2 000 01000100 NO2C1_3 000 00100011 OR3C3_1 000 01000100 NO2C1_2 000 00001000 ND3C1_4 000 01001100 NO2C1_1 000 00000010 ND3C1_3 000 01001100 AN2Q2I_3 000 01101001 ND3C1_2 010 01000110 AN2Q2I_2 000 01100011 ND3C1_1 000 01000101 AN2Q2I_1 010 01101011 OR3C2_4 000 01001100 AN3_4 000 00100100 OR3C2_3 000 01001100 AN3_3 000 00100100 OR3C2_2 010 01000110 AN3_2 000 00100100 OR3C2_1 000 01000101 AN3_1 000 00100100 ND4_1 000 01000100 AN3C1_5 000 00101100 OR4C4_1 000 01000100 AN3C1_4 000 00100101 ND4C1_2 000 01000101 AN3C1_3 000 00101100 ND4C1_1 000 01001100 AN3C1_2 010 00100110 OR4C3_2 000 01000101 AN3C1_1 000 00100101 OR4C3_1 000 01001100 ND3C2_3 000 01000110 OR2_4 000 01001011 ND3C2_2 000 01001101 OR2_3 000 01001011 ND3C2_1 000 01001101 OR2_2 000 00000111 AN3C2_3 000 00100110 OR2_1 000 00001110 AN3C2_2 000 00101101 OR3_3 000 01001110 AN3C2_1 000 00101101 OR3_2 000 01000111 AN4_1 000 00100100 OR3_1 010 01001111 AN4C1_2 000 00100101 OR3C1_4 000 01000110 AN4C1_1 000 00101100 OR3C1_3 010 01001110 AN4C2_1 000 00100110 OR3C1_2 000 01001101 ND2_4 010 01001000 OR3C1_1 010 01000111 ND2_3 000 01001001 OR4_1 000 01001111 ND2_2 000 00000100 OR4C1_2 000 01001110 ND2_1 000 00000100 OR4C1_1 000 01000111 OR2C2_4 010 01001000 OR4C2_2 000 01001101 OR2C2_3 000 01001001 OR4C2_1 000 01000110 OR2C2_2 000 00000100 NO2_4 000 00101011 OR2C2_1 000 00000100 NO2_3 000 00101011 ND2C1_4 000 00000101 NO2_2 000 00000000 NO2_1 000 00000000 AO21_2 000 01001011 AN2C2_4 000 00101011 AO21_1 000 01001011 AN2C2_3 000 00101011 AOI21_3 000 00101011 AN2C2_2 000 00000000 AOI21_2 000 00101011 AN2C2_1 000 00000000 AOI21_1 000 00101011 NO3_3 000 00101110 AO21C01_2 000 01000011 NO3_2 000 00100111 AO21C01_1 000 01001010 NO3_1 010 00101111 AOI21C0_2 000 00100011 AN3C3_3 000 00101110 AOI21C0_1 000 00101010 AN3C3_2 000 00100111 AO21C1_3 000 01000011 AN3C3_1 010 00101111 AO21C1_2 000 01000011 NO3C1_4 000 00100110 AO21C1_1 010 01001001 NO3C1_3 010 00101110 AOI21C1_4 000 00101010 NO3C1_2 000 00101101 AOI21C1_3 000 00100011 NO3C1_1 010 00100111 AOI21C1_2 000 00100011 NO4_1 000 00101111 AOI21C1_1 010 00101001 AN4C4_1 000 00101111 AO22_1 000 01001011 NO4C1_2 000 00101110 AO22C01_2 000 01000011 NO4C1_1 000 00100111 AO22C01_1 000 01001010 AN4C3_2 000 00101110 AO22C11_2 000 01000010 AN4C3_1 000 00100111 AO22C11_1 000 01001001 XO2_4 000 00011011 AOI22_1 000 00101011 XO2_3 000 00011011 AOI22C0_2 000 00101010 XO2_2 000 00011011 AOI22C0_1 000 00100011 XO2_1 000 00011011 AX21_3 000 00011011 XNO2_3 000 00010011 AX21_2 000 00011011 XNO2_2 000 00010011 AX21_1 000 00011011 XNO2_1 010 00011001 AX212Q_2 000 00011011 MUXF_2 000 01101010 AX212Q_1 000 00011011 MUXF_1 000 01100011 AXN21_2 000 00010011 MUXFB1_1 110 01100011 AXN21_1 000 00011010 MUXFB0_1 110 01101010 AX21C1_4 000 00011010 MUX2_2 000 01000011 AX21C1_3 000 00010011 MUX2_1 000 01001010 AX21C1_2 010 00011001 MUXP_2 000 11110000 AX21C1_1 000 00010011 MUXP_1 000 11110001 AXN21C1_4 000 00011001 MUXC1_2 000 11111000 AXN21C1_3 000 00011001 MUXC1_1 000 11110011 AXN21C1_2 010 00011000 MUXC0_2 000 11110010 AXN21C1_1 000 00010010 MUXC0_1 000 11111001 AX22_1 000 00011011 MUXI_2 000 11111010 AX22C01_2 000 00011010 MUXI_1 000 11111011 AX22C01_1 000 00010011 MUX2XO_2 000 00011100 AX22C11_2 000 00010010 MUX2XO_1 000 00010101 AX22C11_1 000 00011001 MUX2I_2 000 01000001 OA21_2 000 00101000 MUX2I_1 000 01001000 OA21_1 010 00100000 AO21_4 000 01001011 OAI21_3 000 01000001 AO21_3 000 01001011 OAI21_2 000 01001000 OAI21_1 010 01000000 HZ_1 000 00000011 OA21C01_1 010 00100001 BUFZ_2 000 00000011 OAI21C0_1 010 01000001 BUFZ_1 000 00000011 OA21C1_4 000 00101001 BUFZ2_2 000 00000011 OA21C1_3 000 00100010 BUFZ2_1 000 00000011 OA21C1_2 000 00100010 INVZ_2 000 00000001 OA21C1_1 010 00101000 INVZ_1 000 00000010 OAI21C1_3 000 01001001 FDZQ_2 000 10000011 OAI21C1_2 000 01000010 FDZQ_1 000 10000011 OAI21C1_1 010 01001000 FDZQ2_2 000 10000011 OA22_1 000 00100000 FDZQ2_1 000 10000011 OA22C01_2 000 00100001 FD_4 000 10000011 OA22C01_1 000 00101000 FD_3 010 10001011 OA22C11_1 000 00100010 FD_2 010 10001011 OA22C11_2 000 00101001 FD_1 000 10000011 OAI22_1 000 01000000 FD2_4 000 10100011 OAI22C0_2 000 01000001 FD2_3 010 10101011 OAI22C0_1 000 01001000 FD2_2 010 10101011 OX21_2 000 00010001 FD2_1 000 10100011 OX21_1 010 00010000 LD_1 110 01101010 OXN21_1 010 00010001 LDL_1 110 01100011 OX22_1 000 00010000 FDE_1 110 10000101 OX22C01_2 000 00011000 FDEL_1 110 10001100 OX22C01_1 000 00010001 FDHA_4 000 10100100 ANINV_4 000 00101001 FDHA_3 000 10101001 ANINV_3 000 00100100 FDHA_2 010 10101000 ANINV_2 010 00101000 FDHA_1 000 10100010 ANINV_1 000 00100010 FDHAFB_2 110 10101001 AN2C12Q_3 000 00100010 FDHAFB_1 110 10100100 AN2C12Q_2 000 00101001 CR0_1 110 10001011 AN2C12Q_1 000 01101100 CRST_2 110 10101001 NO22Q_5 000 01101011 CRST_1 110 10100100 NO22Q_4 000 01101011 CR1_2 110 10101001 NO22Q_3 000 01101011 CR1_1 110 10100100 NO22Q_2 000 01100001 FDMUX_2 000 10000101 NO22Q_1 000 01101011 FDMUX_1 000 10001100 XOND_3 000 01011001 FDMUXFB0_1 110 10000101 XOND_2 010 01011000 FDMUXFB1_1 110 10001100 XOND_1 000 01010010 PSC1_2 000 10000101 NDND_1 000 01000100 PSC1_1 000 10001100 XOND3_4 000 01010100 SRPST_2 000 10000101 XOND3_3 000 01010100 SRPST_1 000 10001100 XOND3_2 000 01010100 FDN_4 000 10001011 XOND3_1 000 01010100 FDN_3 000 10001011 HAL1_3 000 01011001 FDN_2 000 10001011 HAL1_2 010 01011000 FDN_1 000 10001011 HAL1_1 000 01010010 FDN2_4 000 10011011 LZ_1 000 00000001 FDN2_3 000 10011011 FDN2_2 000 10011011 FDN2_1 000 10011011 FDNAND_2 000 10000100 FDNAND_1 000 10000100 FDND_2 000 10100100 FDND_1 000 10100100 FDNFB_1 110 10001011 FDOR_1 010 10000001 FDORN_3 000 10001010 FDORN_2 010 10001001 FDORN_1 000 10000011 FDAN_2 000 10000011 FDAN_1 010 10001011 FDR_2 000 10000011 FDR_1 010 10001011 FDS_3 000 10001010 FDS_2 010 10001001 FDS_1 000 10000011 FDAX_1 000 10001011 FDOX_1 000 10000000 FDX3AN_2 000 10100100 FDX3AN_1 000 10100100 FDX_4 000 10001001 FDX_3 000 10000100 FDX_2 000 10000010 FDX_1 010 10001100 FDXFB_2 110 10001001 FDXFB_1 110 10000100 FT_2 110 10001001 FT_1 110 10000100 FDOXF_1 000 10001001 FDOXFB_1 110 10001001 FDAXF_1 000 10000100 FDAXFB_1 110 10000100 FTR_1 110 10001001 FTRA_2 110 10001001 FTRA_1 110 10000100 FTS_1 110 10000100 CLKEDG_1 010 10001011
【0058】以上、本明細書では本発明について本発明
の特定の好ましい実施例に従って詳細に説明したが、当
業者なら多くの修正および変更を行うことができる。し
たがって、特許請求の範囲によって、そのような修正お
よび変更をすべて本発明の精神および範囲に入るものと
して扱うものとする。
【0059】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0060】(1)各々が、少なくとも2つの入力と1
つの出力と1つの制御ノードとを有し、少なくとも2つ
の入力に送られた論理信号に対して論理関数の所定の組
のうちの1組を実行するように構成可能である、第1お
よび第2の論理ゲートと、各々が、第1および第2の入
力を有し、少なくとも一方の第1の入力が第1の論理ゲ
ートの出力に接続され、少なくとも一方の第2の入力が
第2の論理ゲートの出力に接続され、さらに1つの出力
を有する、第3および第4の論理ゲートとを含む、プロ
グラマブル論理セル。 (2)第1のマルチプレクサと第2のマルチプレクサを
さらに含み、第1のマルチプレクサが、第1の論理ゲー
トの出力に接続された第1の入力と、第3の論理ゲート
と第4の論理ゲートのうちの一方の論理ゲートの出力に
接続された第2の入力とを有し、第2のマルチプレクサ
が、第2の論理ゲートの出力に接続された第2のマルチ
プレクサと、第3の論理ゲートと第4の論理ゲートのう
ちの一方の論理ゲートの出力に接続された第2の入力と
を有することを特徴とする、上記(1)に記載のプログ
ラマブル論理セル。 (3)1つの出力を有する第1のマルチプレクサと1つ
の出力を有する第2のマルチプレクサをさらに含み、第
1のマルチプレクサが、第1の論理ゲートと第2の論理
ゲートと第3の論理ゲートと第4の論理ゲートのうちの
1つの論理ゲートの出力に接続された第1の入力を有
し、第1のマルチプレクサが第2のマルチプレクサの出
力に接続された第2の入力をさらに有することを特徴と
する、上記(1)に記載のプログラマブル論理セル。 (4)第4の論理ゲートの出力に接続された入力を有
し、1つの出力をさらに有するデータ記憶回路と、第3
の論理ゲートの出力に接続された入力を有し、1つの出
力をさらに有するインバータとをさらに含む、上記
(1)に記載のプログラマブル論理セル。 (5)論理セルが第1のセル入力ノードを含み、論理セ
ルが、第1のセル入力ノードに接続された入力と、第1
の論理ゲートの2つの入力のうちの一方に接続された出
力と、制御ノードとを有し、第1のセル入力ノードに供
給された論理信号が第1の論理ゲートの2つの入力のう
ちの一方に渡される前に制御可能な方式で反転されたり
反転されなかったりすることができるようにする第1の
プログラマブル・インバータをさらに含むことを特徴と
する、上記(1)に記載のプログラマブル論理セル。 (6)論理セルが4つのセル入力ノードを含み、論理セ
ルが、前記4つのセル入力ノードのそれぞれにあるプロ
グラマブル・インバータであって、各プログラマブル・
インバータがそのそれぞれのセル入力ノードに接続され
た入力と、第1および第2の論理ゲートの入力のうちの
それぞれ異なる入力に接続された出力と、制御ノードと
を有し、4つのセル入力ノードのうちのいずれかに供給
された論理信号が第1および第2の論理ゲートの入力の
うちのそれぞれ異なる入力に渡される前に制御可能な方
式で反転されたり反転されなかったりすることができる
ようにするプログラマブル・インバータをさらに含むこ
とを特徴とする、上記(1)に記載のプログラマブル論
理セル。 (7)第1および第2の論理ゲートのそれぞれの出力が
共通接続出力ノードを含み、共通接続出力ノードが、第
1および第2の論理ゲートのそれぞれの論理関数の所定
の組のそれぞれの関数のための出力ノードを含むことを
特徴とする、上記(1)に記載のプログラマブル論理セ
ル。 (8)第1および第2の論理ゲートのそれぞれの論理関
数の所定の組がNAND関数とNOR関数を含むことを
特徴とする、上記(1)に記載のプログラマブル論理セ
ル。 (9)第3の論理ゲートがNANDゲートを含み、第4
の論理ゲートがXNORゲートを含むことを特徴とす
る、上記(1)に記載のプログラマブル論理セル。 (10)論理セルが少なくとも3つのセル入力を含み、
論理セルが、マルチプレクサの第1の入力が少なくとも
3つのセル入力のうちの第1の入力に接続され、マルチ
プレクサの第2の入力が少なくとも3つのセル入力のう
ちの第2の入力に接続され、マルチプレクサの制御入力
が少なくとも3つのセル入力のうちの第3の入力に接続
されている、第1および第2の入力と制御入力を有する
マルチプレクサをさらに含むことを特徴とする、上記
(1)に記載のプログラマブル論理セル。 (11)論理セルが、第1および第2の論理ゲートの制
御ノードに接続され、第1および第2の論理ゲートを共
通して構成する、単一のメモリ手段をさらに含むことを
特徴とする、上記(1)に記載のプログラマブル論理セ
ル。 (12)上記(1)に記載の複数のプログラマブル論理
セルを有するフィールド・プログラマブル・ゲート・ア
レイ。 (13)第1の論理出力がそれに対応する第1のマルチ
プレクサを有し、第2の論理出力がそれに対応する第2
のマルチプレクサを有し、前記第1および第2のマルチ
プレクサのそれぞれが複数の入力と1つの出力を有し、
前記第1および第2のマルチプレクサのそれぞれの出力
がそれに対応する論理出力に接続された少なくとも第1
と第2の論理出力を含むプログラマブル論理セルであっ
て、第2のマルチプレクサの出力から第1のマルチプレ
クサの複数の入力のうちの第1の入力への接続をさらに
含む、プログラマブル論理セル。 (14)セル入力ノードと複数の組合せ論理回路または
順序論理回路とを含むプログラマブル論理セルであっ
て、前記プログラマブル論理セルが入力論理信号をプロ
グラム可能な方式で反転する反転回路をさらに含み、イ
ンバータ回路が入力論理信号を受け入れるセル入力ノー
ドに接続されたインバータ入力ノードと、複数の組合せ
論理回路または順序論理回路のうちの1つの論理回路に
論理信号を供給するインバータ出力ノードと、インバー
タ制御ノードとを有し、インバータ回路が、インバータ
出力ノードに入力論理信号の補数を表す論理信号が供給
される第1の状態と、インバータ出力ノードに入力論理
信号の非補数を表す論理信号が供給される第2の状態と
にプログラム可能であって、インバータ回路が前記第1
と第2の両方の状態において入力論理信号をバッファす
ることを特徴とする、プログラマブル論理セル。 (15)その中に配置された複数の論理セルと相互接続
網とを含むプログラマブル集積回路アレイであって、相
互接続網が複数の論理セルのうちの第1のセルとの間で
シングを伝送する第1の複数の相互接続導線を含み、複
数の論理セルの第1のセルが、4つの論理入力ノード
と、2つの論理出力ノードと、各入力マルチプレクサが
4つの論理入力ノードのうちの対応する1つのノードに
接続された出力を有し、4つの入力マルチプレクサのう
ちの第1のマルチプレクサと第2のマルチプレクサがそ
れぞれ第1の複数の入力を有し、第1の複数の入力のそ
れぞれが第1の複数の相互接続導線のそれぞれに接続さ
れている、4つの入力マルチプレクサと、各プログラマ
ブル入力インバータが4つの論理入力ノードのうちの対
応する1つのノードに接続された入力ノードを有し、各
プログラマブル入力インバータが1つの出力ノードをさ
らに有する、4つのプログラマブル入力インバータと、
2つの入力を有し、それぞれが前記入力における信号に
対して関数の所定の組のうちの1つの関数を実行するよ
うに構成可能であり、それぞれの2つの入力がそれぞれ
4つのプログラマブル入力インバータの出力ノードのう
ちの対応する1つのノードに接続されている、第1およ
び第2の論理ゲートとを含むことを特徴とする、プログ
ラマブル集積回路アレイ。
【図面の簡単な説明】
【図1】当技術分野で周知のプログラマブル論理セルの
例を示す図である。
【図2】本発明の原理による複数のプログラマブル論理
セルがその中に配置されているプログラマブル・ゲート
・アレイを示す図である。
【図3】本発明の原理による複数のプログラマブル論理
セルがその中に配置され、それらのプログラマブル論理
セルを接続する相互接続網を有するプログラマブル・ゲ
ート・アレイの一部を示す図である。
【図4】本発明の原理による1つのプログラマブル論理
セルとその周囲の相互接続網との接続を示す図である。
【図5】図4で使用されている記号の凡例である。
【図6】本発明の原理による1つのプログラマブル論理
セルを示す図である。
【図7】本発明の原理によるプログラマブル論理セル内
で用いている構成可能論理ゲートの回路略図である。
【図8】本発明の原理によるプログラマブル論理セル内
で用いているプログラマブル入力インバータの論理図で
ある。
【図9】本発明の原理によるプログラマブル論理セル内
で用いているプログラマブル入力インバータの回路略図
である。
【図10】本発明の原理によるプログラマブル論理セル
内で用いているプログラマブル入力インバータの回路略
図である。
【図11】本発明の原理によるプログラマブル論理セル
内で用いているプログラマブル入力インバータの回路略
図である。
【図12】本発明の論理セル内の固定論理ゲートの配置
構成の好ましい実施例を示す図である。
【図13】図6の論理セル内の構成メモリ・セルMnn
の場所を示す図である。
【図14】図6の論理セル内の構成メモリ・セルの使用
に関する詳細を示す図である。
【図15】図6の論理セル内のトライステート・バッフ
ァ制御に関する詳細を示す図である。
【符号の説明】
30 プログラマブル・ゲート・アレイ 32 論理セル 34 入出力ピン 40 セレクタ 42 論理セル 44 垂直相互接続導線 46 水平相互接続導線 48 スイッチ素子 50 論理セル 52 垂直相互接続導線グループ 54 水平相互接続導線グループ 70 プログラマブル論理セル 72 直接接続 74 直接接続 78 プログラマブル・マルチプレクサ 86 入力インバータ 88 構成可能論理ゲート 90 論理ゲート 92 フリップフロップ 96 マルチプレクサ 98 マルチプレクサ 100 構成可能論理ゲート 110 入力 114 インバータ 116 出力ノード 118 マルチプレクサ 122 トライステート・インバータ 154 制御トランジスタ 156 制御トランジスタ 162 ORゲート 164 NANDゲート 180 ORゲート 182 NANDゲート
フロントページの続き (72)発明者 キム・ピー・エヌ・クリントン アメリカ合衆国05452 バーモント州エ セックス・ジャンクション オークウッ ド・レーン 13 (72)発明者 クリスティーン・マリー・フラー アメリカ合衆国05495 バーモント州ウ ィリストンハート・サークル 7 (72)発明者 スコット・ホイットニー・グールド アメリカ合衆国05403 バーモント州サ ウス・バーリントン ミル・ポンド・レ ーン 15 (72)発明者 スティーブン・ポール・ハートマン アメリカ合衆国05465 バーモント州ジ ェリコビーチウッド・レーン 3 (72)発明者 ジョセフ・アンドリュー・アイアダンザ アメリカ合衆国05457 バーモント州ハ イネスバーグ リッジビュー・エステー ツ 7 (72)発明者 フランク・レイ・カイザー アメリカ合衆国05446 バーモント州コ ルチェスター ヘリテージ・レーン 8 (72)発明者 エリック・アーネスト・ミルハム アメリカ合衆国05482 バーモント州セ ント・ジョージ ルート116 (72)発明者 ティモシー・ショーン・レニィ アメリカ合衆国05490 バーモント州ア ンダーヒル・センター アイリッシュ・ セトルメント・ロード(番地なし) (72)発明者 ブライアン・エイ・ワース アメリカ合衆国05468 バーモント州ミ ルトン アンドレア・レーン 32 (72)発明者 ガルソン・イエーザー アメリカ合衆国05403 サウス・バーリ ントン ストーンヘッジ・ドライブ デ ィー16 (72)発明者 テランス・ジョン・ジトリッチュ アメリカ合衆国05495 バーモント州ウ ィリストンハート・サークル 17 (56)参考文献 特表 平6−502523(JP,A) 特表 平6−510175(JP,A) 米国特許5329180(US,A) 米国特許5386154(US,A) (58)調査した分野(Int.Cl.7,DB名) H03K 19/177

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】各々が、少なくとも2つの入力と1つの出
    力と1つの制御ノードとを有し、少なくとも2つの入力
    に送られた論理信号に対して論理関数の所定の組のうち
    の1組を実行するように構成可能である、第1および第
    2の論理ゲートと、 各々が、第1および第2の入力を有し、少なくとも一方
    の第1の入力が第1の論理ゲートの出力に接続され、少
    なくとも一方の第2の入力が第2の論理ゲートの出力に
    接続され、さらに1つの出力を有する、第3および第4
    の論理ゲートと、 1つの出力を有する第1のマルチプレクサと1つの出力
    を有する第2のマルチプレクサをさらに含み、 第1のマルチプレクサが、第1の論理ゲートと第2の論
    理ゲートと第3の論理ゲートと第4の論理ゲートのうち
    の1つの論理ゲートの出力に接続された第1の入力と、
    第2のマルチプレクサの出力に接続された第2の入力を
    有する、プログラマブル論理セル。
  2. 【請求項2】第2のマルチプレクサが、第1の論理ゲー
    トと第2の論理ゲートと第3の論理ゲートと第4の論理
    ゲートのうちの1つの論理ゲートの出力に接続された第
    1の入力と、第1のマルチプレクサの出力に接続された
    第2の入力を有することを特徴とする、請求項1に記載
    のプログラマブル論理セル。
  3. 【請求項3】第1のマルチプレクサが、第1の論理ゲー
    トの出力に接続された第1の入力と、第3の論理ゲート
    と第4の論理ゲートのうちの一方の論理ゲートの出力に
    接続された第2の入力とを有し、 第2のマルチプレクサが、第2の論理ゲートの出力に接
    続された第1の入力と、第3の論理ゲートと第4の論理
    ゲートのうちの一方の論理ゲートの出力に接続された第
    2の入力とを有することを特徴とする、請求項2に記載
    のプログラマブル論理セル。
  4. 【請求項4】第4の論理ゲートの出力に接続された入力
    を有し、1つの出力をさらに有するデータ記憶回路と、 第3の論理ゲートの出力に接続された入力を有し、1つ
    の出力をさらに有するインバータとをさらに含む、請求
    項1に記載のプログラマブル論理セル。
  5. 【請求項5】論理セルが第1のセル入力ノードを含み、
    論理セルが、 第1のセル入力ノードに接続された入力と、第1の論理
    ゲートの2つの入力のうちの一方に接続された出力と、
    制御ノードとを有し、第1のセル入力ノードに供給され
    た論理信号が第1の論理ゲートの2つの入力のうちの一
    方に渡される前に制御可能な方式で反転されたり反転さ
    れなかったりすることができるようにする第1のプログ
    ラマブル・インバータをさらに含むことを特徴とする、
    請求項1に記載のプログラマブル論理セル。
  6. 【請求項6】論理セルが4つのセル入力ノードを含み、
    論理セルが、 前記4つのセル入力ノードのそれぞれにあるプログラマ
    ブル・インバータであって、各プログラマブル・インバ
    ータがそのそれぞれのセル入力ノードに接続された入力
    と、第1および第2の論理ゲートの入力のうちのそれぞ
    れ異なる入力に接続された出力と、制御ノードとを有
    し、4つのセル入力ノードのうちのいずれかに供給され
    た論理信号が第1および第2の論理ゲートの入力のうち
    のそれぞれ異なる入力に渡される前に制御可能な方式で
    反転されたり反転されなかったりすることができるよう
    にするプログラマブル・インバータをさらに含むことを
    特徴とする、請求項1に記載のプログラマブル論理セ
    ル。
  7. 【請求項7】第1および第2の論理ゲートのそれぞれの
    出力が共通接続出力ノードを含み、共通接続出力ノード
    が、第1および第2の論理ゲートのそれぞれの論理関数
    の所定の組のそれぞれの関数のための出力ノードを含む
    ことを特徴とする、請求項1に記載のプログラマブル論
    理セル。
  8. 【請求項8】第1および第2の論理ゲートのそれぞれの
    論理関数の所定の組がNAND関数とNOR関数を含む
    ことを特徴とする、請求項1に記載のプログラマブル論
    理セル。
  9. 【請求項9】第3の論理ゲートがNANDゲートを含
    み、第4の論理ゲートがXNORゲートを含むことを特
    徴とする、請求項1に記載のプログラマブル論理セル。
  10. 【請求項10】論理セルが少なくとも3つのセル入力を
    含み、論理セルが、 マルチプレクサの第1の入力が少なくとも3つのセル入
    力のうちの第1の入力に接続され、マルチプレクサの第
    2の入力が少なくとも3つのセル入力のうちの第2の入
    力に接続され、マルチプレクサの制御入力が少なくとも
    3つのセル入力のうちの第3の入力に接続されている、
    第1および第2の入力と制御入力を有するマルチプレク
    サをさらに含むことを特徴とする、請求項1に記載のプ
    ログラマブル論理セル。
  11. 【請求項11】論理セルが、 第1および第2の論理ゲートの制御ノードに接続され、
    第1および第2の論理ゲートを共通して構成する、単一
    のメモリ手段をさらに含むことを特徴とする、請求項1
    に記載のプログラマブル論理セル。
  12. 【請求項12】請求項1に記載の複数のプログラマブル
    論理セルを有するフィールド・プログラマブル・ゲート
    ・アレイ。
  13. 【請求項13】第1の論理出力がそれに対応する第1の
    マルチプレクサを有し、第2の論理出力がそれに対応す
    る第2のマルチプレクサを有し、前記第1および第2の
    マルチプレクサのそれぞれが複数の入力と1つの出力を
    有し、前記第1および第2のマルチプレクサのそれぞれ
    の出力がそれに対応する論理出力に接続された少なくと
    も第1と第2の論理出力を含むプログラマブル論理セル
    であって、 第2のマルチプレクサの出力から第1のマルチプレクサ
    の複数の入力のうちの第1の入力への接続をさらに含
    む、プログラマブル論理セル。
JP12826796A 1995-06-02 1996-05-23 プログラマブル論理セル Expired - Fee Related JP3478666B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/460,481 US5646546A (en) 1995-06-02 1995-06-02 Programmable logic cell having configurable gates and multiplexers
US460481 1995-06-02

Publications (2)

Publication Number Publication Date
JPH08340248A JPH08340248A (ja) 1996-12-24
JP3478666B2 true JP3478666B2 (ja) 2003-12-15

Family

ID=23828885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12826796A Expired - Fee Related JP3478666B2 (ja) 1995-06-02 1996-05-23 プログラマブル論理セル

Country Status (3)

Country Link
US (2) US5646546A (ja)
EP (1) EP0746107A3 (ja)
JP (1) JP3478666B2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5936424A (en) * 1996-02-02 1999-08-10 Xilinx, Inc. High speed bus with tree structure for selecting bus driver
US5847580A (en) * 1996-10-10 1998-12-08 Xilinx, Inc. High speed bidirectional bus with multiplexers
US6211703B1 (en) * 1996-06-07 2001-04-03 Hitachi, Ltd. Signal transmission system
US5926035A (en) * 1996-06-26 1999-07-20 Cypress Semiconductor Corp. Method and apparatus to generate mask programmable device
US5959466A (en) 1997-01-31 1999-09-28 Actel Corporation Field programmable gate array with mask programmed input and output buffers
US5936426A (en) 1997-02-03 1999-08-10 Actel Corporation Logic function module for field programmable array
US5920202A (en) * 1997-02-26 1999-07-06 Xilinx, Inc. Configurable logic element with ability to evaluate five and six input functions
US5942913A (en) * 1997-03-20 1999-08-24 Xilinx, Inc. FPGA repeatable interconnect structure with bidirectional and unidirectional interconnect lines
US5889411A (en) * 1997-02-26 1999-03-30 Xilinx, Inc. FPGA having logic element carry chains capable of generating wide XOR functions
US6201410B1 (en) 1997-02-26 2001-03-13 Xilinx, Inc. Wide logic gate implemented in an FPGA configurable logic element
US6204689B1 (en) 1997-02-26 2001-03-20 Xilinx, Inc. Input/output interconnect circuit for FPGAs
US5963050A (en) 1997-02-26 1999-10-05 Xilinx, Inc. Configurable logic element with fast feedback paths
US5914616A (en) * 1997-02-26 1999-06-22 Xilinx, Inc. FPGA repeatable interconnect structure with hierarchical interconnect lines
US6150837A (en) 1997-02-28 2000-11-21 Actel Corporation Enhanced field programmable gate array
US6090650A (en) * 1997-09-30 2000-07-18 Intel Corporation Method to reduce timing skews in I/O circuits and clock drivers caused by fabrication process tolerances
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US6124730A (en) * 1998-12-15 2000-09-26 Vantis Corporation Methods for configuring FPGA's having variable grain components for providing time-shared access to interconnect resources
US6255847B1 (en) 1998-05-21 2001-07-03 Lattice Semiconductor Corporation Programmable logic device
US6407576B1 (en) 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
EP1228440B1 (de) 1999-06-10 2017-04-05 PACT XPP Technologies AG Sequenz-partitionierung auf zellstrukturen
JP2001319976A (ja) * 2000-05-11 2001-11-16 Nec Corp 半導体装置
US6628140B2 (en) * 2000-09-18 2003-09-30 Altera Corporation Programmable logic devices with function-specific blocks
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
DE60316068T8 (de) * 2002-05-13 2009-02-26 SICRONIC REMOTE KG, LLC, Wilmington Prüfverfahren und -gerät für Konfigurationsspeicherzellen in programmierbaren logischen Bauelementen (PLDS)
JP4388895B2 (ja) 2002-09-06 2009-12-24 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト リコンフィギュアラブルなシーケンサ構造
US7187222B2 (en) * 2004-12-17 2007-03-06 Seiko Epson Corporation CMOS master/slave flip-flop with integrated multiplexor
US7696783B2 (en) * 2005-09-05 2010-04-13 Nxp B.V. Logic modules for semiconductor integrated circuits
US7463060B1 (en) 2006-06-13 2008-12-09 Lattice Semiconductor Corporation Programmable logic device and method of testing
WO2008137511A1 (en) * 2007-05-04 2008-11-13 Crossfire Technologies, Inc. Accessing or interconnecting integrated circuits
JP5523988B2 (ja) * 2010-08-23 2014-06-18 敏則 末吉 プログラマブル論理回路装置およびその回路決定方法
US8587343B2 (en) 2011-06-29 2013-11-19 Instituto Potosino De Investigacion Cientifica y Tecnologica A.C. Reconfigurable dynamic logic gate with linear core
WO2016118931A1 (en) * 2015-01-23 2016-07-28 Metrotech Corporation Signal generator with multiple outputs
US10528697B1 (en) * 2017-11-20 2020-01-07 Xilinx, Inc. Timing-closure methodology involving clock network in hardware designs

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3691401A (en) * 1971-03-10 1972-09-12 Honeywell Inf Systems Convertible nand/nor gate
US4558236A (en) * 1983-10-17 1985-12-10 Sanders Associates, Inc. Universal logic circuit
USRE34363E (en) * 1984-03-12 1993-08-31 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4774421A (en) * 1984-05-03 1988-09-27 Altera Corporation Programmable logic array device using EPROM technology
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
US4642487A (en) * 1984-09-26 1987-02-10 Xilinx, Inc. Special interconnect for configurable logic array
US4706216A (en) * 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
US4789951A (en) * 1986-05-16 1988-12-06 Advanced Micro Devices, Inc. Programmable array logic cell
US4758745B1 (en) * 1986-09-19 1994-11-15 Actel Corp User programmable integrated circuit interconnect architecture and test method
US5155389A (en) * 1986-11-07 1992-10-13 Concurrent Logic, Inc. Programmable logic cell and array
US5019736A (en) * 1986-11-07 1991-05-28 Concurrent Logic, Inc. Programmable logic cell and array
EP0317287B1 (en) * 1987-11-20 1992-11-11 Kawasaki Steel Corporation Programmable logic device
JP2723926B2 (ja) * 1988-09-20 1998-03-09 川崎製鉄株式会社 プログラマブル・ロジツク・デバイス
US5231588A (en) * 1989-08-15 1993-07-27 Advanced Micro Devices, Inc. Programmable gate array with logic cells having symmetrical input/output structures
US5185706A (en) * 1989-08-15 1993-02-09 Advanced Micro Devices, Inc. Programmable gate array with logic cells having configurable output enable
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5028821A (en) * 1990-03-01 1991-07-02 Plus Logic, Inc. Programmable logic device with programmable inverters at input/output pads
US4999687A (en) * 1990-04-25 1991-03-12 At&T Bell Laboratories Logic element and article comprising the element
US5055718A (en) * 1990-05-11 1991-10-08 Actel Corporation Logic module with configurable combinational and sequential blocks
US5073729A (en) * 1990-06-22 1991-12-17 Actel Corporation Segmented routing architecture
US5245227A (en) * 1990-11-02 1993-09-14 Atmel Corporation Versatile programmable logic cell for use in configurable logic arrays
US5144166A (en) * 1990-11-02 1992-09-01 Concurrent Logic, Inc. Programmable logic cell and array
US5327023A (en) * 1991-03-28 1994-07-05 Kawasaki Steel Corporation Programmable logic device
US5241224A (en) * 1991-04-25 1993-08-31 Altera Corporation High-density erasable programmable logic device architecture using multiplexer interconnections
EP0512536B1 (en) * 1991-05-10 1998-09-30 Kabushiki Kaisha Toshiba Programmable logic unit circuit
US5298805A (en) * 1991-08-29 1994-03-29 National Semiconductor Corporation Versatile and efficient cell-to-local bus interface in a configurable logic array
US5338984A (en) * 1991-08-29 1994-08-16 National Semiconductor Corp. Local and express diagonal busses in a configurable logic array
US5189320A (en) * 1991-09-23 1993-02-23 Atmel Corporation Programmable logic device with multiple shared logic arrays
JPH05252025A (ja) * 1991-10-28 1993-09-28 Texas Instr Inc <Ti> 論理モジュールおよび集積回路
US5331226A (en) * 1992-07-23 1994-07-19 Xilinx, Inc. Logic cell for field programmable gate array having optional input inverters
US5319254A (en) * 1992-07-23 1994-06-07 Xilinx, Inc. Logic cell which can be configured as a latch without static one's problem
US5386154A (en) * 1992-07-23 1995-01-31 Xilinx, Inc. Compact logic cell for field programmable gate array chip
US5291079A (en) * 1992-07-23 1994-03-01 Xilinx, Inc. Configuration control unit for programming a field programmable gate array and reading array status
US5317698A (en) * 1992-08-18 1994-05-31 Actel Corporation FPGA architecture including direct logic function circuit to I/O interconnections
US5302866A (en) * 1993-03-18 1994-04-12 Xilinx, Inc. Input circuit block and method for PLDs with register clock enable selection
US5341044A (en) * 1993-04-19 1994-08-23 Altera Corporation Flexible configuration logic array block for programmable logic devices
US5399922A (en) * 1993-07-02 1995-03-21 Altera Corporation Macrocell comprised of two look-up tables and two flip-flops

Also Published As

Publication number Publication date
JPH08340248A (ja) 1996-12-24
US5748009A (en) 1998-05-05
EP0746107A3 (en) 1996-12-11
US5646546A (en) 1997-07-08
EP0746107A2 (en) 1996-12-04

Similar Documents

Publication Publication Date Title
JP3478666B2 (ja) プログラマブル論理セル
US5703498A (en) Programmable array clock/reset resource
JP3302014B2 (ja) プログラム可能な特定用途向け集積回路及び論理セル
US6838904B1 (en) Enhanced CPLD macrocell module having selectable bypass of steering-based resource allocation
JP3372755B2 (ja) プログラマブル・アレイ
JP3509047B2 (ja) プログラマブル・アレイ相互接続網
US5233539A (en) Programmable gate array with improved interconnect structure, input/output structure and configurable logic block
US5280202A (en) Programmable application specific integrated circuit and logic cell therefor
JP3284223B2 (ja) 構成可能論理アレイ
US5260881A (en) Programmable gate array with improved configurable logic block
US6501296B2 (en) Logic/memory circuit having a plurality of operating modes
US5781032A (en) Programmable inverter circuit used in a programmable logic cell
JPH11510038A (ja) 分散型ramを有しかつセルの利用率が高められた、フィールドプログラマブルゲートアレイ
US6924664B2 (en) Field programmable gate array
US6278311B1 (en) Method for minimizing instantaneous currents when driving bus signals
US5760611A (en) Function generator for programmable gate array
US5973506A (en) Method and apparatus for connecting long lines to form wide busses
JP3601428B2 (ja) セレクタ
You et al. Gigahertz FPGA by SiGe BiCMOS technology for low power, high speed computing with 3-D memory

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees