JP5652720B2 - Fpgaシステム及び電子機器 - Google Patents

Fpgaシステム及び電子機器 Download PDF

Info

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
Application number
JP2011157645A
Other languages
English (en)
Other versions
JP2013025437A (ja
Inventor
信彦 角田
信彦 角田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Metals Ltd
Original Assignee
Hitachi Metals 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 Hitachi Metals Ltd filed Critical Hitachi Metals Ltd
Priority to JP2011157645A priority Critical patent/JP5652720B2/ja
Publication of JP2013025437A publication Critical patent/JP2013025437A/ja
Application granted granted Critical
Publication of JP5652720B2 publication Critical patent/JP5652720B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、FPGAシステム、及び、FPGAシステムを備える電子機器に関するものである。
論理回路の書き換えが可能な論理デバイスであるFPGA(Field
Programmable Gate Array)は、種々の電子機器において用いられている。
FPGAを含むFPGAシステムの構成の一例として、FPGAと、コンフィグレーションデータを保存するフラッシュメモリとを、コンフィグレーションコントローラを介して接続する構成がある(例えば、特許文献1参照)。電源投入時などの起動時において、コンフィグレーションコントローラは、フラッシュメモリからコンフィグレーションデータを読み出し、FPGAに書き込む動作を行う。
特開2009−282927号公報
FPGAには、書き込まれているコンフィグレーションデータでビット誤りを検出した場合、置換用のコンフィグレーションデータを取得するために、フラッシュメモリへアクセスしにいく機能を有するものがある。
上述したFPGAシステムにおいて、FPGAがフラッシュメモリへアクセスしにいく機能を有する場合、FPGAがフラッシュメモリへアクセスする動作と、CPU(中央演算処理装置)などの他の制御装置がフラッシュメモリへアクセスする動作とが衝突する可能性があり、システム全体の動作が不安定になるという問題がある。
本発明は上述した事情に基づいてなされ、その目的とするところは、書き込まれているコンフィグレーションデータでビット誤りを検出した場合に、置換用のコンフィグレーションデータを取得するためのアクセスを行う機能を有するFPGAを用いても、システム全体が安定に動作するFPGAシステムを提供することにある。
上述した目的を達成するため、本発明の一態様によれば、FPGAと、前記FPGAに接続されたコンフィグレーションコントローラと、前記コンフィグレーションコントローラに接続され、コンフィグレーションデータと置換用のコンフィグレーションデータを保存する不揮発性の第1記憶装置と、前記コンフィグレーションコントローラに接続された第2記憶装置と、を備え、前記コンフィグレーションコントローラは、前記第1記憶装置に保存されている前記コンフィグレーションデータを前記FPGAに書き込むとともに、前記第1記憶装置に保存されている前記置換用のコンフィグレーションデータを前記第2記憶装置に書き込み、前記FPGAは、書き込まれている前記コンフィグレーションデータに発生したビット誤りを検出した場合、前記置換用のコンフィグレーションデータを取得するために、前記コンフィグレーションコントローラへアクセスし、前記コンフィグレーションコントローラは、前記第2記憶装置にアクセスし、前記置換用のコンフィグレーションデータを読み出して前記FPGAに送り、前記FPGAは、前記置換用のコンフィグレーションデータにより前記検出したビット誤りを訂正する、FPGAシステムが提供される。
本発明は、書き込まれているコンフィグレーションデータでビット誤りを検出した場合に、置換用のコンフィグレーションデータを取得するためのアクセスを行う機能を有するFPGAを用いても、システム全体が安定に動作するFPGAシステムを提供する。
電子機器に適用された一実施形態のFPGAシステムの概略的な構成を示すブロック図である。 図1のFPGAシステムの第1フラッシュメモリ及び第2フラッシュメモリに、別バーションのコンフィグレーションデータを保存した状態を示すブロック図である。
以下、本発明の一実施形態のFPGAシステム10について説明する。
図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フラッシュメモリ、第2フラッシュメモリ〕
第1フラッシュメモリ14a及び第2フラッシュメモリ14bは、不揮発性の記憶装置(第1記憶装置)であり、コンフィグレーションデータ(CGデータ)24a,24bと置換用のコンフィグレーションデータ(置換用CGデータ)26a,26bが保存される。
ここで、置換用のコンフィグレーションデータは、FPGA18がビット誤りを訂正する場合に用いられるものであり、部分的に置換可能な形式のデータである。
以下では、「コンフィグレーションデータ24a,24b」、「置換用のコンフィグレーションデータ26a,26b」を「コンフィグレーションデータ24」、「置換用のコンフィグレーションデータ26」ともいう。
本実施形態では、コンフィグレーションデータを保存する2つのフラッシュメモリを設けることにより、コンフィグレーションデータの冗長化を行っている。通常時は第1フラッシュメモリ14aを使用し、第1フラッシュメモリ14aに障害が発生した場合、第2フラッシュメモリ14bを使用する。使用するフラッシュメモリの選択の制御は、CPU20が行う。なお、フラッシュメモリは1つ、又は、3つ以上であってもよい。
また、第1記憶装置は、フラッシュメモリに限定されず、その他の不揮発性のメモリであってもよい。
〔FPGA〕
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によりコンフィグレーションされる。
また、FPGA18は、CGデータ誤り検出部28及びCGデータ訂正部32を有する。
CGデータ誤り検出部28は、論理回路部27に書き込まれているコンフィグレーションデータ24にビット誤りが発生した場合、当該ビット誤りを検出する。
CGデータ訂正部32は、CGデータ誤り検出部28がビット誤りを検出した場合、置換用のコンフィグレーションデータ26を取得するために、コンフィグレーションコントローラ16へアクセスする。CGデータ訂正部32は、コンフィグレーションコントローラ16から置換用のコンフィグレーションデータ26を受け取ると、置換用のコンフィグレーションデータ26により、コンフィグレーションデータ24のビット誤りが発生した部分を置換して、検出したビット誤りを訂正する。
〔SDRAM〕
SDRAM22は、書き換え可能な揮発性の記憶装置(第2記憶装置)である。SDRAM22には、置換用のコンフィグレーションデータ26が保存される。
第2記憶装置としては、SDRAM22を用いるのが好ましいが、保存した置換用のコンフィグレーションデータ26における誤り発生率がSDRAM22以下であれば、他の書き換え可能な揮発性の記憶装置を用いても良い。
〔コンフィグレーションコントローラ〕
コンフィグレーションコントローラ16は、例えば集積回路によって構成される。
コンフィグレーションコントローラ16は、パラレル信号とシリアル信号とを変換する機能を有する。例えば、第1フラッシュメモリ14aからパラレル信号で読み出したコンフィグレーションデータ24aを、シリアル信号に変換して、FPGA18に送る。同様に、SDRAM22からパラレル信号で読み出した置換用のコンフィグレーションデータ26aを、シリアル信号に変換して、FPGA18に送る。
コンフィグレーションコントローラ16は、FPGA18から置換用のコンフィグレーションデータ26を取得するためのアクセスを受けた場合、SDRAM22へアクセスし、置換用のコンフィグレーションデータ26を読み出してFPGA18に送る動作を行う。
〔CPU〕
CPU20は、コンフィグレーションコントローラ16、第1フラッシュメモリ14a及び第2フラッシュメモリ14bを制御する制御装置である。
CPU20は、ネットワーク等を通じて電子機器12の外部からコンフィグレーションデータ及び置換用のコンフィグレーションデータを取得すると、第1フラッシュメモリ14a及び第2フラッシュメモリ14bにそれぞれ保存する。コンフィグレーションデータ24aを別バージョンに更新する場合も、同様に、CPU20は、別バージョンのコンフィグレーションデータを第1フラッシュメモリ14a及び第2フラッシュメモリ14bにそれぞれ保存する。
CPU20は、FPGAシステム10の起動時、コンフィグレーションコントローラ16を制御し、第1フラッシュメモリ14aに保存されているコンフィグレーションデータ24aをFPGA18に書き込ませる。これとともに、CPU20は、コンフィグレーションコントローラ16を制御し、第1フラッシュメモリ14aに保存されている置換用のコンフィグレーションデータ26aをSDRAM22に書き込ませる。なお、コンフィグレーションデータ24aをFPGA18に書き込み、置換用のコンフィグレーションデータ26aをSDRAM22に書き込む動作は、コンフィグレーションコントローラ16が、CPUの制御を受けず、自動的に行うことも可能である。
以下、本実施形態のFPGAシステム10の動作を説明する。
[起動時の動作]
電子機器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においては、コンフィグレーションコントローラ16は、FPGA18から置換用のコンフィグレーションデータ26を取得するためのアクセスを受けると、SDRAM22へアクセスして置換用のコンフィグレーションデータ26を読み出す動作を行う。したがって、書き込まれているコンフィグレーションデータ24に発生したビット誤りをFPGA18が訂正する場合、コンフィグレーションコントローラ16は、第1フラッシュメモリ14a及び第2フラッシュメモリ14bにアクセスしない。
このため、FPGAがフラッシュメモリへアクセスする動作と、CPUなどの他の制御装置がフラッシュメモリへアクセスする動作とが衝突する可能性はない。この結果として、書き込まれているコンフィグレーションデータでビット誤りを検出した場合に、置換用のコンフィグレーションデータを取得するためのアクセスを行う機能を有するFPGAを用いても、FPGAシステムは、システム全体で安定に動作することができる。
図2は、コンフィグレーションデータ(ver.A)24aをFPGA18の論理回路部27に書き込んで起動したのちに、コンフィグレーションデータを更新するために、第1フラッシュメモリ14aと第2フラッシュメモリ14bにコンフィグレーションデータ(ver.B)24a,24b及び置換用のコンフィグレーションデータ(ver.B)26a,26bを保存した場合の図である。
上述した一実施形態の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を保存する。
10 FPGAシステム
14a 第1フラッシュメモリ(第1記憶装置)
14b 第2フラッシュメモリ(第1記憶装置)
16 コンフィグレーションコントローラ
18 FPGA
20 CPU
22 SDRAM(第2記憶装置)
24a コンフィグレーションデータ
26a 置換用のコンフィグレーションデータ
28 CGデータ誤り検出部
32 CGデータ訂正部

Claims (4)

  1. FPGAと、
    前記FPGAに接続されたコンフィグレーションコントローラと、
    前記コンフィグレーションコントローラに接続され、コンフィグレーションデータと置換用のコンフィグレーションデータを保存する不揮発性の第1記憶装置と、
    前記コンフィグレーションコントローラに接続された第2記憶装置と、
    を備え、
    前記コンフィグレーションコントローラは、前記第1記憶装置に保存されている前記コンフィグレーションデータを前記FPGAに書き込むとともに、前記第1記憶装置に保存されている前記置換用のコンフィグレーションデータを前記第2記憶装置に書き込み、
    前記FPGAは、書き込まれている前記コンフィグレーションデータに発生したビット誤りを検出した場合、前記置換用のコンフィグレーションデータを取得するために、前記コンフィグレーションコントローラへアクセスし、前記コンフィグレーションコントローラは、前記第2記憶装置にアクセスし、前記置換用のコンフィグレーションデータを読み出して前記FPGAに送り、前記FPGAは、前記置換用のコンフィグレーションデータにより前記検出したビット誤りを訂正する、
    FPGAシステム。
  2. 前記置換用のコンフィグレーションデータとして前記コンフィグレーションデータを用いる、
    請求項1に記載のFPGAシステム。
  3. 前記第1記憶装置はフラッシュメモリからなり、
    前記第2記憶装置はSDRAMからなる、
    請求項2に記載のFPGAシステム。
  4. 請求項1乃至3の何れか一項に記載のFPGAシステムを備える電子機器。
JP2011157645A 2011-07-19 2011-07-19 Fpgaシステム及び電子機器 Expired - Fee Related JP5652720B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014174812A (ja) * 2013-03-11 2014-09-22 Ricoh Co Ltd 集積回路、画像処理装置、方法およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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 画像処理装置

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