JPH09232433A - プログラム可能ゲート・アレイ構成メモリ - Google Patents

プログラム可能ゲート・アレイ構成メモリ

Info

Publication number
JPH09232433A
JPH09232433A JP9030203A JP3020397A JPH09232433A JP H09232433 A JPH09232433 A JP H09232433A JP 9030203 A JP9030203 A JP 9030203A JP 3020397 A JP3020397 A JP 3020397A JP H09232433 A JPH09232433 A JP H09232433A
Authority
JP
Japan
Prior art keywords
memory
user
logic
fpga
configuration
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
JP9030203A
Other languages
English (en)
Inventor
Charles M C Tan
チャールズ・エム・シー・タン
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 JPH09232433A publication Critical patent/JPH09232433A/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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • 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/1735Controllable logic circuits by wiring, e.g. uncommitted logic arrays
    • H03K19/1736Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Memory System (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】FPGAなどプログラム可能な論理デバイス
は、融通性に富むため、電子機器等に幅広く使用される
ようになってきた。また電子デバイスはますます小型化
され、より小型でより廉価でより電力効率の高い電子デ
バイスおよびFPGAを開発することが要求されてい
る。 【解決手段】同じオンチップFPGAメモリを、構成可
能なメモリおよびユーザ・メモリとして使用できるよう
にするFPGAメモリ・アーキテクチャによって、FP
GAのユーザ論理は、構成メモリ・セル内に記憶されて
いる情報を修正することができ、またそれ自体が構成す
る論理を修正することができる。この機能によって、現
在よりも迅速に複雑な問題を解決することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、全般的にはフィー
ルド・プログラマブル・ゲート・アレー(FieldProgram
mable Gate Array、以下、FPGAと略す)に関する。
詳細には、本発明は、単一のメモリ・アレイが、構成可
能なメモリとユーザ・メモリの両方を備え、FPGAの
論理回路および外部制御装置が、構成可能なメモリおよ
びユーザ・メモリにアクセスすることができるFPGA
に関する。
【0002】
【従来の技術】FPGAは、ディジタル電子機器システ
ム設計者が論理を実施する方法を革新しつつある。FP
GAは、数千もの論理ゲートを実施するための開発費お
よびターンアラウンド時間を大幅に低減させることによ
って、半導体業界に影響を及ぼす新しい機能を提供す
る。FPGAは、将来のディジタル・システムの設計方
法を変更しつつある。
【0003】FPGAなどプログラム可能な論理デバイ
スは、融通性に富むため、幅広く使用されるようになっ
てきた。FPGAは通常、ディジタル電子機器設計者が
必要とする論理機能を提供するようにプログラム可能に
相互接続できるプログラム可能論理ブロック・アレイを
含む。プログラム可能な各論理ブロックは、いくつかの
異なる論理機能のうちの1つを実行するように個別にプ
ログラムすることができる。FPGAは、所望の構成に
従ってプログラム可能な論理ブロックどうしを結合する
構成可能なルーチング・マトリックスを有する。FPG
Aは、構成メモリ・セルも含む。構成メモリ・セルは、
プログラム可能な各論理ブロックによって実行される機
能を指定するためにプログラム可能な論理ブロックに結
合され、またプログラム可能な論理ブロックの入出力の
結合を指定するために構成可能なルーチング・マトリッ
クスに結合される。プログラム可能な各論理ブロック
は、いくつかの構成メモリ・セルに結合される。各構成
ルーチング・マトリックスはいくつかの構成メモリ・セ
ルに結合される。構成メモリ・セルにそれぞれの異なる
値を記憶することによって、プログラム可能な各論理ブ
ロックをその機能および結合に関して個別にプログラム
することができる。
【0004】プログラム可能な各論理ブロックおよび構
成可能な各ルーチング・マトリックスは、プログラム可
能な複数のスイッチ要素を備える。プログラム可能なス
イッチ要素の設定値は、プログラム可能な各論理ブロッ
クによって実行される論理機能と、プログラム可能な論
理ブロックの入出力の結合を定義する。プログラム可能
なスイッチ要素の設定値は、構成メモリ・セル内に記憶
された情報によって決定される。現在の所、各構成メモ
リ・セルは、特定のプログラム可能なスイッチ要素に対
応する。プログラム可能なスイッチ要素の設定値を修正
し、それにより、論理ブロックによって定義される論理
を修正するには、構成メモリ・セル内の情報を修正しな
ければならない。
【0005】プログラム可能なスイッチ要素が定義する
論理は一般に、ユーザ論理として指定される。通常、F
PGA内のユーザ論理は、動作時にユーザ・メモリを必
要とする。ユーザ・メモリとは、ユーザ論理がアクセス
できるメモリである。FPGAユーザ論理構成が記憶さ
れる構成可能なメモリは、ユーザ・メモリとしてアクセ
スすることはできない。一般に、構成メモリをユーザ・
メモリとして使用できるようにすることは、ユーザがう
っかりFPGAを再構成し、誤動作を生じさせる可能性
があるため危険すぎると考えられている。したがって、
一般に独立のユーザ・メモリが実施される。別々の構成
メモリおよびユーザ・メモリを実施すると、ユーザ・メ
モリおよび構成メモリに関連する資源が重複する。重複
する資源には、メモリへの行アドレス・デコーダおよび
列アドレス・デコーダと、メモリ入出力をドライブする
センス増幅器および読取り/書込み回路とが含まれる。
メモリ資源を重複させると、メモリ資源を重複させない
場合よりも多くの電力、コスト、物理寸法が必要であ
る。資源を重複させるとより多くの相互接続回路も必要
であり、そのため、メモリの動作速度が減少する。
【0006】現在、FPGAは2つの基本モードで動作
する。第1のモードはダウンロード・モードであり、こ
のモードでは、構成可能なメモリに所望のFPGAユー
ザ論理構成がロードされる。第2のモードはユーザ・モ
ードであり、このモードでは、構成可能なメモリへの外
部制御装置からのアクセスは許可されない。
【0007】FPGAがプログラム・モードのとき、構
成可能なメモリは、FPGAチップの外部の制御装置か
らアクセスすることができる。外部制御装置からのアク
セスは、外部制御装置がFPGAの構成可能なメモリに
所望のFPGA構成をロードできるように許可される。
一般に、FPGAは、プログラム・モードのときは機能
的ではない。すなわち、FPGAはまだ、その所期の用
途の機能を果たしていない。
【0008】FPGAがユーザ・モードのとき、FPG
Aの構成可能なメモリは、外部制御装置からはアクセス
できない。アクセスが許可されないのは、FPGA構成
が重ね書きされ、未定義のFPGA構成が生成される恐
れがあるからである。一般に、FPGAは、非プログラ
ム・モードのときには機能的である。すなわち、FPG
Aは、その所期の用途の機能を果す。
【0009】FPGA1を組み込んだシステムを図1に
示す。外部制御装置2は、FPGA1の構成メモリ3に
情報を記憶する。構成メモリ内に記憶されている情報
は、FPGA1のユーザ論理4を構成する。動作時に
は、ユーザ論理4によって別のユーザ・メモリ5が必要
とされる。メモリ3、5の2つの別々の割り振りがサポ
ートされるので、このシステムは冗長である。このシス
テムは、構成可能なメモリ3とユーザ・メモリ5の両方
を必要とする。電子回路は重複する。構成可能なメモリ
3は、列アドレス・デコーダ6、行アドレス・デコーダ
8、読取り/書込み回路を含む入出力センス増幅器10
を必要とする。ユーザ・メモリ5は、列アドレス・デコ
ーダ7、行アドレス・デコーダ9、読取り/書込み回路
を含む入出力センス増幅器11を必要とする。構成可能
なメモリ3とユーザ・メモリ5を維持するには、構成可
能なメモリ3とユーザ・メモリ5を組み合わせた場合に
必要なよりも多くの電力および物理空間が必要である。
【0010】ユーザ論理4が構成メモリ3を修正できな
いので、このシステムの機能は限られる。構成メモリ3
を修正できるのは外部制御装置2だけである。したがっ
て、FPGA内のユーザ論理4を修正できるのは外部制
御装置2だけである。
【0011】
【発明が解決しようとする課題】電子デバイスはますま
す小型化されている。電子機器製造業者が小型電子機器
市場で競争力を維持するには、常に、より小型でより廉
価でより電力効率の高い電子デバイスを開発しなければ
ならない。
【0012】構成可能なメモリとユーザ・メモリの両方
として使用できるオンチップ・メモリを有し、FPGA
内のユーザ論理と外部制御装置の両方から構成メモリお
よびユーザ・メモリにアクセスすることができるFPG
Aチップが必要である。
【0013】
【課題を解決するための手段】本発明は、同じオンチッ
プFPGAメモリを、構成可能なメモリおよびユーザ・
メモリとして使用できるようにするFPGAメモリ・ア
ーキテクチャを開示するものである。本発明のアーキテ
クチャによって、FPGAのユーザ論理は、構成メモリ
・セル内に記憶されている情報を修正することができ
る。したがって、ユーザ論理は、それ自体が構成する論
理を修正することができる。この機能によって、本発明
のFPGAメモリ・アーキテクチャを使用して、現在可
能なよりも迅速に複雑な問題を解決することができる。
【0014】本発明のFPGAメモリ・アーキテクチャ
では、電子回路も削減される。したがって、コスト、電
力、集積回路表面積の低減も実現することができる。
【0015】本発明の実施例は、共用FPGA構成メモ
リ・システムを含む。このシステムは、複数の論理機能
モジュールと、共用可能な複数のメモリ・セルと、再構
成可能な複数のメモリ・セルとを備えるユーザ定義論理
ブロックとを含む。各論理機能モジュールは、プログラ
ム可能な複数のスイッチ要素を備える。再構成可能な各
メモリ・セルは、対応するプログラム可能なスイッチ要
素に電気的に接続される。したがって、再構成メモリ・
セル内に記憶されている情報は、各論理機能モジュール
内の論理機能を構成する。論理機能モジュール内の構成
済み論理機能は、他の論理機能モジュール内のプログラ
ム可能なスイッチ要素に対応する再構成可能なメモリ・
セルを修正することができる。
【0016】他の実施例では、外部制御装置も、再構成
可能なメモリ・セルおよび共用可能なメモリ・セルへの
情報の読み書きを行うことができる。
【0017】他の実施例では、1つの論理機能モジュー
ルが、すべての他の論理機能モジュール内のプログラム
可能なスイッチ要素に対応する再構成可能なメモリ・セ
ルへの書込みを行うことができるマスタ論理機能モジュ
ールとして指定される。しかし、他の論理機能モジュー
ルは、マスタ論理機能モジュール内のプログラム可能な
スイッチ要素に対応する構成メモリ・セルへの書込みを
行うことはできない。
【0018】本発明の他の態様および利点は、一例とし
て本発明の原則を図示する添付の図面と共に下記の詳細
な説明を検討から明らかになろう。
【0019】
【発明の実施の形態】例示のために図面に示したよう
に、本発明はFPGAメモリ・アーキテクチャにおいて
具体化される。本発明のFPGAメモリ・アーキテクチ
ャでは、同じメモリを構成可能なFPGAメモリとユー
ザ・メモリの両方として使用することができる。FPG
Aがダウンロード・モードのときは、外部制御装置が構
成メモリおよびユーザ・メモリにアクセスすることがで
きる。FPGAがユーザ・モードのときは、構成メモリ
によって定義されるユーザ論理が、構成メモリおよびユ
ーザ・メモリにアクセスすることができる。したがっ
て、ユーザ論理は、それ自体が構成する論理を修正する
ことができる。
【0020】本発明のFPGAメモリ・アーキテクチャ
では、構成メモリ内に記憶されている情報によって定義
されるユーザ論理が、構成メモリとの間で読み書きを行
うことができる。ユーザ論理が構成メモリとの間で読み
書きを行うことができるようにすることによって、ユー
ザ論理は実際には、それ自体内の論理の各セクションを
修正することができる。ユーザ論理が正しく設計されて
いない場合は、結果がまったく不適切なものとなること
がある。しかし、正しく設計されている場合は、ユーザ
論理設計を非常に動的で強力なものとすることができ
る。
【0021】ユーザ論理はモジュールとして区画化する
ことができる。1つのモジュールをマスタ・モジュール
として指定することができる。マスタ・モジュールは、
ユーザ論理内の他のモジュール内の論理を修正できる制
御装置として動作するように構成される。他のモジュー
ル内の論理を制御することができるマスタ・モジュール
を指定することによって、ユーザ論理が未定義の状態ま
たは構成として構成される危険性が低減される。
【0022】大部分のFPGAのユーザ論理は、ユーザ
・メモリが適切に動作することを要求している。すべて
のFPGAは構成可能なメモリを必要とする。本発明で
は、ユーザ・メモリおよび構成可能なメモリが、センス
増幅器、ビット線、アドレス・デコーダなどのメモリ資
源を共用することができる。したがって、本発明は、コ
スト、物理寸法、電力消費量も低減させる。
【0023】図2は、本発明の実施例を示す。単一のメ
モリ・アレイ21は、メモリ・セル行とメモリ・セル列
とを備える。単一のメモリ・アレイ21は、構成可能な
FPGAメモリとユーザ・メモリの両方を備える。構成
可能なメモリおよびユーザ・メモリは、アドレス制御装
置22内のデータ・アドレス制御回路や、入出力制御装
置23内のデータ入出力制御回路などのサポート回路を
共用する。
【0024】構成メモリ内の各メモリ・セルは、複数の
導線25を通じてFPGAユーザ論理ブロック24内の
少なくとも1つのプログラム可能なスイッチ要素に電気
的に接続される。プログラム可能なスイッチ要素の設定
値は、ユーザ論理ブロック24内の論理機能を決定す
る。したがって、構成メモリ・セル内に記憶されている
情報は、ユーザ論理ブロック24内の論理機能を定義す
る。
【0025】構成メモリは最初、FPGAがダウンロー
ド・モードのときに外部制御装置26によって情報をロ
ードされる。構成メモリがロードされた後、外部制御装
置26はFPGAをユーザ・モードに切り替える。外部
制御装置26は、それ自体が構成メモリを再ロードまた
は修正できるようにするためにFPGAを再びダウンロ
ード・モードに切り替えなければならない。
【0026】外部制御装置26によって構成メモリがロ
ードされ、FPGAがユーザ・モードに切り替えられた
後、ユーザ論理ブロック24は構成メモリおよびユーザ
・メモリにアクセスすることができる。ユーザ論理ブロ
ック24は、ユーザ・メモリを使用して計算時に情報を
記憶することができ、ユーザ論理ブロック24の一部を
再構成するように構成メモリを修正することができる。
【0027】メモリ・アレイ21内のメモリ・セル行
は、アドレス制御装置22によって選択される。アドレ
ス制御装置22は、FPGAモードがダウンロード・モ
ードのときには外部制御装置26からの制御装置アドレ
ス入力27に応答し、FPGAがユーザ・モードのとき
にはユーザ論理ブロック24からのユーザ・アドレス入
力28に応答する。
【0028】入出力制御装置23はメモリ・アレイ21
内のメモリ列を選択し、データ情報経路を形成する。
FPGAがダウンロード・モードのときには、入出力制
御装置23は制御装置アドレス入力27に応答し、メモ
リ・アレイ21から外部制御装置26へのデータ経路を
形成する。 FPGAがユーザ・モードのときには、入
出力制御装置23はユーザ・アドレス入力28に応答
し、メモリ・アレイ21からユーザ論理24へのデータ
経路を形成する。
【0029】外部制御装置26は、FPGAがダウンロ
ード・モードであるか、それともユーザ・モードである
かを判定する。FPGAをダウンロード・モードにセッ
トするために、外部制御装置26はモード線29をアク
ティベート(Activate、以下、活動化、と呼ぶ)する。
モード線29が活動化された後、アドレス制御装置22
は、外部制御装置しかメモリ・アレイ21にアドレスで
きないようにする。モード線29が活動化された後、入
出力制御装置23は、メモリ・アレイのデータがメモリ
・アレイと外部制御装置の間でしか転送されないように
する。
【0030】FPGAをユーザ・モードにセットするた
めに、外部制御装置26はモード線29をディアクティ
ベート(Deactivate、以下、非活動化、と呼ぶ)する。
モード線29が非活動化された後、アドレス制御装置2
2は、ユーザ論理ブロック24しかメモリ・アレイ21
にアドレスできないようにする。モード線29が活動化
された後、入出力制御装置23は、メモリ・アレイのデ
ータがメモリ・アレイとユーザ論理ブロック24の間で
しか転送されないようにする。
【0031】図3は、ユーザ論理ブロック24と、ユー
ザ論理ブロック24内の論理42、44、46のモジュ
ールを示す。ユーザ・モードでは、FPGA内のユーザ
論理ブロック24は構成メモリへの書込みを行うことが
できる。したがって、ユーザ論理ブロック24は、ある
種の条件が満たされた場合にそれ自体を修正することが
できる。ユーザ論理ブロック24がそれ自体を修正する
能力は、大きな危険性を伴う。すなわち、ユーザ論理ブ
ロック24は、それ自体を使用不能にする情報を構成メ
モリに書き込み恐れがある。この可能性は、ユーザ論理
ブロック24をモジュール42、44、46として区画
化し、モジュール42、44、46のうちの1つをマス
タ・モジュールとして指定することによってなくするこ
とができる。図3は、モジュール42をマスタ・モジュ
ールとして示し、かつ他のモジュール44、46内の論
理に対するマスタ・モジュール42の制御を示す。マス
タ・モジュールは、ユーザ論理ブロック24による構成
メモリへのすべての書込みを制御するように指定するこ
とができる。マスタ・モジュール自体が、他のモジュー
ル44、46の論理を構成する構成メモリ・セルへの書
込みを行うことができるが、マスタ・モジュールに対応
する構成メモリ・セルへの書込みができなくなるよう
に、マスタ・モジュールを構成することができる。した
がって、ユーザ論理ブロック24内のマスタ・モジュー
ルの周りの論理は修正できるが、マスタ・モジュール内
の論理は修正されない。
【0032】本発明を使用して自己修理論理を実施する
ことができる。FPGAは、正しく製造されておらず確
実に動作することができないユーザ論理セクションを有
する可能性がある。ユーザ論理内の問題領域を検出する
自己修理論理を実施することができる。ユーザ論理内の
自己修理論理は、ユーザ論理に対応する構成メモリ・セ
ル内に記憶されている情報を再構成し、正しく製造され
ていないユーザ論理セクションを回避することができ
る。したがって、最初にユーザ論理に記憶された論理
は、それ自体が誤動作を含んでいないかどうか検査す
る。誤動作が検出された場合、ユーザ論理内の自己修理
論理は、ユーザ論理において誤動作が存在する場所を分
離し、ユーザ論理の欠陥領域が動作しないように構成メ
モリ内に記憶されている情報を再構成する。
【0033】本発明を使用して、いわゆる自己再生アル
ゴリズムをハードウェア内で実施することができる。自
己再生アルゴリズムを使用して、特定の問題に対する最
も効率的な解決策を得ることができる。たとえば、自己
再生アルゴリズムを使用して、シミュレートされたチェ
ス・ゲームにおけるチェスの駒の最良の動きを判定する
ことも、あるいは電子回路内の回路要素を最適化するこ
ともできる。
【0034】チェスの駒の最良の動きを判定するには、
すべての可能な動きの個別の各動きがどのくらい効果的
であるかを計算する必要がある。したがって、あらゆる
可能な動きに関して計算を行わなければならない。最適
な結果を与える計算が最良の動きである。最良の動きの
各計算には、現在の動きの後のすべての可能な将来の動
きを含めなければならない。計算の数は非常に速く増加
し、高度の計算力および多量のメモリが必要となる。
【0035】本発明を用いて自己再生アルゴリズムを実
施すると、特定の問題を解くために自己再生アルゴリズ
ムに必要な計算時間が著しく短縮される。自己再生アル
ゴリズムの計算は、標準的なソフトウェア実施態様より
もずっと高速にハードウェアで実施される。
【0036】自己再生アルゴリズムは、本発明を用い
て、最初にFPGAの構成メモリ内に構成を記憶するこ
とによって実施される。この最初の構成は、すべての可
能なチェスの動きのうちの最初の動きに必要な計算を表
す。ユーザ論理ブロックは、最初の計算を実行した後、
最初の計算の結果に応じて、それ自体を新しい構成に修
正する。新しい構成の計算の後、プロセスが繰り返され
る。ユーザ論理構成、および各構成ごとに計算された値
はユーザ・メモリ内に記憶される。すべての可能な構成
を使い尽くし、すなわち、チェスの駒のすべての可能な
動きを計算した後、ユーザ・メモリには、すべての可能
な構成および関連する結果が含まれる。したがって、チ
ェスの駒の最良の動きに対応する最良の構成を判定する
ことができる。
【0037】すべての計算はハードウェア内で行われ
る。したがって、個別の各計算は非常に高速である。そ
の結果、本発明は、現在可能なよりもかなり高速に結果
を生成する。
【0038】図4は、図2および3のアドレス制御装置
22および入出力制御装置23の実施態様を示す。
【0039】図4のアドレス制御装置22は、構成行デ
コーダ31と、ユーザ行デコーダ32と、構成行マルチ
プレクサ33と、ユーザ行マルチプレクサ34とを含
む。
【0040】構成行マルチプレクサ33およびユーザ行
マルチプレクサ34は、制御装置アドレス入力27とユ
ーザ・アドレス入力28の両方を受け取る。構成行マル
チプレクサ33の出力は構成行デコーダ31の入力に接
続される。ユーザ行マルチプレクサ34の出力はユーザ
行デコーダ32の入力に接続される。構成行マルチプレ
クサ33およびユーザ行マルチプレクサ34は、外部制
御装置26からモード線29も受け取る。モード線29
が活動化されると、構成行マルチプレクサ33およびユ
ーザ行マルチプレクサ34は、制御装置アドレス入力2
7を構成行デコーダ31およびユーザ行デコーダ32へ
送る。モード線29が非活動化されると、構成行マルチ
プレクサ33およびユーザ行マルチプレクサ34は、ユ
ーザ・アドレス入力28を構成行デコーダ31およびユ
ーザ行デコーダ32へ送る。
【0041】モード線29が活動化されるかどうかに応
じて、構成行デコーダ31は、制御装置アドレス入力2
7とユーザ・アドレス入力28のどちらかを復号し、構
成メモリのどの行にアクセスすべきかを判定する。モー
ド線29が活動化されるかどうかに応じて、ユーザ行デ
コーダ32は、制御装置アドレス入力27とユーザ・ア
ドレス入力28のどちらかを復号し、ユーザ・メモリの
どの行にアクセスすべきかを判定する。
【0042】入出力制御装置23は、列デコーダ36
と、列マルチプレクサ35と、列バッファ37と、デー
タ・マルチプレクサ38とを含む。
【0043】列マルチプレクサ35は、制御装置アドレ
ス入力27とユーザ・アドレス入力28の両方を受け取
る。列マルチプレクサ35の出力は、列デコーダ36に
接続される。モード線29が活動化されると、列マルチ
プレクサ35は構成アドレス入力27を列デコーダ36
へ送る。モード線29が非活動化されると、列マルチプ
レクサ35はユーザ・アドレス入力27を列デコーダ3
6へ送る。
【0044】モード線29が活動化されるかどうかに応
じて、列デコーダ36は、制御装置アドレス入力27と
ユーザアドレス入力28のどちらかを復号し、ユーザ・
メモリのどの列にアクセスすべきかを判定する。
【0045】構成メモリまたはユーザ・メモリは一般
に、図4に示した列バッファ37などのバッファを含
む。バッファは通常、センス増幅器を含む。列バッファ
37は、この図では、構成メモリとユーザ・メモリを組
み合わせることによって構成メモリおよびユーザ・メモ
リに関連する回路が最小限に抑えられることを強調する
ように示されている。
【0046】データ・マルチプレクサ38は、モード線
29を受け取る。モード線29が活動状況である場合、
データ・マルチプレクサ38は、外部制御装置26がメ
モリ・アレイ21との間でデータの読取りと書込みのど
ちらかを行うことができるように列バッファ37を制御
装置データ・バス40に接続する。モード線29が活動
状況でない場合、データ・マルチプレクサ38は、ユー
ザ論理ブロック24がメモリ・アレイ21との間でデー
タの読取りと書込みのどちらかを行うことができるよう
に列バッファ37をユーザ・データ・バス41に接続す
る。
【0047】以上、本発明の実施例について詳述した
が、以下、本発明の各実施態様の例を示す。
【0048】〔実施態様1〕 共用FPGA構成メモリ
・システムであって、以下(a)ないし(c)を含むこ
とを特徴とする共用FPGA構成メモリ・システム、
(a)ユーザ定義論理ブロックであって、それぞれプロ
グラム可能な複数のスイッチ要素を備える複数の論理機
能モジュールを備えるユーザ定義論理ブロック、(b)
共用可能な複数のメモリ・セル、(c)再構成可能な複
数のメモリ・セルであって、前記再構成可能な複数のメ
モリ・セルは、それぞれ対応するプログラム可能なスイ
ッチ要素に電気的に接続され、それによって前記各論理
機能モジュール内の論理機能を構成し、特定の論理機能
モジュールが、他の論理機能モジュール内の前記プログ
ラム可能なスイッチ要素に対応する再構成可能なメモリ
・セルを修正できる。
【0049】〔実施態様2〕 実施態様1に記載の共用
FPGA構成メモリ・システムであって、さらに前記再
構成可能なメモリ・セルおよび前記共用可能なメモリ・
セルへの情報の読み書きを行うことができる外部制御装
置を備えることを特徴とする共用FPGA構成メモリ・
システム。
【0050】〔実施態様3〕 実施態様1に記載の共用
FPGA構成メモリ・システムであって、1つの論理機
能モジュールが、マスタ論理機能モジュールとして指定
され、前記マスタ論理機能モジュールは他の論理機能モ
ジュール内のプログラム可能なスイッチ要素に対応する
再構成可能なメモリ・セルへの書込みを行うことができ
るが、前記他の論理機能モジュールは、前記マスタ論理
機能モジュール内のプログラム可能なスイッチ要素に対
応する構成メモリ・セルへの書込みを行うことができな
いことを特徴とする共用FPGA構成メモリ・システ
ム。
【0051】〔実施態様4〕 実施態様2に記載の共用
FPGA構成メモリ・システムであって、さらに、以下
(a)ないし(c)を含むことを特徴とする共用FPG
A構成メモリ・システム、(a)前記外部制御装置から
受け取るモード線、(b)アドレス制御装置であって、
前記共用可能なメモリ・セルと前記再構成可能なメモリ
・セルとを備える複数のメモリ・セル内のメモリ・セル
の行を選択し、前記モード線が活動化されたときに前記
外部制御装置からのアドレス入力に応答し、前記モード
線が非活動化されたときに前記ユーザ定義論理ブロック
からのアドレス入力に応答するアドレス制御装置、
(c)入出力制御装置であって、前記共用可能なメモリ
・セルと前記再構成可能なメモリ・セルとを備える複数
のメモリ・セル内のメモリ・セルの列を選択し、前記モ
ード線が活動化されたときに前記外部制御装置からのア
ドレス入力に応答し、前記モード線が非活動化されたと
きに前記ユーザ定義論理ブロックからのアドレス入力に
応答する入出力制御装置。
【0052】〔実施態様5〕 実施態様1に記載の共用
FPGA構成メモリ・システムであって、前記再構成可
能なメモリ・セルおよび前記共用可能なメモリ・セル
が、メモリ・サポート回路を共用することを特徴とする
共用FPGA構成メモリ・システム。
【0053】〔実施態様6〕 実施態様5に記載の共用
FPGA構成メモリ・システムであって、前記サポート
回路がセンス増幅器を備えることを特徴とする共用FP
GA構成メモリ・システム。
【0054】〔実施態様7〕 実施態様5に記載の共用
FPGA構成メモリ・システムであって、前記サポート
回路が入出力論理を備えることを特徴とする共用FPG
A構成メモリ・システム。
【0055】〔実施態様8〕 実施態様5に記載の共用
FPGA構成メモリ・システムであって、前記サポート
回路が読取り/書込み論理を備えることを特徴とする共
用FPGA構成メモリ・システム。
【0056】本発明の特定の実施例を説明し図示した
が、本発明は、実施例に説明し図示した各部の特定の態
様または構成に限らない。本発明は特許請求の範囲によ
ってのみ制限される。
【図面の簡単な説明】
【図1】構成可能なFPGAメモリと別のユーザ・メモ
リの両方を必要とする従来技術のFPGAシステムを示
す図である。
【図2】本発明によるFPGAメモリ・アーキテクチャ
を示す図である。
【図3】マスタ・モジュールがサーバント・モジュール
内の論理を修正することができるユーザ論理内のモジュ
ールを示す図である。
【図4】本発明によるFPGAメモリ・アーキテクチャ
の実施態様を示す図である。
【符号の説明】
1 FPGA 2 外部制御装置 3 構成メモリ 4 FPGAユーザ論理 5 ユーザ・メモリ 6、7 列アドレス・デコーダ 8、9 行アドレス・デコーダ 10、11 入出力センス増幅器 21 メモリアレー 22 アドレス制御装置 23 入出力制御装置 24 FPGAユーザ(定義)論理ブロック 25 導線 26 外部制御装置 27、28 アドレス入力 29 モード線 31 構成行デコーダ 32 ユーザ行デコーダ 33 構成行マルチプレクサ 34 ユーザ行マルチプレクサ 35 列マルチプレクサ 36 列デコーダ 37 列バッファ 38 データ・マルチプレクサ 41 ユーザ・データ・バス 42、44、46 論理機能モジュール

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】共用FPGA構成メモリ・システムであっ
    て、以下(a)ないし(c)を含むことを特徴とする共
    用FPGA構成メモリ・システム、(a)ユーザ定義論
    理ブロックであって、それぞれプログラム可能な複数の
    スイッチ要素を備える複数の論理機能モジュールを備え
    るユーザ定義論理ブロック、(b)共用可能な複数のメ
    モリ・セル、(c)再構成可能な複数のメモリ・セルで
    あって、前記再構成可能な複数のメモリ・セルは、それ
    ぞれ対応するプログラム可能なスイッチ要素に電気的に
    接続され、それによって前記各論理機能モジュール内の
    論理機能を構成し、特定の論理機能モジュールが、他の
    論理機能モジュール内の前記プログラム可能なスイッチ
    要素に対応する再構成可能なメモリ・セルを修正でき
    る。
JP9030203A 1996-02-14 1997-02-14 プログラム可能ゲート・アレイ構成メモリ Pending JPH09232433A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/599,883 US5737766A (en) 1996-02-14 1996-02-14 Programmable gate array configuration memory which allows sharing with user memory
US599,883 1996-02-14

Publications (1)

Publication Number Publication Date
JPH09232433A true JPH09232433A (ja) 1997-09-05

Family

ID=24401488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9030203A Pending JPH09232433A (ja) 1996-02-14 1997-02-14 プログラム可能ゲート・アレイ構成メモリ

Country Status (3)

Country Link
US (1) US5737766A (ja)
EP (1) EP0790706A3 (ja)
JP (1) JPH09232433A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220022120A (ko) * 2019-04-23 2022-02-24 아르보 컴퍼니 엘엘엘피 이중 기능 셀 어레이를 재구성하기 위한 시스템 및 방법
US11435800B2 (en) 2019-04-23 2022-09-06 Arbor Company, Lllp Systems and methods for reconfiguring dual-function cell arrays
US11463524B2 (en) 2020-06-29 2022-10-04 Arbor Company, Lllp Mobile IoT edge device using 3D-die stacking re-configurable processor module with 5G processor-independent modem

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09293015A (ja) * 1996-04-24 1997-11-11 Mitsubishi Electric Corp メモリシステムおよびそれに用いられる半導体記憶装置
US6758755B2 (en) 1996-11-14 2004-07-06 Arcade Planet, Inc. Prize redemption system for games executed over a wide area network
US5821776A (en) * 1997-01-31 1998-10-13 Actel Corporation Field programmable gate array with mask programmed analog function circuits
US5959466A (en) 1997-01-31 1999-09-28 Actel Corporation Field programmable gate array with mask programmed input and output buffers
US6150837A (en) 1997-02-28 2000-11-21 Actel Corporation Enhanced field programmable gate array
US5940627A (en) * 1997-03-13 1999-08-17 Compaq Computer Corporation User selectable feature set for a flash ROM based peripheral
US5978862A (en) * 1997-08-08 1999-11-02 Toshiba America Information Systems, Inc. PCMCIA card dynamically configured in first mode to program FPGA controlling application specific circuit and in second mode to operate as an I/O device
US6078735A (en) * 1997-09-29 2000-06-20 Xilinx, Inc. System and method for generating memory initialization logic in a target device with memory initialization bits from a programmable logic device
US7003593B2 (en) * 1997-12-17 2006-02-21 Src Computers, Inc. Computer system architecture and memory controller for close-coupling within a hybrid processing system utilizing an adaptive processor interface port
US7565461B2 (en) 1997-12-17 2009-07-21 Src Computers, Inc. Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers
US6339819B1 (en) * 1997-12-17 2002-01-15 Src Computers, Inc. Multiprocessor with each processor element accessing operands in loaded input buffer and forwarding results to FIFO output buffer
US6076152A (en) * 1997-12-17 2000-06-13 Src Computers, Inc. Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem
US7373440B2 (en) 1997-12-17 2008-05-13 Src Computers, Inc. Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format
US6996656B2 (en) * 2002-10-31 2006-02-07 Src Computers, Inc. System and method for providing an arbitrated memory bus in a hybrid computing system
US7146441B1 (en) * 1998-03-16 2006-12-05 Actel Corporation SRAM bus architecture and interconnect to an FPGA
EP0984403A1 (en) * 1998-09-01 2000-03-08 Mindport B.V. Security system
US6347346B1 (en) * 1999-06-30 2002-02-12 Chameleon Systems, Inc. Local memory unit system with global access for use on reconfigurable chips
DE19946752A1 (de) * 1999-09-29 2001-04-12 Infineon Technologies Ag Rekonfigurierbares Gate-Array
US6438737B1 (en) 2000-02-15 2002-08-20 Intel Corporation Reconfigurable logic for a computer
WO2002009285A2 (en) * 2000-07-20 2002-01-31 Celoxica Limited System, method and article of manufacture for dynamic programming of one reconfigurable logic device from another reconfigurable logic device
US20020010825A1 (en) * 2000-07-20 2002-01-24 Alex Wilson Memory resource arbitrator for multiple gate arrays
AU2001270874A1 (en) * 2000-07-20 2002-02-05 Celoxica Limited System, method and article of manufacture for controlling the use of resources
US20030033450A1 (en) * 2000-07-20 2003-02-13 John Appleby-Alis System, method, and article of manufacture for remote updating of hardware
KR100386253B1 (ko) * 2000-11-28 2003-06-02 엘지전자 주식회사 패러티 비트를 이용한 에프피지에이 레지스터의 라이트데이터 확인회로
KR100413762B1 (ko) * 2001-07-02 2003-12-31 삼성전자주식회사 뱅크 수를 가변할 수 있는 반도체 장치 및 그 방법
MXPA04004117A (es) * 2001-11-01 2004-09-10 Mattel Inc Juego de tablero por medio de tejos.
US7183796B2 (en) 2002-03-18 2007-02-27 Nxp Bv. Configuration memory implementation for LUT-based reconfigurable logic architectures
US20030212853A1 (en) * 2002-05-09 2003-11-13 Huppenthal Jon M. Adaptive processor architecture incorporating a field programmable gate array control element having at least one embedded microprocessor core
US7406573B2 (en) * 2002-05-09 2008-07-29 Src Computers, Inc. Reconfigurable processor element utilizing both coarse and fine grained reconfigurable elements
CN100359602C (zh) * 2002-06-20 2008-01-02 中兴通讯股份有限公司 一种有效利用现场可编程门阵列中的存储器的方法
US7299458B2 (en) 2002-10-31 2007-11-20 Src Computers, Inc. System and method for converting control flow graph representations to control-dataflow graph representations
US6941539B2 (en) * 2002-10-31 2005-09-06 Src Computers, Inc. Efficiency of reconfigurable hardware
US6983456B2 (en) * 2002-10-31 2006-01-03 Src Computers, Inc. Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms
US7225324B2 (en) 2002-10-31 2007-05-29 Src Computers, Inc. Multi-adaptive processing systems and techniques for enhancing parallelism and performance of computational functions
US6964029B2 (en) * 2002-10-31 2005-11-08 Src Computers, Inc. System and method for partitioning control-dataflow graph representations
US7155708B2 (en) * 2002-10-31 2006-12-26 Src Computers, Inc. Debugging and performance profiling using control-dataflow graph representations with reconfigurable hardware emulation
US20060001669A1 (en) * 2002-12-02 2006-01-05 Sehat Sutardja Self-reparable semiconductor and method thereof
US7340644B2 (en) * 2002-12-02 2008-03-04 Marvell World Trade Ltd. Self-reparable semiconductor and method thereof
US7185225B2 (en) 2002-12-02 2007-02-27 Marvell World Trade Ltd. Self-reparable semiconductor and method thereof
US7890686B2 (en) * 2005-10-17 2011-02-15 Src Computers, Inc. Dynamic priority conflict resolution in a multi-processor computer system having shared resources
US7716100B2 (en) * 2005-12-02 2010-05-11 Kuberre Systems, Inc. Methods and systems for computing platform
WO2007120439A2 (en) * 2006-04-14 2007-10-25 Raytheon Company Data storing
US7697329B2 (en) * 2007-01-31 2010-04-13 Sandisk 3D Llc Methods and apparatus for using a configuration array similar to an associated data array
US7843729B2 (en) * 2007-01-31 2010-11-30 Sandisk 3D Llc Methods and apparatus for using a configuration array similar to an associated data array
WO2010060009A2 (en) * 2008-11-24 2010-05-27 Srl, Inc. Articles of footwear
US8718079B1 (en) 2010-06-07 2014-05-06 Marvell International Ltd. Physical layer devices for network switches
JP5500282B1 (ja) * 2013-02-28 2014-05-21 日本電気株式会社 障害修復装置、障害修復方法、及び、障害修復プログラム
US9536590B1 (en) * 2014-09-03 2017-01-03 Marvell International Ltd. System and method of memory electrical repair
US10037187B2 (en) * 2014-11-03 2018-07-31 Google Llc Data flow windowing and triggering
US10802735B1 (en) * 2019-04-23 2020-10-13 Arbor Company, Lllp Systems and methods for reconfiguring dual-function cell arrays

Family Cites Families (7)

* 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
US5099150A (en) * 1989-09-29 1992-03-24 Sgs-Thomson Microelectronics, Inc. Circuit block for programmable logic devices, configurable as a user-writable memory or a logic circuit
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5414377A (en) * 1992-12-21 1995-05-09 Xilinx, Inc. Logic block with look-up table for configuration and memory
EP0665998A4 (en) * 1993-08-03 1996-06-12 Xilinx Inc FPGA CIRCUIT WITH MICROPROCESSOR.
US5600597A (en) * 1995-05-02 1997-02-04 Xilinx, Inc. Register protection structure for FPGA
US5583450A (en) * 1995-08-18 1996-12-10 Xilinx, Inc. Sequencer for a time multiplexed programmable logic device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220022120A (ko) * 2019-04-23 2022-02-24 아르보 컴퍼니 엘엘엘피 이중 기능 셀 어레이를 재구성하기 위한 시스템 및 방법
JP2022525557A (ja) * 2019-04-23 2022-05-17 アーバー・カンパニー・エルエルエルピイ 二重機能セルアレイを再構成するためのシステムおよび方法
US11435800B2 (en) 2019-04-23 2022-09-06 Arbor Company, Lllp Systems and methods for reconfiguring dual-function cell arrays
US11797067B2 (en) 2019-04-23 2023-10-24 Arbor Company, Lllp Systems and methods for reconfiguring dual-function cell arrays
US11463524B2 (en) 2020-06-29 2022-10-04 Arbor Company, Lllp Mobile IoT edge device using 3D-die stacking re-configurable processor module with 5G processor-independent modem
US11895191B2 (en) 2020-06-29 2024-02-06 Arbor Company, Lllp Mobile IoT edge device using 3D-die stacking re-configurable processor module with 5G processor-independent modem

Also Published As

Publication number Publication date
US5737766A (en) 1998-04-07
EP0790706A2 (en) 1997-08-20
EP0790706A3 (en) 1999-01-07

Similar Documents

Publication Publication Date Title
JPH09232433A (ja) プログラム可能ゲート・アレイ構成メモリ
US6191998B1 (en) Programmable logic device memory array circuit having combinable single-port memory arrays
US5809281A (en) Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
KR100504969B1 (ko) 메모리용대기제어부를가진집적회로
JP3471088B2 (ja) 改良されたプログラマブル論理セルアレイアーキテクチャ
US6105105A (en) Data processing system using configuration select logic, an instruction store, and sequencing logic during instruction execution
KR100458371B1 (ko) 프로그램가능한 논리 셀 어레이의 구성 방법 및 구성 장치
JP3106998B2 (ja) メモリ付加型プログラマブルロジックlsi
US7495970B1 (en) Flexible memory architectures for programmable logic devices
US6803782B2 (en) Arrayed processing element redundancy architecture
JPH11250667A (ja) プログラム可能な論理素子の可変な深さと幅を有する二端子メモリ配列
US6029236A (en) Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
USRE37060E1 (en) Apparatus for serial reading and writing of random access memory arrays
US5099453A (en) Configuration memory for programmable logic device
US6288970B1 (en) Programmable logic device memory array circuit having combinable single-port memory arrays
US6870393B2 (en) Field programmable device
JPH03139863A (ja) 半導体集積回路
US7554358B1 (en) Programmable logic devices with user non-volatile memory
US7225321B2 (en) Reprogrammable microprogram based reconfigurable multi-cell logic concurrently processing configuration and data signals
US6680871B1 (en) Method and apparatus for testing memory embedded in mask-programmable logic device
US7058832B2 (en) Idle power reduction for state machines
JP7064060B1 (ja) 二重機能セルアレイを再構成するためのシステムおよび方法
JP2015082671A (ja) 半導体装置
KR20010086363A (ko) 프로그램가능한 디바이스 및 그 프로그래밍 방법
JPH0563551A (ja) プログラマブル論理回路装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060105

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060629

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20070130