JP2001028536A - プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路の再構成方法、プログラマブル論理回路装置用の回路情報の圧縮方法 - Google Patents

プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路の再構成方法、プログラマブル論理回路装置用の回路情報の圧縮方法

Info

Publication number
JP2001028536A
JP2001028536A JP11199964A JP19996499A JP2001028536A JP 2001028536 A JP2001028536 A JP 2001028536A JP 11199964 A JP11199964 A JP 11199964A JP 19996499 A JP19996499 A JP 19996499A JP 2001028536 A JP2001028536 A JP 2001028536A
Authority
JP
Japan
Prior art keywords
circuit
information
circuit information
programmable logic
frame
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
JP11199964A
Other languages
English (en)
Other versions
JP3743487B2 (ja
Inventor
Yoshio Nishihara
義雄 西原
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP19996499A priority Critical patent/JP3743487B2/ja
Priority to US09/585,447 priority patent/US6304101B1/en
Publication of JP2001028536A publication Critical patent/JP2001028536A/ja
Application granted granted Critical
Publication of JP3743487B2 publication Critical patent/JP3743487B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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]
    • 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
    • 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/17758Structural details of configuration resources for speeding up configuration or reconfiguration
    • 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

Landscapes

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

Abstract

(57)【要約】 【課題】 回路性能の低下、消費電力の増加、製造工程
の増加、製造コストの増加などをもたらす複数の回路情
報を格納するコンフィギュレーションメモリを用いるこ
となく、マルチコンテキスト技術と同等技術を実現す
る。 【解決手段】 プログラマブル論理回路装置に、コンフ
ィギュレーションメモリとは別の回路情報記憶手段10
2と、この回路情報記憶手段に記憶された回路情報を用
いて、指定された回路の回路情報を生成する回路情報編
集手段103とを設けておく。回路情報記憶手段には、
複数個の回路の回路情報を圧縮した状態で格納するよう
にする。プログラマブル論理回路部104に再構成する
回路の回路情報の指定情報が入力されたときに、回路情
報編集手段で、回路情報記憶手段から必要な回路情報を
読み出し、圧縮を解凍して、指定情報で指定された回路
情報を生成し、その生成した回路情報をコンフィギュレ
ーションメモリ106に転送して、回路を再構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、例えばアプリケ
ーションプログラムによる処理の一部分を分担するため
に、複数個の回路が順次に再構成されるように用いられ
る場合に好適なプログラマブル論理回路装置に関する。
特に、プログラマブル論理回路装置の再構成時間を短縮
する方法に関する。
【0002】
【従来の技術】デジタル回路装置の分野において、フィ
ールドプログラマブルゲートアレイ(FPGA)やプロ
グラマブルロジックデバイス(PLD)などのプログラ
マブル論理回路装置が、特定用途向け集積回路(ASI
C)を作成する前の試作デバイスとして、または、数週
間から数ヶ月という長い作製期間を要するASICの代
替デバイスとして使われてきた。また、最近では、回路
装置作成後に仕様を変更したり、回路を修正することを
可能にするために、プログラマブル論理回路装置が使わ
れている。
【0003】一般的なプログラマブル論理回路装置の構
造を図22に示す。プログラマブル論理回路装置1は、
回路情報を外部から読み込む回路情報入力制御部2と、
読み込まれた回路情報に従って回路機能を実現するプロ
グラマブル論理回路部3とから構成される。
【0004】さらに、プログラマブル論理回路部3の詳
細な構造は、図23に示すように、回路素子4と、回路
素子4に接続するコンフィギュレーションメモリ5とか
ら構成される。回路素子4は、入出力部、論理回路セ
ル、配線部からなるが、この回路素子4の接続形態によ
り、プログラマブル論理回路装置は、FPGA型とCP
LD型とに分けられる。
【0005】FPGA型のプログラマブル論理回路部3
Aは、図24(A)に示すように、2次元格子状に配列
された論理回路セル6Aが、配線部7Aにより相互に接
続される。また、全体として矩形の配線部7Aの四辺に
接続された入出力部8Aを介して外部と信号の入出力を
行う。
【0006】また、CPLD型のプログラマブル論理回
路部3Bは、図24(B)に示すように、入出力部8B
と論理回路セル6Bが、ツリー構造状に配線部7Bに接
続される。
【0007】いずれの構造においても、プログラマブル
論理回路装置1に読み込まれた回路情報は、回路情報入
力制御部2によってコンフィギュレーションメモリ5に
書き込まれる。コンフィギュレーションメモリ5に書き
込まれた回路情報に従って、回路素子の機能と結線状態
が決められる。この操作をプログラマブル論理回路装置
の再構成またはコンフィギュレーションと呼ぶ。
【0008】[リコンフィギュラブルコンピューティン
グ技術の説明]ところで、最近では、アプリケーション
の処理に合わせた専用の処理回路を用いたハードウエア
処理により、汎用プロセッサを用いたソフトウエア処理
よりも高速な処理を実現するというリコンフィギュラブ
ルコンピューティングの分野で、プログラマブル論理回
路装置が活用され始めている。
【0009】リコンフィギュラブルコンピューティング
では、アプリケーション処理で必要となる複数の処理回
路の回路情報を外部記憶装置へ事前に格納しておき、必
要に応じて、その外部記憶装置から読み出した回路情報
を、プログラマブル論理回路装置内のコンフィギュレー
ションメモリに書き込むことで、必要とする回路をプロ
グラマブル論理回路装置上に実現する。
【0010】この技術は、必要な回路情報をプログラマ
ブル論理回路装置の外部に退避しておくという観点か
ら、キャッシュロジック技術と呼ばれたり、回路情報を
書き替えることにより、実際のプログラマブル論理回路
部の回路規模よりも大きな規模の回路を実現できるとい
う観点から、バーチャルロジック技術と呼ばれている。
以下の説明では、簡単のため、これらの技術を総称し
て、キャッシュロジック技術と呼ぶことにする。
【0011】キャッシュロジック技術は、同じプログラ
マブル論理回路装置上に、必要に応じて異なる回路を構
成するという時分割駆動技術である。その結果、回路規
模の小さなプログラマブル論理回路装置を用いて、その
回路規模以上の回路を実現でき、回路装置の小型化と低
コスト化が可能となる。
【0012】しかしながら、プログラマブル論理回路装
置のコンフィギュレーションメモリに書き込む回路情報
の規模によっては、外部記憶装置からプログラマブル論
理回路装置のコンフィギュレーションメモリに回路情報
を書き込む時間が長くなり、専用のハードウエア処理回
路を用いて高速処理を実現しても、回路再構成時間を含
めた全体の処理時間が、ソフトウエア処理時間よりも長
くなるという問題がある。
【0013】この問題のひとつの解決方法が、マルチコ
ンテキスト技術と呼ばれるデバイス技術である。すなわ
ち、マルチコンテキスト技術においては、プログラマブ
ル論理回路装置内に複数の回路情報を格納することがで
きるように、複数個のコンフィギュレーションメモリを
設け、必要に応じてコンフィギュレーションメモリを切
り替えることにより、プログラマブル論理回路装置に回
路を再構成することで、回路の再構成時間を大幅に短縮
する。
【0014】[マルチコンテキスト技術によるプログラ
マブル論理回路装置の説明]マルチコンテキスト技術に
よるプログラマブル論理回路装置の構造を、図25に示
す。マルチコンテキスト技術によるプログラマブル論理
回路装置10は、複数の回路情報を外部から読み込む回
路情報入力制御部11と、複数の回路情報から必要な回
路情報を選択する回路情報選択制御部12と、選択され
た回路情報に従って回路機能を実現するプログラマブル
論理回路部13から構成される。
【0015】このマルチコンテキスト技術によるプログ
ラマブル論理回路部13の詳細な構造は図26に示すよ
うなものとなり、プログラマブル論理回路部13は、前
述の場合と同様に、入出力部、論理回路セル、配線部か
らなる回路素子14と、この回路素子14に接続するコ
ンフィギュレーションメモリ15とから構成されるが、
このマルチコンテキスト技術によるプログラマブル論理
回路部13の場合のコンフィギュレーションメモリ15
は、複数個のメモリプレーンで構成される。
【0016】そして、このマルチコンテキスト技術によ
るプログラマブル論理回路部13の場合には、FPGA
型とCPLD型(図24参照)とのいずれの構造におい
ても、プログラマブル論理回路装置10に外部から読み
込まれた複数の回路情報は、回路情報入力制御部11に
よってコンフィギュレーションメモリ15の各メモリプ
レーンに一つの回路情報が書き込まれる状態で書き込ま
れる。
【0017】そして、コンフィギュレーションメモリ1
5の複数個のメモリプレーンに書き込まれた複数の回路
情報のうち、回路情報選択制御部12からの選択信号に
より選択されたメモリプレーンの回路情報に従って、回
路素子14の機能と結線状態が決められて、プログラマ
ブル論理回路装置10に回路が再構成される。
【0018】ところで、プログラマブル論理回路装置で
用いられる回路情報の形式には、シリアル形式とパラレ
ル形式とがあり、これら2つの回路情報形式によって、
コンフィギュレーション動作が異なる。そこで、以下
に、図22のプログラマブル論理回路装置1と、図25
のマルチコンテキスト技術を用いたプログラマブル論理
回路装置10とにおける各回路情報形式の場合のコンフ
ィギュレーション動作を、説明する。
【0019】[回路情報の構造;(I)シリアル形式の
回路情報]従来のプログラマブル論理回路装置で用いら
れているシリアル形式の回路情報の構造を図27に示
す。図27(A)に示すように、回路情報は、ヘッダ部
HDs、データ部DTs、フッタ部FTsから構成され
る。プログラマブル論理回路装置内では、シリアル形式
の回路情報は、シリアルデータとして扱われるが、適当
な単位(たとえば、8ビット)で区切ることにより、パ
ラレル伝送やパラレルメモリアクセスを行うことができ
る。
【0020】ヘッダ部HDsは、回路情報の始まりを示
すプリアンブルコードと、回路情報のデータ量を表すレ
ングスカウントと、ヘッダ部HDsの終わりを示す区切
りコードとからなる。
【0021】データ部DTsは、複数のフレームからな
る。ここで、フレームとは、コンフィギュレーションメ
モリに格納されるデータを、ある量(通常100から1
000ビット程度)で区切ったデータの一塊である。こ
のフレームの大きさは、プログラマブル論理回路部への
回路の再構成の容易さを考慮して決定され、例えば、図
24(A)のFPGA型の場合の縦方向の一列分の論理
回路分の回路情報とされる。
【0022】各フレームは、図27(B)に示すよう
に、フレームの始まりを表すスタートフィールドビット
データSTBと、コンフィギュレーションメモリに格納
されるコンフィギュレーションデータCFGDと、フレ
ームの終わりを表すストップフィールドビットデータE
NBとからなる。
【0023】フッタ部FTsは、一つの回路情報の終わ
りを表すポストアンブルコードからなる。
【0024】[シリアル形式の回路情報による従来のプ
ログラマブル論理回路装置1のコンフィギュレーショ
ン]図28は、図22に示した従来のプログラマブル論
理回路装置1へのシリアル形式の回路情報によるコンフ
ィギュレーション動作を説明するための機能ブロック図
である。この図28に示したブロック図を用いて、回路
情報のコンフィギュレーションメモリへの格納を説明す
る。
【0025】図22で示した回路情報入力制御部2は、
図28のコンフィギュレーションコントローラ2a、レ
ングスカウントレジスタ2b、セレクタ2c、複数個の
シフトレジスタ2dで構成される。
【0026】また、図22で示したプログラマブル論理
回路部3は、前述したように回路素子4とコンフィギュ
レーションメモリ5とで構成されるが、図28において
は、例えば、図24(A)のようなFPGA型であれ
ば、例えば縦一列の複数個の論理回路セルを単位とし
て、複数列分のコンフィギュレーションメモリ5sと、
回路素子4sとの組に分けられる。
【0027】そして、各シフトレジスタ2dの各段のレ
ジスタは、各列のコンフィギュレーションメモリ5sの
各メモリセルに結線される。したがって、各シフトレジ
スタ2dは、例えば、図24(A)のようなFPGA型
であれば、縦一列の論理回路セル数への回路情報分の段
数を備えるもので構成されている。そして、一つのシフ
トレジスタが縦一列の複数個の論理回路セルに対して割
り当てられて、シフトレジスタ2dは、横方向の論理回
路セル数分だけ設けられる。
【0028】なお、論理回路セル数が多い場合には、数
列〜数十列程度の複数列分について一つのシフトレジス
タ2dが設けられて、その複数列に共通に一つのシフト
レジスタ2dが使用されるように構成される場合もあ
る。
【0029】前述の回路情報の1フレームの大きさは、
例えば、このシフトレジスタ2dの一つ分のデータ量と
されている。
【0030】この図28の構成において、外部記憶装置
9から回路情報が読み込まれると、コンフィギュレーシ
ョンコントローラ2aが、その回路情報のヘッダ部のプ
リアンブルコードを検知してコンフィギュレーション処
理を開始する。
【0031】プリアンブルコードに続くレングスカウン
トはレングスカウントレジスタ2bに格納される。レン
グスカウントレジスタ2bの値は、後述するシフトレジ
スタ2dのデータシフトごとに1を減じられ、レングス
カウントレジスタ2bの値が0になるまでシフトレジス
タ2dが動作する。このことによって、全てのデータが
シフトレジスタ2dに送り出される。
【0032】区切りコードに続くデータ部は、セレクタ
2cに送られる。初期状態では、セレクタ2cは、コン
フィギュレーションデータを第1列目のシフトレジスタ
2dに送り出す。シフトレジスタ2dは、セレクタ2c
から送り出されたデータを順次シフトする。データがシ
フトレジスタ2dの最後までシフトされると、セレクタ
2cは、次の列のシフトレジスタ2dに、データの送り
出しを切り替える。
【0033】以上の動作を繰り返して、先に述べたレン
グスカウンタ2bの値が0になるまで、シフトレジスタ
2dが動作することにより、全てのデータがシフトレジ
スタ2dに格納される。
【0034】シフトレジスタ2dがコンフィギュレーシ
ョンデータで満たされると、そのデータは同時並列的に
コンフィギュレーションメモリ5sのすべてに転送さ
れ、プログラマブル論理回路部3の再構成が行われる。
すなわち、例えば、図29に示すように、コンフィギュ
レーションメモリ5sの各メモリセルのラッチ5Lが、
シフトレジスタ2dの各レジスタに接続されており、ラ
ッチ5LへラッチクロックLCLKを送ることにより、
シフトレジスタ2dからコンフィギュレーションメモリ
5sへ同時並列的にデータが転送される。
【0035】そして、次に、データ部に続くフッタ部の
ポストアンブルコードをコンフィギュレーションコント
ローラ2aが検知すると、コンフィギュレーション処理
が終了する。
【0036】[シリアル形式の回路情報による従来のマ
ルチコンテキスト技術によるプログラマブル論理回路装
置10のコンフィギュレーション]図31は、図25に
示したマルチコンテキスト技術によるプログラマブル論
理回路装置10へのシリアル形式の回路情報によるコン
フィギュレーション動作を説明するための機能ブロック
図である。この図31に示したブロック図を用いて、従
来のマルチコンテキスト技術による場合の回路情報のコ
ンフィギュレーションメモリへの格納を説明する。
【0037】図25で示した回路情報入力制御部11
は、図31のコンフィギュレーションコントローラ11
a、レングスカウントレジスタ11b、セレクタ11
c、複数個のシフトレジスタ11dで構成される。
【0038】また、図25で示したプログラマブル論理
回路部は、前述の従来例と同様に、例えば図24(A)
のようなFPGA型であれば、例えば縦一列の複数個の
論理回路セルを単位として、複数列分のコンフィギュレ
ーションメモリ15sと、回路素子14sとの組に分け
られるが、この例の場合には、各列のコンフィギュレー
ションメモリ15sのそれぞれは、図31で破線で示す
ように、複数メモリプレーン分を備える。
【0039】そして、各シフトレジスタ11dの各段の
レジスタは、各列のコンフィギュレーションメモリ15
sの各プレーンの各メモリセルに結線される。また、図
25で示した回路情報選択制御部12によるコンフィギ
ュレーションメモリプレーンの選択は、次に図30を用
いて示す各列のコンフィギュレーションメモリ15sの
メモリプレーンのワード線W1,W2,…,WNの選択
に対応する。
【0040】図30は、シフトレジスタ11dとコンフ
ィギュレーションメモリ15sとの接続を示すものであ
る。シフトレジスタ11dの各レジスタは、スイッチS
W1,SW2,…,SWNを介して、各コンフィギュレ
ーションメモリプレーンのメモリセル15s1,15s
2,…,15sNが接続される。ワード線W1,W2,
…,WNを選択制御することで、スイッチSW1,SW
2,…,SWNを開閉制御することができる。そして、
このスイッチSW1,SW2,…,SWNの開閉によ
り、いずれのコンフィギュレーションメモリプレーンの
回路情報により、回路素子14をコンフィギュレーショ
ンするかを選択制御することができる。
【0041】この場合にも、各シフトレジスタ11d
は、例えば、図24(A)のようなFPGA型であれ
ば、縦一列の論理セル数への回路情報分の段数を備える
もので構成されている。そして、一つのシフトレジスタ
が縦一列の複数個の論理回路セルに対して割り当てられ
て、シフトレジスタ11dは、横方向の論理セル数分だ
け設けられる。
【0042】そして、論理セル数が多い場合には、数列
〜数十列程度の複数列分について一つのシフトレジスタ
11dが設けられて、その複数列に共通に一つのシフト
レジスタ11dが使用されるように構成される場合もあ
る。
【0043】前述の回路情報の1フレームの大きさは、
例えば、このシフトレジスタ11dの一つ分のデータ量
とされている。
【0044】この図31の構成においては、外部記憶装
置9には、例えばアプリケーションプログラムで必要と
なる複数の処理回路の回路情報、すなわち、複数個のコ
ンフィギュレーションメモリプレーンに記憶させる複数
個の回路情報が格納されている。そして、この外部記憶
装置9から最初の回路情報が読み込まれると、コンフィ
ギュレーションコントローラ11aが、その回路情報の
ヘッダ部のプリアンブルコードを検知してコンフィギュ
レーション処理を開始する。
【0045】プリアンブルコードに続くレングスカウン
トは、レングスカウントレジスタ11bに格納される。
レングスカウントレジスタ11bの値は、次に説明する
シフトレジスタのデータシフトごとに1を減じられ、レ
ングスカウントレジスタ11bの値が0になるまで、シ
フトレジスタ11dが動作する。このことによって、全
てのデータがシフトレジスタ11dに送り出される。
【0046】区切りコードに続くデータは、セレクタ1
1cに送られる。初期状態では、セレクタ11cは、デ
ータを第1列目のシフトレジスタ11dに送り出す。デ
ータを受け取ったシフトレジスタ11dは、セレクタ1
1cから送り出されたデータを順次シフトする。データ
が、そのシフトレジスタ11dの最後までシフトされる
と、セレクタ11cは、次の列のシフトレジスタ11d
にデータの送り出しを切り替える。以上の動作を繰り返
し、先に述べたレングスカウンタの値が0になるまで、
シフトレジスタ11dが動作することにより、最初の回
路情報のコンフィギュレーションデータがシフトレジス
タ11dに格納される。
【0047】シフトレジスタ11dがデータで満たされ
ると、図29に示したワード線W1が選択され、シフト
レジスタ11dから、第1のコンフィギュレーションメ
モリプレーンのメモリセル15s1へ最初の回路情報が
同時並列的に転送される。
【0048】そして、データ部DTsに続くフッタ部F
Tsのポストアンブルコードをコンフィギュレーション
コントローラ11aが検知すると、最初の回路情報のコ
ンフィギュレーション処理が終了する。
【0049】引き続き第2の回路情報が読み込まれ、最
初の回路情報の読み込みと同じ手順でシフトレジスタ1
1dがデータで満たされ、図29に示したワード線W2
が選択され、シフトレジスタ11dから第2のコンフィ
ギュレーションメモリプレーンのメモリセル2へ第2の
回路情報が同時並列的に転送される。
【0050】以降、順次、同じ手順を繰り返して、N個
の回路情報のそれぞれが、コンフィギュレーションメモ
リ15のそれぞれ独立のメモリプレーンに格納される。
【0051】再構成を行うときには、選択された回路情
報に対応するワード線が選択され、次にラッチ15Lへ
ラッチクロックLCLKを送ることにより、選択された
メモリプレーンのメモリセルから、同時並列的にコンフ
ィギュレーションデータが転送されて再構成が行われ
る。
【0052】[回路情報の構造;(II)パラレル形式の
回路情報]従来のプログラマブル論理回路装置で用いら
れているパラレル形式の回路情報の構造を図32に示
す。図示のように、回路情報は、ヘッダ部HDp、デー
タ部DTp、フッタ部FTpから構成される。プログラ
マブル論理回路装置内では、あるビット幅、例えば32
ビットのパラレル形式の回路情報は、適当な単位、例え
ば、1ビット、64ビットなどで区切ることにより、プ
ログラマブル論理回路装置外で、シリアル転送、異なる
バス幅のパラレル伝送やパラレルメモリアクセスを行う
ことができる。
【0053】ヘッダ部HDpは、回路情報の始まりを示
すプリアンブルコードと、回路情報の入力クロック速度
などのコンフィギュレーションパラメータを設定するオ
プションコードと、設定されたオプションを実行してデ
ータの読み込みを開始するスイッチコマンドとからな
る。
【0054】データ部DTpは、シリアル形式の場合と
同様に、複数のフレームからなる。各フレームの内容
は、コンフィギュレーションデータCFGDを書き込む
コンフィギュレーションメモリ内のフレーム位置を表す
フレームアドレスFADRと、コンフィギュレーション
データCFGDの書き込みを指示するデータインコマン
ドDINと、コンフィギュレーションデータCFGDか
ら読み込むワード数を指示するワードカウントWCNT
と、コンフィギュレーションデータCFGDとからな
る。フッタ部FTpは、回路情報の終わりを指示するポ
ストアンブルコードからなる。
【0055】前述したシリアル形式の回路情報は、全て
がデータとして扱われ、レングスカウントで指示された
クロック数だけシフトレジスタを動作することにより、
回路情報が受動的にコンフィギュレーションメモリ全体
に読み込まれる。一方、このパラレル形式の回路情報
は、データとコマンドとして扱われ、フレームアドレス
FADRで指示されるコンフィギュレーションメモリ部
分に、データインコマンドDINの起動により、コンフ
ィギュレーションデータCFGDが部分的に書き込まれ
る点が特徴である。
【0056】[パラレル形式の回路情報による従来のプ
ログラマブル論理回路装置1のコンフィギュレーショ
ン]図33は、図22に示した従来のプログラマブル論
理回路装置1へのパラレル形式の回路情報によるコンフ
ィギュレーション動作を説明するための機能ブロック図
である。この図33と図34に示した従来のプログラマ
ブル論理回路装置のコンフィギュレーションメモリの一
部分のブロック図を用いて、回路情報のコンフィギュレ
ーションメモリへの格納を説明する。
【0057】図22で示した回路情報入力制御部2は、
図33のコンフィギュレーションコントローラ2e、ア
ドレス生成器2f、セレクタ2gで構成される。また、
図22で示したプログラマブル論理回路部3は、図33
においては、例えば、図24(A)のようなFPGA型
であれば、例えば縦一列の複数個の論理回路セルを単位
として、複数列分のコンフィギュレーションメモリ5s
と、回路素子4sとの組に分けられる。
【0058】前記回路情報のフレームは、シリアル形式
の場合と同様に、一列分の複数個の論理回路セルへのコ
ンフィギュレーションデータを含むものとして構成され
る。
【0059】そして、図34に示すように、各列のコン
フィギュレーションメモリ5sのビット線が、セレクタ
2gに結線される。また、コンフィギュレーションメモ
リ5sのワード線は、アドレス生成器2fに結線され
る。
【0060】この図33の構成において、外部記憶装置
9から回路情報が読み込まれると、コンフィギュレーシ
ョンコントローラ2eが、その回路情報のヘッダ部HD
pのプリアンブルコードを検知してコンフィギュレーシ
ョン処理を開始する。
【0061】そして、プリアンブルコードに続くオプシ
ョンコードで、コンフィギュレーションのためのパラメ
ータが設定される。次のスイッチコマンドにより、設定
されたオプションが実行され、データの読み込みが開始
される。
【0062】まず、フレームのフレームアドレスFAD
Rがアドレス生成器2fに読み込まれ、データを書き込
むコンフィギュレーションメモリ5sに対応するビット
線とワード線とが選択される。次に、データインコマン
ドDINが起動され、コンフィギュレーションデータC
FGDから、ワードカウントWCNTが示す数だけのデ
ータが読み出され、その読み出されたデータがセレクタ
2gを介してコンフィギュレーションメモリ5sに書き
込まれる。この手順を全てのフレームに対して繰り返
す。
【0063】そして、データ部DTpに続くフッタ部F
Tpのポストアンブルコードをコンフィギュレーション
コントローラ2eが検知すると、コンフィギュレーショ
ン処理が終了する。
【0064】[パラレル形式の回路情報による従来のマ
ルチコンテキスト技術によるプログラマブル論理回路装
置10のコンフィギュレーション]図36は、図25に
示したマルチコンテキスト技術によるプログラマブル論
理回路装置10へのパラレル形式の回路情報によるコン
フィギュレーション動作を説明するための機能ブロック
図である。この図36と図35に示した従来のマルチコ
ンテキスト技術によるプログラマブル論理回路装置のコ
ンフィギュレーションメモリの一部分のブロック図を用
いて、回路情報のコンフィギュレーションメモリへの格
納を説明する。
【0065】図25で示した回路情報入力制御部11
は、図36のコンフィギュレーションコントローラ11
e、アドレス生成器11f、セレクタ11gで構成され
る。また、図25で示したプログラマブル論理回路部1
3は、図36のコンフィギュレーションメモリ15s、
回路素子14sで構成される。
【0066】前述した図31の場合と同様に、コンフィ
ギュレーションメモリ15sと回路素子14sの組は複
数の列に分けられる。そして、各列のコンフィギュレー
ションメモリ15sは、図36で破線で示すように、複
数メモリプレーン分を備える。
【0067】前記回路情報のフレームは、この例におい
ても、シリアル形式の場合と同様に、1プレーン分のメ
モリセルアレイの一列分へのコンフィギュレーションデ
ータを含むものとして構成される。
【0068】そして、図35に示すように、各列のコン
フィギュレーションメモリ15s(複数個のメモリプレ
ーン(メモリセルアレイ)からなる)のビット線が、セ
レクタ11gに結線される。この場合、複数個のメモリ
プレーンのメモリセルアレイのビット線は、共通にセレ
クタ11gに結線される。また、コンフィギュレーショ
ンメモリ15sのワード線は、複数個のメモリプレーン
のメモリセルアレイについて共通とされ、アドレス生成
器11fに結線される。
【0069】そして、図25で示した回路情報選択制御
部12は、図35に示すコンフィギュレーションメモリ
15sのコンテキスト選択に対応する。
【0070】この図36の構成においては、外部記憶装
置9から最初の回路情報が読み込まれると、コンフィギ
ュレーションコントローラ11eが、回路情報のヘッダ
部HDpのプリアンブルコードを検知してコンフィギュ
レーション処理を開始する。
【0071】プリアンブルコードに続くオプションコー
ドでコンフィギュレーションのパラメータが設定され
る。次に、スイッチコマンドにより、設定されたオプシ
ョンが実行され、データの読み込みが開始される。
【0072】そして、フレームのフレームアドレスFA
DRがアドレス生成器11fに読み込まれ、データを書
き込むコンフィギュレーションメモリ15sに対応する
ビット線とワード線とが選択される。このとき、図35
に示すように、ひとつの列に対して複数のメモリセルア
レイが配置されているので、たとえば、最初の回路情報
に対しては、第1のメモリセルアレイ15s1のビット
線がセレクタ11gによって選択される。
【0073】次に、データインコマンドDINが起動さ
れ、コンフィギュレーションデータCFGDからワード
カウントWCNTが示す数だけのデータが読み出され
て、セレクタ11gを介してコンフィギュレーションメ
モリ15sに書き込まれる。この手順を全てのフレーム
に対して繰り返す。
【0074】データ部DTpに続くフッタ部FTpのポ
ストアンブルコードを、コンフィギュレーションコント
ローラ11eが検知すると、最初の回路情報のコンフィ
ギュレーション処理が終了する。
【0075】引き続き、第2の回路情報が読み込まれ、
最初の回路情報の読み込みと同じ手順で、セレクタ11
gで選択された第2のメモリセルアレイ15s2に回路
情報が格納される。以下、順次に、同じ手順を繰り返し
て、N個の回路情報がコンフィギュレーションメモリ1
5に格納される。
【0076】再構成を行うときには、選択された回路情
報に対応するコンテキスト選択線が選択され、回路素子
14sのコンフィギュレーションが行われる。
【0077】[従来のマルチコンテキスト技術による再
構成回路による処理動作]次に、以上説明したような従
来のマルチコンテキスト技術によるプログラマブル論理
回路装置を用いて、複数の回路を用いる一つの処理を行
なう場合の、当該プログラマブル論理回路装置への回路
情報の再構成動作手順を、図37の説明図および図38
のフローチャートを参照しながら、さらに説明する。
【0078】前述したように、通常、回路情報はフレー
ムと呼ばれる単位で構成されるが、図37に示す例は、
一つの回路情報が5フレームで構成されるとともに、一
つの処理が、回路情報1、回路情報2、回路情報3の3
個の回路情報により行われる場合である。
【0079】すなわち、回路情報入力制御部11を介し
て、前記3個の回路情報(回路情報1、回路情報2、回
路情報3)がコンフィギュレーションメモリ15に格納
される。例えばアプリケーションプログラムによって発
生する選択信号に従って回路情報選択制御部12によ
り、コンフィギュレーションメモリ15に格納された3
個の回路情報から、一つの回路情報が選択され、その回
路情報に従ってプログラマブル論理回路装置10が再構
成される。
【0080】この再構成手順を図38のフローチャート
と、図39のタイミングチャートを参照して説明する。
図39のタイミングチャートでは、回路情報1、回路情
報2、回路情報3の順にプログラマブル論理回路装置が
再構成されて、処理が終了するとしている。
【0081】まず、最初に、回路情報入力制御部11
は、外部記憶装置(図示せず)などに格納された回路情
報を、一つずつ読み込んでコンフィギュレーションメモ
リ15に格納する(ステップS101)。このとき、回
路情報を読み込むたびに、コンフィギュレーションメモ
リ15の残り容量を確認し(ステップS102、S10
3)、全ての回路情報を読み込む前に、コンフィギュレ
ーションメモリ15が一杯になったときは、エラーを検
知して動作を終了する(ステップS104)。
【0082】回路情報入力制御部11が、3個の回路情
報のすべてをコンフィギュレーションメモリ15に格納
すると、回路情報選択制御部12が選択信号を監視する
(ステップS105)。回路情報選択制御部12が、例
えばアプリケーションプログラムに従って選択信号が切
り替えられたことを検知すると、3個の回路情報のうち
のどれが選択されたかを判別し(ステップS106)、
切り替えられた選択信号に応じた回路情報がコンフィギ
ュレーションメモリ15から読み出され、その回路情報
に従ってプログラマブル論理回路部(図示せず)が再構
成される(ステップS107またはステップS108ま
たはステップS109)。
【0083】その後、プログラマブル論理回路装置10
による処理が継続する限り、回路情報選択制御部12に
よる選択信号の監視が続けられ、選択信号が切り替えら
れるごとに回路情報が切り換えられる。そして、プログ
ラマブル論理回路装置10による処理が終了すると、選
択信号の如何にかかわらず、上述の再構成の手順は終了
する。
【0084】プログラマブル論理回路装置10による処
理が終了した場合、プログラマブル論理回路装置10へ
の電源供給が遮断されたりしない限り、一般的には、プ
ログラマブル論理回路装置は、最後に選択された回路情
報で再構成された状態が保持される。
【0085】以上の処理を、図39のタイミングチャー
トについて、さらに説明する。すなわち、処理が実行状
態になると、まず、3個の回路情報1、2、3のコンフ
ィギュレーションメモリ15への読み込みが行われる。
読み込みが終了して、回路情報の選択指示が行われる
と、その選択指示された回路情報が記憶されているコン
フィギュレーションメモリプレーンが切り替え選択され
て、その回路情報が読み出され、その読み出された回路
情報によりプログラマブル論理回路部が再構成される。
【0086】図39で、実行終了後も回路情報3が構成
されて続けているのは、前述したように、処理が終了し
た場合、電源供給が遮断されたりしない限り、一般的に
は、プログラマブル論理回路装置は、最後に選択された
回路情報で再構成された状態が保持されるからである。
【0087】[マルチコンテキスト技術の具体的な従来
例]以上説明したようなマルチコンテキスト技術の一つ
として、特開平2−130023号公報に開示される
「マルチファンクション・プログラマブル・ロジック・
デバイス」の例がある。これを従来例1として、図40
を参照しながら説明する。
【0088】図40は、マルチファンクション・プログ
ラマブル・ロジック・デバイスの構成図を示したもので
ある。このデバイスは、プログラマブル論理アレイ2
1、SRAMで構成されたスイッチ設定用PROM2
2、および選択回路23で構成される。
【0089】スイッチ設定用PROM22は、プログラ
マブル論理アレイ21に構成される回路に対応したNビ
ットの回路情報をM組記憶することができる。プログラ
マブル論理アレイ21の回路構成は、スイッチ設定用P
ROM22に記憶されたM組の回路情報のうち、選択回
路23で選択された一組の回路情報によって決定され
る。すなわち、選択回路23によって選択する回路情報
を切り替えることにより、プログラマブル論理アレイ2
1の回路構成を再構成することができる。
【0090】マルチコンテキスト技術の別の例として、
FCCM’97(FPGAs for Custom
Computing Machines 1997)で
発表された“A Time−Multiplexed
FPGA”の例がある。これを従来例2として、図41
を参照しながら説明する。
【0091】図41は、発表された時分割駆動FPGA
の構成を示すものである。この時分割駆動FPGAは、
米国ザイリンクス(Xilinx)社のXC4000E
を改良したものであり、回路素子24の論理セルと内部
配線とを決定する、SRAMで構成されたコンフィギュ
レーションメモリ25を8組備えている。コンフィギュ
レーションメモリ25のそれぞれには、異なる回路構成
に対応する回路情報が格納されており、これらのコンフ
ィギュレーションメモリ25を切り替えることにより、
時分割でFPGAの回路構成を再構成することができ
る。
【0092】上述の従来例1と従来例2とで示したよう
に、マルチコンテキスト技術は、事前に複数の回路情報
をコンフィギュレーションメモリに格納してあるので、
回路の再構成時間を短縮することを可能にする。
【0093】しかしながら、回路情報を格納するため
に、複数プレーンまたは複数個のコンフィギュレーショ
ンメモリがプログラマブル論理回路装置の内部に必要な
ため、プログラマブル論理回路部の回路規模が大きくな
る。回路規模が大きくなると、回路素子の負荷容量が大
きくなることにより、回路性能が低下したり、消費電力
が大きくなるという問題を引き起こす。また、回路規模
が大きくなると、プログラマブル論理回路装置の製造コ
ストが高くなるという問題も引き起こす。
【0094】通常、プログラマブル論理回路装置は、C
MOSプロセスで製造されるので、同じCMOSプロセ
スで作製できるSRAMが、コンフィギュレーションメ
モリとして用いられる。従来例1と従来例2とでは、S
RAMがコンフィギュレーションメモリとして用いられ
ている。SRAMは、1ビットを記憶するために6個の
トランジスタを必要とするので、プログラマブル論理回
路装置内に記憶できる回路情報の数を増やすと、プログ
ラマブル論理回路部の回路規模が大幅に大きくなる。
【0095】このように回路規模が大きくなるという問
題は、FPD’95(ThirdCanadian W
orkshop of Field Programm
able Devices 1995)で発表された
“A First Generation DPGA
Implementation”のように、1ビット当
たり3個のトランジスタで構成されるDRAMをコンフ
ィギュレーションメモリとして用いることにより、幾分
緩和される。これを従来例3として、図42を参照しな
がら説明する。
【0096】図42は、発表されたDPGAの論理セル
構造を示すものである。論理セルは、4組の構成を格納
できる4×32ビットのDRAM31、4つの8入力マ
ルチプレクサ32〜35、4入力ルックアップテーブル
36、フリップフロップ37、出力を切り替えるセレク
タ38で構成される。
【0097】32ビットのDRAM31の出力のうち、
12ビットが4つの8入力マルチプレクサ32〜35の
状態を、16ビットが4入力ルックアップテーブル36
の状態を、1ビットがセレクタ38の状態を決定し、残
り3ビットは保留とされている。4組のDRAM31に
は、それぞれ異なる回路情報が格納されており、メモリ
出力を切り替えることにより、異なる回路を構成するこ
とができる。
【0098】上述のように、DRAM31は、1ビット
当たり3個のトランジスタで構成されるので、この従来
例3によれば、マルチコンテキスト技術における回路規
模が大きくなるという問題は軽減できる。
【0099】さらに、最近の半導体デバイス作製技術の
進展により、ひとつのデバイス上にCMOS回路と、1
ビット当たり1個のトランジスタで構成されるDRAM
を作製することが可能になった。この半導体作製技術
は、DRAM混載プロセスと呼ばれている。1ビットを
記憶するために、CMOSで構成されるSRAMが6個
のトランジスタを必要とし、CMOSで構成されるDR
AMが3個のトランジスタを必要とするのに対して、D
RAM混載プロセスによるDRAMは1個のトランジス
タで済むものである。
【0100】したがって、回路情報を格納するために余
分なコンフィギュレーションメモリ領域が必要になると
いう上述したマルチコンテキスト技術の欠点は、コンフ
ィギュレーションメモリにDRAM混載プロセスによる
1トランジスタDRAMを用いることによって、さらに
改善することができる。
【0101】この例として、Symposium on
VLSI Circuit 1997で発表された
“An Embedded DRAM−FPGA Ch
ipwith Instantaneous Logi
c Reconfiguration”の例がある。こ
れを従来例4として図43を参照しながら説明する。
【0102】図43は、発表されたDRAM−FPGA
の論理エレメントと、DRAMエレメントの構造を示す
もので、256×256セルで構成されるDRAMエレ
メント41を、4つの論理エレメント42〜45が囲む
構成となっている。一つの論理エレメントは64ビット
の回路情報で再構成される。左右にセンスアンプを介し
て128ビットずつ引き出されたビット線の64ビット
分ずつが論理エレメント42〜45のそれぞれに接続さ
れる。
【0103】上記の左右のビット線に出力される回路情
報は、上下にワードドライバを介して128ビットずつ
引き出されたワード線を選択することにより、切り替え
られる。すなわち、DRAM−FPGAは、メモリ回路
としてDRAMエレメント41を用いることにより、2
56組の回路構成を格納することを可能にした。
【0104】上述の従来例4に示したように、DRAM
混載プロセスを用いて、メモリ回路を1トランジスタD
RAMで作製することにより、回路情報を格納するため
に余分なコンフィギュレーションメモリ回路領域が必要
となるというマルチコンテキスト技術の欠点を大幅に緩
和することが可能となる。
【0105】しかしながら、DRAM回路部で用いるト
ランジスタのゲート酸化膜は、CMOS回路部で用いる
トランジスタのゲート酸化膜より厚い酸化膜が必要なの
で、別々に作製しなければならない。このため、製造工
程が増加し、プログラマブル論理回路装置の製造コスト
が高くなったり、製造歩留まりが低下するという新たな
問題を引き起こす。また、製造工程を増やさないため
に、製造工程を共通化して厚い酸化膜を用いると、CM
OS回路部の性能が悪くなるという別の問題を引き起こ
す。
【0106】
【発明が解決しようとする課題】以上説明したように、
キャッシュロジック技術を用いて、アプリケーションプ
ログラムによる処理の一部分を、プログラマブル論理回
路装置で構成した回路で処理するリコンフィギュラブル
コンピューティング技術を用いた情報処理システムで
は、回路を再構成する時間が長くなり、本来はソフトウ
エア処理に比べて処理速度の速いプログラマブル論理回
路装置によるハードウエア処理が、回路再構成時間を含
めた総処理時間で比べると、ソフトウエア処理よりも時
間を要することがあるという問題がある。
【0107】この問題を解決する一つの手段であるマル
チコンテキスト技術は、回路の再構成時間を短縮するこ
とを可能にするが、複数の回路情報を格納するための余
分なコンフィギュレーションメモリ領域が必要なため、
プログラマブル論理回路部の回路規模が大きくなるとい
う欠点がある。
【0108】そして、回路規模が大きくなると、回路素
子の負荷容量が大きくなることにより、回路性能が低下
したり、消費電力が大きくなるという問題を引き起こ
す。また、回路規模が大きくなると、プログラマブル論
理回路装置の製造コストが高くなるという問題も引き起
こす。
【0109】また、コンフィギュレーションメモリ領域
を減らすために、そのメモリ回路として、CMOSプロ
セスで作成されるSRAM回路の代わりに、DARM混
載プロセスで作製した1トランジスタDRAM回路を用
いることなどが行われているが、上述したように、製造
工程が増加し、プログラマブル論理回路装置の製造コス
トが高くなったり、製造歩留まりが低下するという新た
な問題を引き起こす。また、製造工程を増やさないため
に、製造工程を共通化してDRAM部の厚い酸化膜をC
MOS回路部に用いると、CMOS回路部の性能が低下
するなるという別の問題を引き起こす。
【0110】この発明は、以上の点にかんがみ、回路性
能の低下、消費電力の増加、製造工程の増加、製造コス
トの増加などをもたらす複数の回路情報を格納するコン
フィギュレーションメモリを用いることなく、高速に回
路を再構成できるプログラマブル論理回路装置を提供す
ることを目的とする。
【0111】
【課題を解決するための手段】上記の課題を解決するた
めに、請求項1の発明によるプログラマブル論理回路装
置においては、回路素子と、この回路素子に接続される
コンフィギュレーションメモリとを備え、前記コンフィ
ギュレーションメモリに書き込まれる回路情報に基づい
て回路が構成されるプログラマブル論理回路部と、前記
プログラマブル論理回路部に複数個の回路を順次に構成
するための複数個の回路情報を記憶するものであって、
前記コンフィギュレーションメモリとは別の回路情報記
憶手段と、前記回路情報記憶手段に、前記複数個の回路
情報を書き込むための回路情報書き込み手段と、指定情
報により指定される前記プログラマブル論理回路部に生
成しようとする一つの回路の回路情報を、前記回路情報
記憶手段に記憶された複数個の回路情報のうちの、一つ
または複数個の回路情報を用いて生成する回路情報編集
手段と、前記回路情報編集手段で生成された前記一つの
回路の回路情報を前記コンフィギュレーションメモリに
書き込むようにする制御手段と、を備えることを特徴と
する。
【0112】そして、請求項2の発明は、請求項1に記
載のプログラマブル論理回路装置において、前記回路情
報記憶手段および前記回路情報編集手段は、前記プログ
ラマブル論理回路部とは別個に設けることを特徴とす
る。
【0113】また、請求項3の発明は、請求項1に記載
のプログラマブル論理回路装置において、前記回路情報
記憶手段および前記回路情報編集手段は、そのための回
路情報を前記コンフィギュレーションメモリの一部に読
み込むことにより、前記プログラマブル論理回路部の回
路素子の一部に生成することを特徴とする。
【0114】また、請求項4の発明は、請求項1〜3の
いずれかに記載のプログラマブル論理回路装置におい
て、前記回路情報記憶手段に記憶される回路情報は圧縮
されており、前記回路情報編集手段により、前記圧縮が
解凍されて、前記指定情報で指定された回路情報が生成
されることを特徴とする。
【0115】
【作用】上述の構成の請求項1の発明においては、複数
の回路情報は、マルチコンテキスト技術のようにコンフ
ィギュレーションメモリに格納するのではなく、回路情
報記憶手段に一旦格納される。そして、再構成すべき回
路情報が回路情報記憶手段から読み出され、回路情報編
集手段でコンフィギュレーションメモリに書き込む形式
の回路情報に編集されて、コンフィギュレーションメモ
リに転送される。
【0116】このため、この請求項1の発明によれば、
コンフィギュレーションメモリ領域は、従来の一般的な
プログラマブル論理回路装置のように1つの回路情報を
格納できるメモリ領域を備えれば良いので、マルチコン
テキスト技術の場合のプログラマブル論理回路部の回路
規模が大きくなるという欠点を回避することができる。
【0117】その代わりに、回路情報記憶手段が必要に
なるが、請求項1の発明においては、この回路情報記憶
手段の回路情報は、回路情報編集手段で編集された後
に、コンフィギュレーションメモリに転送される構成で
あるので、回路情報記憶手段に記憶する回路情報は、コ
ンフィギュレーションメモリに直接的に格納する形式の
ものにする必要がなく、少ないデータ量とすることが可
能である。
【0118】例えば、請求項4の発明のように、回路情
報を圧縮しておき、その圧縮を回路情報編集手段で解凍
するようにすることにより、回路情報記憶手段のメモリ
容量を、より小さくすることができるものである。
【0119】回路情報記憶手段および回路情報編集手段
は、請求項2の発明のように、プログラマブル論理回路
部の外部において構成することもできるし、請求項3の
発明のように、プログラマブル論理回路部内に、そのた
めの回路情報を読み込むことにより、構成することもで
きる。
【0120】特に、請求項3の場合には、従来からある
プログラマブル論理回路装置を用いて、この発明による
プログラマブル論理回路装置を実現することができると
いう効果がある。
【0121】
【発明の実施の形態】以下に、この発明によるプログラ
マブル論理回路装置の幾つかの実施の形態を、前述した
従来のマルチコンテキスト技術によるプログラマブル論
理回路装置と比較しながら、図を参照しながら説明す
る。
【0122】以下に説明する実施の形態は、それぞれ前
述したリコンフィギュラブルコンピューティング技術を
用いた情報処理システムにおいて、そのアプリケーショ
ンプログラムによる処理の一部分、あるいは全部を実行
するための複数の回路を、プログラマブル論理回路装置
で構成する場合の例である。
【0123】すなわち、アプリケーションプログラムで
必要となる複数の処理回路の回路情報を、予め外部記憶
装置に格納しておき、必要に応じて、その外部記憶装置
から読み出した前記複数の回路情報を、プログラマブル
論理回路装置に読み込んで、必要とする回路を、プログ
ラマブル論理回路装置に順次に再構成して、必要な処理
を実行するものである。
【0124】[第1の実施の形態] [この発明によるプログラマブル論理回路装置の第1の
構造]第1の実施の形態のプログラマブル論理回路装置
は、この発明によるプログラマブル論理回路装置の第1
の構造を備える。図1は、この第1の構造を備える、こ
の発明によるプログラマブル論理回路装置100の構成
を示すもので、複数の回路情報を、例えば外部記憶装置
(図示せず)から読み込む回路情報入力制御部101
と、読み込んだ複数の回路情報を一時的に記憶する回路
情報記憶部102と、複数の回路情報から必要な回路情
報を選択して編集する回路情報編集部103と、回路情
報入力制御部101を介して読み込まれる編集された回
路情報に従って回路機能を実現するプログラマブル論理
回路部104とから構成される。
【0125】この第1の構造のプログラマブル論理回路
装置100では、回路情報入力制御部101は、回路情
報記憶部102に、複数個の回路情報を書き込むための
回路情報書き込み手段の機能も有する。また、回路情報
入力制御部101は、回路情報編集手段で生成された一
つの回路の回路情報を、プログラマブル論理回路部10
4のコンフィギュレーションメモリに書き込むようにす
る制御手段の役割もする。
【0126】すなわち、この第1の構造のプログラマブ
ル論理回路装置100は、図22に示した従来のプログ
ラマブル論理回路装置1の回路情報入力制御部2および
プログラマブル論理回路3と同様の回路情報入力制御部
101およびプログラマブル論理回路部104に加え
て、回路情報記憶部102と、回路情報編集部103
を、その内部に備えるものである。
【0127】そして、プログラマブル論理回路部104
の詳細な構造は、図22に示した従来のプログラマブル
論理回路装置のプログラマブル論理回路部と同じであっ
て、図23および図24に示したものとなる。すなわ
ち、プログラマブル論理回路部104は、図26に示し
た従来のマルチコンテキスト技術によるプログラマブル
論理回路部15のように、コンフィギュレーションメモ
リが、複数個のメモリプレーンを備えるものではない。
【0128】つまり、プログラマブル論理回路部104
は、図24(A),(B)に示したような、入出力部、
論理回路セル、配線部からなる回路素子105と、この
回路素子105に接続され、一つの回路情報分を格納す
るようにするコンフィギュレーションメモリ106とか
ら構成される。
【0129】このようにプログラマブル論理回路部10
4に内蔵のコンフィギュレーションメモリが複数個のコ
ンフィギュレーションメモリあるいは複数個のメモリプ
レーンを持たないことから、この実施の形態のプログラ
マブル論理回路装置100は、図25に示した従来のマ
ルチコンテキスト技術によるプログラマブル論理回路装
置10のような回路情報選択制御部12は具備しない。
【0130】そして、この実施の形態の場合のプログラ
マブル論理回路装置100も、従来のプログラマブル論
理回路装置1と同じように、プログラマブル論理回路部
104の回路素子105の接続形態により、図24
(A)に示すようなFPGA型と、図24(B)に示す
ようなCPLD型とに分けられる。
【0131】いずれの構造においても、この第1の実施
の形態のプログラマブル論理回路装置100において
は、これに複数の回路情報が読み込まれると、その複数
の回路情報は、回路情報記憶部102に格納され、回路
情報編集部103で編集された後に、回路情報入力制御
部101によってコンフィギュレーションメモリ106
に書き込まれる。そして、コンフィギュレーションメモ
リ106に書き込まれた回路情報に従って、回路素子1
05の機能と結線状態が決められる。
【0132】[第1の実施の形態におけるコンフィギュ
レーション]次に、この第1の実施の形態におけるコン
フィギュレーションの方法を、従来のマルチコンテキス
ト技術によるプログラマブル論理回路装置の場合と比較
しながら説明する。なお、この第1の実施の形態では、
シリアル形式の回路情報によりコンフィギュレーション
を行なう場合である。
【0133】図2は、この第1の実施の形態の場合の回
路情報およびその編集動作を説明するための図である。
この図2を参照しながら、第1の実施の形態のプログラ
マブル論理回路装置100の動作を説明する。この図2
の例は、前述の従来のマルチコンテキスト技術によるプ
ログラマブル論理回路装置10のコンフィギュレーショ
ンにおいて説明した図37に示したものと同じ3つの回
路情報1、2、3による3個の回路を再構成する手順の
例である。
【0134】図37に示した従来例の3つの回路情報
1、2、3のフレーム構成を図2(A)に示す。この図
2(A)に示すように、回路情報1、2、3は、一つの
回路情報が5フレームで構成されているが、さらに詳し
く回路情報のフレーム構造をみると、次のような構成と
なっている。
【0135】回路情報報1は、フレーム(1−A)とフ
レーム(1−B)との2種類のフレームから構成されて
おり、フレーム(1−A)の1個と、フレーム(1−
B)の4個の合計5フレームで構成されている。
【0136】回路情報2は、4種類のフレーム(1−
A、2−A、2−B、2−C)から構成されているが、
そのうちのフレーム(1−A)は、回路情報1を構成す
るフレーム(1−A)と同じである。そして、回路情報
2は、フレーム(1−A)が2個で、他のフレームが、
それぞれ1個ずつの合計5フレームで構成される。
【0137】回路情報3は、3種類のフレーム(2−
A、2−B、3−A)で構成されるが、そのうちのフレ
ーム(2−A)と、フレーム(2−B)は回路情報2を
構成するフレームと同じである。そして、回路情報3
は、フレーム(2−A)の3個と、フレーム(2−B)
およびフレーム(3−A)の1個ずつの合計5フレーム
で構成される。
【0138】この第1の実施の形態では、図37に示し
たものと同じ回路を再構成する3個の回路情報1、2、
3が、フレームの繰り返しや、他の回路情報のフレーム
の参照を考慮して、従来より小さいフレーム数で構成さ
れるように圧縮される。
【0139】すなわち、回路情報1は、図2(B)に示
すように、フレーム(1−A)と、フレーム(1−B)
の2フレームで構成される。このとき、この回路情報1
のフレーム(1−B)には、当該フレームを3回繰り返
すという参照情報が付加されている。このように繰り返
しの参照情報を含むフレームを、この明細書ではリピー
トフレームと呼ぶことにする。
【0140】回路情報2は、図2(B)に示すように、
フレーム(2−A)、フレーム(1−A)、フレーム
(2−B)、フレーム(2−C)の4フレームで構成さ
れる。このとき、この回路情報2のフレーム(1−A)
には、当該フレームデータは回路情報1のフレーム(1
−A)と同じであるという参照情報が付加されている。
このように他の回路情報のフレームの参照情報を含むフ
レームを、この明細書ではリファレンスフレームと呼ぶ
ことにする。
【0141】回路情報3は、図2(B)に示すように、
フレーム(2−A)、フレーム(2−B)、フレーム
(3−A)の3フレームで構成される。そして、このと
き、この回路情報3のフレーム(2−A)とフレーム
(2−B)は、それぞれのフレームデータは回路情報2
のフレーム(2−A)、(2−B)と同じであるという
参照情報が付加されたリファレンスフレームの構成とな
っている。また、この回路情報3のフレーム(2−A)
は、当該フレームを3回繰り返すという参照情報が付加
されたリピートフレームの構成となっている。
【0142】[この発明によるシリアル形式の回路情報
の具体例]この発明によるシリアル形式の回路情報の構
造例を図3に示す。図27に示した従来のシリアル形式
の回路情報と同じように、この例のシリアル形式の回路
情報も、図3(A)に示すように、ヘッダ部HDs、デ
ータ部DTs、フッタ部FTsから構成される。前述も
したように、プログラマブル論理回路装置100内で
は、シリアル形式の回路情報は、シリアルデータとして
扱われるが、適当な単位(たとえば、8ビット)で区切
ることにより、パラレル伝送やパラレルメモリアクセス
を行うことができる。
【0143】図3(A)に示すように、ヘッダ部HDs
は、回路情報の始まりを示すプリアンブルコードと、回
路情報のデータ量を表すレングスカウントと、ヘッダ部
の終わりを示す区切りコードとからなり、また、フッタ
FTsは、回路情報の終わりを表すポストアンブルコー
ドからなるのは、前述の図27の従来の場合と同様であ
る。
【0144】レングスカウントは、従来のプログラマブ
ル論理回路装置1の場合と同様に、シフトレジスタへの
転送のための情報として使用されるとともに、この実施
の形態の場合には、回路情報編集部103での編集を指
示する情報としても使用される。
【0145】この実施の形態の場合には、データ部DT
sは、複数のフレームからなるが、その各フレームが、
3種類のフレームのいずれかにより構成される点が前述
の図27の従来の場合と異なる。このデータ部を構成す
るフレームの種類は、従来例と同じ構造のノーマルフレ
ームと、前述のリピートフレームと、前述のリファレン
スフレームの3種類である。
【0146】すなわち、ノーマルフレームは、図3
(B)に示すように、従来の回路情報で用いられるフレ
ームと全く同様に、フレームの始まりを表すスタートフ
ィールドビットデータSTBと、コンフィギュレーショ
ンメモリに格納されるコンフィギュレーションデータC
FGDと、フレームの終わりを表すストップフィールド
ビットデータENBとからなる。
【0147】リピートフレームは、図3(C)に示すよ
うに、リピートフレームの始まりを表すスタートフィー
ルドリピートデータSTrpと、コンフィギュレーショ
ンメモリに格納されるコンフィギュレーションデータC
FGDと、同じフレームデータの繰り返し数を示すリフ
ァレンスカウントRCNTと、フレームの終わりを表す
ストップフィールドビットデータENBとからなる。ス
タートフィールドリピートデータSTrpには、リピー
トフレームであることを示す識別情報が含まれる。後で
説明する手順によって、このリピートフレームからリフ
ァレンスカウントRCNTで示される数のノーマルフレ
ームが生成される。
【0148】リファレンスフレームは、図3(D)に示
すように、フレームの始まりを表すスタートフィールド
リファレンスデータSTrefと、回路情報記憶部10
2内の参照先の別のフレームのアドレスを示すリファレ
ンスアドレスRADRと、参照の繰り返し数を示すリフ
ァレンスカウントRCNTと、参照先の別のフレーム内
でデータを読み出す相対アドレスを示すリファレンスオ
フセットROFSと、フレームの終わりを表すストップ
フィールドビットデータENBとからなる。スタートフ
ィールドリファレンスデータSTrefには、リファレ
ンスフレームであることを示す識別情報が含まれる。
【0149】後で説明する手順によって、このリファレ
ンスフレームから、リファレンスアドレスRADRとオ
フセットアドレスROFSとから計算された、回路情報
記憶部102に格納されたコンフィギュレーションデー
タを持ったノーマルフレームが、リファレンスカウント
RCNTで示された数だけ生成される。
【0150】ノーマルフレームに加えて、リピートフレ
ームとリファレンスフレームの2種類のフレームを持つ
ことが、この実施の形態で用いるシリアル形式の回路情
報の特徴である。これら3種類のフレームは、上述のよ
うに、それぞれ異なるスタートフィールドのコードを持
つことにより、回路情報編集部103において認識され
る。
【0151】このように、同じ回路を再構成する回路情
報であっても、回路情報のデータサイズ(回路情報を構
成するフレーム数)が小さいことが、この発明の一つの
特徴である。このデータサイズの小さい回路情報を、圧
縮された回路情報と呼ぶことにする。
【0152】前述の図37に示した例では、一つの回路
情報が5フレーム(ノーマルフレーム)で構成され、回
路情報入力制御部2を介して3回路情報(回路情報1、
回路情報2、回路情報3)がコンフィギュレーションメ
モリ15に格納される。よって、図25に示した従来の
マルチコンテキスト技術によるプログラマブル論理回路
装置10のコンフィギュレーションメモリ15は、この
例の場合には、少なくとも15フレームを記憶できる容
量を備えなければならない。
【0153】すなわち、一般的に、マルチコンテキスト
技術によるプログラマブル論理回路装置のコンフィギュ
レーションメモリは、図22に示したような通常の従来
のプログラマブル論理回路装置のコンフィギュレーショ
ンメモリに対して、「格納される回路情報数」倍の記憶
容量を必要とする。
【0154】これに対して、この第1の実施の形態で
は、例えば外部記憶装置から読み込まれた複数個の回路
情報は、一旦、回路情報記憶部102に記憶される。そ
して、回路情報編集部103が、回路情報の選択信号に
従って回路情報記憶部102から、圧縮された回路情報
を取り出し、取り出した回路情報を、一つの回路情報を
記憶する容量の従来と同様のコンフィギュレーションメ
モリ106に格納される回路情報に編集する。
【0155】次に、回路情報入力制御部101が、その
編集後の回路情報をコンフィギュレーションメモリ10
6に格納し、その回路情報に従って回路素子105に選
択された回路が再構成される。
【0156】プログラマブル論理回路部104のコンフ
ィギュレーションメモリ106の容量が、プログラマブ
ル論理回路装置100に格納される回路情報数にかかわ
らず、従来のプログラマブル論理回路装置と同じ容量で
あることが、この発明の別の特徴である。ノーマルフレ
ームの形式の回路情報が5フレームからなる前述の例の
場合には、コンフィギュレーションメモリ106は、1
回路情報分である5フレームを記憶できる容量を備えて
いればよい。
【0157】したがって、従来のマルチコンテキスト技
術によるプログラマブル論理回路装置のコンフィギュレ
ーションメモリの回路規模が大きいことに起因して、回
路素子の負荷容量が大きくなることで、回路性能が低下
したり消費電力が大きくなるという問題が、この第1の
実施の形態により解決される。
【0158】また、この第1の実施の形態では、回路情
報は、前述のようにして図2(B)に示したように圧縮
されるので、回路情報記憶部102は、ノーマルフレー
ムの構造で必要とする容量よりも少ない容量で、必要と
する複数個の回路情報を記憶することができる。因み
に、上述の例の場合には、ノーマルフレームの形式で記
憶する場合には、回路情報記憶部102では、15フレ
ーム分の容量を必要とするものが、図2(C)に示すよ
うに、9フレーム分を記憶する容量で済むものである。
【0159】[シリアル形式の回路情報による第1の実
施の形態のプログラマブル論理回路装置100のコンフ
ィギュレーション]図4は、図1に示した、第1の実施
の形態のプログラマブル論理回路装置へのシリアル形式
の回路情報によるコンフィギュレーション動作を説明す
るための機能ブロック図である。この図4に示したブロ
ック図を用いて、この場合の回路情報のコンフィギュレ
ーションメモリへの格納を説明する。
【0160】図1で示した回路情報入力制御部101
は、図4においては、コンフィギュレーションコントロ
ーラ101a、レングスカウントレジスタ101b、セ
レクタ101c、複数個のシフトレジスタ101dで構
成される。
【0161】また、図1で示したプログラマブル論理回
路部104の回路素子105とコンフィギュレーション
メモリ106は、図4においては、例えば、図24
(A)のようなFPGA型であれば、例えば縦一列の複
数個の論理回路セル分を単位として、複数列分に分けら
れる。
【0162】すなわち、縦一列の複数個の論理回路セル
分の回路情報を格納できる容量のコンフィギュレーショ
ンメモリ106sと、それに接続される回路素子105
sとからなる組として、複数列分で構成される。この場
合、1ノーマルフレームの回路情報は、縦一列の複数個
の論理回路セル分の回路情報の大きさとされる。
【0163】そして、各シフトレジスタ101dの各段
のレジスタは、各列のコンフィギュレーションメモリ1
06sの各メモリセルに結線される。したがって、各シ
フトレジスタ101dは、例えば、図24(A)のよう
なFPGA型であれば、縦一列の論理回路セル数への回
路情報分の段数を備えるもので構成されている。そし
て、一つのシフトレジスタが縦一列の複数個の論理回路
セルに対して割り当てられて、シフトレジスタ101d
は、横方向の論理回路セル数分だけ設けられる。
【0164】なお、論理回路セル数が多い場合には、数
列〜数十列程度の複数列分について一つのシフトレジス
タ101dが設けられて、その複数列に共通に一つのシ
フトレジスタ101dが使用されるように構成される場
合もある。なお、回路情報のノーマルフレームの大きさ
は、シフトレジスタ101dの一つ分のデータ量とな
る。
【0165】また、図1で示した回路情報記憶部102
は、コンフィギュレーションキャッシュメモリ102M
に対応し、回路情報編集部103の機能は、コンフィギ
ュレーションコントローラ101aに組み込まれてい
る。
【0166】この図4の構成において、外部記憶装置9
から回路情報が読み込まれると、コンフィギュレーショ
ンコントローラ101aを介してコンフィギュレーショ
ンキャッシュメモリ102Mに格納される。
【0167】コンフィギュレーションコントローラ10
1aが、コンテキスト選択の指示を受けると、指示に対
応する回路情報が、コンフィギュレーションキャッシュ
メモリ102Mからコンフィギュレーションコントロー
ラ101aに読み込まれる。コンフィギュレーションコ
ントローラ101aは、読み込んだ回路情報のヘッダ部
HDsのプリアンブルコードを検知して回路情報編集処
理を開始する。
【0168】プリアンブルコードに続くレングスカウン
トは、レングスカウントレジスタ101bに格納され
る。レングスカウントレジスタ101bの値は、次に説
明するシフトレジスタ101dのデータシフトごとに1
を減じられ、レングスカウントレジスタ101bの値が
0になるまでシフトレジスタ101dが動作する。この
ことによって、全てのデータがシフトレジスタ101d
に送り出される。
【0169】区切りコードに続くデータ部DTsは、後
述する手順により、リピートフレームやリファレンスフ
レームの状態として圧縮されたフレームから、圧縮が解
かれた状態のノーマルフレームに変換されて、セレクタ
101cに送られる。
【0170】初期状態では、セレクタ101cは、デー
タを第1列目のシフトレジスタ101dに送り出す。シ
フトレジスタ101dは、セレクタ101cから送り出
されたデータを順次シフトする。データがシフトレジス
タ101dの最後までシフトされると、セレクタ101
cは次の列のシフトレジスタ101dにデータの送り出
しを切り替える。先に述べたレングスカウンタの値が0
になるまで、シフトレジスタ101dが動作することに
より、全てのデータがシフトレジスタ101dに格納さ
れる。
【0171】シフトレジスタ101dがデータで満たさ
れると、そのデータは同時並列的にコンフィギュレーシ
ョンメモリ106sに転送され、プログラマブル論理回
路部104の再構成が行われる。この場合、例えば、前
述の図29に示したように、コンフィギュレーションメ
モリ106sの各メモリセルのラッチが、シフトレジス
タの各レジスタに接続されており、ラッチへラッチクロ
ックLCLKを送ることによりシフトレジスタからコン
フィギュレーションメモリへ同時並列的にデータが転送
される。
【0172】データ部DTsに続くフッタ部FTsのポ
ストアンブルコードをコンフィギュレーションコントロ
ーラ101aが検知するとコンフィギュレーション処理
が終了する。
【0173】以上説明した再構成手順を、前述の例と同
様に、アプリケーションプログラムにより指示される処
理が、回路情報1、回路情報2、回路情報3の3個の回
路情報により行われる場合として、図5、図7、図8の
フローチャートと、図6のタイミングチャートを参照し
て説明する。なお、図6のタイミングチャートでは、回
路情報1、回路情報2、回路情報3の順にプログラマブ
ル論理回路装置が再構成されて、処理が終了するとし
た。
【0174】まず、最初に、回路情報入力制御部101
は、外部記憶装置(図1では図示せず)などに格納され
た回路情報を、一つずつ読み込んで回路情報記憶部10
2に格納する(ステップS201)。このとき、回路情
報を読み込むたびに、回路情報記憶部102(コンフィ
ギュレーションキャッシュメモリ102M)の残り容量
を確認し(ステップS202、203)、全ての回路情
報を読み込む前に回路情報記憶部102が一杯になった
ときは、エラーを検知して動作を終了する(ステップS
204)。
【0175】回路情報入力制御部101が、すべての回
路情報を回路情報記憶部102に格納すると、回路情報
編集部103(コンフィギュレーションコントローラ1
01aの一部)が選択信号を監視する(ステップS20
5)。回路情報編集部103は、例えば使用者の選択操
作などにより選択信号が切り替えられたことを検知する
と、3個の回路情報のうちのどれが選択されたかを判別
し(ステップS206)、切り替えられた選択信号に応
じた回路情報を回路情報記憶部102から読み出す(ス
テップS207またはステップS208またはステップ
S209)。
【0176】次に、読み出した回路情報から、フレーム
の繰り返し(リピートフレーム)や他の回路情報のフレ
ームの参照(リファレンスフレーム)の有無を調べ、リ
ピートフレームやリファレンスフレームを、読み出した
回路情報が含むと判別したときには、それらのリピート
フレームやリファレンスフレームを、後述の図7、図8
のフローチャートに示すようにして解消することによ
り、回路情報の圧縮状態を解き、その圧縮状態を解いた
後の回路情報をコンフィギュレーションメモリ106に
転送する(ステップS210)。
【0177】回路情報編集部103は、例えば、図2
(D)に示すように、回路情報1のように、フレーム
(1−B)が4回繰り返す場合は、フレーム(1−B)
の後に同じフレームデータを3回付加する。また、回路
情報2のように、回路情報1のフレーム(1−A)が、
その第2フレームに参照されている場合は、回路情報編
集部103が回路情報記憶部102から回路情報1のフ
レーム(1−A)のデータを取り出して、回路情報2の
第2フレームに挿入する。さらに、回路情報3のよう
に、回路情報2のフレーム(2−A)とフレーム(2−
B)が、その第1、第2、第3フレームと第4フレーム
に参照されている場合は、回路情報編集部103が回路
情報記憶部102から、回路情報2のフレーム(2−
A)とフレーム(2−B)のデータを取り出して、回路
情報3の第1、第2フレーム、第3フレームと、第4フ
レームとに挿入する。
【0178】以上のようにして、圧縮状態を解かれて、
ノーマルフレームからなる回路情報とされたフレームデ
ータが、全てコンフィギュレーションメモリ106に転
送されて、格納されると、プログラマブル論理回路部1
04への指定された回路の再構成が完了する。なお、読
み出した回路情報が、リピートフレームやリファレンス
フレームを含まない場合には、そのまま回路情報は順次
に、コンフィギュレーションメモリ106に転送され、
指定された回路の再構成が完了する。
【0179】その後、プログラマブル論理回路装置10
0による処理が継続する限り、回路情報編集部103に
よる選択信号の監視が続けられる(ステップS211お
よびステップS205以降の処理)。プログラマブル論
理回路装置100による処理が終了すると(ステップS
211)、選択信号の如何にかかわらず再構成の手順は
終了する。
【0180】プログラマブル論理回路装置100による
処理が終了した場合、プログラマブル論理回路装置10
0への電源供給が遮断されたりしない限り、一般的に
は、最後に選択された回路情報で再構成された状態が保
持される。
【0181】以上の処理を、図6のタイミングチャート
について、さらに説明する。すなわち、処理が実行状態
になると、まず、3個の回路情報1、2、3の回路情報
記憶部102への読み込みが行われる。読み込みが終了
して、回路情報の選択指示が行われると、その選択指示
された回路情報が、回路情報記憶部102から回路情報
編集部103に転送され、必要な編集が行われる。そし
て、その編集後の回路情報が、コンフィギュレーション
メモリ106に格納されて、その回路情報によりプログ
ラマブル論理回路部104が再構成される。
【0182】図6で、実行終了後も回路情報3が構成さ
れて続けているのは、前述したように、処理が終了した
場合、電源供給が遮断されたりしない限り、一般的に
は、プログラマブル論理回路装置は、最後に選択された
回路情報で再構成された状態が保持されるからである。
【0183】なお、コンフィギュレーションメモリ10
6sと回路素子105sとの組のすべてにシフトレジス
タ101dが存在する場合であれば、編集後の回路情報
は、それらのシフトレジスタ101dに書き込まれるこ
とにより、コンフィギュレーションメモリ106に格納
される。
【0184】しかし、シフトレジスタ101dが、複数
列(複数組)のコンフィギュレーションメモリ106s
と回路素子105sに対して共通となる場合には、回路
情報編集部103は、その編集結果を保持するメモリ部
を備える必要がある。
【0185】[回路情報編集部103におけるリピート
フレームおよびリファレンスフレームの解消処理]図7
および図8を参照しながら、図5のステップS210の
リピートフレームやリファレンスフレームの解消処理を
含む編集処理およびコンフィギュレーションメモリ10
6への転送処理について説明する。
【0186】まず、回路情報編集部103が、最初のフ
レームを読み込み(ステップS301)、そのフレーム
の種類をフレームのスタートフィールド(ステップS3
02)で判別する。すなわち、スタートフィールドが、
スタートフィールドビットデータSTBであるときに
は、ノーマルフレームであると判別し、また、スタート
フィールドリピートデータSTrpであるときには、リ
ピートフレームであると判別し、さらに、スタートリフ
ァレンスデータSTrefであるときには、リファレン
スフレームであると判別する。
【0187】ステップS302でのフレームの種類の判
別の結果、読み込まれたフレームがノーマルフレームの
ときは、フレームのデータをそのまま送り出す(ステッ
プS303)。
【0188】ステップS302でのフレームの種類の判
別の結果、読み込まれたフレームがリピートフレームの
ときは、リファレンスカウントRCNTを読み込む(ス
テップS304)。つぎに、出力はノーマルフレームの
データとして送出するので、スタートフィールドビット
データSTB、コンフィギュレーションデータCFG
D、ストップフィールドビットデータENBを送り出し
て(ステップS305、S306、S307)、リファ
レンスカウントRCNTから1を減じる(ステップS3
08)。
【0189】そして、リファレンスカウントRCNTの
値が0になったか否か判別し(ステップS309)、0
でなければ、ステップS305からステップS308の
手順を繰り返す。そして、リファレンスカウントRCN
Tが0になったら、全ての処理が終了したか否か判別し
(ステップS310)、終了していなければ、ステップ
S301に戻って、上述のステップを繰り返す。全ての
処理を終了すれば、この処理ルーチンを終了する。
【0190】以上のように、ステップS305からステ
ップS308の手順が、リファレンスカウントRCNT
が0になるまで繰り返されることにより、圧縮されたリ
ピートフレームからリファレンスカウントRCNTで指
示された数のノーマルフレームが生成される。
【0191】ステップS302でのフレームの種類の判
別の結果、読み込まれたフレームがリファレンスフレー
ムのときは、リファレンスカウントRCNT、リファレ
ンスアドレスRADR、リファレンスオフセットROF
Sを読み込む(図8のステップS311、S312,S
313)。
【0192】次に、回路情報記憶部102内の参照先の
フレームの位置を示すリファレンスアドレスRADR
に、参照先のフレーム内での参照するコンフィギュレー
ションデータCFGDの相対位置を表すリファレンスオ
フセットROFSを加えて、参照するコンフィギュレー
ションデータの、回路情報記憶部102の絶対アドレス
を計算する(ステップS314)。
【0193】次に、その絶対アドレスに位置するコンフ
ィギュレーションデータを、回路情報記憶部102から
読み出して回路情報編集部103内に一時的に格納する
(ステップS315)。
【0194】次に、リピートフレームの場合と同じよう
に、出力はノーマルフレームのデータとして送出するの
で、スタートフィールドビットデータSTB、コンフィ
ギュレーションデータCFGD、ストップフィールドビ
ットデータENBを順次に送り出して(ステップS31
6、S317、S318)、リファレンスカウントRC
NTから1を減じる(ステップS319)。そして、リ
ファレンスカウントRCNTが0になるまで、ステップ
S316〜ステップS319の手順を繰り返す(ステッ
プS320)。
【0195】そして、リファレンスカウントRCNTが
0になったら、全ての処理が終了したか否か判別し(ス
テップS310)、終了していなければ、ステップS3
01に戻って、上述のステップを繰り返す。全ての処理
を終了すれば、この処理ルーチンを終了する。
【0196】以上のように、ステップS316からステ
ップS319の手順が、リファレンスカウントRCNT
が0になるまで繰り返されることにより、圧縮されたリ
ファレンスフレームから、参照されたコンフィギュレー
ションデータを持ったノーマルフレームがリファレンス
カウントRCNTで指示された数だけ生成される。
【0197】以上の手順を全てのフレームに対して行う
ことにより、リピートフレームやリファレンスフレーム
により圧縮された回路情報から、圧縮が解かれた回路情
報(ノーマルフレームのみからなる回路情報)が生成さ
れる。
【0198】そして、以上のようにして圧縮が解かれた
回路情報は、回路情報編集部103から回路情報入力制
御部101に送られることにより、従来のプログラマブ
ル論理回路装置のコンフィギュレーションと同じ手順
で、プログラマブル論理回路部104にコンフィギュレ
ーションされる。
【0199】[第2の実施の形態]次に、この発明によ
るプログラマブル論理回路装置の第2の実施の形態を、
第1の実施の形態と比較しながら説明する。
【0200】この第2の実施の形態のプログラマブル論
理回路装置としては、前述の図1に示した第1の構造の
プログラマブル論理回路装置100を用いる。また、回
路情報は、図3に示したものと同一のシリアル形式の回
路情報を用いる。この第2の実施の形態で、第1の実施
の形態と異なるのは、コンフィギュレーションの方法で
ある。
【0201】図9は、この第2の実施の形態の場合の回
路情報およびその編集動作を説明するための図である。
この図9の例も、図2の第1の実施の形態の場合と同様
に、前述の従来のマルチコンテキスト技術によるプログ
ラマブル論理回路装置のコンフィギュレーションにおい
て説明した図37に示したものと同じ3つの回路情報
1、2、3による3個の回路を再構成する手順の例であ
る。
【0202】この図9においても、回路情報のフレーム
構造は、図2に示したものと同じである。すなわち、図
9(A)〜図9(C)は、図2(A)〜図2(C)と全
く同一である。
【0203】この第2の実施の形態においても、図6に
示したタイミングチャートと同じように、回路情報1、
回路情報2、回路情報3、の順番で再構成されるとす
る。
【0204】この第2の実施の形態においては、回路情
報2によって再構成した後に、回路情報3によって再構
成するとき、回路情報3の第1フレームと第4フレーム
のフレームデータは、回路情報2の第1フレームと第4
フレームのフレームデータとそれぞれ同じであること
が、回路情報編集部103によって検知される。
【0205】異なる回路情報において、同じ位置のフレ
ームのデータが同じであるということは、回路情報が異
なっても、プログラマブル論理回路部104において、
そのフレームに対応した回路素子の機能と結線状態は同
じであるということを意味する。すなわち、回路情報2
に従って再構成された後に、回路情報3に従って再構成
する場合は、第1フレームと第4フレームに対応する回
路情報は、改めてコンフィギュレーションメモリ106
に格納する必要は無いことが分かる。
【0206】そこで、この第2の実施の形態では、回路
情報編集部103は、編集により生成した回路情報が、
その前に生成された回路の回路情報と、同じフレーム位
置に同じフレームのデータを含む場合は、そのフレーム
のデータを回路情報入力制御部101に転送しない。
【0207】この第2の実施の形態における回路情報編
集部103での編集処理およびコンフィギュレーション
メモリ106への転送処理を、図10および図11のフ
ローチャートと、前述の図6のタイミングチャートを参
照して説明する。図6のタイミングチャートでは、回路
情報1、回路情報2、回路情報3の順にプログラマブル
論理回路装置が再構成されて、処理が終了するとしてい
る。
【0208】図10および図11のフローチャートのほ
とんどは、第1の実施の形態における対応する図7およ
び図8のフローチャートと同一であるので、その同一部
分には、図7および図8のフローチャートと同じステッ
プ番号を付すことにする。
【0209】図10および図11と、第1の実施の形態
の図7および図8との違いは、次の通りである。すなわ
ち、ステップS302でのフレームの種類の判別の結
果、読み込まれたフレームが、リファレンスフレームで
あると判別されたときには、図11に示すように、その
フレームが、その直前に再構成された回路の回路情報の
同じ位置のフレームと同一であるか否か判別され(ステ
ップS330)、同一でなければ、前述と同様にして、
ステップS311以降の手順を実行する。
【0210】一方、ステップS330での判別の結果、
そのフレームが、その直前に再構成された回路の回路情
報の同じ位置のフレームと同一であると判別されたとき
には、そのフレームの回路情報のコンフィギュレーショ
ンメモリ106への転送は、スキップされ(ステップS
331)、リファレンスカウントRCNTから1を減じ
る(ステップS332)。
【0211】そして、リファレンスカウントRCNTの
値が0になったか否か判別し(ステップS333)、0
でなければ、ステップS330に戻り、上述の動作を繰
り返す。そして、ステップS333でリファレンスカウ
ントRCNTが0になったと判別されたときには、全て
の処理が終了したか否か判別し(ステップS310)、
終了していなければ、ステップS301に戻って、上述
のステップを繰り返す。全ての処理を終了すれば、この
処理ルーチンを終了する。
【0212】その他のステップの手順は、図7および図
8で説明したものと全く同一である。すなわち、図11
において、アンダーラインを付したステップが、この第
2の実施の形態において、図7および図8のフローチャ
ートに付加されている。
【0213】図9(D)に示すように、この場合の例に
おいては、回路情報2のフレーム(2−A)が、回路情
報3の第1、第2、第3フレームに参照されており、ま
た、回路情報2のフレーム(2−B)が、回路情報3の
第4フレームに参照されている。そして、それらの参照
されているフレームのうち、第1フレームと第4フレー
ムのフレームデータが、回路情報2と、回路情報3とで
同一である。このため、この第2の実施の形態の場合に
は、回路情報3では、図9(D)でブランクで示すよう
に、第1フレームと第4フレームのフレームデータは、
コンフィギュレーションメモリ106には転送されな
い。
【0214】しかし、コンフィギュレーションメモリ1
06の対応するフレームの部分には、既に、回路情報2
の各フレームデータが転送されて格納されていることか
ら、回路情報3で必要とするフレームデータが格納され
ている。
【0215】以上のようにして、この第2の実施の形態
においては、既にコンフィギュレーションメモリ106
に存在している回路情報を有効利用することにより、不
必要なフレームデータの転送を回避することができるの
で、回路情報のコンフィギュレーションを、より高速化
することができるものである。
【0216】[第3の実施の形態][この発明によるプ
ログラマブル論理回路装置の第2の構造]この第3の実
施の形態のプログラマブル論理回路装置は、この発明に
よるプログラマブル論理回路装置の第2の構造を備え
る。図12は、この第2の構造を備える、この発明によ
るプログラマブル論理回路装置200の構成を示すもの
で、回路情報を外部から読み込む回路情報入力制御部2
01と、読み込まれた回路情報に従って回路機能を実現
するプログラマブル論理回路部202とから構成され
る。
【0217】プログラマブル論理回路部202には、回
路が再構成される回路素子2021と、この回路素子2
021に回路を再構成するための回路情報を格納するコ
ンフィギュレーションメモリ2022が設けられるの
は、前述の実施の形態と同様であるが、さらに、この第
2の構造においては、プログラマブル論理回路部202
には、処理に必要となる複数の回路情報を一時的に記憶
する回路情報記憶部2023と、これらの複数の回路情
報から必要な回路情報を選択して編集する回路情報編集
部2024とが再構成されて設けられる。
【0218】すなわち、前述した第1の構造は、従来の
通常の構成のプログラマブル論理回路装置の構成要素で
ある回路情報入力制御部とプログラマブル論理回路部の
他に、回路情報記憶部と、回路情報編集部を新たに設け
る構成であって、従来の通常の構成のプログラマブル論
理回路装置を、そのまま用いることができない構成であ
るが、この発明によるプログラマブル論理回路装置の実
施の形態の第2の構造は、従来の通常の構成のプログラ
マブル論理回路装置のプログラマブル論理回路部202
内に、回路情報記憶部2023と回路情報編集部202
4とを再構成した構造とすることにより、従来の通常の
構成のプログラマブル論理回路装置をそのまま使用でき
るようにした場合である。
【0219】この第2の構造においても、第1の構造と
同じように、プログラマブル論理回路装置200に読み
込まれた複数の回路情報は、プログラマブル論理回路部
202の回路情報記憶部2023に格納され、回路情報
編集部2024で編集された後に、回路情報入力制御部
201によってコンフィギュレーションメモリ2022
に書き込まれる。コンフィギュレーションメモリ202
2に書き込まれた回路情報に従って、回路素子2021
の機能と結線状態が決められる。
【0220】第2の構造の、第1の構造との第一の違い
は、まず最初に、プログラマブル論理回路装置200と
して一つの回路情報を読み込んで、そのプログラマブル
論理回路部202に、回路情報記憶部2023と回路情
報編集部2024の機能を備える回路部分を再構成する
ことにある。このときの回路情報は、回路情報入力制御
部201を介してコンフィギュレーションメモリ202
2に格納される。
【0221】また、第2の構造の、第1の構造との第2
の違いは、例えば外部記憶装置から複数の回路情報を読
み込んで回路情報記憶部2023に記憶するときに、回
路情報入力制御部201を介さず、プログラマブル論理
回路部202の入出力部を介して回路情報記憶部202
3に複数の回路情報を読み込むことにある。したがっ
て、この第2の構造においては、プログラマブル論理回
路部202の入出力部が、回路情報記憶部2023への
回路情報の書き込み手段を構成する。
【0222】また、第2の構造の、第1の構造との第3
の違いは、回路情報編集部2024で編集された回路情
報が、プログラマブル論理回路部202の入出力部を介
してプログラマブル論理回路装置200の外部に出力さ
れ、改めて回路情報入力制御部201に入力されること
である。回路情報入力制御部201が、コンフィギュレ
ーションメモリ2022に回路情報を転送してコンフィ
ギュレーションを実行するのは、従来と同様である。
【0223】上記の第2と第3の違いは、従来のプログ
ラマブル論理回路装置は複数の回路情報を読み込むこと
ができないこと、プログラマブル論理回路部に構成され
た回路は入出力部を介してデータを入出力しなければな
らないこと、により生じる。
【0224】[第3の実施の形態におけるコンフィギュ
レーション]この第3の実施の形態においては、プログ
ラマブル論理回路装置200が上述した第2の構造を備
える他は、シリアル形式で回路情報が構成されるととも
に、回路情報が前述の図3に示すような3種のフレーム
構成を取り得ることにより、前述と同様にして圧縮され
る点は、前述の第1および第2の実施の形態の場合と同
様である。
【0225】以下では、第3の実施の形態のプログラマ
ブル論理回路装置200の構成要素のうち、回路情報入
力制御部201、回路情報記憶部2023、回路情報編
集部2024、コンフィギュレーションメモリ2022
に着目して、図13を参照しながら、この第3の実施の
形態のプログラマブル論理回路装置200の動作を説明
する。
【0226】図13に示した例では、プログラマブル論
理回路装置200のコンフィギュレーションメモリ20
22は、5フレーム分の回路情報が格納可能である。そ
して、このプログラマブル論理回路装置200において
は、最初の1フレーム(第1フレーム)で回路情報記憶
部2023と回路情報編集部2024を、プログラマブ
ル論理回路部202内に再構成し、残りの4フレーム
(第2フレームから第5フレーム)で、3種類の処理回
路を再構成する。
【0227】実際的には、図13に示すように、最初の
回路情報として、回路情報記憶部2023と回路情報編
集部2024とを再構成するための第1フレームのみの
回路情報0を用意する。そして、この回路情報0によ
り、プログラマブル論理回路部202に回路情報記憶部
2023と回路情報編集部2024とを再構成する。処
理に必要な回路情報1、2、3は、図13に示すよう
に、この第1フレームの部分は、再構成しないように、
第1フレーム部分はブランクとした4フレームで構成さ
れる。
【0228】図13の例においては、最終的には、前述
の実施の形態と同様にして、3つの回路情報1、2、3
は、前述のような回路情報の圧縮により、より小さいフ
レーム数で構成される。
【0229】すなわち、回路情報1は、フレーム(1−
A)と、フレーム(1−B)の2フレームで構成され
る。フレーム(1−B)は、リピートフレームの構成で
あり、この例の場合には、同フレームを3回繰り返すと
いう参照情報が付加されている。
【0230】回路情報2は、フレーム(2−A)、フレ
ーム(1−A)、フレーム(2−B)の3フレームで構
成される。回路情報2のフレーム(1−A)は、リファ
レンスフレームであり、そのフレームデータには回路情
報1のフレーム(1−A)と同じであるという参照情報
が付加されているとともに、同フレームを2回繰り返す
という参照情報が付加されている。
【0231】回路情報3は、フレーム(2−A)、フレ
ーム(2−B)の2フレームで構成される。回路情報3
のフレーム(2−A)とフレーム(2−B)には、それ
ぞれ、フレームデータは回路情報2のフレーム(2−
A)とフレーム(2−B)と同じであるという参照情報
が付加され、また、フレーム(2−A)には、同フレー
ムを3回繰り返すという参照情報が付加されている。
【0232】以上のように、この第3の実施の形態の回
路情報も、第1の実施の形態と同じようにして圧縮され
ている。したがって、回路情報記憶部2023に格納さ
れるフレーム数は、圧縮がない場合には、12フレーム
分が必要であるのに対して、7フレームというように、
少ないフレーム数で良くなる。
【0233】そして、この第3の実施の形態において
も、回路情報記憶部2023および回路情報編集部20
24の働きは、上述の実施の形態と同様であり、外部か
ら読み込まれた複数の回路情報、この例では回路情報
1、2、3は、回路情報記憶部2023に一時記憶され
る。そして、回路情報編集部2024は、使用者の選択
指示に応じた選択信号に従って、回路情報記憶部202
3から圧縮された回路情報を取り出し、取り出した回路
情報を従来のプログラマブル論理回路装置のコンフィギ
ュレーションメモリに格納される回路情報と同様の回路
情報に編集する。次に、回路情報入力制御部201が、
回路情報編集部2024からの回路情報をコンフィギュ
レーションメモリ2022に格納し、その回路情報に従
ってプログラマブル論理回路装置200が再構成され
る。
【0234】この再構成手順を図15のフローチャート
と図16のタイミングチャートを参照して説明する。図
16のタイミングチャートでは、回路情報1、回路情報
2、回路情報3の順にプログラマブル論理回路装置20
0に処理に必要な回路が再構成されて、処理が終了する
とした。
【0235】図15のフローチャートは、前述した第1
の実施の形態および第2の実施の形態の図5のフローチ
ャートと比較すると、最初に、ステップS400が挿入
されている点が異なるのみで、その後のステップは、全
く同一である。そこで、図15のフローチャートにおい
ても、図5のフローチャートと同一ステップには、同一
ステップ番号を付している。
【0236】まず、最初に、回路情報入力制御部201
は、プログラマブル論理回路部202に、回路情報記憶
部2023と回路情報編集部2024とを再構成する回
路情報0を読み込む。図13に示すように、回路情報0
は、その第1フレーム0に、回路情報記憶部2023と
回路情報編集部2024とを再構成する回路情報を有し
ている。そして、その第2フレームから第5フレーム
は、後に処理回路を再構成するために、空きフレームと
なっている。この手順は、従来のプログラマブル論理回
路装置で実現される手順と同じである。
【0237】その後は、前述したステップS201〜ス
テップS211の手順が実行されて、回路情報1、2、
3は、順次、圧縮が解凍されながら、コンフィギュレー
ションメモリ2022に格納され、プログラマブル論理
回路装置200に、処理に必要な回路が順次に再構成さ
れる。
【0238】すなわち、外部記憶装置(図示せず)など
に格納されている複数個の回路情報1、2、3を、プロ
グラマブル論理回路部202の入出力部を介して、一つ
ずつ読み込んで回路情報記憶部2023に格納する(ス
テップS201)。前述の実施の形態の場合と異なり、
この第2の実施の形態の場合には、回路情報入力制御部
を介して読み込むのではなく、プログラマブル論理回路
部202の入出力部を介して読み込む。
【0239】このとき、一つの回路情報を読み込むたび
に、回路情報記憶部2023の残り容量を確認し、全て
の回路情報を読み込む前に回路情報記憶部2023が一
杯になったときは、エラーを検知して動作を終了する
(ステップS202、S203,204)。
【0240】読み込まれる回路情報1、2、3の第1フ
レームは、図13に示すように、既に、コンフィギュレ
ーションメモリ2022に格納されて、プログラマブル
論理回路部202に再構成されている回路情報記憶部2
023と回路情報編集部2024の部分と干渉しないよ
うに、つまり、プログラマブル論理回路部202におい
て、これら回路情報記憶部2023と回路情報編集部2
024の回路構成が壊されないように、空きフレームと
なっている。
【0241】すべての回路情報が回路情報記憶部202
3に格納されると(ステップS202)、回路情報編集
部2024が選択信号を監視する(ステップS205、
ステップS206)。回路情報編集部2024が、選択
信号が切り替えられたことを検知すると、切り替えられ
た回路情報に従って、回路情報記憶部2023から、必
要な回路情報を取り出す(ステップS207〜ステップ
S209)。
【0242】次に、取り出した回路情報から、フレーム
の繰り返し(リピートフレーム)や他の回路情報のフレ
ームの参照(リファレンスフレーム)を調べ出し、それ
らのリピートフレームやリファレンスフレームを解消す
ることにより、回路情報の圧縮状態を解く(ステップS
210)。
【0243】ステップS210の回路情報編集処理にお
いては、図14に示すように、回路情報1のように、フ
レーム(1−B)が3回繰り返す場合は、フレーム(1
−B)の後に同じフレームデータを2回付加する。
【0244】回路情報2のように、回路情報1のフレー
ム(1−A)が、その第3フレームに参照されている場
合は、回路情報編集部2024が回路情報記憶部202
3から回路情報1のフレーム(1−A)のデータを取り
出して、回路情報2の第3フレームに挿入する。
【0245】さらに、回路情報3のように、回路情報2
のフレーム(2−A)とフレーム(2−B)が、その第
2、第3、第4フレームと、第5フレームに参照されて
いる場合は、回路情報編集部2024が回路情報記憶部
2023から回路情報2のフレーム(2−A)とフレー
ム(2−B)のデータを取り出して、回路情報3の第
2、第3、第4フレームと第5フレームに挿入する。
【0246】圧縮状態を解かれた回路情報は、回路情報
入力制御部201に送られ、従来のプログラマブル論理
回路装置と同じように、コンフィギュレーションメモリ
2022に格納され、再構成が完了する(ステップS2
11)。
【0247】その後、プログラマブル論理回路装置によ
る処理が継続する限り、回路情報編集部による選択信号
の監視が続けられる。プログラマブル論理回路装置によ
る処理が終了すると、選択信号の如何にかかわらず再構
成の手順は終了する。
【0248】図16は、以上の回路情報の読み込みおよ
び回路情報の再構成動作のタイミングチャートである。
回路情報1、2、3の読み込みに先立ち、回路情報記憶
部2023および回路情報編集部2024をプログラマ
ブル論理回路部202に予め再構成するため、回路情報
0を読み込むようにする点が、第1および第2の実施の
形態の場合の図6のタイミングチャートと異なってい
る。
【0249】[第4の実施の形態]この第4の実施の形
態は、第3の実施の形態において、前述した第2の実施
の形態と同様に、直前に既にプログラマブル論理回路部
202に再構成してある回路を有効利用するようにした
場合である。
【0250】すなわち、この第4の実施の形態において
は、回路情報編集部2024で、回路情報記憶部202
3から読み出した回路情報の編集を行なって、回路情報
入力制御部201を通じてコンフィギュレーションメモ
リ2022に回路情報を転送する際に、その直前にプロ
グラマブル論理回路部202に再構成されて生成された
回路の回路情報と、同じフレーム位置に同じフレームの
データを含む場合は、そのフレームのデータは、回路情
報入力制御部201を通じてコンフィギュレーションメ
モリ2022に転送しない。
【0251】例えば、前述と同様の3つの回路情報1、
2、3により、3つの回路を順次にプログラマブル論理
回路装置200に再構成して生成する場合を例にとる
と、図17に示すように、回路情報2によってプログラ
マブル論理回路部202を再構成した後に、回路情報3
によってプログラマブル論理回路部202を再構成する
とき、回路情報3の第2フレームと第5フレームのフレ
ームデータは、回路情報2の、同じ位置のフレームのデ
ータとそれぞれ同じであることが、回路情報編集部20
24によって検知される。
【0252】そして、前述もしたように、回路情報にお
いて同じ位置のフレームのデータが同じであるというこ
とは、そのフレームに対応した回路素子の機能と結線状
態は同じであるということを意味するので、回路情報3
に従って再構成する場合は、第2フレームと第5フレー
ムに対応する回路情報を改めてコンフィギュレーション
メモリに格納する必要はなく、図10および図11に示
した場合と全く同様にして、そのフレームのデータ部分
は、スキップして、そのフレームデータを回路情報入力
制御部201に転送しない。
【0253】[第5の実施の形態]以上説明した第1〜
第4の実施の形態は、全て、回路情報は、シリアル形式
の場合としたが、この発明は、パラレル形式の回路情報
の場合にも、もちろん適用できる。この第5の実施の形
態は、パラレル形式の回路情報の場合である。
【0254】この第5の実施の形態では、パラレル形式
の回路情報の具体的な構造を示して、回路情報編集部1
03(第1および第2の実施の形態の場合)や回路情報
編集部2024(第3および第4の実施の形態の場合)
で行われる回路情報のリピートフレームやリファレンス
フレームの解消について説明する。
【0255】[この発明によるパラレル形式の回路情
報]この第5の実施の形態に用いるパラレル形式の回路
情報の構造を図18に示す。図32に示した従来のパラ
レル形式の回路情報と同じように、この場合のパラレル
形式の回路情報も、図18(A)に示すように、ヘッダ
部HDp、データ部DTp、フッタ部FTpから構成さ
れる。
【0256】プログラマブル論理回路装置100または
200内では、あるビット幅(例えば32ビット)のパ
ラレル形式の回路情報は、適当な単位(例えば、1ビッ
ト、64ビット)で区切ることにより、プログラマブル
論理回路装置100または200外で、シリアル転送、
異なるバス幅のパラレル伝送やパラレルメモリアクセス
を行うことができる。
【0257】ヘッダ部HDpは、回路情報の始まりを示
すプリアンブルコードと、回路情報の入力クロック速度
などのコンフィギュレーションパラメータを設定するオ
プションコードと、設定されたオプションを実行してデ
ータの読み込みを開始するスイッチコマンドとからな
る。このスイッチコマンドは、この発明の各実施の形態
の回路情報編集部への編集指示情報ともなっている。
【0258】データ部DTpは、シリアル形式と同様に
3種類の複数のフレームからなる。フッタ部FTpは、
回路情報の終わりを表すポストアンブルコードからな
る。
【0259】データ部DTpを構成するフレームは、こ
のパラレル形式においても、ノーマルフレーム、リピー
トフレーム、リファレンスフレームの3種類である。
【0260】ノーマルフレームは、図18(B)に示す
ように、従来のパラレル形式の回路情報で用いられるフ
レームと同じ構造であり、データを書きこむコンフィギ
ュレーションメモリ内のフレーム位置を表すフレームア
ドレスFADR、データの書きこみを指示するデータイ
ンコマンドDIN、コンフィギュレーションデータCF
GDから読み込むワード数を指示するワードカウントW
CNT、コンフィギュレーションデータCFGDからな
る。
【0261】リピートフレームは、図18(C)に示す
ように、データを書きこむコンフィギュレーションメモ
リ内のフレーム位置を表すフレームアドレスFADR、
データの繰り返しを指示するリピートコマンドREP
T、コンフィギュレーションデータCFGDから読み込
むワード数を指示するワードカウントWCNT、繰り返
し数を指示するリファレンスカウントRCNT、コンフ
ィギュレーションデータCFGDからなる。のちに説明
する手順で、圧縮されたリピートフレームからリファレ
ンスカウントRCNTで示された数のノーマルフレーム
が生成される。
【0262】リファレンスレームは、図18(D)に示
すように、データを書きこむコンフィギュレーションメ
モリ内のフレーム位置を表すフレームアドレスFAD
R、データの参照を指示するリファレンスコマンドRE
FC、コンフィギュレーションデータCFGDから読み
込むワード数を指示するワードカウントWCNT、繰り
返し数を指示するリファレンスカウントRCNT、参照
先のフレーム内でデータを読み出す相対アドレスを示す
リファレンスオフセットROFS、回路情報記憶部10
2または2023内の参照先のフレームのアドレスを示
すリファレンスアドレスRADRからなる。のちに説明
する手順で、圧縮されたリファレンスフレームから、リ
ファレンスアドレスRADRとオフセットアドレスRO
FSから計算された回路情報記憶部102または202
3に格納されたコンフィギュレーションデータを持った
ノーマルフレームが、リファレンスカウントRCNTで
示された数だけ生成される。
【0263】ノーマルフレームに加えて、リピートフレ
ームとリファレンスフレームの2種類のフレームを持つ
ことが、この例のパラレル形式の回路情報の特徴であ
る。これら3種類のフレームは、それぞれ異なるコマン
ド(データインコマンドDIN、リピートコマンドRE
PT、リファレンスコマンドREFC)を持つことによ
り、それが回路情報編集部103または2024に認識
され、区別される。
【0264】[パラレル形式の回路情報による第1の構
造のプログラマブル論理回路装置100のコンフィギュ
レーション]図19は、図1に示した、第1の構造のプ
ログラマブル論理回路装置へのパラレル形式の回路情報
によるコンフィギュレーション動作を説明するための機
能ブロック図である。この図19に示したブロック図を
用いて、この場合の回路情報のコンフィギュレーション
メモリへの格納を説明する。
【0265】図1で示した回路情報入力制御部101
は、図19においては、コンフィギュレーションコント
ローラ101e、アドレス生成器101f、セレクタ1
01gで構成される。
【0266】また、図1で示したプログラマブル論理回
路部104の回路素子105とコンフィギュレーション
メモリ106は、図19においては、例えば、図24
(A)のようなFPGA型であれば、例えば縦一列の複
数個の論理回路セル分を単位として、複数列分に分けら
れる。
【0267】すなわち、縦一列の複数個の論理回路部分
の回路情報を格納できる容量のコンフィギュレーション
メモリ106sと、それに接続される回路素子105s
とからなる組として、複数列分で構成される。この場
合、1ノーマルフレームの回路情報は、縦一列の複数個
の論理回路部分の回路情報の大きさとされる。
【0268】そして、図34に示したものと同様にし
て、各列のコンフィギュレーションメモリ106sのビ
ット線がセレクタ101gに結線される。また、コンフ
ィギュレーションメモリ106sのワード線は、アドレ
ス生成器101fに結線される。
【0269】また、図1で示した回路情報記憶部102
は、図19ではコンフィギュレーションキャッシュメモ
リ102Mに対応し、回路情報編集部103の機能は、
コンフィギュレーションコントローラ101eに組み込
まれている。
【0270】この図19の構成において、外部記憶装置
9から回路情報が読み込まれると、コンフィギュレーシ
ョンコントローラ101eを介してコンフィギュレーシ
ョンキャッシュメモリ102Mに格納される。
【0271】コンフィギュレーションコントローラ10
1eが、コンテキスト選択の指示を受けると、指示に対
応する回路情報が、コンフィギュレーションキャッシュ
メモリ102Mからコンフィギュレーションコントロー
ラ101eに読み込まれる。そして、コンフィギュレー
ションコントローラ101eが、回路情報のヘッダ部H
Dpのプリアンブルコードを検知して回路情報編集処理
を開始する。
【0272】まず、プリアンブルコードに続くオプショ
ンコードでコンフィギュレーションのパラメータが設定
される。そして、次のスイッチコマンドにより、設定さ
れたオプションが実行され、データDTpの読み込みが
開始される。
【0273】データ部DTpのフレームデータは、後述
する手順により、リピートフレームやリファレンスフレ
ームにより圧縮されたフレームから、圧縮が解かれたノ
ーマルフレームに変換される。そして、各フレームのフ
レームアドレスFADRがアドレス生成器102fに読
み込まれ、データを書き込むコンフィギュレーションメ
モリ106sに対応するビット線とワード線が選択され
る。次に、データインコマンドDINが起動され、コン
フィギュレーションデータCFGDからワードカウント
WCNTに示される数だけのデータが読み出されて、セ
レクタ101gを介してコンフィギュレーションメモリ
106sに書き込まれる。この手順を全てのフレームに
対して繰り返す。
【0274】データ部DTpに続くフッタ部FTpのポ
ストアンブルコードをコンフィギュレーションコントロ
ーラ101eが検知すると、コンフィギュレーション処
理が終了する。以上の処理は、図5のフローチャートに
示した手順と全く同様であるが、ステップS210での
回路情報編集部103での、圧縮解凍処理が、図20お
よび図21に示すようになる点が、前述のシリアル形式
の回路情報の場合(図7、図8)とは異なる。
【0275】[回路情報編集部での処理]図20および
図21を参照しながら、このパラレル形式の回路情報の
場合の実施の形態におけるリピートフレームやリファレ
ンスフレームの解消処理を説明する。
【0276】まず、回路情報編集部103が、最初のフ
レームを読み込み、その種類を各フレームのフレームア
ドレスFADRに続くコマンドで判別する。そして、読
み込まれたフレームがノーマルフレームであると判別さ
れたときは、そのフレームのデータをそのまま送り出す
(ステップS503)。
【0277】また、読み込まれたフレームがリピートフ
レームであると判別されたときは、リファレンスカウン
トRCNTを読み込む。つぎに、フレームアドレスFA
DR、データインコマンドDIN、ワードカウントWC
NT、コンフィギュレーションデータCFGDを、順次
送り出して(ステップS504〜S508)、リファレ
ンスカウントRCNTから1を減じる(ステップS50
9)。この手順をリファレンスカウントが0になるまで
繰り返す(ステップS510)ことにより、圧縮された
リピートフレームから、リファレンスカウントRCNT
で指示された数のノーマルフレームを生成する。
【0278】また、読み込まれたフレームがリファレン
スフレームであると判別されたときは、リファレンスカ
ウントRCNT、リファレンスアドレスRADR、リフ
ァレンスオフセットROFSを読み込む(図21のステ
ップS511〜S513)。次に、回路情報記憶部10
2内の参照先のフレームの位置を示すリファレンスアド
レスRADRに、参照先のフレーム内での参照するコン
フィギュレーションデータCFGDの相対位置を表すリ
ファレンスオフセットROFSを加えて、参照するコン
フィギュレーションデータCFGDの絶対アドレスを計
算する(ステップS514)。
【0279】次に、その絶対アドレスに位置するコンフ
ィギュレーションデータCFGDを読み出して回路情報
編集部103内に一時的に格納する(ステップS51
5)。次に、前述したリピートフレームの場合と同じよ
うに、リファレンスカウントRCNTが0になるまで、
フレームアドレスFADR、データインコマンドDI
N、ワードカウントWCNT、コンフィギュレーション
データCFGDを送り出して(ステップS516〜S5
21)、圧縮されたリファレンスフレームから、参照さ
れたコンフィギュレーションデータCFGDを持ったノ
ーマルフレームをリファレンスカウントRCNTで指示
された数だけ生成する。
【0280】この手順を全てのフレームに対して行うこ
とにより(ステップS522)、リピートフレームやリ
ファレンスフレームにより圧縮された回路情報から、圧
縮が解かれたノーマルフレームのみからなる回路情報が
生成される。
【0281】この圧縮が解かれた回路情報を、回路情報
入力制御部101に送ることにより、従来のプログラマ
ブル論理回路装置のコンフィギュレーションと同じ手順
でコンフィギュレーションされる。
【0282】なお、以上説明した第5の実施の形態は、
第1の構造のプログラマブル論理回路装置100のコン
フィギュレーションに、パラレル形式の回路情報を用い
た場合であるが、第2の構造のプログラマブル論理回路
装置200の場合にも、同様に適用できるとともに、第
2の実施の形態や第4の実施の形態の場合のように、プ
ログラマブル論理回路部に既に生成されている回路を有
効利用する場合にも、前述と同様にして、適用できるも
のである。
【0283】なお、上述の回路情報の圧縮方法は一例で
あって、回路情報の圧縮方法としては、どのようなもの
であっても良い。そして、回路情報編集部103は、そ
の回路情報の圧縮方法に対応する編集処理を行なう機能
を備えるように構成されるものである。
【0284】
【発明の効果】以上説明したように、この発明によれ
ば、従来のマルチコンテキスト技術のように複数の回路
情報を記憶するための余分なコンフィギュレーションメ
モリを必要としないプログラマブル論理回路部によるマ
ルチコンテキスト技術と同等の技術を実現することがで
き、これを用いてプログラマブル論理回路装置の再構成
時間を短縮し、回路再構成時間を含めた総処理時間で比
べても、ソフトウエア処理に比べて処理時間の短いハー
ドウエア処理を実現できる。その結果、キャッシュロジ
ック技術によるリコンフュギュラブルコンピューティン
グを用いた、高速で小型化された情報処理システムを実
現することができるようになる。
【0285】また、従来のマルチコンテキスト技術のよ
うにプログラマブル論理回路部に余分なコンフィギュレ
ーションメモリを必要としないので、余分なコンフィギ
ュレーションメモリを配置することで生じる配線負荷容
量の増大に起因する、回路性能の低下、消費電力の増加
をもたらすことなく、マルチコンテキスト技術によるも
のと同等のプログラマブル論理回路装置を実現すること
ができる。
【0286】また、この発明においては、回路情報記憶
部には圧縮された回路情報を格納するようにしたので、
同じ回路情報を従来のマルチコンテキスト技術よりも少
ないメモリ容量でプログラマブル論理回路装置内に格納
することができ、その結果、製造工程の増加、回路性能
の低下などをもたらすDRAM技術を用いることなく、
従来のマルチコンテキスト技術によるプロプログラマブ
ル論理回路装置より小さな回路規模でマルチコンテキス
ト技術と同等技術を実現することができる。
【0287】また、この発明によるプログラマブル論理
回路装置は、従来の通常のプログラマブル論理回路装置
と同じ構造のプログラマブル論理回路部を用いることが
できるので、従来のプログラマブル論理回路装置の設計
を用いて容易に実現することができる。
【0288】また、この発明によるプログラマブル論理
回路装置の回路情報記憶部と回路情報編集部を、回路情
報を読み込むことで従来のプログラマブル論理回路装置
に構成することにより、新たに回路装置を作製すること
なく、従来のプログラマブル論理回路装置を用いて、こ
の発明のプログラマブル論理回路装置を実現することが
できるというメリットもある。
【図面の簡単な説明】
【図1】この発明によるプログラマブル論理回路装置の
実施の形態の第1の構造を説明するブロック図である。
【図2】この発明によるプログラマブル論理回路装置の
第1の実施の形態を説明する図である。
【図3】この発明の実施の形態で用いるシリアル形式の
回路情報の例を説明する図である。
【図4】シリアル形式の回路情報を用いてコンフィギュ
レーションを行なう実施の形態のプログラマブル論理回
路装置を説明するブロック図である。
【図5】第1の実施の形態のプログラマブル論理回路装
置の動作を説明するためのフローチャートである。
【図6】第1および第2の実施の形態のプログラマブル
論理回路装置の動作を説明するためのタイミングチャー
トである。
【図7】第1および第3の実施の形態のプログラマブル
論理回路装置におけるシリアル形式の回路情報の編集を
説明するためのフローチャートの一部である。
【図8】第1および第3の実施の形態のプログラマブル
論理回路装置におけるシリアル形式の回路情報の編集を
説明するためのフローチャートの残部である。
【図9】この発明によるプログラマブル論理回路装置の
第2の実施の形態を説明する図である。
【図10】第2および第4の実施の形態のプログラマブ
ル論理回路装置におけるシリアル形式の回路情報の編集
を説明するためのフローチャートの一部である。
【図11】第2および第4の実施の形態のプログラマブ
ル論理回路装置におけるシリアル形式の回路情報の編集
を説明するためのフローチャートの残部である。
【図12】この発明によるプログラマブル論理回路装置
の実施の形態の第2の構造を説明するブロック図であ
る。
【図13】この発明によるプログラマブル論理回路装置
の第3の実施の形態を説明するための図である。
【図14】この発明によるプログラマブル論理回路装置
の第3の実施の形態における編集動作を説明するための
図である。
【図15】第3の実施の形態のプログラマブル論理回路
装置の動作を説明するためのフローチャートである。
【図16】第3と第4の実施の形態のプログラマブル論
理回路装置の動作を説明するためのタイミングチャート
である。
【図17】この発明による第4の実施の形態のプログラ
マブル論理回路装置における編集動作を説明するための
図である。
【図18】この発明の実施の形態で用いるパラレル形式
の回路情報の例を説明する図である。
【図19】パラレル形式の回路情報を用いてコンフィギ
ュレーションを行なう実施の形態のプログラマブル論理
回路装置を説明するブロック図である。
【図20】この発明の実施の形態において、パラレル形
式の回路情報を用いる場合の編集動作を説明するための
フローチャートの一部である。
【図21】この発明の実施の形態において、パラレル形
式の回路情報を用いる場合の編集動作を説明するための
フローチャートの残部である。
【図22】従来のプログラマブル論理回路装置の構造を
説明するブロック図である。
【図23】従来のプログラマブル論理回路装置のプログ
ラマブル論理回路部の構造を説明するブロック図であ
る。
【図24】FPGA型およびCPLD型のプログラマブ
ル論理回路部の具体的構造例を示す図である。
【図25】従来のマルチコンテキスト技術によるプログ
ラマブル論理回路装置の構造を説明するブロック図であ
る。
【図26】従来のマルチコンテキスト技術によるプログ
ラマブル論理回路装置のプログラマブル論理回路部の構
造を説明するブロック図である。
【図27】従来のシリアル形式の回路情報を説明する図
である。
【図28】シリアル形式の回路情報を用いる従来のプロ
グラマブル論理回路装置を説明するブロック図である。
【図29】シリアル形式の回路情報を用いるプログラマ
ブル論理回路装置のプログラマブル論理回路部の一部を
説明するブロック図である。
【図30】シリアル形式の回路情報を用いるマルチコン
テキスト技術によるプログラマブル論理回路装置のプロ
グラマブル論理回路部の一部の構成を説明するブロック
図である。
【図31】シリアル形式の回路情報を用いるマルチコン
テキスト技術によるプログラマブル論理回路装置を説明
するブロック図である。
【図32】従来のパラレル形式の回路情報を説明する図
である。
【図33】パラレル形式の回路情報を用いる従来のプロ
グラマブル論理回路装置を説明するブロック図である。
【図34】パラレル形式の回路情報を用いる従来のプロ
グラマブル論理回路装置のプログラマブル論理回路部の
一部の構成を説明する図である。
【図35】パラレル形式の回路情報を用いるマルチコン
テキスト技術によるプログラマブル論理回路装置のプロ
グラマブル論理回路部の一部の構成を説明する図であ
る。
【図36】パラレル形式の回路情報を用いるマルチコン
テキスト技術によるプログラマブル論理回路装置を説明
するブロック図である。
【図37】従来のマルチコンテキスト技術によるプログ
ラマブル論理回路装置の動作を説明するための図であ
る。
【図38】従来のマルチコンテキスト技術によるプログ
ラマブル論理回路装置の動作を説明するフローチャート
である。
【図39】従来のマルチコンテキスト技術によるプログ
ラマブル論理回路装置の動作を説明するタイミングチャ
ートである。
【図40】従来のマルチコンテキスト技術によるプログ
ラマブル論理回路装置の例1を説明するブロック図であ
る。
【図41】従来のマルチコンテキスト技術によるプログ
ラマブル論理回路装置の例2を説明するブロック図であ
る。
【図42】従来のマルチコンテキスト技術によるプログ
ラマブル論理回路装置の例3を説明するブロック図であ
る。
【図43】従来のマルチコンテキスト技術によるプログ
ラマブル論理回路装置の例4を説明するブロック図であ
る。
【符号の説明】
100 第1の構造のプログラマブル論理回路装置 101 回路情報入力制御部 102 回路情報記憶部 103 回路情報編集部 104 プログラマブル論理回路部 105 回路素子 106 コンフィギュレーションメモリ 200 第2の構造のプログラマブル論理回路装置 201 回路情報入力制御部 202 プログラマブル論理回路部 2021 回路素子 2022 コンフィギュレーションメモリ 2023 回路情報記憶部 2024 回路情報編集部

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】回路素子と、この回路素子に接続されるコ
    ンフィギュレーションメモリとを備え、前記コンフィギ
    ュレーションメモリに書き込まれる回路情報に基づいて
    回路が構成されるプログラマブル論理回路部と、 前記プログラマブル論理回路部に複数個の回路を順次に
    構成するための複数個の回路情報を記憶するものであっ
    て、前記コンフィギュレーションメモリとは別の回路情
    報記憶手段と、 前記回路情報記憶手段に、前記複数個の回路情報を書き
    込むための回路情報書き込み手段と、 指定情報により指定される前記プログラマブル論理回路
    部に生成しようとする一つの回路の回路情報を、前記回
    路情報記憶手段に記憶された複数個の回路情報のうち
    の、一つまたは複数個の回路情報を用いて生成する回路
    情報編集手段と、 前記回路情報編集手段で生成された前記一つの回路の回
    路情報を前記コンフィギュレーションメモリに書き込む
    ようにする制御手段と、 を備えることを特徴とするプログラマブル論理回路装
    置。
  2. 【請求項2】前記回路情報記憶手段および前記回路情報
    編集手段は、前記プログラマブル論理回路部とは別個に
    設けることを特徴とする請求項1に記載のプログラマブ
    ル論理回路装置。
  3. 【請求項3】前記回路情報記憶手段および前記回路情報
    編集手段は、そのための回路情報を前記コンフィギュレ
    ーションメモリの一部に読み込むことにより、前記プロ
    グラマブル論理回路部の回路素子の一部に生成すること
    を特徴とする請求項1に記載のプログラマブル論理回路
    装置。
  4. 【請求項4】前記回路情報記憶手段に記憶される回路情
    報は圧縮されており、前記回路情報編集手段により、前
    記圧縮が解凍されて、前記指定情報で指定された回路情
    報が生成されることを特徴とする請求項1〜請求項3の
    いずれかに記載のプログラマブル論理回路装置。
  5. 【請求項5】請求項1〜請求項3のいずれかに記載のプ
    ログラマブル論理回路装置において、 前記回路情報記憶手段に記憶される回路情報は、その回
    路情報の一部または全部を他の回路情報で構成する場合
    に、当該他の回路情報を前記回路情報記憶手段から読み
    出すための参照情報を備えるものであり、 前記回路情報編集手段は、前記指定情報により指定され
    る一つの回路の回路情報を、前記回路情報記憶手段から
    前記指定情報された回路情報を入手するとともに、その
    回路情報に前記参照情報が含まれている場合には、その
    参照情報に基づいて、前記他の回路情報を入手して生成
    することを特徴とするプログラマブル論理回路装置。
  6. 【請求項6】請求項1〜請求項3のいずれかに記載のプ
    ログラマブル論理回路装置において、 前記回路情報記憶手段に記憶される回路情報は、その回
    路情報の一部を自己の回路情報の他の一部で構成する場
    合には、前記自己の回路情報の他の一部を参照するため
    の参照情報を備えるものであり、 前記回路情報編集手段は、前記指定情報により指定され
    る回路の回路情報を、前記指定された回路情報を前記回
    路情報記憶手段から入手し、前記参照情報が含まれてい
    る場合には、その参照情報をも用いて生成することを特
    徴とするプログラマブル論理回路装置。
  7. 【請求項7】請求項1〜請求項3のいずれかに記載のプ
    ログラマブル論理回路装置において、 前記回路情報記憶手段に記憶される複数個の回路情報の
    それぞれは、回路データ部と、その付加情報部を含むも
    のであり、 前記付加情報部は、前記回路データ部の編集を前記回路
    情報編集手段へ指示する記述を含むものであり、 前記回路データ部は、前記プログラマブル論理回路部に
    回路を構成するためのデータ部分であって、その一部ま
    たは全部を、他の回路情報の回路データ部で構成する場
    合には、その一部または全部の回路データ部は、前記回
    路情報記憶手段に対して前記他の回路情報を参照するた
    めの参照情報を記述したものであり、 前記回路情報編集手段は、前記指定情報により指定され
    る回路情報を、前記指定された回路情報と前記参照情報
    で参照される他の回路情報の回路データ部を、前記回路
    情報記憶手段から入手して生成することを特徴とするプ
    ログラマブル論理回路装置。
  8. 【請求項8】請求項1〜請求項3のいずれかに記載のプ
    ログラマブル論理回路装置において、 前記回路情報記憶手段に記憶される複数個の回路情報の
    それぞれは、回路データ部と、その付加情報部を含むも
    のであり、 前記付加情報部は、前記回路データ部の編集を前記回路
    情報編集手段へ指示する記述を含むものであり、 前記回路データ部は、前記プログラマブル論理回路部に
    回路を構成するためのデータ部分であって、その一部を
    自己の回路情報の他の回路データ部で構成する場合に
    は、前記他の回路データ部を参照するための参照情報を
    用いて記述したものであり、 前記回路情報編集手段は、指定情報により指定される回
    路情報を、指定された回路情報を回路情報記憶手段から
    入手し、前記参照情報が含まれている場合には、その参
    照情報をも用いて生成することを特徴とするプログラマ
    ブル論理回路装置。
  9. 【請求項9】請求項7または請求項8に記載のプログラ
    マブル論理回路装置において、 前記回路情報記憶手段に記憶されている回路情報の前記
    回路データ部は、前記コンフィギュレーションメモリに
    格納されるデータを一定量ごとに区切ったものに相当す
    るフレームの1〜複数個で記述され、 前記1〜複数個のフレームの一部のフレームまたは全部
    のフレームが他の回路情報のフレームで構成される場合
    には、前記参照情報が、当該回路情報において前記他の
    回路情報のフレームの参照を行なうべきフレームの回路
    データとして記述されていることを特徴とするプログラ
    マブル論理回路装置。
  10. 【請求項10】請求項7または請求項8に記載のプログ
    ラマブル論理回路装置において、 前記回路情報記憶手段に記憶されている回路情報の前記
    回路データ部は、前記コンフィギュレーションメモリに
    格納されるデータを一定量ごとに区切ったものに相当す
    るフレームの1〜複数個で記述され、 前記1〜複数個のフレームの一部のフレームが、自己の
    回路情報の他のフレームで構成される場合には、前記参
    照情報が、当該回路情報において自己の回路情報のフレ
    ームの参照を行なうべきフレームの回路データとして記
    述されていることを特徴とするプログラマブル論理回路
    装置。
  11. 【請求項11】請求項9または請求項10に記載のプロ
    グラマブル論理回路装置において、 前記参照情報が、参照する前記他の回路情報のフレーム
    または参照する自己の回路情報のフレームが記憶されて
    いる前記回路情報記憶手段のメモリアドレスであること
    を特徴とするプログラマブル論理回路装置。
  12. 【請求項12】請求項11に記載のプログラマブル論理
    回路装置において、 前記回路情報編集手段は、前記指定情報により指定され
    た回路の回路情報の回路データとして前記参照情報が記
    載されたフレームに、前記参照情報で示される前記回路
    情報記憶手段のメモリアドレスに記憶されたフレームを
    挿入することを特徴とするプログラマブル論理回路装
    置。
  13. 【請求項13】請求項9または請求項10に記載のプロ
    グラマブル論理回路装置において、 前記参照情報が、参照する前記他の回路情報のフレーム
    または参照する自己の回路情報のフレームが記憶されて
    いる前記回路情報記憶手段のメモリアドレスと、参照回
    数であることを特徴とするプログラマブル論理回路装
    置。
  14. 【請求項14】請求項13に記載のプログラマブル論理
    回路装置において、 前記回路情報編集手段は、前記指定情報により指定され
    た回路の回路情報の回路データとして前記参照情報が記
    載されたフレームに、前記参照情報で示される前記回路
    情報記憶手段のメモリアドレスに記憶されたフレーム
    を、前記参照情報で示される参照回数分挿入することを
    特徴とするプログラマブル論理回路装置。
  15. 【請求項15】請求項9に記載のプログラマブル論理回
    路装置において、 前記回路情報編集手段は、生成しようとする回路の回路
    情報のフレームに前記参照情報が記述されている場合に
    おいて、その参照情報が記述されているフレーム位置の
    データが、その直前に前記プログラマブル論理回路部に
    生成されている回路の回路情報の同一位置のフレームの
    データと同一であると判別したときには、そのフレーム
    のデータの、前記制御手段を介したコンフィギュレーシ
    ョンメモリへの転送を行なわないことを特徴とするプロ
    グラマブル論理回路装置。
  16. 【請求項16】アプリケーションプログラムによる処理
    の少なくとも一部分を、プログラマブル論理回路装置で
    処理する情報処理システムであって、 前記プログラマブル論理回路装置に、請求項1〜請求項
    15のいずれかに記載のプログラマブル論理回路装置を
    用いることを特徴とする情報処理システム。
  17. 【請求項17】回路素子と、この回路素子に接続される
    コンフィギュレーションメモリとを備え、前記コンフィ
    ギュレーションメモリに書き込まれる回路情報に基づい
    て回路が構成されるプログラマブル論理回路部を備える
    プログラマブル論理回路装置内に、前記プログラマブル
    論理回路部に複数個の回路を順次に構成するための複数
    個の回路情報を記憶するものであって前記コンフィギュ
    レーションメモリとは別の回路情報記憶手段と、前記回
    路情報記憶手段に記憶された回路情報を用いて、指定さ
    れた回路の回路情報を生成する回路情報編集手段とを設
    けておき、 前記回路情報記憶手段には、前記複数個の回路の回路情
    報を圧縮した状態で格納するようにし、 前記プログラマブル論理回路部に再構成する回路の回路
    情報の指定情報が入力されたときに、前記回路情報編集
    手段で、前記回路情報記憶手段から必要な回路情報を読
    み出し、前記圧縮を解凍して、前記指定情報で指定され
    た回路情報を生成し、その生成した回路情報を前記コン
    フィギュレーションメモリに転送して、回路を再構成す
    ることを特徴とするプログラマブル論理回路装置への回
    路の再構成方法。
  18. 【請求項18】前記回路情報記憶手段に記憶される回路
    情報は、その回路情報の一部または全部を他の回路情報
    で構成する場合に、当該他の回路情報を前記回路情報記
    憶手段から読み出すための参照情報を記述することによ
    り、圧縮されるものであり、 前記回路情報編集手段は、前記回路情報記憶手段から、
    前記指定された回路情報を読み出したときに、その回路
    情報に前記参照情報が含まれている場合には、前記参照
    情報を元にして、必要な回路情報を前記回路情報記憶手
    段から取得するようにすることを特徴とする請求項17
    に記載のプログラマブル論理回路装置への回路の再構成
    方法。
  19. 【請求項19】前記回路情報記憶手段に記憶される回路
    情報は、その回路情報の一部を自己の回路情報の他の一
    部で構成する場合には、前記自己の回路情報の他の一部
    を参照するための参照情報を記述することにより、圧縮
    されるものであり、 前記回路情報編集手段は、前記回路情報記憶手段から、
    前記指定された回路情報を読み出したときに、その回路
    情報に前記参照情報が含まれている場合には、前記参照
    情報を元にして、必要な回路情報を前記読み出した回路
    情報を用いて生成することを特徴とする請求項17に記
    載のプログラマブル論理回路装置への回路の再構成方
    法。
  20. 【請求項20】請求項18または請求項19に記載のプ
    ログラマブル論理回路装置への回路の再構成方法におい
    て、 前記回路情報記憶手段に記憶される複数個の回路情報の
    それぞれは、回路データ部と、その付加情報部を含むも
    のであり、 前記付加情報部は、前記回路データ部の編集を前記回路
    情報編集手段へ指示する記述を含み、 前記回路データ部は、前記参照情報が用いられて圧縮さ
    れることを特徴とするプログラマブル論理回路装置への
    回路の再構成方法。
  21. 【請求項21】請求項18または請求項19に記載のプ
    ログラマブル論理回路装置への回路の再構成方法におい
    て、 前記回路データ部は、前記コンフィギュレーションメモ
    リに格納されるデータを一定量ごとに区切ったものに相
    当するフレームの1〜複数個で記述され、 前記1〜複数個のフレームの一部のフレームまたは全部
    のフレームが他の回路情報のフレームで構成される場合
    には、前記参照情報が、当該回路情報において前記他の
    回路情報のフレームの参照を行なうべきフレームの回路
    データとして記述されていることを特徴とするプログラ
    マブル論理回路装置への回路の再構成方法。
  22. 【請求項22】請求項18または請求項19に記載のプ
    ログラマブル論理回路装置への回路の再構成方法におい
    て、 前記回路データ部は、前記コンフィギュレーションメモ
    リに格納されるデータを一定量ごとに区切ったものに相
    当するフレームの1〜複数個で記述され、 前記1〜複数個のフレームの一部のフレームが、自己の
    回路情報の他のフレームで構成される場合には、前記参
    照情報が、当該回路情報において自己の回路情報のフレ
    ームの参照を行なうべきフレームの回路データとして記
    述されていることを特徴とするプログラマブル論理回路
    装置への回路の再構成方法。
  23. 【請求項23】請求項21または請求項22に記載のプ
    ログラマブル論理回路装置への回路の再構成方法におい
    て、 前記参照情報が、参照する前記他の回路情報のフレーム
    または参照する自己の回路情報のフレームが記憶されて
    いる前記回路情報記憶手段のメモリアドレスであること
    を特徴とするプログラマブル論理回路装置への回路の再
    構成方法。
  24. 【請求項24】請求項23に記載のプログラマブル論理
    回路装置への回路の再構成方法において、 前記回路情報編集手段は、前記指定情報により指定され
    た回路の回路情報の回路データとして前記参照情報が記
    載されたフレームに、前記参照情報で示される前記回路
    情報記憶手段のメモリアドレスに記憶されたフレームを
    挿入することを特徴とするプログラマブル論理回路装置
    への回路の再構成方法。
  25. 【請求項25】請求項21または請求項22に記載のプ
    ログラマブル論理回路装置への回路の再構成方法におい
    て、 前記参照情報が、参照する前記他の回路情報のフレーム
    または参照する自己の回路情報のフレームが記憶されて
    いる前記回路情報記憶手段のメモリアドレスと、参照回
    数であることを特徴とするプログラマブル論理回路装置
    への回路の再構成方法。
  26. 【請求項26】請求項25に記載のプログラマブル論理
    回路装置への回路の再構成方法において、 前記回路情報編集手段は、前記指定情報により指定され
    た回路の回路情報の回路データとして前記参照情報が記
    載されたフレームに、前記参照情報で示される前記回路
    情報記憶手段のメモリアドレスに記憶されたフレーム
    を、前記参照情報で示される参照回数分挿入することを
    特徴とするプログラマブル論理回路装置への回路の再構
    成方法。
  27. 【請求項27】請求項21に記載のプログラマブル論理
    回路装置への回路の再構成方法において、 前記回路情報編集手段は、生成しようとする回路の回路
    情報のフレームに前記参照情報が記述されている場合に
    おいて、その参照情報が記述されているフレーム位置の
    データが、その直前に前記プログラマブル論理回路部に
    生成されている回路の回路情報の同一位置のフレームの
    データと同一であると判別したときには、そのフレーム
    のデータの、前記制御手段を介したコンフィギュレーシ
    ョンメモリへの転送を行なわないことを特徴とするプロ
    グラマブル論理回路装置への回路の再構成方法。
  28. 【請求項28】プログラマブル論理回路装置に複数個の
    回路を順次に構成するための複数個の回路情報の管理方
    法であって、 前記回路情報のそれぞれを、前記プログラマブル論理回
    路装置のコンフィギュレーションメモリに格納されるデ
    ータを一定量ごとに区切ったものに相当するフレームの
    1〜複数個で記述し、 前記回路情報の一部または全部が、他の回路情報または
    自己の回路情報の他の一部で構成される場合には、参照
    情報を、当該回路情報において他の回路情報または自己
    の回路情報のフレームの参照を行なうべきフレームの回
    路データとして記述するを特徴とする回路情報管理方
    法。
  29. 【請求項29】プログラマブル論理回路装置に回路を構
    成する回路情報の回路データ部を、前記プログラマブル
    論理回路装置のコンフィギュレーションメモリに格納さ
    れるデータを一定量ごとに区切ったものに相当するフレ
    ームの集合で記述し、 前記回路情報の一部または全部が、他の回路情報または
    自己の回路情報の他の一部で構成される場合には、参照
    情報を、当該回路情報において他の回路情報または自己
    の回路情報のフレームの参照を行なうべきフレームの回
    路データとして記述することにより、回路情報のデータ
    量を圧縮することを特徴とする回路情報の圧縮方法。
JP19996499A 1999-07-14 1999-07-14 プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路の再構成方法、プログラマブル論理回路装置用の回路情報の圧縮方法 Expired - Fee Related JP3743487B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP19996499A JP3743487B2 (ja) 1999-07-14 1999-07-14 プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路の再構成方法、プログラマブル論理回路装置用の回路情報の圧縮方法
US09/585,447 US6304101B1 (en) 1999-07-14 2000-06-02 Programmable logic device, information processing system, method of reconfiguring programmable logic device and method compressing circuit information for programmable logic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19996499A JP3743487B2 (ja) 1999-07-14 1999-07-14 プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路の再構成方法、プログラマブル論理回路装置用の回路情報の圧縮方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005201056A Division JP2005323399A (ja) 2005-07-11 2005-07-11 プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路の再構成方法、プログラマブル論理回路装置用の回路情報の圧縮方法。

Publications (2)

Publication Number Publication Date
JP2001028536A true JP2001028536A (ja) 2001-01-30
JP3743487B2 JP3743487B2 (ja) 2006-02-08

Family

ID=16416541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19996499A Expired - Fee Related JP3743487B2 (ja) 1999-07-14 1999-07-14 プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路の再構成方法、プログラマブル論理回路装置用の回路情報の圧縮方法

Country Status (2)

Country Link
US (1) US6304101B1 (ja)
JP (1) JP3743487B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006351047A (ja) * 2006-10-02 2006-12-28 Nec Corp データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
JP2009200779A (ja) * 2008-02-21 2009-09-03 Nec Corp 構成情報生成装置、構成情報生成制御方法、及びプログラム
JP2012191455A (ja) * 2011-03-10 2012-10-04 Toshiba Corp 半導体集積回路
KR20130126555A (ko) * 2012-05-11 2013-11-20 삼성전자주식회사 재구성가능 프로세서 및 재구성가능 프로세서의 코드 압축해제 방법
JP2013251889A (ja) * 2012-04-30 2013-12-12 Semiconductor Energy Lab Co Ltd 半導体装置
JP2014158250A (ja) * 2012-05-25 2014-08-28 Semiconductor Energy Lab Co Ltd プログラマブルロジックデバイス及び半導体装置
JP2014212551A (ja) * 2014-06-23 2014-11-13 株式会社東芝 半導体集積回路
KR20140147045A (ko) * 2013-06-18 2014-12-29 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
WO2015012406A1 (ja) * 2013-07-26 2015-01-29 株式会社 東芝 マルチコンテキストコンフィグレーションメモリ
CN105703765A (zh) * 2014-12-16 2016-06-22 三星电子株式会社 基于dram的可重构逻辑
WO2017175708A1 (ja) * 2016-04-07 2017-10-12 日本電気株式会社 半導体装置、コンフィグレーション方法およびプログラムを記憶した記憶媒体
KR20190127773A (ko) * 2017-03-08 2019-11-13 후라마통 전기 시설, 특히 핵 시설을 제어하기 위한 프로그래밍가능 논리 회로, 연관된 제어 디바이스 및 방법

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493862B1 (en) * 2000-07-25 2002-12-10 Xilinx Inc. Method for compressing an FPGA bitsream
US6748456B1 (en) * 2000-09-29 2004-06-08 Cypress Semiconductor Corp. PLD configuration port architecture and logic
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6603330B1 (en) 2000-10-26 2003-08-05 Cypress Semiconductor Corporation Configuring digital functions in a digital configurable macro architecture
US6825689B1 (en) 2000-10-26 2004-11-30 Cypress Semiconductor Corporation Configurable input/output interface for a microcontroller
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US6507214B1 (en) * 2000-10-26 2003-01-14 Cypress Semiconductor Corporation Digital configurable macro architecture
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
JP4125475B2 (ja) * 2000-12-12 2008-07-30 株式会社東芝 Rtl生成システム、rtl生成方法、rtl生成プログラム及び半導体装置の製造方法
US6567970B1 (en) * 2000-12-27 2003-05-20 Cypress Semiconductor Corp. PLD configuration architecture
US7111224B1 (en) * 2001-02-28 2006-09-19 Xilinx, Inc. FPGA configuration memory with built-in error correction mechanism
US7840777B2 (en) * 2001-05-04 2010-11-23 Ascenium Corporation Method and apparatus for directing a computational array to execute a plurality of successive computational array instructions at runtime
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
US7526422B1 (en) 2001-11-13 2009-04-28 Cypress Semiconductor Corporation System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
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
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
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
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7024654B2 (en) 2002-06-11 2006-04-04 Anadigm, Inc. System and method for configuring analog elements in a configurable hardware device
US6661724B1 (en) 2002-06-13 2003-12-09 Cypress Semiconductor Corporation Method and system for programming a memory device
US6810514B1 (en) * 2002-07-03 2004-10-26 Xilinx, Inc. Controller arrangement for partial reconfiguration of a programmable logic device
US6978435B2 (en) * 2002-08-29 2005-12-20 Anadigm, Inc. Apparatus for programming a programmable device, and method
US20040122643A1 (en) * 2002-08-29 2004-06-24 Anderson Howard C. Apparatus and method for simulating switched-capacitor circuits
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US6907595B2 (en) * 2002-12-13 2005-06-14 Xilinx, Inc. Partial reconfiguration of a programmable logic device using an on-chip processor
US6920627B2 (en) * 2002-12-13 2005-07-19 Xilinx, Inc. Reconfiguration of a programmable logic device using internal control
US7216277B1 (en) * 2003-11-18 2007-05-08 Xilinx, Inc. Self-repairing redundancy for memory blocks in programmable logic devices
US20060171200A1 (en) * 2004-02-06 2006-08-03 Unity Semiconductor Corporation Memory using mixed valence conductive oxides
JP3836109B2 (ja) * 2004-02-19 2006-10-18 東京エレクトロン株式会社 プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7233532B2 (en) * 2004-04-30 2007-06-19 Xilinx, Inc. Reconfiguration port for dynamic reconfiguration-system monitor interface
US7126372B2 (en) * 2004-04-30 2006-10-24 Xilinx, Inc. Reconfiguration port for dynamic reconfiguration—sub-frame access for reconfiguration
US7218137B2 (en) * 2004-04-30 2007-05-15 Xilinx, Inc. Reconfiguration port for dynamic reconfiguration
JP4095576B2 (ja) * 2004-05-17 2008-06-04 株式会社東芝 プログラマブル論理回路を用いる汎用論理回路装置
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8082531B2 (en) 2004-08-13 2011-12-20 Cypress Semiconductor Corporation Method and an apparatus to design a processing system using a graphical user interface
US8286125B2 (en) * 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
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
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7353474B1 (en) * 2006-04-18 2008-04-01 Xilinx, Inc. System and method for accessing signals of a user design in a programmable logic device
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
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
US7902865B1 (en) * 2007-11-15 2011-03-08 Lattice Semiconductor Corporation Compression and decompression of configuration data using repeated data frames
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8176212B1 (en) * 2009-08-18 2012-05-08 Quickflex, Inc. Method and system for hierarchical and joinable behavior containers for reconfigurable computing
DE102010035102A1 (de) * 2010-08-23 2012-04-19 Bürkert Werke GmbH Steuergerät für fluidische Systeme
US9389841B2 (en) * 2012-07-18 2016-07-12 Micron Technology, Inc. Methods and systems for using state vector data in a state machine engine
JP6430858B2 (ja) * 2015-02-27 2018-11-28 理想科学工業株式会社 基板接続システム及びインクジェット記録装置
US9740809B2 (en) * 2015-08-27 2017-08-22 Altera Corporation Efficient integrated circuits configuration data management
US10908817B2 (en) * 2017-12-08 2021-02-02 Sandisk Technologies Llc Signal reduction in a microcontroller architecture for non-volatile memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02130023A (ja) 1988-11-10 1990-05-18 Fujitsu Ltd マルチファンクション・プログラマブル・ロジック・デバイス
US5694056A (en) * 1996-04-01 1997-12-02 Xilinx, Inc. Fast pipeline frame full detector
US6049222A (en) * 1997-12-30 2000-04-11 Xilinx, Inc Configuring an FPGA using embedded memory

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006351047A (ja) * 2006-10-02 2006-12-28 Nec Corp データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
JP2009200779A (ja) * 2008-02-21 2009-09-03 Nec Corp 構成情報生成装置、構成情報生成制御方法、及びプログラム
US8032853B2 (en) 2008-02-21 2011-10-04 Nec Corporation Configuration information writing apparatus, configuration information writing method and computer program product
JP2012191455A (ja) * 2011-03-10 2012-10-04 Toshiba Corp 半導体集積回路
JP2013251889A (ja) * 2012-04-30 2013-12-12 Semiconductor Energy Lab Co Ltd 半導体装置
JP2019088012A (ja) * 2012-04-30 2019-06-06 株式会社半導体エネルギー研究所 半導体装置の動作方法
KR20130126555A (ko) * 2012-05-11 2013-11-20 삼성전자주식회사 재구성가능 프로세서 및 재구성가능 프로세서의 코드 압축해제 방법
KR102070199B1 (ko) * 2012-05-11 2020-01-28 삼성전자주식회사 재구성가능 프로세서 및 재구성가능 프로세서의 코드 압축해제 방법
JP2014158250A (ja) * 2012-05-25 2014-08-28 Semiconductor Energy Lab Co Ltd プログラマブルロジックデバイス及び半導体装置
CN104321967A (zh) * 2012-05-25 2015-01-28 株式会社半导体能源研究所 可编程逻辑装置及半导体装置
US10122364B2 (en) 2012-05-25 2018-11-06 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device and semiconductor device
JP2016105595A (ja) * 2013-06-18 2016-06-09 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス
KR102270580B1 (ko) * 2013-06-18 2021-06-28 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
JP2015027080A (ja) * 2013-06-18 2015-02-05 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス
KR20140147045A (ko) * 2013-06-18 2014-12-29 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
WO2015012406A1 (ja) * 2013-07-26 2015-01-29 株式会社 東芝 マルチコンテキストコンフィグレーションメモリ
US9691476B2 (en) 2013-07-26 2017-06-27 Kabushiki Kaisha Toshiba Multi-context configuration memory
JP2014212551A (ja) * 2014-06-23 2014-11-13 株式会社東芝 半導体集積回路
JP2016123092A (ja) * 2014-12-16 2016-07-07 三星電子株式会社Samsung Electronics Co.,Ltd. Dram基盤の再構成可能なロジック装置及び方法
CN105703765A (zh) * 2014-12-16 2016-06-22 三星电子株式会社 基于dram的可重构逻辑
JPWO2017175708A1 (ja) * 2016-04-07 2019-02-14 日本電気株式会社 半導体装置、コンフィグレーション方法およびプログラム
WO2017175708A1 (ja) * 2016-04-07 2017-10-12 日本電気株式会社 半導体装置、コンフィグレーション方法およびプログラムを記憶した記憶媒体
KR20190127773A (ko) * 2017-03-08 2019-11-13 후라마통 전기 시설, 특히 핵 시설을 제어하기 위한 프로그래밍가능 논리 회로, 연관된 제어 디바이스 및 방법
JP2020515130A (ja) * 2017-03-08 2020-05-21 フラマトムFramatome 電気施設、特に核施設を制御するためのプログラマブル論理回路、関連する制御デバイスおよび方法
KR102471141B1 (ko) * 2017-03-08 2022-11-28 후라마통 전기 시설, 특히 핵 시설을 제어하기 위한 프로그래밍가능 논리 회로, 연관된 제어 디바이스 및 방법
JP7282038B2 (ja) 2017-03-08 2023-05-26 フラマトム 電気施設、特に核施設を制御するためのプログラマブル論理回路、関連する制御デバイスおよび方法

Also Published As

Publication number Publication date
US6304101B1 (en) 2001-10-16
JP3743487B2 (ja) 2006-02-08

Similar Documents

Publication Publication Date Title
JP2001028536A (ja) プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路の再構成方法、プログラマブル論理回路装置用の回路情報の圧縮方法
JP3444216B2 (ja) プログラマブルデバイス
KR102438730B1 (ko) 공간 다중화를 지원하는 디램 기초의 재설정 가능 논리 장치
US7482836B2 (en) High bandwidth reconfigurable on-chip network for reconfigurable systems
US6163168A (en) Efficient interconnect network for use in FPGA device having variable grain architecture
US6053950A (en) Layout method for a clock tree in a semiconductor device
US6844757B2 (en) Converting bits to vectors in a programmable logic device
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
JPH09181599A (ja) 時間多重書込可能論理装置
JP6564186B2 (ja) 再構成可能な半導体装置
WO2014080872A2 (ja) 再構成可能な半導体装置の論理構成方法
JP2007508726A (ja) コンフィギュレーション可能なロジック回路装置
US6563437B1 (en) Method and apparatus for using programmable logic device (PLD) logic for decompression of configuration data
JP4213044B2 (ja) Lutベースのリコンフィギュラブル・ロジック・アーキテクチャのためのコンフィギュレーション・メモリの実装
JP3351452B2 (ja) プログラマブルゲートアレイ
JP2005323399A (ja) プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路の再構成方法、プログラマブル論理回路装置用の回路情報の圧縮方法。
CN104636290B (zh) 基于多配置链组的fpga芯片配置结构和配置方法
US7535253B1 (en) Register data retention systems and methods during reprogramming of programmable logic devices
JPH1117524A (ja) プログラマブル論理回路システムおよびプログラマブル論理回路装置の再構成方法
EP1233517B1 (en) A system for rapid configuration of a programmable logic device
JP2004200311A (ja) 論理検証装置
USRE43081E1 (en) Method and device for configuration of PLDS
US7663401B1 (en) Multiplexer initialization systems and methods
JP2004335686A (ja) 高速低消費電力論理装置
JP2002009613A (ja) 回路機能の再構成方法、及びプログラマブル論理回路装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051108

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091125

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101125

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111125

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111125

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121125

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121125

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131125

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees