[go: up one dir, main page]

JP3944639B2 - Programmable logic device - Google Patents

Programmable logic device Download PDF

Info

Publication number
JP3944639B2
JP3944639B2 JP2002175354A JP2002175354A JP3944639B2 JP 3944639 B2 JP3944639 B2 JP 3944639B2 JP 2002175354 A JP2002175354 A JP 2002175354A JP 2002175354 A JP2002175354 A JP 2002175354A JP 3944639 B2 JP3944639 B2 JP 3944639B2
Authority
JP
Japan
Prior art keywords
data
output
block
input
external device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2002175354A
Other languages
Japanese (ja)
Other versions
JP2004023417A (en
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2002175354A priority Critical patent/JP3944639B2/en
Publication of JP2004023417A publication Critical patent/JP2004023417A/en
Application granted granted Critical
Publication of JP3944639B2 publication Critical patent/JP3944639B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、プログラム書き換えが可能なプログラマブル論理装置に関する。
【0002】
【従来の技術】
近年、IC(集積回路)設計技術、及び製造技術の急速な発達により、回路設計をプログラム可能なPLD(Programmable Logic Device:プログラマブル論理回路)が開発されている。このようなプログラマブル論理回路では、論理回路の構成情報を含む回路情報を読み込ませることにより、内部の論理回路間の配線を自由に構成できるとともに一度作成した回路を必要に応じて何度でも再構成することが可能である。
【0003】
また、FPGA(Field Programmable Gate Array)と呼ばれるプログラマブル論理装置は、論理ブロック間及び配線間を接続するスイッチマトリクスを制御するビットストリームを外部から書き込むことによって、所望の論理回路を再構成することができるデバイスであり、内部回路構成の情報や論理ブロック間のスイッチマトリクス制御データを含む回路情報を記憶するメモリがデバイス内に設けられて、この回路情報により様々な動作特性を持たせることが可能である。
【0004】
【発明が解決しようとする課題】
従来、情報処理システム等に搭載された上記FPGAにおいてプログラムを書き換える際には、図4に示すように一部の論理ブロックのみを書き換える場合でも、FPGA全体の書き換えが必要であり、書き換える必要が無い論理ブロック部分にも影響を及ぼす場合があった。また再構成の後には、電源を再投入してFPGAを初期化する必要があり、システムの動作を一旦停止しなければならなかった。
【0005】
そのような問題を解消するために、図5に示すように書き換えを行う一部の論理ブロックのみを再構成する技術が開発されたが、一部の書き換えであっても、FPGAのI/O(Input/Output)をハイインピーダンス状態又はプルアップにしてFPGAのデータ入出力を停止するため、再構成後にこのI/Oを初期化してシステムの不正な動作を防ぐ必要があった。そのため、やはり電源再投入の必要が生じるとともに再構成時にはFPGAに接続される外部装置に影響を与えないためにシステム制御しなければならず、FPGAがオープンシステムに接続されている場合、複雑な制御が必要となり不都合が生じることとなっていた。
【0006】
また、金融システムや交通システム、警備システム、航空管制システム等、常に稼働していなければならない各種情報処理システムにおいては、一旦電源を落として再投入することによりシステム稼働を一時停止することはシステムの運営に非常に大きな支障をきたすこととなる。
【0007】
本発明は、上記問題を鑑みてプログラマブル論理装置が外部装置との接続状態をアクティブに保持したまま、部分的な再構成を行うことができるように構成している。
【0008】
【課題を解決するための手段】
請求項1に記載の発明は、
回路構成情報を含む回路情報に基づいて再構成が可能な論理ブロックを複数備えたプログラマブル論理装置において、
接続規格が定められた外部装置と接続する接続手段と、
前記回路情報を取得し、この取得した回路情報に基づいて前記論理ブロックを再構成する再構成手段と、
前記接続手段により接続された外部装置と、前記論理ブロックとの間で、データの入出力を調整する調整手段と、を備え、
前記調整手段は、前記外部装置からの入力データに対応する出力データを生成するバッファ論理ブロックと、
前記論理ブロックの再構成中は、前記外部装置と前記バッファ論理ブロックとの間でデータの入出力を行い、再構成していない間は前記外部装置と前記論理ブロックとの間でデータの入出力を行うよう、データの入出力先を切り替える切替手段と、
を備えることを特徴とする。
【0009】
請求項2に記載の発明は、請求項1に記載のプログラマブル論理装置において、
前記調整手段は、前記再構成手段により前記論理ブロックが再構成される間、前記接続手段により接続された外部装置から入力データを入力されると、この入力データに対応し、外部装置に前記論理ブロックによる論理処理を一時待機させる出力データを前記バッファ論理ブロックにより生成し、当該外部装置に出力することを特徴とする。
【0010】
この請求項1、2記載の発明によれば、外部装置と再構成する論理ブロックとの間でデータの入出力を調整し、論理ブロックが再構成している間は、外部装置からの入力データに対する論理処理を外部装置に待機させる出力データを生成して外部装置に出力するので、外部装置との接続状態をアクティブに保持したまま、再構成対象の論理ブロックのみを再構成することができる。
【0011】
請求項3に記載の発明は、請求項2に記載のプログラマブル論理装置において、
前記出力データは、前記外部装置の接続規格に従った出力データであることを特徴としている。
【0012】
この請求項3記載の発明によれば、外部装置の接続規格に従った出力データであるので、外部装置側で不正な動作が発生することを防止することができる。
【0015】
請求項に記載の発明は、請求項1〜の何れか一項に記載のプログラマブル論理装置において、
回路の再構成が不可能な論理ブロックを備え、
前記調整手段は、前記回路の再構成が不可能な論理ブロックに備えられることを特徴としている。
【0016】
この請求項記載の発明によれば、回路の再構成が不可能な論理ブロックに調整手段が備えられるので、再構成可能な論理ブロックが再構成中であっても、調整手段は再構成を受けることなく、安定な調整動作を実行することができる。
【0017】
【発明の実施の形態】
以下、図を参照して本発明の実施の形態を詳細に説明する。
まず、構成を説明する。
図1は、本発明に係るFPGA1を含む情報処理システム100の構成を示す図である。
図1において、情報処理システム100は、CPU20、RAM30、HDD40、FPGA1から構成され、各部はPCIバス50により接続されている。また、FPGA1はPCII/F6を介してPCIバス50に接続されている。すなわち、CPU20、RAM30、HDD40、PCI(Peripheral Component Interconnect)バス50は、請求項で記載したプログラマブル論理装置であるFPGA1が接続する外部装置である。
【0018】
なお、図1に示した情報処理システム100は、情報処理を行うコンピュータシステムであり、本発明に係るFPGA1をシステムに搭載した一例を示すものである。従って、例えばさらに記憶装置や表示装置等を備える等、情報処理システム100を構成する各構成装置は適宜変更可能である。
【0019】
CPU(Central Processing Unit)20は、情報処理システム100の各構成装置の動作を制御する情報処理システム100のメインコントローラであり、HDD40に格納される各種制御プログラムを読み出して各種処理を実行する。
【0020】
RAM(Random Access Memory)30は、書き換え可能な半導体メモリから構成され、CPU10によって実行される各種プログラムやこれら各種プログラムによって処理されたデータ等を一時的に記憶するワークエリアを形成する。
【0021】
HDD(Hard Disk Drive)40は、プログラムやデータ等が予め記憶されている記録媒体(図示せず)から構成され、この記録媒体には、システムプログラム、各種制御プログラム及び各種制御プログラムで処理されたデータ等を記憶する。また、HDD40は、FPGA1の回路情報を複数記憶している。
【0022】
次に、本発明に係るFPGA1について詳細に説明する。
図2は、本実施の形態におけるFPGA1の構成を示す模式図である。
図2において、FPGA1は、論理ブロック21〜24、内部I/O2a、I/Oブロック31〜38、コンフィグレーションブロック4から構成され、その外周にユーザI/F5、外部装置のインターフェイスであるPCII/F6が接続されている。
【0023】
FPGA1は、論理ゲートを組み合わせた論理ブロック21〜24の集合体であり、マトリクス状に配置された論理ブロック21〜24間に図示しない配線が格子状に敷設されており、スイッチマトリクス8によりその配線接続が制御される。すなわち、FPGA1は、請求項に記載したプログラマブル論理装置である。なお、FPGA1は、多数の論理ブロックの集合体であるが、図1では説明の簡略化のため、4つの論理ブロック21〜24のみを図示した。
【0024】
また、論理ブロック21〜23は、I/Oブロック31〜35を介してユーザI/F5に接続され、再構成が可能に設定されているが、論理ブロック24は、I/Oブロック36〜38を介して外部インターフェイスであるPCII/F6と接続されてPCI規格に従ったデータの入出力を行うため、回路の再構成が不可能に設定されている。つまり、図2の斜線部で示す論理ブロック24及びI/Oブロック36〜38において再構成は行われない。
【0025】
I/Oブロック31〜38は、それぞれ複数の入力端子及び出力端子から構成され、I/Oブロック31〜35はユーザI/F5と接続されて、ユーザI/F5を介して接続される外部装置とデータの入出力を行い、I/Oブロック36〜38はPCIIF6と接続されて、PCII/F6を介して接続される外部装置とデータの入出力を行う。I/Oブロック36〜38は、再構成が行われないため論理ブロック21〜23及びI/Oブロック31〜35が再構成中でもPCII/F6とデータの入出力を行う。すなわち、I/Oブロック36〜38は、請求項に記載した接続手段としての機能を有する。
【0026】
コンフィグレーションブロック4は、SRAM(Static RAM)又はDRAM(Dynamic RAM)等の書き換え可能な記憶素子を内蔵し、この記憶素子にFPGA1の回路情報を格納して、格納した回路情報に基づいてFPGA1における回路の再構成制御を行う。すなわち、コンフィグレーションブロック4は、請求項に記載した再構成手段としての機能を有する。なお、回路情報は、論理ブロック2の回路構成データ、各論理ブロック21〜23間の配線接続を制御する配線接続データ及びI/Oブロック31〜35の端子構成データを含むこととする。
【0027】
また、コンフィグレーションブロック4に格納する回路情報は、回路構成を行う際に、ユーザが所望する回路情報がPCII/F6を介して接続されるHDD40からコンフィグレーションブロック4に出力される。コンフィグレーションブロック4はHDD40から取得した回路情報を内蔵する記憶素子に格納する。
【0028】
ユーザI/F5は、ユーザが設定するアーキテクチャ(図示せず)のインターフェイスであり、PCII/F6は、PCI規格に従ったPCIバス50のインターフェイスである。なお、本実施の形態では、PCI規格に従ったインターフェイスとして説明するが、情報処理システム100に採用されている接続バスの規格に従ったインターフェイスであればその規格はUSB(Universal Serial Bus)やSCSI(Small Computer System Interface)を適用してもよく、特に限定しない。
【0029】
論理ブロック24は、バッファブロック7及び他の論理ブロック21〜23とデータの入出力を行う内部I/O2aをその内部に有している。
【0030】
図2を参照してバッファブロック7について詳細に説明する。
バッファブロック7は、図2に示すように、I/Oブロック36〜38と、再構成可能な論理ブロック21〜23に接続される内部I/O2aとの間で、データ入出力の調整を行う緩衝回路である。すなわち、バッファブロック7は、請求項に記載した調整手段としての機能を有する。バッファブロック7は、マルチプレクサー71、デマルチプレクサー72、バッファ論理ブロック73から構成される。
【0031】
マルチプレクサー71は、コンフィグレーションブロック4から入力された制御信号に基づいて、内部I/O2a又はバッファ論理回路73から入力された入力データを論理ブロック24に出力し、デマルチプレクサー72は、コンフィグレーションブロック4から入力された制御信号に基づいて、論理ブロック24から入力されたデータを内部I/O2a又はバッファ論理回路73のどちらか一方の出力先を選択して出力する。
【0032】
バッファ論理ブロック73は、デマルチプレクサー72から入力された入力データを論理処理し、PCII/F6側の外部装置がFPGA1による論理処理を待機するアイドル状態となるようなPCI規格に従った出力データをマルチプレクサー71に出力する。具体的には例えば、入力データにFPGA1による論理処理が行われなかったことを示すエラーコードを付加して出力データとして出力する等して再度入力データを入力させるようにする。つまり、FPGA1が再構成している間、PCII/F6側の外部装置からの入力データを再構成中の論理ブロック21〜23へ出力せずにバッファ論理ブロック73がPCII/F6側の外部装置からの入力データに対応することにより、PCII/F6側の外部装置との接続状態をアクティブに保持する。
【0033】
次に、本実施の形態の動作を説明する。
以下に、上述したFPGA1による再構成処理を図2を参照して説明する。
説明の前提として、現在、FPGA1は再構成中ではなく、論理ブロック21〜24により論理処理を行っており、図2において、PCII/F6から入力された入力データは、論理ブロック24により論理処理されてデマルチプレクサー72に出力され、デマルチプレクサー72は入力データの出力先として内部I/O2aを選択して出力している。また、論理ブロック21〜23から内部I/O2aに入力されたデータは、マルチプレクサー71を介して論理ブロック24に出力されて論理処理された後、I/Oブロック36〜38を介してPCII/F6にFPGA1による論理処理結果として出力される。
【0034】
再構成処理において、まず、コンフィグレーションブロック4に再構成指示とともに回路情報が入力されると、コンフィグレーションブロック4は、入力された回路情報を内蔵する記憶素子に格納し、回路の再構成を開始する制御信号をバッファブロック7のマルチプレクサー71、デマルチプレクサー72に入力する。図2において、回路の再構成を開始する制御信号を入力されたデマルチプレクサー72は、入力データの出力先を内部I/O2aからバッファ論理ブロック73に切り換えて出力する。
【0035】
バッファ論理ブロック73は、デマルチプレクサー72から入力された入力データを論理処理して、PCII/F6側にFPGA1による論理処理結果を一時待機させる出力データを生成し、マルチプレクサー71に出力する。マルチプレクサー71は、バッファ論理ブロック73から入力されたデータを論理ブロック24及びI/Oブロック36〜38を介してPCII/F6に出力する。
【0036】
一方、コンフィグレーションブロック4は、各部に再構成を開始する制御信号を出力後、内蔵する記憶素子に格納した回路情報に基づいて、再構成対象の論理ブロック21〜23及びI/Oブロック31〜35の再構成を制御する。そして、再構成を終了すると、再構成が終了したことを示す制御信号をマルチプレクサー71、デマルチプレクサー72に出力する。図2において、再構成終了の制御信号を入力されたデマルチプレクサー72は、論理ブロック24からの入力データの出力先をバッファ論理ブロック73から内部I/O2aに切り換えて出力し、内部I/O2aは入力されたデータを論理ブロック21〜23に出力してFPGA1による論理処理を開始する。また、内部I/O2aは、論理ブロック21〜23により論理処理されて入力された入力データをマルチプレクサー71に出力し、マルチプレクサー71に出力された出力データは論理ブロック24により論理処理されて内部ブロック36〜38を介してPCII/F6に出力される。
【0037】
以上のように、書き換えが可能な論理ブロック21〜23及びI/Oブロック31〜35を再構成中は、PCII/F6からの入力データをバッファ論理ブロック73に出力し、バッファ論理ブロック73はPCII/F6に対して不正な動作を発生させないような出力データを生成してPCII/F6に出力し、FPGA1による論理処理を一時待機させるので、PCII/F6との接続をアクティブに保持したまま、再構成対象の論理ブロックのみを再構成することができる。すなわち、情報処理システム100が動作中であってもシステムを構成する各装置に影響を及ぼすことなくFPGA1の再構成が必要な機能の論理ブロックのみを再構成することができる。
【0038】
また、再構成のために情報処理システム100の電源を再投入する必要がないため、常に稼働しなければならない金融システムや交通システムなどの各種情報処理システムに対して本発明に係るFPGA1を導入することは非常に有効性が高い。
【0039】
なお、本実施の形態における記述は、本発明に係る好適な情報処理システム100及びFPGA1の一例であり、これに限定されるものではない。
例えば、本実施の形態では、情報処理システム100のHDD40にFPGA1の回路情報を複数記憶させておくこととしたが、これに限らず、例えばFPGA1にユーザI/F5を介してメモリを接続し、このメモリに上記回路情報を記憶させておくこととしてもよいし、情報処理システム100にネットワークインターフェイスカード等を備えて回路情報を複数備えたサーバとネットワーク通信を行い、ネットワークを介してユーザが所望する回路情報を取得することとしてもよい。
【0040】
その他、本実施の形態における情報処理システム及びFPGA1を構成する各装置又は構成部分の細部構成及び細部動作に関しても本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【0041】
【発明の効果】
請求項1、2記載の発明によれば、外部装置と再構成する論理ブロックとの間でデータの入出力を調整し、論理ブロックが再構成している間は、外部装置からの入力データに対する論理処理を外部装置に待機させる出力データを生成して外部装置に出力するので、外部装置との接続状態をアクティブに保持したまま、再構成対象の論理ブロックのみを再構成することができる。
【0042】
請求項3記載の発明によれば、外部装置の接続規格に従った出力データであるので、外部装置側で不正な動作が発生することを防止することができる。
【0044】
請求項記載の発明によれば、回路の再構成が不可能な論理ブロックに調整手段が備えられるので、再構成可能な論理ブロックが再構成中であっても、調整手段は再構成を受けることなく、安定な調整動作を実行することができる。
【図面の簡単な説明】
【図1】本発明に係るFPGA1を含む情報処理システム100の構成を示す図である。
【図2】本発明を適用した実施の形態のFPGA1の内部構成を示す図である。
【図3】図2のバッファブロック7の内部構成を示す図である。
【図4】従来のFPGAにおける再構成方法を説明する図である。
【図5】従来のFPGAにおける再構成方法を説明する図である。
【符号の説明】
1 FPGA
21〜24 論理ブロック
2a 内部I/O
3 I/Oブロック
4 コンフィグレーションブロック
5 ユーザI/F
6 PCII/F
7 バッファブロック
71 マルチプレクサー
72 デマルチプレクサー
73 バッファ論理ブロック
8 スイッチマトリクス
20 CPU
30 RAM
40 HDD
50 PCIバス
100 情報処理システム
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a programmable logic device capable of rewriting a program.
[0002]
[Prior art]
In recent years, with the rapid development of IC (integrated circuit) design technology and manufacturing technology, PLD (Programmable Logic Device) capable of programming circuit design has been developed. In such a programmable logic circuit, the circuit information including the configuration information of the logic circuit can be read to freely configure the wiring between the internal logic circuits, and the circuit once created can be reconfigured as many times as necessary. Is possible.
[0003]
In addition, a programmable logic device called an FPGA (Field Programmable Gate Array) can reconfigure a desired logic circuit by externally writing a bit stream that controls a switch matrix that connects between logic blocks and between wirings. A device is provided with a memory for storing circuit information including internal circuit configuration information and switch matrix control data between logic blocks, and the circuit information can have various operating characteristics. .
[0004]
[Problems to be solved by the invention]
Conventionally, when a program is rewritten in the above-described FPGA mounted on an information processing system or the like, even when only a part of logical blocks are rewritten as shown in FIG. In some cases, the logical block portion was also affected. Further, after the reconfiguration, it is necessary to initialize the FPGA by turning on the power again, and the system operation has to be temporarily stopped.
[0005]
In order to solve such a problem, as shown in FIG. 5, a technique for reconfiguring only a part of logical blocks to be rewritten has been developed. Since (Input / Output) is set to a high impedance state or pulled up to stop data input / output of the FPGA, it is necessary to initialize this I / O after reconfiguration to prevent an illegal operation of the system. Therefore, it is necessary to turn on the power again, and the system must be controlled at the time of reconfiguration so as not to affect the external device connected to the FPGA. When the FPGA is connected to the open system, complicated control is required. Would be inconvenient.
[0006]
In addition, in various information processing systems such as financial systems, transportation systems, security systems, air traffic control systems, etc. that must always be in operation, temporarily turning off the power and turning it on again can temporarily stop the system operation. It will cause a huge hindrance to the operation.
[0007]
In view of the above problems, the present invention is configured such that the programmable logic device can perform partial reconfiguration while keeping the connection state with the external device active.
[0008]
[Means for Solving the Problems]
The invention described in claim 1
In a programmable logic device comprising a plurality of logic blocks that can be reconfigured based on circuit information including circuit configuration information,
A connection means for connecting to an external device for which a connection standard is defined;
Reconfiguration means for acquiring the circuit information and reconfiguring the logic block based on the acquired circuit information;
And an external device connected by said connecting means, between said logic blocks, comprising an adjusting means for adjusting the input and output of data, and
The adjustment means includes a buffer logic block that generates output data corresponding to input data from the external device;
While the logical block is being reconfigured, data is input / output between the external device and the buffer logical block, and when the logical block is not being reconfigured, data is input / output between the external device and the logical block. Switching means for switching the data input / output destination to perform
It is characterized by providing.
[0009]
The invention according to claim 2 is the programmable logic device according to claim 1,
When the input unit receives input data from the external device connected by the connection unit while the logical block is reconfigured by the reconfiguration unit, the adjustment unit corresponds to the input data and the logical unit is connected to the external device. Output data for temporarily waiting for logical processing by the block is generated by the buffer logical block and output to the external device.
[0010]
According to the first and second aspects of the present invention, input / output of data is adjusted between the external device and the logical block to be reconfigured, and input data from the external device is maintained while the logical block is being reconfigured. Since the output data for causing the external device to wait for the logical processing is generated and output to the external device, it is possible to reconfigure only the logical block to be reconfigured while keeping the connection state with the external device active.
[0011]
The invention according to claim 3 is the programmable logic device according to claim 2,
The output data is output data in accordance with a connection standard of the external device.
[0012]
According to the third aspect of the invention, since the output data conforms to the connection standard of the external device, it is possible to prevent an illegal operation from occurring on the external device side.
[0015]
The invention according to claim 4 is the programmable logic device according to any one of claims 1 to 3 ,
Includes logic blocks that cannot be reconfigured,
The adjusting means is provided in a logic block in which the circuit cannot be reconfigured.
[0016]
According to the fourth aspect of the present invention, since the adjustment means is provided in the logic block in which the circuit cannot be reconfigured, the adjustment means performs the reconfiguration even if the reconfigurable logic block is being reconfigured. A stable adjustment operation can be executed without receiving it.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
First, the configuration will be described.
FIG. 1 is a diagram showing a configuration of an information processing system 100 including an FPGA 1 according to the present invention.
In FIG. 1, the information processing system 100 includes a CPU 20, a RAM 30, an HDD 40, and an FPGA 1, and each unit is connected by a PCI bus 50. The FPGA 1 is connected to the PCI bus 50 via the PCI / F6. That is, the CPU 20, RAM 30, HDD 40, and PCI (Peripheral Component Interconnect) bus 50 are external devices to which the FPGA 1, which is a programmable logic device described in claims, is connected.
[0018]
The information processing system 100 shown in FIG. 1 is a computer system that performs information processing, and shows an example in which the FPGA 1 according to the present invention is installed in the system. Therefore, for example, each component device constituting the information processing system 100 can be changed as appropriate, such as further including a storage device, a display device, and the like.
[0019]
A CPU (Central Processing Unit) 20 is a main controller of the information processing system 100 that controls the operation of each component device of the information processing system 100, and reads various control programs stored in the HDD 40 and executes various processes.
[0020]
A RAM (Random Access Memory) 30 is composed of a rewritable semiconductor memory, and forms a work area for temporarily storing various programs executed by the CPU 10, data processed by these various programs, and the like.
[0021]
An HDD (Hard Disk Drive) 40 includes a recording medium (not shown) in which programs, data, and the like are stored in advance. The recording medium is processed by a system program, various control programs, and various control programs. Store data etc. The HDD 40 stores a plurality of circuit information of the FPGA 1.
[0022]
Next, the FPGA 1 according to the present invention will be described in detail.
FIG. 2 is a schematic diagram showing the configuration of the FPGA 1 in the present embodiment.
In FIG. 2, the FPGA 1 is composed of logical blocks 21 to 24, internal I / O 2a, I / O blocks 31 to 38, and a configuration block 4, and the user I / F 5 and PCI / F6 is connected.
[0023]
The FPGA 1 is an aggregate of logic blocks 21 to 24 in which logic gates are combined. Wirings (not shown) are laid in a grid between the logic blocks 21 to 24 arranged in a matrix. Connection is controlled. That is, the FPGA 1 is a programmable logic device described in the claims. Note that the FPGA 1 is an aggregate of a large number of logical blocks, but only four logical blocks 21 to 24 are shown in FIG. 1 for simplicity of explanation.
[0024]
The logical blocks 21 to 23 are connected to the user I / F 5 via the I / O blocks 31 to 35 and are set to be reconfigurable. However, the logical block 24 includes the I / O blocks 36 to 38. Since the data is input / output in accordance with the PCI standard by being connected to the PCI / F6 which is an external interface through the PC, the circuit cannot be reconfigured. That is, no reconfiguration is performed in the logical block 24 and the I / O blocks 36 to 38 indicated by the hatched portion in FIG.
[0025]
Each of the I / O blocks 31 to 38 includes a plurality of input terminals and output terminals. The I / O blocks 31 to 35 are connected to the user I / F 5 and are connected via the user I / F 5. The I / O blocks 36 to 38 are connected to the PCIF 6 and input / output data to / from external devices connected via the PCI II / F 6. Since the I / O blocks 36 to 38 are not reconfigured, the logical blocks 21 to 23 and the I / O blocks 31 to 35 perform data input / output with the PCI / F 6 even when the I / O blocks 36 to 38 are reconfigured. That is, the I / O blocks 36 to 38 have a function as connection means described in the claims.
[0026]
The configuration block 4 includes a rewritable storage element such as SRAM (Static RAM) or DRAM (Dynamic RAM), stores circuit information of the FPGA 1 in the storage element, and in the FPGA 1 based on the stored circuit information. Performs circuit reconfiguration control. That is, the configuration block 4 has a function as a reconfiguration unit described in the claims. The circuit information includes circuit configuration data of the logical block 2, wiring connection data for controlling the wiring connection between the logical blocks 21 to 23, and terminal configuration data of the I / O blocks 31 to 35.
[0027]
The circuit information stored in the configuration block 4 is output to the configuration block 4 from the HDD 40 to which circuit information desired by the user is connected via the PCI II / F 6 when the circuit configuration is performed. The configuration block 4 stores circuit information acquired from the HDD 40 in a built-in storage element.
[0028]
The user I / F 5 is an interface of an architecture (not shown) set by the user, and the PCI II / F 6 is an interface of the PCI bus 50 according to the PCI standard. In this embodiment, the interface conforming to the PCI standard is described. However, if the interface conforms to the standard of the connection bus employed in the information processing system 100, the standard is USB (Universal Serial Bus) or SCSI. (Small Computer System Interface) may be applied and is not particularly limited.
[0029]
The logical block 24 has an internal I / O 2a for inputting / outputting data with the buffer block 7 and the other logical blocks 21 to 23.
[0030]
The buffer block 7 will be described in detail with reference to FIG.
As shown in FIG. 2, the buffer block 7 adjusts data input / output between the I / O blocks 36 to 38 and the internal I / O 2a connected to the reconfigurable logic blocks 21 to 23. It is a buffer circuit. That is, the buffer block 7 has a function as adjusting means described in the claims. The buffer block 7 includes a multiplexer 71, a demultiplexer 72, and a buffer logic block 73.
[0031]
The multiplexer 71 outputs the input data input from the internal I / O 2a or the buffer logic circuit 73 to the logic block 24 based on the control signal input from the configuration block 4, and the demultiplexer 72 Based on the control signal input from the block 4, the data input from the logic block 24 is selected and output from either the internal I / O 2 a or the buffer logic circuit 73.
[0032]
The buffer logic block 73 logically processes the input data input from the demultiplexer 72, and outputs the output data in accordance with the PCI standard so that the external device on the PCI / F6 side is in an idle state waiting for the logic processing by the FPGA1. Output to the multiplexer 71. Specifically, for example, the input data is input again by adding an error code indicating that the logic processing by the FPGA 1 has not been performed to the input data and outputting it as output data. That is, while the FPGA 1 is being reconfigured, input data from the external device on the PCI II / F 6 side is not output to the logical blocks 21 to 23 being reconfigured, and the buffer logical block 73 is output from the external device on the PCI II / F 6 side. The connection state with the external device on the PCI II / F 6 side is kept active.
[0033]
Next, the operation of the present embodiment will be described.
Hereinafter, the reconfiguration processing by the FPGA 1 will be described with reference to FIG.
As a premise of explanation, the FPGA 1 is not currently being reconfigured, and logical processing is performed by the logical blocks 21 to 24. In FIG. 2, the input data input from the PCI / F 6 is logically processed by the logical block 24. The demultiplexer 72 selects and outputs the internal I / O 2a as an output destination of the input data. The data input to the internal I / O 2a from the logic blocks 21 to 23 is output to the logic block 24 via the multiplexer 71 and subjected to logical processing, and then the PCI II / via the I / O blocks 36 to 38. The result is output as a logical processing result by FPGA 1 to F 6.
[0034]
In the reconfiguration process, when circuit information is input to the configuration block 4 together with a reconfiguration instruction, the configuration block 4 stores the input circuit information in a built-in storage element and starts circuit reconfiguration. The control signal to be input is input to the multiplexer 71 and the demultiplexer 72 of the buffer block 7. In FIG. 2, the demultiplexer 72 to which a control signal for starting circuit reconfiguration is input switches the output destination of the input data from the internal I / O 2a to the buffer logic block 73 and outputs it.
[0035]
The buffer logic block 73 performs logical processing on the input data input from the demultiplexer 72, generates output data that causes the PCI / F 6 side to temporarily wait for the logical processing result by the FPGA 1, and outputs the output data to the multiplexer 71. The multiplexer 71 outputs the data input from the buffer logic block 73 to the PCI II / F 6 via the logic block 24 and the I / O blocks 36 to 38.
[0036]
On the other hand, the configuration block 4 outputs a control signal for starting reconfiguration to each unit, and then, based on circuit information stored in a built-in storage element, the logic blocks 21 to 23 and I / O blocks 31 to 31 to be reconfigured 35 reconfigurations are controlled. When the reconfiguration is completed, a control signal indicating that the reconfiguration is completed is output to the multiplexer 71 and the demultiplexer 72. In FIG. 2, the demultiplexer 72 to which the reconfiguration end control signal is input switches the output destination of the input data from the logic block 24 from the buffer logic block 73 to the internal I / O 2a, and outputs the internal I / O 2a. Outputs the input data to the logic blocks 21 to 23 and starts logic processing by the FPGA 1. The internal I / O 2a outputs the input data that has been logically processed by the logic blocks 21 to 23 to the multiplexer 71, and the output data output to the multiplexer 71 is logically processed by the logic block 24 to be internally processed. The data is output to the PCI II / F 6 via the blocks 36 to 38.
[0037]
As described above, during reconfiguration of the rewritable logical blocks 21 to 23 and the I / O blocks 31 to 35, the input data from the PCI / F 6 is output to the buffer logical block 73, and the buffer logical block 73 / F6 generates output data that does not cause an illegal operation and outputs it to the PCI / F6 to temporarily wait for the logic processing by the FPGA 1, so that the connection with the PCI / F6 is kept active. Only the logical block to be configured can be reconfigured. In other words, even when the information processing system 100 is operating, it is possible to reconfigure only logical blocks having functions that require reconfiguration of the FPGA 1 without affecting each device constituting the system.
[0038]
Further, since it is not necessary to turn on the information processing system 100 again for reconfiguration, the FPGA 1 according to the present invention is introduced to various information processing systems such as a financial system and a traffic system that must always operate. It is very effective.
[0039]
Note that the description in the present embodiment is an example of a suitable information processing system 100 and FPGA 1 according to the present invention, and the present invention is not limited to this.
For example, in the present embodiment, a plurality of circuit information of the FPGA 1 is stored in the HDD 40 of the information processing system 100. However, the present invention is not limited to this. For example, a memory is connected to the FPGA 1 via the user I / F 5, The circuit information may be stored in the memory, or the information processing system 100 includes a network interface card or the like to perform network communication with a server including a plurality of circuit information, and a user desires via the network. The circuit information may be acquired.
[0040]
In addition, the detailed configuration and detailed operation of each device or component constituting the information processing system and FPGA 1 in the present embodiment can be changed as appropriate without departing from the spirit of the present invention.
[0041]
【The invention's effect】
According to the first and second aspects of the present invention, input / output of data is adjusted between the external device and the logical block to be reconfigured, and the input data from the external device is processed while the logical block is being reconfigured. Since output data for causing the external device to wait for the logical processing is generated and output to the external device, it is possible to reconfigure only the logical block to be reconfigured while keeping the connection state with the external device active.
[0042]
According to the third aspect of the invention, since the output data conforms to the connection standard of the external device, it is possible to prevent an illegal operation from occurring on the external device side.
[0044]
According to the fourth aspect of the present invention, since the adjusting means is provided in the logic block in which the circuit cannot be reconfigured, the adjusting means is reconfigured even if the reconfigurable logic block is being reconfigured. Therefore, a stable adjustment operation can be performed.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of an information processing system 100 including an FPGA 1 according to the present invention.
FIG. 2 is a diagram showing an internal configuration of an FPGA 1 according to an embodiment to which the present invention is applied.
FIG. 3 is a diagram showing an internal configuration of the buffer block 7 of FIG. 2;
FIG. 4 is a diagram for explaining a reconfiguration method in a conventional FPGA.
FIG. 5 is a diagram for explaining a reconfiguration method in a conventional FPGA.
[Explanation of symbols]
1 FPGA
21-24 Logical block 2a Internal I / O
3 I / O block 4 Configuration block 5 User I / F
6 PCI / F
7 Buffer block 71 Multiplexer 72 Demultiplexer 73 Buffer logic block 8 Switch matrix 20 CPU
30 RAM
40 HDD
50 PCI Bus 100 Information Processing System

Claims (4)

回路構成情報を含む回路情報に基づいて再構成が可能な論理ブロックを複数備えたプログラマブル論理装置において、
接続規格が定められた外部装置と接続する接続手段と、
前記回路情報を取得し、この取得した回路情報に基づいて前記論理ブロックを再構成する再構成手段と、
前記接続手段により接続された外部装置と、前記論理ブロックとの間で、データの入出力を調整する調整手段と、を備え、
前記調整手段は、前記外部装置からの入力データに対応する出力データを生成するバッファ論理ブロックと、
前記論理ブロックの再構成中は、前記外部装置と前記バッファ論理ブロックとの間でデータの入出力を行い、再構成していない間は前記外部装置と前記論理ブロックとの間でデータの入出力を行うよう、データの入出力先を切り替える切替手段と、
を備えることを特徴とするプログラマブル論理装置。
In a programmable logic device including a plurality of logic blocks that can be reconfigured based on circuit information including circuit configuration information,
Connection means for connecting to an external device for which a connection standard is defined;
Reconfiguration means for acquiring the circuit information and reconfiguring the logic block based on the acquired circuit information;
And an external device connected by said connecting means, between said logic blocks, comprising an adjusting means for adjusting the input and output of data, and
The adjustment means includes a buffer logic block that generates output data corresponding to input data from the external device;
While the logical block is being reconfigured, data is input / output between the external device and the buffer logical block, and when the logical block is not being reconfigured, data is input / output between the external device and the logical block. Switching means for switching the data input / output destination to perform
A programmable logic device comprising:
前記調整手段は、前記再構成手段により前記論理ブロックが再構成される間、前記接続手段により接続された外部装置から入力データを入力されると、この入力データに対応し、外部装置に前記論理ブロックによる論理処理を一時待機させる出力データを前記バッファ論理ブロックにより生成し、当該外部装置に出力することを特徴とする請求項1に記載のプログラマブル論理装置。When the input unit receives input data from the external device connected by the connection unit while the logical block is reconfigured by the reconfiguration unit, the adjustment unit corresponds to the input data and the logical unit is connected to the external unit. 2. The programmable logic device according to claim 1, wherein output data for temporarily waiting for logical processing by the block is generated by the buffer logic block and output to the external device. 前記出力データは、前記外部装置の接続規格に従った出力データであることを特徴とする請求項2に記載のプログラマブル論理装置。  The programmable logic device according to claim 2, wherein the output data is output data in accordance with a connection standard of the external device. 回路の再構成が不可能な論理ブロックを備え、
前記調整手段は、前記回路の再構成が不可能な論理ブロックに備えられることを特徴とする請求項1〜の何れか一項に記載のプログラマブル論理装置。
With logic blocks that cannot be reconfigured,
It said adjusting means includes a programmable logic device according to any one of claim 1 to 3, characterized in that provided in the reconstruction is not possible logic blocks of the circuit.
JP2002175354A 2002-06-17 2002-06-17 Programmable logic device Expired - Lifetime JP3944639B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002175354A JP3944639B2 (en) 2002-06-17 2002-06-17 Programmable logic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002175354A JP3944639B2 (en) 2002-06-17 2002-06-17 Programmable logic device

Publications (2)

Publication Number Publication Date
JP2004023417A JP2004023417A (en) 2004-01-22
JP3944639B2 true JP3944639B2 (en) 2007-07-11

Family

ID=31174029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002175354A Expired - Lifetime JP3944639B2 (en) 2002-06-17 2002-06-17 Programmable logic device

Country Status (1)

Country Link
JP (1) JP3944639B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244429A (en) * 2005-03-07 2006-09-14 Canon Inc Data processor and its control method
JP5277615B2 (en) * 2007-11-22 2013-08-28 富士ゼロックス株式会社 Data processing apparatus and data processing program
JP5438358B2 (en) 2009-04-13 2014-03-12 キヤノン株式会社 Data processing apparatus and control method thereof

Also Published As

Publication number Publication date
JP2004023417A (en) 2004-01-22

Similar Documents

Publication Publication Date Title
US5809281A (en) Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
US5737766A (en) Programmable gate array configuration memory which allows sharing with user memory
US6326806B1 (en) FPGA-based communications access point and system for reconfiguration
US7328335B1 (en) Bootable programmable logic device for internal decoding of encoded configuration data
US6907595B2 (en) Partial reconfiguration of a programmable logic device using an on-chip processor
US7446561B2 (en) I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US6839888B2 (en) Method for implementing bit-swap functions in a field programmable gate array
CN103370878B (en) Power management in integrated circuit
JPH11353300A (en) Designation of programmable pin for semiconductor device
JP4209771B2 (en) General purpose computer architecture
EP0969290B1 (en) A general port capable of implementing the JTAG protocol
US6029236A (en) Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
CN114253602A (en) Logic structure based on micro-sector infrastructure
US5633806A (en) Semiconductor integrated circuit and method of designing same
JPH1049510A (en) Integrated circuit processor
CN1333357C (en) In-circuit configuration structure with non-volatile configuration storage
JPS6364088B2 (en)
JP3944639B2 (en) Programmable logic device
JPH0146946B2 (en)
US7030646B1 (en) Functional pre-configuration of a programmable logic device
US7080226B1 (en) Field programmable gate array (FPGA) configuration data path for module communication
US7876125B1 (en) Register data retention systems and methods during reprogramming of programmable logic devices
JP2006100991A (en) Non-volatile logic circuit and system lsi having the same
JPH1117524A (en) Programmable logic circuit system and re-configuration method for programmable logic circuit device
US7554358B1 (en) Programmable logic devices with user non-volatile memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070326

R150 Certificate of patent or registration of utility model

Ref document number: 3944639

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100420

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140420

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350