JP2003523077A - 専用のオンチッププロセッサを用いる複数のfpga構成モードのサポート - Google Patents

専用のオンチッププロセッサを用いる複数のfpga構成モードのサポート

Info

Publication number
JP2003523077A
JP2003523077A JP2001558887A JP2001558887A JP2003523077A JP 2003523077 A JP2003523077 A JP 2003523077A JP 2001558887 A JP2001558887 A JP 2001558887A JP 2001558887 A JP2001558887 A JP 2001558887A JP 2003523077 A JP2003523077 A JP 2003523077A
Authority
JP
Japan
Prior art keywords
configuration
processor
integrated circuit
programmable integrated
program
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
JP2001558887A
Other languages
English (en)
Other versions
JP5183845B2 (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 JP2003523077A publication Critical patent/JP2003523077A/ja
Application granted granted Critical
Publication of JP5183845B2 publication Critical patent/JP5183845B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 FPGAは、FPGAに構成データを読出し、かつFPGAの構成メモリセルへのその構成データのロードを制御するオンチッププロセッサを有する。FPGAの電力投入後、プロセッサは、FPGAの予め定められた端子から構成モードコードを読出す。構成モードコードが第1の値を有するならば、プロセッサは第1の構成プログラムを実行して、構成データが第1の構成モードに従ってFPGAで受取られる。構成モードコードが第2の値を有するならば、プロセッサは第2の構成プログラムを実行して、構成データが第2の構成モードに従ってFPGAで受取られる。構成プログラムはメタルマスクROMにオンチップで記憶することができるので、それらはFPGAの残りの部分を再配置することなしに変更することができる。複数の構成プログラムを設けることにより、FPGAは同じプロセッサハードウェアを用いて複数の構成モードをサポートすることができる。ある構成モードコードによって、プロセッサは構成プログラムをFPGAの外部ソースからFPGAにロードするローダプログラムを実行する。構成プログラムがロードされると、プロセッサは構成プログラムを実行し、それによりFPGAはカスタム構成モードをサポートすることが可能となる。

Description

【発明の詳細な説明】
【0001】
【技術分野】
この発明は、メモリベースのプログラマブルロジックデバイスを構成すること
に関する。より特定的には、この発明は、メモリベースのフィールドプログラマ
ブルゲートアレイ(FPGA)を構成することに関する。
【0002】
【背景情報】
フィールドプログラマブルゲートアレイ(FPGA)は、エンドユーザが所望
のユーザ専用回路を実現するためにカスタマイズ可能である汎用のプログラマブ
ルデバイスである。基本的なデバイスアーキテクチャは、構成可能配線構造に埋
込まれかつ構成可能なI/Cブロック(IOB)によって取囲まれるコンフィギ
ュラブルロジックブロック(CLB)のアレイを含む。各IOBは、出力バッフ
ァ、入力バッファまたは双方向バッファとなるよう構成可能である。IOBは、
入力データを登録し、出力データを登録し、かつ/またはトライステート出力を
与えるよう構成可能である。CLBは、多くのロジック機能の1つを行なうよう
構成可能である。たとえば、CLBは、組合せ論理素子、順次論理素子、ルック
アップテーブル、および/または制御マルチプレクサの組合せを実現するよう構
成されてもよい。所望のユーザ専用の回路を実現するために、エンドユーザは、
複数の構成されたCLBおよび複数の構成されたIOBの回路構成を互いに接続
することにより結果としてできた回路が所望のユーザ専用の回路となるよう構成
可能配線構造を構成する。
【0003】 メモリベースのFPGAと呼ばれるFPGAのあるタイプにおいては、FPG
AのIOB、CLBおよびプログラム可能配線構造は、構成データを関連付けら
れた構成メモリセルにロードすることにより構成される。各IOBおよびCLB
は、関連付けられた構成メモリセルを有し、その内容が、IOBまたはCLBが
どのように構成されるかを決定する。同様に、プログラム可能配線構造は、構成
メモリセルを含む。プログラム可能配線構造は、プログラム可能配線構造におい
てワイヤリングセグメントの接続を制御するプログラム可能点を含む。各プログ
ラム可能配線点は、関連付けられた構成メモリセルによって制御されるパストラ
ンジスタであり得る。パストランジスタの各側のワイヤセグメントは、トランジ
スタが関連付けられた構成メモリセルによってオンにされるかどうかに依存して
接続されたり接続されなかったりする。FPGAに関するさらなる情報は、95
124 カリフォルニア州、サン・ノゼ、ロジック・ドライブ、2100(2100
Logic Drive, San Jose, California 95124)のザイリンクス・インコーポレイ
テッド(Xilinx, Inc.)から入手可能であって、ザイリンクス・インコーポレイ
テッドによる著作権1999年、「プログラマブルロジックデータブック199
9」(“The Programmable Logic Data Book 1999”)に見られる(このデータ
ブックの主題はここに引用により援用される)。
【0004】 構成は、プログラム可能配線構造、IOBおよびCLBを制御する構成メモリ
セルに構成データをロードするプロセスである。ザイリンクス・インコーポレイ
テッドから入手可能なFPGAは、一般的に2つ以上の構成モードをサポートす
る。「マスタシリアルモード」と呼ばれる第1の構成モードにおいて、構成デー
タは典型的には外部ROMなどの外部メモリに記憶される。FPGAは、オンチ
ップの発振器を用いて、構成データの連続ビットが外部メモリのデータ端子に読
出されるようにするクロック信号を放出する。外部メモリのデータ端子は、構成
データの連続ビットが直列の態様で一度に1ビットずつFPGAに読出されるよ
うに、FPGAの入力端子(入力端子となるよう構成されるIOB)に結合され
る。それぞれの構成データビットの各々が書込まれる構成メモリセルは、構成デ
ータビットの直列ストリームにおける構成データビットの場所によって決定され
る。あるモードでは、構成データは、フレームと呼ばれるデータのパケットに分
割される。各フレームが受けられると、それはフレームレジスタが一杯になるま
でフレームレジスタにシフトされる。フレームレジスタ中の構成データは次に、
構成メモリセルの1行に並列にロードされる。この場合には、構成メモリセルは
、2次元アレイとしてロードする目的で編成される。第1のフレームのロードに
続いて、構成データの後続フレームがFPGAにシフトされ、構成メモリセルの
別の行がロードされる。このようにして、構成データは、一度に1ビットずつ直
列の態様でFPGAにロードされるが、構成メモリセルの2次元アレイは並列に
一度に1フレームずつロードされる。
【0005】 構成データをFPGAへ直列の態様でロードすることは、時間がかかり望まし
くないことがある。したがって、ザイリンクスのFPGAは典型的には、「マス
タパラレルモード」と呼ばれる第2の構成モードをサポートする。この第2のモ
ードでは、構成データは、並列の態様で一度に8ビットずつ外部メモリ(たとえ
ばROM)からFPGAにロードされる。FPGAは、22ビットアドレスをF
PGAの22個のアドレス端子(出力端子として用いられる22個のIOB)に
出力する。FPGAのこれらの22個のアドレス端子は、外部ROMの対応の2
2個のアドレス端子に結合される。FPGAがアドレスをインクリメントするこ
とにより、連続した8ビット構成データ値が外部ROMから8個のデータ入力端
子(入力端子として用いられる8個のIOB)でFPGAに読出される。構成デ
ータビットの複数のそのような8ビット値は、構成データのフレームを形成する
よう組立てられる。次に、このフレームの構成データビットは、構成メモリセル
の2次元アレイの行に並列に書込まれる。次に、構成ビットの第2のフレームが
FPGAに読出され、構成メモリセルの2次元アレイの第2の行に並列の形で書
込まれる。このように、構成データビットは、一連の8ビット値としてFPGA
にロードされ、構成メモリセルの2次元アレイには一度に1フレームずつロード
される。
【0006】 後方互換性のために、一般的には、連続したFPGAファミリーの各々が、先
行のファミリーによってサポートされる(「レガシーな構成モード」と呼ばれる
)構成モードをサポートすることが望ましい。新しい構成モードが時々新しいF
PGAファミリーに追加されてもよい。したがって、ますます増えていく「レガ
シーな構成モード」をサポートするためにますます多くのハードウェアが一般的
には必要とされてきている。複数の構成モードをサポートするために必要とされ
るハードウェアの量を低減する解決が所望される。
【0007】
【概要】
複数の構成モードをサポートするために専用のハードワイヤードロジックを用
いるのではなく、この目的のためにFPGA上にプロセッサが設けられる。電力
投入後、プロセッサは、FPGAの予め定められた端子上にある構成モードコー
ドを読出す。これらの端子から読出された構成モードコードは、構成データをF
PGAにロードするために用いられる構成モードを決定する。
【0008】 構成モードコードが第1の値を有するならば、プロセッサは第1のプログラム
を実行する。第1のプログラムの実行により、プロセッサは、第1の構成モード
に従って構成データをFPGA上におよび構成メモリセルにロードするようにF
PGAのIOBおよび他のハードウェアを制御する。一方で、構成モードコード
が第2の値を有するならば、プロセッサは第2のプログラムを実行する。第2の
プログラムの実行により、プロセッサは、第2の構成モードに従って構成データ
をFPGA上におよび構成メモリセルにロードするようにFPGAのIOBおよ
び他のハードウェアを制御する。プロセッサによって実行される第1および第2
のプログラムは、オンチップのメタルマスク・リードオンリメモリ(ROM)に
記憶され得るので、FPGAの残りの部分を再配置することなしに、かつ多くの
コストを招くことなしに、プログラムを変更することができる。同じプロセッサ
上で実行可能な複数の構成プログラムを設けることにより、FPGAは同じプロ
セッサのハードウェアを用いて複数の構成モードをサポートすることができる。
【0009】 ある実施例では、新しくユーザが設けた構成モードがサポートされる。電力投
入後に読出された構成モードコードが特定の値を有するならば、プロセッサはロ
ーダプログラムを実行する。ローダプログラムの実行により、プロセッサは、ユ
ーザ供給構成プログラムがFPGAに読出され、かつプロセッサによって使用さ
れるプログラムメモリにロードされるように、FPGAのIOBを制御する。そ
のようなユーザ供給構成プログラムは、たとえば、一度に8ビットバイトずつF
PGAに読出されてもよい。ユーザ供給構成プログラムがFPGAに読出された
後、ローダプログラムは終了し、プロセッサは新しくロードされた構成プログラ
ムを実行する。新しくロードされた構成プログラムの実行により、構成データは
ユーザ定義の構成モードに従ってFPGAにロードされ構成メモリセルにロード
される。このようにして、FPGAはユーザ定義の構成モードをサポートするよ
うプログラムされる。
【0010】 他の構造および方法が以下の詳細な説明に記載される。この概要は、この発明
を定義することを意図するものでない。この発明は、特許請求の範囲によって定
義される。
【0011】
【詳細な説明】
図1は、この発明の実施例に従うフィールドプログラマブルゲートアレイ(F
PGA)集積回路1の簡素化されたトップダウンの図である。FPGA1は、I
/Oブロック(IOB)2のリングと、4個のコーナブロック(CB)3〜6と
、コンフィギュラブルロジックブロック(CLB)7の、内側2次元アレイと、
プログラム可能配線構造8とを含む。IOB、CLBおよびプログラム可能配線
構造は、構成メモリセルを含み、その内容が、IOB、CLBおよびプログラム
可能配線構造がどのように構成されるかを決定する。これらの構成メモリセルは
、概念上のおよびロードする目的のために、2次元のアレイに編成される。
【0012】 各IOBは、IOBが、FPGA集積回路1に接続がなされる場所を提供する
という意味で端子を含む。この場所は、通常はIOBのボンディングパッドであ
り、ボンディングパッドへの接続は、通常は、ボンディングパッドからFPGA
集積回路1を含む集積回路パッケージへの電気的接続を形成するボンディングワ
イヤである。IOB2、CLB7およびプログラム可能配線構造8の構造および
動作を含む、一般的なFPGA1の構造に関するさらなる情報については、95
124 カリフォルニア州、サン・ノゼ、ロジック・ドライブ、2100のザイ
リンクス・インコーポレイテッドから入手可能な、ザイリンクス・インコーポレ
イテッドによる著作権1999年の「プログラマブルロジックデータブック19
99」、「XC4000EおよびXC4000Xシリーズフィールドプログラマ
ブルゲートアレイ」("XC4000E and XC4000X Series Field Programmable Gate
Arrays")第6−5から6−68頁、を参照されたい(これらのデータブックの
頁の主題はここに引用により援用される)。
【0013】 図1の下部の拡大部に示されるように、コーナブロック5は、プロセッサ9と
、オンチップ発振器10と、いくらかの不揮発性メモリ11(たとえばROMま
たはFLASHメモリ)と、いくらかのランダムアクセスメモリ(RAM)12
と、デコーディング回路13と、構成中に選択されたIOB端子とインターフェ
イスするためのインターフェイスロジック14と、残りのIOB2、CLB7お
よびプログラム可能配線構造8の構成メモリセルとの書込および読出のためのイ
ンターフェイスロジック15とを含む。
【0014】 図2は、この発明の実施例に従う方法のフローチャートである。電力投入後、
不揮発性メモリ11に記憶されたプログラムがRAM12にロードされる。プロ
セッサ9がRAM12の予め定められた場所から第1の命令をフェッチしそこに
記憶されたプログラムの実行を開始するように、プロセッサ9はオンチップ発振
器10からのクロック信号によってクロック動作する。このプログラムの実行に
より、プロセッサ9はロジック14を用いてIOB16〜18の端子に3ビット
の「構成モードコード」を読出す(ステップ200)。これらの端子は、それぞ
れM0、M1およびM2と指定される。構成モードコードは、FPGA1の外部
の手段によってユーザにより端子M0、M1およびM2上に置かれる。
【0015】 構成モードコードが第1の値であるならば、プロセッサ9はRAM12中の第
1の構成モードプログラムを実行し始める(ステップ201)。この構成モード
プログラムは、第1の構成モードをサポートするために適切に構成されるよう複
数のIOBを制御する。これらの特定のIOBは、以下に記載するようにインタ
ーフェイスロジック14を用いてプロセッサ9によってこの態様で構成される。
【0016】 ある例では、<M2:M1:M0>のための第1の構成モードコードは<0:
0:0>であり、第1の構成モードは、ザイリンクスの「プログラマブルロジッ
クデータブック1999」の第6−61頁に述べられる「マスタシリアルモード
」である。したがって、IOB19は、入力直列データのための入力端子DIN
として用いられ、IOB20は、FPGA1からクロック信号CCLKを出力す
るための出力端子として使用される。クロック信号CCLKは、オンチップ発振
器10から生成され、IOB20の端子CCLKを介して直列外部PROM(図
示せず)のクロック入力端子に供給される。FPGAによって出力されたCCL
K信号の連続したクロックパルスの各々により、別の構成データビットが外部P
ROMのデータ出力端子から読出される。このデータ出力端子は、連続した構成
データビットが直列の態様で端子DIN上で受けられるようにFPGAの外部の
接続によりIOB19のDIN端子に結合される。プロセッサ9は、構成データ
のこの入力直列ビットストリームを端子DINから読出し、インターフェイスロ
ジック15を用いて構成データを構成メモリセルに書込む。
【0017】 代替的に、構成データビットは並列に8個のピンに与えられ、フレームの8連
続ビットに並列にロードされる。別の代替として、構成データビットは1個のピ
ンに直列に与えられるが、フレームレジスタにロードするために8ビットの並列
シーケンスに内部で変換される。
【0018】 いずれの場合にも、第1のプログラムにより、プロセッサ9は、入力ビットス
トリームのさまざまな構成データビットを構成ビットのフレームに組立てる。次
に、第1のプログラムにより、フレームのビットは、FPGA1の構成メモリセ
ルの第1の行に並列に書込まれる。次に、プロセッサ9は、端子DINから次の
構成データビットを読出し、これらの構成データビットを別のフレームに組立て
、そしてこの次のフレームをFPGA1の構成メモリセルの第2の行に書込む。
このように、構成データビットは、ソフトウェアの制御下で入力端子DINから
直列の態様でFPGA1にロードされ、第1の構成モードに従って一度に1フレ
ームずつ並列にFPGAの構成メモリセルに書込まれる。
【0019】 一方で、構成モードコードが第2の値であるならば、プロセッサ9は、RAM
12中の第2の構成モードプログラムを実行し始める(ステップ202)。この
構成モードプログラムは、第2の構成モードをサポートするよう複数のIOBを
制御する。ある例では、<M2:M1:M0>のための第2の構成モードコード
は<1:0:0>であり、第2の構成モードは、「プログラマブルロジックデー
タブック1999」の第6−62頁に述べられる「マスタパラレルアップモード
」である。8個のIOB(IOB19および7個の他のIOB)が、構成データ
の8ビットバイトを受けるためのデータ入力端子DI0〜DI7として用いられ
る。IOB21は、FPGAからクロック信号RCLKを出力するための出力端
子RCLKとして使用される。22個の他のIOB(図示せず)が、22ビット
アドレスA0〜A21を出力するために使用される。
【0020】 第2のプログラムの実行により、プロセッサ9は22個のアドレス出力端子A
0〜A21から22ビットアドレスを出力する。このアドレスは、FPGAのR
CLK端子から供給されるクロック信号RCLKの立上がりエッジにおいて有効
である。22ビットアドレスおよびクロック信号RCLKは、アドレスに供給さ
れ、構成データの第1の8ビットバイトが外部PROMの8個のデータ出力端子
に出力されるように外部PROM(図示せず)の端子を可能化する。これらの8
個のデータ出力端子は、FPGA1の8個のデータ入力端子DI0〜DI7に結
合される。プロセッサ9は、インターフェイスロジック14を用いて、データ入
力端子DI0〜DI7から構成データのこのバイトを読出す。次に、プロセッサ
9は22ビットアドレスをインクリメントして、外部PROM中の構成データの
次のバイトをアドレスし、クロック信号RCLKのパルスを取り、FPGA1の
データ入力端子DI0〜DI7から構成データの次のバイトを読出す。このよう
に、プロセッサ9は、22ビットアドレスをインクリメントすることにより外部
PROMから構成データの連続8ビットバイトを読出す。プロセッサ9は、構成
データのこれらのバイトを組立てて構成データのフレームを形成し、そしてFP
GA1の構成メモリセルの第1の行に並列にフレームのビットを書込む。次に、
プロセッサ9は、22ビットアドレスをインクリメントし、構成データの次のバ
イトを受け、その構成データを第2のフレームに組立て、そしてこの第2のフレ
ームをFPGA1の構成メモリセルの第2の行に書込む。このように、構成デー
タビットは、ソフトウェアの制御下で一度に1バイトずつFPGA1にロードさ
れ、第2の構成モードに従って一度に1フレームずつ並列にFPGAの構成メモ
リセルに書込まれる。第1および第2の構成モードのこの例では、構成データは
同じ態様で構成メモリセルに書込まれる。この例では、構成データビットストリ
ームはプロセッサ命令を含まない。
【0021】 構成メモリセルにロードされた後、構成プログラムが実行されることにより、
いわゆる「スタートアップ」シーケンスが生じ、FPGA動作は構成プロセスか
ら意図されたユーザ動作に遷移する。構成データをロードするために用いられた
いずれのIOBも、ユーザ専用回路での使用が可能となり、すべての構成データ
がこれらのIOBによりロードされてしまった構成プロセスの終わりに、その使
用のために構成され得る。そして、IOB22の端子DONE上の信号は、ロー
からハイに遷移し、構成プロセスの完了およびスタートアップシーケンスを示す
。スタートアップシーケンスの一例のさらなる情報については、「プログラマブ
ルロジックデータブック1999」の第6−51から6−54頁を参照されたい
【0022】 図3および図4は、プロセッサ9ならびにその関連付けられたインターフェイ
ス回路14および15のある可能な実現化例のさらなる詳細を示す簡素化された
回路図である。破線の長方形100は、ある構成メモリセルを表わす。この場合
には、構成メモリセルは、プログラム可能配線構造8の構成メモリセルである。
交差結合されたラッチ101が、デジタルの1がパストランジスタ102のゲー
トに存在するようにロードされるならば、構成メモリセルは、ワイヤセグメント
103および104が接続されるように構成される。ラッチ101が、デジタル
の0がパストランジスタ102のゲートに存在するようにロードされるならば、
構成メモリセルは、ワイヤセグメント103および104が接続されないように
構成される。
【0023】 1つのみのそのような構成メモリセル100が図3に示されるが、各々上述の
構成メモリセルの2次元アレイを形成するY行×Xの構成メモリセルがある。構
成メモリセルのいくつかはIOBのためのものであり、いくつかはCLBのため
のものであり、いくつかはプログラム可能配線構造のためのものである。
【0024】 構成メモリセルの各行は、関連付けられるYアドレス線を有する。図3の線1
05は、構成メモリセル100の行と関連付けられるYアドレス線である。各列
は、関連付けられるXアドレス線を有する。図3の線106は、構成メモリセル
100の列と関連付けられるXアドレス線である。デジタルハイが構成メモリセ
ルのXアドレス線上に存在し、かつデジタルハイが構成メモリセルのYアドレス
線上に存在し、かつグローバルイネーブル線107がハイパルスでパルスされる
ならば、構成メモリセルのANDゲート108が、デジタルハイパルスを出力し
、アクセストランジスタ109を可能化する。フレームバッファ110がデジタ
ル値を構成メモリセルのデータ線111に出力するならば、このデジタル値は、
構成メモリセルにロードされ、ラッチにより記憶される。フレームバッファ11
0が出力可能化されなければ、ラッチ101は、記憶された構成データを可能化
されたアクセストランジスタ109を介してデータライン111に出力する。次
に、このデータは、リードバックバッファ112を介してプロセッサ9によって
読出可能となる。
【0025】 メモリセル100は、単一のアクセストランジスタ109を備える5トランジ
スタメモリセルとして図3に示される。他の実施例では、メモリセル100の等
価が6個のトランジスタを使用する、すなわちあるアクセストランジスタがビッ
ト線からラッチ101の一方の端子に接続し、別のアクセストランジスタが横ビ
ット線からラッチ101の相補の端子に接続する。そのような6トランジスタメ
モリセルは周知であるので、ここには説明されない。
【0026】 プロセッサ9は、Yレジスタ113に値を書込むことにより構成メモリセルの
特定の行をアドレスする。この値は、Yアドレス線に出力される複数ビット値に
デコーダ114によりデコードされる。ある実施例では、プロセッサ9は、1行
のみが一度にアドレスされるように、Yレジスタに値を書込む。
【0027】 プロセッサ9は、1つの特定の列、すべての列、または列の任意の組合せを、
適切な値をXレジスタ115に書込むことによりアドレスすることができる。X
レジスタ115中の値が、デコーダ116によってデコードされ、Xアドレス線
に出力される複数ビット値を生成する。構成メモリセルのフレーム全体(1行)
が書込まれるべきならば、すべてのXアドレス線がデジタル1で駆動されるよう
にデコードされる値がXレジスタ115に書込まれる。したがって、1行のうち
のすべてのメモリセルがアドレスされる。(「フレームバッファ」は実際には、
1つが連続8列の各々と関連付けられる、複数の8ビットDINレジスタを含み
得る。同様に、「リードバックバッファ」は実際には、1つが連続8列の各々と
関連付けられる、複数の8ビットDOUTバッファを含み得る。) Yレジスタ113、Xレジスタ115、フレームバッファ110およびリード
バックバッファ112は、対応するアドレスから読出し対応するアドレスに書込
むことにより、プロセッサ9によりアクセスされる。DORDBは、データ出力
(リードバック)バッファ読出ストローブバー(アクティブロー)である。DI
WRBは、データ入力(フレームバッファ)バッファ書込ストローブバー(アク
ティブロー)である。XWRBは、Xレジスタ書込ストローブバー(アクティブ
ロー)である。YWRBは、Yレジスタ書込ストローブバー(アクティブロー)
である。GEは、すべての構成メモリセルに供給されるグローバルイネーブルス
トローブである。プロセッサ9は、メモリ読出ストローブバーMRDB(アクテ
ィブロー)およびメモリ書込ストローブバーMWRB(アクティブロー)を用い
てRAM12にアクセスする。アドレスデコーダ13は、アドレスバス線A0〜
A15上のアドレス、プロセッサ9によって出力される書込ストローブWRB、
プロセッサ9によって出力される読出ストローブRDB、およびプロセッサ9に
よって出力されるプログラムメモリ読出ストローブPSENBを含むアドレス信
号および制御信号を用いてこれらのストローブ信号を生成する。アドレスラッチ
118が、アドレス/データ線AD0〜AD7から下位アドレスをラッチするた
めに設けられる。
【0028】 図4Aは、プロセッサ9が構成プロセス中にIOBから読出し、かつ/または
IOBに書込む、インターフェイスロジック14の簡素化された図である。プロ
セス9は、端子M0、M1およびM2から入力バッファ119および読出ストロ
ーブ信号MPRDB(アクティブロー)により構成モードコードを読出す。プロ
セッサ9は、レジスタ120およびストローブ信号CLKCB(アクティブロー
)により、端子CCLKがクロック信号を出力するかまたはクロック信号を受け
るか、および内部発振器10が可能化されるかを制御する。プロセッサ9は、出
力バッファ122〜124ならびにアドレス出力書込ストローブA0WRB、A
1WRBおよびA2WRB(アクティブロー信号)により端子A0〜A21に2
2ビットアドレスを出力する。プロセッサ9は、入力バッファ121およびデー
タ読出バッファストローブDRDB(アクティブロー)によりデータ入力端子D
0〜D7を読出す。
【0029】 インターフェイスロジック14は、専用のハードウェア(小さく高速であるが
それほど柔軟でない)を用いるか、またはプログラマブルハードウェア(柔軟で
あるが遅くなる)を用いて実現することができる。専用ハードウェアの実施例で
は、図4Aおよび図4Bに示すような回路が、FPGAに専用ハードウェアとし
て設けられる。
【0030】 プログラム可能な実施例では、図4aおよび図4bの回路は、例示されるパッ
ドのそれぞれのIOBにメモリセルをロードして、FPGAの残りの部分の構成
を管理するためにそれらのIOBを構成することにより実現される。モードが、
図4Bのシフトレジスタ44などのより複雑な特徴を使用するならば、配線およ
びCLBもプログラムする必要があるかもしれない。
【0031】 (固定ハードウェアまたはFPGAに構成される構造のいずれかを用いる)直
列入力直列出力インターフェイスについては、図4Bに示すように、回路41は
、データ入力ピンDINから直列ビットストリームを受け、直列出力信号をライ
ンD0に与える。直列入力並列出力インターフェイスについては、第2の回路4
2が、直列ビットストリームを受け、直列ビットストリームはシフトレジスタ4
4を通過し、8個の並列出力信号としてラインD0からD7に周期的に出力され
る。バイト幅転送インターフェイスについては、第3の回路43が、ラインDI
N0からDIN7の8個の並列入力信号を受け、ラインD0からD7に8個の並
列出力信号を与える。
【0032】 図4Aの回路は、外部装置がFPGA内に記憶されたデータをリードバックす
ることを可能にする。図4Aに示す第2の実施例では、端子M0〜M2、CCL
K、D0〜D7およびA0〜A21のIOBが適切に初期化される。第2の実施
例では、この初期化は、構成動作中にそのそれぞれの構成メモリセルデータをF
PGA内の一時記憶装置にロードすることによりソフトウェアの制御下で行なわ
れ、すべての構成データがこれらのIOBによりロードされてしまうと、IOB
は、一時記憶装置からIOB構成メモリセルにデータをロードすることにより、
FPGAの動作中に使用されるように構成される。
【0033】 入力レジスタおよび出力レジスタならびにバッファ119〜124と、これら
のレジスタおよびバッファからプロセッサ9のデータバスおよびデコーダ13へ
の接続とは、構成プログラムの開始時にプログラム可能配線構造のある構成メモ
リセルをプログラムすることにより実現される。図3のXレジスタ115、Yレ
ジスタ113、デコーダ114および116、フレームバッファ(フレームレジ
スタ)110ならびにリードバックバッファ112は、専用のハードワイヤード
ロジックを用いて実現されるのに対し、図4Aのレジスタおよびバッファ119
〜124は、この実施例においては、適切に構成されたCLBの構成可能回路を
用いて実現される。IOB接続のために必要とされる構成ビットを上書きするこ
とを回避するために、プロセッサ9へのIOB接続のために使用されるすべての
構成ビットは最終フレームにおいて構成されなければならないか、または、IO
B接続のための構成ビットは、すべての構成データがこれらのIOBを介してロ
ードされてしまうまで内部FPGAメモリに記憶されなければならない。
【0034】 図5は、別の実施例に従う方法のフローチャートである。電力投入後、プロセ
ッサ9は、端子M0、M1およびM2から構成モードコードを読出す(ステップ
300)。構成モードコードが特定の値を有するならば、プロセッサ9はRAM
12中のローダプログラムを実行する(ステップ301)。このローダプログラ
ムの実行により、プロセッサ9は、構成プログラムがFPGA1に読出されRA
M12にロードされるようにIOBを構成する。構成プログラムは、いくとおり
の態様でFPGAにロードされてもよい。ある態様は、上述の「マスタパラレル
モード」においてなされるように、一度に1バイトずつ外部PROMから構成プ
ログラムを読出すことである。
【0035】 ローダプログラムが構成プログラムをRAM12にロードした後、プロセッサ
9は、新しくロードされた構成プログラムを実行する(ステップ302)。この
構成プログラムの実行により、プロセッサ9は、FPGAに構成データを読出し
、その構成データをFPGAの構成メモリセルにロードして、所望のユーザ専用
回路として使用されるFPGAを構成する。したがって、ユーザは、カスタマイ
ズされた構成プログラムをFPGAにロードし、そしてプロセッサ9にそのカス
タマイズされた構成プログラムを実行させることにより、カスタマイズされた構
成モードを設けることができる。
【0036】 この発明は、教示の目的のためにある種の特定の実施例と関連付けて記載され
るが、この発明はこれに限られるものでない。プロセッサをIOBおよび構成メ
モリセルにインターフェイスするインターフェイスロジック14および15のア
ーキテクチャはある可能な実現化例にすぎない。プロセッサを他のIOB、CL
Bおよびプログラム可能配線構造のアーキテクチャにインターフェイスするため
に、標準のプロセッサ設計技術を用いて他のタイプのインターフェイスロジック
を提供することができる。ある実施例では、そのようなインターフェイス回路は
、「構成ビットストリームにプログラミング命令を有するフィールドプログラマ
ブルゲートアレイ」(“A Field Programmable Gate Array Having Programming
Instructions in the Configuration Bitstream”)と題する米国特許番号5,
892,961号にトリムバーガー(Trimberger)によって述べられるものなど
の行ポインタを含む。この行ポインタは、構成メモリセルの行を指す。行ポイン
タはプロセッサ9の制御下でインクリメント可能である。そのような行ポインタ
は、ある実施例では、シフトレジスタの1ビットが構成メモリセルの1行を特定
するためにデジタルの1を含むシフトレジスタとして実現される。行ポインタは
、シフトレジスタを1ビットシフトすることによりインクリメントされる。
【0037】 構成データをプログラマブルロジックデバイス回路に読出すオンチッププロセ
ッサが、SRAMベースのFPGAアーキテクチャと関連付けて記載されるが、
オンチッププロセッサは、FLASHベースのPLDおよびFPGAを含む他の
メモリベースのプログラマブルロジックデバイスにおいて使用可能である。
【0038】 プロセッサは、上述のような構成プロセスに専用のものとされてもよく、また
は代替的に、プロセッサは、FPGAに構成されるユーザ専用回路において使用
可能である。命令が入力構成データビットストリームに含まれてもよい。これら
の命令は、プロセッサ9のための命令であってもよく、代替的に、実際のプロセ
ッサ命令自体ではないが一連のプロセッサ命令としてプロセッサ9によって行な
われる高次の機能を示す高次の命令であってもよい。したがって、特許請求の範
囲に述べられるこの発明の範囲から逸脱することなしに、さまざまな変形、改造
および記載された実施例のさまざまな特徴の組合せを実施することができる。
【図面の簡単な説明】
【図1】 この発明の実施例に従うフィールドプログラマブルゲートアレイ
(FPGA)の簡素化されたトップダウンの図である。
【図2】 この発明の実施例に従う方法の流れ図である。
【図3】 図1のプロセッサおよびインターフェイス回路の可能な実現化例
の簡素化された回路図である。
【図4A】 図1のプロセッサおよびインターフェイス回路の可能な実現化
例の簡素化された回路図である。
【図4B】 図1のプロセッサおよびインターフェイス回路の可能な実現化
例の簡素化された回路図である。
【図5】 プロセッサが外部ソースからFPGAに構成プログラムをロード
して構成プログラムを実行する、この発明の別の実施例に従う方法の流れ図であ
る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 トリムバーガー,スティーブン・エム アメリカ合衆国、95120 カリフォルニア 州、サン・ノゼ、シャトー・ドライブ、 1261 Fターム(参考) 5F038 DF17 EZ20 5F064 AA08 FF04 FF16 FF36 FF52 5J042 BA09 BA11 CA20 DA01 【要約の続き】 と、プロセッサは構成プログラムを実行し、それにより FPGAはカスタム構成モードをサポートすることが可 能となる。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 プログラム可能集積回路のプログラマブルロジック構造を構
    成する方法であって、前記プログラム可能集積回路は、プログラマブルロジック
    構造と、複数個の端子と、プロセッサと、複数個の構成プログラムとを含み、前
    記方法は、 (a) プロセッサが複数個の端子から複数個の構成モードコードの1つを読
    出し、構成モードコードが複数個の構成プログラムの1つを示すステップと、 (b) プロセッサ上で、プロセッサによって読出された構成モードコードに
    よって決定される複数個の構成プログラムの前記1つを実行し、複数個の構成プ
    ログラムの前記1つの実行により、構成データがプログラム可能集積回路に読出
    されかつプログラマブルロジック構造を構成するステップとを含む、方法。
  2. 【請求項2】 複数個の構成プログラムの前記1つおよびプロセッサは合わ
    せて、第1のフォーマットの構成データがプログラム可能集積回路に読出される
    ようにするための手段であり、複数個の構成プログラムの別のものおよびプロセ
    ッサは合わせて、第2のフォーマットの構成データがプログラム可能集積回路に
    読出されるようにするための手段である、請求項1に記載の方法。
  3. 【請求項3】 複数個の構成プログラムの前記1つおよびプロセッサは合わ
    せて、構成データがプログラム可能集積回路の単一の端子を介して直列の態様で
    プログラム可能集積回路に読出されるようにするための手段であり、複数個の構
    成プログラムの別のものおよびプロセッサは合わせて、構成データがプログラム
    可能集積回路の複数個の端子を介して並列の態様でプログラム可能集積回路に読
    出されるようにするための手段である、請求項1に記載の方法。
  4. 【請求項4】 複数個の構成プログラムの前記1つおよびプロセッサは合わ
    せて、構成データがプログラム可能集積回路の単一の端子を介して直列の態様で
    プログラム可能集積回路に読出され、かつ構成メモリセルに与えるための直列デ
    ータストリームに変換されるようにするための手段である、請求項1に記載の方
    法。
  5. 【請求項5】 複数個の構成プログラムの前記1つおよびプロセッサは合せ
    て、構成データがシフトレジスタの直列入力端子に与えられかつシフトレジスタ
    の並列出力端子に読出されるようにする、請求項4に記載の方法。
  6. 【請求項6】 複数個の構成プログラムの前記1つの実行中に、プロセッサ
    は、プログラム可能集積回路の端子が入力端子としてまたは出力端子として構成
    されるかを制御する、請求項1に記載の方法。
  7. 【請求項7】 プロセッサによる構成モードコードの前記読出は、プログラ
    ム可能集積回路の電力投入後自動的に起こる、請求項1に記載の方法。
  8. 【請求項8】 プログラム可能集積回路を構成する方法であって、前記プロ
    グラム可能集積回路は、プログラマブルロジック構造と、プロセッサと、第1の
    プログラムおよび第2のプログラムを含むメモリとを含み、前記方法は、 構成モードコードをプログラム可能集積回路で受けるステップと、 構成モードコードが第1の値を有するならば、第1のプログラムをプロセッサ
    上で実行して第1のフォーマットの第1の構成データをプログラム可能集積回路
    に読出すステップと、 構成モードコードが第1の値を有するならば、第1の構成データを用いてプロ
    グラマブルロジック構造を構成するステップと、 構成モードコードが第2の値を有するならば、第2のプログラムをプロセッサ
    上で実行して第2のフォーマットの第2の構成データをプログラム可能集積回路
    に読出すステップと、 構成モードコードが第2の値を有するならば、第2の構成データを用いてプロ
    グラマブルロジック構造を構成するステップとを含む、方法。
  9. 【請求項9】 プログラマブルロジック構造と、 少なくとも1つのコード端子と、 第1の構成プログラムおよび第2の構成プログラムを記憶するメモリと、 プロセッサとを含み、前記プロセッサは、少なくとも1つのコード端子を読出
    し、前記コード端子上の構成モードコードに基づいて、第1の構成プログラムを
    実行すべきかまたは第2の構成プログラムを実行すべきかを判断し、第1の構成
    プログラムの実行により、第1の構成データがプログラム可能集積回路に読出さ
    れプログラマブルロジック構造を構成し得、第2の構成プログラムの実行により
    、第2の構成データがプログラム可能集積回路に読出されプログラマブルロジッ
    ク構造を構成し得る、プログラム可能集積回路。
  10. 【請求項10】 第1の構成プログラムを用いてプログラム可能集積回路に
    読出される構成データは、プログラム可能集積回路の単一の端子を介して直列の
    態様でプログラム可能集積回路で受取られ得、第2の構成プログラムを用いてプ
    ログラム可能集積回路に読出される構成データは、プログラム可能集積回路の複
    数個の端子を介して並列の態様でプログラム可能集積回路で受取られ得る、請求
    項9に記載のプログラム可能集積回路。
JP2001558887A 2000-02-07 2001-01-05 専用のオンチッププロセッサを用いる複数のfpga構成モードのサポート Expired - Lifetime JP5183845B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/499,499 2000-02-07
US09/499,499 US6496971B1 (en) 2000-02-07 2000-02-07 Supporting multiple FPGA configuration modes using dedicated on-chip processor
PCT/US2001/000367 WO2001059629A1 (en) 2000-02-07 2001-01-05 Supporting multiple fpga configuration modes using dedicated on-chip processor

Publications (2)

Publication Number Publication Date
JP2003523077A true JP2003523077A (ja) 2003-07-29
JP5183845B2 JP5183845B2 (ja) 2013-04-17

Family

ID=23985488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001558887A Expired - Lifetime JP5183845B2 (ja) 2000-02-07 2001-01-05 専用のオンチッププロセッサを用いる複数のfpga構成モードのサポート

Country Status (6)

Country Link
US (1) US6496971B1 (ja)
EP (1) EP1256075B1 (ja)
JP (1) JP5183845B2 (ja)
CA (1) CA2399384C (ja)
DE (1) DE60100476T2 (ja)
WO (1) WO2001059629A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005297561A (ja) * 2004-04-15 2005-10-27 Agilent Technol Inc プログラマブル・インタフェース
JP2013217865A (ja) * 2012-04-11 2013-10-24 Taiyo Yuden Co Ltd 再構成可能な半導体装置
KR20160133546A (ko) * 2014-03-18 2016-11-22 인터내셔널 비지네스 머신즈 코포레이션 컴퓨팅 시스템에서 아키텍처 모드 구성

Families Citing this family (112)

* 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
JP3961028B2 (ja) 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US7003593B2 (en) * 1997-12-17 2006-02-21 Src Computers, Inc. Computer system architecture and memory controller for close-coupling within a hybrid processing system utilizing an adaptive processor interface port
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US7146441B1 (en) * 1998-03-16 2006-12-05 Actel Corporation SRAM bus architecture and interconnect to an FPGA
WO2000077652A2 (de) 1999-06-10 2000-12-21 Pact Informationstechnologie Gmbh Sequenz-partitionierung auf zellstrukturen
US6675306B1 (en) * 2000-03-10 2004-01-06 Ricoh Company Ltd. Method and apparatus for phase-lock in a field programmable gate array (FPGA)
EP2226732A3 (de) 2000-06-13 2016-04-06 PACT XPP Technologies AG Cachehierarchie für einen Multicore-Prozessor
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
ITRM20010298A1 (it) * 2001-05-31 2002-12-02 Micron Technology Inc Interfaccia di comando di utilizzatore con decodificatore programmabile.
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and 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
EP1402382B1 (de) 2001-06-20 2010-08-18 Richter, Thomas Verfahren zur bearbeitung von daten
US6912706B1 (en) * 2001-08-15 2005-06-28 Xilinx, Inc. Instruction processor and programmable logic device cooperative computing arrangement and method
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
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
GB2382175A (en) * 2001-11-20 2003-05-21 Hewlett Packard Co Reconfigurable processor
DE10392560D2 (de) 2002-01-19 2005-05-12 Pact Xpp Technologies Ag Reconfigurierbarer Prozessor
DE10390689D2 (de) 2002-02-18 2005-02-10 Pact Xpp Technologies Ag 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
US7047465B1 (en) 2002-02-28 2006-05-16 Xilinx, Inc. Methods for using defective programmable logic devices by customizing designs based on recorded defects
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7406573B2 (en) * 2002-05-09 2008-07-29 Src Computers, Inc. Reconfigurable processor element utilizing both coarse and fine grained reconfigurable elements
US20030212853A1 (en) * 2002-05-09 2003-11-13 Huppenthal Jon M. Adaptive processor architecture incorporating a field programmable gate array control element having at least one embedded microprocessor core
FI20021379A (fi) * 2002-07-12 2004-01-13 Plustech Oy Sahalaitteisto ja sen turvajärjestelmä katkeavan sahaketjun varalle
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
AU2003289844A1 (en) 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US6891753B2 (en) * 2002-09-24 2005-05-10 Sandisk Corporation Highly compact non-volatile memory and method therefor with internal serial buses
US6983428B2 (en) 2002-09-24 2006-01-03 Sandisk Corporation Highly compact non-volatile memory and method thereof
FI115256B (fi) * 2002-11-08 2005-03-31 Nokia Corp Suljetun järjestelmän toimintotietojen määrittäminen
US7283591B2 (en) * 2003-03-28 2007-10-16 Tarari, Inc. Parallelized dynamic Huffman decoder
US7237106B1 (en) * 2003-07-18 2007-06-26 Altera Corporation System for loading configuration data into a configuration word register by independently loading a plurality of configuration blocks through a plurality of configuration inputs
US7170315B2 (en) 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
EP1676208A2 (en) 2003-08-28 2006-07-05 PACT XPP Technologies AG Data processing device and method
US7086025B1 (en) * 2003-10-23 2006-08-01 Adaptec, Inc. Programmable logic device partitioning method for application specific integrated circuit prototyping
US7653820B1 (en) * 2003-10-31 2010-01-26 Xilinx, Inc. System and method for securing using decryption keys during FPGA configuration using a microcontroller
US7219325B1 (en) 2003-11-21 2007-05-15 Xilinx, Inc. Exploiting unused configuration memory cells
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US8183881B1 (en) 2004-03-29 2012-05-22 Xilinx, Inc. Configuration memory as buffer memory for an integrated circuit
US7353374B1 (en) * 2004-06-22 2008-04-01 Xilinx, Inc. Integrated circuit with supervisory control circuit
US7853799B1 (en) * 2004-06-24 2010-12-14 Xilinx, Inc. Microcontroller-configurable programmable device with downloadable decryption
US7623660B1 (en) 2004-07-20 2009-11-24 Xilinx, Inc. Method and system for pipelined decryption
US7328335B1 (en) * 2004-10-01 2008-02-05 Xilinx, Inc. Bootable programmable logic device for internal decoding of encoded configuration data
US7284229B1 (en) 2004-10-01 2007-10-16 Xilinx, Inc. Multiple bitstreams enabling the use of partially defective programmable integrated circuits while avoiding localized defects therein
US7689726B1 (en) 2004-10-01 2010-03-30 Xilinx, Inc. Bootable integrated circuit device for readback encoding of configuration data
US7412635B1 (en) 2004-10-01 2008-08-12 Xilinx, Inc. Utilizing multiple bitstreams to avoid localized defects in partially defective programmable integrated circuits
US7424655B1 (en) 2004-10-01 2008-09-09 Xilinx, Inc. Utilizing multiple test bitstreams to avoid localized defects in partially defective programmable integrated circuits
US7251804B1 (en) 2004-10-01 2007-07-31 Xilinx, Inc. Structures and methods of overcoming localized defects in programmable integrated circuits by routing during the programming thereof
US7149997B1 (en) * 2004-10-15 2006-12-12 Xilinx, Inc. Routing with frame awareness to minimize device programming time and test cost
US7314174B1 (en) * 2004-10-22 2008-01-01 Xilinx, Inc. Method and system for configuring an integrated circuit
US7332976B1 (en) * 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
JP4940464B2 (ja) * 2005-09-16 2012-05-30 独立行政法人産業技術総合研究所 ネットワーク機器試験装置
US7282949B2 (en) * 2005-09-30 2007-10-16 International Business Machines Corporation FPGA powerup to known functional state
US7304493B2 (en) * 2005-09-30 2007-12-04 International Business Machines Corporation FPGA powerup to known functional state
FR2895106A1 (fr) 2005-12-20 2007-06-22 Thomson Licensing Sas Procede de telechargement d'un fichier de configuration dans un circuit programmable, et appareil comportant ledit composant.
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US8407658B2 (en) 2007-02-01 2013-03-26 International Business Machines Corporation Methods, systems, and computer program products for using direct memory access to initialize a programmable logic device
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US9564902B2 (en) * 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US7810059B1 (en) 2007-10-11 2010-10-05 Xilinx, Inc. Methods of enabling the validation of an integrated circuit adapted to receive one of a plurality of configuration bitstreams
US7853916B1 (en) 2007-10-11 2010-12-14 Xilinx, Inc. Methods of using one of a plurality of configuration bitstreams for an integrated circuit
US7619438B1 (en) 2007-10-11 2009-11-17 Xilinx, Inc. Methods of enabling the use of a defective programmable device
US7974124B2 (en) 2009-06-24 2011-07-05 Sandisk Corporation Pointer based column selection techniques in non-volatile memories
US20110082994A1 (en) * 2009-10-06 2011-04-07 Utah State University Accelerated relocation circuit
CN102622044B (zh) * 2011-01-28 2014-04-02 微盟电子(昆山)有限公司 主机板及其pcie端口动态配置方法
JP2013030906A (ja) * 2011-07-27 2013-02-07 Fujitsu Ltd プログラマブルロジックデバイス
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
CN102662780B (zh) * 2012-03-22 2015-06-10 中兴通讯股份有限公司 多可编程器件***中电源保护方法及装置
JP5890733B2 (ja) * 2012-04-09 2016-03-22 太陽誘電株式会社 再構成可能な半導体装置の配置配線方法、そのプログラム、及び配置配線装置
US10270709B2 (en) 2015-06-26 2019-04-23 Microsoft Technology Licensing, Llc Allocating acceleration component functionality for supporting services
US9754133B2 (en) * 2013-03-14 2017-09-05 Microchip Technology Incorporated Programmable device personalization
US9916185B2 (en) 2014-03-18 2018-03-13 International Business Machines Corporation Managing processing associated with selected architectural facilities
US9588774B2 (en) * 2014-03-18 2017-03-07 International Business Machines Corporation Common boot sequence for control utility able to be initialized in multiple architectures
US9792154B2 (en) 2015-04-17 2017-10-17 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
US10511478B2 (en) 2015-04-17 2019-12-17 Microsoft Technology Licensing, Llc Changing between different roles at acceleration components
US10296392B2 (en) 2015-04-17 2019-05-21 Microsoft Technology Licensing, Llc Implementing a multi-component service using plural hardware acceleration components
US10198294B2 (en) 2015-04-17 2019-02-05 Microsoft Licensing Technology, LLC Handling tenant requests in a system that uses hardware acceleration components
US10216555B2 (en) 2015-06-26 2019-02-26 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
US9819542B2 (en) 2015-06-26 2017-11-14 Microsoft Technology Licensing, Llc Configuring acceleration components over a network
US11119835B2 (en) 2017-08-30 2021-09-14 Intel Corporation Technologies for providing efficient reprovisioning in an accelerator device
CN108536455B (zh) * 2018-03-06 2021-08-27 湖南汉拓物联科技有限公司 芯片控制方法及终端设备
CN109783434B (zh) * 2018-10-25 2023-05-09 西安空间无线电技术研究所 低代价高可靠的星载单机多片sram型fpga在轨重构***及方法
KR20200053886A (ko) 2018-11-09 2020-05-19 삼성전자주식회사 뉴럴 프로세싱 유닛, 뉴럴 프로세싱 시스템, 및 어플리케이션 시스템
CN112532207B (zh) * 2020-11-19 2024-01-26 浙江集速合芯科技有限公司 一种片上可变滤波器快速调谐的方法
EP4198750A1 (de) * 2021-12-17 2023-06-21 dSPACE GmbH Verfahren zur datenkommunikation zwischen teilbereichen eines fpgas

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240561A (ja) * 1997-02-27 1998-09-11 Kokusai Electric Co Ltd Fpgaブート用エミュレータ及びfpgaブート方法
JPH118547A (ja) * 1997-06-17 1999-01-12 Fuji Xerox Co Ltd 再構成可能演算装置
JPH1174360A (ja) * 1997-08-27 1999-03-16 Nec Kansai Ltd 半導体論理回路装置
JPH11122095A (ja) * 1997-10-09 1999-04-30 Hitachi Ltd データ処理装置
JPH11214520A (ja) * 1998-01-22 1999-08-06 Advantest Corp 半導体集積回路

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321840A (en) * 1988-05-05 1994-06-14 Transaction Technology, Inc. Distributed-intelligence computer system including remotely reconfigurable, telephone-type user terminal
US5109503A (en) 1989-05-22 1992-04-28 Ge Fanuc Automation North America, Inc. Apparatus with reconfigurable counter includes memory for storing plurality of counter configuration files which respectively define plurality of predetermined counters
US5438672A (en) 1990-12-18 1995-08-01 National Semiconductor Corporation Microcontroller emulator for plural device architecture configured by mode control data and operated under control code transmitted via same switching bus
US5263168A (en) * 1991-06-03 1993-11-16 Motorola, Inc. Circuitry for automatically entering and terminating an initialization mode in a data processing system in response to a control signal
US5479618A (en) * 1991-07-24 1995-12-26 Allen-Bradley Company, Inc. I/O module with reduced isolation circuitry
JPH07154241A (ja) * 1993-11-29 1995-06-16 Olympus Optical Co Ltd プログラマブル集積回路を用いた電子回路
US5892961A (en) 1995-02-17 1999-04-06 Xilinx, Inc. Field programmable gate array having programming instructions in the configuration bitstream
WO1996034346A1 (en) * 1995-04-28 1996-10-31 Xilinx, Inc. Microprocessor with distributed registers accessible by programmable logic device
US5646545A (en) 1995-08-18 1997-07-08 Xilinx, Inc. Time multiplexed programmable logic device
US5794033A (en) * 1995-10-24 1998-08-11 International Business Machines Corporation Method and system for in-site and on-line reprogramming of hardware logics with remote loading in a network device
US5956518A (en) * 1996-04-11 1999-09-21 Massachusetts Institute Of Technology Intermediate-grain reconfigurable processing device
US6178494B1 (en) * 1996-09-23 2001-01-23 Virtual Computer Corporation Modular, hybrid processor and method for producing a modular, hybrid processor
US6134707A (en) * 1996-11-14 2000-10-17 Altera Corporation Apparatus and method for in-system programming of integrated circuits containing programmable elements
US6078736A (en) * 1997-08-28 2000-06-20 Xilinx, Inc. Method of designing FPGAs for dynamically reconfigurable computing
US6141756A (en) * 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
US6255849B1 (en) * 2000-02-04 2001-07-03 Xilinx, Inc. On-chip self-modification for PLDs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240561A (ja) * 1997-02-27 1998-09-11 Kokusai Electric Co Ltd Fpgaブート用エミュレータ及びfpgaブート方法
JPH118547A (ja) * 1997-06-17 1999-01-12 Fuji Xerox Co Ltd 再構成可能演算装置
JPH1174360A (ja) * 1997-08-27 1999-03-16 Nec Kansai Ltd 半導体論理回路装置
JPH11122095A (ja) * 1997-10-09 1999-04-30 Hitachi Ltd データ処理装置
JPH11214520A (ja) * 1998-01-22 1999-08-06 Advantest Corp 半導体集積回路

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005297561A (ja) * 2004-04-15 2005-10-27 Agilent Technol Inc プログラマブル・インタフェース
JP2013217865A (ja) * 2012-04-11 2013-10-24 Taiyo Yuden Co Ltd 再構成可能な半導体装置
KR20160133546A (ko) * 2014-03-18 2016-11-22 인터내셔널 비지네스 머신즈 코포레이션 컴퓨팅 시스템에서 아키텍처 모드 구성
KR101884544B1 (ko) * 2014-03-18 2018-08-01 인터내셔널 비지네스 머신즈 코포레이션 컴퓨팅 시스템에서 아키텍처 모드 구성

Also Published As

Publication number Publication date
DE60100476T2 (de) 2004-04-15
EP1256075A1 (en) 2002-11-13
EP1256075B1 (en) 2003-07-16
US6496971B1 (en) 2002-12-17
CA2399384A1 (en) 2001-08-16
JP5183845B2 (ja) 2013-04-17
CA2399384C (en) 2008-03-04
WO2001059629A1 (en) 2001-08-16
DE60100476D1 (de) 2003-08-21

Similar Documents

Publication Publication Date Title
JP5183845B2 (ja) 専用のオンチッププロセッサを用いる複数のfpga構成モードのサポート
US6255848B1 (en) Method and structure for reading, modifying and writing selected configuration memory cells of an FPGA
US6278289B1 (en) Content-addressable memory implemented using programmable logic
US6429682B1 (en) Configuration bus interface circuit for FPGAs
US6748456B1 (en) PLD configuration port architecture and logic
JP5048972B2 (ja) プログラマブル・デバイスの構成エラー検出の偽陽性の低減
US7653895B1 (en) Memory arrangement for message processing by a plurality of threads
US7143332B1 (en) Methods and structures for providing programmable width and error correction in memory arrays in programmable logic devices
JP6517626B2 (ja) 再構成可能な半導体装置
US7489163B2 (en) FPGA powerup to known functional state
US7454556B1 (en) Method to program non-JTAG attached devices or memories using a PLD and its associated JTAG interface
JPH11353300A (ja) 半導体素子のためのプログラム可能ピンの指定
JP6564186B2 (ja) 再構成可能な半導体装置
WO2014080872A2 (ja) 再構成可能な半導体装置の論理構成方法
US20070171101A1 (en) Reconfigurable switching device parallel calculation of any particular algorithms
JPWO2014163099A1 (ja) 再構成可能な論理デバイス
US7683660B1 (en) Programmable logic device with a microcontroller-based control system
US6078735A (en) System and method for generating memory initialization logic in a target device with memory initialization bits from a programmable logic device
JP2005044329A (ja) 半導体集積回路
US6665766B1 (en) Adaptable configuration interface for a programmable logic device
JP4468452B2 (ja) グローバルセルオートマトンを組み込むためのリコンフィギュアラブルなアーキテクチャをもつコンピュータ装置
JPH1117524A (ja) プログラマブル論理回路システムおよびプログラマブル論理回路装置の再構成方法
US7908465B1 (en) Hardware emulator having a selectable write-back processor unit
JP2016152523A (ja) 再構成可能な論理デバイス
Sundararajan et al. XVPI: A portable hardware/software interface for virtex

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110714

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111115

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111122

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20111216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130116

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5183845

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

Year of fee payment: 3

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