JPH0983347A - マルチ・ポートramを有するフィールド・プログラマブル・ゲート・アレー - Google Patents

マルチ・ポートramを有するフィールド・プログラマブル・ゲート・アレー

Info

Publication number
JPH0983347A
JPH0983347A JP8192623A JP19262396A JPH0983347A JP H0983347 A JPH0983347 A JP H0983347A JP 8192623 A JP8192623 A JP 8192623A JP 19262396 A JP19262396 A JP 19262396A JP H0983347 A JPH0983347 A JP H0983347A
Authority
JP
Japan
Prior art keywords
ram
port
cells
read
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.)
Pending
Application number
JP8192623A
Other languages
English (en)
Inventor
Kai-Kit Ngai
ヌガイ カイ−キット
Satwant Singh
シング サトワント
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.)
A T and T I P M CORP
AT&T Corp
Original Assignee
A T and T I P M CORP
AT&T Corp
AT&T IPM 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 A T and T I P M CORP, AT&T Corp, AT&T IPM Corp filed Critical A T and T I P M CORP
Publication of JPH0983347A publication Critical patent/JPH0983347A/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

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)
  • Static Random-Access Memory (AREA)

Abstract

(57)【要約】 【課題】 各ポートで読み出し/書き込みを行うマルチ
・ポートRAMを実現可能なFPGAを提供する。 【解決手段】 第1、第2RAMセル(102、10
8)と、RAMセルの接続、切り離しに使われるプログ
ラム可能なスイッチング・デバイス(114)を含む、
複数の機能を実現するためのルック・アップ・テーブル
(LUT)を含む、プログラマブル・ファンクション・
ユニット(PFU)を有する、フィールド・プログラマ
ブル・ゲート・アレー(FPGA)。第1、第2RAM
セルは、対応する第1、第2読み出し/書き込みポート
(104、110)に接続される。RAMセルは、スイ
ッチング・デバイスによって切り離される時シングル・
ポートRAMとして独立して機能する。しかし、RAM
セルは、スイッチング・デバイスによって接続される
時、二重ポートRAMとして集合的に機能するためデー
タを分け合う。二重ポートRAMセルは、第1、第2書
き込み/読み出しポートの両方によってアクセス出来
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に、プログラ
ム可能な論理デバイスに関し、詳細には、プログラマブ
ル・ファンクション・ユニットを利用するフィールド・
プログラマブル・ゲート・アレーに関する。
【0002】
【従来の技術】特殊用途向集積回路(ASIC)は、多
様な機能を果たすようプログラム出来るマイクロプロセ
ッサと反対に、特定の機能を果たすよう設計されてい
る。ASICの主要な利点は、通常ユニットのコストが
低く、性能が高いことである。ASICは、普通、カス
タム・標準セル、ロジックの物理的配置(PPL)、ゲ
ート・アレー、またはフィールド・プログラマブル・ゲ
ート・アレー(FGPA)といった設計手法を利用す
る、何らかの形態の相補形金属酸化膜半導体(CMO
S)技術を使って製造される。
【0003】ゲート・アレーとFPGAは、望ましい論
理機能を達成するために、多数の方法で相互接続される
一定の組み合わせのゲート構造を含む、セミ・カスタム
・デバイスである。ゲート・アレーでは、相互接続パタ
ーンは、製造者によって、カスタマイズされた処理マス
クを使って決定される。FPGAでは、相互接続パター
ンはユーザーによって電気的にプログラムされる。
【0004】FPGAは、一般に、プログラマブル・フ
ァンクション・ユニット(PFU)の配列を含む。PF
Uは、組み合わせ可能論理ブロック(CLB)または組
み合わせ可能論理エレメント(CLE)とも呼ばれる。
各PFUは、小さなプログラム可能な論理ブロックで、
1つかそれ以上の入力ライン、1つかそれ以上の出力ラ
イン、1つかそれ以上のラッチ、1つかそれ以上のルッ
ク・アップ・テーブル(LUT)を含むことが多い。普
通入力ラインは出力ラインより数が多く、各入力ライン
は、専用データ・ラインか専用制御ラインのどちらかで
ある。LUTは、一般組み合わせまたは制御論理、読み
だし専用メモリ(ROM)、ランダム・アクセス・メモ
リ(RAM)、入出力ライン間のデータ・パス機能を含
む、多様な機能を果たすようプログラム出来る。こうし
て、LUTは、対応するPFUが、汎用論理として機能
するのか、加算器、減算器、計数器、累算器、レジスタ
といった特殊なモードで機能するのか、またはシングル
・ポートROM、シングル・ポートRAMといったメモ
リ・セルとして機能するのかを決定する。場合によって
は、LUTは、ラッチとは比較的無関係に使うことが出
来る。FPGAは、通常100から1000個台の本質
的に同一のPFUを含む。
【0005】FPGAはまた、PFUを取り囲むプログ
ラマブル・インターコネクション・ネットワークも含
む。インターコネクション・ネットワークは、プログラ
マブル・クロスポイント・スイッチと、様々なPFUを
選択的に接続するためのメタル・インターコネクト・セ
グメント(ルーティング・ノード)を含む。クロスポイ
ント・スイッチは、プログラマブル・インターコネクト
・ポイント(PIP)とも呼ばれる。クロスポイント・
スイッチは、信号の切り換え、増幅、アイソレーション
を提供する。メタル・インターコネクト・セグメント
は、FPGAの水平・垂直軸について対称に配置され
る。
【0006】FPGAの機能は、PFUとインターコネ
クション・ネットワークの組み合わせプログラミングに
よって決定される。ユーザーは、この組み合わせプログ
ラミングを達成するために、電源が入った、またはシス
テムが制御された状態で、コンフィギュレーション・ビ
ット・ストリームをFGPAにロードすることによっ
て、FGPAの機能を決定する。コンフィギュレーショ
ン・ビット・ストリームの様々なビットは、FPGAの
内部コンフィギュレーションRAMに記憶される。コン
フィギュレーションRAMは、LUTとクロスポイント
・スイッチに接続される。従って、コンフィギュレーシ
ョン・ビット・ストリームは、各PFUの固有の機能は
もとより、様々なPFUの入出力ライン間の相互接続、
外部ボンディング・パッド、その他のFPGA内の回路
を決定する。コンフィギュレーション・ビット・ストリ
ームは、最初電気的消去可能なプログラマブルROM
(EEPROM)、基盤上のROMなどの、FPGAの
外部にある何らかの記憶媒体に常駐している。
【0007】FPGAはまた、プログラマブル論理セル
(PLC)とプログラマブル入出力セル(PIC)に関
しても定義される。PLCは、PFU、様々なコンフィ
ギュレーションRAM、PFUを接続するインターコネ
クト・ネットワークの一部を含む。これにより、様々な
論理機能がPLCで行われる。PICは、デバイスの周
辺、PLCの外部に位置する。PICは、入出力バッフ
ァ、様々なコンフィギュレーションRAM、ボンディン
グ・パッドを接続するインターコネクト・ネットワーク
の一部を含む。各PICは、例えば、4つのボンディン
グ・パッドとのインタフェースのための4つのバッファ
を含む。各バッファは、入力、出力、または双方向入出
力として構成される。各バッファはまた、TTLまたは
CMOS互換としても構成される。
【0008】FPGAはさらに、米国特許第5、38
6、156号、5、384、497号、4、870、3
02号、再発行番号第34、363号、ヨーロッパ特許
明細書第0 177 261 B1号公報で説明されて
いるが、これらは全て、参照によって本明細書に組み込
まれている。
【0009】RAMは、各セルが1ビットの情報を記憶
する、1つかそれ以上のセル(メモリ・ユニット)を含
む。各セルは、セルの位置やアドレスとは無関係に、あ
る定められた時間内に読み出し・書き込み操作を行うた
めにアクセス出来る。このことで、RAMは、磁気テー
プ、ドラム、ディスクといったシリアル(または一部シ
リアル)アクセス記憶デバイスと区別される。後者のデ
バイスへのアクセス時間は、データのアドレスまたは位
置に依存する。RAMに関連するアドレス、データ、制
御ラインは集まって1つかそれ以上のポートを形成す
る。シングル・ポートRAMは、1つのポートのみによ
るメモリ・セルへのアクセスを許す。従って、シングル
・ポートRAMは、異なったアドレスからの同時操作を
許容しない。マルチ・ポートRAMは、2つかそれ以上
の機能的に独立したポートによるメモリ・セルへのアク
セスを許す。
【0010】従って、マルチ・ポートRAMは、異なっ
たアドレスからの同時操作を許容する。マルチ・ポート
RAMは、二重ポートRAM、三重ポートRAM、四重
ポートRAM等を含む。二重ポートRAMは、例えば、
読み出し、書き込み両方の操作によって絶えずアップデ
ートする必要のあるバッファ、キュー、レジスタで利用
される。二重ポートRAMの適用例は、1つのソース
(例えば、ライン)からデータを受信し、そのデータを
別のソース(例えば、コンピュータ)に伝送する通信チ
ャネルを含む。この例では、ラインは第1ポートに接続
され、コンピュータは第2ポートに接続される。
【0011】PFUは二重ポートRAMを実現するよう
装備されている。例えば、N入力LUTは、2N ビット
のメモリ・セルのバンク、N−2N ビットのデコーダ、
1つの出力を含む。これは、メモリをロードするコンフ
ィギュレーション・ビット・ストリームと、アドレス信
号に応答して適当なセルを選択するデコーダを有する、
シングル・ポートROMを提供する。シングル・ポート
RAMを提供するために、データをLUTに書き込むた
めの追加のロジックが含まれる。二重ポートRAMは、
従来技術で教えられるように、シングル・ポートRAM
のための第2のN−2N ビットのデコーダを提供するこ
とによって得られる。第2デコーダは、第2アドレス信
号に応答してRAMセルを選択する。第1、第2デコー
ダは、異なったアドレス信号によるRAMセルへの同時
アクセスを許容する。同様の方法で、第3のN−2N
ットのデコーダは、三重ポートRAMを提供する。
【0012】
【発明が解決しようとする課題】あいにく、追加デコー
ダは普通マルチ・ポートRAM動作専用である。所与の
PFUがマルチ・ポートRAMとして使われない場合、
追加デコーダはほとんど使い道がない。FPGAの最初
の目的は、幅広い機能を実現する能力にあるので、マル
チ・ポートRAMのサポート専用のデコーダを使うの
は、費用がかかり非効率的なアプローチである。
【0013】FPGAで二重ポートRAMを実現する別
のアプローチが、最近、”XC4000E Logic
Cell Array Family”、製品予告、
Xilinx Inc.社、1995年5月2日、1−
4ページで報告された。第1モードでは、CLB中の1
6×2シングル・ポートRAMが、16×1シングル・
ポート”F−RAM”と16×1シングル・ポート”G
−RAM”を含む。第2モードでは、16×2シングル
・ポートRAMは、16×1二重ポートRAMに変換さ
れる。二重ポート・モードでは、F−RAMに書き込み
する操作は全て、F−アドレスを使って、自動的にG−
RAMに書き込みをする。しかし、主な欠点は、二重ポ
ート・モードでは、G−RAMに書き込みするためにG
−アドレスを使えないことである。その結果、16×1
二重ポートRAMには、F−アドレスを使う読み出し/
書き込みポートがあるが、G−アドレスを使うのは、読
み出し専用ポートである。
【0014】従って、各ポートで読み出し/書き込み操
作の両方をサポートするマルチ・ポートRAMを有効に
実現するFPGAが必要である。
【0015】
【課題を解決するための手段】本発明の主要な態様は、
様々なRAMセル間のビット・レベルの接続を提供する
ためのプログラマブル・スイッチング・デバイスによっ
て、マルチ・ポートRAMを実現するFPGAである。
【0016】本発明の一態様に従って、FPGAは、第
1、第2RAMセルを含む複数の機能を提供するための
LUT、RAMセルを接続、分離するために使われるプ
ログラム可能なスイッチング・デバイスを含む。第1、
第2RAMセルは、対応する第1、第2読み出し/書き
込みポートに接続される。RAMセルは、スイッチング
・デバイスによって分離されると、シングル・ポートR
AMとして独立して機能する。しかし、RAMセルは、
スイッチング・デバイスによって接続されると、データ
を分け合い、二重ポートRAMとして集合的に機能す
る。二重ポートRAMセルは、第1、第2読み出し/書
き込みポートによってアクセス出来る。
【0017】
【発明の実施の形態】図1を参照すると、一般に本発明
の実施例を表す略図が示される。見られるように、RA
M102はチャネル106によってポート104に接続
され、RAM108はチャネル112によってポート1
10に接続される。さらに、スイッチング・デバイス1
14がチャネル116によってRAM102、108の
間に接続される。RAM、チャネル、スイッチング・デ
バイスは、半導体チップのような集積回路として実現さ
れたFPGAの一部である。RAM102、108は、
コンフィギュレーション・ビット・ストリームに応答し
て、1つかそれ以上のLUTの様なプログラム可能な構
成要素によって提供される。ポート104、110は、
好適には、説明のために、アドレス・ライン、読み出し
ライン、書き込みライン、読み出し/書き込み制御ライ
ンを含む、チャネル106、112を有する、読み出し
/書き込みポートである。スイッチング・デバイス11
4も、コンフィギュレーション・ビット・ストリームに
応答する。好適には、スイッチング・デバイスは、イン
ターコネクション・ネットワークの一般的なクロスポイ
ント・スイッチとは反対に、シングル・ポートRAMか
らマルチ・ポートRAMへの変換専用である。
【0018】コンフィギュレーション・ビット・ストリ
ームがスイッチング・デバイス114にRAM102を
RAM108から切り離すように指示する時、RAM1
02、108は、別のシングル・ポートRAMとして独
立して機能する。すなわち、チャネル116に関して、
RAM102はポート110から切り離され、RAM1
08はポート104から切り離される。
【0019】一方、コンフィギュレーション・ビット・
ストリームがスイッチング・デバイス114にRAM1
02をRAM108に接続するように指示する時、RA
M102、108は1つのマルチ・ポートRAMとして
集合的に機能する。このモードでは、スイッチング・デ
バイス114はチャネル116を通じてRAM102、
108の間にビット・レベルの接続を提供する。RAM
102の各セルはRAM108の1つのセルと接続さ
れ、RAM108の各セルはRAM102の1つのセル
と接続される。こうして接続されたメモリ・セルの組み
合わせが形成され、各接続された組み合わせはRAM1
02の1つのセルとRAM108の1つのセルを含む。
接続された組み合わせのセルはお互いにデータを分け合
う。すなわち、接続された組み合わせの各セルに記憶さ
れた論理値はお互いに同一である。その結果、RAM1
02はポート110に接続され、RAM108はポート
104に接続される。従って、RAM102、RAM1
08の両方は、ポート104、ポート110の両方を通
じて、マルチ・ポートRAM動作をサポートするようア
クセス出来る。
【0020】図2を参照すると、本発明の他の実施例に
従って、1つの16×1二重ポートRAMに変換された
2つの16×1シングル・ポートRAMを表す略図を示
す。LUT202、204は、コンフィギュレーション
・ビット・ストリームに応答して対応する16×1RA
Mを実現する。LUT202、204は1つのLUTの
1部分(例えば、LUTの半分)か、または別のLUT
であることが理解される。いずれにしても、LUT20
2、204は1つのより大きなLUTと交換可能であ
る。同様に、LUT202、204は多数のより小さな
LUTと交換可能である。例えば、LUT202は、各
々8×1シングルポートRAMを実現する、2つのLU
Tによって置き換えられる。LUT202、204は同
じPFUに常駐するのが好適であるが、別のPFUに常
駐しても良く、その場合、その別のPFUは好適には隣
合っている。
【0021】LUT202は16のRAMセルC0〜C
15からなる。分かりやすく表すために、セルC0、C
14、C15だけが示される。LUT202はセルC0
〜C15の1つを選択するためのアドレス・ラインA0
〜A3を受信する。LUT202はまた、アドレス・ラ
インA0〜A3とセルC0〜C15の間に、この選択を
達成するための4×16デコーダ(図示せず)を含む。
LUT202は、セルC0〜C15に書き込みされるデ
ータを提供するための書き込みデータ・ラインWDAを
受信する。LUT202はまた、セルC0〜C15の読
み出し、書き込み動作を選択するための読み出し/書き
込み制御ラインとして書き込み可能ラインWEAを受信
する。LUT202はセルC0〜C15の内容を読み出
しデータ・ラインRDAに接続する。ラインA0〜A
3、WDA、WEA、RDAは集合的にセルC0〜C1
5のための読み出し/書き込みポートを提供する。
【0022】LUT204はLUT202と同様であ
る。LUT204は16のRAMセルC16〜C31か
らなるが、セルC16、C30、C31を図示する。L
UT204は、4×16デコーダ(図示せず)を通じ
て、セルC16〜C31の1つを選択するためのアドレ
ス・ラインB0〜B3を受信する。LUT204はま
た、セルC16〜C31のための書き込みデータ・ライ
ンWDBと書き込み可能ラインWEBを受信する。同様
に、LUT204は、セルC16〜C31の内容を読み
出しデータ・ラインRDBに接続する。ラインB0〜B
3、WEB、WDB、RDBは集合的にセルC16〜C
31のための読み出し/書き込みポートを提供する。
【0023】図ではスイッチング・デバイス114の配
置を示すスイッチング・デバイスS0〜S15は、LU
T202、204の間に接続される。分かりやすく表す
ために、スイッチング・デバイスS0、S14、S15
だけが示される。各スイッチング・デバイスは、セルC
0〜C15の1つと、セルC16〜C31の1つの間に
接続される。例えば、スイッチング・デバイスS0はセ
ルC0、C16の間に接続され、スイッチング・デバイ
スS14はセルC14、C30の間に接続され、スイッ
チング・デバイスS15はセルC15、C31の間に接
続される。スイッチング・デバイスS0〜S15はま
た、普通FPGAコンフィギュレーションRAMセル2
06に接続される。セル206は、スイッチング・デバ
イスが、普通接続・切り離しのどちらに設定されている
かを決定する。セル206が第1論理値を記憶している
場合、スイッチング・デバイスS0〜S15は全て接続
に設定され(すなわち、閉じており)、セル206が第
2論理値を記憶している場合、スイッチング・デバイス
S0〜S15は全て切り離しに設定される(すなわち、
開いている)。セル206に記憶される論理値はコンフ
ィギュレーション・ビット・ストリームによって決定さ
れる。従って、スイッチング・デバイスS0〜S15
は、セルC0〜C15とセルC16〜C31との接続・
切り離しについて、コンフィギュレーション・ビット・
ストリームに応答してプログラム可能である。
【0024】スイッチング・デバイスS0〜S15が切
り離しに設定されている時、LUT202、204は別
の、シングル・ポート16×1RAMとして独立して機
能する。または、スイッチング・デバイスS0〜S15
が接続に設定されている時、LUT202、204は1
つの16×1二重ポートRAMに変換される。二重ポー
ト・モードでは、セルC0〜C15は、セルC16〜C
31に、1対1の関係で、ビット・レベルで接続され
る。すなわち、セルC0、C16は第1の接続された組
み合わせを形成し、セルC1、C17は第2の接続され
た組み合わせを形成し、セルC15、C31は第16の
接続された組み合わせを形成する。さらに、セルC0〜
C15は、ラインB0〜B3、WDB、WEB、RDB
からなる読み出し/書き込みポートによってアクセス出
来、セルC16〜C31は、ラインA0〜A3、WD
A、WEA、RDAからなる読み出し/書き込みポート
によってアクセス出来る。
【0025】図3を参照すると、図2のある構成要素の
1つの実施例の単純化された回路図が示される。セルC
0はノード306、308で一緒に接続された反転接続
インバータ302、304を含む。LUT202に関連
する4×16デコーダが、デコーダ回路310とトラン
ジスタ312、314の組み合わせによって提供され
る。デコーダ回路310はアドレス・ラインA0〜A3
に接続される。アドレス・ラインA0〜A3が0000
に設定されている場合、デコーダ回路310はトランジ
スタ312、314をオンに切り替える。書き込み操作
の間、WEAはトランジスタ316をオンに切り替え、
WDAはトランジスタ312に接続され、WDAはノー
ド306に接続されて、WDAの論理値をセルC0に書
き込む。読み出し操作の間、WEAはトランジスタ31
6をオフに切り替え、WDAはトランジスタ312と切
り離される。しかし、ノード308の論理値はインバー
タ318によって変換され、インバータ318の出力は
トランジスタ314によってRDAに接続される。その
結果、RDAはノード306に記憶された論理値を推定
する。
【0026】同様の方法で、セルC16はノード32
6、328で一緒に接続された反転接続インバータ32
2、324を含む。LUT204に関連する4×16デ
コーダが、デコーダ回路330とトランジスタ332、
334を含む。アドレス・ラインB0〜B3が0000
に設定されると、デコーダ回路330はトランジスタ3
32、334をオンに切り替え、ノード326の論理値
を読み出し操作のためにRDBに送り、WEBによって
許可される場合、ノード326のWDBの論理値を書き
込み操作のために記憶する。
【0027】セルC0、C16は、トランジスタ320
からなるスイッチング・デバイスS0に接続されてい
る。トランジスタ320のソースとドレインは、それぞ
れノード306、326に接続されている。トランジス
タ320のゲートは、コンフィギュレーションRAMセ
ル206に接続されている。従って、セル206はトラ
ンジスタ320がノード306、326を一緒に接続す
るかどうかを決定する。セル206が論理ロー(すなわ
ち、0)を記憶している場合、トランジスタ320はオ
フに切り替わり、ノード306をノード326に接続し
ない。または、セル206が論理ハイ(すなわち、1)
を記憶している場合、トランジスタ320はオンに切り
替わり、ノード306、326を一緒にショートする。
この回路がショートされた状態は、セルC0、C16の
間にビット・レベルの接続を提供する。
【0028】セルC0、C16が異なった論理値を記憶
している間にトランジスタ320がオンに切り替わる場
合、セルC0、C16の間に到着した分配された論理値
は確定出来ない。しかし、セルC0、C16がデータ処
理操作を行う前にコンフィギュレーション・ビット・ス
トリームがロードされるので、セルC0、C16間の対
立は起こらない。おそらく、LUT202、204がコ
ンフィギュレーション・ビット・ストリームによってそ
れぞれセルC0、C16を実現するようプログラムされ
ている時、セルC0、C16は、トランジスタ320を
通じてビット・レベルの接続が起こる前に、普通の論理
値(例えばロー)に再設定される。
【0029】トランジスタ320は、セル206からの
指示に従うセルC0、C16の接続、切り離し専用であ
る。好適には、各スイッチング・デバイスS0〜S15
は、各トランジスタのゲートが共通にセル206に接続
された、トランジスタ320と同様の、単一のトランジ
スタからなる。もちろん、1組の相補形パス・トランジ
スタのような、他の形態のスイッチング・デバイスも使
われる。さらに、追加のインバータが、速度とノイズに
配慮するためのバッファとしてセルC0、C16に接続
されることもある。
【0030】図4を参照すると、本発明の他の実施例に
従って、16×2二重ポートRAMに変換された2つの
16×2シングル・ポートRAMを表す略図が示され
る。これまでの議論の多くは本実施例に関するので、繰
り返す必要はない。しかし、LUT402はRAMセル
の第1集合(またはバンク)C0〜C15と、RAMセ
ルの第2集合(またはバンク)C32〜C47を含む。
さらに、WDAはWDA1、WDA2によって置き換え
られ、RDAはRDA1、RDA2によって置き換えら
れる。WDA1、RDA1はRAMセルの第1集合C0
〜C15に接続される。同様に、WDA2、RDA2
は、RAMセルの第2集合C32〜C47に接続され
る。LUT402は4×16デコーダ(図示せず)を含
む。アドレス・ラインA0〜A3は2つのRAMセル
を、1つはセルC0〜C15から、もう1つはセルC3
2〜C47から選択する。例えば、アドレス0000は
セルC0、C32を選択し、アドレス1111はセルC
15、C47を選択する。アドレスが0000でWEA
がハイの場合、WDA1の論理値はセルC0に記憶さ
れ、WDA2の論理値はセルC32に記憶される。アド
レスが0000でWEAがローの場合、セルC0、C3
2の内容は、それぞれRDA1、RDA2に接続され
る。
【0031】LUT404はLUT402と同様であ
る。LUT404はRAMセルの第1集合C16〜C3
1と、RAMセルの第2集合C48〜C63を含む。さ
らに、WDBはWDB1、WDB2によって置き換えら
れ、RDBはRDB1、RDB2によって置き換えられ
る。WDB1、RDB1はRAMセルの第1集合C16
〜C31に接続され、WDB2、RDB2はRAMセル
の第2集合C48〜C63に接続される。アドレス・ラ
インB0〜B3は2つのRAMセルを、1つはセルC1
6〜C31から、もう1つはセルC48〜C63から選
択する。
【0032】LUT402、404は各々16×2、す
なわち32のRAMセルを含む。従って、スイッチング
・デバイスS0〜S31は、LUT402、404の間
に接続される。スイッチング・デバイスS0、S15、
S16、S31が示される。スイッチング・デバイスS
0は、セルC0、C16の間に接続され、スイッチング
・デバイスS15は、セルC15、C31の間に接続さ
れ、スイッチング・デバイスS16は、セルC32、C
48の間に接続され、スイッチング・デバイスS31
は、セルC47、C63の間に接続される。または、必
要な場合、スイッチング・デバイスはLUT402の中
のセルの第1集合と、LUT404の中のセルの第2集
合の間、またはその逆に接続出来る。
【0033】図5は、本発明の他の実施例に従って、二
重ポートRAMに変換されたシングル・ポート16×2
RAMとシングル・ポート32×1RAMを表す略図で
ある。これまでの議論の多くは本実施例に関するので、
繰り返す必要はない。例えば、LUT402は、セルC
0〜C15、C32〜C47を有する16×2シングル
・ポートRAMである。しかし、LUT504は、セル
C16〜C31、C48〜C63を有する32×1シン
グル・ポートRAMである。LUT504は、追加のア
ドレス・ライン、ラインB4を含む。LUT504はま
た、アドレス・ラインB0〜B4にセルC16〜C3
1、C48〜C63の1つを選択出来るようにするため
の5×32デコーダ(図示せず)も含む。スイッチング
・デバイスS0〜S31はLUT402、504の間に
接続され、スイッチング・デバイスS0、S15、S1
6、S31が図示される。LUT402、504は2つ
のビット・ストリーム(それぞれセルC0〜C15、C
32〜C47に関連する)を1つのビット・ストリーム
(セルC16〜C31、C48〜C63に関連する)に
変換出来る、「コーナー・ターニング」二重ポートRA
Mを提供する。
【0034】図6は、本発明の他の実施例に従って、1
6×1三重ポートRAMに変換された3つの16×1シ
ングル・ポートRAMを表す略図である。これまでの議
論の多くは本実施例に適用されるので、繰り返す必要は
ない。例えば、LUT202、204は16×1シング
ル・ポートRAMである。しかし、LUT606は第3
の16×1シングル・ポートRAMである。LUT60
6はLUT202、204と同様である。LUT606
は16のRAMセルC32〜C47からなり、セルC3
2、C46、C47が図示される。LUT606は、セ
ルC32〜C47の1つを選択するためのアドレス・ラ
インF0〜F3を受信する。LUT606は、書き込み
データ・ラインWDF、書き込み可能ラインWEF、読
み出しデータ・ラインRDFに接続される。ラインF0
〜F3、WEF、WDF、RDFは集合的にセルC32
〜C47のための読み出し/書き込みポートを提供す
る。
【0035】スイッチング・デバイスS0〜S15がL
UT202、204の間に接続され、スイッチング・デ
バイスS0、S14、S15が図示される。同様に、ス
イッチング・デバイスS16〜S31はLUT204、
606の間に接続され、スイッチング・デバイスS1
6、S30、S31が図示される。何組かのスイッチン
グ・デバイスは、セルC0〜C15の1つ、セルC16
〜C31の1つ、セルC32〜C47の1つに接続され
る。例えば、スイッチング・デバイスS0はセルC0、
C16の間に接続され、スイッチング・デバイスS16
はセルC16、C32の間に接続される。
【0036】スイッチング・デバイスS0〜S31はま
た、共通してコンフィギュレーションRAMセル206
に接続される。スイッチング・デバイスS0〜S31が
切り離しに設定されている時、LUT202、204、
606は、別の、16×1シングル・ポートRAMとし
て独立して機能する。または、スイッチング・デバイス
S0〜S31が接続に設定されている時、LUT20
2、204、606は1つの16×1三重ポートRAM
に変換される。三重ポート・モードでは、セルC0〜C
15は、1体1の関係で、セルC16〜C31、セルC
32〜C47にビット・レベルで接続される。すなわ
ち、セルC0、C16、C32は、スイッチング・デバ
イスS0、S16を通じて第1の接続された3個の組を
形成し、セルC15、C31、C47は、スイッチング
・デバイスS15、S31を通じて、第16の接続され
た3個の組を形成する。さらに、セルC0〜C15、C
16〜C31、C32〜C47は全て、LUT202、
204、606に関連する3つの読み出し/書き込みポ
ートによってアクセス出来る。
【0037】本発明の教えるところによって、FPGA
は、比較的わずかなハードウェアの追加によってグレー
ドアップされ、マルチ・ポートRAMを提供出来る。例
えば、スイッチング・デバイス114が占めるシリコン
の領域は、デコーダを追加するよりはるかに少ないと思
われる。その結果、本発明は、FPGAにおいて高度に
有効なマルチ・ポートRAMを実現する。
【0038】本発明の他のバリエーションは、本技術に
熟練した者には明らかであろう。例えば、LUT(また
は、複数のLUT)によって実現されるRAMは、様々
なサイズのアレーに配置される。コンフィギュレーショ
ンRAMセル206は、コンフィギュレーション・ビッ
ト・ストリームから特定のビットを受信するための個別
のセルとして示されるが、FPGAの他のコンフィギュ
レーションRAMが副号されてスイッチング・デバイス
114に接続/切り離しの指示を提供出来ることが理解
される。LUT以外のプログラム可能な構成要素がRA
Mを実現するために使われることがある。さらに、所与
のFPGAで、いくつかの、全てではないPFUがスイ
ッチング・デバイス114を含むことがある。第1、第
2コンフィギュレーション・ビット・ストリームが順次
適用される場合、PFUは最初に2N+1 シングル・ポー
トRAMを実現し、次いで、2N 二重ポートRAMを実
現する。同様に、コンフィギュレーション・ビット・ス
トリームは、第1PFUが2N+1 シングル・ポートRA
Mセルを実現し、第2PFUが2N 二重ポートRAMセ
ルを実現するように、本質的に同一な第1、第2PFU
をプログラム出来る。第1、第2PFUに適用されるコ
ンフィギュレーション・ビット・ストリームの部分は、
1ビットの値だけ異なる。FPGAを使ってマルチ・ポ
ートRAMを作る方法は上記から明らかである。
【0039】本発明の好適な実施例を説明したが、本技
術に熟練した者には、その概念を包含する他の実施例が
使われることが今や明らかであろう。従って、本発明は
開示された実施例に制限されず、添付の請求項の精神と
範囲によってのみ制限される。
【図面の簡単な説明】
【図1】一般に本発明の実施例を表す略図である。
【図2】本発明の他の実施例に従って、16×1二重ポ
ートRAMに変換される2つの16×1シングル・ポー
トRAMを表す略図である。
【図3】図2のある構成要素の1つの実施例を表す単純
化した回路図である。
【図4】本発明の他の実施例に従って、16×2二重ポ
ートRAMに変換された2つの16×2シングル・ポー
トRAMを表す略図である。
【図5】本発明の他の実施例に従って、二重ポートRA
Mに変換された16×2シングル・ポートRAMと32
×1シングル・ポートRAMを表す略図である。
【図6】本発明の他の実施例に従って、16×1三重ポ
ートRAMに変換された3つの16×1シングル・ポー
トRAMを表す略図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 サトワント シング アメリカ合衆国 18062 ペンシルヴァニ ア,マッカンジー,バイオレット サーク ル 7575

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 プログラマブル・ファンクション・ユニ
    ット(PFU)を含むフィールド・プログラマブル・ゲ
    ート・アレー(FPGA)を含む集積回路であって、 コンフィギュレーション・ビット・ストリームに応答し
    て、第1、第2の対応するRAMセル(102、10
    8)を含む様々な機能を生成するための第1、第2のプ
    ログラム可能な構成要素と、 コンフィギュレーション・ビット・ストリームに応答し
    て、RAMセルが一緒にマルチ・ポートRAMセルを提
    供するような、RAMセル間のビット・レベル接続を提
    供するためのプログラム可能なスイッチング・デバイス
    (114)とを含む、集積回路。
  2. 【請求項2】 第1、第2のプログラム可能な構成要素
    が1つかそれ以上のルック・アップ・テーブル(LU
    T)(202、204)に含まれる、請求項1に記載の
    集積回路。
  3. 【請求項3】 第1、第2のプログラム可能な構成要素
    が1つのPFUに含まれる、請求項1に記載の集積回
    路。
  4. 【請求項4】 第1、第2のプログラム可能な構成要素
    が隣合うPFUに含まれる、請求項1に記載の集積回
    路。
  5. 【請求項5】 第1、第2RAMセルが対応する第1、
    第2読み出し/書き込みポート(104、110)に接
    続され、少なくとも2つの読み出し/書き込みポートを
    有するマルチ・ポートRAMセルを提供する、請求項1
    に記載の集積回路。
  6. 【請求項6】 複数のプログラマブル・ファンクション
    ・ユニット(PFU)とプログラマブル・インターコネ
    クション・ネットワークを含む、フィールド・プログラ
    マブル・ゲート・アレー(FPGA)をプログラム、操
    作する方法であって、 第1PFUに、第1読み出し/書き込みポート(10
    4)に接続されたRAMセルの第1集合(102)と、
    第2読み出し/書き込みポート(110)に接続された
    RAMセルの第2集合(108)として機能するよう指
    示し、第1PFUのスイッチング・デバイス(114)
    に、RAMセルの組み合わせの間にビット・レベルの接
    続を提供し、各RAMセルが1つの接続されたペアの一
    部であり、各接続されたペアが、RAMセルの第1集合
    からの1つのRAMセルと、RAMセルの第2集合から
    の1つのRAMセルを含み、各接続されたペアが第1、
    第2と読み出し/書き込みポートの両方によってアクセ
    ス出来る二重ポートRAMを提供するよう指示するため
    のコンフィギュレーション・ビット・ストリームをFP
    GAに適用するステップと、 第1読み出し/書き込みポートを通じて少なくとも1つ
    の二重ポートRAMセルにデータを書き込むステップ
    と、 第2読み出し/書き込みポートを通じて少なくとも1つ
    の二重ポートRAMセルからデータを読み出すステップ
    とを含む方法。
  7. 【請求項7】 第1読み出し/書き込みポートを通じて
    少なくとも1つの二重ポートRAMセルからデータを読
    み出すステップと、 第2読み出し/書き込みポートを通じて少なくとも1つ
    の二重ポートRAMセルにデータを書き込むステップと
    を含む、請求項6に記載の方法。
  8. 【請求項8】 第1読み出し/書き込みポートを通じて
    少なくとも1つの二重ポートRAMセルにデータを書き
    込むステップと、同時に、 第2読み出し/書き込みポートを通じて少なくとも1つ
    の二重ポートRAMセルからデータを読み出すステップ
    とを含む、請求項7に記載の方法。
JP8192623A 1995-07-27 1996-07-23 マルチ・ポートramを有するフィールド・プログラマブル・ゲート・アレー Pending JPH0983347A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/507,957 US5559450A (en) 1995-07-27 1995-07-27 Field programmable gate array with multi-port RAM
US08/507957 1995-07-27

Publications (1)

Publication Number Publication Date
JPH0983347A true JPH0983347A (ja) 1997-03-28

Family

ID=24020792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8192623A Pending JPH0983347A (ja) 1995-07-27 1996-07-23 マルチ・ポートramを有するフィールド・プログラマブル・ゲート・アレー

Country Status (5)

Country Link
US (1) US5559450A (ja)
EP (1) EP0756383B1 (ja)
JP (1) JPH0983347A (ja)
DE (1) DE69633370T2 (ja)
TW (1) TW298651B (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 (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566123A (en) * 1995-02-10 1996-10-15 Xilinx, Inc. Synchronous dual port ram
US5943242A (en) * 1995-11-17 1999-08-24 Pact Gmbh Dynamically reconfigurable data processing system
US5804986A (en) * 1995-12-29 1998-09-08 Cypress Semiconductor Corp. Memory in a programmable logic device
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US5744980A (en) * 1996-02-16 1998-04-28 Actel Corporation Flexible, high-performance static RAM architecture for field-programmable gate arrays
US5623217A (en) * 1996-02-26 1997-04-22 Lucent Technologies Inc. Field programmable gate array with write-port enabled memory
US5726584A (en) * 1996-03-18 1998-03-10 Xilinx, Inc. Virtual high density programmable integrated circuit having addressable shared memory cells
US5977791A (en) 1996-04-15 1999-11-02 Altera Corporation Embedded memory block with FIFO mode for programmable logic device
US5894565A (en) * 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
US5715197A (en) 1996-07-29 1998-02-03 Xilinx, Inc. Multiport RAM with programmable data port configuration
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
US5920882A (en) * 1996-11-21 1999-07-06 Tsi Telsys Inc. Programmable circuit assembly and methods for high bandwidth data processing
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
US6338106B1 (en) 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654593A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
EP1329816B1 (de) 1996-12-27 2011-06-22 Richter, Thomas Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
US5959466A (en) 1997-01-31 1999-09-28 Actel Corporation Field programmable gate array with mask programmed input and output buffers
US5821776A (en) * 1997-01-31 1998-10-13 Actel Corporation Field programmable gate array with mask programmed analog function circuits
DE19704044A1 (de) * 1997-02-04 1998-08-13 Pact Inf Tech Gmbh Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine
DE19704728A1 (de) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704742A1 (de) 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
US6150837A (en) 1997-02-28 2000-11-21 Actel Corporation Enhanced field programmable gate array
US6020759A (en) * 1997-03-21 2000-02-01 Altera Corporation Programmable logic array device with random access memory configurable as product terms
US6160419A (en) 1997-11-03 2000-12-12 Altera Corporation Programmable logic architecture incorporating a content addressable embedded array block
US5905385A (en) * 1997-04-01 1999-05-18 Advanced Micro Devices, Inc. Memory bits used to couple look up table inputs to facilitate increased availability to routing resources particularly for variable sized look up tables for a field programmable gate array (FPGA)
US6011744A (en) * 1997-07-16 2000-01-04 Altera Corporation Programmable logic device with multi-port memory
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US6052327A (en) * 1997-10-14 2000-04-18 Altera Corporation Dual-port programmable logic device variable depth and width memory array
US6288970B1 (en) 1997-10-16 2001-09-11 Altera Corporation Programmable logic device memory array circuit having combinable single-port memory arrays
US6191998B1 (en) 1997-10-16 2001-02-20 Altera Corporation Programmable logic device memory array circuit having combinable single-port memory arrays
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6127843A (en) * 1997-12-22 2000-10-03 Vantis Corporation Dual port SRAM memory for run time use in FPGA integrated circuits
DE19807872A1 (de) 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6262933B1 (en) 1999-01-29 2001-07-17 Altera Corporation High speed programmable address decoder
WO2002013000A2 (de) 2000-06-13 2002-02-14 Pact Informationstechnologie Gmbh Pipeline ct-protokolle und -kommunikation
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
GB2351824B (en) 1999-07-02 2004-03-31 Altera Corp Embedded memory blocks for programmable logic
US6400635B1 (en) 2000-03-15 2002-06-04 Altera Corporation Memory circuitry for programmable logic integrated circuit devices
US6373779B1 (en) * 2000-05-19 2002-04-16 Xilinx, Inc. Block RAM having multiple configurable write modes for use in a field programmable gate array
US7119576B1 (en) 2000-09-18 2006-10-10 Altera Corporation Devices and methods with programmable logic and digital signal processing regions
US7346644B1 (en) 2000-09-18 2008-03-18 Altera Corporation Devices and methods with programmable logic and digital signal processing regions
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US6990555B2 (en) * 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
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
US6720796B1 (en) 2001-05-06 2004-04-13 Altera Corporation Multiple size memories in a programmable logic device
EP2224330B1 (de) 2001-06-20 2012-05-09 Krass, Maren Verfahren und gerät zum partitionieren von grossen rechnerprogrammen
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
WO2003060747A2 (de) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US20030229738A1 (en) * 2002-06-05 2003-12-11 Dactron Controller interface
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US6948030B1 (en) * 2002-09-04 2005-09-20 Cypress Semiconductor Corporation FIFO memory system and method
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
KR100475093B1 (ko) * 2002-09-13 2005-03-10 삼성전자주식회사 둘 이상의 입력포트를 구비하는 집적 회로 장치 및 시스템
JP3958232B2 (ja) * 2003-03-05 2007-08-15 富士通株式会社 動作継続中にデータ書き換え可能な論理装置
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US7350026B2 (en) * 2004-12-03 2008-03-25 Thales Memory based cross compare for cross checked systems
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US7463056B1 (en) 2005-12-12 2008-12-09 Xilinx, Inc. Writeable shift register lookup table in FPGA with SRAM memory cells in lookup table reprogrammed by writing after initial configuration
US7392032B2 (en) * 2005-12-30 2008-06-24 L3 Communications Corporation Modular ASIC with crosspoint switch
EP1974265A1 (de) 2006-01-18 2008-10-01 PACT XPP Technologies AG Hardwaredefinitionsverfahren
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8805916B2 (en) 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
CN102436427B (zh) * 2011-11-07 2014-10-08 华为技术有限公司 一种数据读写方法和存储设备
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9350357B2 (en) * 2012-10-28 2016-05-24 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US8923089B2 (en) * 2012-12-21 2014-12-30 Lsi Corporation Single-port read multiple-port write storage device using single-port memory cells
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9305618B2 (en) 2014-01-30 2016-04-05 International Business Machines Corporation Implementing simultaneous read and write operations utilizing dual port DRAM
US9374094B1 (en) 2014-08-27 2016-06-21 Altera Corporation 3D field programmable gate array system with reset manufacture and method of manufacture thereof
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10168938B2 (en) * 2016-11-25 2019-01-01 Hughes Network Systems, Llc LDPC decoder design to significantly increase throughput in ASIC by utilizing pseudo two port memory structure
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5960793A (ja) * 1982-09-30 1984-04-06 Fujitsu Ltd 半導体メモリ
USRE34363E (en) * 1984-03-12 1993-08-31 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4642487A (en) * 1984-09-26 1987-02-10 Xilinx, Inc. Special interconnect for configurable logic array
US5343406A (en) * 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5128559A (en) * 1989-09-29 1992-07-07 Sgs-Thomson Microelectronics, Inc. Logic block for programmable logic devices
US5255221A (en) * 1991-04-02 1993-10-19 At&T Bell Laboratories Fully configurable versatile field programmable function element
US5282174A (en) * 1992-01-31 1994-01-25 At&T Bell Laboratories Dual-port memory with read and read/write ports
US5384497A (en) * 1992-11-04 1995-01-24 At&T Corp. Low-skew signal routing in a programmable array
US5386156A (en) * 1993-08-27 1995-01-31 At&T Corp. Programmable function unit with programmable fast ripple logic
US5442306A (en) * 1994-09-09 1995-08-15 At&T Corp. Field programmable gate array using look-up tables, multiplexers and decoders

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
DE69633370T2 (de) 2005-09-22
US5559450A (en) 1996-09-24
EP0756383A2 (en) 1997-01-29
EP0756383A3 (en) 2000-11-15
DE69633370D1 (de) 2004-10-21
TW298651B (ja) 1997-02-21
EP0756383B1 (en) 2004-09-15

Similar Documents

Publication Publication Date Title
JPH0983347A (ja) マルチ・ポートramを有するフィールド・プログラマブル・ゲート・アレー
US6128770A (en) Configurable logic array including IOB to longlines interconnect means for providing selectable access to plural longlines from each IOB (input/output block)
EP0461798B1 (en) Configurable interconnect structure
US6150839A (en) Rapidly reconfigurable FPGA having a multiple region architecture with reconfiguration caches useable as data RAM
US6853215B1 (en) Programmable I/O element circuit for high speed logic devices
US5233539A (en) Programmable gate array with improved interconnect structure, input/output structure and configurable logic block
US5260881A (en) Programmable gate array with improved configurable logic block
JP3228818B2 (ja) 論理モジュール間にカスケード接続を有するプログラマブル論理アレイ集積回路
US5442306A (en) Field programmable gate array using look-up tables, multiplexers and decoders
EP0789950B1 (en) Apparatus for programmable circuit and signal switching
US5396126A (en) FPGA with distributed switch matrix
US6356109B1 (en) Programmable device
US7269089B1 (en) Divisible true dual port memory system supporting simple dual port memory subsystems
US5544104A (en) Virtual crosspoint memory
US5623217A (en) Field programmable gate array with write-port enabled memory
US5475644A (en) Crosspoint memory
USRE41561E1 (en) Method for sharing configuration data for high logic density on chip
JP3471628B2 (ja) 書き換え可能な論理回路およびラッチ回路
JPH0222938A (ja) タイムスロット切替方法
WO1997002710A1 (en) Integrated circuit cross point switch
JP2000276400A (ja) アドレス及びデータ転送回路
JP2882617B2 (ja) プログラマブル論理セル
JPH03214492A (ja) マルチポートメモリ
JPH02207321A (ja) 双方向fifoメモリ
JPH0310335A (ja) エミュレーションチップ