JP3471088B2 - 改良されたプログラマブル論理セルアレイアーキテクチャ - Google Patents

改良されたプログラマブル論理セルアレイアーキテクチャ

Info

Publication number
JP3471088B2
JP3471088B2 JP20317694A JP20317694A JP3471088B2 JP 3471088 B2 JP3471088 B2 JP 3471088B2 JP 20317694 A JP20317694 A JP 20317694A JP 20317694 A JP20317694 A JP 20317694A JP 3471088 B2 JP3471088 B2 JP 3471088B2
Authority
JP
Japan
Prior art keywords
programmable logic
memory
register file
logic cell
cell
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
JP20317694A
Other languages
English (en)
Other versions
JPH07177008A (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.)
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 JPH07177008A publication Critical patent/JPH07177008A/ja
Application granted granted Critical
Publication of JP3471088B2 publication Critical patent/JP3471088B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Electronic Switches (AREA)
  • Static Random-Access Memory (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラマブル論理セ
ルアレイに関し、特に、デマルチプレクサとマルチポー
トレジスタファイルとを効率的に支援するプログラマブ
ル論理セルアレイに関する。
【0002】
【従来の技術】プログラマブル論理セルアレイ(PLC
A)は、構成可能なデジタル論理機能および経路指定資
源を有する集積回路である。Brandenburg等による「Poo
r Man's Gate Arrays: Logic Cell Arrays」(IEEE Tran
sactions on Nuclear Science,Vol.35, No.1, February
1988, pp.213-216)、および、Freemanによる「User-Pr
ogrammable Gate Arrays」(IEEE Spectrum, December 1
988, pp.32-35)を参照されたい。適当なプログラミング
を行なうことにより、PLCAは様々な異なる論理回路
をエミュレートすることができる。PLCAのプログラ
ムおよび再プログラム能力により設計上の多大な柔軟性
が回路設計者に提供されるということが分かっている。
【0003】
【発明が解決しようとする課題】PLCAにより与えら
れる設計上の柔軟性により、別個の部品を用いて設計を
構築したり、カスタム集積回路で設計を作成することな
く、新しい論理設計を迅速にプロトタイプ化することが
可能となる。勿論、トレードオフとして、PLCAが幅
広い論理設計を支援するように意図されたものであるた
め、全ての用途で使用される可能性の少ない経路指定機
能や論理機能をPLCAのアーキテクチャが含んでいな
ければならない、ということがある。従って、特定の用
途についてのPLCA資源の効率または効果的な利用
は、カスタム集積回路を用いた実施態様により達成可能
なものより低くなる傾向にある。かかる効率の低下は、
素子の柔軟性により緩和されるが、デジタル回路の中に
は、従来のPLCAへ写像した場合に、PLCA(また
は複数のPLCAからなるシステム)中での実施が実際
的でない程、極端な低効率を呈するものがある。
【0004】PLCAは、その柔軟性のため、超高速論
理シミュレータの構成における重要な要素であり、一般
には、構成可能なハードウェアシステム(「仮想ハード
ウェア」とも呼ばれる)の構成における重要な要素とな
る。Kean等による「Implementation of Configurable H
ardware using Wafer Scale Integration」(1990, Inte
rnational Conference on Wafer Scale Integration, P
P.68-73)、および、Kean等による「Configurable Hardw
are: A New Paradigm for Computation」(1989, Decenn
ial Caltech Conference on VLSI)を参照されたい。か
かる用途では、数百または数千のPLCAが電気的に接
続されて、新しいデジタルシステムの設計および実験の
ためのプロトタイプの試験環境が形成される。新しい設
計は、構成要素となるPLCAをプログラムすることに
よりシミュレータ上に「写像」され、そのシミュレータ
が、設計されるシステムの挙動を、全体として機能的に
エミュレートするようになっている。これにより、大規
模で複雑な論理システム(コンピュータプロセッサ、グ
ラフィックスエンジン、デジタル信号処理システムその
他)の設計、デバッグ、および試験を、従来の方法(ソ
フトウェアによるシミュレーションおよびハードウェア
のプロトタイプ化等)を用た場合よりもはるかに高速に
行うことが可能になる。
【0005】新しい高速デジタル回路の設計(例えばコ
ンピュータプロセッサの設計)の多くにおける重要な要
素の1つに、マルチポートレジスタファイル(多数の異
なるポート上で同時に読み書きが可能な、複数のレジス
タからなるアレイ)がある。このため、PLCAで構成
された論理シミュレータがかかるデジタル回路設計の開
発を支援するためには、かかるレジスタファイルをPL
CAに写像することが望ましい。残念ながら、デマルチ
プレクサまたはレジスタファイルを、既知のPLCAア
ーキテクチャに、実際的なものとなるよう十分効率的に
写像することを不可能にする、深刻な問題が存在する。
【0006】マルチポートレジスタファイルを純粋なブ
ール論理を用いて実施する場合には、多数のゲートが必
要になる。例えば、4つの書込ポートと8つの読出ポー
トとを有する96のレジスタからなる80ビット幅のファイ
ルには、250,000を越える数の2入力ゲートまたは論理
機能が必要である。かかるマルチポートレジスタファイ
ルは、その実施が可能であるにしても、400を越える従
来のPLCAに相当するものであることを必要とする。
【0007】かかる回路を6IN-2OUTの論理セルで表現す
ることにより必要な論理機能の数が大幅に低減されるよ
うになることが所望されている。何故なら、それが他の
多くの回路で生じることが分かっているからである。例
えば、Xilinx Corporation(San Jose, California)のP
LCAソフトウェアは、2IN-1OUTゲートからなる回路を
選択し、その回路を論理的に等価な5IN-2OUTゲート(論
理機能)からなる回路に変換するものであり、これによ
り、必要なゲート数の10分の1以下への低減が達成され
ることが多い。しかし、これはデマルチプレクサ(デコ
ーダ)またはマルチポートレジスタファイルでは生じな
い。例えば、上述のレジスタファイルは、約90,000の6I
N-2OUTゲート(論理機能)に圧縮されるが、これは他の
多くの回路に比べ極めて低い圧縮量である。256の6IN-2
OUT論理セルを有する(これは既存のPLCAのごく標
準的な数である)PLCAを用いてそのレジスタファイ
ルを実施する場合、経路指定資源が無限でI/Oピンに制
限がないものと仮定すると、最低350個が必要になるこ
とになる。実際には、これよりずっと多くのPLCAが
必要となる傾向にある。
【0008】マルチポートレジスタファイルを別個の部
品で構成してシミュレータとのインターフェースをとる
ことにより、それを特殊な場合として扱う、という別の
方法がある。しかし、この方法は、多くの理由から実際
的なものではない。その理由の1つとして、この特殊な
方法では多数の別個の在庫部品(例えば100個以上)が
必要となる、ということが挙げられる。もう1つの理由
としては、この特殊な方法では多数の信号(例えば1000
以上)のインターフェースをシミュレータに対してとら
なければならない、ということが挙げられる。この方法
が実際的でない別の理由としては、この方法はレジスタ
ファイルのパラメータ(例えば、ビット幅、レジスタ
数、ポート数)に関して柔軟性がない、ということが挙
げられる。
【0009】従って、PLCAの機能や柔軟性を犠牲に
することなくデマルチプレクサおよびマルチポートレジ
スタファイルを効率的に支援することのできるPLCA
アーキテクチャが必要とされている。
【0010】
【課題を解決するための手段】広義には、本発明は、P
LCAの機能や柔軟性を犠牲にすることなくデマルチプ
レクサおよびマルチポートレジスタファイルの効率的な
支援を提供する改良されたプログラマブル論理セルアレ
イ(PLCA)アーキテクチャである。基本的には、本
発明は、デマルチプレクサとマルチポートレジスタファ
イルをPLCAで効率的に実施できるように従来のPL
Cのアーキテクチャを変更するものである。従来、PL
CAの各PLCは、PLCマルチプレクサ(セレクタ)
とPLCメモリとを用いて実施される。本発明によれ
ば、PLCメモリは、PLCマルチプレクサ(パス(pas
s)トランジスタのツリーから構成されたもの)がデマル
チプレクサ(デコーダ)として機能するよう逆方向に動
作する際に、そのPLCマルチプレクサ(セレクタ)か
らPLCの入力に信号を送るよう機能することができる
ように修正される。従って、本発明のPLCは、そのP
LCが逆方向に動作する場合にデマルチプレクサを実施
する。更に、レジスタファイルをPLCA上に設け、様
々なモード(通常モード、順方向モード、および逆方向
モード)で動作するようにPLCメモリを修正すること
により、マルチポートレジスタファイルを効率的に実施
することができる。通常モードでは各PLCは従来のP
LCとして動作し、順方向モードでは各PLCは読出ポ
ートとして動作し、逆方向モードでは各PLCは書込ポ
ートとして動作する。
【0011】本発明の第1実施例では、PLCAは、出
力よりも入力の多いPLCを少なくとも備え、その各P
LCは論理機能の実行能力を有するものであり、また、
その各PLCの入力および出力の接続を行う構成可能な
経路指定資源を備えている。各PLCは、少なくとも1
つのPLCメモリと1つのPLCマルチプレクサとを用
いて実施され、これにより、通常モードでは、PLCメ
モリがデータを格納し、PLCマルチプレクサはそのデ
ータを選択して出力し、また、逆方向モードではPLC
マルチプレクサがデマルチプレクサとして動作し、その
デマルチプレクサから出力されたデータをPLCメモリ
がPLCの入力(逆方向モードでは出力として機能す
る)に送る。
【0012】本発明の第2実施例では、PLCAはデー
タ格納用の少なくとも1つのレジスタファイルと、入力
および出力を有するPLCであって、複数の前記PLC
がレジスタファイルに接続され、その各PLCが順方向
モード、逆方向モードおよび通常モードで動作可能であ
る、前記PLCと、PLCの入力および出力を接続する
構成可能な経路指定資源とを備えている。レジスタファ
イル用の書込ポートは、逆方向モードで動作する各PL
Cにより形成され、レジスタファイル用の読出ポート
は、順方向モードで動作する各PLCにより形成され
る。各PLCは、少なくとも1つのPLCメモリと1つ
のPLCマルチプレクサを用いて実施される。逆方向モ
ードでは、PLCマルチプレクサはデマルチプレクサと
して動作し、PLCメモリはそのデマルチプレクサから
出力されるデータをPLCの入力(逆方向モードでは出
力として機能する)に送る。更に、逆方向モードでは、
PLCの入力から出力されるデータがレジスタファイル
に接続されて、書き込み動作が行なわれる。順方向モー
ドでは、PLCメモリは、レジスタファイルからPLC
に入力されるデータを、そのデータの選択および出力を
行うPLCマルチプレクサに送る。
【0013】本発明は幾つかの利点を有するものであ
る。第1に、従来のPLCに対する修正が最小限です
む。特に、その修正は、PLCAに通常必要とされる回
路に追加すべき回路が極めて少ないものとなる。第2
に、本発明は、デマルチプレクサまたはマルチポートレ
ジスタファイルの実施に必要なPLCの数の大幅な低減
を達成するものである。例えば、4つの書込ポートと8
つの読出ポートとを有する80×96のレジスタファイルの
実施に必要なPLCの数は、約90,000から3,000未満へ
と低減される。
【0014】
【実施例】本発明は、デマルチプレクサやマルチポート
レジスタファイル等の非減少機能を支援するPLCAア
ーキテクチャである。本発明は、減少機能を実施する既
存のPLCAアーキテクチャで従来設けられていた回路
に対して最小限の変更および追加しか必要としないもの
である。本発明の重要な特徴は、PLCAにおける既存
の構造を逆方向に動作させることによりその構造を利用
することにある。
【0015】本発明を十分に理解するためには、まずデ
マルチプレクサおよびマルチポートレジスタファイルの
構造について説明し、次いで従来のPLCAアーキテク
チャがデマルチプレクサおよびマルチポートレジスタフ
ァイルを効果的にモデル化することができなかった理由
を説明するのが有効である。これを以下で述べる。
【0016】図1は、幾つかの書込ポート6による同時
書き込み、および、幾つかの読出ポート8による同時読
み出しが可能な複数のレジスタ4からなるアレイとして
マルチポートレジスタファイル2を上位概念で表現した
ブロック図である。各書込ポート6は、その入力とし
て、書き込みが行われるべきレジスタ4のアドレスと、
そのレジスタ4に書き込むべきデータと、書き込み動作
を実際に行なうために表明される書き込みイネーブルラ
インとを受容する。また、各読出ポート8は、読み出し
が行われるべきレジスタ4のアドレスを入力として受容
し、そのレジスタ4の内容を出力として供給する。以下
の説明を簡略化するために、レジスタファイル2がNのレ
ジスタからなり、その各レジスタが1ビット幅を有する
ものと仮定する。しかし、以下の説明が一層広いビット
幅のレジスタにも該当することは明らかである。
【0017】図2は、図1に示す書込ポート6の実施態
様を示すブロック図である。即ち、書込ポート6は、レ
ジスタファイル2中のNの1ビットレジスタの各々に一対
の信号を送る第1および第2の1→Nデマルチプレクサ20
を備えている。第1のデマルチプレクサ20-1は、アドレ
スおよび書き込みイネーブル信号をデコードしてFILE_W
RITE信号を多くともNのレジスタ4のうちの1つに供給す
る。第2のデマルチプレクサ20-2は、そのアドレスをデ
コードし、入力データをFILE_DATA信号として第1のマ
ルチプレクサ20-1と同じレジスタ4に経路指定する。こ
れら信号は、データの書き込みを行なうべきか否かを各
レジスタ4に知らせ、書き込みを行なう場合には、書き
込むべきデータを知らせる。各書込ポート6は、一度に
1つのレジスタファイルに対してのみ書き込みを行なう
ことができるものである。
【0018】多数の書込ポート6がレジスタファイル2に
インターフェースされている場合、各書込ポート6から
の一対の信号(FILE_WRITEおよびFILE_DATA)は、レジ
スタ4に送られる前に図3に示すように組み合わされな
ければならない。これは、各レジスタ4が一対の信号(F
ILE_WRITEおよびFILE_DATA)しか処理できないからであ
る。所与のレジスタ4について、各書込ポート6からの各
FILE_WRITE信号の論理和が取られて、結合FILE_WRITE入
力信号が形成される。この論理和は、図3に示すような
ORゲート30により行なうことができる。同様に、各書
込ポート6からのFILE_DATA信号の論理和が取られて、結
合FILE_DATA入力信号が形成される。2つのポートによ
る同一レジスタに対する同時書き込みは未規定の動作で
あることに留意されたい。
【0019】図4は、図1に示すマルチポートレジスタ
ファイル2のための読出ポート8の実施態様を示すブロッ
ク図である。読出ポート8は、入力アドレスにより参照
されるレジスタ4の内容を選択してその出力に供給する
マルチプレクサ40を備えている。多数の読出ポート8
は、単にレジスタ4の出力を共有するだけであり、書込
ポート6のような組み合わせ動作を必要としない。
【0020】レジスタファイル2の各レジスタ4(より正
確には各レジスタの各ビット)は、図5に示すように、
Dフリップフロップ50および2→1マルチプレクサ52とし
て実施することができる。図5において、FILE_WRITE信
号は、2つの信号(FILE_DATA信号またはフリップフロ
ップの現在出力54)のうちの1つをDフリップフロップ
50への入力として選択する。FILE_WRITEが表明される
と、FILE_DATA信号がDフリップフロップ50のD入力に
送られる。また、FILE_WRITEが表明されない場合には、
Dフリップフロップ50の現在出力54がその入力に戻り、
Dフリップフロップ50の状態が、システムクロックによ
りクロックされた際に変化することなく保持される。
【0021】従来のほとんどのPLCAは2つの主な構
成要素からなる。その1つは、組み合わせ論理機能を実
施するプログラマブル論理セルであり、もう1つは、論
理セルの入力および出力を、互いに接続するため、およ
び、それらを外部I/Oピンへ接続するために使用するこ
とができる構成可能な経路指定資源である。図6は、プ
ログラマブル論理セル60を示すブロック図である。プロ
グラマブル論理セル60は、幾つかの入力を受容して1つ
以上の出力を生成する論理機能ブロック62を備え、その
後には随意選択のフリップフロップ64が続くことが多
い。典型的には、図6に示すように、プログラマブル論
理セル60がフリップフロップ64を備えている場合には、
必要に応じて、プログラマブル論理セル60の出力がフリ
ップフロップ64の出力をバイパスすることができる。市
販のPLCAは、通常3〜9つの入力を有し、その出力
は1つまたは2つだけである。既存のPLCにより支援
される機能が全て減少機能であることに留意することが
重要である。即ち、既存のPLCは、多数の入力を受容
し、それを組み合わせてそれより少数の出力を生成する
ものである。
【0022】必ずというわけではないが、論理機能ブロ
ック62は、プログラマブルルックアップテーブルとして
実施されることが非常に多い。図7は、プログラマブル
ルックアップテーブルとして実施される論理機能ブロッ
ク62を示すブロック図である。図7において、そのプロ
グラマブルルックアップテーブルは、マルチプレクサ70
および小さなプログラマブルメモリ72を備え、これらは
両方とも論理機能ブロック62中で実施される。入力信号
は、所望の機能が出力されるように、プログラマブルメ
モリ72の各ビットのうちの1つをアドレス指定するため
にマルチプレクサ70により使用される。この機構によ
り、入力の任意の機能を実施することが可能となる。
【0023】デマルチプレクサおよびマルチポートレジ
スタファイルの構造に関する上記の説明は、従来のPL
CAアーキテクチャがデマルチプレクサおよびマルチポ
ートレジスタファイルを効果的にモデル化できなかった
理由を説明するのに役立つ。デマルチプレクサが問題の
源であると考えられている。上述のように、マルチポー
トレジスタファイルの書込ポートは、デマルチプレクサ
の使用を必要とする。
【0024】デマルチプレクサは非減少論理素子であ
る。即ち、デマルチプレクサは、少数の入力を取り、そ
れらを一層多数の出力に変換する。これに対し、上述の
ように、PLCA中の論理セルは減少型のものである。
減少論理は、アーキテクチャ設計における適切な選択で
あるが、それはまた、非減少論理を含む回路の実施を困
難にするものでもある。これは、かかる論理を減少論理
セルを用いて実施することが極めて非効率的であるから
である。
【0025】これに対する解決策として、PLCA中に
幾つかの非減少論理セルを設けてそのような状況に対処
するという方法があるが、この方法にも問題があり、実
際的なものではない。PLCA中に幾つかの非減少論理
セルを設ける場合の問題としては、(1)かかる機能を必
要としない回路を犠牲にして実施しなければならない、
(2)(少なくともマルチポートレジスタファイルの場合
には)非常に多くの非減少論理セルが必要となり、PL
CA上に減少機能用の余地が残らない、(3)多数の信号
を処理するためにPLCAの経路指定資源の量を大幅に
増やさなければならず、このため、単一のチップ上に収
容することのできる論理セルの数が少なくなる、といっ
たものがある。
【0026】本発明は、この問題に対して新しい解決法
を提供するものであり、これにより、PLCAが(デマ
ルチプレクサやマルチポートレジスタファイル等の)非
減少回路を効率的に支援することが可能となり、かかる
支援を必要としない回路に悪影響を与えることもない。
【0027】本発明の実施例を次に図8ないし図16を
参照して説明する。しかし当業者であれば、これらの図
に関して以下で行なう詳細な説明は単なる例示であり、
本発明がそれらの限られた実施例を越えて拡張可能なも
のである、ということが容易に理解されよう。
【0028】以下の説明では、PLCAが、6つの入力
と2つの出力とを有するプログラマブル論理セル(PL
C)からなるものとする。これは、それが現在のハード
ウェアおよびソフトウェア技術を最も有効に活用できる
態様であると考えられるためである。しかし、本発明
は、これ以外の異なる入出力数を有する構成可能な論理
ブロックにも適用可能なものである。
【0029】6入力2出力のPLCは(図6に示すPL
Cの出力上の随意選択のフリップフロップをバイパスす
る場合には)図8に示すように実施することができる。
内部的には、6入力2出力の論理機能ブロック80は、2
つの6入力1出力機能82,84として実施され、同じ6入
力の組が各機能82,84に用いられる、各6入力1出力機
能82,84の真理値表が64ビットメモリ(26=64)86に格
納される。構成時には、各64ビットメモリ86は図示の構
成ラインを用いて書き込みが行われる。また、通常の動
作中には、その構成ラインがメモリ86から電気的に切断
され、メモリ86がそれらにプログラムされたビットを保
持するようになっている。6つの入力信号(PLCAの
経路指定資源により選択され駆動された信号)は、2つ
の64→1マルチプレクサ88をアドレス指定するのに用い
られ、その64→1マルチプレクサ88の各々は、それぞれ
に関係するメモリ86中の64のビットのうちの1つを選択
し、それを経路指定ネットワークに戻す。6入力2出力
の任意の機能は64ビットメモリの適当な構成により実施
可能であることに留意されたい。
【0030】PLCAは通常、MOSFET等の双方向の技術
を用いて製造される。かかる双方向の技術(例えばCMO
S、NMOS、PMOS)では、64→1マルチプレクサ88は、ブー
ルゲート(例えばバイポーラトランジスタ)ではなくパ
ストランジスタからなるツリーを用いて一層効率的に実
施される。図9は、一層大きなマルチプレクサの構成に
適用されるのと同じ原理でパストランジスタ92を用いて
実施された4→1マルチプレクサ90を示す概略図である。
留意すべき重要なことは、この回路を「逆方向」に動作
させる(即ち、単一出力を入力として使用し、多数の入
力を出力として使用する)ことにより、この回路がデマ
ルチプレクサとして機能する、ということである。
【0031】本発明は、この逆方向の動作を利用して、
PLCAにおけるデマルチプレクサとマルチポートレジ
スタファイルとのモデル化を容易にする。詳細には、P
LC80中のマルチプレクサ88を逆方向に動作させること
により、マルチプレクサ88がデマルチプレクサとして機
能する。マルチポートレジスタファイル2の実施は一層
複雑なものである。読出ポートは、N→1マルチプレクサ
(図4参照)を用いて実施することができる。詳細に
は、PLCメモリ86をディセーブルにすることにより、
PLCマルチプレクサ88をこの機能に用いることができ
る。また、書込ポートは、2つの1→Nデマルチプレクサ
(図2参照)を用いて実施することができる。PLCメ
モリ86をディセーブルにし、2つのPLCマルチプレク
サ88を逆方向に動作させることにより、それら2つのP
LCマルチプレクサがデマルチプレクサになる。
【0032】従って、デマルチプレクサおよびマルチポ
ートレジスタファイルの実施に必要な非減少論理は、P
LCが逆方向に動作する際に利用可能となる。本発明
は、この減少論理にアクセス可能な手段を提供する。マ
ルチポートレジスタファイルの場合、他に必要な機能
は、図3に示すような多数の書込ポートを支援するのに
必要なFILE_WRITE信号とFILE_DATA信号の論理和を取る
機能だけである。以下で説明するように、その機能は、
構成ラインまたはORゲート上で結線されたAND論理
を用いて達成することができる。
【0033】PLCは一般に、PLCAにおいて或る種
の二次元アレイで構成される。各列は、16の独立したP
LCとみなすことができ、また、64のレジスタと16のポ
ートとを有する1ビット幅のマルチポートレジスタファ
イルとなるよう単一ユニットとして構成することができ
る。PLCを、各列が例えば16のPLCを備えている複
数の「列」に論理的にグループ化されているものとみな
すことが好ましい。このようにして列を使用することに
より、配線距離が低減される。
【0034】図10は、本発明によるマルチポートレジ
スタファイルの基本的な実施例を示すブロック図であ
る。図10に示すように、PLCA100は、複数のPL
C102,103と、レジスタファイル104と、構成回路106
と、構成ライン107と、プルアップ回路108と、スイッチ
ング回路109とを備えている。PLC102,103は、通常は
図10に示すような列に構成されるが、任意の形状を用
いることができる。レジスタファイル104は、PLCA1
00上の任意の場所に配置可能であるが、好適には、読出
ポートと書込ポートとを分けるよう各列の中間に配置さ
れる。例えば、図10に示すように、書込ポート102は
対応するレジスタファイル104の上側にあり、読出ポー
ト103は対応するレジスタファイル104の下側にある。
【0035】構成回路106は、従来のPLCA上にあ
り、更なる説明は必要としないものである。しかし、本
発明のこの基本的な実施例では、各列毎の構成ライン10
7は、個々の列内のPLC102,103およびレジスタファイ
ル104の各々に接続されている。レジスタファイル104
は、PLCメモリのプログラミング中に構成ライン107
をレジスタファイル104を介してPLC103に接続するこ
とができるように通過状態を有している、という点に留
意されたい。
【0036】スイッチユニット109は、モード制御信号
により制御される。PLCA100がその通常モードで動
作する場合には、構成回路106により生成され、スイッ
チユニット109を介して構成ライン107へと供給される信
号により、PLC102,103中のPLCメモリがプログラ
ムされる。一方、PLCAがレジスタファイルモードで
動作する場合には、PLC102(書込ポートのみ)のP
LCメモリの入力がスイッチユニット109を介してプル
アップユニット108に接続され、およびレジスタファイ
ル104に接続される。しかし、PLCA100がそのレジス
タファイルモードで動作する場合には、PLC103(読
出ポートのみ)のPLCメモリの入力が構成ライン107
を介してレジスタファイル104の出力に接続される。更
に、PLCAがレジスタファイルモードで動作する場合
には、構成ライン107上の信号は、通過モードの場合の
ようにレジスタファイル104中を単に通過するわけでは
ない。
【0037】PLC102,103、レジスタファイル104、プ
ルアップユニット108およびスイッチユニット109の構成
の詳細を別の図面を参照して以下で説明する。以下で説
明するように、PLCAがレジスタファイルモードで動
作する場合、そのPLCは、逆方向モードで動作して書
込ポートを形成するか、または順方向モードで動作して
読出ポートを形成する。更に、デマルチプレクサの実施
については、逆方向モードで動作する各PLCによりデ
マルチプレクサが実施される。
【0038】図11および図12は、PLCを用いて効
率的に実施されたマルチポートレジスタファイルの第1
の詳細な実施例を示すブロック図である。PLCA中の
複数のPLC110からなる一列を図11および図12に
示す。しかし、簡略化のため、その列中の複数のPLC
のうちの4つだけを図示することとする。各PLC110
は、双方向ゲート(即ちスイッチツリー)で構成された
2つのマルチプレクサ112と、3状態ANDゲート113
と、2組の64ビットPLCメモリ114と、PLCメモリ1
14の各ビットのプログラミング用の2組の構成ライン11
6-1,116-2(64ビット/組)とを備えている。各組の構
成ライン116-1,116-2はバスを形成する。構成中には、
構成データがそのバスを介して1列中の全PLC110へ
並列に同時に送られるが、このデータを受信できるよう
イネーブルにされるPLC110は1つだけである。従っ
て、各PLC110は、その列中の他のPLCと共に構成
ライン116-1,116-2の時分割処理を行い、これによりチ
ップ面積が節約される。
【0039】PLCAをマルチポートレジスタファイル
として用いるためには、2つの別部品、即ち、電気的に
制御可能なスイッチ118(図11に「x」で示す)を介し
て、Vccに接続される各構成ラインの上部に接続された
プルアップ抵抗117と、64ビットレジスタファイル119と
を追加する必要がある。好適には、64ビットレジスタフ
ァイル119は、64ビット構成バス116のうちの少なくとも
一方をほぼ二等分する。いずれにせよ、図11に示すよ
うに、レジスタファイル119はバス116-1,116-2に接続さ
れる。
【0040】本発明による改良されたPLCAアーキテ
クチャは、2つの異なるモードで機能することができ
る。第1の(通常)モードでは、1列中のPLCが個別
のPLCとして構成されて動作する。第2の(レジスタ
ファイル)モードでは、1列中のPLCがマルチポート
レジスタファイルのビットスライスとして構成されて動
作する。これら各モードについて、以下で一層詳細に説
明する。
【0041】第1のモードでは、1列中のPLC110
は、従来のPLCA中の個々のPLCと同様に動作す
る。その列の構成中には、構成ライン116-1,116-2の上
部のプルアップ抵抗117が制御可能スイッチ118によりそ
れら構成ラインから切り離され、構成ライン116-1,116-
2は従来の構成回路(図10参照)により駆動される。
【0042】第1のモードでは、64ビットレジスタファ
イル119は通過状態になる。この通過状態では、レジス
タファイル119がその上側の左半分の列の構成ライン116
-1から受信する64の信号全てがその下側の左半分の列の
構成ライン116-1に送られ、レジスタファイル119により
右半分の列から受信される64の信号は無視される。各P
LCメモリ114は、構成ライン116-1,116-2をその各ビッ
トをプログラムするための入力として用いるが、前述し
たように、一度につき1つのPLC110だけがプログラ
ムされる。好適には、レジスタファイル119が通過状態
にある場合に、レジスタファイル119は、信号を列の下
方へ送るだけでなく、それらの信号の再生成も行なうも
のとなる。
【0043】動作中には、レジスタファイル119はプロ
グラムされない。このため、メモリの各ビットは構成バ
ス116から有効に切り離される。構成後には、64ビット
レジスタファイル119は、必要であれば通過状態のまま
とすることができるが、もはやPLCAの機能を果たす
ことはできないものとなっている。
【0044】第1のモードにある場合、PLCメモリ11
4は従来の態様で動作する。即ち、各ビットは背中合わ
せの(back-to-back)インバータに格納される。各インバ
ータ対は、パストランジスタを介して構成ラインに接続
される。構成中にプログラム信号が表明された場合に
は、パストランジスタが「オン」状態になり、以前に格
納されたビットを構成バス116からのデータがオーバー
ドライブし、これによりそのビットがプログラムされ
る。
【0045】第2のモードでは、1列中のPLC110
は、マルチポートレジスタファイル用のポートとして動
作する。詳細には、64ビットレジスタファイル119の上
側の各PLC110が書込ポートとして用いられ、64ビッ
トレジスタファイル119の下側の各PLC110が読出ポー
トとして用いられる。更に、64ビットレジスタファイル
119は、64のレジスタからなる1ビット幅のファイルと
して用いられる。プルアップ抵抗117は、「ワイヤード
AND」として用いられる構成ラインに接続される。こ
れらの構成要素により、64×1ビットスライスが形成さ
れ、このビットスライスは、他のビットスライスと組み
合わせて任意大きさのレジスタファイルを形成可能なも
のである。プルアップ抵抗117および制御可能スイッチ1
18は、図10に示すプルアップユニット108およびスイ
ッチユニット109の一実施態様である、ということに留
意されたい。
【0046】3状態ANDゲート113は、PLC110がレ
ジスタファイル用の書込ポートとして機能すべき場合に
のみイネーブルになる。図11は、書込ポートとして動
作するPLC110中のANDゲート113を示している。A
NDゲート113は、書き込みイネーブル信号により許可
されていない場合にデータが書き込まれるのを防止す
る。一方、このANDゲート113は、PLC110が書込ポ
ートとして機能していない場合にはバイパスされ、また
は存在しない。例えば、図12では、PLC110は読出
ポートとして動作し、従って、ANDゲート113は、不
存在または非活動の状態であるため、図示されていな
い。
【0047】1つの列がマルチポートレジスタファイル
用のポートとして構成される場合、PLCメモリ114は
プログラムされる必要はない。これは、このマルチポー
トレジスタファイルの動作にPLCメモリ114が使用さ
れないからである。従って、第2のモードでは、記憶機
能は必要とも所望ともされないので、PLCメモリ114
は通過状態で動作する。通過状態とは、出力信号が入力
信号である場合と出力信号が入力信号を反転したもので
ある場合との両方を意味するものである。
【0048】図13(a)は、図11に示す制御可能スイ
ッチ118の一実施態様を示す概略図である。このスイッ
チ118は、モード制御信号により制御されて、構成ライ
ン116(端子B)またはプルアップ抵抗(端子A)を選
択するか、または何も選択しないようになっている。図
13(b)は、図11に示すレジスタファイル119の一実施
態様を示すブロック図である。レジスタファイル119
は、構成バス116からデータ信号Dとイーネブル信号ENを
受信する。レジスタファイル119中の各メモリセルは、
図5に示すものと同様のセレクタ120およびDフリップ
フロップを用いて実施することができる。その相違点
は、各メモリセルが通常モードのための通過状態を有し
ている点である。図13(b)は、モード制御信号に従っ
て端子Cと端子Dとの間で切り換えを行うスイッチ124の
使用を示すものである。第1のモードでは、スイッチ12
4は、レジスタファイル119の出力を端子Dに接続してメ
モリセルをバイパスさせる。第2のモードでは、スイッ
チ124は、レジスタファイル119の出力を端子Cに接続す
る。
【0049】この好適実施例は、既存の構成バス116
を、PLCメモリ114を構成するためだけでなく、書込
ポートとして動作するPLC110からレジスタファイル1
19へ信号を供給するためにも用いているが、別の配線を
用いて書込ポートからレジスタファイルに信号を供給す
ることも可能である。しかし、かかる追加配線は、設計
を複雑にし、ダイスペースを取るものとなる。
【0050】図14は、本発明によるPLCメモリ114,
130の一実施態様を示すブロック図である。PLCメモ
リ114,130は、3状態インバータ132,134とパストランジ
スタ136とを備えている。インバータ134は開ドレーン(o
pen drain)素子である。第1のモードで動作する場合、
PLCメモリ130は従来のPLCメモリと同様に機能す
る、ということに留意されたい。一方、PLCメモリ13
0は、第2のモードで動作する場合にはメモリ機能を行
わない。これは、各メモリセル中のインバータ132,134
のうち1つがディセーブルになっているからである。第
2のモードでのPLCメモリの動作を以下に一層詳細に
説明する。
【0051】PLC110が書込ポートとして構成されて
いる場合、マルチプレクサ112を駆動するインバータ132
がディセーブルにされ、構成ラインを駆動するインバー
タ134が「開ドレーン」モード(低状態では電流を下げ
ることができるが、高状態では電流を駆動することがで
きないモード)になり、パストランジスタ136が閉じる
ように構成される。これにより、マルチプレクサ112
を、WRITE_ENABLE信号およびWRITE_DATA信号に関してデ
マルチプレクサとして動作させることが可能となり、そ
の結果、図2に示すような必要とされるデュアルデマル
チプレクサ機能が提供される。
【0052】各構成ラインに接続されたプルアップ抵抗
117があるので、またその構成ラインを駆動する、各P
LC110(書込ポート)からのインバータ134が開ドレー
ンであるので、各構成ラインは「ワイヤードAND」機
能を実行する。これは、インバータ134が存在すること
により、NOR機能が効果的に行われるからである。し
かし、図3に示すような多数の書込ポートはOR演算を
必要とするので、ワイヤードAND演算の結果は、その
結果をレジスタファイル119に格納する前に、反転され
なければならない。その一例として、レジスタファイル
119中にインバータを設けてその反転を行なうことがで
きる。いずれにせよ、左半分の列の構成ライン116-1
は、64ビットの各々についてORまたはNOR演算が行
われたデータビットをレジスタファイル119に提供し、
また、右半分の列の構成ライン116-2(および拡張ライ
ン116-3)は、ORまたはNOR演算が行われたイネー
ブルビットを提供する。従って、これら2つの半分の列
の構成ラインは、レジスタファイル119(図13(b)参
照)の各ビットに一対の信号FILE_WRITE,FILE_DATAを提
供する。レジスタファイル119の出力は、対応する左半
分の列の構成ライン116-1を駆動する。
【0053】PLC110が(レジスタファイル119の下側
のPLCと同様に)読出ポートとして構成される場合に
は、構成ライン116-1を駆動するインバータ134が完全に
ディセーブルにされ、マルチプレクサ112を駆動するイ
ンバータ132がイネーブルにされ、パストランジスタ136
が閉じられる。この場合、全ての読出ポートについての
各マルチプレクサ112は、同じ64のデータビットにアク
セスすることができ、その各マルチプレクサ112は、読
み出すべきビットを互いに独立して選択することができ
るものである。
【0054】図15および図16は、本発明によるマル
チポートレジスタファイルの第2の詳細な実施例を示す
ブロック図である。PLCAの図15および図16に示
す部は、レジスタファイルモードで示したものである。
この実施例は、図11および図12に示した実施例と同
様のものである。従って、その相違点についてのみ説明
することとする。この実施例では、プルアップ抵抗117
および制御可能スイッチ118が、別の配線バス140および
OR論理回路142で置き換えられている。この場合、O
R論理回路142-1が追加バス140の各ビットのOR演算を
行い、これにより、図3に示すORゲート30と同様に機
能する。更に、この実施例では、PLCメモリ144は従
来のものであり、図11および図12の場合のように修
正する必要のないものである。更に、レジスタファイル
119から読み出されたデータを、読出ポートとして機能
するPLC110へ供給するために、データバス146が設け
られている。本実施例で必要とされる配線量は、構成バ
ス116を図11および図12に示すように用いる場合に
は、削減することができる。これは、追加バス140を大
幅に短くし、または無くすことができるからである。
【0055】要約すると、レジスタファイルのビットス
ライスは、PLCを各「列」にグループ化し、ファイル
レジスタ、プルアップ抵抗またはOR回路を追加し、お
よび、各PLC中のメモリセルを僅かに修正することに
より支援される。書込ポートは、PLCマルチプレクサ
をデマルチプレクサとして逆方向に動作させることによ
り機能する。多数の書込ポートは、各書込ポートにより
生成されるDATA信号とENABLE信号とのワイヤードAND
演算またはOR演算を行うことにより支援される。書込
ポートから書き込まれた各ビットは、読出ポートに取り
付けられた構成ラインを駆動するレジスタファイルに格
納される。読出ポートは、PLCマルチプレクサを介し
て(PLCメモリビットではなく)構成ラインに対して
読み出しを行うことにより動作する。
【0056】図10ないし図14に示した実施例はマル
チポートレジスタファイルに関するものであるが、本発
明はデマルチプレクサ自体にも適用可能なものである。
例えば、図10に示したPLCA100は、それがレジス
タファイルモードにある場合に書込ポートとして動作す
るPLC102を備えている。この場合、PLCマルチプ
レクサ112は、実際にはデマルチプレクサとして動作す
るように逆方向に機能する。従って、本発明は、より広
義には、逆方向に動作してデマルチプレクサとして機能
することのできるPLCに関するものである。
【0057】本発明の多くの特徴および利点は、以上の
説明から明らかである。従って、特許請求の範囲は、本
発明のかかる特徴および利点の全てを含むよう意図され
たものである。更に、当業者であれば様々な修正や変更
を容易に行なうことが可能であり、図示および説明した
実施例は、本発明の構造および動作を限定するものでは
ない。従って、適当な修正および等価物は全て、本発明
の範囲内に含まれるものである。
【0058】以下においては、本発明の種々の構成要件
の組み合わせからなる例示的な実施態様を示す。
【0059】1.少なくともnビットの論理セルメモリ
とその論理セルメモリに接続されたn→1ビットのマルチ
プレクサとを有し、前記論理セルメモリ中の各セルが一
対の交差接続されたインバータを備えている、プログラ
マブル論理回路であって、前記マルチプレクサが双方向
パストランジスタを用いて実施され、前記インバータの
うちの少なくとも1つが3状態インバータであり、前記
プログラマブル論理回路が、前記3状態インバータがデ
ィセーブルにされた場合に1→nデマルチプレクサとして
機能することを特徴とする、プログラマブル論理回路。
【0060】2.前記マルチプレクサがCMOSトラン
ジスタを用いて実施される、前項1記載のプログラマブ
ル論理回路。
【0061】3.前記インバータの他方が開ドレーン素
子である、前項1記載のプログラマブル論理回路。
【0062】4.前記論理セルメモリの構成ラインを構
成制御回路と電圧源に接続されたプルアップ抵抗とのい
ずれか一方に接続する制御可能スイッチを有することを
特徴とする、前項1ないし前項3のいずれかに記載のプ
ログラマブル論理回路。
【0063】5.プログラマブル論理アレイであって、
データを格納するための少なくとも1つのレジスタファ
イルと、入力および出力を有するプログラマブル論理セ
ルであって、前記の少なくとも1つのレジスタファイル
に接続され、各々が順方向モードと逆方向モードと通常
モードとで動作することのできる、前記プログラマブル
論理セルと、前記プログラマブル論理セルの前記入力お
よび前記出力のうちの少なくとも一方を接続する、構成
可能な経路指定資源とを備え、前記レジスタファイル用
の書込ポートが、逆方向モードで動作する前記プログラ
マブル論理セルにより形成され、前記レジスタファイル
用の読出ポートが、順方向モードで動作する前記プログ
ラマブル論理セルにより形成される、プログラマブル論
理アレイ。
【0064】6.前記プログラマブル論理セルの各々
が、論理セルメモリと、その論理セルメモリに接続され
たセレクタとを備え、前記セレクタが、双方向パストラ
ンジスタからなるツリーを用いて実施され、前記論理セ
ルメモリ中の各メモリセルが、少なくとも一対の互いに
交差接続された3状態インバータを備えている、前項5
記載のプログラマブル論理アレイ。
【0065】7.逆方向モードにおいて、前記セレクタ
がデコーダとして機能し、前記3状態インバータの一方
がディセーブルにされる、前項6記載のプログラマブル
論理アレイ。
【0066】8.逆方向モードにおいて、前記セレクタ
が、書き込むべきデータをそのセレクタの入力から前記
レジスタファイルへと出力するデコーダとして機能し、
前記メモリが、書き込むべきデータを前記メモリの入力
から前記レジスタファイルへと出力するようにその書き
込むべきデータを送るよう機能し、順方向モードにおい
て、前記メモリが、データを前記レジスタファイルから
前記セレクタへと送るよう機能し、前記セレクタが、前
記レジスタファイルから読み出されたデータを出力する
セレクタとして機能する、前項6または前項7記載のプ
ログラマブル論理アレイ。
【0067】9.前記プログラマブル論理セルの各々
が、論理セルメモリと、その論理セルメモリに接続され
たセレクタとを備え、逆方向モードで動作する前記プロ
グラマブル論理セルのための前記セレクタの入力から出
力されるデータのOR演算を行う手段を更に備えてい
る、前項5記載のプログラマブル論理アレイ。
【0068】10.前記プログラマブル論理セルと前記
レジスタファイルとに接続された複数の構成ラインと、
前記プログラマブル論理セルの前記論理セルメモリをプ
ログラムするために前記構成ラインに信号を供給する構
成制御回路と、第1および第2の端部を有し、前記第1
の端部が電圧源に接続可能なものである、複数のプルア
ップ抵抗と、前記構成制御回路または前記プルアップ抵
抗の前記第2の端部に前記構成ラインを接続する複数の
制御可能スイッチとを更に備えている、前項6ないし前
項9の何れかに記載のプログラマブル論理アレイ。
【0069】
【発明の効果】本発明は上述のように構成したので、P
LCAの機能や柔軟性を犠牲にすることなくデマルチプ
レクサおよびマルチポートレジスタファイルの効率的な
支援を提供する改良されたPLCAアーキテクチャを提
供することができる。
【図面の簡単な説明】
【図1】幾つかの書込ポートによる同時書き込み、およ
び、幾つかの読出ポートによる同時読み出しが可能なレ
ジスタアレイとしてマルチポートレジスタファイルを上
位概念で示すブロック図である。
【図2】図1に示すようなマルチポートレジスタファイ
ルのための1つの書込ポートの実施態様を示すブロック
図である。
【図3】図1に示すようなマルチポートレジスタファイ
ルのための多数の書込ポートの実施態様を示すブロック
図である。
【図4】図1に示すようなマルチポートレジスタファイ
ルのための1つの読出ポートの実施態様を示すブロック
図である。
【図5】図1に示すようなマルチポートレジスタファイ
ルのための1つのメモリセルの実施態様を示すブロック
図である。
【図6】PLCAのプログラマブル論理セルを示すブロ
ック図である。
【図7】プログラマブルルックアップテーブルとして実
施されるPLCAの論理機能ブロックを示すブロック図
である。
【図8】6IN-2OUTのプログラマブル論理セルを示すブロ
ック図である。
【図9】パストランジスタを用いて実施した4→1マルチ
プレクサを示す概略図である。
【図10】本発明によるマルチポートレジスタファイル
のためのPLCAアーキテクチャの基本的な実施例を示
すブロック図である。
【図11】本発明によるマルチポートレジスタファイル
の第1実施例を示すブロック図である(1/2)。
【図12】本発明によるマルチポートレジスタファイル
の第1実施例を示すブロック図である(2/2)。
【図13】(a)は、図11および図12に示す制御可能
なスイッチの実施態様を示す概略図、(b)は、図11お
よび図12に示すマルチポートレジスタファイルの実施
態様を示すブロック図である。
【図14】本発明によるPLCメモリの実施態様を示す
ブロック図である。
【図15】本発明によるマルチポートレジスタファイル
の第2実施例を示すブロック図である(1/2)。
【図16】本発明によるマルチポートレジスタファイル
の第2実施例を示すブロック図である(2/2)。
【符号の説明】
130 PLCメモリ 132,134 3状態インバータ 136 パストランジスタ 110 PLC 112 マルチプレクサ 117 プルアップ抵抗 119 64ビットレジスタファイル 116-1,116-2 構成ライン 116-3 拡張ライン
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−318638(JP,A) 特開 平6−291641(JP,A) 特開 平5−122056(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03K 17/00 H03K 19/173 101

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のプログラマブル論理セルであって、
    該プログラマブル論理セルの各々の入力がその出力より
    も多く、該プログラマブル論理セルの各々がそれぞれ論
    理機能を1つずつ実行することが可能なものである、複
    数のプログラマブル論理セルと、 該プログラマブル論理セルの前記入力及び前記出力との
    接続を行う構成可能な経路指定資源とを備えたプログラ
    マブル論理セルアレイであって、 前記プログラマブル論理セルのうちの少なくとも1つ
    が、少なくとも1つのメモリ及び1つのマルチプレクサ
    を実施するよう構成され、通常モードでは、前記メモリ
    がデータを格納し、及び前記マルチプレクサが該データ
    を選択して出力し、逆方向モードでは、前記マルチプレ
    クサがデマルチプレクサとして動作し、及び前記メモリ
    が該デマルチプレクサにより出力されたデータを、該逆
    方向モードで出力として働く前記プログラマブル論理セ
    ルの入力へ送る、プログラマブル論理セルアレイ。
  2. 【請求項2】 前記通常モードでは、前記メモリに格納さ
    れるべきデータが構成バスを介して該メモリに供給さ
    れ、前記逆方向モードでは、前記デマルチプレクサによ
    り出力されるデータが前記メモリを介して前記構成バス
    に接続される、請求項1に記載のプログラマブル論理セ
    ルアレイ。
  3. 【請求項3】 前記構成バスを構成制御回路及びプルアッ
    プ抵抗の一方に接続するよう動作する制御可能スイッチ
    を備えている、請求項2に記載のプログラマブル論理セ
    ルアレイ。
  4. 【請求項4】 前記メモリが複数対の交差結合されたイン
    バータを備えており、該各対をなすインバータの少なく
    とも一方が3状態素子である、請求項1に記載のプログ
    ラマブル論理セルアレイ。
  5. 【請求項5】 前記各対をなすインバータの他方が開ドレ
    ーン素子である、請求項1に記載のプログラマブル論理
    セルアレイ。
  6. 【請求項6】 前記通常モードでは、前記メモリに格納さ
    れるべきデータが構成バスを介して該メモリに供給さ
    れ、前記逆方向モードでは、前記デマルチプレクサによ
    り出力されるデータが更なる配線バスに接続される、請
    求項1に記載のプログラマブル論理セルアレイ。
  7. 【請求項7】 データを格納するための少なくとも1つの
    レジスタファイルと、 入力及び出力を有するプログラマブル論理セルであっ
    て、複数の該プログラマブル論理セルが前記少なくとも
    1つのレジスタファイルに接続され、前記プログラマブ
    ル論理セルの各々が順方向モード、逆方向モード、及び
    通常モードで動作する、プログラマブル論理セルと、 該プログラマブル論理セルの入力及び出力との接続を行
    う構成可能な経路指定資源とを備えたプログラマブル論
    理アレイであって、 前記レジスタファイルのための書込ポートが、前記逆方
    向モードで動作する前記プログラマブル論理セルにより
    形成され、前記レジスタファイルのための読出ポート
    が、前記順方向モードで動作する前記プログラマブル論
    理セルにより形成される、プログラマブル論理アレイ。
  8. 【請求項8】 前記プログラマブル論理セルの各々が、論
    理セルメモリ及び該論理セルメモリに接続されたセレク
    タを含み、 前記セレクタが、ツリーをなす双方向パストランジスタ
    を用いて実施され、前記論理セルメモリ内の各メモリセ
    ルが、少なくとも一対の3状態交差結合インバータを含
    む、請求項7に記載のプログラマブル論理アレイ。
  9. 【請求項9】 逆方向モードにおいて、前記プログラマブ
    ル論理セルの前記セレクタがデコーダとして機能し、及
    び前記3状態インバータの第1のインバータがディセー
    ブルにされる、請求項8に記載のプログラマブル論理ア
    レイ。
  10. 【請求項10】 前記3状態インバータの第1のインバー
    タが開ドレーン素子である、請求項9に記載のプログラ
    マブル論理アレイ。
  11. 【請求項11】 逆方向モードにおいて、前記セレクタ
    が、デコーダとして機能して、書き込むべきデータを前
    記セレクタの入力から前記レジスタファイルへ出力し、
    及び前記メモリが、書き込むべきデータを該メモリの入
    力から前記レジスタファイルへ出力するように該書き込
    むべきデータを送る、請求項8に記載のプログラマブル
    論理アレイ。
  12. 【請求項12】 順方向モードにおいて、前記メモリが、
    前記レジスタファイルから前記セレクタへデータを送る
    よう機能し、及び前記セレクタが、前記レジスタファイ
    ルから読み出されたデータを出力するセレクタとして機
    能する、請求項10に記載のプログラマブル論理アレ
    イ。
  13. 【請求項13】 前記プログラマブル論理セルの各々が、
    論理セルメモリ及び該論理セルメモリに接続されたセレ
    クタを含み、 該プログラマブル論理アレイが、前記プログラマブル論
    理セルが逆方向モードで動作する場合に前記セレクタの
    入力から出力されたデータのOR演算を行う手段を更に
    備えている、請求項7に記載のプログラマブル論理アレ
    イ。
  14. 【請求項14】 前記プログラマブル論理セル及び前記レ
    ジスタファイルとの接続を行う複数の構成ラインと、 前記プログラマブル論理セルの前記論理セルメモリをプ
    ログラムするために前記構成ラインに信号を供給する構
    成制御回路と、 第1及び第2の端部を有し、該第1の端部が電圧源に接
    続可能なものである、複数のプルアップ抵抗と、 前記構成制御回路または前記プルアップ抵抗の前記第2
    の端部に前記構成ライ ンを接続する複数の制御可能スイ
    ッチとを更に備えている、請求項8に記載のプログラマ
    ブル論理アレイ。
  15. 【請求項15】 前記プログラマブル論理セルが逆方向モ
    ードにある場合に前記制御可能スイッチが前記構成ライ
    ンを前記プルアップ抵抗に接続する、請求項14に記載
    のプログラマブル論理アレイ。
JP20317694A 1993-08-27 1994-08-29 改良されたプログラマブル論理セルアレイアーキテクチャ Expired - Fee Related JP3471088B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US113578 1993-08-27
US08/113,578 US5315178A (en) 1993-08-27 1993-08-27 IC which can be used as a programmable logic cell array or as a register file

Publications (2)

Publication Number Publication Date
JPH07177008A JPH07177008A (ja) 1995-07-14
JP3471088B2 true JP3471088B2 (ja) 2003-11-25

Family

ID=22350258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20317694A Expired - Fee Related JP3471088B2 (ja) 1993-08-27 1994-08-29 改良されたプログラマブル論理セルアレイアーキテクチャ

Country Status (4)

Country Link
US (1) US5315178A (ja)
JP (1) JP3471088B2 (ja)
DE (1) DE4417575C2 (ja)
GB (1) GB2281427B (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5343406A (en) * 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5550782A (en) * 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
US6759870B2 (en) 1991-09-03 2004-07-06 Altera Corporation Programmable logic array integrated circuits
US5633830A (en) * 1995-11-08 1997-05-27 Altera Corporation Random access memory block circuitry for programmable logic array integrated circuit devices
US20020130681A1 (en) * 1991-09-03 2002-09-19 Cliff Richard G. Programmable logic array integrated circuits
US5438295A (en) * 1993-06-11 1995-08-01 Altera Corporation Look-up table using multi-level decode
US5815024A (en) * 1993-06-11 1998-09-29 Altera Corporation Look-up table using multi-level decode
US5386156A (en) * 1993-08-27 1995-01-31 At&T Corp. Programmable function unit with programmable fast ripple logic
US5535343A (en) * 1994-03-07 1996-07-09 Intel Corporation Method and apparatus for generating write signals
US5481495A (en) * 1994-04-11 1996-01-02 International Business Machines Corporation Cells and read-circuits for high-performance register files
US5802540A (en) * 1995-11-08 1998-09-01 Altera Corporation Programming and verification address generation for random access memory blocks in programmable logic array integrated circuit devices
US5406525A (en) * 1994-06-06 1995-04-11 Motorola, Inc. Configurable SRAM and method for providing the same
US5566123A (en) 1995-02-10 1996-10-15 Xilinx, Inc. Synchronous dual port ram
US6052773A (en) * 1995-02-10 2000-04-18 Massachusetts Institute Of Technology DPGA-coupled microprocessors
US5742180A (en) * 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
US6049223A (en) 1995-03-22 2000-04-11 Altera Corporation Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory
US5752077A (en) * 1995-05-15 1998-05-12 Motorola, Inc. Data processing system having a multi-function input/output port with individual pull-up and pull-down control
US5745734A (en) * 1995-09-29 1998-04-28 International Business Machines Corporation Method and system for programming a gate array using a compressed configuration bit stream
US5781031A (en) * 1995-11-21 1998-07-14 International Business Machines Corporation Programmable logic array
US6570404B1 (en) 1996-03-29 2003-05-27 Altera Corporation High-performance programmable logic architecture
US5977791A (en) 1996-04-15 1999-11-02 Altera Corporation Embedded memory block with FIFO mode for programmable logic device
US5818261A (en) * 1996-08-08 1998-10-06 Hewlett Packard Company Pseudo differential bus driver/receiver for field programmable devices
US5933023A (en) * 1996-09-03 1999-08-03 Xilinx, Inc. FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines
US6029236A (en) * 1997-01-28 2000-02-22 Altera Corporation Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
US6421817B1 (en) * 1997-05-29 2002-07-16 Xilinx, Inc. System and method of computation in a programmable logic device using virtual instructions
US6020760A (en) 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
US6011744A (en) 1997-07-16 2000-01-04 Altera Corporation Programmable logic device with multi-port memory
US6034857A (en) 1997-07-16 2000-03-07 Altera Corporation Input/output buffer with overcurrent protection circuit
US5995425A (en) * 1997-07-23 1999-11-30 International Business Machines Corporation Design of provably correct storage arrays
US6128215A (en) 1997-08-19 2000-10-03 Altera Corporation Static random access memory circuits
US6072332A (en) * 1997-10-14 2000-06-06 Altera Corporation Variable depth memories for programmable logic devices
US6289494B1 (en) 1997-11-12 2001-09-11 Quickturn Design Systems, Inc. Optimized emulation and prototyping architecture
US6188633B1 (en) * 1998-04-28 2001-02-13 Hewlett-Packard Company Multi-port computer register file having shared word lines for read and write ports and storage elements that power down or enter a high-impedance state during write operations
US6020776A (en) * 1998-06-22 2000-02-01 Xilinx, Inc. Efficient multiplexer structure for use in FPGA logic blocks
US6467017B1 (en) 1998-06-23 2002-10-15 Altera Corporation Programmable logic device having embedded dual-port random access memory configurable as single-port memory
US6240507B1 (en) 1998-10-08 2001-05-29 International Business Machines Corporation Mechanism for multiple register renaming and method therefor
US6262933B1 (en) 1999-01-29 2001-07-17 Altera Corporation High speed programmable address decoder
US6486702B1 (en) 1999-07-02 2002-11-26 Altera Corporation Embedded memory blocks for programmable logic
US6529040B1 (en) * 2000-05-05 2003-03-04 Xilinx, Inc. FPGA lookup table with speed read decoder
US6697957B1 (en) 2000-05-11 2004-02-24 Quickturn Design Systems, Inc. Emulation circuit with a hold time algorithm, logic analyzer and shadow memory
US6658438B1 (en) * 2000-08-14 2003-12-02 Matrix Semiconductor, Inc. Method for deleting stored digital data from write-once memory device
US20030120858A1 (en) 2000-09-15 2003-06-26 Matrix Semiconductor, Inc. Memory devices and methods for use therewith
US20020078342A1 (en) * 2000-09-25 2002-06-20 Broadcom Corporation E-commerce security processor alignment logic
US20020061107A1 (en) * 2000-09-25 2002-05-23 Tham Terry K. Methods and apparatus for implementing a cryptography engine
GB2376781B (en) 2001-03-29 2003-09-24 Mentor Graphics Corp Memory device
US6388466B1 (en) * 2001-04-27 2002-05-14 Xilinx, Inc. FPGA logic element with variable-length shift register capability
US6720796B1 (en) 2001-05-06 2004-04-13 Altera Corporation Multiple size memories in a programmable logic device
US7111110B1 (en) 2002-12-10 2006-09-19 Altera Corporation Versatile RAM for programmable logic device
US7366032B1 (en) * 2005-11-21 2008-04-29 Advanced Micro Devices, Inc. Multi-ported register cell with randomly accessible history
US7868605B1 (en) * 2007-07-02 2011-01-11 Altera Corporation Mixed mode power regulator circuitry for memory elements
US8510485B2 (en) * 2007-08-31 2013-08-13 Apple Inc. Low power digital interface
DE112012003335T5 (de) * 2011-08-12 2014-04-30 Denso Corp. Integrierte Schaltung
TWI681300B (zh) * 2014-11-14 2020-01-01 美商凱為有限責任公司 在64位元資料路徑上實行128位元simd操作之方法、系統及電腦可讀取媒體
US10802754B2 (en) * 2018-03-12 2020-10-13 Micron Technology, Inc. Hardware-based power management integrated circuit register file write protection

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0317287B1 (en) * 1987-11-20 1992-11-11 Kawasaki Steel Corporation Programmable logic device
JP2541248B2 (ja) * 1987-11-20 1996-10-09 三菱電機株式会社 プログラマブル・ロジック・アレイ
US4933909A (en) * 1988-12-19 1990-06-12 Bull Hn Information Systems Inc. Dual read/write register file memory
DE3941710A1 (de) * 1989-12-18 1991-06-20 Philips Patentverwaltung Programmierbare integrierte schaltungsanordnung
US5115411A (en) * 1990-06-06 1992-05-19 Ncr Corporation Dual port memory system
US5111431A (en) * 1990-11-02 1992-05-05 Analog Devices, Inc. Register forwarding multi-port register file
US5245227A (en) * 1990-11-02 1993-09-14 Atmel Corporation Versatile programmable logic cell for use in configurable logic arrays

Also Published As

Publication number Publication date
DE4417575A1 (de) 1995-03-02
GB2281427A (en) 1995-03-01
US5315178A (en) 1994-05-24
GB2281427B (en) 1998-03-18
DE4417575C2 (de) 1996-02-01
JPH07177008A (ja) 1995-07-14
GB9417139D0 (en) 1994-10-12

Similar Documents

Publication Publication Date Title
JP3471088B2 (ja) 改良されたプログラマブル論理セルアレイアーキテクチャ
US7088134B1 (en) Programmable logic device with flexible memory allocation and routing
KR100235812B1 (ko) 시프트 레지스터 및 프로그래머블 논리회로 및 프로그래머블 논리회로시스템
US6567969B1 (en) Configurable logic array including lookup table means for generating functions of different numbers of input terms
US5809281A (en) Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
US5737766A (en) Programmable gate array configuration memory which allows sharing with user memory
US6362650B1 (en) Method and apparatus for incorporating a multiplier into an FPGA
US7109752B1 (en) Configurable circuits, IC's, and systems
US6066961A (en) Individually accessible macrocell
US5371422A (en) Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements
US5670904A (en) Programmable digital delay unit
US7948266B2 (en) Non-sequentially configurable IC
US6014038A (en) Function block architecture for gate array
JP3939698B2 (ja) 埋込み固定論理回路をサポートする相互接続ロジックを有するプログラマブルゲートアレイ
EP0701713B1 (en) Field programmable logic device with dynamic interconnections to a dynamic logic core
US5367209A (en) Field programmable gate array for synchronous and asynchronous operation
US6992947B1 (en) Dual-port SRAM in a programmable logic device
EP0866558A2 (en) Programmable logic array device with random access memory configurable as product terms
EP0877385A2 (en) Non-disruptive, randomly addressable memory system
JP2002538652A (ja) 多目的論理/メモリ回路を具備するfpga形態特定可能論理ブロック
JP2001500682A (ja) プログラム可能なワード長および幅を有するramブロックと専用アドレスおよびデータラインとを有するfpgaアーキテクチャ
CA2147363A1 (en) Improved configurable cellular array
US7408382B2 (en) Configurable circuits, IC's, and systems
US20080074142A1 (en) Routing for Microprocessor Busses
US9780792B2 (en) FPGA RAM blocks optimized for use as register files

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090912

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100912

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130912

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees