JPH11504453A - プログラム可能論理装置によってアクセス可能な分散レジスタを有するマイクロプロセサ - Google Patents

プログラム可能論理装置によってアクセス可能な分散レジスタを有するマイクロプロセサ

Info

Publication number
JPH11504453A
JPH11504453A JP8532753A JP53275396A JPH11504453A JP H11504453 A JPH11504453 A JP H11504453A JP 8532753 A JP8532753 A JP 8532753A JP 53275396 A JP53275396 A JP 53275396A JP H11504453 A JPH11504453 A JP H11504453A
Authority
JP
Japan
Prior art keywords
microprocessor
chip
flip
flop
programmable logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8532753A
Other languages
English (en)
Other versions
JP3948494B2 (ja
Inventor
ジェイ. ニュー,ベルナード
ジェイ.ジュニア ハーモン,ウイリアム
Original Assignee
ザイリンクス,インコーポレイテッド
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 ザイリンクス,インコーポレイテッド filed Critical ザイリンクス,インコーポレイテッド
Publication of JPH11504453A publication Critical patent/JPH11504453A/ja
Application granted granted Critical
Publication of JP3948494B2 publication Critical patent/JP3948494B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • G06F9/3897Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
    • 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
    • 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Logic Circuits (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 チップ(500)はプログラム可能論理装置とマイクロプロセサ(506)とを有しており、マイクロプロセサ(506)の関連するレジスタ(501A,501B)のうちの少なくとも1つがプログラム可能論理装置内に分布されている。分散型レジスタ(501A,501B)がマイクロプロセサ(506)とプログラム可能論理装置の両方へ結合している。このように、マイクロプロセサ(506)は、1クロックサイクルにおいてレジスタへアクセスし且つプログラム可能論理装置内へ値を配置させる能力を有している。更に、プログラム可能論理装置における論理機能は、マイクロプロセサ(506)へも効果的に使用可能とさせることが可能である。

Description

【発明の詳細な説明】 プログラム可能論理装置によってアクセス可能な 分散レジスタを有するマイクロプロセサ発明の背景 発明の分野 本発明はマイクロプロセサに関するものであって、特に、プログラム可能論理 装置によってアクセス可能なレジスタを具備するマイクロプロセサに関するもの である。関連技術の説明 マイクロプロセサは当該技術において公知である。図1は演算論理ユニット( ALU)ブロック101と制御ユニット103とを有するマイクロプロセサを具 備するコンピュータ100の従来の形態を示している。ALUブロック101は 、入力/出力(I/O)装置102及びメモリ104によって供給されるデータ を処理する。I/O装置102は出力バス109a及び入力バス109bを介し てユーザ又は周辺装置(いずれも図1には示していない)と通信を行う。1つの コンピュータにおいては、I/O装置102はキーボード又はフィールドプログ ラマブルゲートアレイ(FPGA)(図3を参照して更に詳細に説明する)と通 信を行う。メモリ104は、 典型的に、コンピュータプログラムを書込むための例えば電気的にプログラム可 能なリードオンリメモリ(EPROM)セル等の非揮発性メモリセルを有すると 共に、ALUブロック101によって発生されるデータに対する格納を与える例 えばランダムアクセスメモリ(RAM)セル等の揮発性メモリセルを有している 。コンピュータプログラムにおいて供給される命令に依存する制御ユニット10 3は、ALUブロック101、メモリ104、I/O装置102の動作を、夫々 、バス111A/111B、105A/105B、108A/108Bを介して 制御を行う。 図2を参照すると、ALUブロック101は、典型的に、ALU112と、レ ジスタファイル114と、マルチプレクサ121と、ラッチ113A,113B ,113Cとを有している。バス111A上の制御器103(不図示)からのア ドレスがレジスタファイル114の入力ポート115Aへ供給され、その際にク ロック信号において出力信号YAを選択する。同様に、バス111B上の制御器 103からの別のアドレスもレジスタファイル114の入力ポート115Bへ供 給され、その際に同一のクロック信号において第二出力信号YBを選択する。こ のように、出力信号YA及びYBが、夫々、出力線118A 及び118B上においてレジスタファイル114の出力ポートにおいて同時的に 与えられる。ラッチ113A及び113Bは、夫々、出力線118A及び118 BとALU112との間に結合されている。従って、継続的にそれらの入力信号 をサンプルし且つそれらのイネーブル状態においてレジスタファイル114へ供 給されるクロック信号とは独立的にそれらの入力信号に応答してそれらの出力信 号を変化させるラッチ113A及び113Bは、出力信号YA及びYBをALU 112へ転送する。マルチプレクサ121は、ALU112から出力信号、ライ ン106Aを介してメモリ104からの出力信号、又はライン107Bを介して I/O装置102からの出力信号のいずれかをラッチ113Cへ転送すべくプロ グラムされている。ラッチ113Cは出力信号を夫々バス107A及び106B を介してI/O装置102及びメモリ104へ供給する。注意すべきことである が、ラッチ113Cは、更に、典型的に、バッファしたフィードバック信号をラ イン119上のバッファ120を介してレジスタファイル114のデータ入力ポ ートDINへ供給する。 従来の縮小命令セットコンピュータ(RISC)プロセサにおいては、1つの 操作は3つの機械操作サイクル(以後、期間と呼ぶ)を必要とする。これ らの期間は、読取期間、ALU稼動期間、及び書込期間である。例えば、読取期 間の期間中、制御ユニット103(図1)はメモリ104から1つの命令を検索 し且つその命令のアドレス部分をバス111A又はバス111Bを介してレジス タファイル114(図2)へ転送して、出力線118A/118B上にオペラン ドを検索させる。ALU稼動期間の期間中、その命令によって指定された操作が ALU112によって実行される。最後に、書込期間の期間中に、その結果がフ ィードバック線119及びデータ入力ポートDINを介してレジスタファイル1 14内に格納される。注意すべきことであるが、データ書込アドレスは該命令の 一部として含まれており、且つ、典型的に、必要とされるまで保存される。 これらの読取期間、ALU稼動期間、及び書込期間はオーバーラップしている 。例えば、1個のレジスタは、1つの期間の半分において書込操作を実行し且つ その期間の他の半分において読取操作を実行することが可能である。従って、論 理的帰結として、期間は特定のクロックサイクルに対応するものではない。アド レスは必要に応じて制御ユニット103からバス111A又は111B上に供給 される。 レジスタファイル114に対する1つの典型的な命令は、第一レジスタ内の値 を第二レジスタ内の値 へ加算し(いずれのレジスタも図示していない)、次いでその加算結果をレジス タファイル114の第二レジスタ内へ入れることである。このように、ALUブ ロック101はアキュムレータとして動作する。一方、ラッチ113C内の値は 、出力バス107Aを介して、例えばFPGA等のI/O装置102へ書込まれ る。従って、1つの命令はデータを移動させることが必要とされ、一方別の命令 はその結果を検索することが必要とされ、その際にマイクロプロセサ及びI/O 装置インターフェースにおいてかなりの遅延を導入する。 従って、マイクロプロセサとI/O装置との間のインターフェースにおいて命 令及び関連する遅延を最小とする構成に対する必要性が発生している。発明の要約 本発明によれば、プログラム可能論理装置及びマイクロプロセサが同一のチッ プ上に形成されている。1実施例においては、プログラム可能論理装置はコンフ ィギャラブル即ち形態特定可能な論理ブロック(CLD)を具備するフィールド プログラマブルゲートアレイ(FPGA)である。マイクロプロセサの少なくと も1つの関連するレジスタが該FPGA内に分散されている。該分散レジスタは 、アーキテクチュアの観点からはマイクロプロセサの一部に留ま るものであるが、FPGA内の少なくとも1つのCLBによってアクセスするこ とが可能である。更に、各分散レジスタはFPGA内の特定のコンフィギャラブ ル論理ブロックと関連しているので、該コンフィギャラブル論理ブロック内の論 理機能は該分散レジスタを介してマイクロプロセサにとって効果的に使用可能で ある。従って、該分散レジスタはFPGA内の論理とマイクロプロセサとの間の ブリッジとして動作する。 1実施例においては、分散レジスタは複数個のDフリップフロップを有してい る。各フリップフロップはその入力信号をサンプルし且つマイクロプロセサによ って供給される制御用のクロック信号の上昇端においてその出力信号を変化させ る。フリップフロップの出力端子は第一複数個のトライステートバッファへ結合 している。分散レジスタと関連している第一デコーダが、第一アドレスバス上に 供給された信号が該分散レジスタを識別するアドレスと一致するか否かを検知す る。特に、第一デコーダが該分散レジスタのアドレスと一致する第一アドレスバ ス上の信号を検知すると、第一デコーダは該第一複数個のトライステート出力バ ッファをイネーブル即ち動作可能状態とさせ、その際に該複数個のDフリップフ ロップの格納されているレジスタ値を第一デー タバス上に供給する。第一アドレスバス及び第一データバスは、該マイクロプロ セサ及びFPGAへ結合しているバス構成体の一部を形成している。1実施例に おいては、該バス構成体は該FPGAの相互接続マトリクスとは別個に形成され る。 本発明によれば、該第一データバスは、マイクロプロセサへ出力信号を供給す ることに加えて、更に、入力バスとして作用する。特に、所定の信号が第一アド レスバス上に供給されると、該第一デコーダは該第一複数個のトライステートバ ッファをディスエーブル即ち動作不能状態とさせ、且つ第二デコーダが該フリッ プフロップのクロックイネーブル端子を活性化させ、その際に第一データバス上 のデータをこれらのフリップフロップ内に書込むことを可能とさせる。 更に、本発明によれば、該フリップフロップの出力端子は、更に、該FPGA 内の少なくとも1つのコンフィギャラブル論理ブロックへ結合している。このよ うに、本発明の1つの利点は、分散レジスタの出力信号が任意の所定のコンフィ ギャラブル論理ブロックに対して常に直接的に使用可能であるということである 。この実施例においては、これらの出力線はFPGAの相互接続マトリクスの一 部として形成されている。 従って、第一データバス及び該フリップフロップの出力線は、該分散レジスタ がコンフィギャラブル論理ブロックに対して完全にアクセス可能であることを確 保している。このように、FPGAはマイクロプロセサへのローカル即ち局所的 な接続が効果的に設けられている。このローカル接続は、高速のマイクロプロセ サ/FPGAインターフェースを確保している。何故ならば、マイクロプロセサ からの命令は同時的にコンフィギャラブル論理ブロックへも供給されるからであ る。同様に、コンフィギャラブル論理ブロック内に設けられる論理機能は、1ク ロックサイクル内において(即ち、第一及び第二デコーダによって決定される) マイクロプロセサへ供給される。 本発明の別の実施例においては、フリップフロップの出力端子が第二複数個の トライステートバッファへ結合されている。第三デコーダが、分散レジスタのア ドレスと一致する第二アドレスバス上の信号を検知すると、該第三デコーダは該 第二複数個のトライステートバッファをイネーブルさせ、その際に該複数個のフ リップフロップの格納されているレジスタ値を第二データバス上に供給する。該 第二アドレスバス及び第二データバスも上述したバス構成体の一部を形成してい る。本発明の更にその他の実施 例においては、上述したバス構成体がFPGA相互接続マトリクスの一部を形成 する。図面の簡単な説明 図1はマイクロプロセサを具備するコンピュータの従来の形態を示している。 図2は関連するレジスタファイルを具備する従来のALUブロックを示してい る。 図3は複数個のコンフィギャラブル(形態特定可能な)論理ブロックを具備す るフィールドプログラマブルゲートアレイ(FPGA)を示している。 図4は例示的なコンフィギャラブル論理ブロックを示している。 図5はマイクロプロセサと複数個の分散レジスタとを有する本発明に基づくF PGAチップを示している。 図6は本発明に基づくレジスタブロックを示している。 図7は本発明の分散レジスタにおいて使用されているフリップフロップの1実 施例を示している。 図8は分散レジスタへの接続用のコンフィギャラブル論理ブロックにおける種 々の位置を示している。 図9は本発明の分散レジスタとALUブロックとの相互接続を示している。 図10は分散レジスタへ接続するための別のコン フィギャラブル論理ブロックにおける種々の位置を示している。図面の詳細な説明 本発明によれば、マイクロプロセサとフィールドプログラマブルゲートアレイ (FPGA)とが同一のチップ上に形成されている。マイクロプロセサの所定の レジスタがFPGA内において分散されており、その際に従来のインターフェー スと比較してマイクロプロセサ/FPGAインターフェースの動作速度を著しく 増加させている。 FPGAは当該技術において公知である。図3はコンフィギャラブル即ち形態 特定可能な論理ブロック301−1乃至301−9を具備する簡単化したFPG A300を例示している。各コンフィギャラブル論理ブロック(CLB)301 は供給される入力信号CLB301に依存して複数個の論理機能のうちのいずれ か1つを実行することが可能である(図4を参照して更に詳細に説明する)。複 数個の制御信号(不図示)が相互接続マトリクス302をプログラムし、その際 にCLB301−1乃至301−9を互いに且つI/Oパッド303に対しての 相互接続を決定する。各I/Oパッド303は、相互接続マトリクス302を介 して、外部パッケージピン(不図示)とCLB301の内部論理との間のイン ターフェースを与えている。1つの相互接続マトリクス302及びその動作の詳 細な説明は1993年8月31日付で再発行された米国再発行特許第34,36 3号に与えられており、その全体を引用によって本明細書に取込む。 例示的なコンフィギャラブル論理ブロック301を図4に示してある。この実 施例においては、コンフィギャラブル論理ブロック301は、ブール関数を実現 するための32×1ルックアップテーブルと、2個のフリップフロップ402, 403と、内部制御セクション(マルチプレクサ404−412、及びORゲー ト413を含む)とを有する組合わせ機能ブロック401を包含している。5つ の論理変数入力信号A,B,C,D,E及びフィードバック信号QX,QY(夫 々、フリップフロップ402,403から)が、該ルックアップテーブル内のど のアドレスが選択されるかを決定する。上述した内部制御セクションは、組合わ せ機能ブロック401の出力信号、即ち信号F及びG、ラインDATA IN上 のデータ信号、又はフリップフロップ402及び403からの出力信号がコンフ ィギャラブル論理ブロック301の出力信号X及びYとして供給されるか否かを 決定する。特に、マルチプレクサ411及び412は、レジスタ402及び40 3からの同期信号を供 給するか又は組合わせ機能ブロック401からの非同期信号を供給するかの間の 選択を行う。マルチプレクサ404及び410は、フリップフロップ402及び 403へ夫々供給された入力信号が、フィードバック線、DATA IN線、又 は組合わせ機能ブロック401のF又はG出力端子(マルチプレクサ405及び 406によって決定される)から派生されたものであるか否かを決定する。マル チプレクサ404及び410は図7を参照して更に詳細に説明する。コンフィギ ャラブル論理ブロック301及びその動作の詳細な説明はカリフォルニア951 24、サンノゼ、2100ロジックドライブに居所を有するザイリンクス,イン コーポレイテッドによって1994年に出版された「ザ・プログラマブル・ロジ ック・データ・ブック(The Programmable Logic Da ta Book)」(この全てを引用によって本明細書に取込む)の2−109 乃至2−117頁に記載されている。 注意すべきことであるが、本発明をFPGA300及びコンフィギャラブル論 理ブロック(CLB)301を参照して詳細に説明するが、本発明はその他のチ ップアーキテクチュア及びCLBコンフィギュレーション(形態)において実現 することが可能である。例えば、本発明は上掲の「ザ・プログラマブ ル・ロジック・データ・ブック」の2−9乃至2−18頁及び2−187乃至2 −199頁に夫々記載されており且つ例示されているザイリンクスXC4000 (商標)ファミリィの装置(図10参照)及びXC2000(商標)ファミリィ の装置のチップアーキテクチュア及びCLBコンフィギュレーション(形態)に 対しても適用可能である。 図5は本発明に基づくFPGAチップ500の1実施例を示している。この実 施例においては、FPGAチップ500はマイクロプロセサユニット506(そ れは、前述したように、制御ユニット及びALUブロック(いずれも簡単化のた めに示していない))、及びCLB504の中に分散されている複数個のレジス タブロック501A及び501Bを有している。従って、従来技術(図2)にお いて示されているように、レジスタファイル114の全てをALU112の隣り に物理的に位置させる代わりに、レジスタファイルは複数個のレジスタブロック に分割されており、それらのレジスタブロックはチップ500全体にわたり分散 されている。 レジスタブロック501A及び501Bをマイクロプロセサユニット506へ 接続させるバス構成体502は、アドレスバスとデータバスとを有している(図 6を参照して詳細に説明する)。本発明のこ の実施例においては、バス構成体502のアドレスバス及びデータバスの両方が FPGA相互接続マトリクスとは別個に形成されており、一方、別の実施例にお いては、バス構成体502のアドレスバス及びデータバスの両方がFPGA相互 接続マトリクスの一部を形成している。チップ500は、更に、チップ500の 周辺部に位置されている複数個のI/Oブロック503を有している。I/Oブ ロック503は上掲した「ザ・プログラマブル・ロジック・データ・ブック」の 2−107乃至2−108頁に詳細に記載されている。 図6は複数個のDフリップフロップ6011乃至601N(尚、Nは整数)を有 する分散型レジスタブロック501の1実施例を示している。各フリップフロッ プ601は正エッジトリガ型Dフリップフロップであり、それは、D入力端子に おいてその入力信号をサンプル即ち採取し且つクロックパルス(CP)端子上に 供給される制御用クロック信号の上昇端においてQ出力端子上のその出力信号を 変化させる。この制御用クロック信号はライン610上のマイクロプロセサ50 6(図5)によって供給される。 分散型レジスタブロック501と関連するWRITE(書込)動作は、読取/ 書込(R/W)ライン621(図6)を介してマイクロプロセサ506か ら供給される信号によってトリガされる。例えば、本発明の1実施例においては 、R/Wライン621上に供給される低信号は書込操作を表わす。このデコーダ 605へ供給される低信号はそのデコーダがトライステートバッファ6021乃 至602Nをディスエーブルさせることのプロンプトを与え、その際にレジスタ 値がデータバス618Bへ転送されることを防止する。書込状態においてインバ ータ621Aによって供給される高信号を検知することに加えて、デコーダ60 6は、更に、レジスタブロック501のアドレスと一致するアドレスバス611B 上の信号を検知する場合には、デコーダ606はフリップフロップ6011乃至 601Nのクロックイネーブル(CE)端子に対してイネーブル信号を供給する 。 図7は、マルチプレクサ702とスタンダードのBフリップフロップ701と を有するフリップフロップ6011のような例示的なフリップフロップ601の 1実施例を示している。フリップフロップ6011がイネーブル信号を受取ると 、マルチプレクサ702はデータライン618B1上に供給された信号をDフリッ プフロップ701のD入力端子へ転送する。この信号は、後に、ライン610上 に供給される次のクロック信号においてフリップフロップ701のQ出力端子へ 転送される。 対照的に、R/Wライン621(図6)上の高信号(読取動作であることを表 わす)はインバータ621Aによって反転され且つデコーダ606へ供給される 。この低信号は、デコーダ606に対して、フリップフロップ601のクロック イネーブル(CE)端子へディスエーブル信号を供給すべくプロンプトを与える 。フリップフロップ601がライン705を介してデコーダ606からディスエ ーブル信号を受取ると(図7)、マルチプレクサ702は信号がライン618B1 からDフリップフロップ701のD入力端子へロードされることを防止する。そ の代わりに、このディスエーブルされた形態においては、ライン610上の各ク ロック信号において、マルチプレクサ702がDフリップフロップ701のQ出 力端子上の出力信号をフィードバックループ706を介してそのD入力端子へ転 送する。従って、フリップフロップ701のQ出力端子上の信号は、ライン60 8B1上に供給される信号に拘らずに一定に留まる。再度図6を参照すると、デコ ーダ605が、分散型レジスタブロック501のアドレスと一致するアドレスバ ス611B上の信号を検知し且つライン621上の高信号を検知すると(REA D即ち読取状態であることを表わす)、デコーダ605はトライステート出力バ ッファ6021乃至602Nをイネーブルさ せ、その際にフリップフロップ6011乃至601NのQ出力端子上の格納されて いるレジスタ値をデータバス618B上に供給する(図8を参照して詳細に説明 するマルチプレクサ6221乃至622Nが適宜プログラムされているものと仮定 する)。従って、本発明においては、データバス618Bは、マイクロプロセサ 506(図5)から分散型レジスタブロック501へ入力信号を供給することに 加えて、更に、出力バスとして作用する。注意すべきことであるが、1実施例に おいては、初期的リセット期間中に、フリップフロップ6011乃至609Nがラ イン7091乃至709Nを介してそれらのリセット端子R上に供給される信号に よってリセットされる。データバス618Bはマイクロプロセサ506へ結合さ れているバス構成体502(図5)の一部を形成する。アドレスバス611A及 び611Bは、又、チップ500のバス構成体502の一部を形成している。 デコーダ604が分散型レジスタブロック501のアドレスと一致するアドレ スバス611A上の信号を検知すると、デコーダ604はトライステート出力バ ッファ6031乃至603Nをイネーブルさせ、その際にフリップフロップ6011 乃至601NのQ出力端子上の格納されているレジスタ値をデータバス618A 上に供給する(未だにマルチプレクサ6 221乃至622Nを無視する)。注意すべきことであるが、デコーダ604は、 R/Wライン621上の信号に拘らずに、READ即ち読取状態において動作す る。データバス618Aはマイクロプロセサ506へ結合しているバス構成体5 02(図5)の一部を形成する。 図9は、ALUブロック901の分散型レジスタブロック501(図6)に対 する例示的な相互接続を示している。特に、制御器103(図1)からのバス1 11A及び111Bは夫々バス611A及び611Bへ信号を転送する。従って、 バス111A及び111Bはバス構成体502(図5)の一部を形成する。バス6 11A及び611BはALUブロック901のみならず分散型レジスタブロック5 01へ信号を転送する。データバス618Aのラインのうちの1本、図9におい てはライン618A1は、レジスタファイル114から出力線118Aへ結合して いる。同様に、データバス618Bのラインのうちの1本、図9においてはライ ン618B1はレジスタファイル114から出力線118Bへ結合している。デー タバス618B(図6を参照して詳細に説明する)の双方向特性のために、ライ ン618B1は、更に、ALUブロック901のフィードバックライン119へ結 合している。この実施例においては、トライステート バッファ920A乃至920Cは、夫々、ライン118B,618B1,118A への信号の転送を選択的に可能とさせる。制御ユニット103(図1)はトライ ステートバッファ920A乃至920Cの動作を制御する。 再度図6を参照すると、フリップフロップ6011乃至601Nの夫々の出力線 6091乃至609NはFPGAチップ500(図5)上の少なくとも1個のCL B504へ結合している。この実施例においては、出力線6091乃至609Nは 相互接続マトリクス302(図3)の一部を形成しており、一方1本の出力線6 09が1個のCLB504(図8を参照して詳細に説明する)へ与えられている 。従って、本発明の1つの利点は、分散型レジスタブロック501の出力信号は 常時所定のCLB504(図5)に対して与えられており且つその後に汎用相互 接続体を介して任意のCLBへ与えられるということである。従って、データバ ス608Bのライン及び出力線609は、分散型レジスタブロック501が局所 的にCLB504に対してアクセス可能であることを確保している。このように 、FPGAアレイは、マイクロプロセサ506への高速接続が効果的に与えられ ている。この高速接続は、高速のマイクロプロセサ/FPGAインターフェース を確保して いる。何故ならば、マイクロプロセサ506からの信号はCLB504に対して 同時的に与えられるからである。同様に、CLB504において与えられる論理 機能は1クロックサイクル内において(即ち、デコーダ604,605,606 によって決定される)マイクロプロセサ506へ供給される。 本発明の1実施例においては、FPGA及びマイクロプロセサは非同期的であ り、即ち異なるクロックを使用する。従って、マイクロプロセサクロックを使用 してマイクロプロセサによってレジスタブロック501へ供給されるデータが、 実際に、レジスタブロック501によって受取られたことを表わす「ハンドシェ ーク」に対する必要性が発生する。フリップフロップ612は、フリップフロッ プ601によって受取られるのと同一のクロックイネーブル信号及びクロックパ ルス信号を受取る。然しながら、フリップフロップ601と異なり、フリップフ ロップ612はそのD入力端子上において一定の論理1を受取り且つFPGA論 理及びマイクロプロセサに対して信号FLAGを供給する。従って、フリップフ ロップ612のQ出力端子上に供給される論理1は、マイクロプロセサによって 供給されるデータがレジスタブロック501によって受取られたことを表わす。 このハンドシェークを完了するため及び次 のデータ転送の準備をするために、FPGA論理はフリップフロップ612に対 して信号RESETを供給し、Q出力端子上に格納されている信号の値を0へリ セットさせる。 図8は分散型レジスタ501(図6)に対して接続を与えることの可能なコン フィギャラブル論理ブロック301における位置を例示している。特に、陰線区 域800はデータバス618B又は出力線6091乃至609Nのいずれかへ結合 させることの可能な論理要素を表わしている。例えば、1つのコンフィギュレー ション即ち形態においては、フリップフロップ402及び403のQ出力端子の うちの少なくとも1つがマルチプレクサ622(図6)を介してデータバス61 8Bへ結合されている。別のコンフィギュレーション即ち形態においては、マル チプレクサ404,405,406,410,411又は412の出力端子又は 組合わせ機能ブロック401のF及びG出力端子のうちの少なくとも1つがマル チプレクサ622(図6)を介してデータバス618Bへ結合している。更に別 の形態においては、出力線609が組合わせ機能ブロック401の入力端子か又 はマルチプレクサ404,405,406,410,411又は412(これら のマルチプレクサは2入力から3入力マルチプレクサへ形態を変化さ せる)のうちの1つの入力端子のいずれかへ結合されている。図10は別のコン フィギュレーション論理ブロック(ザイリンクス社XC4000(商標)ファミ リィの装置に関連している)の簡単化したブロック線図を示しており、その場合 に、陰線区域1000はデータバス618Bか又は出力線6091乃至609N( 図6)のいずれかへ結合させることの可能な論理要素を表わしている。 注意すべきことであるが、1実施例においては、本発明におけるレジスタの1 ビットがCLBと関連しており(その際に、CLBにおける1つのソース即ち供 給源のみがレジスタへ接続するために選択されることを暗示している)、一方、 その他の実施例においては、2ビットがCLBと関連している(その場合には、 CLBにおける2つのソース即ち供給源がレジスタへ接続するために選択される ことを暗示している)。 本発明は次のような利点を提供する。 1.マイクロプロセサは従来のマイクロプロセサよりも高速である。何故なら ば、本発明に基づくマイクロプロセサは、単一の期間において、FPGA論理で 実現されている特別化された複雑な命令を実行するからである。従って、プログ ラムはより少ない数の命令を有することとなり且つより少ない期間 で実行される。 2.分散型レジスタの全てがマイクロプロセサ及びFPGAに対して同時的に 使用可能であるので、操作を並列的に行なうことが可能である。 3.本マイクロプロセサはFPGAにおける論理をエミュレーションする能力 を有している。従って、論理を実現するCLBを有する代わりに、ソフトウエア プログラムがFPGAからある入力信号を取り、それらをマイクロプロセサにお いて結合し、次いでその結果をFPGAへ戻すことが可能である。このように、 本マイクロプロセサは、幾つかの関数発生器を置換することが可能であり、その 際にFPGAチップ上のかなりの空間を節約する。 4.分散型レジスタは、マイクロプロセサと周辺装置との間においてより高速 の通信(FPGA論理を介して)を与える。注意すべきことであるが、1実施例 においては、周辺装置はFPGAにおいて実現される。 本発明の上述した実施例は単に例示的なものであって制限的なものではない。 その他の実施例は本明細書及びそれと関連する図面を参照することにより当業者 にとって自明なものである。本発明は添付の請求の範囲に記載されるものである 。

Claims (1)

  1. 【特許請求の範囲】 1.プログラム可能論理装置、 関連するレジスタを具備するマイクロプロセサ、尚前記関連するレジスタは前 記プログラム可能論理装置内に分布されている、 を有するチップ。 2.請求項1において、前記関連するレジスタが、前記マイクロプロセサ及 び前記プログラム可能論理装置と通信を行なう手段を有しているチップ。 3.請求項2において、前記関連するレジスタが、複数個のフリップフロッ プを有しており、各フリップフロップが前記マイクロプロセサへ供給されるクロ ック信号を受取るチップ。 4.請求項3において、前記関連するレジスタが、各フリップフロップの出 力信号を指向づけする手段を有しているチップ。 5.請求項4において、前記指向する手段が、前記フリップフロップの出力 端子へ結合している第一複数個のトライステートバッファを有しているチップ。 6.請求項5において、更に、第一データバスを有しており、前記第一複数 個のトライステートバッファの出力端子が前記第一データバスへ結合しているチ ップ。 7.請求項6において、更に第一アドレス手段を有しており、前記第一アド レス手段が第一ビットパターンによって活性化される場合に、前記第一複数個の トライステートバッファが活性化されて前記フリップフロップの格納されている 出力信号を前記第一データバスへ供給するチップ。 8.請求項7において、前記第一アドレス手段が、前記第一ビットパターン を供給するための第一アドレスバスと、前記第一アドレスバスへ結合されており 前記第一ビットパターンが検知されるか否かを判別するための第一デコーダとを 有するチップ。 9.請求項8において、前記第一アドレス手段が、更に、前記第一アドレス バスへ結合すると共に各フリップフロップのイネーブル端子へ結合している第二 デコーダを有しているチップ。 10.請求項9において、前記第一データバスが、更に、前記フリップフロ ップのデータ入力端子へ結合しているチップ。 11.請求項10において、第二ビットパターンが前記第一アドレスバス上 に供給される場合には、前記第一デコーダが前記第一複数個のトライステートバ ッファを脱活性化させ且つ前記第二デコーダが前記フリップフロップの前記イネ ーブル端子を活性化させ、その際に前記第一データバス上の信号を前 記フリップフロップの前記データ入力端子へ転送させるチップ。 12.請求項11において、前記データバスが前記マイクロプロセサ及び前 記プログラム可能論理装置へ結合しているチップ。 13.請求項12において、更に、複数個の出力線を有しており、各フリッ プフロップの前記出力端子が対応する出力線へ結合しているチップ。 14.請求項13において、前記出力線が前記プログラム可能論理装置へ結 合しているチップ。 15.請求項14において、更に、前記フリップフロップの前記出力端子へ 結合している第二複数個のトライステートバッファを有しているチップ。 16.請求項15において、前記第二複数個のトライステートバッファが第 二データバスへ結合しているチップ。 17.請求項16において、前記第二データバスが前記マイクロプロセサへ 結合しているチップ。 18.請求項17において、更に、第二アドレス手段を有しており、前記第 二アドレス手段が第三ビットパターンによって活性化される場合には、前記第二 トライステートバッファが活性化されて前記第二データバス上に前記フリップフ ロップの格納されている出力信号を供給するチップ。 19.請求項18において、前記第二アドレス手段が、前記第三ビットパタ ーンを供給するための第二アドレスバスを有すると共に、前記第二アドレスバス へ結合されており前記第三ビットパターンが検知されたか否かを判別する第三デ コーダを有するチップ。 20.マイクロプロセサ/プログラム可能論理装置インターフェースの遅延 を減少させる方法において、 1個のチップ上にマイクロプロセサとプログラム可能論理装置とを形成し、 前記プログラム可能論理装置内において前記マイクロプロセサと関連する複数 個のレジスタを分布させ、 前記複数個のレジスタを前記マイクロプロセサ及び前記プログラム可能論理装 置と接続させる、 上記各ステップを有する方法。
JP53275396A 1995-04-28 1996-04-26 プログラム可能論理装置によってアクセス可能な分散レジスタを有するマイクロプロセサ Expired - Lifetime JP3948494B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US43096895A 1995-04-28 1995-04-28
US08/430,968 1995-04-28
PCT/US1996/005847 WO1996034346A1 (en) 1995-04-28 1996-04-26 Microprocessor with distributed registers accessible by programmable logic device

Publications (2)

Publication Number Publication Date
JPH11504453A true JPH11504453A (ja) 1999-04-20
JP3948494B2 JP3948494B2 (ja) 2007-07-25

Family

ID=23709870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53275396A Expired - Lifetime JP3948494B2 (ja) 1995-04-28 1996-04-26 プログラム可能論理装置によってアクセス可能な分散レジスタを有するマイクロプロセサ

Country Status (4)

Country Link
US (1) US6026481A (ja)
EP (1) EP0823091A1 (ja)
JP (1) JP3948494B2 (ja)
WO (1) WO1996034346A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012074051A (ja) * 2004-02-13 2012-04-12 Siemens Ag 任意のアルゴリズムを並列計算するための再構成可能な論理回路装置

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
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
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
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.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US9092595B2 (en) * 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) * 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US6496971B1 (en) * 2000-02-07 2002-12-17 Xilinx, Inc. Supporting multiple FPGA configuration modes using dedicated on-chip processor
JP2004506261A (ja) * 2000-06-13 2004-02-26 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト パイプラインctプロトコルおよびct通信
US6665766B1 (en) 2000-08-14 2003-12-16 Xilinx, Inc. Adaptable configuration interface for a programmable logic device
US20020089348A1 (en) * 2000-10-02 2002-07-11 Martin Langhammer Programmable logic integrated circuit devices including dedicated processor components
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
NZ508052A (en) * 2000-11-09 2003-06-30 Derek Ward Programmable controller
US7444531B2 (en) * 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US20070299993A1 (en) * 2001-03-05 2007-12-27 Pact Xpp Technologies Ag Method and Device for Treating and Processing Data
US20090300262A1 (en) * 2001-03-05 2009-12-03 Martin Vorbach Methods and devices for treating and/or processing data
US9037807B2 (en) * 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US20090210653A1 (en) * 2001-03-05 2009-08-20 Pact Xpp Technologies Ag Method and device for treating and processing data
US6605962B2 (en) 2001-05-06 2003-08-12 Altera Corporation PLD architecture for flexible placement of IP function blocks
US7076595B1 (en) 2001-05-18 2006-07-11 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
JP2004533691A (ja) * 2001-06-20 2004-11-04 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データを処理するための方法
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
US7420392B2 (en) * 2001-09-28 2008-09-02 Xilinx, Inc. Programmable gate array and embedded circuitry initialization and processing
US6781407B2 (en) 2002-01-09 2004-08-24 Xilinx, Inc. FPGA and embedded circuitry initialization and processing
US6798239B2 (en) 2001-09-28 2004-09-28 Xilinx, Inc. Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
US6996758B1 (en) 2001-11-16 2006-02-07 Xilinx, Inc. Apparatus for testing an interconnecting logic fabric
US6983405B1 (en) 2001-11-16 2006-01-03 Xilinx, Inc., Method and apparatus for testing circuitry embedded within a field programmable gate array
US6886092B1 (en) 2001-11-19 2005-04-26 Xilinx, Inc. Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion
US7577822B2 (en) * 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
WO2003071418A2 (en) * 2002-01-18 2003-08-28 Pact Xpp Technologies Ag Method and device for partitioning large computer programs
WO2003060747A2 (de) * 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
US6820248B1 (en) 2002-02-14 2004-11-16 Xilinx, Inc. Method and apparatus for routing interconnects to devices with dissimilar pitches
EP2043000B1 (de) 2002-02-18 2011-12-21 Richter, Thomas Bussysteme und Rekonfigurationsverfahren
US6976160B1 (en) 2002-02-22 2005-12-13 Xilinx, Inc. Method and system for controlling default values of flip-flops in PGA/ASIC-based designs
US6754882B1 (en) 2002-02-22 2004-06-22 Xilinx, Inc. Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
US6693452B1 (en) 2002-02-25 2004-02-17 Xilinx, Inc. Floor planning for programmable gate array having embedded fixed logic circuitry
US7007121B1 (en) 2002-02-27 2006-02-28 Xilinx, Inc. Method and apparatus for synchronized buses
US6934922B1 (en) 2002-02-27 2005-08-23 Xilinx, Inc. Timing performance analysis
US7111217B1 (en) 2002-02-28 2006-09-19 Xilinx, Inc. Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC)
US6839874B1 (en) * 2002-02-28 2005-01-04 Xilinx, Inc. Method and apparatus for testing an embedded device
US7111220B1 (en) 2002-03-01 2006-09-19 Xilinx, Inc. Network physical layer with embedded multi-standard CRC generator
US7187709B1 (en) 2002-03-01 2007-03-06 Xilinx, Inc. High speed configurable transceiver architecture
US7088767B1 (en) 2002-03-01 2006-08-08 Xilinx, Inc. Method and apparatus for operating a transceiver in different data rates
US6961919B1 (en) 2002-03-04 2005-11-01 Xilinx, Inc. Method of designing integrated circuit having both configurable and fixed logic circuitry
WO2003081454A2 (de) * 2002-03-21 2003-10-02 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
WO2004088502A2 (de) * 2003-04-04 2004-10-14 Pact Xpp Technologies Ag Verfahren und vorrichtung für die datenverarbeitung
US8914590B2 (en) * 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US6973405B1 (en) 2002-05-22 2005-12-06 Xilinx, Inc. Programmable interactive verification agent
US6772405B1 (en) 2002-06-13 2004-08-03 Xilinx, Inc. Insertable block tile for interconnecting to a device embedded in an integrated circuit
US7085973B1 (en) 2002-07-09 2006-08-01 Xilinx, Inc. Testing address lines of a memory controller
US7657861B2 (en) * 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
AU2003286131A1 (en) * 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7099426B1 (en) 2002-09-03 2006-08-29 Xilinx, Inc. Flexible channel bonding and clock correction operations on a multi-block data path
WO2004038599A1 (de) * 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
US7092865B1 (en) 2002-09-10 2006-08-15 Xilinx, Inc. Method and apparatus for timing modeling
EP1443418A1 (en) * 2003-01-31 2004-08-04 STMicroelectronics S.r.l. Architecture for reconfigurable digital signal processor
US7007264B1 (en) * 2003-05-02 2006-02-28 Xilinx, Inc. System and method for dynamic reconfigurable computing using automated translation
JP4700611B2 (ja) * 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US7421014B2 (en) * 2003-09-11 2008-09-02 Xilinx, Inc. Channel bonding of a plurality of multi-gigabit transceivers
KR100520585B1 (ko) * 2003-10-28 2005-10-10 주식회사 하이닉스반도체 불휘발성 강유전체 메모리 셀 및 이를 이용한 메모리 장치
US7112991B1 (en) * 2003-12-24 2006-09-26 Altera Corporation Extended custom instructions
DE602005010639D1 (de) * 2004-09-03 2008-12-11 Derek Ward Verbesserungen an numerischen Steuerungen und verwandten elektronischen Geräten
US20090031104A1 (en) * 2005-02-07 2009-01-29 Martin Vorbach Low Latency Massive Parallel Data Processing Device
US7420390B1 (en) * 2006-01-09 2008-09-02 Altera Corporation Method and apparatus for implementing additional registers in field programmable gate arrays to reduce design size
WO2007082730A1 (de) 2006-01-18 2007-07-26 Pact Xpp Technologies Ag Hardwaredefinitionsverfahren
US7856546B2 (en) * 2006-07-28 2010-12-21 Drc Computer Corporation Configurable processor module accelerator using a programmable logic device
US9098302B2 (en) * 2012-06-28 2015-08-04 Intel Corporation System and apparatus to improve boot speed in serial peripheral interface system using a baseboard management controller
US9553590B1 (en) 2012-10-29 2017-01-24 Altera Corporation Configuring programmable integrated circuit device resources as processing elements
US9703697B2 (en) 2012-12-27 2017-07-11 Intel Corporation Sharing serial peripheral interface flash memory in a multi-node server system on chip platform environment
US9712186B1 (en) 2014-04-18 2017-07-18 Altera Corporation Serial memory interface circuitry for programmable integrated circuits
US10452392B1 (en) 2015-01-20 2019-10-22 Altera Corporation Configuring programmable integrated circuit device resources as processors
US10110233B2 (en) 2016-06-23 2018-10-23 Altera Corporation Methods for specifying processor architectures for programmable integrated circuits
US10482209B1 (en) 2018-08-06 2019-11-19 HLS Logix LLC Field programmable operation block array

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US34363A (en) * 1862-02-11 Improvement in machinery for cleaning cotton
USRE34363E (en) 1984-03-12 1993-08-31 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4706216A (en) * 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
US5142625A (en) * 1985-06-12 1992-08-25 Minolta Camera Kabushiki Kaisha One-chip microcomputer including a programmable logic array for interrupt control
US4878174A (en) * 1987-11-03 1989-10-31 Lsi Logic Corporation Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
US5550782A (en) * 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5361373A (en) * 1992-12-11 1994-11-01 Gilson Kent L Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
US5500943A (en) * 1993-11-02 1996-03-19 Motorola, Inc. Data processor with rename buffer and FIFO buffer for in-order instruction completion
US5574942A (en) * 1994-02-28 1996-11-12 Intel Corporation Hybrid execution unit for complex microprocessor
US5574930A (en) * 1994-08-12 1996-11-12 University Of Hawaii Computer system and method using functional memory
US5742180A (en) * 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
US5892961A (en) * 1995-02-17 1999-04-06 Xilinx, Inc. Field programmable gate array having programming instructions in the configuration bitstream
US5748979A (en) * 1995-04-05 1998-05-05 Xilinx Inc Reprogrammable instruction set accelerator using a plurality of programmable execution units and an instruction page table
US5737631A (en) * 1995-04-05 1998-04-07 Xilinx Inc Reprogrammable instruction set accelerator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012074051A (ja) * 2004-02-13 2012-04-12 Siemens Ag 任意のアルゴリズムを並列計算するための再構成可能な論理回路装置

Also Published As

Publication number Publication date
JP3948494B2 (ja) 2007-07-25
WO1996034346A1 (en) 1996-10-31
US6026481A (en) 2000-02-15
EP0823091A1 (en) 1998-02-11

Similar Documents

Publication Publication Date Title
JPH11504453A (ja) プログラム可能論理装置によってアクセス可能な分散レジスタを有するマイクロプロセサ
US6314550B1 (en) Cascaded programming with multiple-purpose pins
US6614259B2 (en) Configuration memory integrated circuit
JP3471088B2 (ja) 改良されたプログラマブル論理セルアレイアーキテクチャ
CA2313462C (en) Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem
US6282627B1 (en) Integrated processor and programmable data path chip for reconfigurable computing
US7330912B1 (en) Configuration in a configurable system on a chip
US6362650B1 (en) Method and apparatus for incorporating a multiplier into an FPGA
US5386155A (en) Apparatus and method for selecting polarity and output type in a programmable logic device
US6803785B1 (en) I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US20130318294A1 (en) Internal processor buffer
WO1995004402A1 (en) Microprocessor-based fpga
JPH0738187B2 (ja) Lsiに構成されたマイクロコンピュータ
US20110068823A1 (en) Processor programmable pld device
CA2713142A1 (en) A circuit for and method of minimizing power consumption in an integrated circuit device
JPS6118778B2 (ja)
US7624209B1 (en) Method of and circuit for enabling variable latency data transfers
US9946667B2 (en) Microcontroller with configurable logic array
US5923894A (en) Adaptable input/output pin control
US7454556B1 (en) Method to program non-JTAG attached devices or memories using a PLD and its associated JTAG interface
US20080074142A1 (en) Routing for Microprocessor Busses
Winegarden Bus architecture of a system on a chip with user-configurable system logic
US6034545A (en) Macrocell for data processing circuit
US6032229A (en) Semiconductor memory device and information processor using the same
US7869452B1 (en) Dataflow FIFO communication buffer using highly-multiported memories

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070410

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100427

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110427

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130427

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130427

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140427

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term