JP2011013829A - コンフィグレーション装置、コンフィグレーション方法、及びコンフィグレーションプログラム - Google Patents

コンフィグレーション装置、コンフィグレーション方法、及びコンフィグレーションプログラム Download PDF

Info

Publication number
JP2011013829A
JP2011013829A JP2009155992A JP2009155992A JP2011013829A JP 2011013829 A JP2011013829 A JP 2011013829A JP 2009155992 A JP2009155992 A JP 2009155992A JP 2009155992 A JP2009155992 A JP 2009155992A JP 2011013829 A JP2011013829 A JP 2011013829A
Authority
JP
Japan
Prior art keywords
circuit setting
block
information
circuit
setting information
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.)
Withdrawn
Application number
JP2009155992A
Other languages
English (en)
Inventor
Manabu Nagano
学 永野
Makoto Uchiba
誠 内場
Hiroshi Ikematsu
浩 池松
Hidekazu Tsukiji
英一 築地
Okihiko Kozuki
興彦 香月
Yoshitaka Sato
義孝 佐藤
Yohei Sakashita
陽平 坂下
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009155992A priority Critical patent/JP2011013829A/ja
Publication of JP2011013829A publication Critical patent/JP2011013829A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】集積回路のコンフィグレーションを、短時間で効率よく行うコンフィグレーション装置等を提供する。
【解決手段】FPGA140の回路設定情報を固定長に分割されたブロック単位で格納する回路設定情報格納メモリ120と、回路設定情報をブロック単位で読み出し、FPGA140に、読み出したブロック単位の回路設定情報を出力する設定情報制御デバイス130と、FPGA140における回路設定情報の書き込みが可能な設定情報書込可能領域150が、ブロックごとに物理的に分割されており、設定情報制御デバイス130が出力したブロック単位の回路設定情報を入力し、入力した回路設定情報を書き込む対象となる領域を分割された書込可能領域から選択する書込領域選択部220と、選択された書込対象領域に、設定情報制御デバイス130から出力されたブロック単位の回路設定情報を書き込むコンフィグレーション制御部210とを備える。
【選択図】図2

Description

本発明は、集積回路のコンフィグレーションを行うコンフィグレーション装置等に関する。
例えば、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、以下、FPGAとする)は、ユーザによりプログラミングが可能な集積回路であり、ソフトエラーの発生時、バージョンアップ時、実現する処理機能等に応じてコンフィグレーションが必要となる。
FPGAのコンフィグレーションについては、回路設定情報の全てを書き換える方法や機能ごとに必要な回路設定情報のみを書き換える方法がある(例えば、特許文献1、2を参照)。
特開2000−89963号公報 特表2006−504344号公報
しかしながら、回路設定情報の全てを書き換える方法では、コンフィグレーション時間が非常に長くなり効率が悪いという課題を有する。また、機能ごとに必要な回路情報のみを書き換える方法では、複数の機能の中で大規模な機能を有するような装置においては、その大規模な機能のコンフィグレーションにやはり多くの時間を要してしまう。さらに、集積回路の機能を分割できず、一の機能しか有しない装置においては、結局全ての回路設定情報を書き換えることになってしまう。
そこで、集積回路のコンフィグレーションを、短時間で効率よく行うコンフィグレーション装置等を提供する。
本願に開示するコンフィグレーション装置は、集積回路の回路設定情報をブロック単位で分割すると共に、集積回路における回路設定情報を設定する回路設定部も、同じくブロック単位で物理的に分割する。コンフィグレーションを行う場合には、分割したブロック単位で回路設定情報を回路設定部に書き込む。
このように、本願に開示するコンフィグレーション装置においては、分割されたブロック単位で回路設定情報の書き込みを行うことで、機能の規模や数に影響されずに、短時間で効率よく集積回路のコンフィグレーションを行うことができるという効果を奏する。
第1の実施形態に係るコンフィグレーション装置の基本ブロック図である。 第1の実施形態に係るコンフィグレーション装置の原理図である。 第1の実施形態に係るコンフィグレーション装置におけるFPGAの内部構造を詳細に示したブロック図である。 第1の実施形態に係るコンフィグレーション装置において、コンフィグレーションを実行する前の準備段階における動作を示すフローチャートである。 第1の実施形態に係るコンフィグレーション装置におけるFPGA内部の書込領域選択部の詳細ブロック図である。 第1の実施形態に係るコンフィグレーション装置において、回路設定情報を生成する処理を示す図である。 第1の実施形態に係るコンフィグレーション装置におけるコンフィグレーションの処理動作を示すシーケンス図である。 第2の実施形態に係るコンフィグレーション装置におけるFPGAの内部構造を詳細に示したブロック図である。 第2の実施形態に係るコンフィグレーション装置におけるコンフィグレーションの処理動作を示すシーケンス図である。
以下、本発明の実施の形態を説明する。本発明は多くの異なる形態で実施可能である。従って、本実施形態の記載内容のみで本発明を解釈すべきではない。また、本実施形態の全体を通して同じ要素には同じ符号を付けている。
以下の実施の形態では、主に装置について説明するが、所謂当業者であれば明らかな通り、本発明は方法、及び、コンピュータを動作させるためのプログラムとしても実施できる。また、本発明はハードウェア、ソフトウェア、または、ハードウェア及びソフトウェアの実施形態で実施可能である。プログラムは、ハードディスク、CD−ROM、DVD−ROM、光記憶装置、または、磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。さらに、プログラムはネットワークを介した他のコンピュータに記録することができる。
また、実施形態においては、集積回路の一例としてFPGAについてのコンフィグレーション処理について説明する。
実施形態であるコンフィグレーション装置は、回路設定情報を集積回路内の複数の回路設定部に転送することで、回路設定部に基づく、論理回路を構築するものである。その装置は、回路設定情報格納メモリ、複数の回路設定ブロック、選択部および設定情報制御部を有するものである。回路設定情報格納メモリは、回路設定情報を格納したものである。複数の回路設定ブロックは、複数の回路設定部を複数に分割して、形成されたものである。選択部は、初期化時、入力された回路設定情報をビットカウンタのカウントによって、複数の回路設定ブロックから1つの回路設定ブロックを順次選択し、選択された回路設定ブロックへ回路設定情報を転送する。さらに、選択部は、回路設定ブロックを特定する識別情報が入力された時、識別情報に基づいて、複数の回路設定ブロックのうち1つの回路設定ブロックを選択し、入力された回路設定情報を選択された前記回路設定ブロックの回路設定部へ転送するものである。設定情報制御部は、識別情報が入力された時、回路設定ブロック単位の回路設定情報と回路設定ブロックを特定する識別情報とを対応づけた対応テーブルに基づいて、回路設定情報格納メモリに格納されている回路設定情報のうち識別情報に対応する回路設定情報を読出し、選択部へ出力する制御を行う。
この実施形態に係るコンフィグレーション装置は、再コンフィグレーションが必要となる回路設定ブロックを特定する識別情報を外部に出力することで、短時間で効率よくコンフィグレーションを行うことができる。
(第1の実施形態)
本実施形態に係るコンフィグレーション装置について、図1ないし図7を用いて説明する。本実施形態に係るコンフィグレーション装置は、機能の大きさに依存せずに固定長に区分された格納領域に、FPGAの回路設定情報(以下、回路設定情報とする)を、前記固定長の大きさの範囲内で分割して格納しておく。また、FPGAにおける回路設定情報の書込可能領域も、同じ固定長の大きさに物理的に分割する。以下、分割した領域をブロックとする。ブロックは、前記回路設定ブロックの一例である。コンフィグレーションの際には、分割したブロック単位でFPGAに回路設定情報を書き込む。
また、ソフトエラーが発生した際には、分割したブロックごとにエラーの発生を検知し、分割したブロック単位で回路設定情報を書き換える。ソフトエラーが発生したブロックが含まれる機能については、機能を停止し、ソフトエラーが発生したブロックに無関係の機能は、そのまま処理を続行する。機能を停止することは、例えば上位装置が機能に必要なデータを送らないようにすることで可能である。
図1は、本実施形態に係るコンフィグレーション装置の基本ブロック図である。コンフィグレーション装置100は、基盤101にCPU110、回路設定情報格納メモリ120、設定情報制御デバイス130、及びFPGA140を備える。また、FPGA140には、設定情報書込可能領域150を含み、FPGA140におけるソフトエラーを検出するエラー検出部160を備える。
CPU110は、メモリ内に格納されたプログラムを読み出し、読み出したプログラムにしたがってコンフィグレーション装置100全体の機能やデータを制御する処理装置である。CPU110は、エラー検出部160が検知したFPGA140におけるソフトエラー通知を受け、上位装置170に送信し、上位装置170からの指示に基づいて、設定情報制御デバイス130に対してコンフィグレーションの実行指示を行う。
設定情報制御デバイス130は、CPU110からのコンフィグレーション指示に基づいて、回路設定情報格納メモリ120に格納された回路設定情報を読み出し、FPGA140の設定情報書込可能領域150に書き込む。
図2は、本実施形態に係るコンフィグレーション装置の構成図である。図2において、FPGA140内の設定情報書込可能領域150を物理的に固定長の大きさのブロック(ブロックA〜F)に分割する。書込領域選択部220は、分割されたブロックから処理の対象となるブロックを選択し、ブロックごとに回路設定情報(ブロックデータ201)を該当するブロックに送る。処理の対象となるブロックとは、例えばエラーが発生したブロックや、上位装置170から処理対象として指示されたブロック等である。コンフィグレーション制御部210は、ブロックごとに書き込みの有効無効を判断して書込処理を制御する。
ソフトエラーが発生した際には、エラー検出部160がブロックごとにソフトエラーを検出し、ソフトエラーが発生したブロック(以下、エラーブロックとする)の識別情報を複数ビットでFPGA140の外部に出力する。設定情報制御デバイス130は、エラーブロックの識別情報に基づいて、予め登録されたブロックのマップ情報を参照する。このマップ情報には、回路設定情報格納メモリ120に格納された回路設定情報を各ブロック単位に読み出すための格納アドレスと、FPGA内のブロックを特定する識別情報とが対応づけが登録されており、回路設定情報格納メモリ120から該当する回路設定情報を設定情報制御デバイス130が読み出す際に使用する。エラーブロックに該当する回路設定情報が、回路設定情報格納メモリ120から読み出されると、ブロックデータ201としてFPGA140に出力される。
回路設定情報を作成する際に、併せて機能とブロックの対応関係を指示して割付情報を作成し、割付情報格納メモリ230に格納する。上位装置170は、通知されたエラーブロックの識別情報から、エラーブロックが含まれる機能を認識することができる。上位装置は、エラーブロックが含まれる機能を認識することで、ソフトエラーが発生中の機能のみを一時的に停止させ、その間にエラーブロックを修復する。
図3は、本実施形態に係るコンフィグレーション装置におけるFPGAの内部構造を詳細に示したブロック図である。電源が投入されると、まずCPU110からの指示で、設定情報制御デバイス130が、回路設定情報格納メモリ120より全ての回路設定情報を読み出し、FPGA140に書き込む。
FPGA140内部では、設定情報書込回路310を介して外部から入力された回路設定情報の取り込みを行う。コンフィグレーション制御部210、及び書込領域選択部220は、電源投入後の最初のコンフィグレーションに限って、ブロックの切り替えを順次行い、全てのブロックについて各ブロックのSRAMCellに回路設定情報の書き込みを行う。各ブロックにおける回路設定情報(4ビット)がFF(フリップフロップ)に渡されたタイミングで、コンフィグレーション制御部210がバッファ(図3中に△で示す)制御をしてFFの状態(0,1)をSRAMCellに反映させる。図3の場合は、Aブロックの4ビットを書き込むと、次にBブロックの4ビット、次にC、D、E、Fと順次書き込みが行われる。
回路設定情報の書き込み時に、設定情報チェック部320が回路設定情報の正常性をチェックし、正常終了した場合は、エラー検出部160に正常終了を通知する。エラー検出部160は、正常終了の通知を受信後、コンフィグレーション制御部210に定期的にリードリクエストを上げ、バッファを制御してSRAMCellに書き込まれている回路設定情報を、読込領域選択部330を介してブロック単位で読み出す。読み出した回路設定情報は、ブロック単位でCRC演算(Cyclic Redundancy Check:巡回冗長検査)して、例えば、ブロックAであれば、正常時ブロックAのCRC値を正常時ブロックACRCとして格納する。ブロックA以外にもほかのブロックについては、ブロックAと同様な処理にて、正常時のCRC値を格納する。その後に、エラー検出部160は、ブロック単位で回路設定情報を読み出してCRC演算した結果と、ブロック単位の正常時のCRC値とを一致比較してチェックすることで、ソフトエラーを検出する。チェックの結果、正常でない場合はソフトエラーを検出したとして、エラーブロックの識別情報をFPGA140の外部に通知する。例えば、図3において、Aブロックが宇宙線等の原因によりソフトエラーが発生したとすると、AブロックのCRC演算のチェック結果でソフトエラーが検知され、CPU110を経由して上位装置170にエラー情報とエラーブロックが通知される。
設定情報制御デバイス130は、図2において説明したように、通知されたエラーブロックの情報に基づいて、該当する回路設定情報を回路設定情報格納メモリ120から読み出して、FPGA140に出力する。例えば、設定情報制御デバイス130は、Aブロックがエラーブロックである場合には、回路設定情報格納メモリ120のAブロックに該当する回路設定情報を読み出して出力する。
また、CPU110は、エラー通知を受けた上位装置170の指示により、エラーブロックが含まれる機能のみを停止し、その他の機能については処理を継続させる。例えば、機能1をA、Bブロックが実現し、機能2をCブロックが実現し、機能3をD、E、Fブロックが実現しているとする。その場合にAブロックでソフトエラーが検出されたとすると、機能1のみを停止し、機能2、及び機能3については継続させる制御が行われる。
次に、コンフィグレーション装置100の動作について説明する。図4は、本実施形態に係るコンフィグレーション装置において、コンフィグレーションを実行する前の準備段階における動作を示すフローチャートである。まず、回路設定情報を生成する回路設定情報生成ツールに、ユーザが設計した回路設計情報(以下、ユーザデータとする)が入力される(ステップS401)。また、ユーザが作成した機能ごとのグループ分け情報が入力される(ステップS402)。
ここで、グループについて説明する。グループとは、一の処理機能を実現する機能の集合であり、一の機能が一のグループの場合もあれば、複数の機能で一のグループを形成する場合もある。例えば、FPGA140にて3ch(chごとに通信利用者のリソースが割り当てられる)の通信機能を実装するとする。ユーザは、機能1をグループ1、機能2をグループ2、機能3をグループ3といったように、ch機能ごとにグループ分けする情報を作成する。このグループ分け情報が、ユーザデータと共に回路設定情報生成ツールに入力される。
図5は、第1の実施形態に係るコンフィグレーション装置におけるFPGA内部の書込領域選択部の詳細ブロック図である。書込領域選択部220は、ブロックアドレス生成カウンタ23、デマルチプレクサ22、アドレスSELECTOR24を有する。書込領域選択部220は、回路設定情報であるDataが入力される。そのDataは、デマルチプレクサ22とブロックアドレス生成カウンタ23へそれぞれ入力される。ブロックアドレス生成カウンタ23は、Dataを1ビットずつカウントして所定ビット数ごとに、ブロックを特定するブロックアドレスを順次出力する。アドレスSELECTOR24は、電源投入情報が入力されたときに、ブロックアドレス生成カウンタ23からのブロックアドレスをデマルチプレクサ22へ出力し、識別情報(ブロックアドレス)が入力されると、そのブロック情報であるブロックアドレスをデマルチブレクサ22へ出力する。デマルチプレクサ22は、アドレスSELECTOR24からのブロックアドレスに該当するブロックへ、入力されたDataを出力する。
図4に戻って、ユーザデータ、及びグループ分け情報が入力されると、FPGA140の回路設定情報とブロック割付情報が生成される(ステップS403)。
ここで、回路設定情報、及びブロック割付情報の生成について詳細に説明する。図6は、本実施形態に係るコンフィグレーション装置において、回路設定情報を生成する処理を示す図である。図6において、ユーザデータ501とグループ分け情報502が、回路設定情報生成ツール510に入力され、ブロックごとに分割された回路設定情報511とブロック割付情報512が出力される。グループ分け情報502は、例えばユーザにより作成され、エラーが発生した場合に、エラーが発生していないグループは継続して運用できることを考慮して作成される。例えば、図6の例で言うと、機能1にエラーが発生した場合には、グループ1(通信ch1)の処理機能については運用できなくなるが、グループ2(通信ch2)、及びグループ3(通信ch3)については継続して運用が可能となる。
回路設定情報生成ツール510は、グループ分け情報502に基づいて、分割されたブロックを機能の大きさに応じた必要なブロック数でグループ化する。例えば、図6の例で言うと、機能1は2つのブロック(ブロックA、B)が必要であり、機能2は1つのブロック(ブロックC)が必要であり、機能3は3つのブロック(ブロックD、E、F)が必要であることがわかる。このように、回路設定情報生成ツール510は、各グループの機能に必要なブロック数を割り当てる。ここで、設定情報書込可能領域150において、グループごとにまとまったブロックに配置するために、グループの境界となるブロック内の格納領域に空き領域が生じる場合がある(割り当て情報内の○で示す領域)。この領域は、未使用領域となるが、サイズが微小であるため、リソースの無駄になることはない。回路設定情報生成ツール510は、こうした処理の結果として、ブロックごとに分割された回路設定情報511とブロック割付情報512を生成して出力する。
図4に戻って、ステップS403で生成された回路設定情報511とブロック割付情報512を、それぞれ外部メモリ(回路設定情報格納メモリ120、割付情報格納メモリ230)に格納して、準備段階の処理を終了する。
次に、コンフィグレーション処理について説明する。図7は、本実施形態に係るコンフィグレーション装置におけるコンフィグレーションの処理動作を示すシーケンス図である。まず、ユーザにより基盤電源が投入される(S601)。電源が投入されると、設定情報制御デバイス130が、回路設定情報格納メモリ120から全ての回路設定情報を読み出し(S602)、FPGA140に書き込む(S603)。回路設定情報が入力されたFPGA140では、設定情報書込回路310を介して回路設定情報を取り込む。コンフィグレーション制御部210、及び書込領域選択部220が、電源投入後の最初のコンフィグレーションに限って、ブロックの切り替えを順次行い、全ブロックのSRAMCellに回路設定情報を書き込む(S604)。
回路設定情報の書き込み時に設定情報チェック部320が、データの正常性をチェックし(S605)、書き込みが正常に終了した場合には、エラー検出部160に正常終了を通知する。正常でない場合は、NGを通知しコンフィグレーションのやり直しとなる。
エラー検出部160は、正常終了を受信後、定期的にリクエストを上げコンフィグレーション制御部210からバッファを制御し、SRAMCellに書き込まれている回路設定情報をブロック単位で読み出す(S606)。エラー検出部160は、ブロック単位でCRC演算を行い(S607)、その演算結果を内部メモリに格納して保持する(S608)。この保持したCRCの演算結果を正常結果として次回以降のCRCチェックを行う。
次回以降の定期的なリクエストによりブロック単位のSRAMCellのデータを読み出し(S609)、ブロック単位でCRC演算を行う(S610)。内部メモリに格納した正常結果としてのCRCの演算値と、新たにCRC演算した結果とを比較し(S611)、回路設定情報の正常性を判定する(S612)。内部メモリに格納したCRCの演算値と、新たなCRC演算値が一致した場合は、ソフトエラーは発生していないため、S609に戻って、定期的なCRCチェックを繰り返して行う。内部メモリに格納したCRCの演算値と、新たなCRC演算値が一致しない場合は、ソフトエラーを検出したとして、ソフトエラーが発生した旨のエラー情報とエラーブロックの識別情報とを外部に通知する(S613)。
上位装置170は、CPU110経由で割付情報格納メモリ230を参照し(S614)、ブロック割付情報に基づいてエラーブロックを含む機能を停止する(S615)。エラーブロックを含む機能が停止されることで、当該停止された機能が含まれるグループの処理機能が停止される。例えば、図6の例で言うと、Aブロックでソフトエラーが検出された場合は、Aブロックが割り付けられた機能1が停止される。機能1はグループ1の処理機能を実現しているため、グループ1の処理機能が停止されることになる。仮に、グループ1の処理機能が、機能1を含む複数の機能(例えば、機能10、機能100等)により実現されているとしても、機能1が停止されればグループ1の処理機能全体が停止される。一方、グループ2、3については、ブロックAでソフトエラーが検出された場合であっても、継続して運用することができる。
上位装置170は、エラーブロックを含む機能が停止されている間に、CPU110を経由して設定情報制御デバイス130に対して、エラーブロックの再コンフィグレーションを指示する(S616)。設定情報制御デバイス130は、内部にブロックのマップ情報を持っているため、そのマップ情報に基づいて回路設定情報格納メモリ120からエラーブロックに該当する回路設定情報を読み出し(S617)、FPGA140に書き込む(S618)。FPGA140内部では、書込領域選択部220が書き込みの対象となるソフトエラーが検出されたブロックを選択し、回路設定情報をブロック単位でSRAMCellに書き込む(S619)。以降の処理は、電源が切断されるまで、S609の定期的なチェックが繰り返して行われる。
なお、ソフトエラーが検出された回数(エラー回数)をブロックごとにカウントして格納し、同一ブロックにおいて、予め設定した閾値の回数以上のエラー回数が検出された場合には、そのブロックの領域においてデバイスエラーが発生していると判断してもよい。つまり、ハード的なエラーが原因となって同一ブロック内で複数回以上のソフトエラーが検出されたと判断するようにしてもよい。
また、これまでソフトエラー発生時における再コンフィグレーションについて説明したが、バージョンアップや一部の機能修正等によるコンフィグレーション(上位装置からの指示)の場合にも、本実施形態に係るコンフィグレーション装置を適用可能である。
さらに、これまで固定長のブロック単位でのコンフィグレーションについて説明したが、必ずしも固定長ではなく、任意の長さに細分化されればよい。つまり、例えば機能mについてはm1の長さでブロックに分割し、機能nについてはn2の長さというように、必ずしも分割する長さを固定しなくてもよい。
このように、固定長のブロック単位で回路設定情報の書き込みが行うことで、機能の規模や数に影響されずに、短時間で効率よくFPGAのコンフィグレーションを行うことができるという効果を奏する。
また、ソフトエラーが発生した場合であっても、ブロックごとにソフトエラーを検出することで、エラーブロックのみを再コンフィグレーションすればよく、短時間で効率よく再コンフィグレーションが可能になるという効果を奏する。特に、近年では、デバイスの高密度化、低電圧化により宇宙線のデバイスへの影響が問題となっており、今後も宇宙線が原因で起こるソフトエラーが深刻化することが考えられる。したがって、本願のように、ソフトエラーが発生しても短時間で効率よくコンフィグレーションを行う技術は、非常に有用的である。
さらに、機能ごとにブロックを割り付けた情報を保持することで、必要最小限の機能のみを停止し、他の機能は運用を継続することができるという効果を奏する。これは、特に冗長構成を取ることで品質を向上させる場合と比較して、制御を簡略化し処理を効率よく行うことができると共に、冗長構成を取れない場合においては、運用の停止を防ぐことができる。
さらにまた、ブロックに分割することで、特定のブロックに集中してソフトエラーが検出された場合には、デバイスエラーとしての可能性を認識することができ、難解なデバイス不良の解析に有効であるという効果を奏する。
(第2の実施形態)
本実施形態に係るコンフィグレーション装置について、図7及び図8を用いて説明する。本実施形態に係るコンフィグレーション装置は、前記第1の実施形態に係るコンフィグレーション装置の機能を拡張したものである。FPGAが有する処理機能ごとのスケジュール情報を格納し、格納されたスケジュール情報に基づいて、ソフトエラーが検出されたブロックを含む機能が処理を実行していないタイミングで、再コンフィグレーションを行うものである。つまり、ブロックごとにソフトエラーを検出することで、エラーが発生しているブロックを把握することができ、上位装置を介することなく再コンフィグレーションを行うことができる。
なお、本実施形態において、前記第1の実施形態と重複する説明については省略する。
図8は、本実施形態に係るコンフィグレーション装置におけるFPGAの内部構造を詳細に示したブロック図である。第1の実施形態における図3と異なるのは、スケジュール情報710を備えることである。スケジュール情報710は、グループごとに処理のスケジュール情報が格納されている。設定情報制御デバイス130は、ソフトエラーが発生した際にスケジュール情報710を参照する。そして、エラーブロックが含まれる機能のグループのスケジュール情報から、グループが処理を実行していないタイミングで、回路設定情報格納メモリ120から、該当する回路設定情報を読み出し、FPGA140に出力する。
なお、スケジュール情報は、グループごとに格納してもよいし、機能ごとに格納してもよいし、ブロックごとに格納してもよい。
次に、コンフィグレーション装置100の動作について説明する。本実施形態に係るコンフィグレーション装置100は、コンフィグレーションを実行する前の準備段階の処理として、第1の実施形態における準備段階の処理に加えて、スケジュール情報710の登録を行う。スケジュール情報は、グループごとに処理を実行している期間と実行していない期間とが区別されて登録される。
準備段階の処理が完了すると、コンフィグレーション処理を実行する。図9は、本実施形態に係るコンフィグレーション装置におけるコンフィグレーションの処理動作を示すシーケンス図である。図9におけるS810からS816までの処理は、図7におけるS601からS616までの処理と同じであるため、説明は省略する。
S816でCPU110から、設定情報制御デバイス130にエラーブロックの再コンフィグレーションの指示がなされると、設定情報制御デバイス130がスケジュール情報710を参照する(S817)。スケジュール情報に基づいて、エラーブロックが含まれるグループが処理を実行中でなければ、回路設定情報格納メモリ120からエラーブロックの回路設定情報を読み出して(S818)、FPGA140に書き込む(S819)。FPGA140内部では、書き込みの対象となるソフトエラーが検出されたブロックを選択し、回路設定情報をブロック単位でSRAMCellに書き込む(S820)。以降の処理は、電源が切断されるまで、S809の定期的なチェックが繰り返して行われる。
なお、本実施形態に係るコンフィグレーション装置は、ソフトエラーの発生時に限らず、バージョンアップや一部の機能修正等によるコンフィグレーションの場合にも適用可能である。その場合は、予め上位装置170が新しい回路設定情報を回路設定情報格納メモリ120内にブロックごとに分割して格納しておき、スケジュール情報に基づいて処理が行われていないタイミングで回路設定情報の書き換えをブロック単位で行う。つまり、全ての回路設定情報についてコンフィグレーションを行う必要がある場合(装置全体の機能を停止させる必要がある場合)であっても、処理を実行していないブロックから順次コンフィグレーションを行うことができる。したがって、装置全体の機能を停止させることなく、運用への支障を最小限に抑えつつ、コンフィグレーションを行うことができるという効果を奏する。
このように、上位装置を介することなく、エラーが発生した箇所のみを再コンフィグレーションを行うことができ、処理の効率化を図ることができるという効果を奏する。
なお、前記各実施形態において、ブロックの割り付けをグループ、機能、ブロックの3段階で行ったが、グループと機能は必ずしも区分する必要はなく、一のブロックを一の機能として捉えてもよい。
以上の前記各実施形態により本願のコンフィグレーション装置を説明したが、本願の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本願の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。
前記各実施形態に関して、次の付記を示す。
(付記1)回路設定情報を集積回路内の複数の回路設定部に転送することで、前記回路設定部に基づく、論理回路を構築するコンフィグレーション装置において、前記回路設定情報を格納した回路設定情報格納メモリと、前記複数の回路設定部を複数に分割して、形成された複数の回路設定ブロックと、初期化時、入力された回路設定情報を、ビットカウンタのカウントによって前記複数の回路設定ブロックから1つの回路設定ブロックを順次選択し、選択された回路設定ブロックへ前記回路設定情報を転送し、前記回路設定ブロックを特定する識別情報が入力された時、前記識別情報に基づいて、複数の回路設定ブロックのうち1つの回路設定ブロックを選択し、入力された回路設定情報を選択された前記回路設定ブロックの回路設定部へ転送する選択部と、前記識別情報が入力された時、前記回路設定ブロック単位の回路設定情報と前記メモルブロックを特定する前記識別情報とを対応づけた対応テーブルに基づいて、前記回路設定情報格納メモリに格納されている回路設定情報のうち前記識別情報に対応する回路設定情報を読出し、前記選択部へ出力する制御を行う設定情報制御部と、を有することを特徴とするコンフィグレーション装置。
(付記2)前記回路設定ブロック単位の回路設定情報のソフトエラーを検出し、ソフトエラー検出された回路設定ブロックを特定する前記識別情報を前記選択部と前記設定情報制御部へ出力するエラー検出部を有する付記1記載のコンフィグレーション装置。
(付記3)付記2に記載のコンフィグレーション装置において、前記集積回路が有する処理機能ごとに、前記ブロックを割り付けた割付情報を格納する割付情報格納部を備え、当該割付情報格納部が格納する割付情報から、前記エラー検出手段にてソフトエラーが検出された前記任意のブロックが割り付けられた処理機能を抽出し、当該抽出された処理機能を停止するコンフィグレーション装置。
(付記4)付記3に記載のコンフィグレーション装置において、前記処理機能ごとのスケジュール情報を格納するスケジュール情報格納部を備え、当該スケジュール情報格納部に格納されたスケジュール情報に基づき、前記エラー検出手段にてソフトエラーが検出された前記任意のブロックが割り付けられた処理機能について、処理が行われていないときに、前記設定情報制御部が、前記ソフトエラーが検出された任意のブロックに相当する回路設定情報を読み出し、前記選択部に出力するコンフィグレーション装置。
(付記5)付記2ないし4のいずれかに記載のコンフィグレーション装置において、前記エラー検出部が検出したソフトエラーの回数を、前記分割されたブロックごとにカウントするエラー回数カウント部と、当該エラー回数カウント部がカウントしたソフトエラーの回数と、予め設定されたエラー回数とを前記ブロックごとに比較するエラー回数比較部と、当該エラー回数比較部がエラー回数を比較した結果、任意の一のブロックについてのソフトエラーの回数が、前記予め設定されたエラー回数を超える場合に、前記任意の一のブロックの領域において、物理的なデバイスエラーが発生していると判定するデバイスエラー判定部とを備えるコンフィグレーション装置。
(付記6)回路設定情報を集積回路内の複数の回路設定部に転送することで、前記回路設定部に基づく、論理回路を構築するコンフィグレーション方法において、前記回路設定情報を回路設定情報格納メモリに格納する格納ステップと、前記複数の回路設定部を複数に分割して、複数の回路設定ブロックを形成する分割ステップと、選択部が、初期化時には、入力された回路設定情報を、ビットカウンタのカウントによって前記複数の回路設定ブロックから1つの回路設定ブロックを順次選択し、選択された回路設定ブロックへ前記回路設定情報を転送し、前記回路設定ブロックを特定する識別情報が入力された時には、前記識別情報に基づいて、複数の回路設定ブロックのうち1つの回路設定ブロックを選択し、入力された回路設定情報を選択された前記回路設定ブロックの回路設定部へ転送する選択ステップと、設定情報制御部が、前記識別情報が入力された時、前記回路設定ブロック単位の回路設定情報と前記回路設定ブロックを特定する前記識別情報とを対応づけた対応テーブルに基づいて、前記回路設定情報格納メモリに格納されている回路設定情報のうち前記識別情報に対応する回路設定情報を読出し、前記選択部へ出力する制御を行う設定情報制御ステップと、を含むことを特徴とするコンフィグレーション方法。
(付記7)前記回路設定ブロック単位の回路設定情報のソフトエラーを検出し、ソフトエラー検出された回路設定ブロックを特定する前記識別情報を前記選択部と前記設定情報制御部へ出力するエラー検出ステップを含む付記6記載のコンフィグレーション方法。
(付記8)付記7に記載のコンフィグレーション方法において、前記集積回路が有する処理機能ごとに、前記ブロックを割り付けた割付情報に基づいて、前記エラー検出ステップにてソフトエラーが検出された前記任意のブロックが割り付けられた処理機能を抽出し、当該抽出された処理機能を停止するコンフィグレーション方法。
(付記9)付記8に記載のコンフィグレーション方法において、前記処理機能ごとのスケジュール情報に基づき、前記エラー検出ステップにてソフトエラーが検出された前記任意のブロックが割り付けられた処理機能について、処理が行われていないときに、前記設定情報制御ステップが、前記ソフトエラーが検出された任意のブロックに相当する回路設定情報を読み出し、前記選択部に出力するコンフィグレーション方法。
(付記10)付記7ないし9のいずれかに記載のコンフィグレーション方法において、前記エラー検出ステップが検出したソフトエラーの回数を、前記分割されたブロックごとにカウントするエラー回数カウントステップと、当該エラー回数カウントステップがカウントしたソフトエラーの回数と、予め設定されたエラー回数とを前記ブロックごとに比較するエラー回数比較ステップと、当該エラー回数比較ステップがエラー回数を比較した結果、任意の一のブロックについてのソフトエラーの回数が、前記予め設定されたエラー回数を超える場合に、前記任意の一のブロックの領域において、物理的なデバイスエラーが発生していると判定するデバイスエラー判定ステップとを含むコンフィグレーション方法。
(付記11)回路設定情報を集積回路内の複数の回路設定部に転送することで、前記回路設定部に基づく、論理回路を構築するようにコンピュータを機能させるコンフィグレーションプログラムにおいて、前記回路設定情報を格納した回路設定情報格納手段、前記複数の回路設定部を複数に分割して、複数の回路設定ブロック形成する手段、初期化時には、入力された回路設定情報を、ビットカウンタのカウントによって前記複数の回路設定ブロックから1つの回路設定ブロックを順次選択し、選択された回路設定ブロックへ前記回路設定情報を転送し、前記回路設定ブロックを特定する識別情報が入力された時、前記識別情報に基づいて、複数の回路設定ブロックのうち1つの回路設定ブロックを選択し、入力された回路設定情報を選択された前記回路設定ブロックの回路設定部へ転送する選択手段、前記識別情報が入力された時、前記回路設定ブロック単位の回路設定情報と前記回路設定ブロックを特定する前記識別情報とを対応づけた対応テーブルに基づいて、前記回路設定情報格納手段に格納されている回路設定情報のうち前記識別情報に対応する回路設定情報を読出し、前記選択部へ出力する制御を行う設定情報制御手段、としてコンピュータを機能させることを特徴とするコンフィグレーションプログラム。
(付記12)前記回路設定ブロック単位の回路設定情報のソフトエラーを検出し、ソフトエラー検出された回路設定ブロックを特定する前記識別情報を前記選択手段と前記設定情報制御手段へ出力するエラー検出手段としてコンピュータを機能させる付記11記載のコンフィグレーションプログラム。
(付記13)付記12に記載のコンフィグレーションプログラムにおいて、前記集積回路が有する処理機能ごとに、前記ブロックを割り付けた割付情報を格納する割付情報格納手段としてコンピュータを機能させ、当該割付情報格納手段が格納する割付情報から、前記エラー検出手段にてソフトエラーが検出された前記任意のブロックが割り付けられた処理機能を抽出し、当該抽出された処理機能を停止するコンフィグレーションプログラム。
(付記14)付記13に記載のコンフィグレーションプログラムにおいて、前記処理機能ごとのスケジュール情報を格納するスケジュール情報格納手段としてコンピュータを機能させ、当該スケジュール情報格納手段に格納されたスケジュール情報に基づき、前記エラー検出手段にてソフトエラーが検出された前記任意のブロックが割り付けられた処理機能について、処理が行われていないときに、前記設定情報制御手段が、前記ソフトエラーが検出された任意のブロックに相当する回路設定情報を読み出し、前記選択手段に出力するコンフィグレーションプログラム。
(付記15)付記12ないし14のいずれかに記載のコンフィグレーションプログラムにおいて、前記エラー検出手段が検出したソフトエラーの回数を、前記分割されたブロックごとにカウントするエラー回数カウント手段、当該エラー回数カウント手段がカウントしたソフトエラーの回数と、予め設定されたエラー回数とを前記ブロックごとに比較するエラー回数比較手段、当該エラー回数比較手段がエラー回数を比較した結果、任意の一のブロックについてのソフトエラーの回数が、前記予め設定されたエラー回数を超える場合に、前記任意の一のブロックの領域において、物理的なデバイスエラーが発生していると判定するデバイスエラー判定手段としてコンピュータを機能させるコンフィグレーションプログラム。
100 コンフィグレーション装置
101 基盤
110 CPU
120 回路設定情報格納メモリ
130 設定情報制御デバイス
140 FPGA
150 設定情報書込可能領域
160 エラー検出部
170 上位装置
201 ブロックデータ
210 コンフィグレーション制御部
220 書込領域選択部
230 割付情報格納メモリ
310 設定情報書込回路
320 設定情報チェック部
330 読込領域選択部
501 ユーザデータ
502 グループ分け情報
510 回路設定情報生成ツール
511 回路設定情報
512 ブロック割付情報
710 スケジュール情報

Claims (7)

  1. 回路設定情報を集積回路内の複数の回路設定部に転送することで、前記回路設定部に基づく、論理回路を構築するコンフィグレーション装置において、
    前記回路設定情報を格納した回路設定情報格納メモリと、
    前記複数の回路設定部を複数に分割して、形成された複数の回路設定ブロックと、
    初期化時、入力された回路設定情報を、ビットカウンタのカウントによって前記複数の回路設定ブロックから1つの回路設定ブロックを順次選択し、選択された回路設定ブロックへ前記回路設定情報を転送し、
    前記回路設定ブロックを特定する識別情報が入力された時、前記識別情報に基づいて、複数の回路設定ブロックのうち1つの回路設定ブロックを選択し、入力された回路設定情報を選択された前記回路設定ブロックの回路設定部へ転送する選択部と、
    前記識別情報が入力された時、前記回路設定ブロック単位の回路設定情報と前記回路設定ブロックを特定する前記識別情報とを対応づけた対応テーブルに基づいて、前記回路設定情報格納メモリに格納されている回路設定情報のうち前記識別情報に対応する回路設定情報を読出し、前記選択部へ出力する制御を行う設定情報制御部と、
    を有することを特徴とするコンフィグレーション装置。
  2. 前記回路設定ブロック単位の回路設定情報のソフトエラーを検出し、ソフトエラー検出された回路設定ブロックを特定する前記識別情報を前記選択部と前記設定情報制御部へ出力するエラー検出部を有する請求項1記載のコンフィグレーション装置。
  3. 請求項2に記載のコンフィグレーション装置において、
    前記集積回路が有する処理機能ごとに、前記ブロックを割り付けた割付情報を格納する割付情報格納部を備え、
    当該割付情報格納部が格納する割付情報から、前記エラー検出手段にてソフトエラーが検出された前記任意のブロックが割り付けられた処理機能を抽出し、当該抽出された処理機能を停止するコンフィグレーション装置。
  4. 請求項3に記載のコンフィグレーション装置において、
    前記処理機能ごとのスケジュール情報を格納するスケジュール情報格納部を備え、
    当該スケジュール情報格納部に格納されたスケジュール情報に基づき、前記エラー検出手段にてソフトエラーが検出された前記任意のブロックが割り付けられた処理機能について、処理が行われていないときに、前記設定情報制御部が、前記ソフトエラーが検出された任意のブロックに相当する回路設定情報を読み出し、前記選択部に出力するコンフィグレーション装置。
  5. 回路設定情報を集積回路内の複数の回路設定部に転送することで、前記回路設定部に基づく、論理回路を構築するコンフィグレーション方法において、
    前記回路設定情報を回路設定情報格納メモリに格納する格納ステップと、
    前記複数の回路設定部を複数に分割して、複数の回路設定ブロックを形成する分割ステップと、
    選択部が、初期化時には、入力された回路設定情報を、ビットカウンタのカウントによって前記複数の回路設定ブロックから1つの回路設定ブロックを順次選択し、選択された回路設定ブロックへ前記回路設定情報を転送し、前記回路設定ブロックを特定する識別情報が入力された時には、前記識別情報に基づいて、複数の回路設定ブロックのうち1つの回路設定ブロックを選択し、入力された回路設定情報を選択された前記回路設定ブロックの回路設定部へ転送する選択ステップと、
    設定情報制御部が、前記識別情報が入力された時、前記回路設定ブロック単位の回路設定情報と前記回路設定ブロックを特定する前記識別情報とを対応づけた対応テーブルに基づいて、前記回路設定情報格納メモリに格納されている回路設定情報のうち前記識別情報に対応する回路設定情報を読出し、前記選択部へ出力する制御を行う設定情報制御ステップと、
    を含むことを特徴とするコンフィグレーション方法。
  6. 回路設定情報を集積回路内の複数の回路設定部に転送することで、前記回路設定部に基づく、論理回路を構築するようにコンピュータを機能させるコンフィグレーションプログラムにおいて、
    前記回路設定情報を格納した回路設定情報格納手段、
    前記複数の回路設定部を複数に分割して、複数の回路設定ブロック形成する手段、
    初期化時には、入力された回路設定情報を、ビットカウンタのカウントによって前記複数の回路設定ブロックから1つの回路設定ブロックを順次選択し、選択された回路設定ブロックへ前記回路設定情報を転送し、前記回路設定ブロックを特定する識別情報が入力された時には、前記識別情報に基づいて、複数の回路設定ブロックのうち1つの回路設定ブロックを選択し、入力された回路設定情報を選択された前記回路設定ブロックの回路設定部へ転送する選択手段、
    前記識別情報が入力された時、前記回路設定ブロック単位の回路設定情報と前記回路設定ブロックを特定する前記識別情報とを対応づけた対応テーブルに基づいて、前記回路設定情報格納手段に格納されている回路設定情報のうち前記識別情報に対応する回路設定情報を読出し、前記選択部へ出力する制御を行う設定情報制御手段、
    としてコンピュータを機能させることを特徴とするコンフィグレーションプログラム。
  7. 回路設定情報を複数の回路設定部に設定することで、前記回路設定部に基づく、論理回路を構築する集積回路において、
    前記複数の回路設定部を複数に分割して、形成された複数の回路設定ブロックと、
    初期化時、入力された回路設定情報をビットカウンタのカウントによって、前記複数の回路設定ブロックから1つの回路設定ブロックを順次選択し、選択された回路設定ブロックへ前記回路設定情報を転送し、
    前記回路設定ブロックを特定する識別情報が入力された時、前記識別情報に基づいて、複数の回路設定ブロックのうち1つの回路設定ブロックを選択し、入力された回路設定情報を選択された前記回路設定ブロックの回路設定部へ転送する選択部と
    を有することを特徴とする集積回路。
JP2009155992A 2009-06-30 2009-06-30 コンフィグレーション装置、コンフィグレーション方法、及びコンフィグレーションプログラム Withdrawn JP2011013829A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009155992A JP2011013829A (ja) 2009-06-30 2009-06-30 コンフィグレーション装置、コンフィグレーション方法、及びコンフィグレーションプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009155992A JP2011013829A (ja) 2009-06-30 2009-06-30 コンフィグレーション装置、コンフィグレーション方法、及びコンフィグレーションプログラム

Publications (1)

Publication Number Publication Date
JP2011013829A true JP2011013829A (ja) 2011-01-20

Family

ID=43592670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009155992A Withdrawn JP2011013829A (ja) 2009-06-30 2009-06-30 コンフィグレーション装置、コンフィグレーション方法、及びコンフィグレーションプログラム

Country Status (1)

Country Link
JP (1) JP2011013829A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014052781A (ja) * 2012-09-06 2014-03-20 Fujitsu Telecom Networks Ltd Fpga監視制御回路
JP2016092546A (ja) * 2014-10-31 2016-05-23 東日本電信電話株式会社 制御装置、制御方法及びコンピュータプログラム
JP2018028744A (ja) * 2016-08-16 2018-02-22 富士通株式会社 情報処理装置及びpld管理プログラム
WO2018123205A1 (ja) * 2016-12-27 2018-07-05 日立オートモティブシステムズ株式会社 マイクロコンピュータ、論理回路
US20180224842A1 (en) * 2017-02-08 2018-08-09 Omron Corporation Control device and method of controlling the same
US11342917B2 (en) 2017-08-28 2022-05-24 Hitachi Astemo, Ltd. Electronic control device and circuit reconfiguration method
US11360838B2 (en) 2018-02-21 2022-06-14 Hitachi Astemo, Ltd. Electronic control device and preferential error detection method of configuration memory

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014052781A (ja) * 2012-09-06 2014-03-20 Fujitsu Telecom Networks Ltd Fpga監視制御回路
JP2016092546A (ja) * 2014-10-31 2016-05-23 東日本電信電話株式会社 制御装置、制御方法及びコンピュータプログラム
JP2018028744A (ja) * 2016-08-16 2018-02-22 富士通株式会社 情報処理装置及びpld管理プログラム
WO2018123205A1 (ja) * 2016-12-27 2018-07-05 日立オートモティブシステムズ株式会社 マイクロコンピュータ、論理回路
CN110073343A (zh) * 2016-12-27 2019-07-30 日立汽车系统株式会社 微型计算机和逻辑电路
US11016928B2 (en) 2016-12-27 2021-05-25 Hitachi Automotive Systems, Ltd. Microcomputer and logic circuit
CN110073343B (zh) * 2016-12-27 2023-06-13 日立安斯泰莫株式会社 微型计算机和逻辑电路
US20180224842A1 (en) * 2017-02-08 2018-08-09 Omron Corporation Control device and method of controlling the same
JP2018128820A (ja) * 2017-02-08 2018-08-16 オムロン株式会社 制御装置およびその制御方法
US11342917B2 (en) 2017-08-28 2022-05-24 Hitachi Astemo, Ltd. Electronic control device and circuit reconfiguration method
US11360838B2 (en) 2018-02-21 2022-06-14 Hitachi Astemo, Ltd. Electronic control device and preferential error detection method of configuration memory

Similar Documents

Publication Publication Date Title
JP2011013829A (ja) コンフィグレーション装置、コンフィグレーション方法、及びコンフィグレーションプログラム
US8856427B2 (en) Memory controller and non-volatile storage device
US7245539B2 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
JP2004280790A (ja) Ecc制御装置
CN109491588B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
US20160246712A1 (en) Indirection data structures implemented as reconfigurable hardware
US11954364B2 (en) Memory system and method of writing data to storage areas constituting group
TWI651726B (zh) 解碼方法以及儲存控制器
CN101075213B (zh) 只读存储器数据修补电路和方法、及其嵌入式系统
US20190073298A1 (en) Memory management method, memory control circuit unit and memory storage apparatus
US7657697B2 (en) Method of controlling a semiconductor memory device applied to a memory card
JP2013137713A (ja) メモリコントローラ、メモリシステムおよびメモリ書込み方法
US20200387307A1 (en) Namespace auto-routing data storage system
JP2009230414A (ja) 複数の不揮発性メモリデバイスを有する記憶装置
US9983805B1 (en) Memory management method, memory control circuit unit and memory storage apparatus
US11256621B2 (en) Dual controller cache optimization in a deterministic data storage system
JP4254932B2 (ja) メモリコントローラ及びフラッシュメモリシステム
US20130332629A1 (en) Configuration controller and configuration control method
US20190026227A1 (en) Data writing method, memory control circuit unit and memory storage device
US8402410B2 (en) Method and apparatus for managing configuration memory of reconfigurable hardware
US10733049B2 (en) Semiconductor device and error management method
US10445014B2 (en) Methods of operating a computing system including a host processing data of first size and a storage device processing data of second size and including a memory controller and a non-volatile memory
US10067677B2 (en) Memory management method for configuring super physical units of rewritable non-volatile memory modules, memory control circuit unit and memory storage device
CN114521252B (zh) Iod ssd的传送与处理单位
CN114450673B (zh) Iod ssd的独立集数据通道

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120904