JP5652720B2 - Fpgaシステム及び電子機器 - Google Patents
Fpgaシステム及び電子機器 Download PDFInfo
- Publication number
- JP5652720B2 JP5652720B2 JP2011157645A JP2011157645A JP5652720B2 JP 5652720 B2 JP5652720 B2 JP 5652720B2 JP 2011157645 A JP2011157645 A JP 2011157645A JP 2011157645 A JP2011157645 A JP 2011157645A JP 5652720 B2 JP5652720 B2 JP 5652720B2
- Authority
- JP
- Japan
- Prior art keywords
- fpga
- configuration data
- configuration
- replacement
- flash memory
- 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
Description
Programmable Gate Array)は、種々の電子機器において用いられている。
FPGAを含むFPGAシステムの構成の一例として、FPGAと、コンフィグレーションデータを保存するフラッシュメモリとを、コンフィグレーションコントローラを介して接続する構成がある(例えば、特許文献1参照)。電源投入時などの起動時において、コンフィグレーションコントローラは、フラッシュメモリからコンフィグレーションデータを読み出し、FPGAに書き込む動作を行う。
上述したFPGAシステムにおいて、FPGAがフラッシュメモリへアクセスしにいく機能を有する場合、FPGAがフラッシュメモリへアクセスする動作と、CPU(中央演算処理装置)などの他の制御装置がフラッシュメモリへアクセスする動作とが衝突する可能性があり、システム全体の動作が不安定になるという問題がある。
本発明は上述した事情に基づいてなされ、その目的とするところは、書き込まれているコンフィグレーションデータでビット誤りを検出した場合に、置換用のコンフィグレーションデータを取得するためのアクセスを行う機能を有するFPGAを用いても、システム全体が安定に動作するFPGAシステムを提供することにある。
図1は、電子機器12に適用されたFPGAシステム10の概略的な構成を示している。電子機器12は例えばネットワーク中継装置である。
FPGAシステム10は、第1フラッシュメモリ14a、第2フラッシュメモリ14b、コンフィグレーションコントローラ16、FPGA18、CPU20、及び、SDRAM(Synchronous
Dynamic Random Access Memory)22を備える。
第1フラッシュメモリ14a、第2フラッシュメモリ14b、SDRAM22及びCPU20はそれぞれ、コンフィグレーションコントローラ16とパラレル配線により接続されている。コンフィグレーションコントローラ16とFPGA18は、シリアル配線により接続されている。CPU20は、第1フラッシュメモリ14a及び第2フラッシュメモリ14bと接続されている。
第1フラッシュメモリ14a及び第2フラッシュメモリ14bは、不揮発性の記憶装置(第1記憶装置)であり、コンフィグレーションデータ(CGデータ)24a,24bと置換用のコンフィグレーションデータ(置換用CGデータ)26a,26bが保存される。
ここで、置換用のコンフィグレーションデータは、FPGA18がビット誤りを訂正する場合に用いられるものであり、部分的に置換可能な形式のデータである。
以下では、「コンフィグレーションデータ24a,24b」、「置換用のコンフィグレーションデータ26a,26b」を「コンフィグレーションデータ24」、「置換用のコンフィグレーションデータ26」ともいう。
また、第1記憶装置は、フラッシュメモリに限定されず、その他の不揮発性のメモリであってもよい。
FPGAは、一般的にECC(Error Check and Correct Memory)機能を有し、ビット誤りが発生した場合、これを検出し、ECCの冗長ビットで訂正する。ECCで訂正できない多数のビット誤りが同時に発生した場合、これを検出するが、訂正することはできない。この場合、FPGAは、ビット誤りが発生した領域のみ、置換用データを外部から読み出して置き換える動作を行う。また、FPGAの使い方によっては、1ビットの誤りを置換用データの置き換えで訂正することも可能である。以下では、ビット誤りが発生した場合、FPGAは置換用データの置き換えで訂正するものとして、その動作を説明する。FPGAがECC機能を有する場合は、ECCで訂正できない多数のビット誤りが同時に発生したときに、同様の動作を行う。
FPGA18は、例えばSRAMベースのFPGAである。FPGA18は、電子機器12の起動の際、コンフィグレーションデータ24が書き込まれる。FPGA18は、論理回路部27を有し、論理回路部27は、コンフィグレーションデータ24によりコンフィグレーションされる。
CGデータ誤り検出部28は、論理回路部27に書き込まれているコンフィグレーションデータ24にビット誤りが発生した場合、当該ビット誤りを検出する。
CGデータ訂正部32は、CGデータ誤り検出部28がビット誤りを検出した場合、置換用のコンフィグレーションデータ26を取得するために、コンフィグレーションコントローラ16へアクセスする。CGデータ訂正部32は、コンフィグレーションコントローラ16から置換用のコンフィグレーションデータ26を受け取ると、置換用のコンフィグレーションデータ26により、コンフィグレーションデータ24のビット誤りが発生した部分を置換して、検出したビット誤りを訂正する。
SDRAM22は、書き換え可能な揮発性の記憶装置(第2記憶装置)である。SDRAM22には、置換用のコンフィグレーションデータ26が保存される。
第2記憶装置としては、SDRAM22を用いるのが好ましいが、保存した置換用のコンフィグレーションデータ26における誤り発生率がSDRAM22以下であれば、他の書き換え可能な揮発性の記憶装置を用いても良い。
コンフィグレーションコントローラ16は、例えば集積回路によって構成される。
コンフィグレーションコントローラ16は、パラレル信号とシリアル信号とを変換する機能を有する。例えば、第1フラッシュメモリ14aからパラレル信号で読み出したコンフィグレーションデータ24aを、シリアル信号に変換して、FPGA18に送る。同様に、SDRAM22からパラレル信号で読み出した置換用のコンフィグレーションデータ26aを、シリアル信号に変換して、FPGA18に送る。
コンフィグレーションコントローラ16は、FPGA18から置換用のコンフィグレーションデータ26を取得するためのアクセスを受けた場合、SDRAM22へアクセスし、置換用のコンフィグレーションデータ26を読み出してFPGA18に送る動作を行う。
CPU20は、コンフィグレーションコントローラ16、第1フラッシュメモリ14a及び第2フラッシュメモリ14bを制御する制御装置である。
CPU20は、ネットワーク等を通じて電子機器12の外部からコンフィグレーションデータ及び置換用のコンフィグレーションデータを取得すると、第1フラッシュメモリ14a及び第2フラッシュメモリ14bにそれぞれ保存する。コンフィグレーションデータ24aを別バージョンに更新する場合も、同様に、CPU20は、別バージョンのコンフィグレーションデータを第1フラッシュメモリ14a及び第2フラッシュメモリ14bにそれぞれ保存する。
[起動時の動作]
電子機器12に電源が投入されて、FPGAシステム10が起動すると、コンフィグレーションコントローラ16は、CPU20の制御を受けて又は自動的に、第1フラッシュメモリ14aに保存されているコンフィグレーションデータ24aをFPGA18の論理回路部27に書き込む。これとともに、コンフィグレーションコントローラ16は、第1フラッシュメモリ14aに保存されている置換用のコンフィグレーションデータ26aをSDRAM22に書き込む。
論理回路部27に書き込まれているコンフィグレーションデータ24aにビット誤りが発生した場合、FPGA18のCGデータ誤り検出部28は発生したビット誤りを検出する。CGデータ誤り検出部28がビット誤りを検出すると、FPGA18のCGデータ訂正部32は、置換用のコンフィグレーションデータ26を取得するために、コンフィグレーションコントローラ16へアクセスする。
コンフィグレーションコントローラ16は、FPGA18から置換用のコンフィグレーションデータ26を取得するためのアクセスを受けると、SDRAM22へアクセスし、置換用のコンフィグレーションデータ26aを読み出し、読み出した置換用のコンフィグレーションデータ26aをFPGA18へ送る。
FPGA18のCGデータ訂正部32は、コンフィグレーションコントローラ16から置換用のコンフィグレーションデータ26aを受け取ると、置換用のコンフィグレーションデータ26aを用いて、コンフィグレーションデータ24aのビット誤りが発生した部分を置換して訂正する。
上述した一実施形態のFPGAシステム10においては、図2に示したように、第1フラッシュメモリ14aと第2フラッシュメモリ14bに保存されているコンフィグレーションデータが更新された場合であっても、FPGA18が論理回路部27に書き込まれているコンフィグレーションデータ(ver.A)24aに発生したビット誤りを訂正する場合、SDRAM22に保存されている同じバージョンの置換用のコンフィグレーションデータ(ver.A)26aを用いて、ビット誤りを訂正する。これにより、別バージョンの置換用のコンフィグレーションデータ26b(ver.B)を用いて、誤りを訂正することによるFPGA18の動作不良を防止することができる。
例えば、置換用のコンフィグレーションデータとしてコンフィグレーションデータを用いてもよい。この場合、第1及び第2フラッシュメモリ14a,14bには、置換用のコンフィグレーションデータ26a,26bを省いて、コンフィグレーションデータ24a,24bのみを保存する。コンフィグレーションコントローラ16は、SDRAM22に、置換用のコンフィグレーションデータ26aとして、フラッシュメモリに保存されているコンフィグレーションデータ24aを保存する。
14a 第1フラッシュメモリ(第1記憶装置)
14b 第2フラッシュメモリ(第1記憶装置)
16 コンフィグレーションコントローラ
18 FPGA
20 CPU
22 SDRAM(第2記憶装置)
24a コンフィグレーションデータ
26a 置換用のコンフィグレーションデータ
28 CGデータ誤り検出部
32 CGデータ訂正部
Claims (4)
- FPGAと、
前記FPGAに接続されたコンフィグレーションコントローラと、
前記コンフィグレーションコントローラに接続され、コンフィグレーションデータと置換用のコンフィグレーションデータを保存する不揮発性の第1記憶装置と、
前記コンフィグレーションコントローラに接続された第2記憶装置と、
を備え、
前記コンフィグレーションコントローラは、前記第1記憶装置に保存されている前記コンフィグレーションデータを前記FPGAに書き込むとともに、前記第1記憶装置に保存されている前記置換用のコンフィグレーションデータを前記第2記憶装置に書き込み、
前記FPGAは、書き込まれている前記コンフィグレーションデータに発生したビット誤りを検出した場合、前記置換用のコンフィグレーションデータを取得するために、前記コンフィグレーションコントローラへアクセスし、前記コンフィグレーションコントローラは、前記第2記憶装置にアクセスし、前記置換用のコンフィグレーションデータを読み出して前記FPGAに送り、前記FPGAは、前記置換用のコンフィグレーションデータにより前記検出したビット誤りを訂正する、
FPGAシステム。 - 前記置換用のコンフィグレーションデータとして前記コンフィグレーションデータを用いる、
請求項1に記載のFPGAシステム。 - 前記第1記憶装置はフラッシュメモリからなり、
前記第2記憶装置はSDRAMからなる、
請求項2に記載のFPGAシステム。 - 請求項1乃至3の何れか一項に記載のFPGAシステムを備える電子機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011157645A JP5652720B2 (ja) | 2011-07-19 | 2011-07-19 | Fpgaシステム及び電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011157645A JP5652720B2 (ja) | 2011-07-19 | 2011-07-19 | Fpgaシステム及び電子機器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013025437A JP2013025437A (ja) | 2013-02-04 |
JP5652720B2 true JP5652720B2 (ja) | 2015-01-14 |
Family
ID=47783743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011157645A Expired - Fee Related JP5652720B2 (ja) | 2011-07-19 | 2011-07-19 | Fpgaシステム及び電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5652720B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014174812A (ja) * | 2013-03-11 | 2014-09-22 | Ricoh Co Ltd | 集積回路、画像処理装置、方法およびプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8018A (en) * | 1851-04-01 | Improvement in seed-planters | ||
JP2007265056A (ja) * | 2006-03-29 | 2007-10-11 | Juki Corp | プログラマブルロジックデバイスのコンフィギュレーション装置 |
JP2008052389A (ja) * | 2006-08-23 | 2008-03-06 | Alaxala Networks Corp | プログラマブル論理回路更新装置、更新方法、データ処理装置およびネットワーク装置 |
US8407658B2 (en) * | 2007-02-01 | 2013-03-26 | International Business Machines Corporation | Methods, systems, and computer program products for using direct memory access to initialize a programmable logic device |
JP2012133675A (ja) * | 2010-12-22 | 2012-07-12 | Olympus Corp | 画像処理装置 |
-
2011
- 2011-07-19 JP JP2011157645A patent/JP5652720B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013025437A (ja) | 2013-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160266964A1 (en) | Programmable logic circuit device and error detection method therefor | |
JP5490062B2 (ja) | 不揮発性半導体記憶装置 | |
KR102067040B1 (ko) | 고장 방지 기능을 갖는 캐시 제어 장치 및 동작 방법 | |
JP2010009102A (ja) | キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法 | |
JP2013125513A (ja) | 不揮発性半導体記憶装置及びその管理方法 | |
JP2015154417A (ja) | プログラマブル回路装置、コンフィギュレーション情報修復方法 | |
US10437490B2 (en) | Reading of start-up information from different memory regions of a memory system | |
TWI632459B (zh) | 記憶體位址保護電路與方法 | |
JP2010123156A (ja) | 半導体記憶装置及びその制御方法 | |
JP2013171343A (ja) | ストレージデバイス | |
JP4956230B2 (ja) | メモリコントローラ | |
JP6488541B2 (ja) | 論理回路及び論理回路の制御方法 | |
JP5652720B2 (ja) | Fpgaシステム及び電子機器 | |
JP2007265056A (ja) | プログラマブルロジックデバイスのコンフィギュレーション装置 | |
CN106067326B (zh) | 错误校正电路及包括其的半导体存储器件 | |
KR20180134120A (ko) | 반도체시스템 | |
TW201740388A (zh) | 在數據儲存裝置中的選擇性錯誤更正 | |
JP2008310896A (ja) | 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法 | |
KR101999288B1 (ko) | 메모리 데이터의 에러 보정 장치 및 방법 | |
KR20200018156A (ko) | 메모리장치에 대한 에러정정코드 기능을 갖는 메모리 시스템 및 그 운영방법 | |
JP6745586B2 (ja) | プログラマブルデバイス、情報処理装置、およびプログラマブルデバイスにおける処理回路の制御方法 | |
JP2007025777A (ja) | データ誤り検出・訂正方法及びデータ誤り検出・訂正機能付きメモリ装置 | |
JP4921216B2 (ja) | メモリ制御回路、記憶システム、情報処理装置、および、メモリ制御方法 | |
JP6618505B2 (ja) | コンフィグレーションデータ設定装置 | |
US10896133B2 (en) | Combinational address repair in memory controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20131202 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131218 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141020 |
|
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: 20141024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5652720 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |