JP7230163B2 - 専用のプロセッサによるSoCのハードウェア・パワーオン初期化 - Google Patents

専用のプロセッサによるSoCのハードウェア・パワーオン初期化 Download PDF

Info

Publication number
JP7230163B2
JP7230163B2 JP2021200801A JP2021200801A JP7230163B2 JP 7230163 B2 JP7230163 B2 JP 7230163B2 JP 2021200801 A JP2021200801 A JP 2021200801A JP 2021200801 A JP2021200801 A JP 2021200801A JP 7230163 B2 JP7230163 B2 JP 7230163B2
Authority
JP
Japan
Prior art keywords
pmu
initialization
soc
circuitry
ram
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
JP2021200801A
Other languages
English (en)
Other versions
JP2022050405A (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.)
Xilinx Inc
Original Assignee
Xilinx Inc
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 Xilinx Inc filed Critical Xilinx Inc
Publication of JP2022050405A publication Critical patent/JP2022050405A/ja
Application granted granted Critical
Publication of JP7230163B2 publication Critical patent/JP7230163B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • G06F11/2635Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Stored Programmes (AREA)
  • Microcomputers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

技術分野
本開示の実施例は、一般に電子回路に関し、特に専用のプロセッサによるシステム・オン・チップ(SoC)のハードウェア・パワーオン初期化に関する。
背景技術
典型的なシステム・オン・チップ(SoC)では、システムのブート準備のため特定のシーケンスで実施されなくてはならない多くの初期化タスクがある。パワーオン・シーケンシングタスクはもっぱら、ハードウェア・ステートマシンおよび関連の回路により扱われる。パワーオン・シーケンシングタスクの例は、シーケンシングリセット、電源の監視、クロック回路の初期化、テストの実施、メモリの消去等を含む。
ハードウェア・ステートマシンおよび関連回路の回路設計における欠陥は、SoCのブートを妨げる可能性がある。SoC自体は通常、量産の前に試験および検証が行われる。パワーオン・シーケンシングタスクにおける欠陥により、ハードウェア・ステートマシンおよび関連回路の再設計が必要になる。さらに、要求されるパワーオンシーケンシングを完了させるため必要な情報は、検証時まで不明であり得る。パワーオンシーケンシングを実施するハードウェア・ステートマシンおよび関連回路における何らかの設計変更は、コストがかかり、かつSoCの最終検証を遅延させる可能性がある。
発明の概要
専用のプロセッサによるシステム・オン・チップ(SOC)のハードウェア・パワーオン初期化を行う技術について説明する。一実施例では、SoCは、PORピンに接続されるハードウェア・パワーオンリセット(POR)シーケンサ回路を含む。SoCはさらに、ハードウェアPORシーケンサ回路に接続されるプラットフォーム管理ユニット(PMU)を含み、PMUは1つまたは複数の中央処理装置(CPU)および読み出し専用メモリ(ROM)を含む。SoCはさらに、ブートプロセスを実行するよう設定されている1つまたは複数の処理装置を含む。ハードウェアPORシーケンサ回路は、PMUを初期化するよう構成されている。PMUの1つまたは複数のCPUは、プリブート初期化を実施するため、ROMに格納されているコードを実行するよう構成されている。
別の実施例では、SoCのブート方法は、ハードウェア・パワーオンリセット(POR)シーケンサ回路を利用して1つまたは複数の第1初期化タスクを実施することを含む。この方法はさらに、プラットフォーム管理ユニット(PMU)を利用して、読み出し専用メモリ(ROM)内に格納されているコードを実行することにより第2初期化タスクを実施することを含む。この方法はさらに、第1処理装置を利用してブートROM内のコードを実行することを含む。方法はさらに、第2処理装置を利用して、ブートローダを実行することを含む。
別の実施例では、非一時的なコンピュータ可読媒体に命令が格納されており、SoC内のプラットフォーム管理ユニット(PMU)により命令が実行されると、PMUが以下からなる方法を実施する。すなわち、SoC内のテスト回路の初期化、SoC内の1つまたは複数の回路ブロックの初期化、ランダムアクセスメモリ(RAM)の初期化、SoC内のパワードメインの初期化、SoC内の第1処理装置によるブートプロセスの開始である
これらおよびその他の態様は、以下の詳細な説明と共に理解されるものとする。
図面の簡単な説明
上述の特徴の詳細が理解されるよう、上に概要を簡潔に述べたが、実施例を参照して、より詳細な説明を行い、そのいくつかは添付の図面に示す。しかし、添付の図面は典型的な実施例を示しているのみであり、範囲を限定するものとみなされるべきではない。
一実施例に係るプログラマブルシステムを示すブロック図である。 図1AのプログラマブルSoCのブロック図であり、異なるパワードメインを示している。 一実施例に係るプログラマブルSoCのブート方法を示すフローチャートである。 一実施例に係るプラットフォーム管理ユニット(PMU)を示すブロック図である。 一実施例に係り、ハードウェア・パワーオンリセット(POR)により実施される事前PMU初期化方法を示すフローチャートである。 一実施例に係りPMUにより実施されるプリブート初期化方法を示す。 一実施例に係りPMUにより実施されるプリブート初期化方法を示す。 PMUのサーバモードにおける要求の処理方法の実施例を示すフローチャートである。 一実施例に係るブートプロセスの初期化方法を示すフローチャートである。 一実施例に係るブート方法を示すフローチャートである。
容易に理解できるようにするため、各図面に渡って同一の要素を示す際、可能な場合は同一の符号を使用している。一実施例における要素が、その他の実施例でも有益に利用され得ることが期待される。
詳細な説明
図面を参照して以下に様々な特徴を説明する。図面は縮尺通りであることも、そうでない場合もあり、類似の構造および機能の要素は、全図面に渡って類似の符号で示される。図面は、特徴の説明を容易にするためのものであると理解されるべきである。図面は特許請求された発明の包括的な説明または特許請求された発明の範囲を限定するものではない。さらに、図示される実施例は、示される態様または長所のすべてを有する必要はない。特定の実施例に伴い説明される態様または長所は、必ずしもその実施例に限定されるものではなく、そのように図示または明確に記載されていなくても、その他の実施例でも実施されることが可能である。
図1Aは、一実施例に係るプログラマブルシステム100のブロック図である。プログラマブルシステム100は、ダイナミック・ランダムアクセスメモリ(DRAM)108と、不揮発性メモリ(NVM)110と、各種サポート回路112とに接続されるプログラマブル・システムオンチップ(SoC)102を備える。サポート回路112は、プログラマブルSoC102の動作を支援するよう構成される発振器、電圧源等を含むことが可能である。DRAM108は、任意の種類のDRAM、たとえばシンクロナスDRAM(SDRAM)、DDR-SDRAM等を含むことが可能である。NVM110は、任意の種類の不揮発性メモリ、例えば任意の種類のフラッシュメモリ、セキュアデジタル(SD)メモリ等を含むことが可能である。
プログラマブルSoC102は、処理システム(「PS104」)およびプログラマブルロジック(「PL106」)を含む。PS104は、処理装置114と、インターコネクト124と、RAM126と、ROM128と、メモリインタフェース130と、周辺回路部132と、入力/出力(IO)回路134と、クロック/リセット回路136と、テスト回路138と、レジスタ(regs)140と、ハードウェア(HW)パワーオンリセット(POR)シーケンサ142と、電子ヒューズ144と、システムモニタ168と、PS-PLインタフェース146と、PSピン135とを含む。処理装置114は、異なる種類の処理装置、例えばアプリケーションプロセッサ(APU)116と、リアルタイムプロセッシングユニット(RPU)118と、構成およびセキュリティユニット(CSU)120と、プラットフォーム管理ユニット(PMU)122とを含むことが可能である。
PL106は、プログラマブルファブリック150と、構成メモリ148と、硬化回路162と、レジスタ172と、テスト回路170と、電子ヒューズ174と、クロック生成および分配回路176と、構成ロジック166と、PLピン149とを含む。プログラマブルファブリック150は、構成可能論理ブロック(CLB)152と、ブロックRAM(BRAM)154と、入力/出力ブロック(IOB)156と、デジタル信号処理ブロック(DSP)158と、プログラマブルインターコネクト160とを含む。硬化回路162は、マルチギガビットトランシーバ(MGT)164、周辺部品インタフェースエクスプレス(PCIe)回路(「PCIe169」)、アナログデジタル変換器(ADC)165等を含む。
PS104に関して、処理装置114はそれぞれ、1つまたは複数の中央処理装置(CPU)および関連の回路、たとえばメモリ、割り込みコントローラ、ダイレクトメモリアクセス(DMA)コントローラ、メモリ管理ユニット(MMU)、浮動小数点演算ユニット(FPU)等を含む。インターコネクト124は、処理装置114を相互接続するよう、ならびにPS104内のその他のコンポーネントを処理装置114と相互接続するよう構成される各種スイッチ、バス、通信リンク等を含む。
RAM126は、1つまたは複数のRAMモジュールを含み、これはPS104全体に分配されることが可能である。例えば、RAM126は、バッテリーバックアップ式RAM(BBRAM177)、オンチップメモリ(OCM)127、密結合メモリ(TCM)129等を含むことが可能である。1つまたは複数の処理装置114がRAM126のRAMモジュールを含むことが可能である。同様に、ROM128は、1つまたは複数のROMモジュールを含み、これはPS104全体に分配されていることが可能である。例えば、処理装置114の1つまたは複数が、ROM128のROMモジュールを含むことが可能である。レジスタ140は、PS104全体に分配される多数のレジスタを含む。レジスタ140は、PS104用の様々な設定およびステータス情報を格納していることが可能である。
メモリインタフェース130は、DRAM108へのアクセス用のDRAMインタフェースを含むことが可能である。メモリインタフェース130は、NVM110へのアクセス用のNVMインタフェースも含むことが可能である。一般に、メモリインタフェース130は、任意の種類の揮発性メモリインタフェース(例えばDRAM、ダブルデータレート(DDR)DRAM、スタティックRAM(SRAM)等)、および任意の種類の不揮発性メモリインタフェース(例えばNANDフラッシュ、NORフラッシュ、SDメモリ等)を含むことが可能である。
周辺回路部132は、PS104へのインタフェースを提供する1つまたは複数のコンポーネントを含むことが可能である。周辺回路部132は、周辺コンポーネント、ならび
に外部の周辺コンポーネントに接続するためのIOインタフェースを含むことが可能である。例えば、周辺回路部132は、グラフィック処理装置(GPU)、ディスプレイインタフェース(例えばディスプレイポート、高解像度マルチメディア・インタフェース(HDMI(登録商標))ポート等)、ユニバーサルシリアルバス(USB)ポート、イーサネット(登録商標)ポート、ユニバーサル非同期トランシーバ(UART)ポート、シリアル周辺回路部インタフェース(SPI)ポート、汎用IO(GPIO)ポート、シリアルアドバンストテクノロジーアタッチメント(SATA)ポート、PCIeポート等を含むことが可能である。周辺回路部132は、IO回路134に接続されることが可能である。IO回路134は、周辺回路部132をPSピン135のIOピンに接続するよう構成されるマルチプレクサ回路、シリアライザ/デシリアライザ(SERDES)回路、MGT等を含むことが可能である。IO回路134は、周辺回路部132の1つまたは複数を内部でPL106に接続することも可能である。
テスト回路138は、PS104をテストおよび/または初期化するよう構成されるバウンダリスキャンチェーン、内部スキャンチェーン、テストアクセスポート(TAP)コントローラおよびその他のジョイントテストアクショングループ(JTAG)回路、デバッグアクセスポート(DAP)コントローラ、ロジック組込み自己テスト(LBIST)エンジン、メモリBIST(MBIST)エンジン、組込み自己修復(BISR)エンジン、スキャンチェーンクリアエンジン等を含むことが可能である。クロック/リセット回路136は、PS104により使用されるクロックを生成するため、様々な発振器、周波数シンセサイザ等を含むことが可能である。例えばクロック/リセット回路136は、複数の位相固定ループ(PLL137)を含むことが可能である。システムモニタ168は、プログラマブルSoC102における各種センサ(例えば温度センサ、電圧センサ等)からの測定結果を得るためのロジックを含むことが可能である。HW PORシーケンサ142は、以下に説明されるように、PMU122の動作のため、プログラマブルSoC102の一部を初期化するよう構成されるハードウェア・ステートマシンおよび関連のロジックのような回路構成を含むことが可能である。電子ヒューズ144は、プログラマブルSoC102用の各種設定およびデータを格納するためのワンタイム・プログラマブルメモリを形成することが可能である。PSピン135は、PS104の様々なコンポーネントへの外部インタフェース、例えばIO回路134、メモリインタフェース130、テスト回路138等を提供する。PSピン135は、例えば電圧源ピン、クロックピン、PORピン、ブートモードピン等のその他様々なピンも含む。PS-PLインタフェース146は、PL106とPS104の各種コンポーネント、例えば周辺回路部132、RAM126、処理装置114等との間のIOインタフェースを含むことが可能である。
PL106に関して、構成ロジック166は、構成ビットストリームを構成メモリ148内へロードするための回路構成を含むことが可能である。いくつかの実施例では、構成ロジック166は、ブートプロセス中にPS104から構成ビットストリームを受信することが可能である。別の実施例では、構成ロジック166は、PL106に接続される別のポート(例えばテスト回路170の一部であるJTAGポート)から構成ビットストリームを受信することが可能である。構成メモリ148は、例えばプログラマブルファブリック150および硬化回路162のプログラマブル機能のようなPL106のプログラマブル機能を制御する複数のSRAMセルを含む。
プログラマブルファブリック150は、様々な回路を実行するよう構成されることが可能である。プログラマブルファブリック150は、CLB152、BRAM154、IOB156、DSP158を含む多数の異なるプログラマブルタイルを含むことが可能である。CLB152は、ユーザロジックを実施するようプログラム可能である構成可能ロジック素子を含むことが可能である。BRAM154は、異なるメモリ構成を実施するよう構成可能であるメモリ素子を含むことが可能である。IOB156は、プログラマブルフ
ァブリック150へ、またここから信号を送受信するよう構成可能であるIO回路を含む。DSP158は、異なるデジタル処理構造を実施するよう構成可能であるDSP素子を含むことが可能である。プログラマブルインターコネクト160は、複数のプログラマブルインターコネクト素子および関連のルーティングを含むことが可能である。プログラマブルインターコネクト160は、回路設計を実施するため様々なプログラマブルタイルを相互接続するようプログラム可能である。
硬化回路162は、例えばMGT164、PCIe回路169、ADC回路165等の専用の機能を有する様々な回路を含む。硬化回路162は、ICの一部として製造され、プログラマブルファブリック150とは異なり、構成ビットストリームのロードによって製造後に機能がプログラムされるのではない。硬化回路162は一般に、例えば特定の機能を有する専用の回路ブロックおよびインターコネクトを有するとみなされている。硬化回路162は、1つまたは複数の動作モードを有することが可能であり、これはパラメータ設定により設定または選択可能である。パラメータ設定は、例えば1つまたは複数のレジスタ172に値を保存することにより実現可能である。動作モードは、例えば構成ビットストリームを構成メモリ148へロードする、またはプログラマブルSoC102の動作時に動的に行うことにより設定可能である。
クロック生成および分配回路176は、PL106全体でクロックを生成および分配するためPLL、クロックバッファ等を含むことが可能である。テスト回路170は、PL106のテスト用に、バウンダリスキャンチェーン、内部スキャンチェーン、TAPコントローラおよびその他のJTAG回路等を含むことが可能である。レジスタ172はPL106全体で分配されることが可能である。例えば、レジスタ172は、硬化回路162のパラメータ設定のためのレジスタを含むことが可能である。PLピン149は、例えばIOB156、MGT164、PCIe回路169、ADC回路165、テスト回路170等のようなPL106の様々なコンポーネントへの外部インタフェースを提供する。
図1Bは、プログラマブルSoC102のブロック図であり、異なるパワードメインを示している。例えば、プログラマブルSoC102は、低電力ドメイン(LPD)190およびフルパワードメイン(FDP)192のような複数のパワードメインを含むことが可能である。実施例では2つのパワードメインが示されているが、プログラマブルSoC102は、任意の数のパワードメインを含むことが可能である。PS104のコンポーネントおよびPL106のコンポーネントは、パワードメインにおいて分配されることが可能である。例えば、PS104内では、LPD190は、RPU118、CSU120、PMU122、1つまたは複数の周辺回路部132、RAM126内の1つまたは複数のRAM(例えばOCM)等を含むことが可能である。PS104内では、FPD192は、APU116、1つまたは複数の周辺回路部132等(例えばGPU、ディスプレイインタフェース、SATAポート、PCIeポート等)を含むことが可能である。パワードメインは、複数のアイランドを含むことが可能である。したがって、LPD190はアイランド194を含み、FPDはアイランド196を含むことが可能である。各ドメイン内のコンポーネントは、アイランド内でさらに分割されることが可能である。例えば、LPD190は、USBポートを含むことが可能であり、USBポートはアイランド194の異なるものにあることが可能である。パワードメインは、相互に独立して電源が入れられることが可能である。また、各パワードメイン内のアイランドは、相互に独立して電源が入れられることが可能である。以下でさらに説明するように、PMU122は、プログラマブルSoC102内でパワードメインおよびアイランドを制御するよう構成されている。
図1Aに戻ると、プログラマブルSoC102を構成するため、ユーザは1つまたは複数のシステムイメージ178をNVM110に保存することが可能である。システムイメ
ージ178は、ヘッダ181と、第1ステージブートローダ(FSBL)180と、ビットストリーム182と、動作システム(OS)またはその他のソフトウェア(「OS/SW184」)とを含むことが可能である。PSピン135のPS104がデアサートされた後、PS104はブートプロセスを開始する。PS104は、ROM128内のブートコード(「BootROM」と称される)を実行し、これがヘッダ181を読み出し、続いてFSBL180を読み出し、認証し、RAM126内に(例えばOCM)格納する。実施例では、CSU120は、BootROMを実行してFSBL180をロードすることが可能である。APU116またはRPU118は、FSBL180を実行するため使用可能であり、これはビットストリーム182をPL106にロードし、OS/SW184の実行を開始することが可能である。
CSU120がBootROMの実行を開始できる前に、PS104は初期化されなくてはならない(パワーオン初期化と称する)。パワーオン初期化は、パワーオンリセット(例えばコールドリセット)またはシステムリセット(例えばウォームリセット)用に実施されるタスクを含む。例示的な初期化タスクは、PS104の異なる部分のリセットのシーケンシング、電源の監視、クロック/リセット回路136の初期設定、メモリおよびロジックに関するテスト回路138内のBISTエンジンの制御、リダンダンシーエンジン(例えばBISRエンジン)の制御、PS104の異なる部分間(例えばパワードメイン、パワーアイランドetc)の分離の制御、セキュリティ要件の一部としてRAM126のクリアを含む。いくつかのSoCでは、これらの初期化タスクは、ハードウェア・ステートマシンおよび関連回路を用いて完全に実施される。通常、このようなハードウェアにおける何らかのエラーにより、装置のブートが阻害され、これにより製造時の検証および試験が困難になる。さらに、場合によっては、初期化タスクのシーケンシングを完了するための情報が、装置の製造および試験後まで不明となる。これにより、シーケンシングハードウェアに対してコストのかかる設計変更が必要となってしまう。
実施例では、HW PORシーケンサ142が、PMU122の動作を可能にするため
最低限の数の初期化タスクを実施するよう構成されている。その後、PMU122は、ROM128内に格納されているコードの実行によりパワーオン初期化を完了する。パワーオン初期化が完了すると、PMU122は、BootROMの実行をCSU120に開始させる。パワーオン初期化タスクのシーケンシングの修正は、ROM128内に格納されたパワーオン初期化コードの修正により達成可能である。ROM128の変更に必要なのは、メタルマスクの変更だけであり、これは低コストであるとともに、設計の再実施も必要としない。HW PORシーケンサ142は最低限の初期化しか行わないため、ブート
シーケンスの試験の際に高コストのかかる設計変更が必要となることはないだろう。
図1Aは、専用のプロセッサによるSoCのパワーオン初期化が使用可能である一実施例を示している。ここで説明されるパワーオン初期化方法は、図1Aに示されるものと異なる構造を有するSoCに適用可能である。例えば、このパワーオン初期化法は、PL106がなく、すべての硬化回路(例えば特定用途向け集積回路(ASIC))を含むSoCにおいて使用可能である。さらに、SoCに含まれるPSは、PS104と異なる構造を有することができる。一般に、SoC内のPSは、最低限の初期化タスクを実施するためのハードウェアシーケンサと、パワーオン初期化を完了するためROMに格納されているコードの実行のためのプロセッサとを含むことが可能である。
図2は、一実施例に係り、プログラマブルSoC102のブート方法を示すフローチャートである。ブートプロセスは、4つのステージ202から208を含む。第1ステージ202では、HW PORシーケンサ142は、事前PMU初期化を実施する。事前PMU初期化は、PMU122の動作準備のため、最低限のセットの初期化タスクを含む。第2ステージ204ではPMU122は、ROM128に格納されているプリブート初期化
コードを実行することによりプリブート初期化を実施する。プリブート初期化コードは、PS104をBootROMの実行のために準備する初期化タスクのセットを規定する。プログラマブルSoC102のパワーオン初期化は、ステージ202および204が実行された後に完了する。第3ステージ206では、CSU120が、ブートプロセスを開始するため、BootROMを実行する。BootROMは、PS104のさらなる初期化、およびFSBL180の読み出し、認証およびトリガ実行のためのタスクを含むことが可能である。第4ステージ208では、APU116またはPRU118は、FSBL180を実行する。FSBL180は、PS104のさらなる初期化、PL106の初期化、およびOS/SW184へのハンドオフのためのタスクを含むことが可能である。ステージ202から208の実施例を以下に詳細に説明する。
図3は、一実施例に係るPMU122を示すブロック図である。PMU122は、複数の冗長サブシステム302と、ROM312と、RAM314と、以下に説明されるその他のコンポーネントとを含む。各冗長サブシステム302は、CPU304と、ROMアービタ306と、RAMアービタ308とを含む。冗長サブシステム302は、多数決回路(voter)310に接続されている。多数決回路310は、冗長サブシステム302の
出力を比較し、「正しい出力」を判定するよう構成されている。例えば、2つの冗長サブシステム302が、所定の処理に関して第1の値を出力する場合、1つの冗長サブシステム302が第1値とは異なる第2の値を出力すると、多数決回路310は、第1値を出力として選択することが可能である。ROM312、RAM314、およびその他のコンポーネントは、冗長サブシステム302からの出力を得て、冗長サブシステム302への入力を行うため、多数決回路310に接続している。ROMアービタ306は、冗長サブシステム302内の各CPU304の命令およびデータバスにおいてROM312へのアクセスを調停する。同様に、RAMアービタ308は、冗長サブシステム302内の各CPU304の命令およびデータバスにおいてRAM314へのアクセスを調停する。RAMアービタ308は、外部接続用にRAM314へのアクセスを調停することも可能である。
PMU122は、スイッチ316、グローバルレジスタ326、ローカルレジスタ318、IO回路320、デバッグ回路324、ROM検証回路330のようなその他のコンポーネントを含むことが可能である。スイッチ316は、インターコネクト124への外部インタフェースと、グローバルレジスタ326へのインタフェースと、多数決回路310へのインタフェースとを含む。グローバルレジスタ326は、PS104内の値(例えばPSエラー)にアクセスするため、PS104への外部インタフェースを含むことが可能である。ローカルレジスタ318は、多数決回路310へのインタフェースと、パワードメインの制御のためPS104への外部インタフェースとを含む。IO回路320は、多数決回路310へのインタフェースと、外部出力インターフェース(OUT)と、外部入力インターフェース(IN)とを含む。デバッグ回路324は、多数決回路310へのインタフェースと、テスト回路138のテストアクセスポート(TAP)328に接続される外部インタフェースとを含む。PMU122は、クロック/リセット回路136、HW PORシーケンサ142、電子ヒューズキャッシュ332への外部インタフェースを含む。
HW PORシーケンサ142は、PMU122のリセットを制御する。クロック/リセット回路136は、PMU122のためのクロックを提供する。HW PORシーケンサ142が、PMU122のリセットをリリースすると、ROM検証ロジック330は、ROM312内のコードの検証を開始する。ROM312の検証後、CPU304のリセットがリリースされ、冗長サブシステム302内のCPU304はROM312内のコードの実行を開始する。ROM312は、PORシーケンシングコード334を格納しており、これはパワーオン初期化を完了するための初期化タスクのシーケンスを規定している
。CPU304は、HW PORシーケンサ142内のレジスタにアクセスし、エラー情報、リセット状態情報(例えばリセットがPORまたはシステムリセットか)等を取得することが可能である。CPU304はさらに、PS104用の各種設定およびパラメータを取得するため、電子ヒューズキャッシュ322にアクセス可能である。HW PORシーケンサ142は、PORに応じて電子ヒューズ144の状態を電子ヒューズキャッシュ322へ読み込むことが可能である。電子ヒューズキャッシュ322は、RAM126に格納されていることが可能であり、電子ヒューズ144へのアクセスを最小限に抑えるために使用される。PORシーケンシングコード334は、エラー情報、リセット状態情報、設定情報をパラメトリック入力として用いて、初期化タスクを実施することが可能である。
PMU122は、PORシーケンシングコード334に示される初期化タスクを達成するため、PS104のコンポーネント制御に様々な出力インタフェースを使用することが可能である。例えば、冗長サブシステム302は、スイッチ316およびインターコネクト124を通じてPS104のコンポーネントにアクセス可能である。冗長サブシステム302は、ローカルレジスタ318内の値を設定し、パワードメインおよび/またはパワードメイン内のアイランドを制御することが可能である。冗長サブシステム302は、GPIOを介して、IO回路320を通じて情報を出力可能である(例えば初期化タスクの際に生成されたエラー/状態情報)。同様に、冗長サブシステム302は、グローバルレジスタ326内の情報を更新することが可能である(例えば初期化タスクの際に生成されたエラー/状態情報)。
パワーオン初期化が完了した後、PMU122は、PS104内の他のコンポーネントからの要求を処理するサービスモードに入ることが可能である。サービスモード用のコードは、ROM312に格納されていることが可能である。サービスモードの間は、PMU122は、その各入力インタフェースを通して要求を受け、以下に説明するいずれかの出力インタフェースを用いて出力を提供することが可能である。例えば、PMU122は、PS104内の他のコンポーネントからの入力をインターコネクト124およびスイッチ316を通して受けることが可能である。別の実施例では、IO回路320は割り込みコントローラ323を含むことが可能である。PMU122は、PS104内の別のコンポーネントからの割り込み要求を通じて入力を受けることが可能である。
図4は、一実施例に係るHW PORシーケンサ142により実施される事前PMU初期化方法を示すフローチャートである。図4はすなわち、図2に示される方法200におけるステージ202の実施例を示す。ステップ402では、HW PORシーケンサ142は、PSピン135のPORピンを監視する。PORピンがデアサートされると、ステップ404でHW PORシーケンサ142は、PSピン135のブートモードピンからのブートモードを取得する。プログラマブルSoC102は、NORフラッシュ、NANDフラッシュ、SDメモリ、JTAG等のような様々なブートモードを含むことが可能である。
ステップ406では、HW PORシーケンサ142は、電子ヒューズ144をキャッシュする。ステップ408では、HW PORシーケンサ142は、テストモードに入るか否かを判定する。例えば、プログラマブルSoC102は、製造時にアクセス可能である特殊なテストモードという特性を含むことが可能である(例えば製造者により提供されるテスト容易化設定(DFT)モード)。テストモードが呼び出されると、ステップ410でHW PORシーケンサ142は、セキュリティのためBBRAM177内のキーデータをクリアすることが可能である。ステップ412では、HW PORシーケンサ142は、テスト回路138に制御を受け渡す。テストモードが呼び出されなかった場合は、方法400はステップ414へ進められる。一実施例では、テストモードは電子ヒューズ
144内の設定により解除されることが可能である(例えば製造時にテストされた後、DFTモードは解除が可能)。ステップ402~412は、プログラマブルSoC102の初期化の第1段階450の一部であることが可能である。
ステップ414は、PMU122の動作のためのプログラマブルSoC102の初期化の第2段階を開始させることが可能である。ステップ414では、HW PORシーケンサ142は、PMU122に関してスキャンクリア動作を実施することが可能である。スキャンクリア動作により、PMU122内のスキャンチェーンがクリアされ、クリア動作を確認するためデータをリードバックする。スキャンチェーンは、デバッグ回路324の一部であるバウンダリスキャンチェーンおよび/または内部スキャンチェーンを含むことが可能である。ステップ416では、HW PORシーケンサ142は、LPD190においてLBIST動作を実施することが可能である。HW PORシーケンサ142は、LPD190のロジックをテストするため、テスト回路138内のLBISTエンジンを呼び出すことが可能である。ステップ414および416は、点線で囲まれており、電子ヒューズ144に格納されている設定に基づいて選択的に実施されることが可能である。
ステップ418では、HW PORシーケンサ142は、LPD190においてBISRを実施する。HW PORシーケンサ142は、BISRエンジンをテスト回路138内でLPDにおいて起動させる。例えば、LPD内のRAM(RAM126の一部)は、冗長コラムを含むことが可能である。電子ヒューズ144は、特定の冗長RAMコラムを可能にする設定を格納することが可能である。テスト回路138内のBISRエンジンは、これらの設定を読み出し、適切なRAMコラムを可能にすることが可能である。ステップ420では、HW PORシーケンサ142は、事前PMU初期化においてエラーがあったか否かを判定する。エラーがあった場合、方法400はステップ422に進められ、HW PORシーケンサ142は、ここでパワーオン/ブートプロセスを停止させる。そうでない場合は、方法400は、ステップ424へ進められることが可能であり、HW PORシーケンサ142は、PMU122のリセットをリリースする。
図5Aおよび5Bは、一実施例に係りPMU122により実施されるプリブート初期化の方法500を示す。すなわち、図5Aおよび5Bは、図2に示される方法200のステージ204の実施例を示している。図5の方法は、ROM312内のPORシーケンシングコード334の実行を通じてPMU122により実施可能である。
ステップ502では、PMU122は初期化を実施する。ステップ502は、ステップ504~510を含むことが可能である。ステップ504では、PMU122はROM212の検証をトリガする。PMU122は、ROM212に格納されるコードの認証のため、ROM検証回路230を起動させることが可能である。ステップ506では、PMU122は、検証が成功したかを判定する。していない場合は、方法508はステップ508へ進められ、ここでPMU122はパワーオン/ブートプロセスを停止させる。そうでない場合は、方法500は、ステップ510へ進められ、ここではPMU122はCPU304のリセットをリリースする。
ステップ512では、PMU122は、プログラマブルSoC102内のテストロジックを選択的に初期化する。例えば、ステップ514ではPMU122は、それ自体をPS104のその他のコンポーネントから分離することが可能である。ステップ516ではPMU122は、LPD、FDPまたは両方に関してスキャンクリア動作を実施することが可能である。ステップ514および516は、電子ヒューズ144の設定および実施されているリセットタイプに応じて条件付きで実施可能である。例えば、スキャンクリア動作は、電子ヒューズ144内で作動され、リセットタイプがPORである場合に実施可能である。電子ヒューズ144内で無効にされるか、またはリセットタイプがシステムリセッ
ト(ウォームリセット)の場合、PMU122はステップ514および516を省略することが可能である。
ステップ518では、PMU122は、PS104内の1つまたは複数の回路ブロックを初期化する。例えば、ステップ520では、ステップ514で発動された場合には、PMU122は、その分離状態を無効にすることが可能である。そうでない場合は、PMU122は、ステップ520を省略可能である。ステップ522では、PMU122は、システムモニタ168およびPLL137を初期化可能である。PLL137およびシステムモニタ168のような回路は、定常状態に達し完全に初期化されるまでに一定の時間がかかることがある。回路ブロックの初期化の後、PMU122は、ステップ524で回路ブロックを監視して初期化完了の時期を判定することが可能である。
ステップ526では、PMU122はPS104内のRAMを初期化する。例えばステップ528では、PMU122は、PMU122内のRAM314のようなRAM126の1つまたは複数のRAMモジュールにゼロをロードすることが可能である。ステップ530では、PMU122は、FPDにおいてBISR動作を選択的に実施する。PMU122は、FPD内のコンポーネントにおけるBISR動作の実施のため、テスト回路138内のBISRエンジンを起動させることが可能である。ステップ532では、PMU122は、LDP、FPD、または両方において、MBISTクリア動作を選択的に実施可能である。PMU122は、RAM126の1つまたは複数のRAMにおけるMBISTクリア動作の実施のため、テスト回路138内のMBISTエンジンを起動させることが可能である。ステップ530および532は、リセットのタイプに基づいて条件に応じて行われることが可能である(例えば、PORの場合このようなステップを実施し、システムリセットの場合はこれらのステップを省略)。
ステップ534では、PMU122は、パワードメインを初期化する。例えば、ステップ536では、PMU122は、無効化されたアイランドのパワーダウンを行うことが可能である。いくつかの場合では、プログラマブルSoC102内の1つまたは複数のアイランドは、電子ヒューズ144内の設定を用いて意図的に無効にされることが可能である。これらの無効にされたアイランドは、装置のテストを簡易化するために最初に電源が入れられることが可能であるが、電子ヒューズ144内の設定によってパワーダウンされる。ステップ538では、PMU122は、1つまたは複数のCPUリセットをリリースすることが可能である。例えば、PMU122は、BootROMの実行を開始するため、CSU120のリセットをリリースすることが可能である。ステップ540では、PMU122は、サーバモードに入る。サーバモードではPMU122は、以下に説明するように、PS104内のその他のコンポーネントからの要求を処理することが可能である。
図6は、PMU122のサーバモード時の要求を処理する例示的な方法600を示すフローチャートである。ステップ602では、PMU122は、1つまたは複数のPMUインタフェースを介して1つまたは複数の要求を受ける。例えば、PMU122は、割り込み、汎用入力(GPI)、グローバルレジスタ226への書き込み、またはインターコネクト124により、要求を受けることが可能である。ステップ603では、PMU122は、要求を処理する。例えば、ステップ604では、PMU122は、RAM314に格納されるユーザ/ファームウェア・コードを実行可能である。以下に説明するように、CSU120によるFSBL180の実行の結果、RAM314へのユーザ/ファームウェア・コードのロードが行われることが可能である。CSU120は、PMU122がプロセッサ間割り込み(IPI)を利用して、RAM314内のユーザ/ファームウェア・コードを実行するよう要求可能である。ステップ606では、PMU122は、1つまたは複数のパワードメインまたはアイランドのパワーアップまたはパワーダウンを行うことが可能である。ステップ608では、PMU122は、1つまたは複数のブロックにおいて
リセットをリリースすることが可能である。ステップ610では、PMU122は、1つまたは複数の特定のブロックにおいてスキャンクリアまたはBIST動作を起動することが可能である。
図7は、一実施例に係るブートプロセスの初期化方法を示すフローチャートである。すなわち図7は、図2に示される方法200のステージ206の実施例を示す。図7の方法は、BootROMの実行中、CSU120により実施可能である。ステップ702では、CSU120は初期化を実施する。例えば、ステップ704では、CSU120は、そのROMを検証可能である。ステップ706では、CSU120は、PLL137を選択的に初期化することが可能である(PMU122により既に初期化されていない場合)。ステップ708では、CSU120は、RAM126内のOCMを選択的にパワーアップすることが可能である(PMU122により既にパワーアップされていない場合)。ステップ710では、CSU120は、1つまたは複数のブロックのパワーダウンを選択的に要求可能である。
ステップ712では、CSU120は、PMU122のRAM314にオプショナルコードをロードし、このオプショナルコードの実行をPMU122に要求可能である。ステップ714では、CSU120は、RAM126のOCMにFSBL180をロード可能である。ステップ716では、CSU120は、APU116および/またはRPU118に対してパワーオンおよびリセットのリリースをPMU122に要求可能である。ステップ718では、CSU120は、メンテナンスモードに入ることが可能である。CSU120は、メンテナンスモード時にはPS104内のその他のコンポーネントからの要求を処理可能である。図7に示されるプロセスは単に、BootROMの実行により実施可能である動作の形式の一実施例である。
図8は、一実施例に係るブート方法を示すフローチャートである。すなわち、図8は、図2に示される方法200のステージ208の実施例を示す。図8の方法は、FSBL180の実行中に、APU116またはRPU118により実施可能である。ステップ802では、APU116/RPU118は、初期化を実施する。例えば、ステップ804では、APU116/RPU118は、外部電源を設定する。ステップ806では、APU116/RPU118は、ブロック/ドメインのパワーダウンを要求する。
ステップ808では、APU116/RPU118は、選択的にPL106のパワーアップを要求可能である。ステップ810では、APU116/RPU118は、PLL137のロック状態を確認する。ステップ812では、APU116/RPU118は、必要に応じて、起動されたドメインに関するスキャンクリア/BISTの実施をPMU122に要求する。ステップ814では、APU116/RPU118は、ブロックに対してリセットのリリースをPMU122に要求する。ステップ816では、APU116/RPU118は、必要に応じてPL106を設定する。ステップ818では、APU116/RPU118は、システムイメージ178内のOS/SW184をロード/実行する。図8に示されるプロセスは単に、FSBLの実行により実施可能である動作の形式の一実施例である。
追加の実施例のいくつかを以下に説明する。
一実施例ではSoCが設けられることができる。
このSoCは、PORピンに接続されるハードウェアPORシーケンサ回路と、ハードウェアPORシーケンサ回路に接続され、1つまたは複数のCPUおよびROMをPMUが含むPMU回路と、ブートプロセスを実行するよう構成される1つまたは複数の処理装置とを含むことができ、ハードウェアPORシーケンサ回路はPMUを初期化するよう構
成されており、PMUの1つまたは複数のCPUは、プリブート初期化を実施するためROMに格納されるコードを実行するよう構成されている。
このようなSoCはさらにテスト回路を含み、プリブート初期化は、テスト回路の初期化を含むことができる。
このようなSoCはさらに、1つまたは複数の回路ブロックを含み、プリブート初期化は、1つまたは複数の回路ブロックの初期化を含むことができる。
このようなSoCでは、1つまたは複数の回路ブロックは、PLLまたはシステムモニタの少なくとも1つを含むことができる。
このようなSoCのいくつかはさらにRAMを含み、プリブート初期化はRAMの初期化を含むことができる。
このようなSoCのいくつかでは、RAMの初期化は、RAMへのゼロロード、RAMにおけるMBISTの実施、またはRAMにおけるBISRの実施の少なくとも1つを含むことができる。
このようなSoCのいくつかはさらに複数のパワードメインを含み、プリブート初期化はパワードメインの初期化を含むことができる。
このようなSoCのいくつかはさらにRAMを含み、ブートプロセスはブートローダのRAMへのロードを含むことができる。
このようなSoCのいくつかでは、1つまたは複数の処理装置が第1処理装置と第2処理装置とを含むことができ、第1処理装置は、ブートローダをRAMにロードするためBootROMコードを実行し、第2処理装置は、ブートローダを実行することができる。
このようなSoCのいくつかでは、プリブート初期化は、第1処理装置のリセットのリリースを含むことができる。
別の実施例では、SoCのブート方法が提供されることができる。
このようなSoCのブート方法は、ハードウェアPORシーケンサ回路を用いて1つまたは複数の第1初期化タスクを実施することと、PMUを用いて、ROMに格納されるコードの実行により第2初期化タスクを実施することと、第1処理装置を用いてブートROM内のコードを実行することと、第2処理装置を用いてブートローダを実行することとを含むことができる。
このような方法では、第1初期化タスクはPMUの初期化を含むことができる。
このような方法では、第2初期化タスクは、テスト回路の初期化を含むことができる。
このような方法では、第2初期化タスクは、1つまたは複数の回路ブロックの初期化を含むことができる。
このような方法では、第2初期化タスクはRAMの初期化を含むことができる。
このような方法では、第2初期化タスクは、パワードメインの初期化を含むことができる。
このような方法はさらに、PMUにおいて第1処理装置または第2処理装置の少なくと
も1つからの1つまたは複数のリクエストを処理することを含むことができる。
別の実施例では、非一時的なコンピュータ可読媒体が設けられることができる。
このような非一時的コンピュータ可読媒体には命令が格納されていることができ、これがSoCのPMUにより実行されると、PMUに以下からなる方法を実施させる。すなわち、SoC内のテスト回路を初期化することと、SoC内の1つまたは複数の回路ブロックを初期化することと、SoC内のRAMを初期化することと、SoC内のパワードメインを初期化することと、SoC内の第1処理装置にブートプロセスを開始させることと、からなる。
このような非一時的コンピュータ可読媒体はさらに、SoCの少なくとも1つの処理装置からの1つまたは複数の要求を処理することを含むことができる。
このような非一時的コンピュータ可読媒体はさらに、初期化のステップを実施し、ハードウェアPORシーケンサ回路によるPMUのリセットのリリースを含むことができる。
上記の記載は特定の実施例に関するものであり、その基本的な範囲から逸脱することなく、別のまたは更なる実施例が考案されることができ、その範囲は以下の請求項により定められる。

Claims (4)

  1. ハードウェア・パワーオンリセット(POR)シーケンサ回路を利用して1つまたは複数の第1初期化タスクを実施することと、
    第1処理装置および第2処理装置による初期化、および前記第1処理装置によるブート読み出し専用メモリ(ROM)内のコードの実行前に、プラットフォーム管理ユニット(PMU)を利用してROMに格納されているコードを実行することにより1つまたは複数の第2初期化タスクを実施して1つまたは複数の回路ブロックを初期化することと、
    前記第1処理装置を利用して前記ブートROM内の前記コードを実行して、ランダムアクセスメモリ(RAM)内にブートローダを格納することと、
    前記第2処理装置を利用して、前記RAM内に格納されている前記ブートローダを実行することと、を備えるシステムオンチップ(SoC)のブート方法。
  2. 前記第1初期化タスクが、前記PMUの初期化を含む、請求項に記載の方法。
  3. 前記第2初期化タスクが、テスト回路の初期化を含む、請求項に記載の方法。
  4. 前記第1処理装置または前記第2処理装置の少なくとも1つからの1つまたは複数の要求を前記PMUにて処理することをさらに備える、請求項に記載の方法。
JP2021200801A 2015-12-15 2021-12-10 専用のプロセッサによるSoCのハードウェア・パワーオン初期化 Active JP7230163B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/969,362 2015-12-15
US14/969,362 US9846583B2 (en) 2015-12-15 2015-12-15 Hardware power-on initialization of an SoC through a dedicated processor
PCT/US2016/062091 WO2017105727A1 (en) 2015-12-15 2016-11-15 Hardware power-on initialization of an soc through a dedicated processor
JP2018531098A JP7117240B2 (ja) 2015-12-15 2016-11-15 専用のプロセッサによるSoCのハードウェア・パワーオン初期化

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018531098A Division JP7117240B2 (ja) 2015-12-15 2016-11-15 専用のプロセッサによるSoCのハードウェア・パワーオン初期化

Publications (2)

Publication Number Publication Date
JP2022050405A JP2022050405A (ja) 2022-03-30
JP7230163B2 true JP7230163B2 (ja) 2023-02-28

Family

ID=57485898

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018531098A Active JP7117240B2 (ja) 2015-12-15 2016-11-15 専用のプロセッサによるSoCのハードウェア・パワーオン初期化
JP2021200801A Active JP7230163B2 (ja) 2015-12-15 2021-12-10 専用のプロセッサによるSoCのハードウェア・パワーオン初期化

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018531098A Active JP7117240B2 (ja) 2015-12-15 2016-11-15 専用のプロセッサによるSoCのハードウェア・パワーオン初期化

Country Status (6)

Country Link
US (1) US9846583B2 (ja)
EP (1) EP3391205B1 (ja)
JP (2) JP7117240B2 (ja)
KR (1) KR102688776B1 (ja)
CN (1) CN108369522B (ja)
WO (1) WO2017105727A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI615705B (zh) * 2016-05-31 2018-02-21 瑞昱半導體股份有限公司 於電腦系統中重置記憶體的方法
US10169177B1 (en) * 2017-11-02 2019-01-01 Xilinx, Inc. Non-destructive online testing for safety critical applications
US11709624B2 (en) * 2018-02-15 2023-07-25 Xilinx, Inc. System-on-chip having multiple circuits and memory controller in separate and independent power domains
JP6821616B2 (ja) * 2018-02-27 2021-01-27 東芝情報システム株式会社 不揮発性メモリ代替装置及び実機開発支援システム
CN109918124A (zh) * 2019-03-15 2019-06-21 盛科网络(苏州)有限公司 SOC启动早期载入用户配置的方法及***、Bootloader镜像配置方法
CN111158273B (zh) * 2019-12-20 2021-04-13 中核控制***工程有限公司 一种无操作***的安全显示界面实现方法
US12019487B2 (en) * 2021-11-30 2024-06-25 Texas Instruments Incorporated Power sequence synchronization between multiple devices
US11581888B1 (en) 2021-12-17 2023-02-14 Xilinx, Inc. Power-on reset circuit with reduced detection time
CN116610368B (zh) * 2023-04-13 2024-08-16 湖南长城银河科技有限公司 一种可配置的芯片启动引导方法、***及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165588A (ja) 2006-12-28 2008-07-17 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP5242057B2 (ja) 2006-01-12 2013-07-24 株式会社東芝 X線コンピュータ断層撮影装置及びx線コンピュータ断層撮影用補正データ生成方法
JP2014522040A (ja) 2011-07-29 2014-08-28 マーベル ワールド トレード リミテッド プロセッサキャッシュ−ランダムアクセスメモリ間の切り替え
JP2016513839A (ja) 2013-03-15 2016-05-16 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 複数の中央処理装置を備えたコンピュータシステムの立ち上げ方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242057A (ja) * 1992-02-27 1993-09-21 Sanyo Electric Co Ltd マルチプロセッサシステムの起動方式
JP3001818B2 (ja) * 1996-11-20 2000-01-24 三菱電機株式会社 マルチプロセッサ立ち上げ管理装置
US20030009654A1 (en) * 2001-06-29 2003-01-09 Nalawadi Rajeev K. Computer system having a single processor equipped to serve as multiple logical processors for pre-boot software to execute pre-boot tasks in parallel
US7017035B2 (en) * 2002-10-02 2006-03-21 Intel Corporation Method and apparatus for using an ACPI NVS memory region as an alternative CMOS information area
US7310760B1 (en) * 2002-12-11 2007-12-18 Chung Sun Apparatus and method for initializing an integrated circuit device and activating a function of the device once an input power supply has reached a threshold voltage
JP2006293992A (ja) * 2005-03-18 2006-10-26 Toshiba Corp 紙葉類処理装置と紙葉類処理方法
CN101281469B (zh) * 2008-04-11 2011-01-26 青岛海信电器股份有限公司 嵌入式***及其启动加载的方法
CN101329632B (zh) * 2008-04-30 2014-02-19 中兴通讯股份有限公司 一种使用boot启动cpu的方法与装置
US8892859B1 (en) * 2009-01-05 2014-11-18 Marvell Israel (M.I.S.L) Ltd. Hardware based detection of factory reset request
WO2012135973A1 (en) * 2011-04-06 2012-10-11 Integrated Device Technology, Inc. Power management integrated circuit using a flexible script-based configurator and method for power management
US9310863B2 (en) 2012-09-12 2016-04-12 Ati Technologies Ulc Multi-purpose power controller and method
US20140164753A1 (en) * 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd System on chip for performing secure boot, image forming apparatus using the same, and method thereof
US9858084B2 (en) * 2013-03-15 2018-01-02 Bitmicro Networks, Inc. Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory
KR102060430B1 (ko) * 2013-08-08 2020-02-11 삼성전자주식회사 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템
US9830456B2 (en) * 2013-10-21 2017-11-28 Cisco Technology, Inc. Trust transference from a trusted processor to an untrusted processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5242057B2 (ja) 2006-01-12 2013-07-24 株式会社東芝 X線コンピュータ断層撮影装置及びx線コンピュータ断層撮影用補正データ生成方法
JP2008165588A (ja) 2006-12-28 2008-07-17 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2014522040A (ja) 2011-07-29 2014-08-28 マーベル ワールド トレード リミテッド プロセッサキャッシュ−ランダムアクセスメモリ間の切り替え
JP2016513839A (ja) 2013-03-15 2016-05-16 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 複数の中央処理装置を備えたコンピュータシステムの立ち上げ方法

Also Published As

Publication number Publication date
US9846583B2 (en) 2017-12-19
WO2017105727A1 (en) 2017-06-22
CN108369522B (zh) 2021-04-06
KR20180093046A (ko) 2018-08-20
US20170168841A1 (en) 2017-06-15
JP7117240B2 (ja) 2022-08-12
JP2022050405A (ja) 2022-03-30
JP2019505890A (ja) 2019-02-28
KR102688776B1 (ko) 2024-07-25
EP3391205B1 (en) 2019-06-19
CN108369522A (zh) 2018-08-03
EP3391205A1 (en) 2018-10-24

Similar Documents

Publication Publication Date Title
JP7230163B2 (ja) 専用のプロセッサによるSoCのハードウェア・パワーオン初期化
JP5826865B2 (ja) プログラマブル回路と埋込型プロセッサシステムとを伴う集積回路
US9471785B2 (en) Systems and methods for secure boot ROM patch
US10184983B2 (en) Interface independent test boot method and apparatus using automatic test equipment
CN100580638C (zh) 一种实现硬件级验证的方法及装置
US20130326206A1 (en) Reintialization of a processing system from volatile memory upon resuming from a low-power state
KR102386719B1 (ko) 안전 서브-시스템을 가지는 프로그램가능 ic
US9983889B1 (en) Booting of integrated circuits
US8799715B2 (en) System on a chip (SOC) debug controllability
KR20140010942A (ko) 집적 회로 내에서의 전력 관리
US20140344919A1 (en) Debug functionality in a secure computing environment
US11726139B2 (en) In-system test of chips in functional systems
US7958414B1 (en) Enhancing security of internal memory
US10169177B1 (en) Non-destructive online testing for safety critical applications
US9009457B2 (en) Integrated circuit boot code and fuse storage implemented on interposer-mounted non-volatile memory
US10275259B1 (en) Multi-stage booting of integrated circuits
JP6689824B2 (ja) サブシステム電力管理制御
US9130566B1 (en) Programmable IC with power fault tolerance
US20130111071A1 (en) Self-healing and reconfiguration in an integrated circuit
JP2002123567A (ja) コアおよびメモリ・マクロを使用した構成可能リアル・プロトタイプ・ハードウェア
US20240220365A1 (en) Error and debug information capturing for a boot process
CN112912958A (zh) 使用内置自测控制器测试只读存储器
US10642765B1 (en) Productivity language interface for synthesized circuits
US20240003972A1 (en) Method and system for testing semiconductor circuits
CN114637539B (zh) 一种核心安全启动平台及方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220105

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230215

R150 Certificate of patent or registration of utility model

Ref document number: 7230163

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150