JP6513463B2 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP6513463B2
JP6513463B2 JP2015084749A JP2015084749A JP6513463B2 JP 6513463 B2 JP6513463 B2 JP 6513463B2 JP 2015084749 A JP2015084749 A JP 2015084749A JP 2015084749 A JP2015084749 A JP 2015084749A JP 6513463 B2 JP6513463 B2 JP 6513463B2
Authority
JP
Japan
Prior art keywords
control circuit
system control
domain
timing
signal
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
JP2015084749A
Other languages
English (en)
Other versions
JP2016206765A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2015084749A priority Critical patent/JP6513463B2/ja
Priority to US15/066,957 priority patent/US10037063B2/en
Publication of JP2016206765A publication Critical patent/JP2016206765A/ja
Application granted granted Critical
Publication of JP6513463B2 publication Critical patent/JP6513463B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • 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

Description

本発明は、半導体装置に関し、特にマイコンのシステム制御回路に好適に利用できるものである。
マイコン(マイクロコンピュータ)などに搭載されるシステム制御回路は、LSI(Large Scale Integrated circuit)全体に、電源、リセット信号、クロックなどを供給する回路ブロックである。LSIチップ内の各機能ブロックへ供給するタイミングなどを制御する。各機能ブロックへの電源やクロックの供給と停止を制御する場合もあるし、供給する電源電圧とクロック周波数を制御する場合もある。このような制御を正常に行うためには、シーケンスやタイミングが重要であり、製品ごとにカスタマイズされる。そのため、システム制御回路の設計には、検証に要する期間(TAT:Turn Around Time)が長いという課題がある。さらに、LSIの外部に接続される他の部品との関係で、シーケンスやタイミングが満たすべき仕様が制限され、または変更される場合もある。このため、システム制御回路は、開発の初期段階では仕様の確定が他の機能ブロックと比較して遅くなる傾向にあり、さらに開発の後半では、外部に接続される部品の仕様変更などに伴って、一部の検証項目の再検証や追加の検証項目が発生するために、チップ全体の開発TATを長くする原因になる場合があった。近年、LSIの低消費電力化の要求の高まりに伴って、システム制御回路には、よりきめ細かな制御仕様への対応が求められる傾向がある。このため、システム制御回路には、プログラマブルな仕様変更技術が求められている。
特許文献1には、電源供給システムのための起動シーケンス制御装置が開示されている。起動シーケンス制御装置は、端子から入力される電圧値をディジタル値に変換するアナログ/ディジタル変換器と、変換されたディジタル値を保持するレジスタとを備え、レジスタに保持されたディジタル値によって決定される、起動シーケンスまたは遮断シーケンスで電源回路を制御する。
特開2013−89060号公報
特許文献1について本発明者が検討した結果、以下のような新たな課題があることがわかった。
特許文献1に記載される起動シーケンス制御装置は、レジスタに格納されるディジタルに基づいて、複数のシーケンスの中から指定されるシーケンスを選択することができ、例えば8ビットであれば256通りの組合せが可能である(同文献の第0023段落)とされる。つまり、選択可能なシーケンスを予め何通りか規定しておく必要があり、それ以外のシーケンスに変更することはできない。そのため、上述のように、よりきめ細かな制御仕様への対応が求められるようになると、予め規定しておくべき選択可能のシーケンスの数が膨大となり、その仕様決定のための開発TATが長くなり、合せて、その検証のために長い期間を要することとなり、さらには、想定外の仕様変更があった場合にTATをさらに長期化するおそれがある。
このような課題を解決するためには、複数のレジスタを備えて、CPU(Central Processing Unit)などから自由に設定することができるように構成すればよいと考えられる。ところが、CPUを搭載すると、セキュリティ上の問題が発生することがわかった。特に起動シーケンスでは、電源、クロック及びリセットの供給が複数の機能ブロックで並列に或いは順次に開始されるので、セキュリティホールを生じる危険性が高いと予想される。そのような環境下でCPUを動作させると、そのCPUが不正目的を持つ第三者に乗っ取られる恐れが高いことがわかった。また、システム制御回路はLSI全体の制御を司る要(かなめ)であるため、不正に乗っ取られたときの影響が極めて大きいことがわかった。このとき、レジスタの数は問題ではなく、例え1個のレジスタであっても、外部のCPU等から自由に設定することができるように構成すると、同様の問題が発生する。
以上のように、システム制御回路をプログラマブルな仕様変更に対応可能とするために、レジスタを設けCPUなどから設定可能とするだけでは、セキュリティ上の危険を生じるという新たな課題を発生させることがわかった。
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
一実施の形態によれば、下記の通りである。
すなわち、機能ブロックとシステム制御回路とを備える半導体集積回路であって、以下のように構成する。システム制御回路は、タイミング制御回路とプログラマブルシーケンサとを備え、機能ブロックに対して、電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを含むシステム制御信号群を供給する。システム制御回路において、タイミング制御回路は、供給されるパラメータに基づいて前記システム制御信号群を前記機能ブロックに供給するシーケンスまたはタイミングの一方または両方を調整し、プログラマブルシーケンサは、暗号化されたシーケンスコード及びデータを読み込んで復号し復号されたシーケンスコードとデータに基づいて前記パラメータを前記タイミング制御回路に供給する。
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、耐タンパ性を有するセキュアな環境下で、システム制御回路をパラメータによるプログラマブルな仕様変更に対応可能とすることができる。
図1は、実施形態1のシステム制御回路の構成例を示すブロック図である。 図2は、第1ブート制御回路(1st Boot HW Controller)の構成例を示すブロック図である。 図3は、基本タイミング生成回路(Basic Timing Generator)の構成例を示すブロック図である。 図4は、プログラマブルシーケンサ(2nd Boot Programmable Sequencer)の構成例を示すブロック図である。 図5は、タイミング制御回路(Programmable Timing Controller)の構成例を示すブロック図である。 図6は、実施形態1のシステム制御回路の動作例を示すフロー図である。 図7は、実施形態2のシステム制御回路の構成例を示すブロック図である。 図8は、実施形態2のシステム制御回路の動作例を示すフロー図である。 図9は、実施形態3のシステム制御回路の構成例を示すブロック図である。 図10は、実施形態4のシステム制御回路の構成例を示すブロック図である。 図11は、実施形態5のシステム制御回路の構成例を示すブロック図である。
実施の形態について詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
〔実施形態1〕<セキュアなプログラマブルシーケンサによるシステム制御回路の仕様変更>
図1は、実施形態1のシステム制御回路1の構成例を示すブロック図である。システム制御回路1が搭載される半導体装置は、例えば、複数のCPUを含む複数の機能ブロックで構成される内部チップ領域(Internal CHIP Domain)を1個または複数個含む、システムオンチップ(SoC:System on Chip)のLSIである。このような半導体装置は、特に制限されないが、例えば、公知のCMOS(Complementary Metal-Oxide-Semiconductor)LSI製造技術を用いて、シリコンなどの単一半導体基板上に形成される。なお、図1に図示される信号は、1本または複数の配線からなる1〜多数ビットのディジタル信号であるが、バス表記は省略される。これらの点は、本願で開示する他の実施形態、及び、引用する他のブロック図についても同様である。
システム制御回路1は、例えばチップの外部から入力されるリセットや、電源の投入を感知して発生するパワーオンリセットなどの起動信号Invokeによって起動され、内部チップ領域にシステム制御信号群Master IFを供給する。Master IFは、電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを含む信号群である。内部チップ領域から関連する状態を示すステータス信号Slave IFがフィードバックされてもよい。ステータス信号Slave IFは、例えば、電源電圧やクロック信号の安定状況、CPUなどの演算負荷の状況、ハイバーネーションの状況、外部からの攻撃によると思われるエラーの発生など、電源制御、リセット、クロックのシーケンス制御に関わる、いかなる情報であってもよい。ここで、ハイバーネーションの状況とは、例えば、スタンバイモードへ遷移するのに先立ってレジスタの退避などを実行する場合のready/busy/doneなどのステータス情報である。
システム制御回路1は、第1ブート制御回路(1st Boot HW Controller)4と基本タイミング生成回路(Basic Timing Generator)5とプログラマブルシーケンサ(2nd Boot Programmable Sequencer)2とタイミング制御回路(Programmable Timing Controller)3とを備える。プログラマブルシーケンサ2は、
ROM(Read Only Memory)6に接続され、セキュアメモリ(Secured RAM)7を内蔵する。ROM6は、例えばフラッシュメモリであり、システム制御回路1に含まれ、同一チップ上の別の機能ブロックとして搭載され、或いは、チップに外付けされる。ROM6には、暗号化されたシーケンスコード及びデータが格納されている。セキュアメモリ7は、アクセス主体がプログラマブルシーケンサ2に限定されるなど、公知のセキュリティ技術によって、耐タンパ性を持たせたRAM(Random Access Memory)である。第1ブート制御回路4は、起動信号Invokeに基づいて、基本タイミング生成回路5と、ROM6と、プログラマブルシーケンサ2に、電源制御信号、リセット信号、クロック信号などを供給する。基本タイミング生成回路5は、第1ブート制御回路4によって起動され、タイミング制御回路3に電源制御信号、リセット信号、クロック信号などの基本的な信号を供給する。プログラマブルシーケンサ2は、第1ブート制御回路4から供給される信号によって起動されると、ROM6から暗号化されたシーケンスコードとデータを読み込んで復号し、復号したシーケンスコードとデータをセキュアメモリ7に格納する。プログラマブルシーケンサ2は、復号したシーケンスコードに基づいて動作するシーケンサであって、復号したデータに基づいて、タイミング制御回路3に対するパラメータ設定を行う。タイミング制御回路3は、パラメータが書き込まれるレジスタを備え、電源制御信号、リセット信号、クロック信号などの供給開始タイミングや停止タイミングを制御する。
第1ブート制御回路4と基本タイミング生成回路5は、基本的にはパラメータ設定可能なようなプログラマブルな要素が排除された、非プログラマブルタイミングシーケンサ機能(Non-programmable Timing Sequencer Function)10を提供する。一方、プログラマブルシーケンサ2と、タイミング制御回路3は、仕様変更に柔軟に対応する事を可能とするためのパラメータ設定を可能とする、プログラマブルな要素が集約され、プログラマブルタイミングシーケンサ機能(Programmable Timing Sequencer Function)20を提供する。本システム制御回路1は、搭載される半導体装置のブートを、非プログラマブルタイミングシーケンサ機能10による第1ブートとプログラマブルタイミングシーケンサ機能20による第2ブートからなる2段階で実行する。非プログラマブルタイミングシーケンサ機能10はプログラマブルな要素が排除されているので、乗っ取りなどの外部からの攻撃に強い。一方、プログラマブルタイミングシーケンサ機能20は、シーケンスコードとデータはROM6に格納されてはいるが暗号化されており、復号された後はセキュアメモリ7に保持されるので、プログラマブルな要素を含んでいても耐タンパ性は高い。このように、システム制御回路1全体の機能を、本質的に乗っ取りなどの外部からの攻撃に強い非プログラマブルなタイミングシーケンサ機能10と、プログラマブルな要素を暗号やセキュアメモリ7によって保護することによって耐タンパ性を有するプログラマブルタイミングシーケンサ機能20の2段階に階層化する。これにより、耐タンパ性を有するセキュアな環境下で、システム制御回路をパラメータによるプログラマブルな仕様変更に対応可能とすることができる。
システム制御回路1は、さらに、ドメイン制御回路(Parameterized System Controller)8を備えてもよい。ドメイン制御回路8は、プログラマブルシーケンサ2から起動コマンドなどによって制御され、またはパラメータ設定されるシーケンサである。ドメイン制御回路8は、タイミング制御回路3から基本的なタイミング制御をされた、電源制御信号、リセット信号、クロック信号などが入力され、内部チップ領域からステータス信号Slave IFが入力されており、内部チップ領域にシステム制御信号群Master IFを供給する。タイミング制御回路3から供給されるのは、ブートシーケンスを経たのみの基本的な、電源制御信号、リセット信号、クロック信号などである。ドメイン制御回路8は、内部チップ領域から入力されるステータス信号Slave IFに基づいて、これらを制御して、より高度にシーケンス制御されたシステム制御信号群Master IFを内部チップ領域に供給する。
ステータス信号Slave IFは、上述のように例えば、電源電圧やクロック信号の安定状況、CPUなどの演算負荷の状況、ハイバーネーションの状況(例えばready/busy/done)、外部からの攻撃によると思われるエラーの発生などである。例えば、ステータス信号Slave IFに含まれる電源電圧とクロック信号の安定状況を示す信号により、電源とクロックの安定が確認された後にリセット信号を入力する。例えば、ステータス信号Slave IFに含まれる信号によって、外部からの攻撃が疑われるエラーが発生しているときには、ハイバーネーションを行った後に攻撃されている機能ブロックの電源を遮断する。また例えば、ステータス信号Slave IFに含まれるCPUなどの演算負荷の状況に基づいて、電源電圧やクロック周波数を調整する。このように、ドメイン制御回路8を設けることにより、種々の高機能なシーケンス制御が可能となる。また、ドメイン制御回路8はプログラマブルシーケンサ2によって制御されるため、耐タンパ性は保たれる。
図2は、第1ブート制御回路4の構成例を示すブロック図である。第1ブート制御回路4は、前述のように、外部からの起動信号Invokeに基づいて、基本タイミング生成回路5と、ROM6と、プログラマブルシーケンサ2に、電源制御信号、リセット信号、クロック信号などを供給する回路である。第1ブート制御回路4は、例示されるように、電源電圧レギュレータ(VDC Regulator)41と、フラッシュメモリ制御回路(FLASH Controller)42と、PLL(Phase Locked Loop)43と、クロック発生回路(Clock Pulse Generator)44と、リセット制御回路(Reset Controller)45を備える。外部電源(Power Supply)VCCが電源電圧レギュレータ41に供給され、所定の電圧に降圧され安定化されて、フラッシュメモリ制御回路42とPLL43に供給される。図示は省略されているが、クロック発生回路44と、リセット制御回路45を含む他の回路、及び、第1ブート制御回路4の外部の各回路にも、電源電圧レギュレータ41から安定化された電源が供給されても良い。フラッシュメモリ制御回路42は、ROM6がフラッシュメモリであるときに、それに合わせて各種の制御信号を生成して供給する。PLL43には発振回路OSC(Main Oscillator)から基本的なクロック信号が入力され、逓倍・分周されてクロック発生回路44に供給され、種々の周波数のクロック信号が生成される。生成された各種のクロック信号は、ROM6、プログラマブルシーケンサ2、セキュアメモリ7及び基本タイミング生成回路5などに供給される。リセット制御回路45には、チップの外部から入力されるリセットPinResetと、電源VCCの投入を感知して発生するパワーオンリセット(Power On Reset)信号が入力され、ROM6、プログラマブルシーケンサ2、セキュアメモリ7及び基本タイミング生成回路5などにそれぞれのリセット信号として配布される。
図3は、基本タイミング生成回路5の構成例を示すブロック図である。基本タイミング生成回路5は、例えば3種類の周波数のクロック信号High Clock, Mid Clock, Low Clockに対応する、3種類のクロック分周回路(High/Mid/Low Clock Divider)51、52、53を備える。基本タイミング生成回路5には、第1ブート制御回路4内のクロック発生回路44から、3種類の周波数のクロック信号High Clock, Mid Clock, Low Clockと、リセット制御回路45から基本リセット信号Basic Resetが供給される。クロック分周回路(High Clock Divider)51は、高い周波数のクロック信号High Clockを分周して、基本クロック群Basic clocksの一部としてタイミング制御回路3に供給する。同様に、クロック分周回路(Mid Clock Divider)52とクロック分周回路(Low Clock Divider)53は、中程度の周波数と低い周波数のクロック信号Mid ClockとLow Clockをそれぞれ分周して、基本クロック群Basic clocksの一部としてタイミング制御回路3に供給する。ここで、例えば、高い周波数のクロック信号High ClockはCPUに供給する数100MHz〜数GHzの周波数である。中程度の周波数のクロック信号Mid Clockは負荷の重いバスや周辺の機能モジュールに供給する数MHz〜数100MHzの周波数である。低い周波数のクロック信号Low Clockは時計(Real Time Clock)ブロックなど、スタンバイ状態での最小限の動作を保証する機能ブロックに供給する数Hz〜数100kHzの周波数である。ただし、クロックの周波数として3種類を例示したのは単なる一例に過ぎず、何種類のクロックを扱う回路としてもよいし、具体的な周波数の値も、上述の例に制限されることなく適宜選定されれば良い。
図4は、プログラマブルシーケンサ2の構成例を示すブロック図である。プログラマブルシーケンサ2は、例えば内部バス25に接続されるマイクロCPU(Micro CPU)21、暗号アクセラレータ(Decrypt HW Accelerator)22、暗号鍵(Encryption Key)記憶回路23、制御インターフェース(Control Interface)24及びセキュアメモリ7を含んで構成される。セキュアメモリ7については、図1ではプログラマブルシーケンサ2に外付けされる例を示したが、図4では専用のセキュアRAM(Dedicated Secured RAM)7としてプログラマブルシーケンサ2に内蔵されている。一方ROM6は、プログラマブルシーケンサ2には内蔵されず、図1と同様に外付けされる。マイクロCPU21、暗号アクセラレータ22、制御インターフェース24及びセキュアメモリ7には、第1ブート制御回路4から、基本的なリセット信号Resetとクロック信号Clockとが入力されている。暗号鍵記憶回路23には、耐タンパ性を担保された状態で暗号鍵が記憶されている。ROM6に格納されている暗号化されたシーケンスコードとデータ(Encrypted Code/Data)は、ROM6から読み出され、バス25を介して暗号アクセラレータ22に転送される。暗号アクセラレータ22は暗号鍵記憶回路23に記憶されている暗号鍵を使って、ROM6から読み出されたデータの暗号を復号し、復号されたシーケンスコードとデータをセキュアメモリ7に保存する。シーケンスコードは、例えばRISC(Reduced Instruction Set Computer)の命令セットに含まれる命令であって、マイクロCPU21はこの命令セットを実行することができるRISCプロセッサとして実現することができる。マイクロCPU21は、シーケンスコードをセキュアメモリ7から読み出してフェッチ、デコード、実行する。この命令セットは、極めて単純な命令のみで構成されればよい。例えばデータをセキュアメモリ7から読み出して、そのまま制御インターフェース24を介して、タイミング制御回路3やドメイン制御回路8へパラメータとして転送し、或いはタイミング制御回路3やドメイン制御回路8が備えるレジスタをセットまたはリセットする。また、例えばデータをセキュアメモリ7から読み出して、それに基づいてタイミング制御回路3やドメイン制御回路8を制御するための制御信号を生成する。図4に例示されるように暗号アクセラレータ22を備える代わりにこれを省略して、マイクロCPU21上で動作するソフトウェアによって、暗号を復号する構成としてもよい。
図5は、タイミング制御回路3の構成例を示すブロック図である。タイミング制御回路3は、例えば、レジスタ制御ホストインターフェース(Register controlled Host IF)39と、ゲーテッドクロック制御回路(Gated Clock Controller)31、32、33と、タイミングスケジューラー(Timing Scheduler)34、35、36とを備える。レジスタ制御ホストインターフェース39は、シーケンスコントロール回路2からパラメータが設定されるレジスタを備え、ゲーテッドクロック制御回路31、32、33とタイミングスケジューラー34、35、36を制御する。ゲーテッドクロック制御回路31、32、33は、クロック信号を半導体装置内に分配するクロックツリーの根元(ROOT)の近傍において、内部チップ領域へのクロック信号の供給と停止を制御する回路である。動作を停止する内部チップ領域へのクロック信号の供給を停止することにより、その内部チップ領域の消費電力を抑えることができる。これに加え、できるだけ根元(ROOT)に近い部分でゲーティングすることにより、クロックツリーで消費される電力も抑えることができる。ゲーテッドクロック制御回路31、32、33には、基本タイミング生成回路5から供給される、3種類の周波数のクロック信号High Clock, Mid Clock, Low Clockにそれぞれ対応する基本クロック群Basic clocksが入力される。ゲーテッドクロック制御回路31、32、33は、3種類の周波数のクロック信号High/Mid/Low Clockにそれぞれ対応しており、レジスタ制御ホストインターフェース39によって制御され、それぞれの周波数に対応するゲーテッドクロック(Gated Clocks)を出力して、タイミングスケジューラー34、35、36とドメイン制御回路8に供給する。タイミングスケジューラー34、35、36も、3種類の周波数のクロック信号High/Mid/Low Clockにそれぞれ対応しており、レジスタ制御ホストインターフェース39によって制御され、それぞれの周波数に対応してスケジューリングされた制御信号(Scheduled Signals)を、ドメイン制御回路8に供給する。
図6は、実施形態1のシステム制御回路1の動作例を示すフロー図である。横方向にはシステム制御回路1の動作に関連する各要素を示し、縦方向には時間軸を示す。ただし、時間軸は定量的な軸ではなく、単にイベント(事象)の発生順序を例示するに過ぎない。
外部(External)から、端子リセットPinResetが入力されると、第1ブート制御回路4は、パワーオンリセットを初期化(Power ON Init)して、ROM6、セキュアメモリ7及びプログラマブルシーケンサ2にクロック信号とリセット信号を供給し、それぞれをリセット解除する。ROM6とセキュアメモリ7は初期化(Init)され、プログラマブルシーケンサ2はブートアップされる(BOOTUP Init)。
次に、プログラマブルシーケンサ2は、初期化されたROM6から暗号化されたシーケンスコードとデータ(code/data)を読み出して安全に復号(Decrypt)し、セキュアメモリ7に書き込む。但し、暗号化するファームウェアについては使用するメモリ容量等を考慮して、その安全性の確保に必要な最小限で構わない。
次に、プログラマブルシーケンサ2は、復号されたシーケンスコードとデータをセキュアメモリ7から読み出してファームウェアを実行することによって、タイミング制御部3へ起動コマンドを送信するなどのパラメータ設定(Set Parameter)を行ってタイミング制御部3を初期化(Init)し、合せて、ドメイン制御回路8を初期化(Init)する。
次に、プログラマブルシーケンサ2は、ファームウェアをさらに実行することによって、ドメイン制御回路8に対するシステム制御を開始する(Start System Control)。これにより、ドメイン制御回路8はシステム制御動作(System Control Operating)を開始し、内部チップ領域(Inter CHIP Domain)の動作(Domain Operating)が開始される。
以上説明したように、本実施形態1のシステム制御回路1によれば、ROM6のシーケンスコードとデータを書き換えるだけで、起動シーケンスやシステム制御タイミングの半導体装置毎のカスタマイズに対応することができる。この際、ROM6のコード書き換えを可能としたファームウェアやパラメータは、暗号化によって保護され、安全なシステムが提供される。ブートを2階層で構成し、第2ブートに専用のプログラマブルシーケンサ2を設けることで、パラメータ設定を行う方式が、半導体装置の製品ごとの仕様に依存することなく共通化される。第2ブートに専用のプログラマブルシーケンサ2を設けることで、システム制御回路を柔軟に管理することができる。例えば、低消費電力化のために必要なきめ細かな制御方式に対して、動作を必要としないCPUを含むドメイン全体を停止し、その電源遮断まで実施することができる。また、初回電源立ち上げ時から、動作を必要としない全てのCPUを電源遮断したままにすることができる。例えば、マイコン製品について、機能限定されたローエンドから可能な限り全ての機能が搭載されるハイエンドまでスケーラブルな仕様で開発でき、このときの設計TATの課題を解決する。きめ細かな制御方式が持てることで、設計TATの課題を解決するだけでなく、制御方式を顧客へ提供することで、顧客アプリケーションに最適な条件で、低電力システムを構築することができる。
〔実施形態2〕<ドメイン毎のプログラマブルシーケンサ>
1チップの半導体装置は、複数のドメインに分割されて、それぞれドメイン毎に電源やクロックの管理が行われる場合が多い。それぞれのドメインには、共通に制御される複数の機能ブロックが含まれる。よりきめ細かい制御を行う場合には、1個の機能ブロックが1個のドメインを形成してもよいし、さらに、1個の機能ブロックの一部だけで1個のドメインを形成してもよく、または、複数の機能ブロックのそれぞれの一部だけを集めて1個のドメインを形成してもよい。このように、半導体装置が複数のドメインで構成される場合には、システム制御回路1もそれに対応した構成を採用すると、より好適である。
図7は、実施形態2のシステム制御回路の構成例を示すブロック図である。システム制御回路1が搭載される半導体装置は、例えば、2個のCPUを有しそれぞれが独立したドメイン9_1と9_2に配置されている。ドメイン9_1はメインCPU_PE1によるサブシステム(Main CPU PE1 Subsystem)であり、ドメイン9_2はメインCPU_PE2によるサブシステム(Main CPU PE2 Subsystem)である。
システム制御回路1は、チップの外部から入力されるリセットや、電源の投入を感知して発生するパワーオンリセットなどの起動信号Invokeによって起動され、ドメイン9_1と9_2にシステム制御信号群Master IF_1とMaster IF_2をそれぞれ供給する。Master IF_1とMaster IF_2は、それぞれ電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを含む信号群である。ドメイン9_1と9_2からは、それぞれ関連する状態を示すステータス信号Slave IF_1とSlave IF_2が、ドメイン制御回路8_1と8_2に、それぞれフィードバックされている。
システム制御回路1は、図1と同様に、第1ブート制御回路4と、基本タイミング生成回路5と、セキュアメモリ(Secured RAM)7を備え、ROM6は外付けまたは内蔵されるが、各ドメインに対応して、それぞれ2個ずつのプログラマブルシーケンサ2_1と2_2、タイミング制御回路3_1と3_2、及び、ドメイン制御回路8_1と8_2を備える点で異なる。さらに、2個のドメイン制御回路8_1と8_2は相互にドメインデータを交換するインターフェースExchange IFを備える。ROM6は、プログラマブルシーケンサ2_1のためのシーケンスコード及びデータと、プログラマブルシーケンサ2_2のためのシーケンスコード及びデータとをそれぞれ暗号化して格納しており、プログラマブルシーケンサ2_1と2_2のどちらからもアクセスすることができる。セキュアメモリ7も、プログラマブルシーケンサ2_1と2_2のどちらからもアクセスすることができるように構成されており、プログラマブルシーケンサ2_1用と、プログラマブルシーケンサ2_2用の両方の復号されたシーケンスコード及びデータを格納することができる。このような共通の構成に代えて、プログラマブルシーケンサ2_1と2_2のそれぞれに専用のセキュアメモリを設けてもよい。図示されるような共通の構成によれば、セキュアメモリ7のレイアウト効率が高められるので、チップ面積を抑えることができる。一方、上述のようにプログラマブルシーケンサ2_1と2_2のそれぞれに専用のセキュアメモリを設けると、アクセスが競合することがないので、調停が不要となり、アクセス速度に余裕が生じる。
第1ブート制御回路4は、起動信号Invokeに基づいて、基本タイミング生成回路5と、ROM6と、プログラマブルシーケンサ2_1と2_2に、電源制御信号、リセット信号、クロック信号などを供給する。基本タイミング生成回路5は、第1ブート制御回路4によって起動され、タイミング制御回路3_1と3_2に電源制御信号、リセット信号、クロック信号などの基本的な信号を供給する。プログラマブルシーケンサ2_1は、第1ブート制御回路4から供給される信号によって起動されると、ROM6から暗号化されたシーケンスコードとデータを読み込んで復号し、復号したシーケンスコードとデータをセキュアメモリ7に格納する。暗号化されたシーケンスコードとデータの復号は、プログラマブルシーケンサ2_1と2_2がそれぞれ実行してもよい。プログラマブルシーケンサ2_1と2_2は、復号したシーケンスコードとデータに基づいてそれぞれシーケンス動作し、タイミング制御回路3_1と3_2に対するパラメータ設定や制御をそれぞれ行う。プログラマブルシーケンサ2_1とタイミング制御回路3_1は、ドメイン制御回路8_1を介してドメイン9_1の電源制御信号、リセット信号、クロック信号などのシーケンスを制御し、プログラマブルシーケンサ2_2とタイミング制御回路3_2は、ドメイン制御回路8_2を介してドメイン9_2の電源制御信号、リセット信号、クロック信号などのシーケンスを制御する。それぞれの制御方法については、実施形態1と同様であるので、説明を省略する。ドメイン9_1の制御とドメイン9_2の制御は、基本的には独立に行うことができ、相互の状態に依存するときには、それに関わるステータス信号をインターフェースExchange IFを介して送受信する。
ここではドメインが2個の例を示したが、ドメインの数は任意である。このように、半導体装置が同一チップ内に複数のドメインを持つ場合に、システム制御回路1において、プログラマブルシーケンサ2とタイミング制御回路3とドメイン制御回路8を1組として、それぞれのドメインに対応して1組ずつ設けることにより、システム制御回路1をスケーラブルに構成することができる。
図8は、実施形態2のシステム制御回路1の動作例を示すフロー図である。図6と同様に、横方向にはシステム制御回路1の動作に関連する各要素を示し、縦方向には時間軸を示す。ただし、時間軸は定量的な軸ではなく、単にイベント(事象)の発生順序を例示するに過ぎない。
外部(External)から、端子リセットPinResetが入力されると、第1ブート制御回路4は、パワーオンリセットを初期化(Power ON Init)して、ROM6、セキュアメモリ7及びプログラマブルシーケンサ2_1と2_2にクロック信号とリセット信号を供給し、それぞれをリセット解除する。ROM6とセキュアメモリ7は初期化(Init)され、プログラマブルシーケンサ2_1と2_2はそれぞれブートアップされる(BOOTUP Init)。
次に、プログラマブルシーケンサ2_1は、初期化されたROM6から暗号化されたシーケンスコードとデータ(code/data)を読み出して安全に復号(Decrypt)し、セキュアメモリ7に書き込む。プログラマブルシーケンサ2_1と2_2がそれぞれ並列に読み出して復号し、復号されたシーケンスコードとデータをそれぞれセキュアメモリ7に書き込んでもよい。
次に、プログラマブルシーケンサ2_1と2_2は、復号されたシーケンスコードとデータをそれぞれセキュアメモリ7から読み出して、それぞれ対応するドメイン用のファームウェアを実行する。プログラマブルシーケンサ2_1と2_2は、ファームウェアを実行することによって、タイミング制御部3_1と3_2へ起動コマンドを送信するなどのパラメータ設定(Set Parameter)をそれぞれ行って、タイミング制御部3_1と3_2をそれぞれ初期化(Init)し、合せて、ドメイン制御回路8_1と8_2をそれぞれ初期化(Init)する。
次に、プログラマブルシーケンサ2_1と2_2は、それぞれ対応するドメイン用のファームウェアをさらに実行することによって、ドメイン制御回路8_1と8_2に対するシステム制御をそれぞれ開始する(Start System Control)。これにより、ドメイン制御回路8_1と8_2は、それぞれ、システム制御動作(System Control Operating)を開始し、ドメイン9_1と9_2の動作(Domain Operating)がそれぞれ開始される。ドメイン9_1と9_2の動作の開始は、時間差があるように図示されているが、これは単に図示する上での錯綜を避ける趣旨であって、どちらが先に開始されても良いし、同時に開始されても良い。
以上説明したように、本実施形態2のシステム制御回路1によれば、複数のドメインを有するLSIを構成する場合に、システム制御回路をスケーラブルに構成することができ、設計TATの課題が解決される。さらに、プロセッサエレメントPEの数をスケーラブルとし、個々のプロセッサエレメントPEを1個のドメインを割り当てることにより、プロセッサエレメントPE毎にクロックの停止、電源の遮断などの制御を独立に行うことができるため、消費電力の削減効果が大きい。
〔実施形態3〕<複数のドメインに共通のプログラマブルシーケンサ>
実施形態2では、半導体装置が同一チップ内に複数のドメインを持つ場合に、システム制御回路1において、プログラマブルシーケンサ2とタイミング制御回路3とドメイン制御回路8を1組として、それぞれのドメインに対応して1組ずつ設けることにより、システム制御回路1をスケーラブルに構成する。これに対して、プログラマブルシーケンサ2とタイミング制御回路3は複数のドメインに共通に設けて、それらのドメインに共通の制御を分担させ、ドメイン制御回路8をドメイン毎に設けて、ドメイン毎に固有の制御を分担させることができる。
図9は、実施形態3のシステム制御回路1の構成例を示すブロック図である。システム制御回路1が搭載される半導体装置は、例えば、2個のCPUを有し、それぞれが独立したドメイン9_1と9_2に配置されている。ドメイン9_1はメインCPU_PE1によるサブシステム(Main CPU PE1 Subsystem)であり、ドメイン9_2はメインCPU_PE2によるサブシステム(Main CPU PE2 Subsystem)である。
システム制御回路1は、チップの外部から入力されるリセットや、電源の投入を感知して発生するパワーオンリセットなどの起動信号Invokeによって起動され、ドメイン9_1と9_2にシステム制御信号群Master IF_1とMaster IF_2をそれぞれ供給する。Master IF_1とMaster IF_2は、それぞれ電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを含む信号群である。ドメイン9_1と9_2からは、それぞれ関連する状態を示すステータス信号Slave IF_1とSlave IF_2が、ドメイン制御回路8_1と8_2に、それぞれフィードバックされている。
システム制御回路1は、図1、図7と同様に、第1ブート制御回路4と、基本タイミング生成回路5と、セキュアメモリ(Secured RAM)7を備え、ROM6は外付けまたは内蔵される。図7に示す実施形態2では、各ドメインに対応してそれぞれ2個ずつのプログラマブルシーケンサ2_1と2_2、タイミング制御回路3_1と3_2、及び、ドメイン制御回路8_1と8_2を備える。これに対して本実施形態3では、2個のドメインに共通に1個ずつのプログラマブルシーケンサ2とタイミング制御回路3とを備える点では異なり、各ドメインに対応して2個のドメイン制御回路8_1と8_2を備える点、及び、インターフェースExchange IFを備える点では同じである。インターフェースExchange IFは、ドメイン間の情報交換だけではなく、プログラマブルシーケンサ2がドメイン制御回路8_2との間で情報を送受信するためにも使用される。
第1ブート制御回路4は、起動信号Invokeに基づいて、基本タイミング生成回路5と、ROM6と、プログラマブルシーケンサ2に、電源制御信号、リセット信号、クロック信号などを供給する。基本タイミング生成回路5は、第1ブート制御回路4によって起動され、タイミング制御回路3に電源制御信号、リセット信号、クロック信号などの基本的な信号を供給する。プログラマブルシーケンサ2は、第1ブート制御回路4から供給される信号によって起動されると、ROM6から暗号化されたシーケンスコードとデータを読み込んで復号し、復号したシーケンスコードとデータをセキュアメモリ7に格納する。プログラマブルシーケンサ2は、復号したシーケンスコードとデータに基づいてシーケンス動作し、タイミング制御回路3に対するパラメータ設定や制御をそれぞれ行う。プログラマブルシーケンサ2とタイミング制御回路3は、ドメイン制御回路8_1を介してドメイン9_1の電源制御信号、リセット信号、クロック信号などのシーケンスを制御し、ドメイン制御回路8_1からインターフェースExchange IFを経てドメイン制御回路8_2を介してドメイン9_2の電源制御信号、リセット信号、クロック信号などのシーケンスを制御する。それぞれの制御方法については、実施形態1と同様であるので、説明を省略する。
ここではドメインが2個の例を示したが、ドメインの数は任意である。また、実施形態2と実施形態3を組合せて実施することも可能である。即ち、半導体装置が同一チップ内に複数のドメインを持つ場合に、一部の複数のドメインに対してプログラマブルシーケンサ2とタイミング制御回路3とドメイン制御回路8を1組としてそれぞれのドメインに対応して1組ずつ設け(実施形態2)、他の複数のドメインに対してはプログラマブルシーケンサ2とタイミング制御回路3とを共通に設ける(実施形態3)ことができる。
〔実施形態4〕<1つのドメインがセキュアCPU>
図7や図9に例示したように、半導体装置が同一チップ内に複数のドメインを持ち、それぞれのドメインがCPUを備えるとき、そのうちの1個がセキュアCPUである場合がある。このセキュアCPUには、プログラマブルシーケンサ2の機能の一部を分担させることができる。
図10は、実施形態4のシステム制御回路1の構成例を示すブロック図である。システム制御回路1が搭載される半導体装置は、例えば、2個のCPUを有し、それぞれが独立したドメイン9_1と9_2に配置されている。ドメイン9_1はメインCPU_PE1によるサブシステム(Main CPU PE1 Subsystem)であり、ドメイン9_2はメインCPU_PE2によるサブシステム(Main CPU PE2 Subsystem)である。本実施形態4では、ドメイン9_1のメインCPU_PE1が、セキュアCPUであるものとして説明する。
システム制御回路1は、チップの外部から入力されるリセットや、電源の投入を感知して発生するパワーオンリセットなどの起動信号Invokeによって起動され、ドメイン9_1と9_2にシステム制御信号群Master IF_1とMaster IF_2をそれぞれ供給する。Master IF_1とMaster IF_2は、それぞれ電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを含む信号群である。ドメイン9_1と9_2からは、それぞれ関連する状態を示すステータス信号Slave IF_1とSlave IF_2がドメイン制御回路8_1と8_2にそれぞれフィードバックされている。
システム制御回路1は、図9と同様に、第1ブート制御回路4と、基本タイミング生成回路5と、セキュアメモリ(Secured RAM)7を備え、ROM6は外付けまたは内蔵されるが、図9とは異なり、セキュアメモリ7とROM6は、ドメイン9_1のセキュアCPUからもアクセスすることができるように構成されている。2個のドメインに共通にプログラマブルシーケンサ2とタイミング制御回路3とを備え、各ドメインに対応して2個のドメイン制御回路8_1と8_2を備え、さらに、インターフェースExchange IFを備える。インターフェースExchange IFは、ドメイン間の情報交換に加え、プログラマブルシーケンサ2だけでなくドメイン9_1のセキュアCPUがドメイン制御回路8_2との間で情報を送受信するためにも使用される。本実施形態4では、このようにして、プログラマブルシーケンサ2とタイミング制御回路3とドメイン制御回路8_1とドメイン9_1のセキュアCPUとが、プログラマブルタイミングシーケンサ機能20を実現する。
第1ブート制御回路4は、起動信号Invokeに基づいて、基本タイミング生成回路5と、ROM6と、プログラマブルシーケンサ2に、電源制御信号、リセット信号、クロック信号などを供給する。基本タイミング生成回路5は、第1ブート制御回路4によって起動され、タイミング制御回路3に電源制御信号、リセット信号、クロック信号などの基本的な信号を供給する。プログラマブルシーケンサ2は、第1ブート制御回路4から供給される信号によって起動されると、ROM6から暗号化されたシーケンスコードとデータを読み込んで復号し、復号したシーケンスコードとデータをセキュアメモリ7に格納する。プログラマブルシーケンサ2は、復号したシーケンスコードとデータに基づいてシーケンス動作し、タイミング制御回路3に対するパラメータ設定や制御をそれぞれ行う。プログラマブルシーケンサ2とタイミング制御回路3は、ドメイン制御回路8_1を介してドメイン9_1の電源制御信号、リセット信号、クロック信号などのシーケンスを制御する。これにより、ドメイン9_1のセキュアCPUがブートアップされる。セキュアCPUは、インターフェースExchange IFを介してドメイン制御回路8_2に必要なパラメータを設定し、コマンドを送信するなどにより、ドメイン9_2の電源制御信号、リセット信号、クロック信号などのシーケンスを制御する。制御の主体は代わってもそれぞれの制御方法については、実施形態1と同様である。
これにより、システム制御回路の機能の一部を、セキュアCPUに担わせることができ、シーケンス制御をより高度化することができる。また、セキュアRAM7がプログラマブルシーケンサ2とドメイン9_1のセキュアCPUとの間で共有され、チップ面積の増大を抑えることができる。
ここではドメインが2個の例を示したが、ドメインの数は任意である。また、実施形態2と実施形態3のうち一方または両方と、実施形態4とを組合せて実施することも可能である。即ち、半導体装置が同一チップ内に複数のドメインを持つ場合に、プログラマブルシーケンサ2とタイミング制御回路3とを、一部の複数のドメインに対してはそれぞれに対応して設け、他の複数のドメインに共通に設け、さらに他の複数のドメインに共通に設けた上で、セキュアCPUを備えるドメイン以外のドメインの制御をセキュアCPUに分担させることができる。
〔実施形態5〕<複数のCPUを2個のプログラマブルシーケンサから制御>
実施形態2では、半導体装置が同一チップ内に複数のドメインを持つ場合に、1個のドメインに1個のドメイン制御回路8を対応付けて設ける。このとき、ドメインの数に比例してドメイン制御回路8を設けることとなる。例えば多数のCPUを備え、個々のCPUを1個のドメインとして電源制御、クロック制御の単位とするときには、ドメイン制御回路8をこれに比例して設けることとなる。これに対して本実施形態5では、複数のドメインを構成する1個のドメインを複数のドメイン制御回路からの制御の組合せによって制御する。
図11は、実施形態5のシステム制御回路の構成例を示すブロック図である。システム制御回路1が搭載される半導体装置は、例えば、n個のCPU_PE1〜PEnを有し、ドメイン9_1〜9_nに配置されている。ドメイン9_1はメインCPU_PE1によるサブシステム(Main CPU PE1 Subsystem)であり、ドメイン9_nはメインCPU_PEnによるサブシステム(Main CPU PEn Subsystem)である。
システム制御回路1は、第1ブート制御回路4と、基本タイミング生成回路5とを備え、チップの外部から入力されるリセットや、電源の投入を感知して発生するパワーオンリセットなどの起動信号Invokeによって起動される。システム制御回路1は、さらに、セキュアメモリ(Secured RAM)7を備え、ROM6は外付けまたは内蔵され、それぞれ2個ずつのプログラマブルシーケンサ2_1と2_2、タイミング制御回路3_1と3_2、及び、ドメイン制御回路8_1と8_2を備える。2個のドメイン制御回路8_1と8_2は、ドメイン9_1〜9_nにシステム制御信号群Master IF_1とMaster IF_2を供給し、ドメイン9_1と9_2からは、それぞれ関連する状態を示すステータス信号Slave IF_1とSlave IF_2がそれぞれフィードバックされている。2個のドメイン制御回路8_1と8_2は相互に情報を交換するインターフェースExchange IFを備える。
図7を引用して説明した実施形態2と同様に、ROM6は、プログラマブルシーケンサ2_1のためのシーケンスコード及びデータと、プログラマブルシーケンサ2_2のためのシーケンスコード及びデータとをそれぞれ暗号化して格納しており、プログラマブルシーケンサ2_1と2_2のどちらからもアクセスすることができる。セキュアメモリ7も、プログラマブルシーケンサ2_1と2_2のどちらからもアクセスすることができるように構成されており、プログラマブルシーケンサ2_1用と、プログラマブルシーケンサ2_2用の両方の復号されたシーケンスコード及びデータを記憶することができる。このような共通の構成に代えて、プログラマブルシーケンサ2_1と2_2のそれぞれに専用のセキュアメモリを設けてもよい。第1ブート制御回路4は、起動信号Invokeに基づいて、基本タイミング生成回路5と、ROM6と、プログラマブルシーケンサ2_1と2_2に、電源制御信号、リセット信号、クロック信号などを供給する。基本タイミング生成回路5は、第1ブート制御回路4によって起動され、タイミング制御回路3_1と3_2に電源制御信号、リセット信号、クロック信号などの基本的な信号を供給する。プログラマブルシーケンサ2_1は、第1ブート制御回路4から供給される信号によって起動されると、ROM6から暗号化されたシーケンスコードとデータを読み込んで復号し、復号したシーケンスコードとデータをセキュアメモリ7に格納する。暗号化されたシーケンスコードとデータの復号は、プログラマブルシーケンサ2_1と2_2がそれぞれ実行してもよい。プログラマブルシーケンサ2_1と2_2は、復号したシーケンスコードとデータに基づいてそれぞれシーケンス動作し、タイミング制御回路3_1と3_2に対するパラメータ設定や制御をそれぞれ行う。
プログラマブルシーケンサ2_1とタイミング制御回路3_1は、ドメイン制御回路8_1を介して、ドメイン9_1〜9_nに対してパラメータやコマンド或いは制御信号を、Master IF_1によって供給する。プログラマブルシーケンサ2_2とタイミング制御回路3_2は、ドメイン制御回路8_2を介して、ドメイン9_1〜9_nに対してパラメータやコマンド或いは制御信号を、Master IF_2によって供給する。ドメイン9_1〜9_nは、Master IF_1とMaster IF_2から供給されたパラメータやコマンド或いは制御信号に基づいて、電源制御信号、リセット信号、クロック信号などのシーケンス制御を行う。ドメイン9_1〜9_nは、Slave IF_1とSlave IF_2により、各ドメインに関連する状態を示すステータス情報を、ドメイン制御回路8_1と8_2にそれぞれフィードバックする。複数のドメインのシーケンス制御が相互の状態に依存するときには、それに関わるステータス情報をインターフェースExchange IFを介して送受信する。
以上の構成により、1つのプロセッサエレメントPEを異なる2つのドメイン制御回路8から制御することで、PEの動作条件に応じて制御するパスを変更することができる。基本的には制御するパスを2重化し、何れからも制御できるように選択可能な構成としておくとよいが、一部の制御については片側のみのものがあってもよい。並列に動かしたい複数のPEに対して共通の1つのドメイン制御回路8で制御を行うことで、ドメイン制御回路8と制御パスの数を軽減でき、一方、異なる制御を行いたいPEに対しては、他方のドメイン制御回路8を使用することができる。1つのPEを制御するために異なる2つのドメイン制御回路8が選択可能なことで、片側のシステム制御が故障した際にも他方の制御によってカバーできる。また、チップデバイス上で発生する消費電力やノイズ等の電気的特性の課題に応じて、最適な制御パスを選択して電気的特性を制御することができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、ブロック図に示したブロック分割は、単なる一例に過ぎず、1つのブロックの一部または全部の機能を他のブロックの機能と渾然一体に実現した別のブロックに変更して実現するなどの変更は、適宜任意に行うことができる。
1 システム制御回路
2 プログラマブルシーケンサ(2nd Boot Programmable Sequencer)
3 タイミング制御回路(Programmable Timing Controller)
4 第1ブート制御回路(1st Boot HW Controller)
5 基本タイミング生成回路(Basic Timing Generator)
6 ROM(Read Only Memory)
7 セキュアメモリ(Secured RAM)
8 ドメイン制御回路(Parameterized System Controller)
9 ドメインまたはドメインに含まれる機能ブロック(例:Main CPU, PE Subsystem)
90 機能ブロック(例:Main CPU, PE Subsystem)
10 非プログラマブルタイミングシーケンサ機能(Non-programmable Timing Sequencer Function)
20 プログラマブルタイミングシーケンサ機能(Programmable Timing Sequencer Function)
21 マイクロCPU(Micro CPU)
22 暗号アクセラレータ(Decrypt HW Accelerator)
23 暗号鍵(Encryption Key)記憶回路
24 制御インターフェース(Control Interface)
25 内部バス
31、32、33 ゲーテッドクロック制御回路(Gated Clock Controller)
34、35、36 タイミングスケジューラー(Timing Scheduler)
39 レジスタ制御ホストインターフェース(Register controlled Host IF)
41 電源電圧レギュレータ(VDC Regulator)
42 フラッシュメモリ制御回路(FLASH Controller)
43 PLL(Phase Locked Loop)
44 クロック発生回路(Clock Pulse Generator)
45 リセット制御回路(Reset Controller)
51、52、53 クロック分周回路(High/Mid/Low Clock Divider)

Claims (11)

  1. 機能ブロックと、前記機能ブロックに電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを含むシステム制御信号群を供給する、システム制御回路とを備え、
    前記システム制御回路は、供給されるパラメータに基づいて前記システム制御信号群を前記機能ブロックに供給するシーケンスまたはタイミングの一方または両方を調整するタイミング制御回路と、暗号化されたシーケンスコード及びデータを読み込んで復号し復号されたシーケンスコードとデータに基づいて前記パラメータを前記タイミング制御回路に供給するプログラマブルシーケンサとを備える、
    半導体集積回路であって、
    前記システム制御回路は、第1ブート制御回路と基本タイミング生成回路とをさらに備え、
    前記第1ブート制御回路は、外部からの起動信号に基づいて、前記プログラマブルシーケンサを起動するための、電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを前記プログラマブルシーケンサに供給し、
    前記基本タイミング生成回路は、前記第1ブート制御回路によって起動され、前記タイミング制御回路に電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを供給する、
    半導体集積回路。
  2. 請求項1において、前記システム制御回路は、前記暗号化されたシーケンスコード及びデータを保持するROM(Read Only Memory)を接続可能であり、前記復号されたシーケンスコードとデータを保持するRAM(Random Access Memory)を備える、
    半導体集積回路。
  3. 機能ブロックと、前記機能ブロックに電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを含むシステム制御信号群を供給する、システム制御回路とを備え、
    前記システム制御回路は、供給されるパラメータに基づいて前記システム制御信号群を前記機能ブロックに供給するシーケンスまたはタイミングの一方または両方を調整するタイミング制御回路と、暗号化されたシーケンスコード及びデータを読み込んで復号し復号されたシーケンスコードとデータに基づいて前記パラメータを前記タイミング制御回路に供給するプログラマブルシーケンサとを備える、
    半導体集積回路であって、
    前記半導体集積回路は、それぞれが1個または複数の機能ブロックから成る複数のドメインを備え、
    前記システム制御回路は、前記複数のドメインのそれぞれに対応する複数のタイミング制御回路と前記複数のドメインのそれぞれに対応する複数のプログラマブルシーケンサとを備え、前記複数のドメインのそれぞれに対応するシステム制御信号群を供給し、
    前記システム制御回路は、前記複数のドメインに対応する複数のドメイン制御回路を備え、
    それぞれのドメイン制御回路は、当該ドメインに対応するシステム制御信号群と当該ドメインに関する状態監視信号が入力され、当該ドメインに含まれる1個または複数の機能ブロックへの電源供給、リセット、またはクロックの供給のシーケンスを制御する、
    半導体集積回路。
  4. 請求項において、前記システム制御回路は、前記暗号化されたシーケンスコード及びデータを保持するROMを接続可能であり、前記複数のプログラマブルシーケンサのそれぞれに対応して復号されたシーケンスコードとデータを保持する複数のRAMを備える、
    半導体集積回路。
  5. 請求項において、前記システム制御回路は、前記暗号化されたシーケンスコード及びデータを保持するROMを接続可能であり、前記複数のプログラマブルシーケンサのそれぞれに対応して復号されたシーケンスコードとデータを保持する1個のRAMを備える、
    半導体集積回路。
  6. 機能ブロックと、前記機能ブロックに電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを含むシステム制御信号群を供給する、システム制御回路とを備え、
    前記システム制御回路は、供給されるパラメータに基づいて前記システム制御信号群を前記機能ブロックに供給するシーケンスまたはタイミングの一方または両方を調整するタイミング制御回路と、暗号化されたシーケンスコード及びデータを読み込んで復号し復号されたシーケンスコードとデータに基づいて前記パラメータを前記タイミング制御回路に供給するプログラマブルシーケンサとを備える、
    半導体集積回路であって、
    前記半導体集積回路は、それぞれが1個または複数の機能ブロックから成る複数のドメインを備え、
    前記システム制御回路は、前記複数のドメインに共通のタイミング制御回路とプログラマブルシーケンサとを備え、前記複数のドメインにそれぞれ対応するシステム制御信号群を供給し、
    前記システム制御回路は、前記複数のドメインに対応する複数のドメイン制御回路を備え、
    それぞれのドメイン制御回路は、当該ドメインに対応するシステム制御信号群と当該ドメインに関する状態監視信号が入力され、当該ドメインに含まれる1個または複数の機能ブロックへの電源供給、リセット、またはクロックの供給のシーケンスを制御する、
    半導体集積回路。
  7. 請求項において、前記システム制御回路は、前記暗号化されたシーケンスコード及びデータを保持するROMを接続可能であり、前記復号されたシーケンスコードとデータを保持するRAMを備える、
    半導体集積回路。
  8. 請求項において、前記複数のドメインに含まれる1個のドメインは、耐タンパ性を備えるセキュアCPU(Central Processing Unit)を機能ブロックとして含み、
    前記セキュアCPUは、当該ドメインに対応するドメイン制御回路を介して、他のドメ
    インに対応するドメイン制御回路を制御する、
    半導体集積回路。
  9. 請求項において、前記セキュアCPUは、前記RAMにアクセス可能である、
    半導体集積回路。
  10. 機能ブロックと、前記機能ブロックに電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを含むシステム制御信号群を供給する、システム制御回路とを備え、
    前記システム制御回路は、供給されるパラメータに基づいて前記システム制御信号群を前記機能ブロックに供給するシーケンスまたはタイミングの一方または両方を調整するタイミング制御回路と、暗号化されたシーケンスコード及びデータを読み込んで復号し復号されたシーケンスコードとデータに基づいて前記パラメータを前記タイミング制御回路に供給するプログラマブルシーケンサとを備える、
    半導体集積回路であって、
    前記半導体集積回路は、それぞれが1個または複数の機能ブロックから成る複数のドメインを備え、
    前記システム制御回路は、複数のタイミング制御回路と、それぞれに対応する複数のプログラマブルシーケンサと、それぞれに対応する複数のドメイン制御回路とを備え、
    それぞれのドメイン制御回路には、対応するタイミング制御回路とプログラマブルシーケンサからシステム制御信号群が供給され、
    前記複数のドメインを構成する1個のドメインに関する状態監視信号は、複数のドメイン制御回路に入力され、当該複数のドメイン制御回路が当該ドメインに含まれる1個または複数の機能ブロックへの電源供給、リセット、またはクロックの供給のシーケンスを制御する、
    半導体集積回路。
  11. 機能ブロックと、前記機能ブロックに電源制御信号、リセット信号、または、クロック信号のうちの少なくとも1つを含むシステム制御信号群を供給する、システム制御回路とを備え、
    前記システム制御回路は、供給されるパラメータに基づいて前記システム制御信号群を前記機能ブロックに供給するシーケンスまたはタイミングの一方または両方を調整するタイミング制御回路と、暗号化されたシーケンスコード及びデータを読み込んで復号し復号されたシーケンスコードとデータに基づいて前記パラメータを前記タイミング制御回路に供給するプログラマブルシーケンサとを備える、
    半導体集積回路であって、
    前記半導体集積回路は、複数のプロセッサエレメントから成るドメインを備え、
    前記システム制御回路は、2個のタイミング制御回路と、それぞれに対応する2個のプログラマブルシーケンサと、それぞれに対応する2個のドメイン制御回路とを備え、
    前記2個のドメイン制御回路には、対応するタイミング制御回路とプログラマブルシーケンサからシステム制御信号群が供給され、
    前記2個のドメイン制御回路は、前記複数のプロセッサエレメントに関する状態監視信号が入力され、当該複数のプロセッサエレメントへの電源供給、リセット、またはクロックの供給のシーケンスを制御する、
    半導体集積回路。
JP2015084749A 2015-04-17 2015-04-17 半導体集積回路 Active JP6513463B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015084749A JP6513463B2 (ja) 2015-04-17 2015-04-17 半導体集積回路
US15/066,957 US10037063B2 (en) 2015-04-17 2016-03-10 Semiconductor integrated circuit including a system controlling circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015084749A JP6513463B2 (ja) 2015-04-17 2015-04-17 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2016206765A JP2016206765A (ja) 2016-12-08
JP6513463B2 true JP6513463B2 (ja) 2019-05-15

Family

ID=57129752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015084749A Active JP6513463B2 (ja) 2015-04-17 2015-04-17 半導体集積回路

Country Status (2)

Country Link
US (1) US10037063B2 (ja)
JP (1) JP6513463B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2540949B (en) * 2015-07-31 2019-01-30 Arm Ip Ltd Probabilistic Processor Monitoring
FR3087907B1 (fr) * 2018-10-24 2021-08-06 St Microelectronics Grenoble 2 Microcontroleur destine a executer un traitement parametrable
JP7166884B2 (ja) 2018-11-14 2022-11-08 キヤノン株式会社 ソフトウェアの改ざんを検知することが可能な情報処理装置
JP7278753B2 (ja) * 2018-11-19 2023-05-22 キヤノン株式会社 ソフトウェアの改ざんを検知することが可能な情報処理装置
US11196424B2 (en) * 2020-01-02 2021-12-07 Texas Instruments Incorporated Integrated circuit with high-speed clock bypass before reset
US11861053B2 (en) * 2020-12-16 2024-01-02 Intel Corporation Techniques for tamper detection and protection of a memory module
CN114489303B (zh) * 2021-12-30 2024-01-05 深圳市广和通无线股份有限公司 上电时序控制电路和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013089060A (ja) 2011-10-19 2013-05-13 Ricoh Co Ltd 起動シーケンス制御装置及び制御方法、並びに電源供給システム
WO2013102521A1 (en) * 2012-01-03 2013-07-11 International Business Machines Corporation Method for secure self-booting of an electronic device
JP5936415B2 (ja) * 2012-03-29 2016-06-22 キヤノン株式会社 半導体集積回路、情報処理装置および制御方法
US9015460B2 (en) * 2012-07-30 2015-04-21 Oracle International Corporation Hybrid hardwired/programmable reset sequence controller
US9043632B2 (en) * 2012-09-25 2015-05-26 Apple Inc. Security enclave processor power control

Also Published As

Publication number Publication date
US10037063B2 (en) 2018-07-31
JP2016206765A (ja) 2016-12-08
US20160306635A1 (en) 2016-10-20

Similar Documents

Publication Publication Date Title
JP6513463B2 (ja) 半導体集積回路
US8838950B2 (en) Security architecture for system on chip
JP4030719B2 (ja) インテリジェントic
US11809544B2 (en) Remote attestation for multi-core processor
JP6538610B2 (ja) 外部不揮発性メモリに間接アクセスするセキュリティデバイス
US8543838B1 (en) Cryptographic module with secure processor
EP2628090B1 (en) Disabling communication in a multiprocessor system
US10699016B2 (en) Secure boot sequencer and secure boot device
CN110799979B (zh) 用于多核处理器的安全密钥存储
US10002103B2 (en) Low-pin microcontroller device with multiple independent microcontrollers
WO2018182980A1 (en) Connected secure iot processor
CN109983465B (zh) 增强的安全引导
US20110067110A1 (en) Method and system for hardware enforced virtualization in an integrated circuit
US11443018B2 (en) Locking execution of cores to licensed programmable devices in a data center
US20140010365A1 (en) Replaceable encryption key provisioning
JP2007109053A (ja) バスアクセス制御装置
JP2007281994A (ja) 半導体集積回路
EP3918496B1 (en) Locking execution of cores to licensed programmable devices in a data center
CN102521166B (zh) 信息安全协处理器及其内部存储空间的管理方法
Ille Implementace PCIe šifrovacího modulu pro satelitní IP modem s podporou rozhraní Open-encryption
CN116830110A (zh) 多芯片安全可编程系统和方法
JP2014147010A (ja) 半導体装置
EP3183685A1 (en) Encrypted code execution

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170330

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190410

R150 Certificate of patent or registration of utility model

Ref document number: 6513463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150