JP4170226B2 - Fpgaおよび埋込回路の初期化および処理 - Google Patents

Fpgaおよび埋込回路の初期化および処理 Download PDF

Info

Publication number
JP4170226B2
JP4170226B2 JP2003561097A JP2003561097A JP4170226B2 JP 4170226 B2 JP4170226 B2 JP 4170226B2 JP 2003561097 A JP2003561097 A JP 2003561097A JP 2003561097 A JP2003561097 A JP 2003561097A JP 4170226 B2 JP4170226 B2 JP 4170226B2
Authority
JP
Japan
Prior art keywords
logic
circuit
programmable
integrated circuit
fabric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003561097A
Other languages
English (en)
Other versions
JP2005515682A (ja
Inventor
シュルツ,デービッド・ピィ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
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 Xilinx Inc filed Critical Xilinx Inc
Publication of JP2005515682A publication Critical patent/JP2005515682A/ja
Application granted granted Critical
Publication of JP4170226B2 publication Critical patent/JP4170226B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/17772Structural details of configuration resources for powering on or off
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • 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/17724Structural details of logic blocks
    • H03K19/17732Macroblocks
    • 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/17736Structural details of routing resources
    • 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/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

発明の技術分野
この発明は一般的に、埋込固定論理回路を有するフィールド・プログラマブル・ゲートアレイに関し、より特定的には、埋込固定論理回路とフィールド・プログラマブル・ゲートアレイとを連係させながら初期化および処理することに関する。
発明の背景
プログラマブルデバイスとは、多種多様の用途に合わせて構成され得る多目的の集積回路の一種である。このようなプログラマブルデバイスには2つの基本的な種類があり、すなわち製造業者によってのみプログラムされるマスク・プログラマブルデバイスと、エンドユーザによってプログラム可能なフィールド・プログラマブルデバイスとがある。これに加えて、プログラマブルデバイスはさらに、プログラマブル・メモリデバイスまたはプログラマブル・ロジックデバイスに分類することができる。プログラマブル・メモリデバイスには、プログラム可能読出専用メモリ(PROM)、消去プログラム可能読出専用メモリ(EPROM)および電気的消去プログラム可能読出専用メモリ(EEPROM)が含まれる。プログラマブル・ロジックデバイスには、プログラマブル・ロジックアレイ(PLA)デバイス、プログラマブル・アレイロジック(PAL)デバイス、消去プログラム可能ロジックデバイス(EPLD)デバイス、およびプログラマブル・ゲートアレイ(PGA)が含まれる。
フィールド・プログラマブル・ゲートアレイ(FPGA)は、電気通信用途、インターネット用途、スイッチング用途、ルーティング用途、およびその他さまざまなエンドユーザ用途において極めて広く普及している。図1は、フィールド・プログラマブル・ゲートアレイ(FPGA)10の一般化した概略的ブロック図を示す。FPGA10はプログラム可能ロジックファブリック12(プログラム可能ロジックゲートおよびプログラム可能相互接続部を含む)と、プログラム可能入出力ブロック14とを含む。プログラム可能入出力ブロック14はFPGA10を支持する基板上に作製され、集積回路のピンと結合されて、プログラム可能ロジックファブリック12へユーザがアクセスできるようにする。プログラム可能ロジックファブリック12は、特定のエンドユーザ用途に対応する多種多様な機能を実行するようにプログラムされ得る。プログラム可能ロジックファブリック12はさまざまな態様で実現可能である。たとえばプログラム可能ロジックファブリック12は対称型アレイ構成、行ベース構成、列ベース構成、シーオブゲート(sea-of-gates)構成、または階層型プログラム可能ロジックデバイス構成で実現可能である。
図2は、対称型アレイ構成に従って実現されたプログラム可能ロジックファブリック12を例示する。ここに示すように、複数の論理ブロック16が行および列のアレイとして構成されている。この複数の論理ブロック16は、各々が特定の論理機能を実行するようにエンドユーザによってプログラム可能である。より複雑な論理機能を得るために、複数のプログラム可能相互接続部18を用いて、個々にプログラムされた論理ブロックを相互接続する場合もある。したがって、各行および各列の各論理ブロック間にはプログラム可能相互接続部18が存在する。
プログラム可能相互接続部18は、論理ブロック16のアレイの論理ブロック間で、さらには論理ブロックとプログラム可能入出力ブロック14との間で選択的な接続を可能にする。プログラム可能相互接続部18を実現するにはあらゆるプログラム可能な素子を用いることができ、これにはスタティックRAMセル技術、ヒューズおよび/またはアンチ
ヒューズセル技術、EPROMトランジスタ技術、および/またはEEPROMトランジスタ技術が含まれる。FPGAでスタティックRAMプログラム可能接続が利用される場合、接続を行なうには、スタティックRAMセルによって制御されるパストランジスタ、伝送ゲートおよび/またはマルチプレクサを含むさまざまな構成要素を用いることができる。FPGAでアンチヒューズ相互接続が利用される場合、典型的に相互接続は高インピーダンス状態に存在し、これを再プログラムして低インピーダンス状態またはヒューズ状態にすることで選択的な接続を行なうことができる。FPGAでEPROMまたはEEPROMベースの相互接続が利用される場合、相互接続セルは再プログラム可能であるため、FPGAの再構成が可能である。
図3は、行ベースの構成として実現されたプログラム可能ロジックファブリック12の概略的ブロック図を例示する。この構成では、プログラム可能ロジックファブリック12は行として配置された複数の論理ブロック16を含む。論理ブロックの各行間にはプログラム可能相互接続部18がある。この相互接続はどのようなプログラム可能記憶素子を用いても実現可能であり、これにはRAM(スタティックRAM、ダイナミックRAMおよびNVRAM)、ヒューズおよび/またはアンチヒューズ技術、EPROM技術、および/またはEEPROM技術が含まれる。
図4は、列ベースの構成として実現されたプログラム可能ロジックファブリック12の概略的なブロック図を示す。図3と図4とに示す論理ブロック16およびプログラム可能相互接続部18は実質的に同様のものである。
図5は、階層型プログラム可能ロジックデバイスとして実現されたプログラム可能ロジックファブリック12を例示する。この実現例では、プログラム可能ロジックファブリック12はプログラム可能論理素子ブロック22およびプログラム可能相互接続部18を含む。ここに示すように、4つのプログラム可能論理ブロック素子22が四隅にあり、相互接続ブロック18がこれら論理素子ブロックの中央にある。さらにこの相互接続部は、プログラム可能論理素子ブロック22を相互接続ブロック18と結合するラインを含む。
公知のように、フィールド・プログラマブル・ゲートアレイでは、エンドユーザは特定用途向け集積回路(ASIC)の最初にかかる費用、時間的遅延および内在的リスクを回避しながらカスタム集積回路を柔軟に実現することができる。FPGAにはこのような利点がある一方、いくつかの欠点もある。たとえば、ASICにおいて実現されるのと同様の機能を実行するようにFPGAをプログラムすると、必要なダイ面積がASICよりも大きくなる場合がある。さらに場合によっては、FPGAを用いた設計の性能は、ASICを用いて実現した設計の性能よりも低くなる。
このような不都合を緩和する1つのやり方としては、或る共通に使用される複合的な機能を固定的な論理回路としてFPGA内に埋込むことが挙げられる。そこで、埋込まれた固定論理回路を含みながらプログラム可能な構成要素を維持したプログラマブル・ゲートアレイが必要とされている。
発明の概要
この発明は集積回路の初期化に係るシステムおよび方法に関する。この集積回路は、プログラム可能ロジックファブリックを形成するように配置および相互接続された構成可能論理ブロックをを備え、プログラム可能ロジックファブリックは少なくとも部分的に開口部を取囲む。この集積回路はさらに固定論理回路を備え、この固定論理回路を上記開口部
に挿入して、上記固定論理回路が上記構成可能論理ブロックのうち或る数の論理ブロックにより取囲まれるようにする。この集積回路はさらに、プログラム可能ロジックファブリックおよび固定論理回路のプログラムおよび初期化を統御する構成ロジックを備える。固定論理回路およびプログラム可能ロジックファブリックに電源を投入し、固定論理回路を或る既知の状態に保持する。次に、固定論理回路は上記既知の状態に保持されている間にプログラム可能ロジックファブリック全体が構成される。次に、構成ロジックが固定論理回路のスタートアップを開始する。固定論理回路とプログラム可能ロジックファブリックとがともに完全に可能化された後、これらは協働して機能する。この実施例では、構成およびスタートアップの間、固定論理回路は構成ロジックに対するスレーブとして動作し、構成ロジックはマスタとして動作する。これら動作の変形例では、プログラム可能ロジックファブリックを部分的に構成し、固定論理回路をスタートアップし、それから固定論理回路がプログラム可能ロジックファブリックの構成を完了させる。
これに代わる実施例では、スタートアップおよび初期化の間、固定論理回路がプログラム可能ロジックファブリックに対するマスタとして動作し、プログラム可能ロジックファブリックはスレーブとして動作する。しかしこのマスタ/スレーブ関係が存在するには、固定論理回路は集積回路の入出力ラインからアクセス可能でなければならない。しかし固定論理回路はプログラム可能ロジックファブリック内に埋込まれている。そこで、この代替的な実施例に従うと、固定論理回路を専用の通信ラインによってアクセス可能とする。この実施例では、固定論理回路はその電源起動およびスタートアップのルーチンを開始させるために直接アクセス可能である。したがって、固定論理回路のスタートアップの後、これを用いてプログラム可能ロジックファブリックを構成することが可能となる。この実施例に従うと、固定論理回路は集積回路の動作条件を調べて、この動作条件に適切な態様でプログラム可能ロジックファブリックを構成することができる。
この発明の概要に関する上述の記載はこの発明のさまざまな局面のうちいくらかを包含しているが、これがそのすべてではない。この発明についての以下の詳細な説明を添付の図面との関連で検討することにより、この発明についてのその他の局面、利点および新規の特徴点が明らかとなるであろう。
この発明についての理解を深めるために、さまざまな例示としての実施例についての以下の詳細な説明を添付の図面との関連で検討する。
発明の詳細な説明
図6は、この発明のいくつかの局面に従い作製された集積回路1900の一実施例を例示するシステム図である。集積回路1900は、プログラム可能ロジックファブリック1910を取囲む複数のプログラム可能入出力回路(1920として一まとめに示す)および構成ロジック1930を含む。プログラム可能ロジックファブリック1910内には固定処理モジュール1934が設けられ、相互接続ロジック1938は、固定処理モジュール1934とプログラム可能ロジックファブリック1910との間の通信を可能にするものである。相互接続ロジック1938は或る数の適切に構成された構成可能論理ブロックを含むことができ、これには相互接続タイルが含まれ、さらにまたさまざまな数のマルチプレクサも含み得る。さらに、相互接続ロジック1938はまた、プログラム可能ロジックファブリック1910のうち固定処理モジュール1934に場所をあけるために取除かれた部分の周辺部に沿ってあるさまざまな構成可能論理ブロックへ配分されることを可能にするように設計され得る。固定処理モジュールには、デジタル信号プロセッサ、物理層インターフェイス、リンク層インターフェイス、ネットワーク層インターフェイス、音声プロセッサ、映像グラフィックスプロセッサ、および特定用途向け集積回路が含まれ得る。この特定の実施例では、スタートアップおよび初期化の間、固定処理モジュール193
4は構成ロジック1930に対するスレーブとして動作する。同様に、スタートアップおよび初期化の間、構成ロジックは固定処理モジュール1934に対するマスタとして動作する。しかしこのマスタ/スレーブ関係を反対にもできることが認められる。この場合には、スタートアップおよび初期化の間、固定処理モジュール1934が構成ロジック1930に対するマスタとして動作し、構成ロジック1930は固定処理モジュール1934に対するスレーブとして動作することになるが、これもこの発明の範囲および意味から逸脱しない。図6の固定処理モジュール1934はプログラム可能ロジックファブリック1910内の中央に位置しているが、これに代えて所与の用途における使用のために適当に選択された任意の場所に位置付けられていてもよい。
図7は、この発明のいくつかの局面に従い実行されるプログラム方法2000の一実施例を例示する論理図である。ブロック2011にて集積回路の電源投入を行なう。ここに記載のさまざまな実施例で示されるように、この電源投入を或る数のステップに分割することがあり、これには集積回路内のさまざまな構成要素の部分的な電源起動が含まれる。次に、ブロック2012にて、デバイスについての電源投入リセット(POR)が表明される。ブロック2013にてマイクロプロセッサリセット♯1がなされる。ブロック2013でのリセットにより、マイクロプロセッサが或る既知の、または予め定められた状態に置かれることが確実となる。
次にブロック2014にて、フィールド・プログラマブル・ゲートアレイ(FPGA)内のゲートが特定の用途に合わせて所望の通りに構成される。この動作はFPGAの構成であると見なすことができる。また、さまざまな実施例においてFPGAはプログラム可能ロジックファブリックであると言うこともできる。
次に、ブロック2016にて、グローバルシステムリセット(GSR)が行なわれる。そして最後に、ブロック2017に示すように、スタートアップシーケンサが動作を始め、FPGAおよびマイクロプロセッサのスタートアップシーケンスが開始される。さらに、他の固定論理デバイスが集積回路内に形成される場合、これら固定論理デバイスもまたステップ2017にてスタートアップされることになる。スタートアップシーケンスの後、FPGAは起動および構成がなされており、或る既知のまたは予め定められた論理構成にある。
図8は、この発明に従い動作するストリップ状のブロックRAMを有する別の集積回路2100を例示するシステム図である。集積回路2100は、プログラム可能ロジックファブリック2110を取囲むプログラム可能入出力回路2120および構成ロジック2130を含む。プログラム可能ロジックファブリック2110内には固定処理モジュール2134が設けられ、相互接続ロジック2138により、固定処理モジュール2134とプログラム可能ロジックファブリック2110との間の通信が可能となる。
図8に示す実施例では、ブロックRAM(BRAMと呼ばれることもある)のストリップが、固定処理モジュール2134およびこれを取囲む相互接続ロジック2138の上部および下部に対して整列されることが認められる。このブロックRAMはいくつかの機能を実行するように動作可能であり、これには固定処理モジュール2134およびプログラム可能ロジックファブリック2110のうち一方またはその両方についての構成の状態の記憶が含まれる。加えて、ブロックRAMはさらに、プログラム可能ロジックファブリック2110を取囲むプログラム可能入出力回路2120と固定処理モジュール2134との間の通信経路となるよう動作可能とされる場合もある。この特定の実施例では4つのストリップのブロックRAMが設けられ、これをブロックRAM2191,2192,2193,2194として示す。これら4つのストリップのブロックRAM2191,2192,2193,2194は固定処理モジュール2134およびこれを取囲む相互接続ロジ
ック2138の上部および下部に対して位置付けられ、これらストリップのブロックRAMは固定処理モジュール2134およびプログラム可能ロジックファブリック2110の端縁まで延びる。
ブロックRAM2191,2192,2193,2194はまた、固定処理モジュール2134のスタートアップおよび初期化の間にロジックファブリック2110によって利用され得る。スタートアップおよび初期化の間、FPGA構成ロジック2130はマスタとして働き(これについては図7を参照して説明してある)、構成ロジック2130はブロックRAM2191,2192,2193,2194に固定処理モジュール2134のためのブート・スタートアップ命令を予めロードする。次に、構成ロジック2130は固定処理モジュール2134の再始動シーケンスを開始する。この再始動シーケンスにおいて、固定処理モジュール2134はそのスタートアップ命令およびデータセットを得るためにブロックRAM2191,2192,2193,2194にアクセスする。さらに、この発明に従う別の動作形態では、ロジック2130は、固定処理モジュール2134を或る既知の状態に置くことになる命令をブロックRAM2191,2192,2193,2194に予めロードする。
図9は集積回路2200の別の実施例であって、この発明のいくつかの局面に従い作製された少なくとも1本の専用通信ラインを有するものを示すシステム図である。集積回路2200はプログラム可能ロジックファブリック2210を取囲むプログラム可能入出力回路2220および構成ロジック2230を含む。プログラム可能ロジックファブリック2210内には固定処理モジュール2234が設けられ、相互接続ロジック2238により、固定処理モジュール2234とプログラム可能ロジックファブリック2210との間の通信が可能となる。やはりこの発明のさまざまな他の実施例において既に説明したように、相互接続ロジック2238は或る数の適切に構成された構成可能論理ブロックを含むことができ、これには相互接続タイルが含まれ、さらにまたさまざまな数のマルチプレクサも含み得る。さらに、相互接続ロジック2238は、プログラム可能ロジックファブリック2210のうち固定処理モジュール2234に場所をあけるために取除かれた部分の周辺部に沿ってあるさまざまな構成可能論理ブロックのへ配分されることを可能にするように設計され得る。図9の固定処理モジュール2234はプログラム可能ロジックファブリック2210内の中央に位置しているが、これに代えて所与の用途における使用のために適当に選択された任意の場所に位置付けられてもよい。
この特定の実施例では、専用通信ライン2251はプログラム可能入出力回路2220を固定処理モジュール2234に直接結合する。専用通信ライン2251はただ1本の専用通信ラインを含むが、これに代えて任意の数の専用通信ラインを含んでいてもよく、これもこの発明の範囲および意味から逸脱しない。これら専用通信ライン2251により、任意の数の機能目的のために固定処理モジュール2234へアクセスすることが可能となる。たとえば専用通信ラインを用いてプログラム可能入出力回路2220と固定処理モジュール2234との間で高速通信を行なうことが可能である。さらに、専用通信ラインを用いて、プログラム可能ロジックファブリック2210の相互作用または動作を必要とすることなく固定処理モジュール2234の電源起動、スタートアップ、ブートおよび初期化を容易にすることができる。
これに加え、任意の数の他の専用通信ラインを設けてもよく、これをプログラム可能ロジックファブリック2210内の専用通信ライン2261,2271として示す。これら専用通信ラインはいくつかの実施例において固定処理モジュール2234およびその相互接続ロジック2238のまわりに対称に位置する。これに代えて所与の用途において所望の通りに位置していてもよい。この実施例では3本の専用通信ライン2251,2261,2271が設けられ、これらによって、プログラム可能ロジックファブリック2210
の相互接続を必要とすることなしにプログラム可能入出力回路2220から固定処理モジュール2234およびその相互接続ロジック2238に直接通信結合が可能となる。しかし実施例によっては、所与の用途または実施例において所望の通りにその他任意の数の専用通信ラインを採用してもよい。この構造においては、固定処理モジュール2234を最初にスタートアップおよび初期化することができる。それから、固定処理モジュール2234を用いてFPGAファブリック2210を構成することができる。
図10は、集積回路2300のさらに別の実施例であって、この発明のいくつかの局面に従い作製された少なくとも1本の専用通信ラインを有するものを例示すシステム図である。見方によっては、集積回路2300は図9の集積回路2200の変形であると見なすことができる。たとえば集積回路2300は、プログラム可能ロジックファブリック2310を取囲むプログラム可能入出力回路2320および構成ロジック2330を含む。プログラム可能ロジックファブリック2310内には固定処理モジュール2334が設けられ、相互接続ロジック2338は、固定処理モジュール2334とプログラム可能ロジックファブリック2310との間で通信結合を行なうように動作可能である。やはりこの発明のさまざまな他の実施例において既に説明したように、相互接続ロジック2338は或る数の適切に構成された構成可能論理ブロックを含むことができ、これには相互接続タイルが含まれ、さらにまたさまざまな数のマルチプレクサも含み得る。さらに相互接続ロジック2338は、プログラム可能ロジックファブリック2310のうち固定処理モジュール2334に場所をあけるために取除かれた部分の周辺部に沿ってあるさまざまな構成可能論理ブロックのへ配分されることを可能にするように設計され得る。図10の固定処理モジュール2334はプログラム可能ロジックファブリック2310内の中央に位置しているが、これに代えて、所与の用途における使用のために適当に選択された任意の場所に位置付けられていてもよい。
この特定の実施例では、専用通信ライン2340,2350,2360,2370の4本の異なる経路がプログラム可能入出力回路2320を相互接続ロジック2338(そしてこれに従い固定処理モジュール2334)に直接通信結合する。図10に示すこの実施例が図9の実施例と異なるのは、専用通信ラインが相互接続ロジック2338に接続するだけで固定処理モジュール2334に直接接続しない点である。しかし専用通信ライン2340,2350,2360,2370は、図10において固定処理モジュール2334に直接の接続を可能にするように設計されることもあり、これもこの発明の範囲および意味から逸脱しない。同様に図9の専用通信ラインもまた、図9の固定処理モジュール2234でなく相互接続ロジック2238のみに接続を可能にするように設計されることもある。
専用通信ライン2340,2350,2360,2370は各々がただ1本の専用通信ラインを含み得るが、これに代えて各々が任意の数の専用通信ラインを含んでもよく、さらに、その各々における専用通信ラインの数が異なっていてもよく、これもこの発明の範囲および意味から逸脱しない。これら専用通信ライン2340,2350,2360,2370により、任意の数の機能目的のために固定処理モジュール2334へアクセスすることが可能となる。たとえば専用通信ラインを用いてプログラム可能入出力回路2320と固定処理モジュール2334との間の高速通信を行なうことが可能である。さらに、専用通信ラインを用いて、プログラム可能ロジックファブリック2310の相互作用または動作を必要とすることなく固定処理モジュール2334の電源起動、スタートアップ、ブートおよび初期化を容易にすることができる。
専用通信ライン2340,2350,2360,2370は、いくつかの実施例において固定処理モジュール2334およびその相互接続ロジック2338のまわりに対称に位置する。これに代えて所与の用途において所望の通りに位置付けられていてもよい。この
実施例では4本の専用通信ライン2340,2350,2360,2370が設けられ、これらにより、プログラム可能ロジックファブリック2310の相互作用を必要とせずにプログラム可能入出力回路2320から相互接続ロジック2338(そしてこれに従い固定処理モジュール2334)に直接通信結合が可能となる。しかし実施例によっては、所与の用途または実施例で所望の通りにその他任意の数の専用通信ラインを採用してもよい。
図11は、この発明のいくつかの局面に従い作製された集積回路2400の概略的な断面図である。集積回路2400はシリコン(またはその他の半導体)層を含み、ここにFPGAファブリック2401、固定処理モジュール2434および相互接続ロジック2438をなすトランジスタが形成される。一実施例では、これら複数のトランジスタおよびその他所用の回路素子の形成にCMOSプロセスが採用される。このようなプロセスや、トランジスタおよびその他これらの素子をなす回路素子の構造は周知であり、この発明の教示を詳細に説明する場合を除きこれ以上ここでは説明しない。
複数の金属層、すなわち第1の金属層2401、第2の金属層2402、第3の金属層2403、第4の金属層2404、…、および第nの金属層2409が集積回路の相互接続の要件を満たす。これら相互接続要件には、FPGAファブリック2401の相互接続要件(これについては既にここにおいて各図を参照して説明してある)、FPGAファブリック2401と相互接続ロジック2438との間の相互接続、固定処理モジュール2434と相互接続ロジックとの間の相互接続、およびFPGAファブリック2401とプログラム可能入出力部2420との間の相互接続が含まれる。周知のように、特定の回路素子、たとえばトランジスタや抵抗器などの間の相互接続は、1つ以上の金属層において、これら金属層の中のラインを金属バイアで2つ以上の回路素子に結合することによって行なわれる。金属層内のラインは、バイアで結合されると回路素子間の電気接続を行なう。プログラム可能入出力部2420もまた、複数の金属層2401〜2409およびプログラム可能素子を含むように形成され、所望の相互接続機能をもたらす。
さらに、この発明に従うと、金属層2401〜2409のうち1層以上を用いて、固定処理モジュール2434および/または相互接続ロジック2438からプログラム可能入出力部2420への専用通信ラインを形成する。この特定の実施例では、任意の数の異なる経路をなす専用通信ラインは、プログラム可能入出力回路2420を、固定処理モジュール2434および/または固定処理モジュール2434を取囲む相互接続ロジック2438に直接通信結合する。換言すると、いくつかの実施例では、専用通信ラインは固定処理モジュール2434のみと通信結合する。これに代えて、他の実施例(図11に示すものなど)では、専用通信ラインは相互接続ロジック2438のみに通信結合する場合がある。これら2つの変形例を組合せたものが含まれる実施例もあり得る。専用通信ラインは、単一の金属層に形成されることも、または多数の金属層に形成されることもある。
たとえば、具体的に図11に示すように、専用通信ライン2480は第3の金属層2480に形成され、一方で専用通信ライン2460は第nの金属層2409に形成される。専用通信ライン2480はプログラム可能入出力部2420をバイア2490により固定処理モジュール2434に結合する。さらに、専用通信ライン2460はプログラム可能入出力部2420をバイア2470により相互接続ロジック2438に結合する。専用通信ライン2440,2450の例示する実施例では、プログラム可能入出力回路2420を、固定処理モジュール2434および相互接続ロジック2438の両方に直接通信結合する。他の実施例では、専用通信ラインはプログラム可能入出力部2420を固定処理モジュール2434または相互接続ロジック2438のいずれかにのみ結合することがあり得る。
これら専用通信ラインにより、集積回路2400の端縁から固定処理モジュールへ直接アクセスすることが可能となる。このように直接アクセスが可能であることにより、固定処理モジュール2434の電源起動および初期化をFPGAファブリック2401の電源起動および構成に先立って行なうことができる。固定処理モジュール2434が最初に電源起動および初期化されることにより、これを用いてFPGAファブリック2401を構成することが可能となる。この順序でスタートアップおよび初期化を行なうことにより、設計者は柔軟にFPGAファブリック2401をプログラムすることができる。たとえば設計者は、集積回路2400の特定の動作条件に依存して或る数の異なるFPGAファブリック2401の構成を選択肢として指定することがあり得る。固定処理モジュール2434を専用通信ライン2480,2460(およびこれらにそれぞれ連接されたバイア2490,2470)により最初に初期化することによって、固定処理モジュール2434は動作条件を検出し、これに従ってFPGAファブリック2401を構成することができる。さらに、任意の時刻にて、固定処理モジュール2434は、動作条件の変化に伴いFPGAファブリック2401を再構成することができる。固定処理モジュールから集積回路端縁のプログラム可能入出力部2420に至る専用通信ラインを設けることで、固定処理モジュール2434はFPGAファブリック2401を再構成することができる。
図11に示す相互接続ロジック2438は固定処理モジュール2434を完全に取囲むことが認められる。しかし、相互接続ロジックをさらに分割し、これが固定処理モジュール2434を単に部分的に取囲むさまざまな部分になるよう設計することも可能である。たとえば、ここに記載のさまざまな他の実施例では、図11における固定処理モジュール2434の右側にある相互接続ロジック2438が実際には固定処理モジュール2434の左側の相互接続ロジック2438と接続されていない場合もあり、これもこの発明の範囲および意味から逸脱しない。
以下の図を含む本特許出願における以下の図のうち多くにおいて、マイクロプロセッサへの言及は、固定処理モジュール、固定論理回路および/またはその他の固定論理素子と区別なく用いられることがあるが、これもこの発明の範囲および意味から逸脱しない。マイクロプロセッサという用語はいくつかのさまざまな固定論理回路を表わすものとして総称的に用いられる。同様に、FPGAアレイへの言及もまた、さまざまな実施例におけるプログラム可能ロジックファブリックへの言及を含み得る。
図12は、この発明のいくつかの局面に従い実行される初期化方法2500の一実施例を例示する論理図である。ブロック2511にて、集積回路の電源起動を行なう。次に、ブロック2515にて、FPGAアレイを部分的に構成する。この後、ブロック2525にて、マイクロプロセッサをプログラムする。次に、ブロック2536にて、FPGAアレイのうち残りの部分(すなわちブロック2515で部分的に構成されなかった部分)を構成する。これは初期化方法2500についての図12で示すさまざまな実施例のうち1つを示すものである。
図13は、この発明のいくつかの局面に従い実行される初期化方法2700の別の実施例を例示する論理図である。最初に、ブロック2710にて、集積回路の電源起動を行なう。次に、ブロック2711にて、FPGAアレイのうち1つ以上の部分をセットアップしてマイクロプロセッサへのアクセスを可能にする。これはマイクロプロセッサ入出力機能へのアクセスを得るために実行されるものと見なすことができる。次に、ブロック2713にて、マイクロプロセッサをブートする。ブロック2731にて、マイクロプロセッサを用いてFPGAアレイの残りの部分を構成する。これはブロック2731でのマイクロプロセッサを用いてFPGAアレイの残りの部分の構成を指示することであると見なすことができる。
代替的な実施例では、初期化方法2700の終了前に、代替ブロック2751に示すように、FPGAアレイのうちマイクロプロセッサのスタートアップおよびブートに用いられた1つ以上の部分が再び利用可能にされる。これに加え、代替ブロック2761に示すように、FPGAアレイの構成後にマイクロプロセッサをリセットすることもあり得る。FPGAアレイの構成後のこのマイクロプロセッサのリセットを実行するために、代替ブロック2762に示すように、専用ラインを用いてマイクロプロセッサのリセットを実行することができる。さらに、FPGAアレイのうちの部分それ自体を用いてマイクロプロセッサのリセットを制御することもできる。加えて、ブロックRAMによる通信結合を用いてマイクロプロセッサのリセットを実行することもできる。
図14は、この発明のいくつかの局面に従い実行される初期化方法2800の別の実施例を例示する論理図である。ブロック2810にて集積回路の電源起動を行なう。ブロック2811にてマイクロプロセッサをブートする。このブロック2811でのブートは図14においてマイクロプロセッサへの専用のアクセスを用いて実行される。次に、ブロック2822にてFPGAアレイを構成する。
これに加え、代替ブロック2861に示すように、FPGAアレイの構成後にマイクロプロセッサをリセットする場合がある。FPGAアレイの構成後におけるこのマイクロプロセッサのリセットを実行するために、代替ブロック2862に示すように専用ラインを用いてマイクロプロセッサのリセットを実行することができる。さらに、FPGAアレイのうちの部分それ自体を用いてマイクロプロセッサのリセットを制御することができる。加えて、ブロックRAMによる通信結合を用いてマイクロプロセッサのリセットを実行することもできる。
図15は、この発明のいくつかの局面に従い実行される初期化方法の別の実施例を例示する論理図である。ブロック2902にて集積回路の電源起動を行なう。ブロック2905にて、FPGAアレイのうちマイクロプロセッサ近傍にある1つ以上の部分を構成し、これのためにこのFPGA部分への専用のアクセスを用いる。代替ブロック2906に示すように、上記FPGA部分のうちいくらかはブロックRAMを含み得る。次に、ブロック2911にて、FPGAアレイのうち構成された上記部分を用いてマイクロプロセッサをブートする。
ブロック2922にて、FPGAアレイを構成する。これはFPGAアレイの残りの構成を実行することであると見なすことができる。代替的な実施例では、初期化方法2900の終了前に、代替ブロック2951に示すように、FPGAアレイのうち1つ以上の部分を再び利用可能にする。これに加え、代替ブロック2961に示すように、FPGAアレイの構成後にマイクロプロセッサをリセットすることもある。FPGAアレイの構成後におけるこのマイクロプロセッサのリセットを実行するために、代替ブロック2962に示すように専用ラインを用いてマイクロプロセッサのリセットを実行することができる。さらに、FPGAアレイのうちの部分それ自体を用いてマイクロプロセッサのリセットを制御することができる。これに加え、ブロックRAMによる通信結合を用いてマイクロプロセッサのリセットを実行することもまた可能である。
この発明についての以上の詳細な説明および添付の図面によれば、当業者にはその他の変更および変形が明らかとなるであろう。また、このようなその他の変更および変形はこの発明の意味および範囲から逸脱することなく実行可能であることが明らかであろう。
先行技術のフィールド・プログラマブル・ゲートアレイの概略的なブロック図である。 図1のプログラマブル・ゲートアレイのプログラム可能ロジックファブリックであって対称型アレイ構成で実現されたものを概略的に示すブロック図である。 図1のプログラマブル・ゲートアレイのプログラム可能ロジックファブリックであって行ベースの構成として実現されたものを概略的に示すブロック図である。 図1のプログラマブル・ゲートアレイのプログラム可能ロジックファブリックであってシーオブゲート構成として実現されたものを概略的に示すブロック図である。 図1のプログラマブル・ゲートアレイのプログラム可能ロジックファブリックであって階層型プログラム可能論理素子構成として実現されたものを概略的に示すブロック図である。 この発明のいくつかの局面に従い作製された集積回路の一実施例を例示するシステム図である。 この発明のいくつかの局面に従い実行されるプログラム方法の一実施例を例示する論理図である。 この発明に従い動作するストリップ状のブロックRAMを有する別の集積回路を例示するシステム図である。 集積回路の別の実施例であって、この発明のいくつかの局面に従い作製された少なくとも1本の専用通信ラインを有するものを例示するシステム図である。 集積回路のさらに別の実施例であって、この発明のいくつかの局面に従い作製された少なくとも1つの専用通信ラインを有するものを例示するシステム図である。 この発明のいくつかの局面に従い作製された多層集積回路の概略的な断面図である。 この発明のいくつかの局面に従い実行されるスタートアップおよび初期化の方法の一実施例を例示する論理図である。 この発明のいくつかの局面に従い実行される初期化方法の別の実施例を例示する論理図である。 この発明のいくつかの局面に従い実行される初期化方法の別の実施例を例示する論理図である。 この発明のいくつかの局面に従い実行される初期化方法の別の実施例を例示する論理図である。

Claims (16)

  1. 集積回路の初期化を行なう方法であって、前記集積回路は、プログラム可能ロジックファブリックを形成するように配置および相互接続された複数の構成可能論理ブロックを備え、前記プログラム可能ロジックファブリックは少なくとも部分的に開口部を取囲み、前記集積回路はさらに、前記開口部に位置付けられた固定論理回路を備え、前記固定論理回路は前記複数の構成可能論理ブロックのうち或る数の構成可能論理ブロックに接続され、前記方法は、
    前記固定論理回路が予め定められた状態に保持されている間に前記プログラム可能ロジックファブリックのうち少なくとも或る部分を構成するステップと、
    前記プログラム可能ロジックファブリックのうち少なくとも或る部分が構成された後に前記固定論理回路を初期化するステップとを備える、方法。
  2. 前記固定論理回路は、前記プログラム可能ロジックファブリックのうち構成された前記部分を用いて少なくとも部分的に初期化される、請求項1に記載の方法。
  3. 前記固定論理回路の前記初期化を支配する情報はブロックRAMからロードされる、請求項1に記載の方法。
  4. 集積回路であって、
    プログラム可能ロジックファブリックを形成するように配置および相互接続された複数の構成可能論理ブロックを備え、前記プログラム可能ロジックファブリックは少なくとも部分的に開口部を取囲み、前記集積回路はさらに、
    前記開口部に挿入された固定論理回路を備え、前記固定論理回路は前記複数の構成可能論理ブロックのうち或る数の構成可能論理ブロックに接続され、前記プログラム可能ロジックファブリックのうち少なくとも或る部分が構成されている間に前記固定論理回路は予め定められた状態を有する、集積回路。
  5. さらに、前記固定論理回路を初期化するための前記プログラム可能ロジックファブリックのうち構成された部分を備える、請求項4に記載の集積回路。
  6. 前記固定論理回路は、デジタル信号プロセッサ、マイクロプロセッサ、物理層インターフェイス、リンク層インターフェイス、ネットワーク層インターフェイス、音声プロセッサ、映像グラフィックプロセッサ、および特定用途向け集積回路からなる群から選択される、請求項4に記載の集積回路。
  7. さらに、前記固定論理回路と、前記複数の構成可能論理ブロックのうち前記或る数の構成可能論理ブロックとの間でのインターフェイスをとるように動作可能な相互接続ロジックを備える、請求項4に記載の集積回路。
  8. 前記相互接続ロジックはマルチプレクサを含み、前記複数の構成可能論理ブロックのうち少なくとも1つの構成可能論理ブロックは第1の複数の通信ラインを利用し、前記固定論理回路は第2の複数の通信ラインを利用し、前記マルチプレクサは、固定論理回路と、前記複数の構成可能論理ブロックのうち前記少なくとも1つの構成可能論理ブロックとの間の通信を容易にするように動作可能である、請求項7に記載の集積回路。
  9. 集積回路であって、
    プログラム可能ロジックファブリックを形成するように配置および相互接続された複数の構成可能論理ブロックを備え、前記プログラム可能ロジックファブリックは少なくとも部分的に開口部を取囲み、前記集積回路はさらに、
    前記開口部に挿入された固定論理回路を備え、前記固定論理回路は、前記複数の構成可能論理ブロックのうち或る数の構成可能論理ブロックに接続され、前記集積回路はさらに、
    前記プログラム可能ロジックファブリックに隣接してあるプログラム可能入出力回路と、
    前記プログラム可能入出力回路に前記固定論理回路を接続する通信経路と、
    前記通信経路を用いる前記固定論理回路のための初期化ルーチンとを備える、集積回路。
  10. さらに、前記プログラム可能ロジックファブリックのうちの、前記固定論理回路により少なくとも部分的に構成される、構成された部分を備える、請求項9に記載の集積回路。
  11. 前記通信経路は、前記固定論理回路と前記プログラム可能入出力回路との間の通信を容易にするための、前記プログラム可能ロジックファブリックのうちの入出力ロジックとして構成された部分を含む、請求項9に記載の集積回路。
  12. 前記通信経路は専用通信ラインを含む、請求項9に記載の集積回路。
  13. 前記通信経路は、専用通信ラインが中に形成される複数の金属層を含み、
    前記専用通信ラインの大部分は、前記複数の金属層内の単一の金属層の中に位置する、請求項9に記載の集積回路。
  14. 集積回路の初期化を行なう方法であって、前記集積回路は、プログラム可能ロジックファブリックを形成するように配置および相互接続された複数の構成可能論理ブロックを備え、前記プログラム可能ロジックファブリックは少なくとも部分的に開口部を取囲み、前記集積回路はさらに、前記開口部に挿入された固定論理回路を備え、前記固定論理回路は、前記複数の構成可能論理ブロックのうち或る数の構成可能論理ブロックに接続され、前記集積回路はさらに、通信経路を介して前記固定論理回路に接続されたプログラム可能入出力回路を備え、前記方法は、
    前記プログラム可能入出力回路から前記通信経路を介して与えられた信号を用いて前記固定論理回路を少なくとも部分的に初期化するステップと、
    少なくとも部分的に初期化された前記固定論理回路により前記プログラム可能ロジックファブリックのうち少なくとも或る部分を構成するステップとを含む、方法。
  15. 前記固定論理回路と前記プログラム可能入出力回路との間の通信を容易にするために、前記通信経路が、前記プログラム可能ロジックファブリックのうち或る部分を入出力ロジックとして構成することにより形成される、請求項14に記載の方法。
  16. 前記通信経路は専用通信ラインを含む、請求項14に記載の方法。
JP2003561097A 2002-01-09 2002-12-20 Fpgaおよび埋込回路の初期化および処理 Expired - Lifetime JP4170226B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/043,769 US6781407B2 (en) 2002-01-09 2002-01-09 FPGA and embedded circuitry initialization and processing
PCT/US2002/041227 WO2003061128A1 (en) 2002-01-09 2002-12-20 Fpga and embedded circuitry initialization and processing

Publications (2)

Publication Number Publication Date
JP2005515682A JP2005515682A (ja) 2005-05-26
JP4170226B2 true JP4170226B2 (ja) 2008-10-22

Family

ID=21928795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003561097A Expired - Lifetime JP4170226B2 (ja) 2002-01-09 2002-12-20 Fpgaおよび埋込回路の初期化および処理

Country Status (6)

Country Link
US (1) US6781407B2 (ja)
EP (1) EP1464118B1 (ja)
JP (1) JP4170226B2 (ja)
CA (1) CA2472231C (ja)
DE (1) DE60232818D1 (ja)
WO (1) WO2003061128A1 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076595B1 (en) * 2001-05-18 2006-07-11 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US7420392B2 (en) * 2001-09-28 2008-09-02 Xilinx, Inc. Programmable gate array and embedded circuitry initialization and processing
US6934922B1 (en) 2002-02-27 2005-08-23 Xilinx, Inc. Timing performance analysis
US7085973B1 (en) 2002-07-09 2006-08-01 Xilinx, Inc. Testing address lines of a memory controller
US6864716B2 (en) * 2003-06-09 2005-03-08 Lsi Logic Corporation Reconfigurable memory architecture
US7132851B2 (en) * 2003-07-11 2006-11-07 Xilinx, Inc. Columnar floorplan
US7143386B2 (en) * 2003-08-19 2006-11-28 Lsi Logic Corporation Type configurable memory methodology for use with metal programmable devices
US7885320B1 (en) 2003-09-11 2011-02-08 Xilinx, Inc. MGT/FPGA clock management system
US7421014B2 (en) * 2003-09-11 2008-09-02 Xilinx, Inc. Channel bonding of a plurality of multi-gigabit transceivers
US7277212B2 (en) * 2003-09-19 2007-10-02 Ricoh Company, Limited Optical scanning unit and image forming apparatus
US6996795B2 (en) * 2003-12-04 2006-02-07 International Business Machines Corporation Data processing in digital systems
EP1716502B1 (en) * 2004-02-12 2009-05-13 Nxp B.V. Digital signal processing integrated circuit with io connections
US7129765B2 (en) 2004-04-30 2006-10-31 Xilinx, Inc. Differential clock tree in an integrated circuit
US7249252B2 (en) * 2004-06-16 2007-07-24 Intel Corporation Method of replacing initialization code in a control store with main code after execution of the initialization code has completed
US20060080632A1 (en) * 2004-09-30 2006-04-13 Mathstar, Inc. Integrated circuit layout having rectilinear structure of objects
US20060136606A1 (en) * 2004-11-19 2006-06-22 Guzy D J Logic device comprising reconfigurable core logic for use in conjunction with microprocessor-based computer systems
US20070247189A1 (en) * 2005-01-25 2007-10-25 Mathstar Field programmable semiconductor object array integrated circuit
JP4321472B2 (ja) * 2005-03-28 2009-08-26 トヨタ自動車株式会社 制御装置
US7822958B1 (en) 2006-03-10 2010-10-26 Altera Corporation Booting mechanism for FPGA-based embedded system
US7478359B1 (en) 2006-10-02 2009-01-13 Xilinx, Inc. Formation of columnar application specific circuitry using a columnar programmable logic device
US7970979B1 (en) * 2007-09-19 2011-06-28 Agate Logic, Inc. System and method of configurable bus-based dedicated connection circuits
US20090144595A1 (en) * 2007-11-30 2009-06-04 Mathstar, Inc. Built-in self-testing (bist) of field programmable object arrays
US8990548B2 (en) * 2011-04-11 2015-03-24 Intel Corporation Apparatuses for configuring programmable logic devices from BIOS PROM
US9430239B2 (en) * 2013-03-12 2016-08-30 Qualcomm Incorporated Configurable multicore network processor
US9471537B2 (en) 2013-03-14 2016-10-18 Altera Corporation Hybrid programmable many-core device with on-chip interconnect
US9252778B2 (en) 2013-09-27 2016-02-02 Scaleo Chip Robust flexible logic unit
US9048827B2 (en) 2013-09-27 2015-06-02 Scaleo Chip Flexible logic unit
US9077339B2 (en) 2013-09-27 2015-07-07 Scaleo Chip Robust flexible logic unit
US9411688B1 (en) 2013-12-11 2016-08-09 Xilinx, Inc. System and method for searching multiple boot devices for boot images
EP3345108B1 (en) * 2015-09-01 2020-11-04 Flex Logix Technologies, Inc. Block memory layout and architecture for programmable logic ic, and method of operating same
US10454480B2 (en) 2016-08-03 2019-10-22 Silicon Mobility Embedded FPGA with multiple configurable flexible logic blocks instantiated and interconnected by abutment
US10116311B2 (en) 2016-08-03 2018-10-30 Silicon Mobility Embedded FPGA with multiple configurable flexible logic blocks instantiated and interconnected by abutment
US10503690B2 (en) 2018-02-23 2019-12-10 Xilinx, Inc. Programmable NOC compatible with multiple interface communication protocol
US10621129B2 (en) 2018-03-27 2020-04-14 Xilinx, Inc. Peripheral interconnect for configurable slave endpoint circuits
US10505548B1 (en) 2018-05-25 2019-12-10 Xilinx, Inc. Multi-chip structure having configurable network-on-chip
US10838908B2 (en) 2018-07-20 2020-11-17 Xilinx, Inc. Configurable network-on-chip for a programmable device
US10824505B1 (en) 2018-08-21 2020-11-03 Xilinx, Inc. ECC proxy extension and byte organization for multi-master systems
US10936486B1 (en) 2019-02-21 2021-03-02 Xilinx, Inc. Address interleave support in a programmable device
US10680615B1 (en) 2019-03-27 2020-06-09 Xilinx, Inc. Circuit for and method of configuring and partially reconfiguring function blocks of an integrated circuit device
US11301295B1 (en) 2019-05-23 2022-04-12 Xilinx, Inc. Implementing an application specified as a data flow graph in an array of data processing engines
US10891414B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Hardware-software design flow for heterogeneous and programmable devices
US10891132B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Flow convergence during hardware-software design for heterogeneous and programmable devices
US11188312B2 (en) 2019-05-23 2021-11-30 Xilinx, Inc. Hardware-software design flow with high-level synthesis for heterogeneous and programmable devices
US11264361B2 (en) 2019-06-05 2022-03-01 Invensas Corporation Network on layer enabled architectures
US10977018B1 (en) 2019-12-05 2021-04-13 Xilinx, Inc. Development environment for heterogeneous devices
US11336287B1 (en) 2021-03-09 2022-05-17 Xilinx, Inc. Data processing engine array architecture with memory tiles
US11520717B1 (en) 2021-03-09 2022-12-06 Xilinx, Inc. Memory tiles in data processing engine array
EP4348433A1 (en) 2021-08-20 2024-04-10 Xilinx, Inc. Multiple overlays for use with a data processing array
US11848670B2 (en) 2022-04-15 2023-12-19 Xilinx, Inc. Multiple partitions in a data processing array
US12079158B2 (en) 2022-07-25 2024-09-03 Xilinx, Inc. Reconfigurable neural engine with extensible instruction set architecture

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5072418A (en) 1989-05-04 1991-12-10 Texas Instruments Incorporated Series maxium/minimum function computing devices, systems and methods
US4855669A (en) 1987-10-07 1989-08-08 Xilinx, Inc. System for scan testing of logic circuit networks
US4878174A (en) 1987-11-03 1989-10-31 Lsi Logic Corporation Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
US5274570A (en) 1989-05-22 1993-12-28 Mazda Motor Corporation Integrated circuit having metal substrate
JPH03210649A (ja) 1990-01-12 1991-09-13 Fujitsu Ltd マイクロコンピュータおよびそのバスサイクル制御方法
US5550782A (en) 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
US5347181A (en) 1992-04-29 1994-09-13 Motorola, Inc. Interface control logic for embedding a microprocessor in a gate array
WO1993025968A1 (en) 1992-06-10 1993-12-23 Furtek Frederick C A modular computer based on reconfigurable logic
US5671355A (en) 1992-06-26 1997-09-23 Predacomm, Inc. Reconfigurable network interface apparatus and method
US5339262A (en) 1992-07-10 1994-08-16 Lsi Logic Corporation Method and apparatus for interim, in-situ testing of an electronic system with an inchoate ASIC
US5311114A (en) 1992-10-27 1994-05-10 Seeq Technology, Incorporated Apparatus and method for full-duplex ethernet communications
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
GB9303084D0 (en) 1993-02-16 1993-03-31 Inmos Ltd Programmable logic circuit
JPH0736858A (ja) 1993-07-21 1995-02-07 Hitachi Ltd 信号処理プロセッサ
EP0665998A4 (en) 1993-08-03 1996-06-12 Xilinx Inc FPGA CIRCUIT WITH MICROPROCESSOR.
US5457410A (en) 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US5740404A (en) 1993-09-27 1998-04-14 Hitachi America Limited Digital signal processor with on-chip select decoder and wait state generator
US5500943A (en) 1993-11-02 1996-03-19 Motorola, Inc. Data processor with rename buffer and FIFO buffer for in-order instruction completion
DE69430320T2 (de) 1993-12-13 2002-10-10 Lattice Semiconductor Corp., Hillsboro Anwendungsspezifische module in einem programmierbaren logikbaustein
US5742179A (en) 1994-01-27 1998-04-21 Dyna Logic Corporation High speed programmable logic architecture
US5574942A (en) 1994-02-28 1996-11-12 Intel Corporation Hybrid execution unit for complex microprocessor
US5543640A (en) 1994-03-15 1996-08-06 National Semiconductor Corporation Logical three dimensional interconnections between integrated circuit chips using a two dimensional multi-chip module
US5600845A (en) 1994-07-27 1997-02-04 Metalithic Systems Incorporated Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
US5574930A (en) 1994-08-12 1996-11-12 University Of Hawaii Computer system and method using functional memory
US5732250A (en) 1994-09-15 1998-03-24 Intel Corporation Multi-function microprocessor wait state mechanism using external control line
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
US5737631A (en) 1995-04-05 1998-04-07 Xilinx Inc Reprogrammable instruction set accelerator
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
US5752035A (en) 1995-04-05 1998-05-12 Xilinx, Inc. Method for compiling and executing programs for reprogrammable instruction set accelerator
WO1996034346A1 (en) 1995-04-28 1996-10-31 Xilinx, Inc. Microprocessor with distributed registers accessible by programmable logic device
GB9508931D0 (en) 1995-05-02 1995-06-21 Xilinx Inc Programmable switch for FPGA input/output signals
EP0780017A1 (en) 1995-07-10 1997-06-25 Xilinx, Inc. System comprising field programmable gate array and intelligent memory
US6175952B1 (en) 1997-05-27 2001-01-16 Altera Corporation Technique of fabricating integrated circuits having interfaces compatible with different operating voltage conditions
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
CA2239186A1 (en) 1996-10-10 1998-04-16 Semiconductores Investigacion Y Diseno, S.A. - (Sidsa) Process for the prototyping of mixed signal applications and field programmable system on a chip for applying said process
US6134705A (en) 1996-10-28 2000-10-17 Altera Corporation Generation of sub-netlists for use in incremental compilation
US5889788A (en) 1997-02-03 1999-03-30 Motorola, Inc. Wrapper cell architecture for path delay testing of embedded core microprocessors and method of operation
US6172990B1 (en) 1997-06-19 2001-01-09 Xaqti Corporation Media access control micro-RISC stream processor and method for implementing the same
US5914616A (en) 1997-02-26 1999-06-22 Xilinx, Inc. FPGA repeatable interconnect structure with hierarchical interconnect lines
US5874834A (en) 1997-03-04 1999-02-23 Xilinx, Inc. Field programmable gate array with distributed gate-array functionality
US6011407A (en) 1997-06-13 2000-01-04 Xilinx, Inc. Field programmable gate array with dedicated computer bus interface and method for configuring both
US5970254A (en) 1997-06-27 1999-10-19 Cooke; Laurence H. Integrated processor and programmable data path chip for reconfigurable computing
US5995424A (en) 1997-07-16 1999-11-30 Tanisys Technology, Inc. Synchronous memory test system
US6020755A (en) 1997-09-26 2000-02-01 Lucent Technologies Inc. Hybrid programmable gate arrays
US6279045B1 (en) 1997-12-29 2001-08-21 Kawasaki Steel Corporation Multimedia interface having a multimedia processor and a field programmable gate array
US6096091A (en) 1998-02-24 2000-08-01 Advanced Micro Devices, Inc. Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip
US6163166A (en) 1998-05-27 2000-12-19 Altera Corporation Programmable logic device with selectable schmitt-triggered and threshold-triggered buffers
US6480989B2 (en) 1998-06-29 2002-11-12 Lsi Logic Corporation Integrated circuit design incorporating a power mesh
US6282627B1 (en) 1998-06-29 2001-08-28 Chameleon Systems, Inc. Integrated processor and programmable data path chip for reconfigurable computing
US6467009B1 (en) 1998-10-14 2002-10-15 Triscend Corporation Configurable processor system unit
US6343207B1 (en) 1998-11-03 2002-01-29 Harris Corporation Field programmable radio frequency communications equipment including a configurable if circuit, and method therefor
US6154051A (en) 1998-11-05 2000-11-28 Vantis Corporation Tileable and compact layout for super variable grain blocks within FPGA device
US6181163B1 (en) 1999-01-21 2001-01-30 Vantis Corporation FPGA integrated circuit having embedded SRAM memory blocks and interconnect channel for broadcasting address and control signals
US6356987B1 (en) 1999-03-10 2002-03-12 Atmel Corporation Microprocessing device having programmable wait states
US6301696B1 (en) 1999-03-30 2001-10-09 Actel Corporation Final design method of a programmable logic device that is based on an initial design that consists of a partial underlying physical template
US6211697B1 (en) 1999-05-25 2001-04-03 Actel Integrated circuit that includes a field-programmable gate array and a hard gate array having the same underlying structure
US6272451B1 (en) 1999-07-16 2001-08-07 Atmel Corporation Software tool to allow field programmable system level devices
JP3512166B2 (ja) 1999-11-26 2004-03-29 松下電器産業株式会社 プログラマブルロジックデバイスの設定方法
US6519753B1 (en) 1999-11-30 2003-02-11 Quicklogic Corporation Programmable device with an embedded portion for receiving a standard circuit design
US6588006B1 (en) 1999-12-16 2003-07-01 Lsi Logic Corporation Programmable ASIC
US6434735B1 (en) 1999-12-16 2002-08-13 Lsi Logic Corporation Method for programming an FPGA and implementing an FPGA interconnect
US6539508B1 (en) 2000-03-15 2003-03-25 Xilinx, Inc. Methods and circuits for testing programmable logic
US6587995B1 (en) 2000-04-19 2003-07-01 Koninklijke Philips Electronics N.V. Enhanced programmable core model with integrated graphical debugging functionality
US6535043B2 (en) 2000-05-26 2003-03-18 Lattice Semiconductor Corp Clock signal selection system, method of generating a clock signal and programmable clock manager including same
US6353331B1 (en) 2000-07-10 2002-03-05 Xilinx, Inc. Complex programmable logic device with lookup table
US6507942B1 (en) 2000-07-11 2003-01-14 Xilinx , Inc. Methods and circuits for testing a circuit fabrication process for device uniformity
US6518787B1 (en) * 2000-09-21 2003-02-11 Triscend Corporation Input/output architecture for efficient configuration of programmable input/output cells
US6611951B1 (en) 2000-11-30 2003-08-26 Lsi Logic Corporation Method for estimating cell porosity of hardmacs
US6522167B1 (en) 2001-01-09 2003-02-18 Xilinx, Inc. User configurable on-chip memory system
US6532572B1 (en) 2001-03-14 2003-03-11 Lsi Logic Corporation Method for estimating porosity of hardmacs
US6541991B1 (en) 2001-05-04 2003-04-01 Xilinx Inc. Interface apparatus and method for testing different sized ball grid array integrated circuits
US6578174B2 (en) 2001-06-08 2003-06-10 Cadence Design Systems, Inc. Method and system for chip design using remotely located resources
US6601227B1 (en) 2001-06-27 2003-07-29 Xilinx, Inc. Method for making large-scale ASIC using pre-engineered long distance routing structure
US6510548B1 (en) 2001-08-03 2003-01-21 Xilinx, Inc. Method for providing pre-designed modules for programmable logic devices
US6798239B2 (en) * 2001-09-28 2004-09-28 Xilinx, Inc. Programmable gate array having interconnecting logic to support embedded fixed logic circuitry

Also Published As

Publication number Publication date
US6781407B2 (en) 2004-08-24
EP1464118A1 (en) 2004-10-06
CA2472231C (en) 2011-05-31
US20030128050A1 (en) 2003-07-10
EP1464118B1 (en) 2009-07-01
CA2472231A1 (en) 2003-07-24
WO2003061128A1 (en) 2003-07-24
DE60232818D1 (de) 2009-08-13
JP2005515682A (ja) 2005-05-26

Similar Documents

Publication Publication Date Title
JP4170226B2 (ja) Fpgaおよび埋込回路の初期化および処理
US7420392B2 (en) Programmable gate array and embedded circuitry initialization and processing
JP3477313B2 (ja) プログラマブル・アレイ、プログラマブル・アレイを構成する方法及びシステム
JP4249745B2 (ja) 集積回路上で揮発性と不揮発性プログラム可能ロジックを結合させるための技術
JP3939698B2 (ja) 埋込み固定論理回路をサポートする相互接続ロジックを有するプログラマブルゲートアレイ
US5483178A (en) Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers
JP2614169B2 (ja) プログラム可能アレイ論理装置およびプログラム可能論理装置
KR100491662B1 (ko) 강화된전계프로그램가능게이트어레이
US6255845B1 (en) Efficient use of spare gates for post-silicon debug and enhancements
US7477072B1 (en) Circuit for and method of enabling partial reconfiguration of a device having programmable logic
USRE37195E1 (en) Programmable switch for FPGA input/output signals
US7304496B2 (en) Mask-programmable logic device with programmable input/output ports
US20080309370A1 (en) Reprogrammable Integrated Circuit
JP2004524715A (ja) タイル敷き詰め可能なフィールド・プログラマブル・ゲート・アレイのアーキテクチャ
US20060279327A1 (en) Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an fpga
US7768300B1 (en) Programmable logic device providing serial peripheral interfaces
EP1351394B1 (en) A field programmable device
JP3472527B2 (ja) 論理回路モジュール及びこれを用いた半導体集積回路の設計方法並びに半導体集積回路
US6680871B1 (en) Method and apparatus for testing memory embedded in mask-programmable logic device
US6774667B1 (en) Method and apparatus for a flexible chargepump scheme for field-programmable gate arrays
JPH07176616A (ja) プログラム可能な論理回路
JP2004214369A (ja) 集積回路装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080219

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080319

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080327

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: 20080722

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080806

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4170226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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