JP4115942B2 - 埋込固定論理回路を有するプログラマブル・ゲートアレイのフロア計画 - Google Patents

埋込固定論理回路を有するプログラマブル・ゲートアレイのフロア計画 Download PDF

Info

Publication number
JP4115942B2
JP4115942B2 JP2003572181A JP2003572181A JP4115942B2 JP 4115942 B2 JP4115942 B2 JP 4115942B2 JP 2003572181 A JP2003572181 A JP 2003572181A JP 2003572181 A JP2003572181 A JP 2003572181A JP 4115942 B2 JP4115942 B2 JP 4115942B2
Authority
JP
Japan
Prior art keywords
fabric
logic
opening
input
output lines
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
JP2003572181A
Other languages
English (en)
Other versions
JP2005518749A (ja
JP2005518749A5 (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 JP2005518749A publication Critical patent/JP2005518749A/ja
Publication of JP2005518749A5 publication Critical patent/JP2005518749A5/ja
Application granted granted Critical
Publication of JP4115942B2 publication Critical patent/JP4115942B2/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/1776Structural details of configuration resources for memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/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/1778Structural details for adapting physical parameters
    • H03K19/17796Structural details for adapting physical parameters for physical disposition of blocks

Landscapes

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

Description

背景
技術分野
この発明は一般的に集積回路の設計に関し、より特定的には、固定論理回路およびプログラム可能ロジック要素の両方を有する集積回路の設計に関するものである。
関連技術
プログラマブルデバイスとは、多種多様の用途に合わせて構成され得る多目的の集積回路の一種である。このようなプログラマブルデバイスには2つの基本的な種類があり、すなわち製造業者によってのみプログラムされるマスク・プログラマブルデバイスと、エンドユーザによってプログラム可能なフィールド・プログラマブルデバイスとがある。これに加えて、プログラマブルデバイスはさらに、プログラマブル・メモリデバイスまたはプログラマブル・ロジックデバイスに分類することができる。プログラマブル・メモリデバイスには、プログラム可能読出専用メモリ(PROM)、消去プログラム可能読出専用メモリ(EPROM)および電気的消去プログラム可能読出専用メモリ(EEPROM)が含まれる。プログラマブル・ロジックデバイスには、プログラマブル・ロジックアレイ(PLA)デバイス、プログラマブル・アレイロジック(PAL)デバイス、消去プログラム可能ロジックデバイス(EPLD)デバイス、およびプログラマブル・ゲートアレイ(PGA)が含まれる。フィールド・プログラマブル・ゲートアレイ(プログラマブル・ゲートアレイ)は、電気通信用途、インターネット用途、スイッチング用途、ルーティング用途などにおいて極めて広く普及している。
公知のように、プログラマブル・ゲートアレイでは、エンドユーザは特定用途向け集積回路(ASIC)の最初にかかる費用、時間的遅延および内在的リスクを回避しながらカスタムCMOS VLSI集積回路からの利益を受ける。プログラマブル・ゲートアレイにはこのような利点がある一方、いくつかの欠点もある。たとえば、ASICにおいて実現されるのと同様の機能を実行するようにプログラマブル・ゲートアレイをプログラムすると、必要なダイ面積がASICのおよそ25倍から50倍にもなる。これに伴い、プログラマブル・ゲートアレイの製造原価はASICのそれよりも高くつく。これに加え、プログラマブル・ゲートアレイで必要な印刷回路基板面積は機能の等しいASICよりもはるかに大きく、かつ消費電力も大きい。さらに、プログラマブル・ゲートアレイは多様な実現を目標として設計されるものであって、通常これが発揮する性能はASICに及ばない。
プログラマブル・ゲートアレイがASICに対して劣る点をいくらか緩和するために、プログラマブル・ゲートアレイ製造業者によってはASICに似た機能をプログラム可能ロジックファブリックと同じ基板上に含めるところがある。たとえば、プログラマブル・ゲートアレイであって、プログラム可能ロジックファブリック内にランダムアクセスメモリ(RAM)ブロックおよび/または乗算器を備えるものが現在市場で入手可能である。このため、RAM機能および/または乗算器機能が必要な場合、これらの機能を実行するようにプログラム可能ロジックファブリックをプログラムする必要はない。したがって、プログラマブル・ゲートアレイ内において、このような機能のために必要なダイ面積は大幅に小さくなる。
固定論理回路をプログラマブル・ゲートアレイのファブリックに含めることで、ダイ面積の消費を小さくしながらエンドユーザにはより広いプログラミングの選択の幅が与えら
れる一方で、エンドユーザは今日プログラマブル・ゲートアレイに対しより大きな性能および柔軟性を求めている。具体的には、エンドユーザは、伝統的なプログラマブル・ゲートアレイの用途の広さを維持しながらプログラマブル・ゲートアレイのプログラム可能ロジックファブリック内にもっと多くの固定論理機能(つまりASICに似た機能)を埋込んでほしいと望んでいる。埋込固定論理回路を有するプログラマブル・ゲートアレイの実施の形態においては、この特定の技術分野が比較的新しいこともあって、プログラム可能回路および固定論理回路のさまざまな構成要素を或る設計でレイアウトする態様に関する教示はほとんどまたは全く存在しない。
このような回路をレイアウトする態様についてのその他の制約および不利な点が、上述のようなシステムと、本願の以下の部分で図面を参照しながら記載するこの発明とを比較することで当業者には明らかとなるであろう。
発明の概要
先行技術の装置における上記およびその他の問題を克服するために、この発明に従い設計および作製された集積回路は、ファブリックとなるよう配置された或る数の構成可能論理ブロックを含み、ファブリックの中には、構成可能論理ブロックで取囲まれる開口部が設けられる。ファブリックの開口部内には、或る数の入出力線および制御線を含む固定論理回路が形成される。開口部の中の固定論理回路は、この固定論理回路の入出力線および制御線をファブリックへとインターフェイスする相互接続ロジックによって取囲まれる。この発明に従うと、相互接続ロジックは、入出力線および制御線を、開口部に隣接する或る数の構成可能論理ブロックに沿って分布させる。相互接続ロジックは、ファブリックの構成可能論理ブロックに直接インターフェイスする相互接続タイルを含んでもよい。
実施例によっては、固定論理回路の入出力線および制御線は何百もの別々の線を含む。しかし開口部に隣接する構成可能論理ブロックの数はこれよりもはるかに少ない。したがってこのような場合、開口部に隣接する或る数の構成可能論理ブロックは各々が複数のアドレス線、複数のデータ線および複数の制御線により用いられる。相互接続ロジックの相互接続タイルは各々が固定論理回路の1組のアドレス線、データ線および制御線の終端をなし、これにより開口部に隣接する構成可能論理ブロックへ信号をインターフェイスする。
この発明の一局面に従うと、固定論理回路を支援する一群の線、たとえばプロセッサバスのデータ線、アドレス線および制御線は、開口部の第1の辺に隣接する或る数の相互接続タイルに沿って分布させられる。このような実施例では、プロセッサの他の線は開口部の他の辺に隣接する相互接続タイルに沿って分布させられる。このように固定論理回路の信号線を分布させることによって、ファブリックを管理することで、ファブリックにおける異なる部分が異なる機能を実行するようにこれら部分を構成することが可能となる。この異なる機能とは、固定論理回路で局所的に提示される入出力部に対応するものである。
多数の固定論理回路が存在する場合、ファブリックに対する固定論理回路の入出力線や制御線などが対称な表現例を採用することができる。たとえば、多数の固定論理処理コアを含む実現例では、ファブリックの中心部分に関してファブリックへの線が対称な表現例を採用することができる。このようなファブリックへの線が対称な表現例により、多数の固定論理回路の実現例における協働型および独立型の両方の構成でファブリックの構成が効率的なものとなる。
この発明についての他の局面、利点および新規な特徴点が、添付の図面を参照して以下
のこの発明の詳細な説明から明らかとなるであろう。
この発明をよりよく理解するために、添付の図面を参照しながら以下の例としてのさまざまな実施例の詳細な説明について考察されたい。
図面の詳細な説明
一般的には、この発明に従い作製された集積回路は、プログラマブル・ゲートアレイのファブリックに形成された開口部の中に存在する少なくとも1つの固定論理回路を含む。相互接続ロジックが埋込固定論理回路をプログラマブル・ゲートアレイのプログラム可能ロジックファブリックとインターフェイスする。相互接続ロジックを用いることで、あらゆる固定論理回路(たとえばデジタル信号プロセッサ、マイクロプロセッサ、物理層インターフェイス、リンク層インターフェイス、ネットワーク層インターフェイス、音声プロセッサ、映像グラフィックスプロセッサ、および/または特定用途向け集積回路)をプログラマブル・ゲートアレイのプログラム可能ロジックファブリックに埋込むことが可能となる。これに加え、相互接続ロジックを用いることで、固定論理回路とプログラム可能ロジックファブリックとの間に接続を行なって固定論理回路をプログラム可能ロジックファブリックの延長として機能させる。
相互接続ロジックは、相互接続タイルや、固定論理回路と相互接続タイルとの間の相互接続部を含み、さらに追加の構成要素を含む場合もある。相互接続タイルは固定論理回路の入力部および/または出力部と、プログラム可能ロジックファブリックの相互接続部(構成可能論理ブロック「CLB」)との間で選択的な接続を行なう。このような相互接続ロジックを用いることで、任意の固定論理回路を容易にプログラマブル・ゲートアレイの中に埋込みプログラマブル・ゲートアレイのエンドユーザに追加の機能を与えることができる。
図1は、この発明に従い構築された左右対称の集積回路100の一実施例を示すシステム図である。集積回路100は、プログラム可能ロジックファブリック110と、これを取囲むプログラム可能入出力回路120とを含む。さらに、集積回路100は或る数の固定論理回路を含む。これら固定論理回路は、ピンの設定および/またはソフトウェアの設定に基づいて構成可能であるが、プログラム可能ロジックファブリック110のように構成可能なハードウェアロジックを含まない。
プログラム可能ロジックファブリック110の左側部分には或る数の固定論理回路が設けられ、これを固定論理回路131、固定論理回路141、…、および固定論理回路151として示す。同様に、プログラム可能ロジックファブリック110の右側部分にも或る数の固定論理回路が設けられ、これを固定論理回路161、固定論理回路171、…、および固定論理回路181として示す。固定論理回路131,141,…,151,161,171,…,181は各々が相互接続ロジック(それぞれ130,140,…,150,160,170,…,180)によって取囲まれる。これら相互接続ロジックは固定論理回路131,141,…,151,161,171,…,181をプログラム可能ロジックファブリック110に接続するために用いられる。
図1の集積回路は左右対称であり、たとえば集積回路100の両側部分はファブリック110の中心部分に関して少なくとも部分的に対称である。この構成では、集積回路100には、互いに類似の論理ブロック配列を含みかつ類似の動作能力を有する2つの二分割部分がある。さらに集積回路100の両側部分は、構成要素および機能に関して互いをそっくり写したものである場合もある。しかし所与の用途で所望の利益をもたらすようにいくらか異なっていることもある。
図1の集積回路100は、その両側部分の構成要素同士での争いを調停しかつ/またはその動作を連係させる調停部199を含む場合があり、その場合、これら構成要素を連係して動作させ、ファブリック内の共有リソースを効率的に利用させることができる。調停部199は、プログラム可能ロジックファブリック110内で実例として示される単一のユニットまたは複数のユニットを実例とすることができる。調停部199は特にハードウェア、ソフトウェア、またはハードウェアとソフトウェアとを組合せたものとして具体化することができる。
所望に応じ、通常動作の間に集積回路100の両側部分は互いに通信することもまたはしないこともある。このように、集積回路100の両側部分は互いに協働して合同の動作を行なうことも、または独立して動作することもある。集積回路100の両側部分が互いに協働する場合、処理作業を共有させて全体の動作の実行を最適化することができる。集積回路100の両側部分が互いに独立して動作する一動作例では、集積回路100の両側部分は互いの予備としてフェールセーフの態様で冗長的に動作することができる。
図2は、この発明に従い構築された4つの側で対称の集積回路200の一実施例を示すシステム図である。集積回路200は、プログラム可能ロジックファブリック210と、これを取囲むプログラム可能入出力回路220とを含む。さらに、集積回路200は、或る数の固定論理ブロック配列230,240,250,260を含む。上述のように、および後で図3〜8を特定的に参照して説明するように、固定論理ブロック配列230,240,250,260は各々が固定論理回路および相互接続ロジックを含む。固定論理ブロック配列230,240,250,260の各々は、さまざまな動作のうちいずれかを実行し固定の論理構造を有する複数の固定論理回路のうちいずれを含んでもよい。固定論理ブロック配列の各々は、固定の論理機能を有する量子化された設計として見ることができる。固定論理ブロック配列230,240,250,260は、互いと同一であることも、互いと部分的に同一であることも、または互いから完全に異なることもある。
プログラム可能ロジックファブリック210の左上部分には固定論理ブロック配列230が存在し、プログラム可能ロジックファブリック210の左下部分には固定論理ブロック配列240が存在し、プログラム可能ロジックファブリック210の右上部分には固定論理ブロック配列250が存在し、プログラム可能ロジックファブリック210の右下部分には固定論理ブロック配列260が存在する。図2は4つの側で対称の集積回路の一実施例を示す。この対称性は、ファブリック210における4つの部分をサイズ決定する態様(たとえば4つの部分の各々におけるCLBの数)や、ファブリック210の特定の特徴部分に関して開口部を形成する態様や、開口部のサイズ(固定論理ブロック配列によって取って代わられるCLBの数および種類)や、またはその他対称的に互いに関係し得る特徴に関する。
図1に記載した実施例と同様に、所望に応じて、集積回路200を四分割した各部分は互いに通信することもまたはしないこともある。換言すると、これら四分割部分のうちいくつかは、他の四分割部分の冗長的な予備として障害許容性を与えるためのものであり得る。これら4つの四分割部分はすべてが類似の論理ブロック配列を含み得る。たとえば、これら四分割部分は構成要素および機能に関して互いをそっくり写したものである場合もある。しかし所与の用途での所望に応じて異なることもある。これに加え、代替的な実施例では、集積回路200における四分割部分のうち2つ以上が協働して動作する場合における優先度の争いを救済するための調停部299もまた採用する場合がある。
図3は、この発明に従い構築されたn個の側で対称の集積回路300の一実施例を示すシステム図である。集積回路300は図1および図2の一方または両方を拡張したものと
して見ることができる。集積回路300は、プログラム可能ロジックファブリック310と、これを取囲むプログラム可能入出力回路320とを含む。さらに、集積回路300は或る数の固定論理ブロック配列を含む。固定論理ブロック配列は各々が固定論理回路および相互接続ロジックを含み、これにはこの発明のさまざまな実施例のうちの他の実施例で記載のものなどがある。固定論理ブロック配列の各々は、固定の論理機能を有する量子化された設計として見ることができる。
プログラム可能ロジックファブリック310は或る数の扇状部分へ分割される。図に示す特定の分割例では「n」個の扇状部分が設けられる。数「n」個の扇状部分は各々が、固定論理ブロック配列330,340,350,360,370,…,390で示す固定論理ブロック配列を含む。図3の特定の実施例は完全なn個の側での対称ではないが、部分的なn個の側での対称性が与えられている。このような場合、n個の扇状部分のすべてではないがいくつかが互いに対して完全に対称である。しかしn個の扇状部分のすべてが完全に対称なのではない。固定論理ブロック配列330,360(および固定論理ブロック配列370,390)に対応する扇状部分について考察する。これら扇状部分のサイズはほぼ等しく、その形状は対称である。固定論理ブロック配列330,360,370,390が適当な対称性を有する場合、対応する扇状部分は完全にまたは近似的に対称となるであろう。しかしこれら扇状部分の固定論理ブロック配列330,360,370,390が非対称であれば、これら扇状部分の形状が対称性を呈していたとしても全体的には対称ではない。
図1および図2に記載の実施例と同様に、場合によっては集積回路300のn個の扇状部分のうちいくつかは互いに通信する。n個の扇状部分のうちいくつかは他の扇状部分と処理動作を共有し得る。さらに、いくつかの扇状部分は他の扇状部分にフェールセーフの予備的支援を与えるように動作できる。2つ以上の扇状部分は、フェールセーフの予備的支援を与える場合、類似の論理ブロック配列を含むことが典型的である。たとえば、これら扇状部分は構成要素および機能に関して互いをそっくり写したものである場合もある。しかし所与の用途での所望に応じて異なることもある。
図3の実施例では、集積回路300内の扇状部分のうち2つ以上が協働して動作する場合における優先度の争いを救済するための調停部399もまた採用する場合がある。この調停部はハードウェア、ソフトウェア、またはハードウェアとソフトウェアとを組合せたものとして実現可能である。さらに、この調停部399を実現したものは集積回路300全体にわたって分布していてもよい。図3で示す調停部399はn個の扇状部分の各々と直接結合するように存在する。調停部399はこの物理的構造を有する場合もあるが、n個の扇状部分のすべてでなく1つ以上の中に位置付けられてなお集積回路300のn個の扇状部分すべてのために調停部として働くこともあり得る。
図4は、この発明に従い構築された左右対称の集積回路400の別の実施例を示すシステム図である。集積回路400は、プログラム可能入出力部(図4では明示しない)と、これにより取囲まれるプログラム可能ロジックファブリック410とを含む。さらに、集積回路400は2つの固定論理ブロック配列を含み、その各々が固定論理回路および相互接続ロジックを含む。プログラム可能ロジックファブリック410の左側部分の中には相互接続ロジック431で取囲まれる固定論理回路421が位置付けられ、プログラム可能ロジックファブリック410の右側部分の中には相互接続ロジック432で取囲まれる固定論理回路422が位置付けられる。相互接続ロジック431,432は各々がそれぞれの固定論理回路421,422をプログラム可能ロジックファブリック410に接続する。
図4の集積回路400の左右対称性は、固定論理ブロック配列がプログラム可能ロジッ
クファブリック410の中に位置付けられかつこれとインターフェイスする態様に関する。図4の集積回路400の左右対称性はほぼファブリック410の中心線に関するものである。しかし、固定論理ブロック421,422および相互接続ロジック431,432自体はファブリック410の中心線に関して対称でないこともある。図6,7,8を参照してここでさらに説明する特定の一実施例では、固定論理プロセッサが固定論理回路として働き、プログラム可能ロジックファブリック410の中に存在する。ここに記載する特定の実施例では、固定論理プロセッサ自体は単一組のマスクを用いて形成され、ファブリックの中心線に関して対称ではない。しかし実施例によっては、他の固定論理ブロックを対称線に関して対称となるように作製することもまた可能である。
相互接続ロジック431,432は、ブロックRAM441,442,443,444として示すブロックRAMと通信するよう結合する。これらブロックRAMは固定論理回路421,422のためのオンチップメモリ(OCM)として働くものである。したがって、相互接続ロジック431は固定論理ブロック421をブロックRAM441,442,443,444と結合するように働く。もう1つの相互接続ロジック432は固定論理ブロック422をブロックRAM445,446,447,448と結合するように働く。ブロックRAM441〜448は、固定論理回路421,422と、隣接するファブリック410と、プログラム可能ロジックファブリック410の周囲に位置付けられた入出力部とのための専用の記憶機能を行なう。ここに例示するブロックRAM441〜448の構造は利用され得る構造の1つにすぎない。他の構造では、ブロックRAMはプログラム可能ロジックファブリックの他の部分に位置付けられ得るが、なお固定論理ブロック配列により用いられる。このように相互接続ロジック431,432はこれに隣接するブロックRAMにアドレス指定するだけでこれらブロックRAMにアクセスすることができる。
ここに例示した特定の実施例では、固定論理回路421,422は対称にファブリック410とインターフェイスする。たとえば、ブロックRAM441〜448を用いることにおいて、固定論理回路421,422は上方の部分すなわちブロックRAM441,442,445,446をデータの記憶に用い、下方の部分すなわちブロックRAM445,446,447,448を命令の記憶に用いる。換言すると、プログラム可能ロジックファブリック410の上方の部分にあるブロックRAMはデータの記憶専用とされ(データ側)、プログラム可能ロジックファブリック410の下側にあるブロックRAMは命令の記憶専用とされる(命令側)。固定論理回路421は、データおよび命令の所望の処理を実行する際、その相互接続ロジック431を介しブロックRAM441〜444を用いてデータおよび命令を記憶しアクセスする。同様に、固定論理回路422は、データおよび命令の所望の処理を実行する際、その相互接続ロジック431を介しブロックRAM445〜448を用いてデータおよび命令を記憶しアクセスする。
これに加え、固定論理回路421,422の各々は、それぞれの相互接続ロジック431,432を介してファブリック410と少なくとも部分的に対称にインターフェイスする。これはプロセッサ・ローカルバス(PLB)および/またはシリアルバスを介して行なわれる。PLBはPowerPC405または類似のIBMのプロセッサに独自のものである。異なる固定論理プロセッサ、入出力デバイスなどで採用されるバス構造は異なり得る。したがって、PLBバスに関する記載は、固定論理回路をファブリック410にインターフェイスする際にどのように対称性が用いられ得るかについての一例にすぎない。
この特定の実施例では、相互接続ロジック431,432は、PLBのアドレス線、データ線および制御線を、ファブリック410のうち固定論理回路421,422間に存在する中央部分にインターフェイスする。さらに、相互接続ロジック431,432は他の固定論理回路421,422のインターフェイスをファブリック410の外方の部分に向
ける。この外方の部分はファブリック410の中央部分と反対に存在する。相互接続ロジック431,432はPLBインターフェイスおよびその他のインターフェイスをプログラム可能ロジックファブリック410へ、特定の実施例に依存して完全に対称または部分的に対称(中心線として集積回路400の上から下へ延びる対称線に関して)に経路付けることができる。
図4の実施例では、PLBインターフェイスおよびその他のインターフェイスをファブリック410の中まで延びるように示してある。しかし、さらに図6〜8を参照して説明するように、PLBバスの線は実際には、固定論理回路および相互接続ロジックが形成される開口部に隣接する相互接続タイルに向けられる。これら相互接続タイルはプログラム可能ロジックファブリック410のCLBに直接結合する。したがって、プログラム可能ロジックファブリック410へのPLBインターフェイスを表わす矢印は主に、固定論理回路421,422の信号線がそれぞれ相互接続ロジック431,432によりファブリックに対して対称的に向けられる態様を例示するために示したものである。
所望に応じて、集積回路400の両側部分は互いに通信することもまたはしないこともある。すなわち、両側部分は互いのフェールセーフの予備として動作することができる。これら両側部分は類似の論理ブロック配列を両側に含むことができる。たとえばこれら両側部分は、構成要素および機能に関して互いをそっくり写したものである場合もある。しかし所与の用途での所望に応じて異なっていてもよい。これに加え、代替的な実施例では、集積回路400の両側部分が協働して動作する場合における優先度の争いを救済しかつ/または処理負荷を分散させるための調停部499を採用する場合もある。
相互接続ロジック431,432が含む構成要素および機能は先に記載した相互接続ロジックと同様のものであってもよい。しかし、相互接続ロジック431,432は、所与の用途での所望に応じて異なる機能を含む場合もある。最低でも、相互接続ロジック431,432は、固定論理回路421,422とプログラム可能ロジックファブリック410との間で相互接続およびインターフェイスを行なうよう動作可能である。
固定論理回路421,422を対称にファブリック410とインターフェイスすることにより、ファブリック410の構成および利用における効率性が実現される。たとえば、データ側ブロックRAMがファブリック410の上方の部分に位置付けられ、ファブリック410の単一の部分がデータ側ブロックRAM441,442,445,446すべてで用いられるように構成されることがあり得る。同様に、命令側ブロックRAMがファブリック410の下方の部分に位置付けられ、ファブリック410の単一の部分が命令側ブロックRAM443,444,447,448すべてで用いられるように構成されることがあり得る。さらに、両方の固定論理回路421,422がファブリック410の中央部分とインターフェイスし、ファブリック410の単一の部分が両方のPLBインターフェイスで用いられるように構成されることがあり得る。
図5は、この発明に従い構築されたプログラム可能ロジックファブリックの中に設けられた固定論理回路として働くマイクロプロセッサ4個を採用した集積回路の一実施例を示すシステム図である。図5の集積回路500は、この発明に従うプログラム可能ロジックファブリック510の中に存在する4個の固定論理ブロック配列を含む。これら固定論理ブロック配列の各々は、相互接続ロジックにより取囲まれるPowerPC405コア(「405コア」)を含む。具体的に、相互接続ロジック521,522,523,524はそれぞれ405コア511,512,513,514をプログラム可能ロジックファブリック510にインターフェイスする。405コア511,512,513,514の各々は、プログラム可能ロジックファブリック510の中ですぐ上下にあるブロックRAMを用いる。これらブロックRAMは、405コア511,512,513,514のためのオンチップメモリ
(OCM)として働く。ブロックRAMの各々の部分は命令記憶機能、データ記憶機能または命令とデータとの両方の記憶機能を有する。
しかし、図5に例示する特定の実施例では、ブロックRAMは特定の機能を行なうように分離してある。たとえば、ブロックRAM543,544は405コア511および405コア512のためのデータ記憶部として使用される。同様に、ブロックRAM553,554は、405コア513および405コア514のためのデータ記憶部として使用される。プログラム可能ロジックファブリック510の外部分付近のブロックRAMは、405コア511、405コア512、405コア513および405コア514のための命令を記憶する。たとえば、ブロックRAM541,542は405コア511のための命令を記憶し、ブロックRAM545,546は405コア512のための命令を記憶する。同様に、ブロックRAM551,552は405コア513のための命令を記憶し、ブロックRAM555,556は405コア514のための命令を記憶する。405コア511,512,513,514は、スタートアップ/初期化の間、さらにまた通常の動作の間でも、ブロックRAM541,542,545,546,551,552,555,556に記憶された命令を実行する。
405コア511,512,513,514はそれぞれのPLBインターフェイスおよびその他のインターフェイスを用いてプログラム可能ロジックファブリック510とインターフェイスする。相互接続ロジック521,522,523,524はPLBインターフェイスおよびその他のインターフェイスをプログラム可能ロジックファブリック510にインターフェイスする。この特定の実施例では、PLBはファブリック510の中央の領域においてファブリック510へインターフェイスし、左側部分には405コア511および405コア512が、そして右側部分には405コア513および405コア514がある。PLBの各々にファブリック510の中央部分とインターフェイスさせることによって、ファブリックは、405コア511,512,513,514とそれぞれのPLBを介して通信する1つ以上の機能構成要素を含むように効率的に構成可能である。したがって、PLBがプログラム可能ロジックファブリック510とインターフェイスする態様は、集積回路の上から下および左から右に走り集積回路500の中心点を通じて延びる対称線に関して対称である。その他のインターフェイスがプログラム可能ロジックファブリック510にインターフェイスする態様はこれと同一または同様に対称である。図5の構造を変形しても対称性を維持するであろう例としては、たとえば命令側RAMが405コアの外部分の代わりに405コア間に存在するという例があり、この結果としてやはり対称構造が得られるであろう。この明細書を読む者には、図5の構造に変更を加えても結果として部分的または完全な対称性を得ることが可能な例が多数あることが理解されるであろう。
しかし、提示された対称性が単に部分的な場合もある。完全またはほぼ完全な対称性では、PLBインターフェイスおよび/またはその他のインターフェイスの信号線がファブリックと相互結合する態様は、信号線を上から下へ再び順序付けることを必要とするであろう。このように信号線を再び順序付けると、より対称的なインターフェイスは得られるが、インターフェイスがより困難なものとなるおそれがある。上と下とのPLBインターフェイスでPLB信号線を同じく順序付けることにより、各々の固定論理ブロック配列について同じ相互接続タイル設計を用いることでの効率性を得ることができる。さらに、プログラム可能ファブリックにおけるいくらかのリソースに内在的な単方向性が存在する場合もあり、これは信号の或る順序付けをより効率的にする。たとえば、ザイリンクス(Xilinx)社のバーテックス(Virtex)FPGAにおけるキャリー・チェーンは上から下へ走る。固定論理ブロック上のバスがキャリー・チェーンと接続されることを目標とする場合、これが各々すべての固定論理ブロックにおいて同じ順序付けに従う方が適当である。したがって、ここに例示する実施例では、より高いレベルでは完全な対称性が存在する一方で、信号接続レベルでは単に部分的な対称性が存在することになる。図6,7,8につい
ての記述において、固定論理回路の線をプログラム可能ロジックファブリックにインターフェイスする態様についてより詳細な説明を与える。
所望に応じ、集積回路500の両側部分(または四分割した場合での4つの部分)は互いに通信することもまたはしないこともある。換言すると、両側部分(または4つの四分割部分)は互いのフェールセーフの予備として動作することができる。両側部分(または4つの四分割部分)は両方(4つすべて)の側部で類似の論理ブロック配列を含むことができる。たとえば、両側部分(または4つの四分割部分)は、構成要素および機能に関して互いをそっくり写したものである場合もある。しかし、所与の用途での所望に応じて異なっていてもよい。いずれの場合でも、集積回路500の両側部分が協働して動作する場合における優先度の争いを救済するための調停部599を採用する場合がある。
図6は、この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する複数の相互接続タイル/構成可能論理ブロックへインターフェイスされる態様を例示するブロック図である。具体的には405コアのPLB610について説明する。PLB610は複数の構成要素を含み、その各々はNビット幅、たとえば128ビット、64ビット、32ビットなどである。具体的に、PLB610はデータ入力線(DI)、データ出力線(DO)、アドレス線(ADD)および制御線(CNTL)を含む。ここに例示する実施例では、PLB610のDI、DO、ADDおよびCNTLの構成要素は各々が64ビット幅である。しかし実施例によってはこれらの構成要素が異なる幅であることもある。たとえば、特定の一実施例では、DIおよびDOは64ビット幅であり、ADDが32ビット幅であり、CNTLが32ビット幅である。
相互接続ロジックはPLBの信号線を相互接続タイル680,681,682,…,689へ経路付けする。これら相互接続タイルは、プログラム可能ロジックファブリック510の中に形成された開口部に沿って並び、それぞれの405コアを含む固定論理ブロック配列を受ける。405コアは、PLBのDI、DO、ADDおよびCNTLを介してプログラム可能ロジックファブリックと通信する。相互接続ロジックはDI、DO、ADDおよびCNTLを相互接続タイル680〜689に結合する。相互接続タイル680〜689はCLB690〜699と相互結合する。相互接続タイル680〜689は特化されたCLBであるため、相互接続タイル680〜689を相互接続ロジックの一部またはプログラム可能ファブリックの一部のいずれとして見ることもできる。いずれの場合でも、その機能は405コアのPLBをプログラム可能ファブリックのCLBにインターフェイスすることである。
この発明のいくつかの局面はまた、PLBの信号線が相互接続タイル680〜689およびCLB690〜699とインターフェイスする態様に向けられる。図7を参照してさらに説明する特定の一実施例では、PLBの信号線は、図4および図5に示す実施例などのように、相互接続ロジックを介して開口部の単一の辺に隣接する相互接続タイル/CLBのみに結合する。しかし、他の実施例では、PLBの信号線は開口部の二辺以上に存在するCLBに分布する。
図6に例示したように、PLBの信号線、すなわちDI、DO、ADDおよびCNTLは、PLBで用いられる相互接続タイル/CLBに沿って分布する。たとえば、DI、DO、ADDおよびCNTLの各々についての最初の4本の信号線[0:3]は相互接続タイル680を用いるのに対し、DI、DO、ADDおよびCNTLの各々についての最後の4本の信号線[60:63]は相互接続タイル689を用いる。信号インターフェイスをこのように分布させて設計することにより、プログラム可能ファブリックを通じた信号の経路付けを向上させることができ、さらに比較的少数のCLBで405コアの通信需要すべてを満たすことが可能となる。この構造の特定の一応用例では、405コアは941本の
信号線を含む。これら信号線を、405コアおよび相互接続ロジックが存在する開口部に隣接するプログラム可能ロジックファブリックのCLBに分布させることによって、941線の各々の需要がプログラム可能ロジックファブリックにより十分に満たされる。
図7は、この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部の一辺に隣接する複数の相互接続タイル/構成可能論理ブロックにインターフェイスされる態様を例示する部分システム図である。集積回路700の構造は図6と同様である。プログラム可能ロジックファブリックの中に開口部が形成され、固定論理回路710および相互接続ロジック712を含む固定論理ブロック配列を受ける。相互接続ロジック712は、プログラム可能ロジックファブリックのCLB780とインターフェイスする複数の相互接続タイルを含み得る。しかし、先に説明したように、相互接続タイルはプログラム可能ロジックファブリック自体の一部と見ることが可能である。相互接続タイルは特化したCLBだからである。
図7は、固定論理回路710(405コア)および相互接続ロジック712すなわち16×16CLBを受けるように選択された特定の開口部サイズの例を示す。図7の構造では、64ビット幅PLBがプログラム可能ロジックファブリックの単一の辺にインターフェイスされる。図7では、信号線DI[0:63]、DO[0:63]、ADD[0:63]およびCNTL[0:63]を含む64ビットPLBインターフェイスがプログラム可能ロジックファブリックにインターフェイスされる態様を示す。これらバスの信号線は、プログラム可能ロジック内に形成された開口部の右辺に隣接する16個のCLB780および16個の相互接続タイル779に沿って分布させられる。このようにPLB線を開口部に隣接する16個のCLBにわたって分布させることによって、この比較的少数のCLBで、各々64ビット幅の4本のバスの需要を満たすことが可能となる。ここに示すように、開口部の右辺に沿った最初の相互接続タイルは信号DI[0:3]、DO[0:3]、ADD[0:3]およびCNTL[0:3]を受ける。やはりここに示すように、開口部の右辺に沿った最後の相互接続タイルは信号DI[60:63]、DO[60:63]、ADD[60:63]およびCNTL[60:63]を受ける。残りのPLB信号線は、開口部の右辺に隣接するその他14個の相互接続タイルに沿って分布させられる。
この明細書を読む者には理解されるであろうように、需要を満たされる信号線の数が異なる場合、これら信号線の分布は異なってくる。たとえば、DI、DO、ADDおよびCNTLの各々における信号線が32本のみである場合、信号線の或る分布例によると、各々の相互接続タイルはDI、DO、ADDおよびCNTLの各々につき2本の信号線の需要を満たすことになる。これに代えてもっと小さい開口部を形成することもある(ただし、固定論理回路710および相互接続ロジック712に与えられる面積がより小さいと仮定した場合)。たとえば、DI、DO、ADDおよびCNTLの各々が32本の信号線を含んだ場合、例示したのと同様のやり方で8個の相互接続タイルにより32本の信号線の需要を満たすことができる。このような場合、8個の相互接続タイルの各々はDI、DO、ADDおよびCNTLの信号線4本により用いられることになる。
図8は、この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する相互接続タイル/構成可能論理ブロックにインターフェイスされる一態様を例示するブロック図である。図8では、相互接続タイル802はDI[0:3]、DO[0:3]、ADD[0:3]およびCNTL[0:3]を受ける。この相互接続タイルはCLB804に結合する。しかし、相互接続タイル802が対角線上に位置付けられたCLBと通信するように結合する場合もあることは言うまでもない。この特定の実施例では、信号線DI[0:3]、DO[0:3]、ADD[0:3]およびCNTL[0:3]は各々が相互接続タイルに沿って分布する。
図9は、この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する相互接続タイル/構成可能論理ブロックにインターフェイスされる別の態様を例示するブロック図である。図8に例示した構造とは対照的に、図9の構造では、信号DI[0:3]、DO[0:3]、ADD[0:3]およびCNTL[0:3]が相互接続タイル902に沿ってその接続においてグループ化される。しかし相互接続タイル902とCLB904との結合は、相互接続タイル802とCLB804との結合と同じ態様による。
以上に述べたこの発明の詳細な説明および関連の図面を考慮すれば、当業者にはその他の変更例および変形例が明らかとなるであろう。また、このような他の変更例および変形例は、この発明の意味および範囲から逸脱することなく実施可能であることも明らかであろう。
この発明に従い構築された左右対称の集積回路の一実施例を示すシステム図である。 この発明に従い構築された4つの側で対称の集積回路の一実施例を示すシステム図である。 この発明に従い構築されたn個の側で対称の集積回路の一実施例を示すシステム図である。 この発明に従い構築された左右対称の集積回路の別の実施例を示すシステム図である。 この発明に従い構築されたプログラム可能ロジックファブリック内にある固定論理回路として働くマイクロプロセッサ4個を採用した集積回路の一実施例を示すシステム図である。 この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する複数の相互接続タイル/構成可能論理ブロックにインターフェイスされる態様を例示するブロック図である。 この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部の一辺に隣接する複数の相互接続タイル/構成可能論理ブロックにインターフェイスされる態様を例示する部分システム図である。 この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する相互接続タイル/構成可能論理ブロックにインターフェイスされる一態様を例示するブロック図である。 この発明に従い、固定論理回路のプロセッサ・ローカルバスの複数の信号線が、ファブリック内の開口部に隣接する相互接続タイル/構成可能論理ブロックにインターフェイスされる別の態様を例示するブロック図である。

Claims (8)

  1. 集積回路であって、
    ファブリックとなるよう配置された複数の構成可能論理ブロックを備え、ファブリックの中には、構成可能論理ブロックにより取囲まれる開口部が設けられ、集積回路はさらに、
    開口部内に存在する固定論理回路を備え、固定論理回路は複数の入出力線を含み、集積回路はさらに、
    開口部内に存在し、複数の入出力線をファブリックにインターフェイスする相互接続ロジックを備え、
    相互接続ロジックは、複数の入出力線を、開口部の第1の辺に隣接する複数の構成可能論理ブロックに沿って分布させ
    開口部は第1の開口部であり、固定論理回路は第1の固定論理回路であり、複数の入出力線は第1の複数の入出力線であり、相互接続ロジックは第1の相互接続ロジックであり、
    ファブリックの中には、構成可能論理ブロックにより取囲まれる第2の開口部がさらに形成され、
    集積回路は、
    第2の開口部内に存在する第2の固定論理回路をさらに備え、第2の固定論理回路は第2の複数の入出力線を含み、集積回路はさらに、
    第2の開口部内に存在し、第2の複数の入出力線をファブリックにインターフェイスする第2の相互接続ロジックを備え、
    第1の相互接続ロジックおよび第2の相互接続ロジックは、第1の複数の入出力線および第2の複数の入出力線を対称にファブリックにインターフェイスする、集積回路。
  2. 入出力線はアドレス線、データ線および制御線を含み、
    複数の構成可能論理ブロックの各々は、複数の入出力線のうち少なくとも1本のアドレス線、少なくとも1本のデータ線および少なくとも1本の制御線により使用される、請求項1に記載の集積回路。
  3. 第1の開口部はファブリックの第1の側部分の中に存在し、
    第2の開口部はファブリックの第2の側部分の中に存在し、
    ファブリックの第1の側部分およびファブリックの第2の側部分はファブリックの中心線により分割され、
    第1の複数の入出力線および第2の複数の入出力線は、ファブリックの中心線に関して対称にファブリックにインターフェイスされる、請求項に記載の集積回路。
  4. ファブリックは、複数のブロックRAMストリップとなるよう配置されたブロックRAMを含み、
    第1の開口部は、第1のブロックRAMストリップを上方の部分と下方の部分とに二分し、
    第2の開口部は、第2のブロックRAMストリップを上方の部分と下方の部分とに二分し、
    第1および第2のブロックRAMストリップの上方の部分は、それぞれ第1および第2の固定論理回路により命令の記憶に用いられ、
    第1および第2のブロックRAMストリップの下方の部分は、それぞれ第1および第2の固定論理回路によりデータの記憶に用いられる、請求項に記載の集積回路。
  5. ファブリックの中には、各々が構成可能論理ブロックにより取囲まれる第3の開口部および第4の開口部がさらに形成され、
    集積回路は、
    第3の開口部内に存在する第3の固定論理回路をさらに備え、第3の固定論理回路は第3の複数の入出力線を含み、集積回路はさらに、
    第4の開口部内に存在する第4の固定論理回路を備え、第4の固定論理回路は第4の複数の入出力線を含み、集積回路はさらに、
    第3の開口部内に存在し、第3の複数の入出力線をファブリックにインターフェイスする第3の相互接続ロジックと、
    第4の開口部内に存在し、第4の複数の入出力線をファブリックにインターフェイスする第4の相互接続ロジックとを備え、
    第3の相互接続ロジックおよび第4の相互接続ロジックは、第3の複数の入出力線および第4の複数の入出力線を対称にファブリックにインターフェイスする、請求項に記載の集積回路。
  6. ファブリックは、複数のブロックRAMストリップとなるよう配置されたブロックRAMを含み、
    第1の開口部は、第1のブロックRAMストリップを上方の部分と中央部分とに二分し、
    第2の開口部は、第2のブロックRAMストリップを上方の部分と中央部分とに二分し、
    第3の開口部は、第1のブロックRAMストリップを中央部分と下方の部分とに二分し、
    第4の開口部は、第2のブロックRAMストリップを中央部分と下方の部分とに二分し、
    ブロックRAMストリップの上方の部分は、第1および第2の固定論理回路により命令の記憶に用いられ、
    第1および第2のブロックRAMストリップの下方の部分は、それぞれ第3および第4の固定論理回路により命令の記憶に用いられる、請求項に記載の集積回路。
  7. 集積回路を設計する方法であって、
    複数の構成可能論理ブロックをファブリックとなるよう配置する工程と、
    構成可能論理ブロックのうちの一群をファブリックから取除くことにより、ファブリック内に、構成可能論理ブロックにより取囲まれた開口部を形成する工程と、
    開口部内に固定論理回路を置く工程とを備え、固定論理回路は複数の入出力線を含み、方法はさらに、
    開口部内に、複数の入出力線をファブリックにインターフェイスする相互接続ロジックを置く工程を備え、
    相互接続ロジックは、複数の入出力線を、開口部に隣接する複数の構成可能論理ブロックに沿って分布させ
    構成可能論理ブロックのうちの一群は構成可能論理ブロックの第1の群であり、開口部は第1の開口部であり、固定論理回路は第1の固定論理回路であり、複数の入出力線は第1の複数の入出力線であり、相互接続ロジックは第1の相互接続ロジックであり、方法は、
    構成可能論理ブロックのうちの第2の群をファブリックから取除くことにより、ファブリック内に、構成可能論理ブロックにより取囲まれる第2の開口部を形成する工程と、
    第2の開口部内に第2の固定論理回路を置く工程とをさらに備え、第2の固定論理回路は第2の複数の入出力線を含み、方法はさらに、
    第2の開口部内に、第2の複数の入出力線をファブリックにインターフェイスする第2の相互接続ロジックを置く工程を備え、
    第1の相互接続ロジックおよび第2の相互接続ロジックは、第1の複数の入出力線および第2の複数の入出力線を対称にファブリックにインターフェイスする、方法。
  8. 入出力線はアドレス線、データ線および制御線を含み、
    複数の構成可能論理ブロックの各々は、複数の入出力線のうち少なくとも1本のアドレス線、少なくとも1本のデータ線および少なくとも1本の制御線により使用される、請求項に記載の方法。
JP2003572181A 2002-02-25 2003-02-21 埋込固定論理回路を有するプログラマブル・ゲートアレイのフロア計画 Expired - Lifetime JP4115942B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/082,883 US6693452B1 (en) 2002-02-25 2002-02-25 Floor planning for programmable gate array having embedded fixed logic circuitry
PCT/US2003/004955 WO2003073620A1 (en) 2002-02-25 2003-02-21 Floor planning for programmable gate array having embedded fixed logic circuitry

Publications (3)

Publication Number Publication Date
JP2005518749A JP2005518749A (ja) 2005-06-23
JP2005518749A5 JP2005518749A5 (ja) 2006-03-30
JP4115942B2 true JP4115942B2 (ja) 2008-07-09

Family

ID=27765289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003572181A Expired - Lifetime JP4115942B2 (ja) 2002-02-25 2003-02-21 埋込固定論理回路を有するプログラマブル・ゲートアレイのフロア計画

Country Status (6)

Country Link
US (1) US6693452B1 (ja)
EP (1) EP1479165B1 (ja)
JP (1) JP4115942B2 (ja)
CA (1) CA2476175C (ja)
DE (1) DE60332098D1 (ja)
WO (1) WO2003073620A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539900B1 (en) 2003-07-29 2009-05-26 Altera Corporation Embedded microprocessor for integrated circuit testing and debugging
US7885320B1 (en) 2003-09-11 2011-02-08 Xilinx, Inc. MGT/FPGA clock management system
US7308668B2 (en) * 2005-06-30 2007-12-11 International Business Machines Corporation Apparatus and method for implementing an integrated circuit IP core library architecture
EP2186025B1 (en) * 2007-09-10 2019-06-19 ABB Schweiz AG Configuring of intelligent electronic device
US7696782B2 (en) * 2008-02-15 2010-04-13 Broadcom Corporation Programmable core for implementing logic change
US20100277201A1 (en) * 2009-05-01 2010-11-04 Curt Wortman Embedded digital ip strip chip
US10523207B2 (en) * 2014-08-15 2019-12-31 Altera Corporation Programmable circuit having multiple sectors
US10338135B2 (en) 2016-09-28 2019-07-02 Amazon Technologies, Inc. Extracting debug information from FPGAs in multi-tenant environments
US11099894B2 (en) 2016-09-28 2021-08-24 Amazon Technologies, Inc. Intermediate host integrated circuit between virtual machine instance and customer programmable logic
US10162921B2 (en) 2016-09-29 2018-12-25 Amazon Technologies, Inc. Logic repository service
US10250572B2 (en) 2016-09-29 2019-04-02 Amazon Technologies, Inc. Logic repository service using encrypted configuration data
US10282330B2 (en) * 2016-09-29 2019-05-07 Amazon Technologies, Inc. Configurable logic platform with multiple reconfigurable regions
US10642492B2 (en) 2016-09-30 2020-05-05 Amazon Technologies, Inc. Controlling access to previously-stored logic in a reconfigurable logic device
US11115293B2 (en) 2016-11-17 2021-09-07 Amazon Technologies, Inc. Networked programmable logic service provider

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671355A (en) 1992-06-26 1997-09-23 Predacomm, Inc. Reconfigurable network interface apparatus and method
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 信号処理プロセッサ
WO1995004402A1 (en) 1993-08-03 1995-02-09 Xilinx, Inc. Microprocessor-based fpga
DE69430320T2 (de) 1993-12-13 2002-10-10 Lattice Semiconductor Corp., Hillsboro Anwendungsspezifische module in einem programmierbaren logikbaustein
US5752035A (en) 1995-04-05 1998-05-12 Xilinx, Inc. Method for compiling and executing programs for reprogrammable instruction set accelerator
EP0823091A1 (en) 1995-04-28 1998-02-11 Xilinx, Inc. Microprocessor with distributed registers accessible by programmable logic device
US5874834A (en) * 1997-03-04 1999-02-23 Xilinx, Inc. Field programmable gate array with distributed gate-array functionality
US5970254A (en) 1997-06-27 1999-10-19 Cooke; Laurence H. Integrated processor and programmable data path chip for reconfigurable computing
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
US6282627B1 (en) 1998-06-29 2001-08-28 Chameleon Systems, Inc. Integrated processor and programmable data path chip for reconfigurable computing
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
US6353331B1 (en) * 2000-07-10 2002-03-05 Xilinx, Inc. Complex programmable logic device with lookup table
US6522167B1 (en) 2001-01-09 2003-02-18 Xilinx, Inc. User configurable on-chip memory system
US6541991B1 (en) 2001-05-04 2003-04-01 Xilinx Inc. Interface apparatus and method for testing different sized ball grid array integrated circuits
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
JP2005518749A (ja) 2005-06-23
EP1479165A1 (en) 2004-11-24
DE60332098D1 (de) 2010-05-27
CA2476175A1 (en) 2003-09-04
WO2003073620A1 (en) 2003-09-04
US6693452B1 (en) 2004-02-17
EP1479165B1 (en) 2010-04-14
CA2476175C (en) 2009-05-26

Similar Documents

Publication Publication Date Title
JP4115942B2 (ja) 埋込固定論理回路を有するプログラマブル・ゲートアレイのフロア計画
JPH04233326A (ja) 構成可能相互接続構造
US9256575B2 (en) Data processor chip with flexible bus system
EP0824792B1 (en) Floor plan for scalable multiple level interconnect architecture
JP3992148B2 (ja) 大規模でスケーラブルなプロセッサ・システムを構築するための電子回路基板
EP0824791B1 (en) Scalable multiple level interconnect architecture
JP3547168B2 (ja) 構成可能ロジックアレイ
US7420392B2 (en) Programmable gate array and embedded circuitry initialization and processing
CA2458060C (en) Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
JP5583520B2 (ja) 入出力ノードオンチップネットワーク
US7304496B2 (en) Mask-programmable logic device with programmable input/output ports
JPH11503290A (ja) フィールド・プログラマブル・ゲートアレイにおける論理セル及びルーチング・アーキテクチャ
JP2000232162A (ja) プログラマブルロジックlsi
TW567669B (en) Very fine grain field programmable gate array architecture and circuitry
US7414433B2 (en) Interconnect structure enabling indirect routing in programmable logic
US6536030B1 (en) Macroblock for use in layout design of semiconductor integrated circuit, storage medium for storing intellectual property including information on the macroblock, and layout design method using the macroblock
JP5698268B2 (ja) ミラーリングされた相互接続構造を有するプログラマブル集積回路
JP6699249B2 (ja) 半導体装置、情報処理装置、半導体装置の論理の再構成方法および半導体装置の論理の再構成プログラム
JP4491113B2 (ja) 半導体集積回路の設計方法
EP1974285A1 (en) Reconfigurable integrated circuits with scalable architecture including one or more adders
JP2004158752A (ja) メモリマクロおよび半導体集積回路
WO2007056737A2 (en) Reconfigurable processing array having hierarchical communication network
JP2002217709A (ja) プログラマブル論理回路
JP3386004B2 (ja) 半導体集積回路装置
JP2004214369A (ja) 集積回路装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080416

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4115942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120425

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140425

Year of fee payment: 6

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