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

半導体集積回路 Download PDF

Info

Publication number
JP2004140376A
JP2004140376A JP2003359903A JP2003359903A JP2004140376A JP 2004140376 A JP2004140376 A JP 2004140376A JP 2003359903 A JP2003359903 A JP 2003359903A JP 2003359903 A JP2003359903 A JP 2003359903A JP 2004140376 A JP2004140376 A JP 2004140376A
Authority
JP
Japan
Prior art keywords
external function
function block
semiconductor integrated
integrated circuit
circuit according
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.)
Granted
Application number
JP2003359903A
Other languages
English (en)
Other versions
JP4144668B2 (ja
JP2004140376A5 (ja
Inventor
Ichiro Yamane
山根 一郎
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003359903A priority Critical patent/JP4144668B2/ja
Publication of JP2004140376A publication Critical patent/JP2004140376A/ja
Publication of JP2004140376A5 publication Critical patent/JP2004140376A5/ja
Application granted granted Critical
Publication of JP4144668B2 publication Critical patent/JP4144668B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Storage Device Security (AREA)

Abstract

 【課題】 外部機能ブロックがシステムで不要になった場合、別のシステムLSIを開発、生産するか、外部機能ブロックを内蔵したシステムLSIを生産し、これに対してロイヤリティを課する必要があり、半導体集積回路の汎用性の確保とロイヤリティ支払いの最適化をともに充分満たすことがむずかしい。
 【解決手段】 システムLSI7に内蔵した複数の外部機能ブロック5,6の入力、出力を有効または無効にする有効無効化手段(ANDゲート54,53,64,63)をもち、不揮発性メモリ8を切替手段として、その論理内容81,82に応じて有効無効化手段を制御し、外部機能ブロック5,6を有効または無効にする。
【選択図】 図1

Description

 本発明は、1または複数の外部機能ブロックを内蔵した半導体集積回路(システムLSI)にかかわり、より詳しくは、前記各外部機能ブロックを有効化または無効化する技術に関する。
 近年、半導体集積回路(システムLSI)の分野においては、回路の微細化や大規模化が進み、機能ブロックを用いた設計が主流になってきている。また、機能ブロックについては、メーカ側で自由に使用できる内部機能ブロックだけでなく、ロイヤリティを必要とする外部機能ブロックを導入して半導体集積回路を開発する場合が増えてきている。
 図8を参照して、従来の機能ブロックを用いた半導体集積回路を説明する。符号の7は半導体集積回路を示す。この半導体集積回路7は、中央演算処理装置(CPU)1、プログラムを格納するメモリ2、周辺回路3、メーカ内部で保有する自由使用可能な内部機能ブロック4、および外部より導入したロイヤリティを必要とする外部機能ブロック5,6を備える。
 半導体集積回路7の仕様はあらかじめ決められている。半導体集積回路7は、その仕様に応じて必要な外部機能ブロック5,6を内蔵している。必要とする外部機能ブロックはユーザごとに異なる。したがって、そのような個別の外部機能ブロックを内蔵する半導体集積回路7が、それぞれ開発され、生産されることになる。
 すなわち、一方で、外部機能ブロック5のみを内蔵する半導体集積回路が単独に開発・生産される。他方で、上記とは別の外部機能ブロック6のみを内蔵する半導体集積回路が上記とは独立して開発・生産される。場合によっては、2つの外部機能ブロック5,6をともに内蔵する半導体集積回路もある。つまりは、数多くの種類の半導体集積回路が並行的に開発・生産される。
米国特許第6,222,382号 米国特許第5,015,884号 米国特許第4,445,177号
 このような従来の半導体集積回路では、そのような外部機能ブロックの種類が異なる複数仕様の半導体集積回路がそれぞれ別個に開発され、生産されなければならない。
 例えば、2つの外部機能ブロック5,6を備えた仕様が標準とされている状況で、いずれか一方の外部機能ブロックが不要の場合には、別の半導体集積回路を開発・生産するか、あるいは、その不要な外部機能ブロックを内蔵したままの半導体集積回路を生産し、これに対してロイヤリティを課する必要がある。
 このように、従来にあっては、半導体集積回路の汎用性の確保とロイヤリティの支払いの最適化とをともに充分に満たすことが難しい状況となっている。
 本発明は上記した課題の解決を図るべく創作したものであって、汎用性の向上とロイヤリティの支払いの最適化とをともに満足することができる半導体集積回路を提供することを目的としている。
 本発明は、次のような手段を講じることにより、上記の課題を解決する。すなわち、1または複数の外部機能ブロックと、前記外部機能ブロックを無効にするか有効にするかの論理内容を有する切替手段と、前記切替手段の論理内容に従って前記外部機能ブロックを無効または有効にする有効無効化手段とを備えている。
 当該の半導体集積回路には、メーカ側で必要性があると想定される1または複数の外部機能ブロックがあらかじめ内蔵されている。有効無効化手段は、切替手段からの論理内容に応じて、外部機能ブロックを無効または有効にする。したがって、半導体集積回路に1または複数の外部機能ブロックが内蔵されている場合において、ユーザは、必要とする外部機能ブロックに限って有効とし、必要としない外部機能ブロックについては無効とするというように対処できる。
 そして、ロイヤリティについては、運用により、有効とした外部機能ブロックの分のロイヤリティを該当のユーザに課し、無効とした外部機能ブロックの分のロイヤリティは課さないようにすればよい。外部機能ブロックの使用に対してロイヤリティが課される場合、ユーザは、有効とした外部機能ブロックに対するロイヤリティは課されるが、無効とした外部機能ブロックに対するロイヤリティは課されずに済む。
 上記の結果、本発明では、ユーザごとの様々なニーズに対して、汎用性の向上とロイヤリティの支払いの最適化とをともに満足する半導体集積回路を提供することができる。
 なお、本発明にあっては、ロイヤリティの有無は必ずしも必須ではない。ロイヤリティの支払いの義務があるときには、それに的確に対応できる。
 上記において好ましい態様は、前記の切替手段が、外部機能ブロックを無効にするか有効にするかの論理内容が記憶されているメモリで構成されていることである。そして、前記のメモリとしては不揮発性メモリが好ましい。論理内容をメモリに記憶しておくことにより、個々の外部機能ブロックに対する有効/無効の設定を持続化することができる。
 上記において、別の好ましい態様は、前記の切替手段が、外部機能ブロックを無効にするか有効にするかの論理内容に応じた状態のヒューズで構成されていることである。構成を簡単化することができる。
 また、別の好ましい態様は、前記の切替手段が、マスクによって外部機能ブロックを無効にするか有効にするかの論理内容を設定することが可能なマスクオプションで構成されていることである。論理内容の不当書き替えによる不正使用を予防し、セキュリティ性を確保できる。
 さらに、別の好ましい態様は、前記の切替手段が、暗号解除プログラムを記憶するメモリと、前記暗号解除プログラムを実行する演算処理装置と、前記演算処理装置による前記暗号解除プログラムの実行に伴って暗号解読を行う暗号解読手段と、前記暗号解読手段による暗号解読結果を前記論理内容として保持するとともに前記有効無効化手段に出力するレジスタとを含む状態で構成されていることである。暗号化の方式を採用することにより、セキュリティ性を確保し、もってロイヤリティ課金の信頼性をもたらすことが可能となる。
 上記において好ましい態様は、前記の暗号解除プログラムを記憶するメモリをマスクROMとすることである。暗号解除プログラムの不当書き替えによる不正使用を予防し、セキュリティ性を確保できる。なお、不揮発性メモリとしてもよい。
 また、別の好ましい態様は、前記の暗号解読手段が、前記演算処理装置から送られてくる値を格納するレジスタの値と基準の値とを比較する比較器と、前記比較器による比較結果が一致するときに前記論理内容を出力する前記レジスタに対してセット信号を出力するANDゲートを含む構成とされていることである。この場合、前記の演算処理装置は、前記暗号解除プログラムの実行により前記レジスタに対して送出する暗号解除のための値を生成するものとする。ハードウェア構成にて暗号解読を行わせることができる。また、比較器の個数を多くするほど、セキュリティ性が高くなる。なお、前記のレジスタをシフトレジスタとするのが好ましい。
 さらに、上記において好ましい態様は、前記の暗号解除プログラムが、前記外部機能ブロックを有効とする暗号解除のためのプログラムに加えて、その暗号解除には無関係な冗長なプログラムを含んだ構造に構成されていることである。暗号解除プログラムにおける規則性を崩し、第三者による暗号解除プログラムの不正解読を困難にする。
 また、別の好ましい態様は、前記の暗号解除プログラムが、前記外部機能ブロックを有効とする暗号解除のためのプログラムにおいて、そのプログラムの一部が論理的に複数のステップに分解された構造に構成されていることである。この場合も、暗号解除プログラムにおける規則性を崩し、第三者による暗号解除プログラムの不正解読を困難にする。
 さらに、前記の切替手段についての別の好ましい態様は、当該半導体集積回路を特定する識別情報を記憶する識別情報記憶手段と、専用端末から前記外部機能ブロックを有効にする有効化プログラムを受信する通信手段と、前記通信手段が受信した前記有効化プログラムを格納するメモリと、前記識別情報記憶手段に記憶されている識別情報が前記メモリの有効化プログラムに含まれる識別情報の少なくとも一部に一致するときに、前記有効化プログラムに基づいて前記外部機能ブロックを有効化する前記論理内容を生成し、不一致のときには前記外部機能ブロックを無効化する論理内容を生成する制御手段とを含んで構成されていることである。有効化プログラムをユーザに提供するに際して通信回線を介して行うので、メーカにとってユーザのロイヤリティ管理が容易となる。また、有効にすべき外部機能ブロックの切り替えを容易に行うことができる。
 上記において好ましい態様は、前記有効無効化手段が、前記切替手段からの論理内容が前記外部機能ブロックを無効にするものであるとき、前記外部機能ブロックに対する入出力を無効化する論理回路を含むように構成されていることである。この場合、好ましくは、前記の論理回路が、前記論理内容と入力信号との論理積をとって前記外部機能ブロックに入力するANDゲートを含むことである。あるいは、前記の論理回路が、前記論理内容と前記外部機能ブロックの出力との論理積をとって出力信号とするANDゲートを含むことである。論理内容を“1”としてANDゲートを導通状態とすることで外部機能ブロックを有効化し、論理内容を“0”としてANDゲートを非導通状態とすることで外部機能ブロックを無効化する。構成が簡単である。
 別の好ましい態様は、前記有効無効化手段が、前記外部機能ブロックの入力と出力との間にリセット端子付きのラッチ手段を介在させたものであり、前記ラッチ手段のリセット端子に対して恒常的にリセット信号を印加して、前記外部機能ブロックへの入力が変化しても前記外部機能ブロックの出力を不変化することにより前記外部機能ブロックを無効化するように構成されていることである。なお、ラッチ手段については、通常のラッチのほかフリップフロップでもよい。
 さらに、上記において好ましい態様は、前記有効化プログラムが前記外部機能ブロックを有効にするときにONとなり、前記外部機能ブロックを無効にするときにOFFとなる電源用のスイッチを前記外部機能ブロックが備えていることである。無効化時に貫通電流を防止するとともに、無駄な電力消費を抑制することができる。
 上記において、前記外部機能ブロックは、ロイヤリティを必要とするものとするのが一般的な態様となる。ロイヤリティ管理を有利に展開することができる。
 以上説明したように、本発明によれば、必要があると想定される1または複数の外部機能ブロックを内蔵する状態で半導体集積回路を製造し、ユーザが必要とする外部機能ブロックについては、切替手段と有効無効化手段により必要に応じて外部機能ブロックを有効にしたり無効にする。このことにより、ユーザごとの様々なニーズに対して、幅広い汎用性をもたせることができる。有効とした外部機能ブロックの分のロイヤリティを該当のユーザに課すればよい。結果として、半導体集積回路の汎用性の向上とロイヤリティの支払いの最適化とをともに満足することができる。
 また、外部機能ブロックを有効化するための情報を暗号化処理することにより、使用許可を取得していない者の不正使用を防止することが可能となり、セキュリティを確保することができる。
 また、外部機能ブロックを有効化するための情報を通信手段を介して取得するように構成することにより、多様なユーザに対する遠隔的で一元的なロイヤリティの管理を行うことができる。そして、遠方のマスターサーバーからのダウンロードも可能となる。
 以下、本発明にかかわる半導体集積回路の具体的な実施の形態を図面に基づいて説明する。
 (実施の形態1)
 図1は本発明の実施の形態1の半導体集積回路の構成を示すブロック図である。
 半導体集積回路(システムLSI)7は、2つの外部機能ブロック5,6と、切替手段の一例としての不揮発性メモリ8と、有効無効化手段の一例としてのANDゲート53,54とを有している。切替手段は、不揮発性メモリ8以外の他のメモリでも代替可能である。
 不揮発性メモリ8の論理内容81の出力端子はANDゲート53,54の1入力端子に接続されている。外部機能ブロック5に対する入力信号52はANDゲート54の別の入力端子に入力され、ANDゲート54の出力端子は外部機能ブロック5の入力56に接続されている。外部機能ブロック5の出力55はANDゲート53の別の入力端子に接続され、ANDゲート53の出力端子が出力信号51を出力する。
 上記同様に、不揮発性メモリ8の論理内容82の出力端子はANDゲート63,64の1入力端子に接続されている。外部機能ブロック6に対する入力信号62はANDゲート64の別の入力端子に入力され、ANDゲート64の出力端子は外部機能ブロック6の入力66に接続されている。外部機能ブロック6の出力65はANDゲート63の別の入力端子に接続され、ANDゲート63の出力端子が出力信号61を出力する。
 外部機能ブロック5に対する入力信号52は、不揮発性メモリ8の論理内容81によって、論理回路としてのANDゲート54を介して制御される。
 不揮発性メモリ8の論理内容81が例えば“0”のときは、ANDゲート54が非導通状態となり、外部機能ブロック5の入力56は、入力信号52の値に無関係に“0”に固定される。つまり、外部機能ブロック5に対する入力は、無効化される。
 不揮発性メモリ8の論理内容81が例えば“1”のときは、ANDゲート54が導通状態となり、入力信号52の値がそのまま外部機能ブロック5の入力56に入る。つまり、外部機能ブロック5に対する入力は、有効とされる。
 外部機能ブロック5からの出力信号51は、不揮発性メモリ8の論理内容81によって、論理回路としてのANDゲート53を介して制御される。
 不揮発性メモリ8の論理内容81が例えば“0”のときは、ANDゲート53が非導通状態となり、出力信号51は、“0”に固定される。つまり、外部機能ブロック5の出力は、無効化される。
 不揮発性メモリ8の論理内容81が例えば“1”のときは、ANDゲート53が導通状態となり、外部機能ブロック5の出力55の値がそのまま出力信号51に出る。つまり、外部機能ブロック5の出力は、有効とされる。
 以上のように、不揮発性メモリ8の論理内容81によって、外部機能ブロック5に対する入出力をハードウエア上で有効または無効にすることができる。
 外部機能ブロック5の電源については、GNDは接地電位に、VDDはスイッチ57を介して電源電位に接続されている。スイッチ57は不揮発性メモリ8の論理内容81によってON/OFF制御されるようになっている。同様に、外部機能ブロック6の電源については、GNDは接地電位に、VDDはスイッチ67を介して電源電位に接続されている。スイッチ67は不揮発性メモリ8の論理内容82によってON/OFF制御されるようになっている。
 不揮発性メモリ8の論理内容81が“1”のときは、スイッチ57がONとなり、外部機能ブロック5は、電源を供給されて動作する。
 不揮発性メモリ8の論理内容81が“0”のときは、スイッチ57がOFFとなり、外部機能ブロック5には電源が供給されなくなる。外部機能ブロック5の出力55はフローティング電位となるが、不揮発性メモリ8の論理内容81が“0”になっているため、ANDゲート53で不要な貫通電流が流れることはない。
 なお、スイッチ57がOFFとなるとき、外部機能ブロック5の出力がフローティング電位にならない構成の場合、ANDゲート53はなくても外部機能ブロック5は無効化できる。
 外部機能ブロック5の入力56は論理回路としてのANDゲート54によって“0”のため、接地電位が出力され、外部機能ブロック5の内部も接地電位に固定されるため、外部機能ブロック5において不要な貫通電流が流れることはない。
 したがって、外部機能ブロック5の消費電力はゼロとなり、半導体集積回路7の消費電力を抑えることができる。
 外部機能ブロック6に関しても同様であり、不揮発性メモリ8の論理内容82によって、外部機能ブロック6は動作状態と非動作状態とに切り替えられ、非動作状態にしたときは、消費電力を抑えることができる。
 このことにより、半導体集積回路7の生産後に外部機能ブロック5,6をそれぞれ有効にするか、無効にするかを決定することができるため、汎用的に複数の外部機能ブロックを内蔵して製造した後で、ユーザが必要とする外部機能ブロックのみを有効にすることができる。すなわち、工場出荷時に、不揮発性メモリ8に外部機能ブロック5,6を有効化するか否かの論理内容を書き込んでおく。また、その出荷先のユーザ情報と、出荷数量、有効化した外部機能ブロックなどを記録した上で出荷する。このようにすることにより、どこのユーザにどれだけの数量で、どの外部機能ブロックを有効にして出荷したかをメーカ側が管理できるため、各ユーザにおけるロイヤリティを管理できる。
 したがって、メーカにとっては汎用で大量生産可能でありながら、ユーザにとっては、未使用である外部機能ブロックについては、そのロイヤリティは支払わずに済ませることが可能となる。
 なお、切替手段については、不揮発性メモリ8に代えて、半導体集積回路7の内部に組み込まれたヒューズを用いてもかまわない。このヒューズは、切替手段として、外部機能ブロックに対する入出力を無効にするか有効にするかに応じて溶断状態とされたり、溶断せずにそのまま接続状態とされる。
 また、製造中にはなるが、マスクROMのように、マスクによって外部機能ブロックを無効にするか有効にするかの論理内容を設定することが可能なマスクオプションでもって切替手段を構成してもかまわない。
 不揮発性メモリでは論理内容を不当に書き替えられ、外部機能ブロックの不正使用の可能性がまったくないとはいえない。これに対して、マスクオプションとする場合には、不正使用を完全に阻止できる。
 (実施の形態2)
 図2は本発明の実施の形態2の半導体集積回路における外部機能ブロックの回路構成図であり、有効無効化手段の別の態様を示している。
 図2において、79は外部機能ブロックを示している。この外部機能ブロック79の内部は回路的にゲートとリセット端子付きのフリップフロップで構成されている。フリップフロップの代わりにラッチを用いてもよい。このフリップフロップおよびラッチなどを含めてラッチ手段という。この広い意味でのラッチ手段が有効無効化手段を構成している。論理回路としてのゲートについては、ここでは、ANDゲート75、NORゲート76、NOTゲート78で構成している。
 フリップフロップ77は、そのリセット端子に対する制御信号74の論理内容が“1”であるとき、アクティブとされ、入力信号72によってクロック(CK)を供給され、また、入力信号70,71に応じ、ANDゲート75、NORゲート76を介してデータ(D)を供給される。
 フリップフロップ77はまた、出力(Q)からNOTゲート78を介して出力信号73を出力する。
 すなわち、フリップフロップ77は、入力信号70,71,72によって動作して出力信号73を得る。
 ここで、リセット端子に対する制御信号74の論理内容が“0”の場合、フリップフロップ77はリセットされ、その出力(Q)が“0”に固定される。出力(Q)の値“0”はNOTゲート78を介して出力信号73に値“1”で固定値として出力される。すなわち、入力信号70,71,72のいかんによらずに出力信号73に固定値“1”を得る。結果として、外部機能ブロック79は無効化されている。
 この実施の形態の外部機能ブロックは、例えば、図1における外部機能ブロック5,6のいずれにも適用でき、その場合は、制御信号74は不揮発性メモリ8の論理内容81,82に接続されることになる。また、後述する別の実施の形態における図3、図7の外部機能ブロック5にも適用できる。いずれの場合も、ANDゲート53,54は省略される。
 以上のように、有効無効化手段を外部機能ブロックの内部に構成することもできる。
 (実施の形態3)
 図3は本実施の形態3の半導体集積回路の構成を示すブロック図である。
 この半導体集積回路(システムLSI)15は、メモリ10、CPU11、暗号解読回路12、レジスタ13、外部機能ブロック5を有するとともに、レジスタ13の論理内容によって外部機能ブロック5を有効または無効に切り替える2つのANDゲート53,54を有する。レジスタ13の初期値はディスエーブル出力状態の“0”であり、外部機能ブロック5は無効化されている。
 半導体集積回路15のリセット解除後、CPU11はバス14を介してメモリ10に記憶されているプログラムを読み出して実行する。メモリ10には図5に示す暗号解除プログラムを含むプログラムが記憶されており、CPU11により順次実行される。
 暗号解読回路12は、命令“$55”,“$23”,“$FE”,“$36”,“$CD”を順に受け取ると、レジスタ13にイネーブル出力状態の“1”を設定しにいくようになっている。
 暗号解読回路12の内部構成を図4に示す。シフトレジスタ121〜125は、レジスタのアドレスである“@security_Adr”に書き込みがなされると、値を保存する。比較器126〜130はそれぞれのシフトレジスタと値を比較し、あらかじめ設定してある固定値と一致した場合に“1”を出力する。ANDゲート131はすべての比較器126〜130の出力が“1”の場合、レジスタセット信号を介してレジスタ13の論理内容を“1”にする。
 CPU11は、メモリ10より、命令“mov#$55,@security_Adr”を読み出して解読し、暗号解読回路12に命令“$55”をバス14を介して送る。シフトレジスタ121に命令“$55”が格納される。次に、CPU11は、メモリ10より、命令“mov#$23,@security_Adr”を読み出して解読し、暗号解読回路12に命令“$23”をバス14を介して送る。シフトレジスタ122に命令“$55”が格納され、シフトレジスタ121に命令“$23”が格納される。同様にして、暗号解読回路12に命令“$FE”,“$36”,“$CD”が送られ、シフトレジスタ125は命令“$55”、シフトレジスタ124は“$23”、シフトレジスタ123は“$FE”、シフトレジスタ122は“$36”、シフトレジスタ121は“$CD”となる。
 ここで、あらかじめ固定値として、比較器130には「$55」が格納されており、比較器129には「$23」が、比較器128には「$FE」が、比較器127には「$36」が、比較器126には「$CD」がそれぞれ格納されているものとする。すると、比較器126〜130における比較結果はすべて一致するため、ANDゲート131はレジスタセット信号を出力し、レジスタ13は論理内容を“1”に設定される。これによって、外部機能ブロック5は有効化される。
 このことにより、半導体集積回路15の生産後に外部機能ブロック5を有効にするか無効にするかをメモリ10における暗号解除プログラムで決定することができる。
 なお、上記の複数のレジスタは、所定のレジスタに該当する値を格納されればよく、レジスタ121〜125のアドレスを各々異なるように構成しておき、値を書き込んでもよい。
 図3では、外部機能ブロックが1つであるが、もちろん、複数の外部機能ブロックを内蔵する半導体集積回路に対して本実施の形態を適用することができる。その場合、外部機能ブロック5、ANDゲート53,54、レジスタ13に相当する組み合わせ回路構成が複数組設けられ、それぞれのレジスタが暗号解読回路12に接続される。したがって、メーカが汎用的に複数の外部機能ブロックを内蔵して製造した後で、ユーザが必要とする外部機能ブロックのみを有効にする暗号解除プログラムをメモリ10に書き込むことにより、必要とされる外部機能ブロックのみを有効にすることができる。
 暗号解除プログラムはメーカがそれぞれのユーザに対して発行、管理する。すなわち、メモリ10がマスクROMの場合には、ROMデータの受け取り前において、また、メモリ10が不揮発性メモリの場合は販売後において、それぞれ、出荷先のユーザ情報と、出荷数量、有効化した外部機能ブロックなどを記録した上でプログラムを書き込む。これにより、どこのユーザにどれだけの数量で、どの外部機能ブロックを有効にして出荷したかをメーカ側が管理することができる。すなわち、各ユーザにおけるロイヤリティを合理的に管理できる。結論として、メーカにとっては汎用で大量生産可能でありながら、ユーザにとっては、未使用である外部機能ブロックのロイヤリティは支払わずに済ませることが可能となる。
 (実施の形態4)
 本実施の形態4は、実施の形態3における暗号解除プログラムのセキュリティを高めたものである。実施の形態4を図6に基づいて説明する。
 実施の形態3の場合の図5の暗号解除プログラムは、通常のmov命令を羅列しただけであり、“@security_Adr”も規則的に並ぶため、第三者にとって本体プログラムの中から図5に示す暗号解除プログラム部分を見つけ出し、解読することは比較的容易である。
 そこで、第三者による解読を困難にするために規則正しいプログラムにわざと暗号解除とは無関係な命令を加えて、この規則を崩す。
 図5に示す本来の暗号解除プログラムとは無関係な命令22すなわち“cmp d0,d1”を加えている。また、命令21すなわち“mov#$36,@security_Adr”は複数の命令列23に分解している。“mov#$12,d0”と“add#$24,d0”で“d0”に“$36”を作成し、この値を“movd0,@security_Adr”で暗号解読回路12に入れる。ユーザが作成した本体プログラムの中に図6に示した暗号解除プログラムが挿入されていても、どの部分が暗号解除の部分か分かりにくいものとなっている。
 すなわち、暗号解読回路12にとっては、図5の規則的な並びの暗号解除プログラムと図6の解読困難な不規則的な暗号解除プログラムとは等価な効果を得られるが、図6の暗号解除プログラムに示した解読困難さがセキュリティ効果を高めることができる。
 (実施の形態5)
 図7は本発明の実施の形態5の半導体集積回路の構成を示すブロック図である。
 半導体集積回路38は、外部機能ブロック5と、フラッシュメモリ31の論理内容によって外部機能ブロック5を有効または無効に切り替えるANDゲート53,54をもつ。フラッシュメモリ31の初期値はディスエーブル出力状態の“0”となっており、外部機能ブロック5は無効化されている。したがって、このままでは半導体集積回路38の外部機能ブロック5は使用することができない。
 ここで、半導体集積回路を特定する識別情報を記憶する識別情報記憶手段としての記憶装置36には当該の半導体集積回路を特定するためのシリアルナンバーとして、例えば“000982”が書き込まれているとする。
 ユーザは半導体集積回路38を購入した後、第1の専用端末41を使って、この半導体集積回路38の外部機能ブロック5を有効にするための有効化プログラムを買う。第1の専用端末41は通信手段を介してマスターサーバー42に接続でき、ユーザは入力情報として、ユーザ情報、購入した例えば100個の半導体集積回路38のシリアルナンバー情報の例えば“000901−001000”と、有効化を求める外部機能ブロック5の識別情報とを入力する。マスターサーバー42は、入力されたシリアルナンバーによる半導体集積回路の数量と有効化を求められた外部機能ブロック5の仕様等に基づいて売価を算出し、第1の専用端末41に表示する。ユーザは売価を確認し、購入する場合、第1の専用端末41から購入する旨を入力する。マスターサーバー42は、ユーザ情報と売価を決済し、ユーザ情報とシリアルナンバーおよび数量と外部機能ブロックの情報を記録する。また、マスターサーバー42は上記入力情報に従った情報を暗号化したプログラムを含む有効化プログラムを第1の専用端末41に発行し、第1の専用端末41はその有効化プログラムをダウンロードする。
 ユーザはダウンロードした有効化プログラムを第2の専用端末43に移し、半導体集積回路38と接続する。
 半導体集積回路38では、そのメモリ35に、第2の専用端末43と通信を行い、外部機能ブロック5を有効にするためのプログラムが格納されている。CPU33は、バス34を介してメモリ35からプログラムを読み出し、実行する。
 まず、CPU33は、通信手段としての通信回路37を介して第2の専用端末43との間で通信を行い、シリアルナンバー情報と有効にしたい外部機能ブロックを解読し、シリアルナンバー情報“000901−001000”と、外部機能ブロック5の情報を得る。この場合の通信は、SSL(SecureSocket Layer)を用いて暗号化した上で行う。
 次いで、CPU33は、記憶装置36にあらかじめ格納されているシリアルナンバー“000982”を読み出し、外部から取得したシリアルナンバー情報と照合する。条件が不一致の場合はプログラムを終了するが、条件が一致した場合は、外部機能ブロック情報に従って制御回路32を動作させる。
 この場合、シリアルナンバー“000982”はシリアルナンバー情報“000901−001000”の条件に一致するため、外部機能ブロック5を有効にする情報に従って、制御回路32はフラッシュメモリ31を“0”から“1”に書き替える。これにより、外部機能ブロック5を有効にすることができる。
 このことにより、半導体集積回路38の生産の後に、外部機能ブロック5を有効にすることができるため、メーカは汎用的に複数の外部機能ブロックを内蔵した状態で半導体集積回路を製造しておき、その後で、ユーザが必要とする外部機能ブロックのみを有効な状態に設定することができる。
 有効化プログラムについては、メーカがそれぞれのユーザに対して発行し、マスターサーバー42で管理する。すなわち、販売後に、出荷先のユーザ情報と、数量、有効化した外部機能ブロックを記録することにより、メーカ側でロイヤリティを管理できる。したがって、メーカにとって汎用で大量生産可能でありながら、ユーザにとって未使用である外部機能ブロックのロイヤリティは支払わずに済ませることが可能となる。
 本発明では、機能ブロックを設計する機能ブロックプロバイダ、機能ブロックを用いて半導体集積回路を設計するシリコンベンダー、半導体集積回路のユーザそれぞれにメリットがある。例えば、機能ブロックプロバイダのA社、B社、C社から提供されたそれぞれ機能ブロックA、機能ブロックB、機能ブロックCを内蔵した半導体集積回路を作ることで、シリコンベンダーは汎用性の高い半導体集積回路を開発でき、開発人員の大幅な削減が可能となる。
 すなわち、機能ブロックA、機能ブロックBを内蔵した半導体集積回路を求めるユーザU1と、機能ブロックB、機能ブロックCを内蔵した半導体集積回路を求めるユーザU2とがいる場合、従来の開発リソースでは、互いに別個の仕様の半導体集積回路しかできなかったものが、本発明では両方の要求を満たす半導体集積回路を開発できることになり、シリコンベンダーに収益増をもたらす。そして、いずれのユーザにとっても、ビジネスチャンスを得ることができる。
 また、機能ブロックプロバイダにおいては、従来であればユーザU1に対する機能ブロックA、機能ブロックBにロイヤリティが支払われるだけであったが、本発明によれば、加えてユーザU2に対する機能ブロックB、機能ブロックCにもロイヤリティが支払われることになり、その実用的効果はきわめて大きい。
本発明の実施の形態1の半導体集積回路(システムLSI)の構成を示すブロック図 本発明の実施の形態2の半導体集積回路(システムLSI)における外部機能ブロックの構成を示すブロック図 本発明の実施の形態3の半導体集積回路(システムLSI)の構成を示すブロック図 本発明の実施の形態3における暗号解読回路の構成を示すブロック図 本発明の実施の形態3における暗号解除プログラムの説明図 本発明の実施の形態4における暗号解除プログラムの説明図 本発明の実施の形態5の半導体集積回路(システムLSI)の構成を示すブロック図 従来の技術の半導体集積回路の構成を示すブロック図
符号の説明
 5,6,79 外部機能ブロック
 7,15,38 半導体集積回路(システムLSI)
 8 不揮発性メモリ
 10 メモリ
 11,33 CPU
 12 暗号解読回路
 13 レジスタ
 14,34 バス
 31 フラッシュメモリ
 32 制御回路
 35 メモリ
 36 記憶装置
 37 通信回路
 41,43 専用端末
 42 マスターサーバー
 77 フリップフロップ
 121,122,123,124,125 シフトレジスタ
 126,127,128,129,130 比較器

Claims (12)

  1. 1または複数の外部機能ブロックと、
     前記外部機能ブロックを無効にするか有効にするかの論理内容を有する切替手段と、
     前記切替手段の論理内容に従って前記外部機能ブロックを無効または有効にする有効無効化手段とを含む半導体集積回路。
  2. 前記切替手段は、前記外部機能ブロックを無効にするか有効にするかの論理内容が記憶されているメモリを含む請求項1に記載の半導体集積回路。
  3. 前記メモリが不揮発性メモリである請求項2に記載の半導体集積回路。
  4. 前記切替手段は、前記外部機能ブロックを無効にするか有効にするかの論理内容に対応する状態に設定されるヒューズである請求項1に記載の半導体集積回路。
  5. 前記切替手段は、マスクによって前記外部機能ブロックを無効にするか有効にするかの論理内容を設定可能なマスクオプションで構成されている請求項1に記載の半導体集積回路。
  6. 前記切替手段は、
     当該半導体集積回路を特定する識別情報を記憶する識別情報記憶手段と、
     専用端末から前記外部機能ブロックを有効にする有効化プログラムを受信する通信手段と、
     前記通信手段が受信した前記有効化プログラムを格納するメモリと、
     前記識別情報記憶手段に記憶されている識別情報が前記メモリの有効化プログラムに含まれる識別情報の少なくとも一部に一致するときに、前記有効化プログラムに基づいて前記外部機能ブロックを有効化する前記論理内容を生成し、不一致のときには前記外部機能ブロックを無効化する論理内容を生成する制御手段とを含む請求項1に記載の半導体集積回路。
  7. 前記有効無効化手段は、前記切替手段からの論理内容が前記外部機能ブロックを無効にするものであるとき、前記外部機能ブロックに対する入出力を無効化する論理回路を含む請求項1から請求項6までのいずれかに記載の半導体集積回路。
  8. 前記論理回路は、前記論理内容と入力信号との論理積をとって前記外部機能ブロックに入力するANDゲートを含む請求項7に記載の半導体集積回路。
  9. 前記論理回路は、前記論理内容と前記外部機能ブロックの出力との論理積をとって出力信号とするANDゲートを含む請求項7記載の半導体集積回路。
  10. 前記有効無効化手段は、前記外部機能ブロックの入力と出力との間にリセット端子付きのラッチ手段を介在させたものであり、前記ラッチ手段のリセット端子に対して恒常的にリセット信号を印加して、前記外部機能ブロックへの入力が変化しても前記外部機能ブロックの出力を不変化することにより前記外部機能ブロックを無効化するように構成されている請求項1から請求項9でのいずれかに記載の半導体集積回路。
  11. 前記外部機能ブロックは、前記有効化プログラムが前記外部機能ブロックを有効にするときにONとなり、前記外部機能ブロックを無効にするときにOFFとなる電源用のスイッチを備えている請求項6から請求項10でのいずれかに記載の半導体集積回路。
  12. 前記外部機能ブロックは、ロイヤリティを必要とするものである請求項1から請求項11までのいずれかに記載の半導体集積回路。
JP2003359903A 2001-01-24 2003-10-20 半導体集積回路 Expired - Fee Related JP4144668B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003359903A JP4144668B2 (ja) 2001-01-24 2003-10-20 半導体集積回路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001015555 2001-01-24
JP2003359903A JP4144668B2 (ja) 2001-01-24 2003-10-20 半導体集積回路

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002015594A Division JP3516162B2 (ja) 2001-01-24 2002-01-24 半導体集積回路

Publications (3)

Publication Number Publication Date
JP2004140376A true JP2004140376A (ja) 2004-05-13
JP2004140376A5 JP2004140376A5 (ja) 2008-04-24
JP4144668B2 JP4144668B2 (ja) 2008-09-03

Family

ID=18882084

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002015594A Expired - Fee Related JP3516162B2 (ja) 2001-01-24 2002-01-24 半導体集積回路
JP2003359903A Expired - Fee Related JP4144668B2 (ja) 2001-01-24 2003-10-20 半導体集積回路

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002015594A Expired - Fee Related JP3516162B2 (ja) 2001-01-24 2002-01-24 半導体集積回路

Country Status (4)

Country Link
US (2) US6600683B2 (ja)
EP (1) EP1227385A3 (ja)
JP (2) JP3516162B2 (ja)
KR (1) KR100826544B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010251629A (ja) * 2009-04-20 2010-11-04 Toppan Printing Co Ltd 集積半導体回路
JP2017512337A (ja) * 2014-02-19 2017-05-18 ルネサス・エレクトロニクス・ヨーロッパ・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツングRenesas Electronics Europe Gmbh 部品が本質的な特徴に基づいて起動される集積回路

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146422B1 (en) 2000-05-01 2006-12-05 Intel Corporation Method and apparatus for validating documents based on a validation template
US6732175B1 (en) * 2000-04-13 2004-05-04 Intel Corporation Network apparatus for switching based on content of application data
JP4899248B2 (ja) * 2001-04-02 2012-03-21 富士通セミコンダクター株式会社 半導体集積回路
JP3816034B2 (ja) * 2002-07-16 2006-08-30 松下電器産業株式会社 メモリ混載半導体集積回路
AU2003253201A1 (en) * 2002-08-30 2004-03-19 Koninklijke Philips Electronics N.V. Version-programmable circuit module
JP2004296928A (ja) * 2003-03-27 2004-10-21 Matsushita Electric Ind Co Ltd 半導体装置、これを用いたシステムデバイスおよびその製造方法
US7313456B2 (en) * 2003-04-11 2007-12-25 Applied Materials, Inc. Method and apparatus for capturing and using design intent in an integrated circuit fabrication process
US7818574B2 (en) * 2004-09-10 2010-10-19 International Business Machines Corporation System and method for providing dynamically authorized access to functionality present on an integrated circuit chip
US7442583B2 (en) * 2004-12-17 2008-10-28 International Business Machines Corporation Using electrically programmable fuses to hide architecture, prevent reverse engineering, and make a device inoperable
JP2009217552A (ja) * 2008-03-11 2009-09-24 Fujitsu Microelectronics Ltd ライセンス料管理プログラムおよびライセンス料管理方法
EP2282263A1 (fr) * 2009-07-31 2011-02-09 Gemalto SA Procédé de configuration fonctionnelle d'un circuit intégré pour carte à puce en vue d'une utilisation optimale de ses ressources
JP2012069565A (ja) * 2010-09-21 2012-04-05 Renesas Electronics Corp 半導体集積回路及び制御方法
US10944557B2 (en) * 2018-04-25 2021-03-09 Nxp B.V. Secure activation of functionality in a data processing system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445177A (en) * 1981-05-22 1984-04-24 Data General Corporation Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions
US5015884A (en) * 1985-03-29 1991-05-14 Advanced Micro Devices, Inc. Multiple array high performance programmable logic device family
FR2707774B1 (fr) * 1993-07-15 1995-08-18 Bull Sa Procédé de gestion cohérente des échanges entre des niveaux d'une hiérarchie de mémoires à au moins trois niveaux.
JPH07211868A (ja) * 1994-01-26 1995-08-11 Hitachi Ltd 半導体装置
WO1996025701A1 (en) * 1995-02-14 1996-08-22 Vlsi Technology, Inc. Method and apparatus for reducing power consumption in digital electronic circuits
EP0743602B1 (en) * 1995-05-18 2002-08-14 Hewlett-Packard Company, A Delaware Corporation Circuit device for function usage control in an integrated circuit
US5790882A (en) * 1996-11-13 1998-08-04 Xilinx, Inc. Programmable logic device placement method utilizing weighting function to facilitate pin locking
JP3865789B2 (ja) * 1997-05-23 2007-01-10 アルテラ コーポレイション インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長回路
US5889679A (en) * 1997-07-15 1999-03-30 Integrated Device Technology, Inc. Fuse array control for smart function enable
US6067633A (en) * 1998-03-31 2000-05-23 International Business Machines Corp Design and methodology for manufacturing data processing systems having multiple processors
US6668375B1 (en) * 1999-12-15 2003-12-23 Pitney Bowes Inc. Method and system for providing build-to-order software applications

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010251629A (ja) * 2009-04-20 2010-11-04 Toppan Printing Co Ltd 集積半導体回路
JP2017512337A (ja) * 2014-02-19 2017-05-18 ルネサス・エレクトロニクス・ヨーロッパ・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツングRenesas Electronics Europe Gmbh 部品が本質的な特徴に基づいて起動される集積回路
US10833878B2 (en) 2014-02-19 2020-11-10 Renesas Electronics Europe Gmbh Integrated circuit with parts activated based on intrinsic features

Also Published As

Publication number Publication date
EP1227385A3 (en) 2005-11-23
JP4144668B2 (ja) 2008-09-03
JP2002299464A (ja) 2002-10-11
KR20020062790A (ko) 2002-07-31
US6600683B2 (en) 2003-07-29
US20040022089A1 (en) 2004-02-05
US20020097612A1 (en) 2002-07-25
US7257715B2 (en) 2007-08-14
JP3516162B2 (ja) 2004-04-05
EP1227385A2 (en) 2002-07-31
KR100826544B1 (ko) 2008-05-02

Similar Documents

Publication Publication Date Title
JP4144668B2 (ja) 半導体集積回路
US7761717B2 (en) Memory device with data security in a processor
US7693596B2 (en) System and method for configuring information handling system integrated circuits
US9230137B2 (en) Secure original equipment manufacturer (OEM) identifier for OEM devices
JP4683442B2 (ja) 処理装置および集積回路
EP2702526B1 (en) Method and apparatus for securing programming data of a programmable device
JP6902584B2 (ja) ブートプログラム、情報処理装置、情報処理システム、情報処理方法、半導体装置、およびプログラム
TW201926112A (zh) 通訊系統及通訊系統的操作方法
JP2006236064A (ja) メモリ制御装置およびメモリシステム
US20140358792A1 (en) Verifying oem components within an information handling system using original equipment manufacturer (oem) identifier
GB2445303A (en) A key database for configuring integrated circuits used in information handling systems
JP4783163B2 (ja) マイクロコントローラ
US11816252B2 (en) Managing control of a security processor in a supply chain
JP4017149B2 (ja) プログラムの不正実行防止機能付きプロセッサ
US20230015519A1 (en) Automatically evicting an owner of a security processor
JP2005524915A (ja) システムおよび認証方法
Smerdon Security solutions using Spartan-3 generation FPGAs
JP2009506416A (ja) プロセッサハードウェアおよびソフトウェア
JP2002305250A (ja) 半導体集積回路および半導体集積回路に関するビジネス方法
US11977639B2 (en) Indicating a type of secure boot to endpoint devices by a security processor
JP2007004340A (ja) 半導体集積回路
Couture SELF-EXPIRING, LICENSING, ARCHITECTURE FOR
JP2011096002A (ja) 半導体装置の利用制限方法、及び半導体装置
IE85332B1 (en) System and method for configuring information handling system integrated circuits
JP2013073472A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080414

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080610

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees