JPH07273640A - フィールドプログラマブルゲートアレー素子 - Google Patents

フィールドプログラマブルゲートアレー素子

Info

Publication number
JPH07273640A
JPH07273640A JP7066369A JP6636995A JPH07273640A JP H07273640 A JPH07273640 A JP H07273640A JP 7066369 A JP7066369 A JP 7066369A JP 6636995 A JP6636995 A JP 6636995A JP H07273640 A JPH07273640 A JP H07273640A
Authority
JP
Japan
Prior art keywords
signal
data
cell
crr
programmable logic
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.)
Pending
Application number
JP7066369A
Other languages
English (en)
Inventor
Gregory S Snider
グレゴリー・エス・スナイダー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH07273640A publication Critical patent/JPH07273640A/ja
Pending 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/177Logic 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/17704Logic 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 the logic functions being realised by the interconnection of rows and columns

Abstract

(57)【要約】 【目的】 レジスタファイルや内容参照可能メモリ等を
より効率的に構成する改良されたFPGAシステムを提供す
る。 【構成】 RAM 、内容参照可能メモリ、およびマルチポ
ートレジスタファイルをプログラマブルゲートアレー内
に構成するためのプログラマブル論理セルをメモリセル
と比較器の機能を少いゲート数で組み合わせ、かつ、当
該プログラマブル論理回路に、比較器への入力の1つを
メモリセルに格納されたデータと外部データ信号の間で
切り替えることを可能にする多重化回路を含ませてい
る。複数のかかるプログラマブル論理回路を復号器とと
もに二次元配列の形態に接続することにより、小型RAM
、内容参照可能メモリあるいはマルチポートレジスタ
ファイルを構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は集積回路に関し、より詳
細にはプログラマブル論理アレーのアーキテクチャの改
良に関する。
【0002】
【従来の技術】本明細書では、プログラマブル論理をユ
ーザーが任意の構成の他のデジタルシステムを高速にエ
ミュレートするように構成することができる一定の接続
性を有するデジタル回路をいう。プログラマブル論理は
高速論理シミュレータやある種のタスクに関してはスー
パーコンピュータと比較してはるかに低いコストでそれ
以上の性能を発揮することのできる構成可能計算エンジ
ンの作成に用いることができる。(無数のゲートを有す
る)大型のデジタル回路をエミュレートすることのでき
るプログラマブル論理システムは高価であり、通常エミ
ュレートされるゲート1つにつき2ドルから4ドル程度
かかり、また多数の複雑なプリント回路基板上に配置さ
れる多数の集積回路を必要とする。
【0003】
【発明が解決しようとする課題】プログラマブル論理に
は、フィールドプログラマブルゲートアレー(FPGA)技
術に基づくものがある。この方法ではある一定の構成で
接続された多数のFPGAが用いられる。それぞれのFPGA
は、(1)特定の論理機能(“AND ”あるいは“EXCLUS
IVE OR”等)を実行するようにプログラムあるいは構成
することのできる多数のプログラマブル論理セルアレー
(PLC )と、(2)これらの論理セルの相互の接続や外
部の入出力ピンへの接続を行なうようにプログラムする
ことのできる経路選択資源の2種類の資源を有する。し
たがって、プログラムされたFPGAはシミュレートすべき
全論理システムに対する部分集合をなす有益な論理回路
を形成する。FPGAの全集合は所望の論理システムを機能
的にシミュレートするものである。かかるアーキテクチ
ャにおけるFPGAは変更不能な一定の物理的接続を有する
ため、ある論理システムをシミュレートするためにはそ
の論理システムのための回路を、このもとの回路の論理
機能と相互接続がFPGAのプログラミングによって正確に
表現されるように相互接続されたFPGAにマッピングしな
ければならない。FPGA内の論理セルは複数の計算を、そ
の計算結果を経路選択網を介して互いにやり取りしなが
ら並行して実行するため、高速なシミュレーションが可
能である。
【0004】FPGA システムはフレキシブルであるた
め、新しい論理設計をディスクリート部品やカスタム集
積回路で構成することを必要とせず迅速に試作すること
を可能にする。しかし、このようなフレキシビリティが
問題を生じることもある。FPGAは幅広い未知の論理設計
を支援するように考案されたものであるため、FPGAのア
ーキテクチャには汎用性のない経路選択や論理機能も含
まれていなければならない。さらに、汎用のFPGA資源は
ある種の回路には整合しないことが多い。したがって、
特定のアプリケーションに対するFPGA資源の利用効率は
専用の集積回路で実施した場合に達成される利用効率よ
り低くなる傾向がある。このような効率の低下は通常こ
の装置のフレキシビリティによって低減されるが、なか
には、従来のFPGAにマッピングした場合に、それをFPGA
あるいはFPGAからなるシステムで構成することが実用的
でないほど低い効率を示すデジタル回路もある。
【0005】特に、市販されているFPGAへのマッピング
の効率が低い回路として、マルチポートレジスタファイ
ルおよび内容参照可能メモリ(CAM )の2種類がある
が、これらの回路は多くの論理システムにおいて重要な
構成要素をなすものである。純ブール論理を用いて構成
した場合、内容参照可能メモリおよびマルチポートレジ
スタファイルは多数のゲートを必要とする。たとえば、
4つの書き込みポートと8つの読み出しポートを有する
96のレジスタからなる80ビット幅のレジスタファイルに
は250,000 以上の2入力ゲートあるいはその他の機能が
必要である。かかるFPGAにかかるコストは過大なものに
なる。したがって、マルチポートレジスタファイルおよ
び内容参照可能メモリはほとんどのFPGAシステムの適用
対象回路から外れている。
【0006】本発明の目的は広義には改良されたFPGA素
子を提供することである。
【0007】さらに、本発明の目的はレジスタファイル
をより効率的に構成することのできるFPGA素子を提供す
ることである。
【0008】本発明のさらに別の目的は、内容参照可能
メモリをより効率的に構成することのできるFPGA素子を
提供することである。
【0009】
【課題を解決するための手段】本発明の以上の目的また
その他の目的は、当業者には以下の発明の詳細な説明と
添付図面から理解されるであろう。
【0010】本発明は、RAM 、内容参照可能メモリ、お
よびマルチポートレジスタファイルをプログラマブルゲ
ートアレー内に構成するためのプログラマブル論理セル
を提供する。このプログラマブル論理回路は、メモリセ
ルと比較器の機能を少いゲート数で組み合わせるもので
ある。このプログラマブル論理回路は、比較器への入力
の1つをメモリセルに格納されたデータと外部データ信
号の間で切り替えることを可能にする多重化回路を含
む。複数のかかるプログラマブル論理回路を復号器とと
もに二次元配列の形態に接続して、小型RAM 、内容参照
可能メモリあるいはマルチポートレジスタファイルを構
成することができる。
【0011】
【実施例】本発明はマルチポートレジスタファイルと内
容参照可能メモリの論理構造と従来の実施態様を参照す
ることによってより容易に理解することができる。図1
はマルチポートレジスタファイル10のブロック図であ
る。マルチポートレジスタファイルは複数の書き込みポ
ートによる書き込みと複数の読み出しポートによる読み
出しを同時に行なうことのできるレジスタアレーと等価
である。レジスタの例を13―15に示す。読み出しポート
と書き込みポートの例をそれぞれ16、17および11、12に
示す。それぞれの書き込みポートには3つの入力、書き
込みを行なうべきレジスタを指定するアドレス、そのレ
ジスタに書き込むべきデータ、および書き込みを実行す
るために必要なイネーブル信号を必要とする。それぞれ
の読み出しポートは読み出すべきレジスタを指定するア
ドレスを必要とするだけである。
【0012】レジスタは集団として見た場合1ビットメ
モリセルの二次元配列とみなすことができる。説明を簡
単にするために、ここでは1ビット幅のレジスタを用い
る。しかし、本発明の原理を用いて任意の幅のレジスタ
を構成することができることは当業者には明らかであろ
う。
【0013】図2は書き込みポートの1つの可能な実施
態様のブロック図である。書き込みポート20はこのレジ
スタファイル内のN 個の1ビットレジスタのそれぞれに
1対の信号を供給する2つのデマルチプレクサ21および
22からなる。デマルチプレクサ21はアドレスとイネーブ
ル信号を復号してFILE_WRITE 信号を生成し、それをAD
DRESS によって指定されたレジスタに接続する。デマル
チプレクサ22はDATAに等しい値を持つ信号FILE_DATAを
生成し、この信号をENABLE信号が発せられたときADDRES
S によって指定されたレジスタに送る。それぞれの書き
込みポートは一度にこのファイル内の1つのレジスタに
のみ書き込みを行なうことができる。複数の書き込みポ
ートがある場合、異なる書き込みポートによってそれぞ
れのレジスタに対して生成されたFILE_WRITE 信号とFI
LE_DATA信号の論理和がとられ、それぞれのレジスタに
対して1対の信号が提供される。当業者には、同じアド
レスが一度に2つ以上の書き込みポートに与えられるこ
とがないようになんらかの機構を設ける必要があること
は明らかであろう。
【0014】書き込みポートに比べて、読み出しポート
の構成ははるかに簡単である。読み出しポートは図3に
示すような単一のN:1 マルチプレクサ31から構成するこ
とができる。複数の読み出しポートがある場合にも、単
にレジスタファイルビットの出力を共用するだけで、上
述した論理和動作に相当する結合動作を必要としない。
【0015】実際のレジスタビットは図4の33に示すよ
うなフリップフロップ33に格納することができる。FILE
_DATAはFILE_WRITE 信号が発生した後次のクロックサ
イクルにこのフリップフロップにクロックされる。
【0016】レジスタファイルの論理構造の説明は以上
である。次に、内容参照可能メモリの論理構造をより詳
細に説明する。ここでは、CAM とは通常のRAM の読み出
しおよび書き込み動作を支援するメモリとみなすことが
できるが、さらに、ある一定の幅の目標ビットパターン
をこのメモリのそれぞれのワードに関係付けられた同じ
幅の“タグフィールド”と比較する並列探索動作を支援
する。
【0017】図5は代表的なCAM アーキテクチャのブロ
ック図である。CAM 40は多数のデータ記録42に分割され
る。それぞれの記録はタグフィールド43とデータフィー
ルド44を含む。また、それぞれの記録には比較器45が関
係付けられている。目標パターンはこれらの比較器に接
続されたバス46に接続されている。それぞれの比較器45
は目標パターンをそれに関係するタグフィールド43の内
容と比較する。タグフィールドの内容が目標パターンに
一致する場合、比較器は一致信号を生成し、この信号に
よって、そのデータ記録に関係付けられたルータ47がそ
の規則のデータフィールド44をバス48に接続する。また
バス48には一致または不一致を示す一致信号が接続され
る。本発明はFPGAにおけるタグフィールドの構成とCAM
の比較機能に関する。
【0018】図6は代表的なFPGA 50 のブロック図であ
る。FPGA 50 は2つの主要な構成要素群を有する。すな
わち、組み合わせ論理機能と格納機能を実行するプログ
ラマブル論理セル(PLC )52およびPLC の入出力の相互
の接続と外部入出力ピンへの接続に用いられる経路選択
網54を形成する構成可能な経路選択資源である。本発明
が主として対象とするのはPLC である。代表的なPLC と
して、いくつかの入力を受け取り、1つあるいはそれ以
上の出力を生成する機能セルがある。それぞれの出力は
フリップフロップが含まれることがある。
【0019】本発明はマルチプレクサレジスタファイル
およびCAM 、さらに従来のRAM の実施を効率的に行なう
ように構成することのできる新しいPLC を提供すること
によって従来のFPGAアーキテクチャに見られた問題を解
決するものである。このセルを以下の説明ではCRR メモ
リセルと呼ぶ。本発明のCRR メモリセル100 の基本的特
徴を示すブロック図を図7に示す。CRR メモリセル100
は1ビットメモリセル102 、マルチプレクサ103 、およ
び比較器104 として見ることができる。マルチプレクサ
103 はメモリセル102 に格納されたデータあるいは外部
信号106 が比較器104 によってDATA入力信号と比較され
るかどうかを決定する。
【0020】CRRメモリセル200 の実施例の概略を図8
に示す。このメモリセルは交差結合されたインバータ20
2 および203 と通常導通状態にあるトランジスタ205 お
よび206 によって構成される。このメモリセルには2つ
の方法で書き込みを行なうことができる。第1の方法で
は、書き込むべきデータがWRITE _DATAラインに送られ
る。WRITE _ENABLE信号とWORD信号が発さられると、ゲ
ート201 がトランジスタ204 をオンに、トランジスタ20
5 をオフにして、WRITE _DATAの値をメモリセル内の前
の値の上に重ね書きされる。
【0021】第2の方法では、書き込むべきデータの補
数がライン224 上に送られ、これがREGFILE 信号によっ
てトランジスタ206 がオフされ、トランジスタ207 がオ
ンされたとき格納された値の上に重ね書きされる。WRIT
E 信号あるいはREGFILE 信号は書き込みサイクルが終了
し、メモリセル内のデータの読み出しが可能になるまで
ローに保持されねばならないことに注意しなければなら
ない。
【0022】メモリセルはWORDラインをハイにすること
によって読み出される。これによって、格納された値が
トライステートバッファ207 を介してREAD_DATAライン
に送られる。
【0023】比較機能は排他的論理和ゲート208 によっ
て実施される。ゲート208 はWRITE_DATAライン上のデ
ータを、トランジスタ206 および207 の状態に応じて、
メモリセルの内容あるいはライン224 上のデータの補数
と比較する。トランジスタ211 またはトランジスタ212
のいずれかが導通状態である場合、トランジスタ209が
その比較結果によって*MISMATCHラインをプルダウンす
るさせる。ゲート210の機能の態様は、レジスタファイ
ルを後に図11を参照して説明するように実施するさいの
WRITE _PORT信号の説明から明らかになるであろう。ト
ランジスタ206および207 は上述した多重化機能を実行
する。
【0024】CRRメモリセルを復号器および制御論理と
組み合わせて図9の300 に示すような簡単なRAM を作成
することができる。RAM 300 は8つのCRR メモリセル30
1 と3ビットアドレスを復号する復号器302 からなる8
ワード×1ビットのRAM である。このように使用する場
合、REGFILE ライン、WRITE _PORTライン、およびSEAR
CHラインはローに保持され、*DATAラインと*MISMATCH
ラインは使用されない。このRAM へのアドレスラインが
復号器302 によって復号され、対応するCRR メモリセル
のWORDラインがハイになり、それによって選択されたCR
R メモリセルからの値がREAD_DATAバス304 に送られ
る。復号されたアドレスとWRITE _DATA信号が安定した
後ライン305 上のWRITE _ENABLE信号がハイになると、
WITE_DATAライン306 上のデータがこのCRR メモリセル
に書き込まれる。
【0025】本発明にしたがってWORDラインによって選
択されたCRR メモリセルと図10に示す1ビットメモリセ
ルおよび復号回路とを組み合わせて図11に示すようなマ
ルチポートレジスタファイルを実現することができる。
まず、レジスタファイル内のレジスタの1つのビットを
格納するための回路の概略図である図10を参照する。以
下の説明ではこの回路をRBITと呼ぶ。RBITセルは1つの
ビットを格納し、この格納された値を示す信号を生成す
る。このセルの内容は格納されたデータが第2の信号に
対してある一定の関係にない場合、その補数が取られ
る。本発明の実施例では、RBIT 350が図10に示すように
D フリップフロップ351 と排他的論理和ゲート352 から
構成される。本実施例では、フリップフロップ351 の内
容は*DATAが*MISMATCHに一致しない場合、次のクロッ
クパルスでその補数が取られる。
【0026】図11は本発明のマルチポートレジスタファ
イル400 のブロック図である。マルチポートレジスタフ
ァイル400 は図面の簡略化のため1ビット幅のレジスタ
を有するものとして示されている。マルチポートレジス
タファイル400 はRBITセルをそれぞれのRAM に追加し、
RAM 機能の実施では使用されなかった*DATAラインと*
MISMATCHラインを接続することによって、複数の上述し
たような簡単なRAM メモリから構成される。RAM メモリ
の例を402-404 に示す。図11に示す例では、1つのRAM
に対して8つのCRR メモリセル1 があるが、他の構成の
使用も可能であることは当業者には明らかであろう。
【0027】レジスタビットに格納されたデータは対応
するRBITセルに格納される。図11に示すように、それぞ
れのRBITセルの*DATA信号と*MISMATCH信号がそれぞれ
のRAM メモリの異なる*DATAラインおよび*MISMATCHラ
インに接続される。CRR メモリセルのそれぞれの行の*
DATAラインもまた対応する*DATAラインに接続される。
RBITセルへのデータの書き込みの態様については後によ
り詳細に説明する。
【0028】このアプリケーションでは、CRR メモリセ
ルはデータビットの格納ではなく、読み出しポートおよ
び書き込みポートの実施のために用いられる。CRR メモ
リセル内のREGFILE 信号はハイとされ、SEARCH信号はロ
ーとされる。それぞれのRAMはこのレジスタファイルの
読み出しポートあるいは書き込みポートとして機能す
る。WRITE _PORT信号がハイになったRAM が書き込みポ
ートであり、WRITE _PORT信号がローになったRAM が読
み出しポートである。
【0029】それぞれのRBITセルに格納されたレジスタ
データビットの補数が*DATAラインを介してそれぞれの
読み出しポートおよび書き込みポートに同報通信され
る。たとえば、RBITセル405 はその内容を*DATA(0) ラ
イン上に同報通信し、RBITセル408 はその内容を*DATA
(1) ライン上に同報通信する。
【0030】読み出しポートはRAM の動作と同様な態様
で動作する。ただし、READ_DATAラインに送られるデー
タは内部のメモリセルではなく対応する*DATAラインか
ら取られる。たとえば、RAM 402 が読み出しポートとし
て接続されている場合を想定する。アドレス0が復号器
407 に入力されると、CRR メモリセル401 が選択され
る。REGFILE 信号が出ているため、CRR メモリセル401
のトランジスタ207 、ゲート203 、トランジスタ205 、
およびゲート202 (図8参照)は、CRR メモリセル401
のWORDラインに接続された復号器407 の出力によって作
動する反転ドライバ207 を介して、*DATA(0) をREAD_
DATAラインに接続する。
【0031】書き込みポートも同様な態様で動作する。
書き込むべきレジスタファイルビットはRAM としての動
作においてCRR メモリセルの選択に用いられたのと同じ
データラインを用いてアドレス指定される。WRITE _EN
ABLE信号が発せられ、選択されたCRR メモリセルがその
CRR メモリセル内のメモリセルにWRITE _DATA値を書き
込もうとする。しかし、REGFILE 信号も出ているため、
このCRR メモリセル内のメモリセルはすでに使用不能に
なっている。その結果、排他的論理和ゲート208 によっ
て比較される値は、WRITE _DATAライン上の値と、トラ
ンジスタ207 および*DATAライン値を反転させるゲート
203 を介してゲート208 に接続される*DATAライン上の
値である。書き込むべきデータが格納されたデータと異
なる場合、*MISMATCH信号がローとされ、その結果次の
サイクルでRBITセルのデータの補数が取られる。
【0032】また、多数のRAM メモリを組み合わせるこ
とによってCAM タグフィールドおよび探索機能を提供す
ることができる。図12はRAM 502-504 等の複数のRAM か
らなるCAM 500 のタグ部分のブロック図である。これら
のRAM は図11を参照して上述したような方法でCRR メモ
リセルから構成される。しかし、この場合、CRR メモリ
セル内のメモリセルは情報すなわちタグフィールド値の
格納に用いられる。CAM エントリのタグフィールドはCR
R メモリセルの水平方向のアレーに格納される。図12に
示す例は1つにつきN 個のビットを有する8つのタグフ
ィールドからなる。この機能のために、*MISMATCHライ
ンは水平方向にバスされ、弱いプルアップによってハイ
に引き上げられる。それぞれの*MISMATCHラインは同じ
水平方向のライン上のすべてのCRR メモリセルによって
共用される、WRITE _PORT信号とREGFILE 信号がローと
され、*DATAは使用されない。
【0033】タグフィールドの読み出しと書き込みは図
9に示すRAM 300 について説明したのと同様な方法で行
なわれる。CRR メモリセルへのWRITE _DATA入力はRAM
502のライン510 に接続され、READ_DATA出力はライン5
11 に接続される。同様の接続が他のタグビットのため
のそれぞれのRAM 内で行なわれる。
【0034】特定の目標に一致するタグフィールドに対
する並列探索が、目標ビットパターンを供給し、SEARCH
信号を発することによって開始される。目標パターン
は、1つのRAM について1ビットずつWRITE _DATAライ
ン上に供給される。目標ビットの配列と格納されたタグ
フィールドの不一致が発生すると、その行の*MISMATCH
ラインがローに引き下げられる。すべてのタグフィール
ドが並列に探索され、それぞれの行に対して*MISMATCH
信号が生成される。これをFPGA内の追加のプログラマブ
ル論理によって処理してCAM 内の所望のワードへのポイ
ンタを生成することができる。
【0035】上述した機能はすべてCRR メモリセルと復
号器からなるRAM 上に構成される。本実施例において、
それぞれのRAM は16個のCRR メモリセルを有する。この
数は、FPGA内のルックアップテーブルの最適な大きさを
調べた結果に基づく。RAM は16のRAM の配列内で*MISM
ATCHバスおよび*DATAバスを介して接続される。これに
よって最高16個の読み出しポートおよび書き込みポート
を有するマルチポートレジスタファイルが得られ、16ビ
ットの幅と16ビットの深さを有するCAM タグフィールド
が支援される。FPGA内の追加のプログラマブル論理を用
い、またCAM の場合には*MISMATCHラインを他の論理に
経路指定することによってより大きな幅と深さを有する
レジスタファイルおよびCAM タグフィールドを作成する
ことができる。
【0036】原則的に、それぞれのRAM はFPGA経路選択
網内の1つのPLC を構成することができるが、本発明の
実施例では、16個のRAM のいかなる配列も単一のPLC と
してまとめられる。この構成には通常の場合には*MISM
ATCHラインと*DATAラインの長さが低減され、CAM およ
びレジスタファイルの動作速度が増すという利点があ
る。
【0037】以下、本発明の好適な実施態様を例示す
る。 1. それぞれが複数の入力結線と1つの出力結線を有
し、前記の入力結線上の1つ以上の入力信号に応じて前
記の出力結線上に出力信号を生成する複数のプログラマ
ブル論理回路(300 、400 、500 )と、前記のプログラ
マブル論理回路のうちの1つの前記の入力結線および出
力結線を前記のプログラマブル論理回路のうちの他の回
路に接続する経路選択手段(54)とからなるフィールド
プログラマブルゲートアレー素子であって、前記のプロ
グラマブル論理回路(300 、400 、500 )のうちの1つ
はCRR セル(100 、102 )からなり、前記のCRR セル
(100 、102 )は、外部からの比較信号(106 )を受け
取る手段、外部からのデータ信号を受け取る手段、1ビ
ットの情報を格納し、外部からのワード信号の受信に応
じて前記の格納されたビットの値を表わす格納ビット信
号を生成する格納手段(102 )、外部からのデータ信号
から生成される第1の信号と第2の信号を比較し、前記
の第1および第2の信号が同じであったかどうかを表わ
す比較信号を生成する比較手段(104 )、および外部で
生成された比較選択信号に応じて前記の格納ビット信号
か前記の外部比較信号のいずれかを前記の第2の信号と
して選択する多重化手段(103 )からなるフィールドプ
ログラマブルゲートアレー素子。
【0038】2. 上記1に記載のフィールドプログラ
マブルゲートアレー素子であって、前記のプログラマブ
ル論理回路(300 、400 、500 )のうちの前記の1つ
は、さらに、第2の前記のCRR セル(301 )、前記のCR
R セルの1つを指定するアドレス信号を受け取る手段、
および前記のワード信号を生成し前記の指定されたCRR
セルに接続する復号手段(302 )からなるフィールドプ
ログラマブルゲートアレー素子。
【0039】3. 上記2に記載のフィールドプログラ
マブルゲートアレー素子であって、前記のプログラマブ
ル論理回路(300 、400 、500 )のうちの前記の1つ
は、さらにRBITセル(350 )を有し、前記のRBITセル
(350 )は、1ビットの情報を格納し、前記の格納され
たビットを表わす第1の信号を生成する手段(351 )お
よび前記の第1の信号が前記のRBITセルに接続される第
2の信号に対してある一定の関係にある場合に前記の格
納されたビットの状態を変化させる比較手段(352)か
らなるフィールドプログラマブルゲートアレー素子。
【0040】4. 列(402-404 、502-504 )と行を有
する二次元配列に構成された複数のCRR セル(401 、50
1 )からなるプログラマブル論理回路であって、前記の
CRRセルは、外部からの比較信号を受け取る手段、外部
からのデータ信号を受け取る手段、1ビットの情報を格
納し、外部からのワード信号の受信に応じて前記の格納
されたビットの値を表わす格納ビット信号を生成する格
納手段(102 )、外部からのデータ信号から生成される
第1の信号と第2の信号を比較し、前記の第1および第
2の信号が同じであったかどうかを表わす比較信号を生
成する比較手段(104 )、および外部で生成された比較
選択信号に応じて前記の格納ビット信号か前記の外部比
較信号のいずれかを前記の第2の信号として選択する多
重化手段(103 )からなり、前記の各列内の前記のCRR
セルは、前記のCRR セルの1つを指定する信号を受け取
り、前記のワード信号を生成し前記の指定されたCRR セ
ルに接続する復号手段(407 、507 )に接続され、前記
の各行内の前記のCRR セルは前記の比較手段内の前記の
生成手段が連結されているフィールドプログラマブル論
理回路。
【0041】5. 上記4に記載のフィールドプログラ
マブル論理回路であって、前記の各行内の前記のCRR セ
ルにおいて前記の格納ビット信号を生成する前記の手段
もまた連結されているフィールドプログラマブル論理回
路。
【0042】6. 上記4に記載のフィールドプログラ
マブル論理回路であって、前記の列(402-404 )の少な
くとも1つは、RBITセル(350 )を有し、前記のRBITセ
ル(350 )は、1ビットの情報を格納し、前記の格納さ
れたビットを表わす第1の信号を生成する手段(351 )
および前記の第1の信号が前記のRBITセルに接続される
第2の信号に対してある一定の関係にある場合に前記の
格納されたビットの状態を変化させる比較手段(352 )
からなるフィールドプログラマブル論理回路。
【0043】7. それぞれが複数の入力結線と1つの
出力結線を有し、前記の入力結線上の1つあるいはそれ
以上の入力信号に応じて前記の出力結線上に出力信号を
生成する複数のプログラマブル論理回路と、前記のプロ
グラマブル論理回路のうちの1つの前記の入力結線およ
び出力結線を前記のプログラマブル論理回路のうちの他
の回路に接続する経路選択手段からなるフィールドプロ
グラマブルゲートアレー素子であって、前記のプログラ
マブル論理回路のうちの1つはCRR メモリセルからなる
フィールドプログラマブルゲートアレー素子。
【0044】8. 上記7に記載のフィールドプログラ
マブルゲートアレー素子であって、前記のCRR メモリセ
ルは、1ビットの情報を格納するためのビット格納セ
ル、前記のビット格納セルと連動して前記のビット格納
セルからの前記の格納されたビット情報かあるいは第1
の外部信号のいずれかを選択信号として選択するマルチ
プレクサ、および前記のマルチプレクサと連動して前記
の第2の外部信号を前記の選択された信号と比較する比
較器からなるフィールドプログラマブルアレー素子。
【0045】9. 上記8に記載のフィールドプログラ
マブルゲートアレー素子であって、前記のプログラマブ
ル論理回路のうちの前記の少なくとも1つの回路は、さ
らにRBITセルを有し、前記のRBITセルは、1ビットの情
報を格納し、前記の格納されたビットを表わす第1の信
号を生成する手段および前記の第1の信号が前記のRBIT
セルに接続される第2の信号に対してある一定の関係に
ある場合に前記の格納されたビットの状態を変化させる
比較手段からなるフィールドプログラマブルゲートアレ
ー素子。
【0046】10. 上記9に記載のフィールドプログ
ラマブルゲートアレー素子であって、前記のプログラマ
ブル論理回路のうちの前記の少なくとも1つの回路は、
さらに、複数のの前記のCRR セル、および前記のCRR セ
ルの1つを指定するアドレス信号を受け取り、ワード信
号を生成し前記の指定されたCRR セルに接続する復号器
からなるフィールドプログラマブルゲートアレー素子。
【0047】
【発明の効果】以上の説明からわかるように、本発明に
よれば、高速なシミュレーションが可能で、しかも汎用
性のあるFPGA素子が得られる。なお、以上の説明および
添付図面から当業者には本発明に対するさまざまな変更
が可能であることが明らかであろう。したがって、本発
明は特許請求の範囲によってのみ限定されるものではな
い。
【図面の簡単な説明】
【図1】マルチポートレジスタファイルのブロック図で
ある。
【図2】マルチポートレジスタファイルに用いる書き込
みポートの一実施態様のブロック図である。
【図3】マルチポートレジスタファイルに用いる読み出
しポートの一実施態様のブロック図である。
【図4】マルチポートレジスタファイルに用いるレジス
タデータビットの一実施態様のブロック図である。
【図5】内容参照可能メモリのブロック図である。
【図6】FPGA のブロック図である。
【図7】本発明のメモリ論理セルのブロック図である。
【図8】本発明のメモリ論理セルの実施例の概略図であ
る。
【図9】本発明のメモリ論理セルから構成されたRAM の
ブロック図である。
【図10】本発明のレジスタビットを格納するためのメ
モリセルの概略図である。
【図11】本発明のメモリ論理セルとレジスタビットセ
ルから構成されたレジスタファイルのブロック図であ
る。
【図12】本発明のメモリ論理セルから構成された内容
参照可能メモリのブロック図である。
【符号の説明】
10: マルチポートレジスタファイル 11、12: 書き込みポート 13、14、15: レジスタ 16、17: 読み出しポート 20: 書き込みポート 21、22: デマルチプレクサ 31: N:1マルチプレクサ 33: フリップフロップ 40: CAM 42: データ記録 43: タグフィールド 44: データフィールド 45: 比較器 46: バス 47: ルータ 48: バス 50: FPGA 52: プログラマブル論理セル(PLC ) 54: 経路選択網 100: CRR メモリセル 102: 1ビットメモリセル 103: マルチプレクサ 104: 比較器 106: 外部信号 200: CRR メモリセル 201: ゲート 202 、203: インバータ 205 、206: トランジスタ 207: トライステートバッファ 208: 排他的論理和ゲート 209: トランジスタ 210: ゲート 211 、212: トランジスタ 224: ライン 300: RAM 301: CRR メモリセル 302: 復号器 304: READ_DATAバス 305: ライン 306: WITE_DATAライン 350: RBIT 351: D フリップフロップ 352: 排他的論理和ゲート 400: マルチポートレジスタファイル 401: CRR メモリセル 402 、403 、404: RAM メモリ 405: RBITセル 407: 復号器 408: RBITセル 500: CAM 502 、503 、504: RAM 510: ライン 511: ライン

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 それぞれが複数の入力結線と1つの出力
    結線を有し、前記の入力結線上の1つ以上の入力信号に
    応じて前記の出力結線上に出力信号を生成する複数のプ
    ログラマブル論理回路(300 、400 、500 )と、前記の
    プログラマブル論理回路のうちの1つの前記の入力結線
    および出力結線を前記のプログラマブル論理回路のうち
    の他の回路に接続する経路選択手段(54)とからなるフ
    ィールドプログラマブルゲートアレー素子であって、 前記のプログラマブル論理回路(300 、400 、500 )の
    うちの1つはCRR セル(100 、102 )からなり、 前記のCRR セル(100 、102 )は、 外部からの比較信号(106 )を受け取る手段、外部から
    のデータ信号を受け取る手段、 1ビットの情報を格納し、外部からのワード信号の受信
    に応じて前記の格納されたビットの値を表わす格納ビッ
    ト信号を生成する格納手段(102 )、 外部からのデータ信号から生成される第1の信号と第2
    の信号を比較し、 前記の第1および第2の信号が同じであったかどうかを
    表わす比較信号を生成する比較手段(104 )、 および外部で生成された比較選択信号に応じて前記の格
    納ビット信号か前記の外部比較信号のいずれかを前記の
    第2の信号として選択する多重化手段(103 )からなる
    フィールドプログラマブルゲートアレー素子。
JP7066369A 1994-03-25 1995-03-24 フィールドプログラマブルゲートアレー素子 Pending JPH07273640A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US21844294A 1994-03-25 1994-03-25
US218-442 1994-03-25

Publications (1)

Publication Number Publication Date
JPH07273640A true JPH07273640A (ja) 1995-10-20

Family

ID=22815143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7066369A Pending JPH07273640A (ja) 1994-03-25 1995-03-24 フィールドプログラマブルゲートアレー素子

Country Status (3)

Country Link
JP (1) JPH07273640A (ja)
DE (1) DE19501226A1 (ja)
GB (1) GB2287815A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356109B1 (en) 1999-02-10 2002-03-12 Nec Corporation Programmable device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6407576B1 (en) 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5245227A (en) * 1990-11-02 1993-09-14 Atmel Corporation Versatile programmable logic cell for use in configurable logic arrays
US5245226A (en) * 1991-02-25 1993-09-14 Lattice Semiconductor Corporation Output logic macrocell
US5231312A (en) * 1992-03-12 1993-07-27 Atmel Corporation Integrated logic circuit with functionally flexible input/output macrocells
GB9303084D0 (en) * 1993-02-16 1993-03-31 Inmos Ltd Programmable logic circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356109B1 (en) 1999-02-10 2002-03-12 Nec Corporation Programmable device

Also Published As

Publication number Publication date
DE19501226A1 (de) 1995-10-05
GB2287815A (en) 1995-09-27
GB9505060D0 (en) 1995-05-03

Similar Documents

Publication Publication Date Title
US6066961A (en) Individually accessible macrocell
US5970240A (en) Method and apparatus for configurable memory emulation
JP3471088B2 (ja) 改良されたプログラマブル論理セルアレイアーキテクチャ
US6243281B1 (en) Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system
US6430088B1 (en) Embedded static random access memory for field programmable gate array
KR100562806B1 (ko) 내용어드레서블메모리시스템
KR100232316B1 (ko) 메모리 어레이, 기록 액세스 및 리세트 액세스 제공 시스템, 및 프로그래머블 게이트 어레이 동작 방법 및 시스템
EP0701713B1 (en) Field programmable logic device with dynamic interconnections to a dynamic logic core
US5677864A (en) Intelligent memory architecture
EP1733300B1 (en) Improvements relating to orthogonal data memory
JPH02220293A (ja) 二重ポート読出し/書込みメモリー
EP0166309A2 (en) Memory chip for a hierarchical memory system
JPH04219841A (ja) ランダム・アクセス・メモリ装置
US6751701B1 (en) Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US6728799B1 (en) Hybrid data I/O for memory applications
US7248491B1 (en) Circuit for and method of implementing a content addressable memory in a programmable logic device
US6104642A (en) Method and apparatus for 1 of 4 register file design
US7190631B2 (en) Multi-port memory
US7242633B1 (en) Memory device and method of transferring data in memory device
US6813680B1 (en) Method and apparatus for loading comparand data into a content addressable memory system
JPH07273640A (ja) フィールドプログラマブルゲートアレー素子
US6801981B1 (en) Intra-row configurability of content addressable memory
JPH0730407A (ja) プログラム可能制御、デコード及び/又はデータ操作を有するレジスタファイル
US5524226A (en) Register file system for microcomputer including a decoding system for concurrently activating source and destination word lines
JP4468452B2 (ja) グローバルセルオートマトンを組み込むためのリコンフィギュアラブルなアーキテクチャをもつコンピュータ装置