(57)【要約】【課題】  半導体集積回路の開発コストの低減を図る。【解決手段】  ＩＰモジュール（１４，１５，１６）と、それに対応する公開鍵を格納する公開鍵記憶部（２０）と、外部から秘密鍵と上記公開鍵とに基づく復号処理を行う演算部（３）と、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタ（１９）と、上記フラグレジスタのフラグに基づいて上記モジュールを選択可能な選択制御論理（Ｇ１，Ｇ２，Ｇ３）とを設ける。上記ＩＰモジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することにより、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。【選択図】        図１
2007004340.tif 000002
【特許請求の範囲】
【請求項１】
モジュールと、
上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、
外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、
上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、
上記フラグレジスタのフラグに基づいて上記モジュールを選択可能な選択制御論理と、を含むことを特徴とする半導体集積回路。
【請求項２】
上記モジュールは、上記モジュール毎に制御用レジスタを内蔵し、上記制御論理は、上記フラグレジスタのフラグに基づいて制御用レジスタに対するアクセス許可を得る請求項１記載の半導体集積回路。
【請求項３】
演算処理のための中央処理装置と、
上記中央処理装置に専用線で結合されたモジュールと、
上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、を含む半導体集積回路であって、
上記中央処理装置は、
外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、
上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、を含み、
上記フラグレジスタのフラグに基づいて上記モジュールが選択されることを特徴とする半導体集積回路。
【請求項４】
モジュールと、
上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、
外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、
上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、
上記フラグレジスタのフラグに応じて、上記モジュールへのクロック信号の供給を制御可能なクロック制御論理と、を含むことを特徴とする半導体集積回路。
【請求項５】
上記クロック制御論理は、上記フラグレジスタのフラグと、モジュール毎にクロック信号の停止を指示可能なクロック停止信号との論理演算を行い、その演算結果に応じて上記モジュールへクロック信号を供給する請求項４記載の半導体集積回路。
【請求項６】
上記モジュールは、単独取引の対象となる設計データを用いて設計されたＩＰモジュールとされた請求項１乃至５の何れか１項記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路、さらにはそれにおける開発コストの低減化技術に関し、例えばマイクロプロセッサに適用して有効な技術に関する。
【背景技術】
【０００２】
近年、半導体集積回路の高集積化にともなって、これまでプリント基板上で実現してきたシステムを1チップで実現可能となってきた。つまり、システム・オン・チップ（ＳｏＣ）と呼ばれる大規模集積回路の実現である。しかし、大規模なＳｏＣになるほど設計工数が増加するため、全てを新規開発していたのでは、莫大なコスト、時間が必要となる。そこで、設計資産(Intellectual Property：ＩＰ)を再利用して開発することが一般的な設計手法となっている。ＩＰを用いると設計期間が短縮できるが、誰でも使用することができるため、悪用されてしまう可能性がでてくる。また、ＩＰのなかには、設計データとして単独取引の対象とされるものがある。そのようなＩＰモジュールを使用するにはライセンス料が必要とされ、ライセンス料を払っていない顧客に対しては、ＩＰを使用させないようにするため、ＩＰの使用を管理することが必要になる。
【０００３】
ところで、大規模集積回路のニーズは顧客毎に多種多様となっており、顧客毎にシステムを設計する少量多品種の開発が一般的となっている。ＩＰを再利用することで、少量多品種の開発も短期間で行うことが可能である。一方、少量多品種の開発になると、類似の構成をしたマイクロプロセッサを大量に開発することになり、開発コストが増大する。
【０００４】
ＩＰの使用を管理する方式として、特許文献１のように、搭載ＩＰを暗号化し、ＩＰ毎に管理する方式がある。この方式では、購入したＩＰに修正を加える必要がでてくる。また、搭載ＩＰを暗号化した場合、使用許可を確認するため、毎回電源投入時に不正利用でないことを確認する必要がある。さらに、ＩＰ毎に復号用演算処理回路を搭載する必要がある。また、ライセンス料が必要なＩＰに関しては、使用許可、制限に関して毎回電源投入時に外部からライセンスコードを与え、このライセンスコードによってＩＰの使用を管理する方式がある。この方式では毎回電源投入時に使用可能かのチェックを行う必要があり、常に半導体集積回路の外部でライセンスコードを管理し保持する必要がある。
【０００５】
【特許文献１】特開２００１−２５６１１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一般に少量多品種の半導体集積回路を開発する場合、顧客毎にマイクロプロセッサなどの半導体集積回路をカスタマイズする必要があるため、開発コストが増大する。顧客毎にカスタマイズしたとしても、使用目的が同じであれば、類似のマイクロプロセッサの構造になる。特にライセンス料を必要とするＩＰモジュールの使用、不使用の違いとなることが多い。
【０００７】
本発明の目的は、半導体集積回路の開発コストの低減を図ることにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
〔１〕モジュールと、上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、上記フラグレジスタのフラグに基づいて上記モジュールを選択可能な選択制御論理とを設ける。
【００１１】
上記の手段によれば、上記モジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することができ、このことが、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。
【００１２】
〔２〕上記〔１〕において、上記モジュールは、上記モジュール毎に制御用レジスタを内蔵し、上記制御論理は、上記フラグレジスタのフラグに基づいて制御用レジスタに対するアクセス許可を得ることができる。
【００１３】
〔３〕演算処理のための中央処理装置と、上記中央処理装置に専用線で結合されたモジュールと、上記モジュールに対応する公開鍵を格納する公開鍵記憶部とを含んで半導体集積回路が構成されるとき、上記中央処理装置は、外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタとを含み、上記フラグレジスタのフラグに基づいて上記モジュールが選択されるように構成する。
【００１４】
上記の手段によれば、上記モジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することができ、このことが、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。
【００１５】
〔４〕モジュールと、上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、上記フラグレジスタのフラグに応じて、上記モジュールへのクロック信号の供給を制御可能なクロック制御論理とを設ける。
【００１６】
上記の手段によれば、上記モジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することができ、このことが、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。
【００１７】
〔５〕上記〔４〕において、上記クロック制御論理は、上記フラグレジスタのフラグと、モジュール毎にクロック信号の停止を指示可能なクロック停止信号との論理演算を行い、その演算結果に応じて上記モジュールへクロック信号を供給することができる。
【００１８】
〔６〕上記〔１〕乃至〔５〕の何れかにおいて、上記モジュールは、単独取引の対象となる設計データを用いて設計されたＩＰモジュールとすることができる。
【発明の効果】
【００１９】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２０】
すなわち、顧客毎に半導体集積回路をカスタマイズしなくて良いため、半導体集積回路の開発コストの低減を達成することができる。
【発明を実施するための最良の形態】
【００２１】
図１には、本発明にかかる半導体集積回路の一例であるシステム・オン・チップ（ＳｏＣ）によるマイクロプロセッサが示される。同図に示されるマイクロプロセッサ（ＭＰＵ）１は特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）やバイポーラトランジスタなどを形成する半導体集積回路技術によって、単結晶シリコンのような１個の半導体基板に形成される。
【００２２】
マイクロプロセッサ１は、メインプロセッサとしての中央処理装置（ＣＰＵ）２、命令キャッシュメモリ（Ｉ−ＣＡＣＨＥ）４、データキャッシュメモリ（Ｄ−ＣＡＣＨＥ）５、キャッシュコントローラ（ＣＣＮ）６、浮動小数点演算ユニット（ＦＰＵ）７、命令バス（ＩＢＵＳ）８、データバス（ＤＢＵＳ）９、アービタ１０、周辺バス（ＰＢＵＳ）１１、メモリバス（ＭＢＵＳ）１２、バスステートコントローラ（ＢＳＣ）１３、それぞれ単独取引の対象となる設計データを用いて設計されたＩＰモジュール１４、１５、１６、公開鍵を格納しておくＲＯＭ（リード・オンリー・メモリ）２０、割り込みコントローラ（ＩＮＴＣ）２１などを有する。ここで、上記ＲＯＭ２０が、本発明における公開鍵記憶部の一例とされる。
【００２３】
中央処理装置２は、命令バス８を介して命令キャッシュメモリ４に接続され、データバス９を介してデータキャッシュメモリ５に接続される。浮動小数点演算ユニット７は、中央処理装置２から命令供給される。キャッシュコントローラ６は、命令キャッシュメモリ４、データキャッシュメモリ５の制御を行う。バスステートコントローラ１３は、外部に接続されるメモリ（ＭＥＭ）１７のインタフェース制御機能を有する。ＩＰモジュール１４、１５、１６、割り込みコントローラ２１は周辺バス１１に接続され、アービタ１０を介して制御レジスタの読み書きを行う。
【００２４】
アービタ１０は、周辺バス１１に接続されているＩＰモジュール１４、１５、１６や割り込みコントローラ２１等周辺モジュール全ての制御レジスタのアドレスを管理する。ＩＰモジュール１４、１５、１６や割り込みコントローラ２１内部のレジスタに対してリード、ライト要求があった場合、入力されたアドレスに対し、該アドレスのＩＰ、周辺モジュールをセレクトし、該レジスタのリード、ライトを可能とする。アービタ１０はアドレスをセレクトするアドレスセレクタ制御部１８、使用状況を管理するフラグレジスタ１９などを有する。フラグレジスタ１９は、特に制限されないが、フラッシュメモリなどを用いて不揮発性とされる。フラグレジスタ１９の書き込み権限は暗号化されているため、通常書き込みできない。初期値は論理値“０”であり、全てのＩＰモジュールは使用不可である。公開鍵と秘密鍵により、復号できた場合にのみ書き込み権限が与えられる。フラグレジスタ１９はライセンス料が必要となるＩＰに対してのみ用いる。したがって、割り込みコントローラ２１等周辺モジュールには、対応するフラグレジスタは存在しない。フラグレジスタ１９の後段にはアンドゲートＧ１，Ｇ２，Ｇ３が設けられる。このアンドゲートＧ１，Ｇ２，Ｇ３は、アドレスセレクト制御部１８からのアドレス信号と、フラグレジスタ１９のフラグ出力とのアンド論理を得る。このアンド論理に基づいてＩＰモジュール１４，１５，１６が選択される。ＩＰモジュール１４，１５，１６には、それぞれ制御レジスタが内蔵される。上記アンドゲートＧ１，Ｇ２，Ｇ３によってこの制御レジスタにフラグが設定されることによって、対応するモジュールが選択的に使用可能とされる。
【００２５】
図２には、アドレスセレクト制御部１８の構成例が示される。同図に示されるようにアドレスセレクト制御部１８は、アンドゲートＧ１１，Ｇ１２，Ｇ１３，Ｇ１４を含む。アンドゲートＧ１１〜Ｇ１３の出力はＩＰのセレクト信号とされ、アンドゲートＧ１４の出力は割り込みコントローラのセレクト信号とされる。かかる構成において、復号完了した場合には、フラグレジスタの書き込みが可能となる。それ以外の場合には、各ＩＰモジュール１４、１５、１６、割り込みコントローラ２１等の周辺モジュールに割り当てられたアドレスが入力されると、該ＩＰモジュール、周辺モジュールをセレクトし、それらの内蔵レジスタのリード、ライトが可能となる。
【００２６】
図３には、図１に示される構成におけるフラグの更新手順、処理の流れが示される。
【００２７】
先ず、暗号化された公開鍵をＲＯＭ２０に格納しておく。このとき、暗号化方式は特に制限されないが、例えばＲＳＡ公開暗号化方式などである。マイクロプロセッサ１は通常処理を行っている。通常処理とは、中央処理装置２が命令キャッシュメモリ４から命令をフェッチし、演算している状態である。通常処理実行中にマイクロプロセッサ１外部よりＩＰ使用要求があると、中央処理装置２はこのＩＰ使用要求を受け付ける。ＩＰ使用要求を受け付けると、中央処理装置２はＲＯＭ２０に保持してある公開鍵および秘密鍵を演算部３へと取り込み、復号処理を行う。このとき、通常処理は実行されない。復号完了すると中央処理装置２はアービタ１０内のアドレスセレクト制御部１８に完了信号を出力し、アドレスセレクト制御部１８はフラグレジスタ１９に書き込み可能となるよう、フラグレジスタ１９へアドレスセレクトを行う。秘密鍵にて復号化した認証結果をＦＬＧ値としてフラグレジスタ１９に書き込み、該搭載ＩＰが使用可能となる。書き込み完了後、アドレスセレクト制御部１８はアドレスセレクト信号を周辺モジュールに接続されているＩＰモジュール、周辺モジュール側へセレクトし、中央処理装置２は通常処理に戻る。フラグレジスタ１９に１が書き込まれると、アドレスセレクト制御部でセレクトされたＩＰモジュール１４、１５、１６のレジスタリード、ライトが可能となり、ＩＰモジュール１４、１５、１６を使用することができる。尚、ライセンスとの関係でモジュール１４，１５，１６の何れかのみが使用可能となる場合もあり得る。
【００２８】
上記例によれば、以下の作用効果を得ることができる。
【００２９】
（１）ライセンス料が必要なＩＰモジュールに対して、周辺バスに接続されたＩＰモジュールをアービタ１０内のフラグレジスタ１９で一括管理することで、購入ＩＰの暗号化が必要ないため、購入ＩＰをそのまま使用できるという利点がある。
【００３０】
（２）ライセンス料が必要なＩＰモジュールに対して、周辺バスに接続されたＩＰモジュールをアービタ１０内のフラグレジスタ１９で一括管理しており、ＩＰモジュール毎に暗号化を行う必要がないので、復号用演算回路をＩＰモジュール毎に持つ必要がない。
【００３１】
（３）ＩＰモジュール毎に暗号化を行った場合、電源投入毎に使用許可を確認する必要があるが、周辺バスに接続されたＩＰモジュールをアービタ１０内のフラグレジスタ１９で一括管理するようにしているため、電源投入毎に使用許可を確認する必要がない。
【００３２】
図４には、本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例が示される。図1の構成例では、ＩＰモジュール１４、１５、１６は周辺バス１１を介して接続されていたが、アクセラレータ２２のように中央処理装置２の機能に付随するＩＰの場合には、周辺バス１１を介さずに、専用線により中央処理装置２と直接接続される。この場合、中央処理装置２内に使用状況を把握するフラグレジスタ１９などを有する。アービタ２４は、割り込みコントローラ２１やクロックパルスジェネレータ（ＣＰＧ）２３等周辺モジュールの制御レジスタのリード、ライトを管理する。このように中央処理装置２に接続されているモジュール２２に対しては中央処理装置２内のレジスタ１９で管理することにより、搭載ＩＰの暗号化は必要なくなる。
【００３３】
図５には、図４に示されるマイクロプロセッサにおけるフラグレジスタの更新手順、処理の流れが示される。図５に示される説明図が、図３に示されるのと大きく相違するのは、アービタで行っていたフラグレジスタ書き込みを中央処理装置２で行っている点である。その他については図３に示されるのと同様とされ、秘密鍵にて復号化した認証結果をＦＬＧ値としてフラグレジスタへ書き込むことでモジュール２１のレジスタリード、ライトが可能となり使用状態とされる。
【００３４】
図６には、本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例が示される。図６に示されるマイクロプロセッサは、図１に示されるマイクロプロセッサと、図４に示されるマイクロプロセッサとの双方の機能を有する。かかる構成によれば、アービタ１０に接続されるＩＰモジュール１４、１５、１６および中央処理装置２に接続されるモジュール２１に対してそれぞれのフラグレジスタ１９で使用状況管理を行っている。公開鍵を格納しているＲＯＭ２０はアービタ１０、中央処理装置２で共通である。秘密鍵の復号も共通で、中央処理装置２の演算部３で行っている。
【００３５】
図７には、本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例が示される。図７に示される構成が、図１に示されるのと大きく相違するのは、アービタ１０に代えて、クロックパルスジェネレータ（ＣＰＧ）２５内に使用状況を把握するフラグレジスタ１９などを有する点である。マイクロプロセッサ１にはＩＰモジュールや周辺モジュールのクロックを停止するストップ信号を保持可能なストップ信号レジスタＳＰ１，ＳＰ２，ＳＰ３が設けられている。ストップ信号レジスタＳＰ１，ＳＰ２，ＳＰ３にそれぞれ保持されているストップ信号が論理値“１”のとき、対応するアンドゲートＧ３１，Ｇ３２，Ｇ３３でのアンド条件が不成立とされるため、対応するモジュールへのクロック信号の供給が停止される。ストップ信号が論理値“０”で、フラグレジスタ１９の出力値が論理値“１”の場合にのみ、対応するモジュールへクロック信号が供給される。具体的には、ＩＰモジュール１４，１５，１６のそれぞれに内蔵される制御レジスタに対してアンドゲートＧ３１，Ｇ３２，Ｇ３３の出力値がフラグとして設定されるようになっており、このフラグが論理値“１”に設定された場合にのみ、クロックパルスジェネレータ２５からのクロック信号ＣＬＫ１，ＣＬＫ２，ＣＬＫ３が有効とされるようになっている。このようにクロックパルスジェネレータ２５からのクロック信号ＣＬＫ１，ＣＬＫ２，ＣＬＫ３を制御するようにしても、ＩＰモジュール１４，１５，１６の使用を制限することができるため、図１に示される場合と同様の作用効果を得ることができる。尚、ストップ信号レジスタＳＰ１，ＳＰ２，ＳＰ３への情報設定は、中央処処理装置２を介して行うことができる。
【００３６】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００３７】
例えば、複数の中央処理装置が搭載されたマイクロプロセッサに対して、中央処理装置の使用状況を制御するアービタを設けることで、複数の中央処理装置の使用制御にも適用できる。また、浮動小数点演算ユニットとディジタルシグナルプロセッサ（ＤＳＰ）を搭載する場合の使用状況制御にも適用できる。更に、制御使用状況を管理するアービタをマイクロプロセッサの外に設けることで、マイクロプロセッサ間の使用制御にも適用できる。
【００３８】
上記の例では複数のＩＰモジュールを備えたものについて説明したが、ＩＰモジュールが１個だけ搭載される場合も考えられ、かかる場合にも本発明を適用することができる。
【００３９】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロプロセッサに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体集積回路に広く適用することができる。
【００４０】
本発明は、少なくともＩＰモジュールを含むことを条件に適用することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明にかかる半導体集積回路の一例であるマイクロプロセッサの構成例ブロック図である。
【図２】図１に示されるマイクロプロセッサにおける主要部の構成例回路図である。
【図３】図１に示されるマイクロプロセッサにおける主要動作の説明図である。
【図４】本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例ブロック図である。
【図５】図４に示されるマイクロプロセッサにおける主要動作の説明図である。
【図６】本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例ブロック図である。
【図７】本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例ブロック図である。
【符号の説明】
【００４２】
１  マイクロプロセッサ（ＭＰＵ）
２  中央処理装置（ＣＰＵ）
３  演算部
４  命令キャッシュメモリ（Ｉ−ＣＡＣＨＥ）
５  データキャッシュメモリ（Ｄ−ＣＡＣＨＥ）
６  キャッシュコントローラ（ＣＣＮ）
７  浮動小数点演算ユニット（ＦＰＵ）
８  命令バス（ＩＢＵＳ）
９  データバス（ＤＢＵＳ）
１０  アービタ
１１  周辺バス（ＰＢＵＳ）
１２  メモリバス（ＭＢＵＳ）
１３  バスステートコントローラ（ＢＳＣ）
１４  ＩＰモジュール
１５  ＩＰモジュール
１６  ＩＰモジュール
１７  外部メモリ（ＭＥＭ）
１８  アドレスセレクト制御部
１９  フラグレジスタ
２０  公開鍵格納用ＲＯＭ
２１  ＩＰモジュール
２２  割り込みコントローラ（ＩＮＴＣ）
２３  クロックパルスジェネレータ（ＣＰＧ）
２４  アービタ
２５  クロックパルスジェネレータ（ＣＰＧ）
【図１】
2007004340.tif 000003
【図２】
2007004340.tif 000004
【図３】
2007004340.tif 000005
【図４】
2007004340.tif 000006
【図５】
2007004340.tif 000007
【図６】
2007004340.tif 000008
【図７】
2007004340.tif 000009