Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7478065B2 - 情報処理装置および情報処理方法 - Google Patents
[go: Go Back, main page]

JP7478065B2 - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP7478065B2
JP7478065B2 JP2020138617A JP2020138617A JP7478065B2 JP 7478065 B2 JP7478065 B2 JP 7478065B2 JP 2020138617 A JP2020138617 A JP 2020138617A JP 2020138617 A JP2020138617 A JP 2020138617A JP 7478065 B2 JP7478065 B2 JP 7478065B2
Authority
JP
Japan
Prior art keywords
fpga
cpu
clock signal
reset
information processing
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.)
Active
Application number
JP2020138617A
Other languages
English (en)
Other versions
JP2022034761A (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.)
Toshiba Tec Corp
Original Assignee
Toshiba Tec Corp
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 Toshiba Tec Corp filed Critical Toshiba Tec Corp
Priority to JP2020138617A priority Critical patent/JP7478065B2/ja
Priority to US17/238,465 priority patent/US11556347B2/en
Publication of JP2022034761A publication Critical patent/JP2022034761A/ja
Application granted granted Critical
Publication of JP7478065B2 publication Critical patent/JP7478065B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明の実施の形態は、情報処理装置および情報処理方法に関する。
従来、FPGA(Field Programmable Gate Array)とCPU(Central Processing Unit)を含むシステムを起動する際には、まず、FPGAがROM(Read Only Memory)から回路情報を読み出して、FPGAの内部に論理回路を構成する、いわゆるコンフィギュレーションを行う。そして、コンフィギュレーションが完了した後で、CPUへのWait信号を解除して、CPUの起動を行っている(例えば特許文献1)。
しかしながら、CPUへのWait信号を解除した直後に、CPUに対して、当該CPUに実行させるファームウエアの設定を行うと、CPUが出力するクロック信号が不安定になる場合があった。そして、このクロック信号の不安定さによって、CPUおよびFPGAを正常に起動できない場合があった。引用文献1では、このようなクロック信号の不安定さについて、記載も示唆もされていない。
本発明が解決しようとする課題は、安定して起動することができる情報処理装置および情報処理方法を提供することである。
実施の形態の情報処理装置は、FPGAとCPUとを含み、コンフィギュレーション実行部と、クロック信号モニタ部と、起動処理部とを備える。コンフィギュレーション実行部は、FPGAにコンフィギュレーションデータを書き込む。クロック信号モニタ部は、コンフィギュレーションが完了したことを条件として、前記CPUが前記FPGAに供給したクロック信号が安定しているかを検出する。起動処理部は、前記クロック信号が安定していることを条件として、前記CPUおよび前記FPGAを起動させる。
図1は、実施の形態の情報処理装置の概略構成の一例を示すブロック図である。 図2は、実施の形態の情報処理装置の機能構成の一例を示す機能ブロック図である。 図3は、実施の形態の情報処理装置が行う処理の流れの一例を示すフローチャートである。 図4は、実施の形態の情報処理装置が、起動処理に成功した場合の一例を示すタイムチャートである。 図5は、実施の形態の情報処理装置が、起動処理に失敗した場合の一例を示すタイムチャートである。
以下、図面を参照しながら、本発明の実施の形態である情報処理装置10について説明する。
(情報処理装置の概略構成の説明)
図1は、実施の形態の情報処理装置の概略構成の一例を示すブロック図である。情報処理装置10は、例えば、プリンタ装置やPOS(Point Of Sales)端末等の電子機器に内蔵されて、当該電子機器の動作を制御する。
情報処理装置10は、CPU12と、FPGA14と、リセットIC16と、ROM18と、RAM(Random Access Memory)20とを備える。
CPU12は、情報処理装置10を駆動させる基準クロック信号を生成する。生成された基準クロック信号は、図1に非図示のクロックラインを通してFPGA14に供給される。また、CPU12は、ROM18に格納されたファームウエアを読み出して、読み出されたファームウエアを、CPU12が実行可能な状態に設定する。また、CPU12は、設定されたファームウエアを、ROM18に格納された制御プログラムに沿って動作させることによって、情報処理装置10を動作させる。更に、CPU12は、自身が供給したクロック信号に基づいて、FPGA14が安定したクロック信号を生成したかを検出する。そして、FPGA14が安定したクロック信号を生成したことを条件として、CPU12およびFPGA14を起動させる起動処理を行う。
FPGA14は、VHDL(VHSIC HDL)、Verilоg HDL等のハードウエア記述言語を用いて、内部の論理回路の構成を任意に書き換えることが可能な集積回路である。FPGA14を用いて特定の処理を実装すると、CPU12で同じ処理を行う場合と比べて、高速処理が可能である。FPGA14は、ROM18に格納されたコンフィギュレーションデータを読み出す。そして、FPGA14は、読み出したコンフィギュレーションデータを、自身の内部に書き込んで論理回路を生成する、いわゆるコンフィギュレーションを行う。また、FPGA14は、生成された論理回路を動作させることによって、情報処理装置10に対して、生成された論理回路に応じた動作を行わせる。即ち、情報処理装置10は、CPU12とFPGA14とが連携することによって動作する。
リセットIC16は、CPU12とFPGA14のリセット動作を制御する。具体的には、リセットIC16は、CPU12とFPGA14に対して強制リセットをかける。また、リセットIC16は、CPU12からのリセット要求に基づいて、CPU12にマニュアルリセットをかける。
ROM18は、CPU12に設定するファームウエアと、CPU12が動作させる制御プログラムと、FPGA14に書き込まれるコンフィギュレーションデータ等を格納する。なお、CPU12に設定するファームウエアと、CPU12が動作させる制御プログラムと、FPGA14に書き込まれるコンフィギュレーションデータ等は、内部バスに接続したフラッシュメモリ等の記憶装置に格納されてもよい。
RAM20は、CPU12がROM18から読み出した制御プログラムを格納する。RAM20に格納された制御プログラムは、CPU12によって読み出されて実行される。また、RAM20は、CPU12が制御プログラムを実行する際に、必要に応じて、情報を一時記憶するメモリとして利用される。
次に、図1を用いて、情報処理装置10を構成する各構成要素間の信号の流れを説明する。
リセットIC16は、Vcc端子16cの電圧をモニタすることによって、情報処理装置10の電源の投入状態をモニタする。リセットIC16は、情報処理装置10の電源が投入されて安定したことを検出すると、/RST端子16aから、CPU12とFPGA14に対してリセット信号を出力する。また、リセットIC16の/MR端子16bは、CPU12からマニュアルリセット要求信号を受信する。
CPU12のRST端子12aは、リセットIC16からリセット信号を受信する。CPU12のPORT_A端子12bは、リセットIC16に対して、マニュアルリセット信号を送信する。CPU12のPORT_B端子12dは、FPGA14から、コンフィギュレーションが完了したことを示すDONE信号を受信する。CPU12のPORT_C端子12cは、FPGA14から、CPU12がFPGA14に供給したクロック信号が安定しているか否かを示すPLL_LОCK信号を受信する。また、CPU12のBUS端子12eは、CPU12とFPGA14とROM18とRAM20とを接続する内部バスを通して、情報処理装置10を動作させるために必要な情報の送受信を行う。
FPGA14のDONE端子14aは、CPU12に対してDONE信号を送信する。また、FPGA14のPROB端子14bは、リセットIC16からリセット信号を受信する。また、FPGA14のPLL_LOCK端子14cは、CPU12に対してPLL_LОCK信号を送信する。また、FPGA14のBUS端子14dは、CPU12とFPGA14とROM18とRAM20とを接続する内部バスを通して、情報処理装置10を動作させるために必要な情報の送受信を行う。
(情報処理装置の機能構成の説明)
図2は、実施の形態の情報処理装置の機能構成の一例を示す機能ブロック図である。CPU12と、FPGA14と、リセットIC16とは、ROM18に格納された制御プログラムを実行することによって、図2に示す各機能部位を実現する。
即ち、CPU12は、FPGA状態モニタ部21と、ファームウエア設定部22と、クロック信号モニタ部23と、起動処理部24と、電源状態モニタ部25とを実現する。
FPGA状態モニタ部21は、FPGA14が出力するDONE信号をモニタすることによって、FPGA14がコンフィギュレーションを完了したかを判定する。
ファームウエア設定部22は、CPU12に、ROM18から読み出したファームウエアを書き込むことによって、動作可能な状態に設定する。
クロック信号モニタ部23は、FPGA14がコンフィギュレーションを完了したことを条件として、CPU12がFPGA14に供給したクロック信号が安定しているかを検出する。より具体的には、CPU12は、FPGA14から受信した、CPU12がFPGA14に供給したクロック信号が安定しているか否かを示すPLL_LOCK信号の状態に基づいて、クロック信号が安定しているか否かを判定する。PLL_LOCK信号は、FPGA14が、CPU12から供給されたクロック信号と、当該クロック信号に基づいて、FPGA14が生成したクロック信号との位相差および周波数差に基づいて生成される。より具体的には、CPU12がFPGA14に供給したクロック信号が安定していると判定されると、FPGA14は、PLL_LOCK信号をHiレベルにする。一方、CPU12がFPGA14に供給したクロック信号が安定していると判定されないと、FPGA14は、PLL_LOCK信号をLoレベルにする。
起動処理部24は、CPU12がFPGA14に供給したクロック信号が安定していることを条件として、CPU12およびFPGA14を起動させる。また、起動処理部24は、CPU12がFPGA14に供給したクロック信号が、所定時間に亘って安定しないことを条件として、リセットIC16に対してマニュアルリセット要求信号を出力する。また、起動処理部24は、リセットIC16からのリセット要求を受けて、CPU12にリセットをかける。さらに、起動処理部24は、リセットIC16からのリセット解除要求を受けて、CPU12のリセットを解除する。
電源状態モニタ部25は、CPU12に供給される電源の状態、具体的には、電源が投入されたか、切断されたかをモニタする。
また、FPGA14は、コンフィギュレーション実行部31と、動作状態出力部32と、起動処理部33と、電源状態モニタ部34とを実現する。
コンフィギュレーション実行部31は、FPGA14に、ROM18から読み出したコンフィギュレーションデータを書き込む。
動作状態出力部32は、FPGA14がコンフィギュレーションを完了したことを示すDONE信号と、CPU12がFPGA14に供給したクロック信号が安定しているか否かを示すPLL_LOCK信号とを出力する。
起動処理部33は、リセットIC16からのリセット要求を受けて、FPGA14にリセットをかける。さらに、起動処理部33は、リセットIC16からのリセット解除要求を受けて、FPGA14のリセットを解除する。
電源状態モニタ部34は、FPGA14に供給される電源の状態、具体的には、電源が投入されたか、切断されたかをモニタする。
また、リセットIC16は、電圧モニタ部41と、強制リセット制御部42と、マニュアルリセット制御部43と、リセット解除制御部44とを実現する。
電圧モニタ部41は、リセットIC16に供給される電源の状態、具体的には、電源が投入されたか、切断されたかをモニタする。また、電圧モニタ部41は、リセットIC16に供給される電圧レベルが安定しているかをモニタする。
強制リセット制御部42は、情報処理装置10の電源が投入されたことを確認すると、CPU12とFPGA14を強制的にリセットさせる。
マニュアルリセット制御部43は、CPU12が出力するマニュアルリセット要求信号を受けたことを条件として、CPU12とFPGA14をマニュアルリセットさせる。なお、CPU12は、FPGA14が出力するPLL_LOCK信号をモニタすることによって、CPU12がFPGA14に供給したクロック信号が、所定時間に亘って安定しないと認識したことを条件として、マニュアルリセット要求信号を出力する。
リセット解除制御部44は、CPU12とFPGA14のリセット状態を解除する。
(情報処理装置が行う処理の流れの説明)
図3は、実施の形態の情報処理装置が行う処理の流れの一例を示すフローチャートである。以下、リセットIC16と、FPGA14と、CPU12とに分けて、情報処理装置10が行う処理の流れを説明する。
(リセットICが行う処理の流れの説明)
電圧モニタ部41は、リセットIC16の電源が投入されたかを判定する(ステップS11)。リセットIC16の電源が投入されたと判定される(ステップS11:Yes)とステップS12に進む。一方、リセットIC16の電源が投入されたと判定されない(ステップS11:No)とステップS11を繰り返す。
ステップS11においてYesと判定されると、強制リセット制御部42は、CPU12とFPGA14とを強制的にリセットさせる(ステップS12)。
そして、電圧モニタ部41は、リセットIC16に供給される電圧レベルをモニタする(ステップS13)。
電圧モニタ部41は、リセットIC16に供給される電圧レベルが適正であるか(安定しているか)を判定する(ステップS14)。リセットIC16に供給される電圧レベルが適正であると判定される(ステップS14:Yes)とステップS15に進む。一方、リセットIC16に供給される電圧レベルが適正であると判定されない(ステップS14:No)とステップS13に戻る。
ステップS14においてYesと判定されると、リセット解除制御部44は、CPU12とFPGA14とのリセットを解除する(ステップS15)。
マニュアルリセット制御部43は、CPU12からマニュアルリセットの要求があるかを判定する(ステップS16)。CPU12からマニュアルリセットの要求があると判定される(ステップS16:Yes)とステップS17に進む。一方、CPU12からマニュアルリセットの要求があると判定されない(ステップS16:No)とステップS18に進む。
ステップS16においてYesと判定されると、マニュアルリセット制御部43は、CPU12に対してマニュアルリセットをかける指示を出す(ステップS17)。その後、ステップS13に戻る。
一方、ステップS16においてNoと判定されると、電圧モニタ部41は、リセットIC16の電源が切断されたかを判定する(ステップS18)。リセットIC16の電源が切断されたと判定される(ステップS18:Yes)と、リセットIC16は、図3の処理を終了する。一方、リセットIC16の電源が切断されたと判定されない(ステップS18:No)とステップS16に戻る。
(CPUが行う処理の流れの説明)
次に、CPU12が行う処理の流れを説明する。まず、電源状態モニタ部25は、CPU12の電源が投入されたかを判定する(ステップS41)。CPU12の電源が投入されたと判定される(ステップS41:Yes)とステップS42に進む。一方、CPU12の電源が投入されたと判定されない(ステップS41:No)とステップS41を繰り返す。
ステップS41においてYesと判定されると、起動処理部24は、CPU12にリセットをかける(ステップS42)。
次に、起動処理部24は、リセットIC16からのリセット解除要求を受けて、CPU12のリセットを解除する(ステップS43)。
FPGA状態モニタ部21は、FPGA14が出力するDONE信号を受信したかを判定する(ステップS44)。FPGA14が出力するDONE信号を受信したと判定される(ステップS44:Yes)とステップS45に進む。一方、FPGA14が出力するDONE信号を受信したと判定されない(ステップS44:No)とステップS44を繰り返す。
ステップS44においてYesと判定されると、ファームウエア設定部22は、CPU12が実行するファームウエアを設定する(ステップS45)。
次に、クロック信号モニタ部23は、FPGA14が出力するPLL_LOCK信号がHiレベルであるかを判定する(ステップS46)。FPGA14が出力するPLL_LOCK信号がHiレベルであると判定される(ステップS46:Yes)とステップS47に進む。一方、FPGA14が出力するPLL_LOCK信号がHiレベルであると判定されない(ステップS46:No)とステップS49に進む。
ステップS46においてYesと判定されると、起動処理部24は、CPU12にファームウエアの実行を開始させる(ステップS47)。
次に、電源状態モニタ部25は、CPU12の電源が切断されたかを判定する(ステップS48)。CPU12の電源が切断されたと判定される(ステップS48:Yes)と、CPU12は、図3の処理を終了する。一方、CPU12の電源が切断されたと判定されない(ステップS48:No)と、ステップS48を繰り返す。
一方、ステップS46においてNoと判定されると、クロック信号モニタ部23は、所定時間が経過したかを判定する(ステップS49)。所定時間が経過したと判定される(ステップS49:Yes)とステップS50に進む。一方、所定時間が経過したと判定されない(ステップS49:No)とステップS46に戻る。
ステップS49においてYesと判定されると、起動処理部24は、リセットIC16に対して、マニュアルリセット要求信号を出力する(ステップS50)。
起動処理部24は、リセットIC16からマニュアルリセットをかける指示が出されたかを判定する(ステップS51)。リセットIC16からマニュアルリセットをかける指示が出されたと判定される(ステップS51:Yes)とステップS42およびステップS22に戻る。一方、リセットIC16からマニュアルリセットをかける指示が出されたと判定されない(ステップS51:No)と、ステップS51を繰り返す。
このように、ステップS51においてYesと判定されると、ステップS22に戻る。そして、起動処理部33は、FPGA14にリセットをかける。そして、FPGA14は再起動される。
(FPGAが行う処理の流れの説明)
次に、FPGA14が行う処理の流れを説明する。まず、電源状態モニタ部34は、FPGA14の電源が投入されたかを判定する(ステップS21)。FPGA14の電源が投入されたと判定される(ステップS21:Yes)とステップS22に進む。一方、FPGA14の電源が投入されたと判定されない(ステップS21:No)とステップS21を繰り返す。
ステップS21においてYesと判定されると、起動処理部33は、FPGA14にリセットをかける(ステップS22)。なお、前記したように、CPU12がステップS51においてマニュアルリセットの指示を受けた場合(ステップS51:Yes)にも、起動処理部33は、ステップS22において、FPGA14にリセットをかける。
次に、起動処理部33は、リセットIC16からのリセット解除要求を受けて、FPGA14のリセットを解除する(ステップS23)。
コンフィギュレーション実行部31は、ROM18からコンフィギュレーションデータを読み出す(ステップS24)。
コンフィギュレーション実行部31は、読み出されたコンフィギュレーションデータをFPGA14に書き込む(ステップS25)。
コンフィギュレーション実行部31は、コンフィギュレーションが完了したかを判定する(ステップS26)。コンフィギュレーションが完了したと判定される(ステップS26:Yes)とステップS27に進む。一方、コンフィギュレーションが完了したと判定されない(ステップS26:No)と、ステップS26を繰り返す。
ステップS26においてYesと判定されると、動作状態出力部32は、コンフィギュレーションが完了したことを示すDONE信号を出力する(ステップS27)。
動作状態出力部32は、PLL_LOCKがかかっているか、即ち、CPU12がFPGA14に供給したクロック信号が安定しているかを判定する(ステップS28)。PLL_LOCKがかかっていると判定される(ステップS28:Yes)とステップS29に進む。一方、PLL_LOCKがかかっていると判定されない(ステップS28:No)とステップS28を繰り返す。
ステップS28においてYesと判定されると、動作状態出力部32は、PLL_LOCK信号をHiレベルにする(ステップS29)。
そして、起動処理部33は、FPGA14の動作を開始させる(ステップS30)。
次に、電源状態モニタ部34は、FPGA14の電源が切断されたかを判定する(ステップS31)。FPGA14の電源が切断されたと判定される(ステップS31:Yes)と、FPGA14は、図3の処理を終了する。一方、FPGA14の電源が切断されたと判定されない(ステップS31:No)と、ステップS31を繰り返す。
(情報処理装置が起動処理に成功した場合のタイムチャートの説明)
次に、図4を用いて、情報処理装置10が起動処理に成功した場合のタイムチャートを説明する。図4は、実施の形態の情報処理装置が、起動処理に成功した場合の一例を示すタイムチャートである。
時刻t0において、リセットIC16が、CPU12とFPGA14のリセットを解除したとする。
リセットが解除されると、FPGA14は、ROM18からコンフィギュレーションデータを読み出して、コンフィギュレーションを行う。コンフィギュレーションが完了すると、FPGA14は、時刻t1においてDONE信号を出力する。
FPGA14は、CPU12から供給されたクロック信号が安定しているか否かを判定する。そして、CPU12から供給されたクロック信号が安定していると判定すると、時刻t2においてPLL_LOCK信号をHiレベルに変更する。
その後、CPU12は、自身が動作させるファームウエアを設定する。ファームウエアの設定を行うと、CPU12が出力するクロック信号が不安定になる場合がある。図4の例は、時刻t3において、CPU12が出力するクロック信号が不安定になったことを示す。
CPU12が出力するクロック信号が不安定になると、FPGA14は、CPU12から供給されたクロック信号が不安定であると判定して、時刻t3において、PLL_LOCK信号をLoレベルに変更する。
FPGA14は、再び、CPU12が出力するクロック信号が安定しているかの判定を繰り返す。そして、時刻t4において、CPU12が出力するクロック信号が安定していると判定して、PLL_LOCK信号を再びHiレベルに変更する。
以降、PLL_LOCK信号がHiレベルを維持する場合に、CPU12とFPGA14は、所定の処理の実行を開始する。
(情報処理装置が起動処理に失敗した場合のタイムチャートの説明)
次に、図5を用いて、情報処理装置10が起動処理に失敗した場合のタイムチャートを説明する。図5は、実施の形態の情報処理装置が、起動処理に失敗した場合の一例を示すタイムチャートである。
時刻t5において、リセットIC16が、CPU12とFPGA14のリセットを解除したとする。
リセットが解除されると、FPGA14は、ROM18からコンフィギュレーションデータを読み出して、コンフィギュレーションを行う。コンフィギュレーションが完了すると、FPGA14は、時刻t6においてDONE信号を出力する。
FPGA14は、CPU12から供給されたクロック信号が安定しているか否かを判定する。そして、CPU12から供給されたクロック信号が安定していると判定すると、時刻t7においてPLL_LOCK信号をHiレベルに変更する。
その後、CPU12は、自身が動作させるファームウエアを設定する。ファームウエアの設定を行うと、CPU12が出力するクロック信号が不安定になる場合がある。図5の例は、時刻t8において、CPU12が出力するクロック信号が不安定になったことを示す。
CPU12が出力するクロック信号が不安定になると、FPGA14は、CPU12から供給されたクロック信号が不安定であると判定して、時刻t8において、PLL_LOCK信号をLoレベルに変更する。
所定時間連続して、CPU12から供給されたクロック信号が不安定である、即ちPLL_LOCK信号がLoレベルのままであると判定されると、時刻t9において、CPU12は、リセットIC16に対して、マニュアルリセット要求信号を出力する。図5の時刻t9においてPORT_A端子12bから出力されるパルス信号が、マニュアルリセット要求信号である。
リセットIC16は、時刻t9において発生したマニュアルリセット要求信号を受けて、CPU12に対してリセットをかける。このとき、FPGA14のDONE信号は、コンフィギュレーションが完了していないことを示すLoレベルに変更される。即ち、FPGA14も初期状態に戻る。
時刻t10において、リセットIC16は、CPU12とFPGA14のリセットを解除する。
リセットが解除されると、FPGA14は、再び、ROM18からコンフィギュレーションデータを読み出して、コンフィギュレーションを行う。コンフィギュレーションが完了すると、FPGA14は、時刻t11においてDONE信号を出力する。
FPGA14は、CPU12から供給されたクロック信号が安定しているか否かを判定する。そして、CPU12から供給されたクロック信号が安定していると判定すると、時刻t12においてPLL_LOCK信号をHiレベルに変更する。
以降、PLL_LOCK信号がHiレベルを維持する場合、CPU12とFPGA14は、所定の処理の実行を開始する。即ち、図5の例では、時刻t9において、リセットIC16は、CPU12からのマニュアルリセットの要求を受けて、CPU12とFPGA14に対してリセットをかけて、再起動を行わせる。再起動の結果、CPU12から供給されたクロック信号が安定していると判定されると、CPU12とFPGA14は、所定の処理の実行を開始する、一方、再起動の結果、CPU12から供給されたクロック信号が安定していると判定されないと、リセットIC16は、CPU12からのマニュアルリセットの要求を受けて、CPU12とFPGA14に対してリセットをかけて、再起動を行わせる。
以上説明したように、実施の形態の情報処理装置10において、コンフィギュレーション実行部31は、FPGA14にコンフィギュレーションデータを書き込む。クロック信号モニタ部23は、コンフィギュレーション実行部31がコンフィギュレーションを完了したことを条件として、CPU12がFPGA14に供給したクロック信号が安定しているかを検出する。そして、起動処理部24は、クロック信号が安定していることを条件として、CPU12およびFPGA14を起動させる。したがって、CPU12が出力するクロック信号が不安定になった場合であっても、当該クロック信号が安定するのを待って、CPU12とFPGA14とを確実に起動させることができる。
また、実施の形態の情報処理装置10において、FPGA状態モニタ部21は、FPGA14から出力されるDONE信号の状態に基づいて、コンフィギュレーションが完了したかを判定する。したがって、コンフィギュレーションが完了したことを、確実かつ容易に判定することができる。
また、実施の形態の情報処理装置10において、クロック信号モニタ部23は、CPU12がFPGA14に供給したクロック信号と当該FPGA14で生成されたクロック信号との位相差および周波数差に基づいて、CPU12からFPGA14に供給されるクロック信号が安定しているかを判定する。したがって、クロック信号が安定しているかを、確実かつ容易に判定することができる。
また、実施の形態の情報処理装置10において、起動処理部24は、CPU12がFPGA14に供給したクロック信号が、所定時間に亘って安定しないことを条件として、CPU12およびFPGA14にマニュアルリセットをかける。したがって、CPU12が出力するクロック信号が不安定になった場合は、クロック信号が安定するのを待ってから、CPU12とFPGA14を起動することができる。
以上、本発明の実施の形態を説明したが、これらの実施の形態は、いずれも例示であり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…情報処理装置、12…CPU、14…FPGA、16…リセットIC、18…ROM、20…RAM、21…FPGA状態モニタ部、22…ファームウエア設定部、23…クロック信号モニタ部、24,33…起動処理部、25,34…電源状態モニタ部、31…コンフィギュレーション実行部、32…動作状態出力部、41…電圧モニタ部、42…強制リセット制御部、43…マニュアルリセット制御部、44…リセット解除制御部
特開2014-10549号公報

Claims (5)

  1. FPGAとCPUとを含む情報処理装置において、
    前記FPGAにコンフィギュレーションデータを書き込むコンフィギュレーション実行部と、
    コンフィギュレーションが完了したことを条件として、前記CPUが前記FPGAに供給したクロック信号が安定しているかを検出するクロック信号モニタ部と、
    前記クロック信号が安定していることを条件として、前記CPUおよび前記FPGAを起動させる起動処理部と、
    を備える情報処理装置。
  2. 前記コンフィギュレーションが完了したことは、
    前記FPGAから出力される信号の状態に基づいて判定される、
    請求項1に記載の情報処理装置。
  3. 前記クロック信号モニタ部は、
    前記CPUが前記FPGAに供給したクロック信号と当該FPGAで生成されたクロック信号との位相差および周波数差に基づいて、前記CPUから前記FPGAに供給されるクロック信号が安定しているかを判定する、
    請求項1に記載の情報処理装置。
  4. 前記起動処理部は、
    前記CPUが前記FPGAに供給したクロック信号が、所定時間に亘って安定しないことを条件として、前記CPUおよび前記FPGAにマニュアルリセットをかける、
    請求項1から請求項3のいずれか1項に記載の情報処理装置。
  5. FPGAとCPUとを含むコンピュータに対して、
    前記FPGAにコンフィギュレーションデータを読み込ませるコンフィギュレーション処理と、
    コンフィギュレーションが完了したことを条件として、前記CPUが前記FPGAに供給したクロック信号の状態を検出するクロック信号モニタ処理と、
    前記クロック信号が安定していることを条件として、前記FPGAおよび前記CPUを起動させる起動処理と、
    を行わせる情報処理方法。
JP2020138617A 2020-08-19 2020-08-19 情報処理装置および情報処理方法 Active JP7478065B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020138617A JP7478065B2 (ja) 2020-08-19 2020-08-19 情報処理装置および情報処理方法
US17/238,465 US11556347B2 (en) 2020-08-19 2021-04-23 Information processing device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020138617A JP7478065B2 (ja) 2020-08-19 2020-08-19 情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2022034761A JP2022034761A (ja) 2022-03-04
JP7478065B2 true JP7478065B2 (ja) 2024-05-02

Family

ID=80270808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020138617A Active JP7478065B2 (ja) 2020-08-19 2020-08-19 情報処理装置および情報処理方法

Country Status (2)

Country Link
US (1) US11556347B2 (ja)
JP (1) JP7478065B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058288A (ja) 2005-08-22 2007-03-08 Hitachi Kokusai Electric Inc 情報処理装置
JP2007334514A (ja) 2006-06-13 2007-12-27 Canon Inc 制御装置及び制御方法
JP2009193321A (ja) 2008-02-14 2009-08-27 Denso Wave Inc ロボットの制御装置
JP2015216507A (ja) 2014-05-12 2015-12-03 株式会社日立製作所 Fpgaを搭載する装置
US20160209818A1 (en) 2015-01-20 2016-07-21 Sony Corporation Method and system for management of an electronic system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996036925A1 (en) * 1995-05-16 1996-11-21 Giga Operations Corporation Monitor cpu for a logic device
JP5943736B2 (ja) * 2012-06-28 2016-07-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
IN2014CH00439A (ja) * 2014-01-30 2015-08-07 Mentor Graphics Corp
US10379927B2 (en) * 2016-11-01 2019-08-13 Xilinx, Inc. Programmable clock monitor
US10659053B2 (en) * 2017-02-22 2020-05-19 Honeywell International Inc. Live power on sequence for programmable devices on boards

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058288A (ja) 2005-08-22 2007-03-08 Hitachi Kokusai Electric Inc 情報処理装置
JP2007334514A (ja) 2006-06-13 2007-12-27 Canon Inc 制御装置及び制御方法
JP2009193321A (ja) 2008-02-14 2009-08-27 Denso Wave Inc ロボットの制御装置
JP2015216507A (ja) 2014-05-12 2015-12-03 株式会社日立製作所 Fpgaを搭載する装置
US20160209818A1 (en) 2015-01-20 2016-07-21 Sony Corporation Method and system for management of an electronic system

Also Published As

Publication number Publication date
JP2022034761A (ja) 2022-03-04
US20220058028A1 (en) 2022-02-24
US11556347B2 (en) 2023-01-17

Similar Documents

Publication Publication Date Title
KR101235854B1 (ko) 화상형성장치, SoC 유닛 및 그 구동 방법
JP5096131B2 (ja) 半導体記憶装置
CN113590511A (zh) 一种带宽降速修复方法、装置及电子设备
KR101573330B1 (ko) 영상 재생 장치를 부팅하는 방법 및 그 장치
US8271770B2 (en) Computer motherboard with automatically adjusted hardware parameter value
EP2750034A2 (en) Electronic device having updatable bios and bios updating method thereof
JP4393954B2 (ja) マイクロコンピュータ
US11403399B2 (en) Information processing apparatus capable of detecting software tampering and control method therefor
JP3056131B2 (ja) システムのリセット方式
US20220121437A1 (en) Information processing apparatus using swap file, control method therefor, and storage medium
JP7478065B2 (ja) 情報処理装置および情報処理方法
JP5241450B2 (ja) 半導体装置及びその異常検出方法
JP3214469B2 (ja) マイクロコンピュータによるフラッシュeepromの書き込み制御方法及び装置
JP6253433B2 (ja) 制御装置
JP2010079572A (ja) 情報処理装置、外部記憶装置、制御方法
CN112714226B (zh) 电子控制装置、电子控制装置执行的方法及存储介质
US11443111B2 (en) Information processing apparatus capable of detecting alteration in software
JP6457756B2 (ja) 情報処理装置、その制御方法、及びプログラム
US20060059381A1 (en) System and method for configuring a microcontroller clock system
CN114385255A (zh) Pos机的控制方法、系统、装置以及计算可读介质
CN100410881C (zh) 电子装置和控制方法
JP6149624B2 (ja) ファームウェア実行装置、ファームウェア実行方法、コンピュータ・プログラム、および、コンピュータ装置
CN112083965B (zh) 用于管理用不同大小的指令操作的计算单元的方法和设备
JP7196544B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN101303653A (zh) 判断计算机系统是否执行重开机的方法及其计算机系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240419

R150 Certificate of patent or registration of utility model

Ref document number: 7478065

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150