JP3845389B2 - コンフィグレーション装置 - Google Patents
コンフィグレーション装置 Download PDFInfo
- Publication number
- JP3845389B2 JP3845389B2 JP2003133745A JP2003133745A JP3845389B2 JP 3845389 B2 JP3845389 B2 JP 3845389B2 JP 2003133745 A JP2003133745 A JP 2003133745A JP 2003133745 A JP2003133745 A JP 2003133745A JP 3845389 B2 JP3845389 B2 JP 3845389B2
- Authority
- JP
- Japan
- Prior art keywords
- configuration
- fpga
- signal
- control unit
- buffer
- 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 - Fee Related
Links
Images
Landscapes
- Microcomputers (AREA)
- Logic Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、FPGAのコンフィグレーションを行うコンフィグレーション装置に関する。
【0002】
【従来の技術】
図11は従来のFPGA(Field Programmable Gate Array )を用いたハードウェアの構造を示したものである。
従来のハードウェアでは、FPGA毎にコンフィグレーションデータを格納したPROMが対となって実装されている。FPGA403からCCLK信号とDONE信号とINIT信号がPROM402に接続され、データはパラレルバスにて構成されている。PROGB信号にはハードウェアのリセット信号が接続されている。
【0003】
FPGAと対になっているPROMはコンフィグレーションデータを書き込むためのJTAGインタフェース401を有し、それぞれデイジーチェーン接続されている。
【0004】
ハードウェア起動時、FPGA403はDONE信号を「L」レベルにアサート(assert)し、PROGB信号がネゲート(negate)されるとFPGAの内部コンフィグレーション回路初期化後にINIT信号をネゲートする。PROM402はDONE信号のアサートとINIT信号のネゲートを検出すると内部に格納されているコンフィグレーションデータをCCLK信号に同期してパラレルデータバスに出力する。FPGAのコンフィグレーション完了後、DONE信号はネゲートされる。
【0005】
PROMにコンフィグレーションデータを書き込むには一度ハードウェアの動作を停止させて、JTAGインタフェース401を介して専用のツールを接続し、各FPGAに必要なコンフィグレーションデータをツール上で設定してから行う。
【0006】
以下にFPGAのコンフィグレーションに関する文献を挙げる。
特許文献1は複数の回路情報の中から1つの回路情報を任意に選択し、所望のFPGAにおいて再コンフィグレーションを行うFPGA用コンフィグレーションインタフェースを提供する。
【0007】
特許文献2はFPGAに複数のフラッシュロムを接続し、FPGAの動作に非同期で外部からコンフィグレーションデータを取り込み、システムを停止させることなく、FPGAの機能を更新するコンピュータシステムを提供する。
【0008】
【特許文献1】
特開2000−278116号公報
【特許文献2】
特開2001−290758号公報
【0009】
【発明が解決しようとする課題】
ところが、従来技術には次のような問題点があった。
第1の問題点は、従来のハードウェアを実装したシステムにおいて、システムの運用を停止させなくてはFPGAのコンフィグレーションデータの更新ができないということである。
その理由は、コンフィグレーションデータの更新をするためにはJTAGインタフェースを持つツールと接続する必要があり、そのためにハードウェアを一度動作停止する必要があったためである。このためFPGAのコンフィグレーションデータを更新する度にシステムの運用を停止しなければならなかった。
【0010】
第2の問題点は、ハードウェアのコストが上がるということである。
その理由は、FPGA毎にコンフィグレーションデータを格納するPROMが必要となり、かつコンフィグレーションデータ書き込み用のJTAGインタフェースをハードウェアに準備しなければならないためである。
【0011】
上記問題点に鑑み、本発明は、ハードウェアの小型化を図り、また、システムを停止させずにコンフィグレーションデータの更新を行うことを目的とする。
【0012】
【課題を解決するための手段】
上記問題点を解決する為に、本発明であるコンフィグレーション装置は、複数の互いに並列に接続されたFPGAと、2つのバッファと、フラッシュROMと、CPUと、前記FPGAのコンフィグレーションを制御するコンフィグレーション制御部とを有し、各FPGA、第1のバッファ及びフラッシュROMが直列に接続され、コンフィグレーション制御部からの出力と第2のバッファからの出力とがワイアードOR接続になっていることを特徴とする。
【0013】
本発明のコンフィグレーション装置は、CPU、FROM及びFPGAが第2のバッファを介して接続された構造を更に有してもよい。
【0015】
本発明のコンフィグレーション装置において、ワイアードOR接続は、コンフィグレーション制御部からの制御信号により第2のバッファの出力を制御してもよい。
【0016】
本発明のコンフィグレーション装置において、フラッシュROMはセクタイレーズタイプであってもよい。
【0017】
本発明のコンフィグレーション装置において、コンフィグレーション制御部はFPGAのコンフィグレーションを許可する信号をシーケンス制御してもよい。
【0022】
【発明の実施の形態】
本実施例の構成について図1を参照して詳細に説明する。
<構成>
本発明は、ハードウェアの制御を司るCPU101と、FPGA106及び107のコンフィグレーションデータを格納するセクタイレーズが可能なFROM(Flash ROM)102と、FPGA106及び107のコンフィグレーションをコントロールするコンフィグレーション制御部105と、CPU101とFROM102のアドレスバス中継を担い、コンフィグレーション制御部105及びFROM102とワイアードOR接続を形成するバッファ103と、CPU101とFROM102のデータバス中継及び、FROM102とFPGA106及び107へのデータバス中継を担うバッファ104と、機能の異なるFPGA106とFPGA107とを有する。
【0023】
CPU101のアドレスバスはバッファ103を介してFROM102に接続され、バッファ103の出力はコンフィグレーション制御部105からのCNFOE信号が「L」レベルのときに許可される。コンフィグレーション制御部105からもFROM102へアドレスバスが接続され、FPGAがコンフィグレーション中のときにのみFROM102に対する出力が許可され、CPU101からのアドレスバスとのワイアードOR接続を実現する。
【0024】
CPU101のデータバスはバッファ104を介してFROM102に接続され、バッファ104はコンフィグレーション制御部105からのCNFOE信号が「L」レベルのときにCPU101とFROM102間のバスアクセスを許可する。また、コンフィグレーション制御部105からのCNFOE信号が「H」レベルのときにバッファ104を介してFROM102のデータバスがFPGA106とFPGA107に接続される。
【0025】
CPU101からFROM102へのWE信号はFROM102へのライト時に使用される信号で、バッファ103を介してFROM102に接続される。CNFOE信号が「L」レベルのときにバッファ103からの出力が許可される。
【0026】
CPU101からのCE信号はFROM102へのリード時およびライト時に使用される信号で、バッファ103を介してFROM102に接続され、CNFOE信号が「L」レベルのときにバッファ103からの出力が許可される。コンフィグレーション制御部105からFROM102へのCE信号は、FPGAのコンフィグレーションデータをリードするときに使用される信号で、コンフィグレーション中にのみ出力が許可されてCPU101からのCE信号とのワイアードOR接続を実現する。
【0027】
すなわち、バッファ103をCPU101とFROM102との間に設置することで、CPU101とコンフィグレーション制御部105が同時にFROM102にアクセスできないようにしている。
【0028】
CPU101からのOE信号はFROM102へのリード時に使用される信号で、バッファ103を介してFROM102に接続され、CNFOE信号が「L」レベルの時にバッファ103からの出力が許可される。コンフィグレーション制御部105からFROM102へのOE信号はFPGAのコンフィグレーションデータをリードする時に使用される信号で、コンフィグレーション中にのみ出力が許可されてCPU101からのOE信号とのワイアードOR接続を実現する。
【0029】
INIT信号はFPGAから出力されるコンフィグレーションイニシャライズおよびコンフィグレーション失敗を示す信号で、ワイアードOR接続されてコンフィグレーション制御部に入力される。
【0030】
DONE1信号はFPGA106から出力されるコンフィグレーション完了を示す信号で、コンフィグレーション制御部に入力され、「L」レベルはコンフィグレーション中を示す。
【0031】
CS1信号はコンフィグレーション制御部から出力されるFPGA106のコンフィグレーション許可信号で、「L」レベルはコンフィグレーション許可中を示す。
【0032】
DONE2信号はFPGA107から出力されるコンフィグレーション完了を示す信号で、コンフィグレーション制御部105に入力され、「L」レベルはコンフィグレーション中を示す。
【0033】
CS2信号はコンフィグレーション制御部105から出力されるFPGA107のコンフィグレーション許可信号で、「L」レベルはコンフィグレーション許可中を示す。
【0034】
CCLK信号はコンフィグレーション制御部105から出力されるコンフィグレーションデータ転送用クロックで、FPGA106とFPGA107に入力される。
【0035】
WRITEB信号はコンフィグレーション制御部105から出力される、FPGAにコンフィグレーションデータを読み込ませる為の信号で、FPGA106とFPGA107に入力される。
【0036】
PROGB信号はハードウェアのリセット信号であり、本信号が入力されることでコンフィグレーション制御部105とFPGA106とFPGA107は初期化され、コンフィグレーションが開始される。
【0037】
<動作>
以下、図を用いて本発明の動作を説明する。
図2はFROM102へ格納されるFPGAコンフィグレーションデータを示したものである。機能の異なるFPGAを使用する場合、FPGAのコンフィグレーションデータは別々に用意しエリアを分けて格納する。コンフィグレーションデータ毎の更新を考慮し、セクタイレーズ可能なFROMを使用する。本発明では2つのFPGAのコンフィグレーションデータをひとつのFROMに格納する一例を挙げている。
【0038】
図3は本発明のFPGAコンフィグレーション動作の一例を示したものである。PROGB信号はハードウェアのリセット信号であり、起動時およびリセット時に「L」レベルにアサートされ、コンフィグレーション制御部とFPGA106とFPGA107の内部コンフィグレーション回路を初期化する。
【0039】
また、ハードウェアの起動時には必ずFPGAのコンフィグレーションが開始される為、コンフィグレーション制御部はCNFOE信号を「H」レベルにすることでバッファ103とバッファ104の出力を制御し、CPU101からFROM102へアクセスできない状態(FPGAコンフィグレーションバス優先)とする。
【0040】
INIT信号はPROGB信号のネゲート後、FPGAの内部コンフィグレーション回路の初期化中はFPGAにより「L」レベルにアサートされ、初期化完了後は「H」レベルとなる(CCLK−1参照)。
【0041】
INIT信号が「H」レベルになると、コンフィグレーション制御部105はFROM102に対してアドレスとCE信号とOE信号をCCLKに同期させて出力し、FROM102のリードサイクルを実施する(CCLK0参照)。リードサイクルを実施されたFROM102からはFPGAのコンフィグレーションデータが順次出力される。図3中でFPGA106用のコンフィグレーションデータはF1、FPGA107用のコンフィグレーションデータはF2と示している。
【0042】
一方、FPGA106とFPGA107からコンフィグレーション中を示すDONE1およびDONE2信号がハードウェア起動時から入力され、コンフィグレーション制御部105は各FPGAに対してコンフィグレーションを開始するようにCS1信号とCS2信号とWRITEB信号をアサートする。
【0043】
WEITEB信号はINIT信号のネゲート後に「L」レベルにアサートされ(CCLK0参照)、2つのFPGAのコンフィグレーション完了後にネゲートされる(CCLKN+2参照)。
【0044】
FROM102にはFPGA106用のコンフィグレーションデータとFPGA107用のコンフィグレーションデータが別々のエリアに格納されているため、他のFPGAのコンフィグレーションデータを誤って読み込ませないように、コンフィグレーション制御部は各FPGAに対するCS信号をシーケンス制御する。
【0045】
本実施例では、FPGA106の後にFPGA107をコンフィグレーションされる構成を例にしている。コンフィグレーション制御部105はPROGB信号解除後にDONE1信号を検出してCS1信号をアサート(CCLK−1参照)する。コンフィグレーション制御部はDONE1信号のネゲートによりFPGA106のコンフィグレーション完了を検出し、CS1信号をネゲートする(CCLKM+1参照)。
【0046】
次にDONE1信号のネゲートとDONE1信号のネゲートとDONE2信号のアサートを検出すると、コンフィグレーション制御部105はCS2信号をアサート(CCLKM+1参照)する。コンフィグレーション制御部105はDONE2信号のネゲートにより、FPGA107のコンフィグレーション完了を検出し、CS2信号をネゲートする(CCLKM+1参照)。
【0047】
FPGA107のコンフィグレーションが完了したところで、コンフィグレーション制御部105はDONE1信号とDONE2信号のネゲートを検出し、CNFOE信号の制御をCPUバス優先の状態とし(CCLKN+2参照)、CPU101からFROM102へのアクセスを可能とする。
【0048】
FPGAのコンフィグレーションデータの更新をするときにはCPU101を介して行う。これはFPGAのコンフィグレーション完了後にCPU101のバスをFROM102へ接続可能にした状態で行なわれる。例としてFPGA106用のコンフィグレーションデータを更新する場合を示す。
【0049】
本ハードウェアを実装したシステムが運用中のときに、CPU101からFROM102に格納されているFPGA106用の古いコンフィグレーションデータを削除し、その後でFPGA106用の新しいコンフィグレーションデータの書き込みを行う。このときセクタイレーズタイプのFROM102を使用しているので、FROM102に格納されているFPGA107用のコンフィグレーションデータを壊すことがない。
【0050】
本実施例では機能の異なるFPGAを2つ使用している例ではあるが、2つ以上のFPGAを扱う場合においても、コンフィグレーション制御部の扱う信号を増やしたり、容量の大きいFROMを使用したりすることで実現が可能である。
【0051】
【発明の効果】
第1の効果は、本発明のハードウェアを実装したシステムにおいて、システムの運用を停止させることなくFPGAのコンフィグレーションデータの更新ができるということである。
その理由は、コンフィグレーションデータを格納しているFROMに対して、FPGAのコンフィグレーション終了後にCPUがアクセスできるので、ハードウェアを動作停止させる必要がないためである。このため、システムの運用を停止させることなくFPGAのコンフィグレーションデータの更新ができる。
【0052】
第2の効果は、ハードウェアのコスト的なメリットが期待できることである。その理由は、2つのFPGAにそれぞれ必要であった2つのPROMをひとつのFROMに集約することで部品数を減らすことができるためである。
【0053】
第3の効果は、第2の効果に加えてハードウェアの小型化を図ることが期待できることである。その理由は、第2の効果の理由と同じである。
【0054】
第4の効果は、FPGA毎にコンフィグレーションデータの更新ができることである。
その理由は、セクタイレーズタイプのFROMを使用しているために、更新したいところだけのエリアを削除し、書き込むことが可能だからである。
【図面の簡単な説明】
【図1】本発明の構成を示す回路図である。
【図2】本発明のFROMの格納状況を示す図である。
【図3】本発明のコンフィグレーション方法を示すタイミングチャートである。
【図4】従来のFPGAを用いたハードウェアの構成を示す回路図である。
【符号の説明】
101 CPU
102 FROM(Flash ROM)
103及び104 バッファ
105 コンフィグレーション制御部
106及び107 FPGA
Claims (5)
- 複数の互いに並列に接続されたFPGAと、2つのバッファと、フラッシュROMと、CPUと、前記FPGAのコンフィグレーションを制御するコンフィグレーション制御部とを有し、
各FPGA、第1のバッファ及び前記フラッシュROMが直列に接続され、前記コンフィグレーション制御部からの出力と前記第2のバッファからの出力とがワイアードOR接続になっていることを特徴とするコンフィグレーション装置。 - 前記CPU、前記フラッシュROM及びFPGAが前記第2のバッファを介して接続された構造を更に有することを特徴とする請求項1に記載のコンフィグレーション装置。
- 前記ワイアードOR接続は、前記コンフィグレーション制御部からの制御信号により前記第2のバッファの出力を制御することを特徴とする請求項1に記載のコンフィグレーション装置。
- 前記フラッシュROMはセクタイレーズタイプであることを特徴とする請求項1に記載のコンフィグレーション装置。
- 前記コンフィグレーション制御部はFPGAのコンフィグレーションを許可する信号をシーケンス制御することを特徴とする請求項1に記載のコンフィグレーション装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003133745A JP3845389B2 (ja) | 2003-05-12 | 2003-05-12 | コンフィグレーション装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003133745A JP3845389B2 (ja) | 2003-05-12 | 2003-05-12 | コンフィグレーション装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004343158A JP2004343158A (ja) | 2004-12-02 |
JP3845389B2 true JP3845389B2 (ja) | 2006-11-15 |
Family
ID=33524512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003133745A Expired - Fee Related JP3845389B2 (ja) | 2003-05-12 | 2003-05-12 | コンフィグレーション装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3845389B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100462985C (zh) * | 2006-08-25 | 2009-02-18 | 西安交通大学 | 一种现场可编程门阵列的快速配置方法 |
JP4847585B2 (ja) * | 2007-06-12 | 2011-12-28 | 富士通株式会社 | コンフィグレーション装置 |
JP5774941B2 (ja) * | 2011-08-11 | 2015-09-09 | 日本信号株式会社 | コンフィグレーション装置及びコンフィグレーション方法 |
JP7419764B2 (ja) | 2019-11-20 | 2024-01-23 | 株式会社リコー | 情報処理装置およびコンフィグレーション方法 |
CN112328534A (zh) * | 2020-10-21 | 2021-02-05 | 卓曜(北京)科技有限公司 | 一种fpga芯片在线更新配置电路及方法 |
-
2003
- 2003-05-12 JP JP2003133745A patent/JP3845389B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004343158A (ja) | 2004-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7296143B2 (en) | Method and system for loading processor boot code from serial flash memory | |
US9858084B2 (en) | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory | |
TWI375962B (en) | Data writing method for flash memory and storage system and controller using the same | |
EP0506021A1 (en) | Method and apparatus for providing initial instructions in a multiple computer system | |
TWI485714B (zh) | 記憶體裝置之頁緩衝器作業的系統及方法 | |
WO2002075745A1 (en) | Storage device, storage device controlling method, and program | |
CN114902198B (zh) | 用于异构存储器系统的信令 | |
JP5158187B2 (ja) | ストレージ装置、ストレージ制御装置およびストレージ制御方法 | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
JP2008059052A (ja) | 半導体集積回路及びマイクロコンピュータ | |
TWI592866B (zh) | 固態硬碟系統的原子寫入方法以及使用該方法的裝置 | |
JP3845389B2 (ja) | コンフィグレーション装置 | |
CN107851076A (zh) | 存储器访问控制 | |
EP2207100B1 (en) | System and method for data recovery in a disabled integrated circuit | |
US20040128602A1 (en) | Direct memory access with error correction | |
CN111857882B (zh) | 可扩展的ssd开卡固件加载方法、装置、计算机设备及存储介质 | |
US10522201B2 (en) | Methods and systems for serial memory device control | |
JP4873526B2 (ja) | 半導体集積回路及びマイクロコンピュータ | |
WO1996038790A1 (en) | A system and method for patching microcode during the debugging of a processor | |
JP4670370B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4103452B2 (ja) | シリアルeepromのデータ入力制御装置 | |
JP3568384B2 (ja) | メモリアクセス回路 | |
JP2023134187A (ja) | 情報処理装置、情報処理システム、情報処理方法およびプログラム | |
JPH1185529A (ja) | データ記憶システム及びコンピュータシステムの起動方法 | |
US6360295B1 (en) | Serially loadable digital electronic memory and method of loading the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060530 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060718 |
|
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: 20060808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060818 |
|
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: 20090825 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |