説明

半導体集積回路

【課題】 半導体集積回路の開発コストの低減を図る。
【解決手段】 IPモジュール(14,15,16)と、それに対応する公開鍵を格納する公開鍵記憶部(20)と、外部から秘密鍵と上記公開鍵とに基づく復号処理を行う演算部(3)と、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタ(19)と、上記フラグレジスタのフラグに基づいて上記モジュールを選択可能な選択制御論理(G1,G2,G3)とを設ける。上記IPモジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することにより、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路、さらにはそれにおける開発コストの低減化技術に関し、例えばマイクロプロセッサに適用して有効な技術に関する。
【背景技術】
【0002】
近年、半導体集積回路の高集積化にともなって、これまでプリント基板上で実現してきたシステムを1チップで実現可能となってきた。つまり、システム・オン・チップ(SoC)と呼ばれる大規模集積回路の実現である。しかし、大規模なSoCになるほど設計工数が増加するため、全てを新規開発していたのでは、莫大なコスト、時間が必要となる。そこで、設計資産(Intellectual Property:IP)を再利用して開発することが一般的な設計手法となっている。IPを用いると設計期間が短縮できるが、誰でも使用することができるため、悪用されてしまう可能性がでてくる。また、IPのなかには、設計データとして単独取引の対象とされるものがある。そのようなIPモジュールを使用するにはライセンス料が必要とされ、ライセンス料を払っていない顧客に対しては、IPを使用させないようにするため、IPの使用を管理することが必要になる。
【0003】
ところで、大規模集積回路のニーズは顧客毎に多種多様となっており、顧客毎にシステムを設計する少量多品種の開発が一般的となっている。IPを再利用することで、少量多品種の開発も短期間で行うことが可能である。一方、少量多品種の開発になると、類似の構成をしたマイクロプロセッサを大量に開発することになり、開発コストが増大する。
【0004】
IPの使用を管理する方式として、特許文献1のように、搭載IPを暗号化し、IP毎に管理する方式がある。この方式では、購入したIPに修正を加える必要がでてくる。また、搭載IPを暗号化した場合、使用許可を確認するため、毎回電源投入時に不正利用でないことを確認する必要がある。さらに、IP毎に復号用演算処理回路を搭載する必要がある。また、ライセンス料が必要なIPに関しては、使用許可、制限に関して毎回電源投入時に外部からライセンスコードを与え、このライセンスコードによってIPの使用を管理する方式がある。この方式では毎回電源投入時に使用可能かのチェックを行う必要があり、常に半導体集積回路の外部でライセンスコードを管理し保持する必要がある。
【0005】
【特許文献1】特開2001−256114号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
一般に少量多品種の半導体集積回路を開発する場合、顧客毎にマイクロプロセッサなどの半導体集積回路をカスタマイズする必要があるため、開発コストが増大する。顧客毎にカスタマイズしたとしても、使用目的が同じであれば、類似のマイクロプロセッサの構造になる。特にライセンス料を必要とするIPモジュールの使用、不使用の違いとなることが多い。
【0007】
本発明の目的は、半導体集積回路の開発コストの低減を図ることにある。
【0008】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0009】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0010】
〔1〕モジュールと、上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、上記フラグレジスタのフラグに基づいて上記モジュールを選択可能な選択制御論理とを設ける。
【0011】
上記の手段によれば、上記モジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することができ、このことが、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。
【0012】
〔2〕上記〔1〕において、上記モジュールは、上記モジュール毎に制御用レジスタを内蔵し、上記制御論理は、上記フラグレジスタのフラグに基づいて制御用レジスタに対するアクセス許可を得ることができる。
【0013】
〔3〕演算処理のための中央処理装置と、上記中央処理装置に専用線で結合されたモジュールと、上記モジュールに対応する公開鍵を格納する公開鍵記憶部とを含んで半導体集積回路が構成されるとき、上記中央処理装置は、外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタとを含み、上記フラグレジスタのフラグに基づいて上記モジュールが選択されるように構成する。
【0014】
上記の手段によれば、上記モジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することができ、このことが、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。
【0015】
〔4〕モジュールと、上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、上記フラグレジスタのフラグに応じて、上記モジュールへのクロック信号の供給を制御可能なクロック制御論理とを設ける。
【0016】
上記の手段によれば、上記モジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することができ、このことが、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。
【0017】
〔5〕上記〔4〕において、上記クロック制御論理は、上記フラグレジスタのフラグと、モジュール毎にクロック信号の停止を指示可能なクロック停止信号との論理演算を行い、その演算結果に応じて上記モジュールへクロック信号を供給することができる。
【0018】
〔6〕上記〔1〕乃至〔5〕の何れかにおいて、上記モジュールは、単独取引の対象となる設計データを用いて設計されたIPモジュールとすることができる。
【発明の効果】
【0019】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0020】
すなわち、顧客毎に半導体集積回路をカスタマイズしなくて良いため、半導体集積回路の開発コストの低減を達成することができる。
【発明を実施するための最良の形態】
【0021】
図1には、本発明にかかる半導体集積回路の一例であるシステム・オン・チップ(SoC)によるマイクロプロセッサが示される。同図に示されるマイクロプロセッサ(MPU)1は特に制限されないが、公知のCMOS(相補型MOSトランジスタ)やバイポーラトランジスタなどを形成する半導体集積回路技術によって、単結晶シリコンのような1個の半導体基板に形成される。
【0022】
マイクロプロセッサ1は、メインプロセッサとしての中央処理装置(CPU)2、命令キャッシュメモリ(I−CACHE)4、データキャッシュメモリ(D−CACHE)5、キャッシュコントローラ(CCN)6、浮動小数点演算ユニット(FPU)7、命令バス(IBUS)8、データバス(DBUS)9、アービタ10、周辺バス(PBUS)11、メモリバス(MBUS)12、バスステートコントローラ(BSC)13、それぞれ単独取引の対象となる設計データを用いて設計されたIPモジュール14、15、16、公開鍵を格納しておくROM(リード・オンリー・メモリ)20、割り込みコントローラ(INTC)21などを有する。ここで、上記ROM20が、本発明における公開鍵記憶部の一例とされる。
【0023】
中央処理装置2は、命令バス8を介して命令キャッシュメモリ4に接続され、データバス9を介してデータキャッシュメモリ5に接続される。浮動小数点演算ユニット7は、中央処理装置2から命令供給される。キャッシュコントローラ6は、命令キャッシュメモリ4、データキャッシュメモリ5の制御を行う。バスステートコントローラ13は、外部に接続されるメモリ(MEM)17のインタフェース制御機能を有する。IPモジュール14、15、16、割り込みコントローラ21は周辺バス11に接続され、アービタ10を介して制御レジスタの読み書きを行う。
【0024】
アービタ10は、周辺バス11に接続されているIPモジュール14、15、16や割り込みコントローラ21等周辺モジュール全ての制御レジスタのアドレスを管理する。IPモジュール14、15、16や割り込みコントローラ21内部のレジスタに対してリード、ライト要求があった場合、入力されたアドレスに対し、該アドレスのIP、周辺モジュールをセレクトし、該レジスタのリード、ライトを可能とする。アービタ10はアドレスをセレクトするアドレスセレクタ制御部18、使用状況を管理するフラグレジスタ19などを有する。フラグレジスタ19は、特に制限されないが、フラッシュメモリなどを用いて不揮発性とされる。フラグレジスタ19の書き込み権限は暗号化されているため、通常書き込みできない。初期値は論理値“0”であり、全てのIPモジュールは使用不可である。公開鍵と秘密鍵により、復号できた場合にのみ書き込み権限が与えられる。フラグレジスタ19はライセンス料が必要となるIPに対してのみ用いる。したがって、割り込みコントローラ21等周辺モジュールには、対応するフラグレジスタは存在しない。フラグレジスタ19の後段にはアンドゲートG1,G2,G3が設けられる。このアンドゲートG1,G2,G3は、アドレスセレクト制御部18からのアドレス信号と、フラグレジスタ19のフラグ出力とのアンド論理を得る。このアンド論理に基づいてIPモジュール14,15,16が選択される。IPモジュール14,15,16には、それぞれ制御レジスタが内蔵される。上記アンドゲートG1,G2,G3によってこの制御レジスタにフラグが設定されることによって、対応するモジュールが選択的に使用可能とされる。
【0025】
図2には、アドレスセレクト制御部18の構成例が示される。同図に示されるようにアドレスセレクト制御部18は、アンドゲートG11,G12,G13,G14を含む。アンドゲートG11〜G13の出力はIPのセレクト信号とされ、アンドゲートG14の出力は割り込みコントローラのセレクト信号とされる。かかる構成において、復号完了した場合には、フラグレジスタの書き込みが可能となる。それ以外の場合には、各IPモジュール14、15、16、割り込みコントローラ21等の周辺モジュールに割り当てられたアドレスが入力されると、該IPモジュール、周辺モジュールをセレクトし、それらの内蔵レジスタのリード、ライトが可能となる。
【0026】
図3には、図1に示される構成におけるフラグの更新手順、処理の流れが示される。
【0027】
先ず、暗号化された公開鍵をROM20に格納しておく。このとき、暗号化方式は特に制限されないが、例えばRSA公開暗号化方式などである。マイクロプロセッサ1は通常処理を行っている。通常処理とは、中央処理装置2が命令キャッシュメモリ4から命令をフェッチし、演算している状態である。通常処理実行中にマイクロプロセッサ1外部よりIP使用要求があると、中央処理装置2はこのIP使用要求を受け付ける。IP使用要求を受け付けると、中央処理装置2はROM20に保持してある公開鍵および秘密鍵を演算部3へと取り込み、復号処理を行う。このとき、通常処理は実行されない。復号完了すると中央処理装置2はアービタ10内のアドレスセレクト制御部18に完了信号を出力し、アドレスセレクト制御部18はフラグレジスタ19に書き込み可能となるよう、フラグレジスタ19へアドレスセレクトを行う。秘密鍵にて復号化した認証結果をFLG値としてフラグレジスタ19に書き込み、該搭載IPが使用可能となる。書き込み完了後、アドレスセレクト制御部18はアドレスセレクト信号を周辺モジュールに接続されているIPモジュール、周辺モジュール側へセレクトし、中央処理装置2は通常処理に戻る。フラグレジスタ19に1が書き込まれると、アドレスセレクト制御部でセレクトされたIPモジュール14、15、16のレジスタリード、ライトが可能となり、IPモジュール14、15、16を使用することができる。尚、ライセンスとの関係でモジュール14,15,16の何れかのみが使用可能となる場合もあり得る。
【0028】
上記例によれば、以下の作用効果を得ることができる。
【0029】
(1)ライセンス料が必要なIPモジュールに対して、周辺バスに接続されたIPモジュールをアービタ10内のフラグレジスタ19で一括管理することで、購入IPの暗号化が必要ないため、購入IPをそのまま使用できるという利点がある。
【0030】
(2)ライセンス料が必要なIPモジュールに対して、周辺バスに接続されたIPモジュールをアービタ10内のフラグレジスタ19で一括管理しており、IPモジュール毎に暗号化を行う必要がないので、復号用演算回路をIPモジュール毎に持つ必要がない。
【0031】
(3)IPモジュール毎に暗号化を行った場合、電源投入毎に使用許可を確認する必要があるが、周辺バスに接続されたIPモジュールをアービタ10内のフラグレジスタ19で一括管理するようにしているため、電源投入毎に使用許可を確認する必要がない。
【0032】
図4には、本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例が示される。図1の構成例では、IPモジュール14、15、16は周辺バス11を介して接続されていたが、アクセラレータ22のように中央処理装置2の機能に付随するIPの場合には、周辺バス11を介さずに、専用線により中央処理装置2と直接接続される。この場合、中央処理装置2内に使用状況を把握するフラグレジスタ19などを有する。アービタ24は、割り込みコントローラ21やクロックパルスジェネレータ(CPG)23等周辺モジュールの制御レジスタのリード、ライトを管理する。このように中央処理装置2に接続されているモジュール22に対しては中央処理装置2内のレジスタ19で管理することにより、搭載IPの暗号化は必要なくなる。
【0033】
図5には、図4に示されるマイクロプロセッサにおけるフラグレジスタの更新手順、処理の流れが示される。図5に示される説明図が、図3に示されるのと大きく相違するのは、アービタで行っていたフラグレジスタ書き込みを中央処理装置2で行っている点である。その他については図3に示されるのと同様とされ、秘密鍵にて復号化した認証結果をFLG値としてフラグレジスタへ書き込むことでモジュール21のレジスタリード、ライトが可能となり使用状態とされる。
【0034】
図6には、本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例が示される。図6に示されるマイクロプロセッサは、図1に示されるマイクロプロセッサと、図4に示されるマイクロプロセッサとの双方の機能を有する。かかる構成によれば、アービタ10に接続されるIPモジュール14、15、16および中央処理装置2に接続されるモジュール21に対してそれぞれのフラグレジスタ19で使用状況管理を行っている。公開鍵を格納しているROM20はアービタ10、中央処理装置2で共通である。秘密鍵の復号も共通で、中央処理装置2の演算部3で行っている。
【0035】
図7には、本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例が示される。図7に示される構成が、図1に示されるのと大きく相違するのは、アービタ10に代えて、クロックパルスジェネレータ(CPG)25内に使用状況を把握するフラグレジスタ19などを有する点である。マイクロプロセッサ1にはIPモジュールや周辺モジュールのクロックを停止するストップ信号を保持可能なストップ信号レジスタSP1,SP2,SP3が設けられている。ストップ信号レジスタSP1,SP2,SP3にそれぞれ保持されているストップ信号が論理値“1”のとき、対応するアンドゲートG31,G32,G33でのアンド条件が不成立とされるため、対応するモジュールへのクロック信号の供給が停止される。ストップ信号が論理値“0”で、フラグレジスタ19の出力値が論理値“1”の場合にのみ、対応するモジュールへクロック信号が供給される。具体的には、IPモジュール14,15,16のそれぞれに内蔵される制御レジスタに対してアンドゲートG31,G32,G33の出力値がフラグとして設定されるようになっており、このフラグが論理値“1”に設定された場合にのみ、クロックパルスジェネレータ25からのクロック信号CLK1,CLK2,CLK3が有効とされるようになっている。このようにクロックパルスジェネレータ25からのクロック信号CLK1,CLK2,CLK3を制御するようにしても、IPモジュール14,15,16の使用を制限することができるため、図1に示される場合と同様の作用効果を得ることができる。尚、ストップ信号レジスタSP1,SP2,SP3への情報設定は、中央処処理装置2を介して行うことができる。
【0036】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0037】
例えば、複数の中央処理装置が搭載されたマイクロプロセッサに対して、中央処理装置の使用状況を制御するアービタを設けることで、複数の中央処理装置の使用制御にも適用できる。また、浮動小数点演算ユニットとディジタルシグナルプロセッサ(DSP)を搭載する場合の使用状況制御にも適用できる。更に、制御使用状況を管理するアービタをマイクロプロセッサの外に設けることで、マイクロプロセッサ間の使用制御にも適用できる。
【0038】
上記の例では複数のIPモジュールを備えたものについて説明したが、IPモジュールが1個だけ搭載される場合も考えられ、かかる場合にも本発明を適用することができる。
【0039】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロプロセッサに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体集積回路に広く適用することができる。
【0040】
本発明は、少なくともIPモジュールを含むことを条件に適用することができる。
【図面の簡単な説明】
【0041】
【図1】本発明にかかる半導体集積回路の一例であるマイクロプロセッサの構成例ブロック図である。
【図2】図1に示されるマイクロプロセッサにおける主要部の構成例回路図である。
【図3】図1に示されるマイクロプロセッサにおける主要動作の説明図である。
【図4】本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例ブロック図である。
【図5】図4に示されるマイクロプロセッサにおける主要動作の説明図である。
【図6】本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例ブロック図である。
【図7】本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例ブロック図である。
【符号の説明】
【0042】
1 マイクロプロセッサ(MPU)
2 中央処理装置(CPU)
3 演算部
4 命令キャッシュメモリ(I−CACHE)
5 データキャッシュメモリ(D−CACHE)
6 キャッシュコントローラ(CCN)
7 浮動小数点演算ユニット(FPU)
8 命令バス(IBUS)
9 データバス(DBUS)
10 アービタ
11 周辺バス(PBUS)
12 メモリバス(MBUS)
13 バスステートコントローラ(BSC)
14 IPモジュール
15 IPモジュール
16 IPモジュール
17 外部メモリ(MEM)
18 アドレスセレクト制御部
19 フラグレジスタ
20 公開鍵格納用ROM
21 IPモジュール
22 割り込みコントローラ(INTC)
23 クロックパルスジェネレータ(CPG)
24 アービタ
25 クロックパルスジェネレータ(CPG)

【特許請求の範囲】
【請求項1】
モジュールと、
上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、
外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、
上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、
上記フラグレジスタのフラグに基づいて上記モジュールを選択可能な選択制御論理と、を含むことを特徴とする半導体集積回路。
【請求項2】
上記モジュールは、上記モジュール毎に制御用レジスタを内蔵し、上記制御論理は、上記フラグレジスタのフラグに基づいて制御用レジスタに対するアクセス許可を得る請求項1記載の半導体集積回路。
【請求項3】
演算処理のための中央処理装置と、
上記中央処理装置に専用線で結合されたモジュールと、
上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、を含む半導体集積回路であって、
上記中央処理装置は、
外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、
上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、を含み、
上記フラグレジスタのフラグに基づいて上記モジュールが選択されることを特徴とする半導体集積回路。
【請求項4】
モジュールと、
上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、
外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、
上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、
上記フラグレジスタのフラグに応じて、上記モジュールへのクロック信号の供給を制御可能なクロック制御論理と、を含むことを特徴とする半導体集積回路。
【請求項5】
上記クロック制御論理は、上記フラグレジスタのフラグと、モジュール毎にクロック信号の停止を指示可能なクロック停止信号との論理演算を行い、その演算結果に応じて上記モジュールへクロック信号を供給する請求項4記載の半導体集積回路。
【請求項6】
上記モジュールは、単独取引の対象となる設計データを用いて設計されたIPモジュールとされた請求項1乃至5の何れか1項記載の半導体集積回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2007−4340(P2007−4340A)
【公開日】平成19年1月11日(2007.1.11)
【国際特許分類】
【出願番号】特願2005−181695(P2005−181695)
【出願日】平成17年6月22日(2005.6.22)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【Fターム(参考)】