JP2007004340A - Semiconductor integrated circuit - Google Patents

Semiconductor integrated circuit Download PDF

Info

Publication number
JP2007004340A
JP2007004340A JP2005181695A JP2005181695A JP2007004340A JP 2007004340 A JP2007004340 A JP 2007004340A JP 2005181695 A JP2005181695 A JP 2005181695A JP 2005181695 A JP2005181695 A JP 2005181695A JP 2007004340 A JP2007004340 A JP 2007004340A
Authority
JP
Japan
Prior art keywords
module
flag
public key
integrated circuit
semiconductor integrated
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.)
Withdrawn
Application number
JP2005181695A
Other languages
Japanese (ja)
Inventor
Takashi Okada
崇 岡田
Fumio Arakawa
文男 荒川
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 Technology Corp
Original Assignee
Renesas Technology 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 Technology Corp filed Critical Renesas Technology Corp
Priority to JP2005181695A priority Critical patent/JP2007004340A/en
Publication of JP2007004340A publication Critical patent/JP2007004340A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To lower development costs of a semiconductor integrated circuit. <P>SOLUTION: This semiconductor integrated circuit is provided with IP modules 14, 15, and 16, a public key storage part 20 storing public keys matching them, a computing part 3 performing decoding processing from the outside based on a secret key and the public keys, a flag register 19 allowing writing of a flag showing whether usage of the module is allowed or not, and selection control logics G1, G2, and G3 capable of making a selection among the modules based on the flag in the flag register. When whether usage of the IP module is allowed or not is controlled integrally by means of the flag resister, customization of the semiconductor integrated circuit for each customer can be dispensed with, and consequently, development costs for the semiconductor integrated circuit can be lowered. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、半導体集積回路、さらにはそれにおける開発コストの低減化技術に関し、例えばマイクロプロセッサに適用して有効な技術に関する。   The present invention relates to a semiconductor integrated circuit, and further to a technology for reducing the development cost thereof, for example, a technology effective when applied to a microprocessor.

近年、半導体集積回路の高集積化にともなって、これまでプリント基板上で実現してきたシステムを1チップで実現可能となってきた。つまり、システム・オン・チップ(SoC)と呼ばれる大規模集積回路の実現である。しかし、大規模なSoCになるほど設計工数が増加するため、全てを新規開発していたのでは、莫大なコスト、時間が必要となる。そこで、設計資産(Intellectual Property:IP)を再利用して開発することが一般的な設計手法となっている。IPを用いると設計期間が短縮できるが、誰でも使用することができるため、悪用されてしまう可能性がでてくる。また、IPのなかには、設計データとして単独取引の対象とされるものがある。そのようなIPモジュールを使用するにはライセンス料が必要とされ、ライセンス料を払っていない顧客に対しては、IPを使用させないようにするため、IPの使用を管理することが必要になる。   In recent years, with higher integration of semiconductor integrated circuits, it has become possible to implement a system that has been realized on a printed circuit board with a single chip. In other words, it is a realization of a large-scale integrated circuit called a system-on-chip (SoC). However, since the man-hours for design increase as the SoC becomes larger, enormous costs and time are required if everything is newly developed. Therefore, it is a common design method to develop by reusing design assets (IP). When IP is used, the design period can be shortened, but since anyone can use it, there is a possibility that it will be misused. Also, some IPs are subject to single transaction as design data. A license fee is required to use such an IP module, and it is necessary to manage the use of IP in order to prevent customers who have not paid the license fee from using the IP.

ところで、大規模集積回路のニーズは顧客毎に多種多様となっており、顧客毎にシステムを設計する少量多品種の開発が一般的となっている。IPを再利用することで、少量多品種の開発も短期間で行うことが可能である。一方、少量多品種の開発になると、類似の構成をしたマイクロプロセッサを大量に開発することになり、開発コストが増大する。   By the way, the needs of large-scale integrated circuits are diversified for each customer, and it is common to develop a small variety of products that design a system for each customer. By reusing IP, it is possible to develop a small variety of products in a short period of time. On the other hand, when it comes to the development of a small quantity and a variety of products, a large number of microprocessors having similar configurations will be developed, and the development cost will increase.

IPの使用を管理する方式として、特許文献1のように、搭載IPを暗号化し、IP毎に管理する方式がある。この方式では、購入したIPに修正を加える必要がでてくる。また、搭載IPを暗号化した場合、使用許可を確認するため、毎回電源投入時に不正利用でないことを確認する必要がある。さらに、IP毎に復号用演算処理回路を搭載する必要がある。また、ライセンス料が必要なIPに関しては、使用許可、制限に関して毎回電源投入時に外部からライセンスコードを与え、このライセンスコードによってIPの使用を管理する方式がある。この方式では毎回電源投入時に使用可能かのチェックを行う必要があり、常に半導体集積回路の外部でライセンスコードを管理し保持する必要がある。   As a method for managing the use of IP, there is a method for encrypting a mounted IP and managing it for each IP, as in Patent Document 1. In this method, it is necessary to modify the purchased IP. In addition, when the installed IP is encrypted, it is necessary to confirm that it is not illegally used every time the power is turned on in order to confirm use permission. Furthermore, it is necessary to mount a decoding arithmetic processing circuit for each IP. As for IP requiring a license fee, there is a method of giving a license code from the outside every time the power is turned on for use permission and restriction, and managing the use of the IP by this license code. In this method, it is necessary to check whether it can be used every time the power is turned on, and it is necessary to always manage and hold the license code outside the semiconductor integrated circuit.

特開2001−256114号公報JP 2001-256114 A

一般に少量多品種の半導体集積回路を開発する場合、顧客毎にマイクロプロセッサなどの半導体集積回路をカスタマイズする必要があるため、開発コストが増大する。顧客毎にカスタマイズしたとしても、使用目的が同じであれば、類似のマイクロプロセッサの構造になる。特にライセンス料を必要とするIPモジュールの使用、不使用の違いとなることが多い。   In general, when developing a small amount of various types of semiconductor integrated circuits, it is necessary to customize a semiconductor integrated circuit such as a microprocessor for each customer, which increases the development cost. Even if customized for each customer, a similar microprocessor structure can be obtained if the purpose of use is the same. In particular, there are many differences between using and not using IP modules that require license fees.

本発明の目的は、半導体集積回路の開発コストの低減を図ることにある。   An object of the present invention is to reduce the development cost of a semiconductor integrated circuit.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

〔1〕モジュールと、上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、上記フラグレジスタのフラグに基づいて上記モジュールを選択可能な選択制御論理とを設ける。   [1] A decryption process based on a module, a public key storage unit that stores a public key corresponding to the module, and the public key in the public key storage unit when a private key is given from the outside A flag register that allows writing of a flag indicating whether or not to permit the use of the module according to the decoding in the calculator, and the flag register based on the flag in the flag register. Selection control logic capable of selecting a module is provided.

上記の手段によれば、上記モジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することができ、このことが、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。   According to the above means, whether or not to permit use of the module can be collectively managed by the flag register, which eliminates the need for customization of the semiconductor integrated circuit for each customer, and develops the semiconductor integrated circuit. Achieve cost reduction.

〔2〕上記〔1〕において、上記モジュールは、上記モジュール毎に制御用レジスタを内蔵し、上記制御論理は、上記フラグレジスタのフラグに基づいて制御用レジスタに対するアクセス許可を得ることができる。   [2] In the above [1], the module incorporates a control register for each module, and the control logic can obtain access permission to the control register based on the flag of the flag register.

〔3〕演算処理のための中央処理装置と、上記中央処理装置に専用線で結合されたモジュールと、上記モジュールに対応する公開鍵を格納する公開鍵記憶部とを含んで半導体集積回路が構成されるとき、上記中央処理装置は、外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタとを含み、上記フラグレジスタのフラグに基づいて上記モジュールが選択されるように構成する。   [3] A semiconductor integrated circuit includes a central processing unit for arithmetic processing, a module coupled to the central processing unit by a dedicated line, and a public key storage unit that stores a public key corresponding to the module. When the central processing unit is given a secret key from the outside, the central processing unit performs a decryption process based on the secret key and the public key in the public key storage unit, and decryption by the calculation unit And a flag register capable of writing a flag indicating whether or not the use of the module is permitted, and configured so that the module is selected based on the flag in the flag register.

上記の手段によれば、上記モジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することができ、このことが、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。   According to the above means, whether or not to permit use of the module can be collectively managed by the flag register, which eliminates the need for customization of the semiconductor integrated circuit for each customer, and develops the semiconductor integrated circuit. Achieve cost reduction.

〔4〕モジュールと、上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、上記フラグレジスタのフラグに応じて、上記モジュールへのクロック信号の供給を制御可能なクロック制御論理とを設ける。   [4] Decryption processing based on the module, the public key storage unit for storing the public key corresponding to the module, and the public key in the public key storage unit when the private key is given from the outside A flag register that allows writing of a flag indicating whether or not to permit the use of the module according to the decoding in the calculation unit, and a flag in the flag register, Clock control logic capable of controlling supply of a clock signal to the module is provided.

上記の手段によれば、上記モジュールの使用を許可するか否かを上記フラグレジスタによって一括管理することができ、このことが、顧客毎の半導体集積回路のカスタマイズを不要とし、半導体集積回路の開発コストの低減を達成する。   According to the above means, whether or not to permit use of the module can be collectively managed by the flag register, which eliminates the need for customization of the semiconductor integrated circuit for each customer, and develops the semiconductor integrated circuit. Achieve cost reduction.

〔5〕上記〔4〕において、上記クロック制御論理は、上記フラグレジスタのフラグと、モジュール毎にクロック信号の停止を指示可能なクロック停止信号との論理演算を行い、その演算結果に応じて上記モジュールへクロック信号を供給することができる。   [5] In the above [4], the clock control logic performs a logical operation of the flag of the flag register and a clock stop signal capable of instructing the stop of the clock signal for each module, and the above-mentioned clock control logic performs the above operation according to the operation result. A clock signal can be supplied to the module.

〔6〕上記〔1〕乃至〔5〕の何れかにおいて、上記モジュールは、単独取引の対象となる設計データを用いて設計されたIPモジュールとすることができる。   [6] In any one of the above [1] to [5], the module may be an IP module designed using design data to be a single transaction target.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、顧客毎に半導体集積回路をカスタマイズしなくて良いため、半導体集積回路の開発コストの低減を達成することができる。   In other words, since it is not necessary to customize the semiconductor integrated circuit for each customer, the development cost of the semiconductor integrated circuit can be reduced.

図1には、本発明にかかる半導体集積回路の一例であるシステム・オン・チップ(SoC)によるマイクロプロセッサが示される。同図に示されるマイクロプロセッサ(MPU)1は特に制限されないが、公知のCMOS(相補型MOSトランジスタ)やバイポーラトランジスタなどを形成する半導体集積回路技術によって、単結晶シリコンのような1個の半導体基板に形成される。   FIG. 1 shows a system-on-chip (SoC) microprocessor as an example of a semiconductor integrated circuit according to the present invention. The microprocessor (MPU) 1 shown in the figure is not particularly limited, but one semiconductor substrate such as single crystal silicon is formed by a semiconductor integrated circuit technology for forming a known CMOS (complementary MOS transistor), bipolar transistor or the like. Formed.

マイクロプロセッサ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が、本発明における公開鍵記憶部の一例とされる。   The microprocessor 1 includes a central processing unit (CPU) 2 as a main processor, an instruction cache memory (I-CACHE) 4, a data cache memory (D-CACHE) 5, a cache controller (CCN) 6, a floating point arithmetic unit (FPU). ) 7, Instruction bus (IBUS) 8, Data bus (DBUS) 9, Arbiter 10, Peripheral bus (PBUS) 11, Memory bus (MBUS) 12, Bus state controller (BSC) 13 IP modules 14, 15, 16 designed using data, a ROM (Read Only Memory) 20 for storing a public key, an interrupt controller (INTC) 21, and the like. The ROM 20 is an example of a public key storage unit in the present invention.

中央処理装置2は、命令バス8を介して命令キャッシュメモリ4に接続され、データバス9を介してデータキャッシュメモリ5に接続される。浮動小数点演算ユニット7は、中央処理装置2から命令供給される。キャッシュコントローラ6は、命令キャッシュメモリ4、データキャッシュメモリ5の制御を行う。バスステートコントローラ13は、外部に接続されるメモリ(MEM)17のインタフェース制御機能を有する。IPモジュール14、15、16、割り込みコントローラ21は周辺バス11に接続され、アービタ10を介して制御レジスタの読み書きを行う。   The central processing unit 2 is connected to the instruction cache memory 4 via the instruction bus 8 and is connected to the data cache memory 5 via the data bus 9. The floating point arithmetic unit 7 is supplied with instructions from the central processing unit 2. The cache controller 6 controls the instruction cache memory 4 and the data cache memory 5. The bus state controller 13 has an interface control function of a memory (MEM) 17 connected to the outside. The IP modules 14, 15, 16 and the interrupt controller 21 are connected to the peripheral bus 11 and read / write control registers via the arbiter 10.

アービタ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によってこの制御レジスタにフラグが設定されることによって、対応するモジュールが選択的に使用可能とされる。   The arbiter 10 manages the addresses of the control registers of all peripheral modules such as the IP modules 14, 15, 16 and the interrupt controller 21 connected to the peripheral bus 11. When there is a read / write request for a register in the IP module 14, 15, 16 or the interrupt controller 21, the IP and peripheral module of the address are selected for the input address, and the register is read / written. Is possible. The arbiter 10 includes an address selector control unit 18 that selects an address, a flag register 19 that manages the usage status, and the like. The flag register 19 is not particularly limited, but is made non-volatile using a flash memory or the like. Since the write authority of the flag register 19 is encrypted, it cannot be normally written. The initial value is a logical value “0”, and all IP modules cannot be used. The write authority is given only when decryption is possible with the public key and the private key. The flag register 19 is used only for an IP that requires a license fee. Accordingly, the peripheral module such as the interrupt controller 21 does not have a corresponding flag register. In the subsequent stage of the flag register 19, AND gates G1, G2, and G3 are provided. The AND gates G1, G2, and G3 obtain an AND logic between the address signal from the address select control unit 18 and the flag output of the flag register 19. Based on the AND logic, the IP modules 14, 15, and 16 are selected. The IP modules 14, 15 and 16 each have a built-in control register. A flag is set in this control register by the AND gates G1, G2, and G3, so that the corresponding module can be selectively used.

図2には、アドレスセレクト制御部18の構成例が示される。同図に示されるようにアドレスセレクト制御部18は、アンドゲートG11,G12,G13,G14を含む。アンドゲートG11〜G13の出力はIPのセレクト信号とされ、アンドゲートG14の出力は割り込みコントローラのセレクト信号とされる。かかる構成において、復号完了した場合には、フラグレジスタの書き込みが可能となる。それ以外の場合には、各IPモジュール14、15、16、割り込みコントローラ21等の周辺モジュールに割り当てられたアドレスが入力されると、該IPモジュール、周辺モジュールをセレクトし、それらの内蔵レジスタのリード、ライトが可能となる。   FIG. 2 shows a configuration example of the address select control unit 18. As shown in the figure, the address select control unit 18 includes AND gates G11, G12, G13, and G14. The outputs of the AND gates G11 to G13 are IP select signals, and the output of the AND gate G14 is an interrupt controller select signal. In such a configuration, when the decoding is completed, the flag register can be written. In other cases, when the addresses assigned to the peripheral modules such as the IP modules 14, 15, 16 and the interrupt controller 21 are input, the IP modules and the peripheral modules are selected and the built-in registers are read. , Light is possible.

図3には、図1に示される構成におけるフラグの更新手順、処理の流れが示される。   FIG. 3 shows a flag update procedure and process flow in the configuration shown in FIG.

先ず、暗号化された公開鍵を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の何れかのみが使用可能となる場合もあり得る。   First, the encrypted public key is stored in the ROM 20. At this time, the encryption method is not particularly limited, but is, for example, the RSA public encryption method. The microprocessor 1 performs normal processing. The normal processing is a state in which the central processing unit 2 fetches an instruction from the instruction cache memory 4 and performs an operation. If there is an IP use request from outside the microprocessor 1 during normal processing, the central processing unit 2 accepts this IP use request. When receiving the IP use request, the central processing unit 2 takes in the public key and the secret key held in the ROM 20 to the arithmetic unit 3 and performs a decryption process. At this time, normal processing is not executed. When decoding is completed, the central processing unit 2 outputs a completion signal to the address select control unit 18 in the arbiter 10, and the address select control unit 18 performs address selection to the flag register 19 so that writing to the flag register 19 is possible. The authentication result decrypted with the secret key is written in the flag register 19 as an FLG value, and the mounted IP can be used. After the writing is completed, the address select control unit 18 selects the address select signal to the IP module connected to the peripheral module and the peripheral module, and the central processing unit 2 returns to the normal processing. When 1 is written in the flag register 19, the register read / write of the IP modules 14, 15, 16 selected by the address select control unit becomes possible, and the IP modules 14, 15, 16 can be used. Note that only one of the modules 14, 15, and 16 may be usable in relation to the license.

上記例によれば、以下の作用効果を得ることができる。   According to the above example, the following operational effects can be obtained.

(1)ライセンス料が必要なIPモジュールに対して、周辺バスに接続されたIPモジュールをアービタ10内のフラグレジスタ19で一括管理することで、購入IPの暗号化が必要ないため、購入IPをそのまま使用できるという利点がある。   (1) For IP modules that require a license fee, the IP modules connected to the peripheral bus are collectively managed by the flag register 19 in the arbiter 10, so that the purchased IP is not encrypted. There is an advantage that it can be used as it is.

(2)ライセンス料が必要なIPモジュールに対して、周辺バスに接続されたIPモジュールをアービタ10内のフラグレジスタ19で一括管理しており、IPモジュール毎に暗号化を行う必要がないので、復号用演算回路をIPモジュール毎に持つ必要がない。   (2) For IP modules that require a license fee, the IP modules connected to the peripheral bus are collectively managed by the flag register 19 in the arbiter 10, and it is not necessary to perform encryption for each IP module. There is no need to have a decoding arithmetic circuit for each IP module.

(3)IPモジュール毎に暗号化を行った場合、電源投入毎に使用許可を確認する必要があるが、周辺バスに接続されたIPモジュールをアービタ10内のフラグレジスタ19で一括管理するようにしているため、電源投入毎に使用許可を確認する必要がない。   (3) When encryption is performed for each IP module, it is necessary to confirm the use permission every time the power is turned on. However, the IP modules connected to the peripheral bus are collectively managed by the flag register 19 in the arbiter 10. Therefore, it is not necessary to confirm the use permission every time the power is turned on.

図4には、本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例が示される。図1の構成例では、IPモジュール14、15、16は周辺バス11を介して接続されていたが、アクセラレータ22のように中央処理装置2の機能に付随するIPの場合には、周辺バス11を介さずに、専用線により中央処理装置2と直接接続される。この場合、中央処理装置2内に使用状況を把握するフラグレジスタ19などを有する。アービタ24は、割り込みコントローラ21やクロックパルスジェネレータ(CPG)23等周辺モジュールの制御レジスタのリード、ライトを管理する。このように中央処理装置2に接続されているモジュール22に対しては中央処理装置2内のレジスタ19で管理することにより、搭載IPの暗号化は必要なくなる。   FIG. 4 shows another configuration example of a microprocessor which is an example of a semiconductor integrated circuit according to the present invention. In the configuration example of FIG. 1, the IP modules 14, 15, and 16 are connected via the peripheral bus 11. However, in the case of an IP associated with the function of the central processing unit 2 such as the accelerator 22, the peripheral bus 11 is used. Without being connected to the central processing unit 2 via a dedicated line. In this case, the central processing unit 2 includes a flag register 19 for grasping the usage status. The arbiter 24 manages reading and writing of control registers of peripheral modules such as the interrupt controller 21 and the clock pulse generator (CPG) 23. As described above, the module 22 connected to the central processing unit 2 is managed by the register 19 in the central processing unit 2, so that it is not necessary to encrypt the mounted IP.

図5には、図4に示されるマイクロプロセッサにおけるフラグレジスタの更新手順、処理の流れが示される。図5に示される説明図が、図3に示されるのと大きく相違するのは、アービタで行っていたフラグレジスタ書き込みを中央処理装置2で行っている点である。その他については図3に示されるのと同様とされ、秘密鍵にて復号化した認証結果をFLG値としてフラグレジスタへ書き込むことでモジュール21のレジスタリード、ライトが可能となり使用状態とされる。   FIG. 5 shows a flag register update procedure and process flow in the microprocessor shown in FIG. The explanatory diagram shown in FIG. 5 is largely different from that shown in FIG. 3 in that the central processing unit 2 performs the flag register writing which has been performed by the arbiter. Others are the same as those shown in FIG. 3, and the authentication result decrypted with the secret key is written in the flag register as the FLG value, so that the register 21 can be read from and written to the module 21.

図6には、本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例が示される。図6に示されるマイクロプロセッサは、図1に示されるマイクロプロセッサと、図4に示されるマイクロプロセッサとの双方の機能を有する。かかる構成によれば、アービタ10に接続されるIPモジュール14、15、16および中央処理装置2に接続されるモジュール21に対してそれぞれのフラグレジスタ19で使用状況管理を行っている。公開鍵を格納しているROM20はアービタ10、中央処理装置2で共通である。秘密鍵の復号も共通で、中央処理装置2の演算部3で行っている。   FIG. 6 shows another configuration example of a microprocessor which is an example of a semiconductor integrated circuit according to the present invention. The microprocessor shown in FIG. 6 has the functions of both the microprocessor shown in FIG. 1 and the microprocessor shown in FIG. According to this configuration, the usage status management is performed by the respective flag registers 19 for the IP modules 14, 15, 16 connected to the arbiter 10 and the module 21 connected to the central processing unit 2. The ROM 20 storing the public key is common to the arbiter 10 and the central processing unit 2. The decryption of the secret key is also common and is performed by the arithmetic unit 3 of the central processing unit 2.

図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を介して行うことができる。   FIG. 7 shows another configuration example of a microprocessor which is an example of a semiconductor integrated circuit according to the present invention. The configuration shown in FIG. 7 is greatly different from that shown in FIG. 1 in that, instead of the arbiter 10, a clock pulse generator (CPG) 25 has a flag register 19 for grasping the use status. . The microprocessor 1 is provided with stop signal registers SP1, SP2 and SP3 capable of holding stop signals for stopping clocks of the IP module and peripheral modules. When the stop signals held in the stop signal registers SP1, SP2 and SP3 are logical values “1”, the AND conditions in the corresponding AND gates G31, G32 and G33 are not satisfied, so The supply of the clock signal is stopped. Only when the stop signal is the logical value “0” and the output value of the flag register 19 is the logical value “1”, the clock signal is supplied to the corresponding module. Specifically, the output values of the AND gates G31, G32, and G33 are set as flags for the control registers built in the IP modules 14, 15, and 16, respectively. Only when it is set to “1”, the clock signals CLK1, CLK2, and CLK3 from the clock pulse generator 25 are made valid. Even if the clock signals CLK1, CLK2, and CLK3 from the clock pulse generator 25 are controlled in this way, the use of the IP modules 14, 15, and 16 can be restricted, and therefore, the same as the case shown in FIG. An effect can be obtained. Information setting to the stop signal registers SP1, SP2 and SP3 can be performed via the central processing unit 2.

以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   Although the invention made by the present inventor has been specifically described above, the present invention is not limited thereto, and it goes without saying that various changes can be made without departing from the scope of the invention.

例えば、複数の中央処理装置が搭載されたマイクロプロセッサに対して、中央処理装置の使用状況を制御するアービタを設けることで、複数の中央処理装置の使用制御にも適用できる。また、浮動小数点演算ユニットとディジタルシグナルプロセッサ(DSP)を搭載する場合の使用状況制御にも適用できる。更に、制御使用状況を管理するアービタをマイクロプロセッサの外に設けることで、マイクロプロセッサ間の使用制御にも適用できる。   For example, by providing an arbiter for controlling the use status of the central processing unit for a microprocessor on which a plurality of central processing units are mounted, the present invention can be applied to use control of the plurality of central processing units. The present invention can also be applied to usage status control when a floating point arithmetic unit and a digital signal processor (DSP) are installed. Furthermore, by providing an arbiter for managing the control usage status outside the microprocessor, it is also applicable to usage control between the microprocessors.

上記の例では複数のIPモジュールを備えたものについて説明したが、IPモジュールが1個だけ搭載される場合も考えられ、かかる場合にも本発明を適用することができる。   In the above example, a case where a plurality of IP modules are provided has been described. However, there may be a case where only one IP module is mounted, and the present invention can also be applied to such a case.

以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロプロセッサに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体集積回路に広く適用することができる。   In the above description, the case where the invention made by the present inventor is applied to the microprocessor which is the field of use behind the invention has been described. Can be applied.

本発明は、少なくともIPモジュールを含むことを条件に適用することができる。   The present invention can be applied on condition that at least an IP module is included.

本発明にかかる半導体集積回路の一例であるマイクロプロセッサの構成例ブロック図である。1 is a block diagram illustrating a configuration example of a microprocessor which is an example of a semiconductor integrated circuit according to the present invention. 図1に示されるマイクロプロセッサにおける主要部の構成例回路図である。FIG. 2 is a circuit diagram illustrating a configuration example of a main part in the microprocessor illustrated in FIG. 1. 図1に示されるマイクロプロセッサにおける主要動作の説明図である。It is explanatory drawing of the main operation | movement in the microprocessor shown by FIG. 本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例ブロック図である。FIG. 11 is a block diagram showing another configuration example of a microprocessor which is an example of a semiconductor integrated circuit according to the present invention. 図4に示されるマイクロプロセッサにおける主要動作の説明図である。FIG. 5 is an explanatory diagram of main operations in the microprocessor shown in FIG. 4. 本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例ブロック図である。FIG. 11 is a block diagram showing another configuration example of a microprocessor which is an example of a semiconductor integrated circuit according to the present invention. 本発明にかかる半導体集積回路の一例であるマイクロプロセッサの別の構成例ブロック図である。FIG. 11 is a block diagram showing another configuration example of a microprocessor which is an example of a semiconductor integrated circuit according to the present invention.

符号の説明Explanation of symbols

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 Microprocessor (MPU)
2 Central processing unit (CPU)
3 arithmetic unit 4 instruction cache memory (I-CACHE)
5 Data cache memory (D-CACHE)
6 Cache controller (CCN)
7 Floating-point unit (FPU)
8 Instruction bus (IBUS)
9 Data bus (DBUS)
10 Arbiter 11 Peripheral bus (PBUS)
12 Memory bus (MBUS)
13 Bus state controller (BSC)
14 IP module 15 IP module 16 IP module 17 External memory (MEM)
18 Address Select Control Unit 19 Flag Register 20 Public Key Storage ROM
21 IP module 22 Interrupt controller (INTC)
23 Clock pulse generator (CPG)
24 Arbiter 25 Clock pulse generator (CPG)

Claims (6)

モジュールと、
上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、
外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、
上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、
上記フラグレジスタのフラグに基づいて上記モジュールを選択可能な選択制御論理と、を含むことを特徴とする半導体集積回路。
Modules,
A public key storage unit for storing a public key corresponding to the module;
A calculation unit that performs a decryption process based on the secret key and the public key in the public key storage unit when a secret key is given from the outside;
A flag register capable of writing a flag indicating whether or not to permit use of the module according to the decoding in the arithmetic unit;
And a selection control logic capable of selecting the module based on a flag of the flag register.
上記モジュールは、上記モジュール毎に制御用レジスタを内蔵し、上記制御論理は、上記フラグレジスタのフラグに基づいて制御用レジスタに対するアクセス許可を得る請求項1記載の半導体集積回路。   The semiconductor integrated circuit according to claim 1, wherein the module includes a control register for each module, and the control logic obtains an access permission to the control register based on a flag of the flag register. 演算処理のための中央処理装置と、
上記中央処理装置に専用線で結合されたモジュールと、
上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、を含む半導体集積回路であって、
上記中央処理装置は、
外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、
上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、を含み、
上記フラグレジスタのフラグに基づいて上記モジュールが選択されることを特徴とする半導体集積回路。
A central processing unit for arithmetic processing;
A module coupled to the central processing unit by a dedicated line;
A public key storage unit that stores a public key corresponding to the module, and a semiconductor integrated circuit comprising:
The central processing unit is
A calculation unit that performs a decryption process based on the secret key and the public key in the public key storage unit when a secret key is given from the outside;
A flag register that allows writing of a flag indicating whether or not to permit the use of the module according to the decoding in the arithmetic unit,
The semiconductor integrated circuit, wherein the module is selected based on a flag of the flag register.
モジュールと、
上記モジュールに対応する公開鍵を格納する公開鍵記憶部と、
外部から秘密鍵が与えられた場合に、上記秘密鍵と上記公開鍵記憶部内の公開鍵とに基づく復号処理を行う演算部と、
上記演算部での復号化に応じて、上記モジュールの使用を許可するか否かを示すフラグの書き込みが可能とされるフラグレジスタと、
上記フラグレジスタのフラグに応じて、上記モジュールへのクロック信号の供給を制御可能なクロック制御論理と、を含むことを特徴とする半導体集積回路。
Modules,
A public key storage unit for storing a public key corresponding to the module;
A calculation unit that performs a decryption process based on the secret key and the public key in the public key storage unit when a secret key is given from the outside;
A flag register capable of writing a flag indicating whether or not to permit use of the module according to the decoding in the arithmetic unit;
And a clock control logic capable of controlling supply of a clock signal to the module in accordance with a flag of the flag register.
上記クロック制御論理は、上記フラグレジスタのフラグと、モジュール毎にクロック信号の停止を指示可能なクロック停止信号との論理演算を行い、その演算結果に応じて上記モジュールへクロック信号を供給する請求項4記載の半導体集積回路。   The clock control logic performs a logical operation of a flag of the flag register and a clock stop signal capable of instructing a stop of the clock signal for each module, and supplies the clock signal to the module according to the operation result. 5. The semiconductor integrated circuit according to 4. 上記モジュールは、単独取引の対象となる設計データを用いて設計されたIPモジュールとされた請求項1乃至5の何れか1項記載の半導体集積回路。   6. The semiconductor integrated circuit according to claim 1, wherein the module is an IP module designed using design data that is a target of a single transaction.
JP2005181695A 2005-06-22 2005-06-22 Semiconductor integrated circuit Withdrawn JP2007004340A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005181695A JP2007004340A (en) 2005-06-22 2005-06-22 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005181695A JP2007004340A (en) 2005-06-22 2005-06-22 Semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2007004340A true JP2007004340A (en) 2007-01-11

Family

ID=37689927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005181695A Withdrawn JP2007004340A (en) 2005-06-22 2005-06-22 Semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2007004340A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022172365A1 (en) * 2021-02-10 2022-08-18 日本電信電話株式会社 Resource control unit, resource control system, and resource control method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022172365A1 (en) * 2021-02-10 2022-08-18 日本電信電話株式会社 Resource control unit, resource control system, and resource control method

Similar Documents

Publication Publication Date Title
US8495354B2 (en) Apparatus for determining during a power-on sequence, a value to be written to a first register in a secure area and the same value to a second register in non-secure area, which during a protected mode, the value is compared such that if it is equal, enabling writing to a memory
EP0809832B1 (en) Integrated circuit for smart card
JP2006221629A (en) Content control method and device by resource management of processor
US20210081538A1 (en) Early platform hardening technology for slimmer and faster boot
JP2000076133A (en) Security guarantee method for program data inside memory writable only once
WO2007088699A1 (en) Apparatus and method for providing key security in a secure processor
TWI228889B (en) Mechanism for closing back door access mechanisms in personal computer systems
US20020108045A1 (en) Preventing unauthorized updates to a non-volatile memory
US20190156015A1 (en) Smm protection utilizing ring separation and smi isolation
JP3516162B2 (en) Semiconductor integrated circuit
US11768941B2 (en) Non-ROM based IP firmware verification downloaded by host software
US8065526B2 (en) Methods and apparatus for content control using processor resource management
US20210326135A1 (en) Programmable Fabric-Based Instruction Set Architecture for a Processor
US7054121B2 (en) Protection circuit for preventing unauthorized access to the memory device of a processor
Khan et al. Utilizing and extending trusted execution environment in heterogeneous SoCs for a pay-per-device IP licensing scheme
JP2007004340A (en) Semiconductor integrated circuit
JP2008040585A (en) Microcomputer
EP4020114A1 (en) Time and frequency domain side-channel leakage suppression using integrated voltage regulator cascaded with runtime crypto arithmetic transformations
US20220197658A1 (en) Isa opcode parameterization and opcode space layout randomization
US20170098083A1 (en) Event-based apparatus and method for securing bios in a trusted computing system during execution
JP2009506416A (en) Processor hardware and software
EP4156518A1 (en) Clock synchronization process and circuitry
US20230275758A1 (en) Reprogrammable processing device root key architecture
US8646107B1 (en) Implementing usage limited systems
US10095868B2 (en) Event-based apparatus and method for securing bios in a trusted computing system during execution

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080902