JP3892004B2 - LSI design method - Google Patents

LSI design method Download PDF

Info

Publication number
JP3892004B2
JP3892004B2 JP2004217789A JP2004217789A JP3892004B2 JP 3892004 B2 JP3892004 B2 JP 3892004B2 JP 2004217789 A JP2004217789 A JP 2004217789A JP 2004217789 A JP2004217789 A JP 2004217789A JP 3892004 B2 JP3892004 B2 JP 3892004B2
Authority
JP
Japan
Prior art keywords
circuit
dummy
encryption
output
original
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.)
Expired - Fee Related
Application number
JP2004217789A
Other languages
Japanese (ja)
Other versions
JP2005018798A (en
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2004217789A priority Critical patent/JP3892004B2/en
Publication of JP2005018798A publication Critical patent/JP2005018798A/en
Application granted granted Critical
Publication of JP3892004B2 publication Critical patent/JP3892004B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、LSIの設計に関するものであり、特に、設計データの機密を保つための技術に属する。   The present invention relates to LSI design and, in particular, belongs to a technique for keeping confidential design data.

LSIの設計において、回路の中身の機密を保ちたい場合がある。例えば、データの暗号化に関わるLSIでは、その回路の中身が知られると、これにより、暗号化のロジックが解読されてしまうおそれがある。   In LSI design, there is a case where it is desired to keep confidential circuit contents. For example, in an LSI related to data encryption, if the contents of the circuit are known, the encryption logic may be decrypted.

従来では、このような機密保持を要するLSIの設計は、設計に従事する人を限定したり、あるいは、設計を行う場所を特定したりすることによって、他の人に回路の中身が知られないようにしていた。   Conventionally, LSI design that requires such confidentiality is limited to the people engaged in the design, or the location of the design is specified so that other people cannot know the contents of the circuit. It was like that.

近年のLSIの複雑化、大規模化に伴い、1個のLSIの設計には、多数の設計者が携わっている。したがって、設計者や設計場所の限定のみでは、回路の機密を保つのに必ずしも十分ではない。   With the increasing complexity and scale of LSI in recent years, many designers are involved in designing one LSI. Therefore, the limitation of the designer and design location alone is not necessarily sufficient to keep the circuit secret.

前記の問題に鑑み、本発明は、LSIの設計において、暗号化処理を採り入れ、従来よりも回路設計データの機密性を高めることを課題とする。   In view of the above problems, an object of the present invention is to adopt an encryption process in designing an LSI and to increase the confidentiality of circuit design data as compared with the conventional art.

請求項1の発明が講じた解決手段は、与えられた回路設計データに対し、暗号化処理を行う暗号化処理部を有するLSI設計装置におけるLSI設計方法として、前記暗号化処理部が、前記回路設計データが表す回路の全体または一部を元の回路として回路変換を行い、暗号化回路を生成するステップを備えており、前記回路変換ステップは、前記元の回路と入力数および出力数が同一の少なくとも1つのダミー回路を前記元の回路と並列に配置し、前記元の回路およびダミー回路の出力を並び替える並び替え回路を配置し、前記並び替え回路の出力から選択信号に従って前記元の回路の出力数に相当する数の信号を選択するセレクタを配置し、前記暗号化回路を生成するものであり、かつ、前記選択信号をキー信号とし、前記元の回路の出力と前記セレクタの出力とが一致するようなキー信号の値を前記暗号化回路のキーとするものである。   The solution provided by the invention of claim 1 is that, as an LSI design method in an LSI design apparatus having an encryption processing unit for performing encryption processing on given circuit design data, the encryption processing unit includes the circuit The circuit conversion step is performed by converting all or part of the circuit represented by the design data as the original circuit to generate an encryption circuit, and the circuit conversion step has the same number of inputs and outputs as the original circuit. At least one dummy circuit is arranged in parallel with the original circuit, a rearrangement circuit for rearranging the outputs of the original circuit and the dummy circuit is arranged, and the original circuit according to a selection signal from the output of the rearrangement circuit A selector for selecting a number of signals corresponding to the number of outputs is arranged to generate the encryption circuit, and the selection signal is used as a key signal to output the original circuit. The value of the key signal as the output of the selector matches is to the key of the encryption circuit.

請求項2の発明では、前記請求項1のLSI設計方法において、前記暗号化処理部が、前記回路変換ステップにおいて用いるダミー回路を生成するステップを備え、前記ダミー回路生成ステップは、前記元の回路に対し、変換ルールに従って、ダミー回路の候補からなるダミー論理データベースを生成し、前記ダミー論理データベースから出力ルールに従ってダミー回路を選択するものとする。   According to a second aspect of the present invention, in the LSI design method of the first aspect, the encryption processing unit includes a step of generating a dummy circuit used in the circuit conversion step, and the dummy circuit generation step includes the original circuit On the other hand, a dummy logic database composed of dummy circuit candidates is generated according to the conversion rule, and the dummy circuit is selected from the dummy logic database according to the output rule.

請求項3の発明では、前記請求項2のLSI設計方法における変換ルールは、論理値の反転、論理演算子の変換、および論理演算子の順序変更のうちの少なくとも1つを含むものとする。   In the invention of claim 3, the conversion rule in the LSI design method of claim 2 includes at least one of logical value inversion, logical operator conversion, and logical operator order change.

請求項4の発明では、前記請求項2のLSI設計方法における出力ルールは、ランダム選択であるものとする。   In the invention of claim 4, the output rule in the LSI design method of claim 2 is random selection.

請求項5の発明では、前記請求項1のLSI設計方法において、前記LSI設計装置が有する設計・検証処理部が、前記暗号化回路のレイアウトを行うステップを備え、前記レイアウトステップは、前記キー信号の入力信号線を、電源およびグランドのいずれにも接続可能なように、レイアウトを行うものとする。   According to a fifth aspect of the present invention, in the LSI design method according to the first aspect, a design / verification processing unit included in the LSI design apparatus includes a step of laying out the encryption circuit, and the layout step includes the key signal. The input signal line is laid out so that it can be connected to either the power supply or the ground.

請求項6の発明では、前記請求項5のLSI設計方法において、前記設計・検証処理部が、前記レイアウトにおいて、前記キーにしたがって前記キー信号を電源およびグランドのいずれか一方に接続し、前記元の回路のレイアウトを生成するステップを備えたものとする。   According to a sixth aspect of the present invention, in the LSI design method of the fifth aspect, the design / verification processing unit connects the key signal to one of a power supply and a ground according to the key in the layout, and The step of generating the layout of the circuit is provided.

また、請求項7の発明が講じた解決手段は、与えられた回路設計データに対し、暗号化処理を行う暗号化処理部とダミー論理データベースとを有するLSI設計装置におけるLSI設計方法として、前記暗号化処理部が、前記回路設計データが表す回路の全体または一部を元の回路として、回路変換を行ったダミー回路を少なくとも1つ前記ダミー論理データベースに出力し、前記ダミー論理データベースから出力される少なくとも1つのダミー回路によって、暗号化回路を生成するステップを備えており、前記回路変換は、前記元の回路と入力数および出力数が同一の少なくとも1つのダミー回路を前記元の回路と並列に配置し、前記元の回路およびダミー回路の出力を並び替える並び替え回路を配置し、前記並び替え回路の出力から、選択信号に従って、前記元の回路の出力数に相当する数の信号を選択するセレクタを配置し、前記暗号化回路を生成するものであり、かつ、前記選択信号をキー信号とし、前記元の回路の出力と前記セレクタの出力とが一致するようなキー信号の値を、前記暗号化回路のキーとするものである。   According to a seventh aspect of the present invention, there is provided a solution provided by an LSI design method in an LSI design apparatus having an encryption processing unit and a dummy logic database for performing encryption processing on given circuit design data. The conversion processing unit outputs at least one dummy circuit subjected to circuit conversion to the dummy logic database using all or part of the circuit represented by the circuit design data as the original circuit, and outputs the dummy logic database from the dummy logic database. And a step of generating an encryption circuit by at least one dummy circuit, wherein the circuit conversion includes paralleling the original circuit with at least one dummy circuit having the same number of inputs and outputs as the original circuit. And arranging a rearrangement circuit for rearranging the outputs of the original circuit and the dummy circuit, and selecting from the outputs of the rearrangement circuit. A selector that selects a number of signals corresponding to the number of outputs of the original circuit according to the signal is arranged to generate the encryption circuit, and the selection signal is used as a key signal, The value of the key signal such that the output matches the output of the selector is used as the key of the encryption circuit.

また、請求項8の発明が講じた解決手段は、暗号化処理部とダミー論理データベースとを有するLSI設計装置におけるLSI設計方法として、与えられた回路設計データが表す回路の全体または一部を元の回路として回路変換を行い、暗号化回路を生成するステップを備えており、前記回路変換ステップは、前記暗号化処理部が、前記元の回路と所定の変換ルールとを入力し、前記変換ルールに基づいて前記元の回路を回路変換し、少なくとも1つのダミー回路を前記ダミー論理データベースに出力し、前記ダミー論理データベースが、出力ルールを入力し、少なくとも1つのダミー回路を出力し、前記暗号化処理部が、前記ダミー論理データベースから出力されたダミー回路を、前記元の回路と並列に配置し、前記暗号化処理部が、前記元の回路およびダミー回路の出力を並び替える並び替え回路を配置し、前記暗号化処理部が、前記並び替え回路の出力から、選択信号に従って、前記元の回路の出力数に相当する数の信号を選択するセレクタを配置し、前記暗号化回路を生成するものであり、かつ、前記暗号化処理部が、前記選択信号をキー信号とし、前記元の回路の出力と前記セレクタの出力とが一致するようなキー信号の値を、前記暗号化回路のキーとするものである。   Further, the solution provided by the invention of claim 8 is an LSI design method in an LSI design apparatus having an encryption processing unit and a dummy logic database, based on all or part of a circuit represented by given circuit design data. The circuit conversion step, and generating an encryption circuit. In the circuit conversion step, the encryption processing unit inputs the original circuit and a predetermined conversion rule, and the conversion rule The original circuit is converted based on the information, and at least one dummy circuit is output to the dummy logic database, the dummy logic database inputs an output rule, outputs at least one dummy circuit, and the encryption The processing unit arranges the dummy circuit output from the dummy logic database in parallel with the original circuit, and the encryption processing unit A rearrangement circuit for rearranging the outputs of the circuit and the dummy circuit, and the encryption processing unit outputs a number of signals corresponding to the number of outputs of the original circuit according to a selection signal from the output of the rearrangement circuit. A selector to be selected is arranged to generate the encryption circuit, and the encryption processing unit uses the selection signal as a key signal, and the output of the original circuit matches the output of the selector Such a key signal value is used as a key of the encryption circuit.

また、請求項9の発明が講じた解決手段は、ダミー論理データベース生成部とダミー論理データベースとダミー論理データベース出力部とを含む暗号化処理部を有するLSI設計装置におけるLSI設計方法として、前記暗号化処理部が、与えられた回路設計データが表す回路の全体または一部を元の回路として、回路変換を行い、暗号化回路を生成するステップを備えており、前記回路変換ステップは、前記ダミー論理データベース生成部が、前記元の回路と所定の変換ルールとを入力し、前記変換ルールに基づいて前記元の回路を回路変換し、少なくとも1つのダミー回路を前記ダミー論理データベースに出力し、前記ダミー論理データベース出力部が、出力ルールを入力し、前記ダミー論理データベースから少なくとも1つのダミー回路を出力し、前記暗号化処理部が、前記ダミー論理データベースから出力されたダミー回路を前記元の回路と並列に配置し、前記暗号化処理部が、前記元の回路およびダミー回路の出力を並び替える並び替え回路を配置し、前記暗号化処理部が、前記並び替え回路の出力から、選択信号に従って、前記元の回路の出力数に相当する数の信号を選択するセレクタを配置し、前記暗号化回路を生成するものであり、かつ、前記暗号化処理部が、前記選択信号をキー信号とし、前記元の回路の出力と前記セレクタの出力とが一致するようなキー信号の値を前記暗号化回路のキーとするものである。   According to a ninth aspect of the present invention, there is provided a solution provided by an LSI design method in an LSI design apparatus having an encryption processing unit including a dummy logic database generation unit, a dummy logic database, and a dummy logic database output unit. The processing unit includes a step of performing circuit conversion using the whole or part of the circuit represented by the given circuit design data as an original circuit and generating an encryption circuit, and the circuit conversion step includes the dummy logic A database generation unit inputs the original circuit and a predetermined conversion rule, converts the original circuit based on the conversion rule, outputs at least one dummy circuit to the dummy logic database, and outputs the dummy circuit The logical database output unit inputs an output rule and outputs at least one dummy time from the dummy logical database. The encryption processing unit arranges the dummy circuit output from the dummy logic database in parallel with the original circuit, and the encryption processing unit arranges the outputs of the original circuit and the dummy circuit. A rearrangement circuit to be replaced, and the encryption processing unit includes a selector that selects a number of signals corresponding to the number of outputs of the original circuit from the output of the rearrangement circuit according to a selection signal. And the encryption processing unit uses the selection signal as a key signal, and sets the value of the key signal such that the output of the original circuit and the output of the selector coincide with each other. This is the key to the circuit.

以上のように本発明によると、暗号化によって、従来よりも回路設計データの機密性を高めることができる。   As described above, according to the present invention, the confidentiality of the circuit design data can be improved by encryption, as compared with the prior art.

図1は本願発明者が提案する回路設計スタイルを示す図である。図1に示す設計スタイルでは、機密設計データの中身が見えなくても設計・検証処理SBが実行可能なように、設計データの暗号化処理SAおよび復号化処理SCが実行される。   FIG. 1 is a diagram showing a circuit design style proposed by the present inventor. In the design style shown in FIG. 1, the design data encryption processing SA and decryption processing SC are executed so that the design / verification processing SB can be executed even if the contents of the confidential design data are not visible.

暗号化処理SAでは、機密を必要とする回路の設計データ11に対して暗号化を行い、暗号化設計データ12と、この暗号化を解除するキー13とを生成する。暗号化設計データ12は設計・検証処理SBを実行する利用者に提供される。また、その設計・検証処理SBの必要に応じて、キー13も併せて提供される。   In the encryption process SA, the circuit design data 11 requiring confidentiality is encrypted, and the encrypted design data 12 and the key 13 for releasing the encryption are generated. The encrypted design data 12 is provided to a user who executes the design / verification process SB. Further, a key 13 is also provided as necessary for the design / verification process SB.

設計・検証処理SBでは、暗号化設計データ12について、元の回路の中身が開示されることなく、各種の処理が行われる。復号化処理SCでは、設計・検証処理SBが実行された後の暗号化設計データ14に対してキー15を用いて復号化を行い、元の回路の設計データ16を生成する。   In the design / verification process SB, various processes are performed on the encrypted design data 12 without disclosing the contents of the original circuit. In the decryption process SC, the encrypted design data 14 after the design / verification process SB is performed is decrypted by using the key 15 to generate the original circuit design data 16.

図2は図1の回路設計スタイルにおける基本工程のパターンを示す図である。同図中、(a)は暗号化A、(b)は暗号データのままの処理B1、(c)は暗号を保ったデータ変換B2、(d)は復号化Cを示している。処理B1と処理B2とは、処理B1では復号化および暗号化は行われず、新たなキーは生成されないが、処理B2では新たな暗号化データが新たなキーとともに生成される点で相違する。   FIG. 2 is a diagram showing basic process patterns in the circuit design style of FIG. In the figure, (a) shows encryption A, (b) shows processing B1 with the encrypted data, (c) shows data conversion B2 with encryption, and (d) shows decryption C. Process B1 and process B2 differ in that decryption and encryption are not performed in process B1 and a new key is not generated, but new encrypted data is generated together with a new key in process B2.

図3は本発明に係る処理の流れを示す図であり、図2に示す基本工程のパターンを組み合わせたものである。同図中、(a)に示す処理は、暗号化A、暗号データのままの処理B1および復号化Cを組み合わせたものである。例えば、RTLレベルまたはビヘイビアレベルの設計データを暗号化し、この暗号化データについて論理合成を行い、暗号化されたゲートレベルの設計データを出力し、その後ゲートレベルの設計データに復号化する、といった処理がこれに相当する。これにより、論理合成中の設計データの機密を保つことができる。また、暗号化データについて論理合成およびレイアウトを行い、その後マスクデータを復号化するような場合も考えられる。また、(b)に示す処理は、暗号化A、暗号を保ったデータ変換B2および復号化Cを組み合わせたものである。   FIG. 3 is a diagram showing the flow of processing according to the present invention, which is a combination of the basic process patterns shown in FIG. In the figure, the process shown in (a) is a combination of encryption A, process B1 with encrypted data as it is, and decryption C. For example, RTL level or behavior level design data is encrypted, logical synthesis is performed on the encrypted data, encrypted gate level design data is output, and then decrypted into gate level design data. Corresponds to this. Thereby, the confidentiality of the design data during logic synthesis can be maintained. It is also conceivable that logic synthesis and layout are performed on the encrypted data, and then the mask data is decrypted. The process shown in (b) is a combination of encryption A, data conversion B2 with encryption, and decryption C.

以下、各処理の具体例について、順に説明する。   Hereinafter, specific examples of each process will be described in order.

<暗号化処理>
(回路変換)
図4は本発明に係る暗号化処理の一例である回路変換を示す図である。図4において、f0は元の暗号化されていない回路である。回路f0の入力数をn、出力数をmとする。回路f0は元の回路の全体を表すものであってもよいし、元の回路の部分回路であってもかまわない。
<Encryption processing>
(Circuit conversion)
FIG. 4 is a diagram showing circuit conversion as an example of the encryption processing according to the present invention. In FIG. 4, f0 is the original unencrypted circuit. Assume that the number of inputs of the circuit f0 is n and the number of outputs is m. The circuit f0 may represent the entire original circuit or may be a partial circuit of the original circuit.

図4に示すように、回路f0と並列に、回路f0と入力数、出力数が同一の(p−1)個のダミー回路f1〜fp−1を配置する。そして、その後段に、並び替え回路21およびセレクタ22を設ける。並べ替え回路21は回路f0の出力と各ダミー回路f1〜fp−1の出力とを受け、これらの出力を並べ替えて出力する。例えば出力O1からは、各回路f0〜fp−1の出力の第1ビットを集め並び替えて出力し、出力O2からは、各回路f0〜fp−1の出力の第2ビットを集め並び替えて出力する。これにより、並べ替え回路21から、元の回路f0の出力数に相当する個数すなわちm個の、pビットの信号が出力される。   As shown in FIG. 4, (p−1) dummy circuits f1 to fp−1 having the same number of inputs and outputs as the circuit f0 are arranged in parallel with the circuit f0. A rearrangement circuit 21 and a selector 22 are provided at the subsequent stage. The rearrangement circuit 21 receives the output of the circuit f0 and the outputs of the dummy circuits f1 to fp-1, and rearranges and outputs these outputs. For example, the first bits of the outputs of the circuits f0 to fp-1 are collected and rearranged from the output O1, and the second bits of the outputs of the circuits f0 to fp-1 are collected and rearranged from the output O2. Output. As a result, the rearrangement circuit 21 outputs a number corresponding to the number of outputs of the original circuit f0, that is, m, p-bit signals.

セレクタ22は、選択信号KEYに従って、並び替え回路21の各出力から1ビットずつを選択し、出力する。これにより、回路f0と同じm個の信号がセレクタ22から出力される。このような回路変換の結果、図4に示すような暗号化回路が生成される。   The selector 22 selects and outputs one bit at a time from each output of the rearrangement circuit 21 in accordance with the selection signal KEY. As a result, the same m signals as the circuit f0 are output from the selector 22. As a result of such circuit conversion, an encryption circuit as shown in FIG. 4 is generated.

ここで、選択信号KEYを暗号化回路のキー信号とする。そして、回路f0の出力とセレクタ22の出力とが一致するようなキー信号KEYの値を、暗号化回路のキーとする。   Here, the selection signal KEY is used as a key signal of the encryption circuit. The value of the key signal KEY that matches the output of the circuit f0 and the output of the selector 22 is used as the key of the encryption circuit.

このような回路変換による暗号化は、変換手順が簡易であり、自動変換が容易である。また、暗号化による遅延増加は、セレクタ22における遅延のみであり、極めて少ない。   Such encryption by circuit conversion has a simple conversion procedure, and automatic conversion is easy. The increase in delay due to encryption is only the delay in the selector 22 and is extremely small.

図5は図4に示す回路変換の具体例を示す図である。いま、元の回路f0として、図5(a)に示すような2入力2出力の回路が与えられたとする。この回路f0に対して図5(b)に示すようなダミー回路f1を配置する。図5(c)は、回路f0をダミー回路f1を用いて暗号化した結果を示す図である。さらに、図5(c)の回路を合成して、図5(d)のような暗号化回路を得る。この回路のキーは(0,1)である。   FIG. 5 is a diagram showing a specific example of the circuit conversion shown in FIG. Assume that a 2-input 2-output circuit as shown in FIG. 5A is given as the original circuit f0. A dummy circuit f1 as shown in FIG. 5B is arranged for this circuit f0. FIG. 5C is a diagram showing a result of encrypting the circuit f0 using the dummy circuit f1. Furthermore, the circuit of FIG. 5C is synthesized to obtain an encryption circuit as shown in FIG. The key of this circuit is (0, 1).

図6は図4に示す回路変換に用いるダミー回路の生成方法を示す図である。図6に示すように、元の回路f0に対して、所定の変換ルール25に従って、ダミー回路候補を含むダミー論理データベース(DB)26を生成する。そして、生成したダミー論理DB26から、所定の出力ルール27に従って、任意のダミー回路f1〜fp−1を出力する。このような生成方法では、変換ルール25および出力ルール27の設定によって、ダミー回路f1〜fp−1を柔軟に生成することができるので、自動化処理に適する。   FIG. 6 is a diagram showing a method of generating a dummy circuit used for the circuit conversion shown in FIG. As shown in FIG. 6, a dummy logic database (DB) 26 including dummy circuit candidates is generated for the original circuit f0 according to a predetermined conversion rule 25. Then, arbitrary dummy circuits f1 to fp-1 are output from the generated dummy logic DB 26 according to a predetermined output rule 27. In such a generation method, the dummy circuits f1 to fp-1 can be flexibly generated by setting the conversion rule 25 and the output rule 27, which is suitable for automation processing.

変換ルール25の例としては、論理値の反転、論理演算子の変換、論理演算子の順序変更などが挙げられる。論理値の反転では、入力値の反転や出力値の反転の他に、複数ビット信号の一部のビットを反転する方法が考えられる。論理演算子の変換では、ANDとORとの変換が考えられる。また、出力ルール27の例としては、ランダムに選択する方法や、重複するダミー回路を排除する方法などが考えられる。   Examples of the conversion rule 25 include inversion of logical values, conversion of logical operators, change of the order of logical operators, and the like. In the logic value inversion, in addition to the inversion of the input value and the inversion of the output value, a method of inverting some bits of the multi-bit signal can be considered. In the conversion of logical operators, conversion between AND and OR can be considered. As an example of the output rule 27, a method of selecting at random, a method of eliminating duplicate dummy circuits, and the like can be considered.

<復号化処理>
図4に示すような回路変換によって得られた暗号化回路をレイアウトする際に、キー信号の入力信号線を、電源およびグランドのいずれにも接続可能なようにレイアウトを行う。これによって、レイアウト工程まで、元の回路の内容について機密を保つことができ、かつ、キーを用いて極めて容易に元の回路の復号化を実現することができる。
<Decryption process>
When the encryption circuit obtained by the circuit conversion as shown in FIG. 4 is laid out, the layout is performed so that the input signal line for the key signal can be connected to either the power supply or the ground. As a result, the contents of the original circuit can be kept confidential until the layout process, and the original circuit can be decrypted very easily using the key.

図7は本復号化処理を説明するための図であり、同図中、(a)は暗号化回路のレイアウトの一例、(b)は(a)の回路をキーに従って復号化した結果を示す図である。図7(a)に示すように、暗号化回路30に入力されるキー信号KEYの入力信号線31を、電源VDDおよびグランドVSSのいずれにも接続可能なように、レイアウトを行う。そして、図7(b)に示すように、キー(図の例では(0,1,0))に従って、キー信号KEYの入力信号線31を電源およびグランドのいずれか一方に接続する(ECO(Engineering Change Order))。これによって、元の回路のレイアウトが復号化される。   FIG. 7 is a diagram for explaining the decryption process, where (a) shows an example of the layout of the encryption circuit, and (b) shows the result of decrypting the circuit of (a) according to the key. FIG. As shown in FIG. 7A, the layout is performed so that the input signal line 31 of the key signal KEY input to the encryption circuit 30 can be connected to either the power supply VDD or the ground VSS. Then, as shown in FIG. 7B, the input signal line 31 for the key signal KEY is connected to either the power supply or the ground (ECO ( Engineering Change Order)). Thereby, the layout of the original circuit is decoded.

<設計・検証処理>
(判定)
暗号化設計データを、復号化してシミュレーションによる検証を行うとき、シミュレーション結果が正常であるか否かを判定するための期待値が必要になる。ところが、この期待値が外部から見えたとすると、回路の内容がこの期待値から推定可能になり、設計データの機密性が保てない。
<Design and verification processing>
(Judgment)
When the encrypted design data is decrypted and verified by simulation, an expected value for determining whether or not the simulation result is normal is required. However, if the expected value is visible from the outside, the contents of the circuit can be estimated from the expected value, and the confidentiality of the design data cannot be maintained.

そこでここでは、回路設計データを暗号化するとき、シミュレーション結果の期待値となるデータまたは期待値を得る元になるデータを含めて、暗号化を行う。そして、検証処理では、シミュレーション結果と期待値との比較結果に基づき、回路動作が正常か否かを判定する。   Therefore, here, when the circuit design data is encrypted, the encryption is performed including the data that is the expected value of the simulation result or the data from which the expected value is obtained. In the verification process, it is determined whether the circuit operation is normal based on the comparison result between the simulation result and the expected value.

図8は本発明に係る検証方法としての第1の判定方法を示す図である。本判定方法では、シミュレーション結果の期待値を得る元になるデータとして、リファレンスとなる動作モデルを用いる。すなわち、図8に示すように、まず、動作モデルとともに暗号化された回路設計データ41をキー42を用いて復号化し(S21)、実際の下位レベルの設計データ43(RTLまたはゲートレベルのネットリスト)と動作モデルの設計データ44とを得る。そして、下位レベルの設計データ43についてシミュレーションを実行し(S22)、実出力値45を得る。また、動作モデルの設計データ44についてシミュレーションを実行し(S23)、出力期待値46を得る。そして、得られた実出力値45と出力期待値46を比較し、各シミュレーション時間において、実出力値45と出力期待値46とが一致しているか否かを判定する(S24)。図8の例では、値が一致しているので、結果通知47として、シミュレーション結果は正常である旨を出力する。   FIG. 8 is a diagram showing a first determination method as a verification method according to the present invention. In this determination method, a reference operation model is used as data from which the expected value of the simulation result is obtained. That is, as shown in FIG. 8, first, the circuit design data 41 encrypted together with the operation model is decrypted by using the key 42 (S21), and the actual lower-level design data 43 (RTL or gate level netlist). ) And operation model design data 44. Then, a simulation is performed on the lower level design data 43 (S22), and an actual output value 45 is obtained. Further, a simulation is executed on the design data 44 of the behavior model (S23), and an expected output value 46 is obtained. Then, the obtained actual output value 45 and the expected output value 46 are compared, and it is determined whether or not the actual output value 45 and the expected output value 46 match each simulation time (S24). In the example of FIG. 8, since the values match, the result notification 47 outputs that the simulation result is normal.

図9は本発明に係る検証方法としての第2の判定方法を示す図である。本判定方法では、シミュレーション結果の期待値となるデータとして、プロトコル定義を用いる。すなわち、図9に示すように、まず、プロトコル定義とともに暗号化された回路設計データ51をキー52を用いて復号化し(S31)、設計データ53と、プロトコル定義54とを得る。プロトコル定義54では、設計データ53が示す回路の入出力および中間ノードの値について、その動作状態が定義されている。そして、設計データ53についてシミュレーションを実行し(S32)、得られた実出力値55と、プロトコル定義54とを比較する(S33)。   FIG. 9 is a diagram showing a second determination method as a verification method according to the present invention. In this determination method, a protocol definition is used as data that is an expected value of a simulation result. That is, as shown in FIG. 9, first, the circuit design data 51 encrypted together with the protocol definition is decrypted using the key 52 (S31), and the design data 53 and the protocol definition 54 are obtained. In the protocol definition 54, the operation state is defined for the input / output of the circuit indicated by the design data 53 and the value of the intermediate node. Then, a simulation is executed on the design data 53 (S32), and the obtained actual output value 55 is compared with the protocol definition 54 (S33).

なお、第1および第2の判定方法において、シミュレーション結果が異常である旨の結果が得られたときは、シミュレーション実行結果である実出力値45,55を、暗号化して出力してもよい。   In the first and second determination methods, when the result that the simulation result is abnormal is obtained, the actual output values 45 and 55 that are the simulation execution result may be encrypted and output.

(シミュレーション制限)
暗号化設計データについてシミュレーションを実行し、検証した場合、検証結果出力には、設計データ内の全ての信号線の情報が格納される。多くの入力を与えてシミュレーションを実行し、それから得た検証結果出力を解析すれば、暗号化された回路の内容を知得することが可能になる。
(Simulation limit)
When the simulation is executed for the encrypted design data and verified, information on all signal lines in the design data is stored in the verification result output. If the simulation is executed with many inputs, and the verification result output obtained from the simulation is analyzed, the contents of the encrypted circuit can be obtained.

そこで、ここでは、検証結果出力から回路の内容が知得されないように、言い換えると、不正アクセスを監視、防止するために、シミュレーションに制限をかける方法を示す。   Therefore, here, a method of limiting the simulation is shown so that the contents of the circuit cannot be obtained from the verification result output, in other words, in order to monitor and prevent unauthorized access.

図10は本発明に係る検証方法としてのシミュレーション制限方法を示す図である。図10に示すように、シミュレーションS42のチェックS43では、次のような所定の制限情報64を、シミュレーションの間カウントする。そして、カウント値が所定の上限値を越えたとき、シミュレーションS42に制限措置を施す。   FIG. 10 is a diagram showing a simulation limiting method as a verification method according to the present invention. As shown in FIG. 10, in the check S43 of the simulation S42, the following predetermined limit information 64 is counted during the simulation. Then, when the count value exceeds a predetermined upper limit value, a limiting measure is applied to the simulation S42.

・シミュレーションの実行ステップ、実行時間
・回路内の特定信号のトグル数
・回路への入力の組み合わせ
これらの制限情報を、ランダムに選択するようにしてもよい。また、シミュレーションの制限措置としては、次のようなものが考えられる。
-Simulation execution step, execution time-Number of toggles of specific signals in the circuit-Combination of inputs to the circuit These restriction information may be selected at random. In addition, the following measures can be considered as limiting measures for simulation.

・シミュレーションの停止、実行速度低下、異常実行
・シミュレーション結果の非出力
・各信号線のダンプ情報、判定結果などのデータの出力停止
・次ステップに渡すデータまたはキーの非生成
また、制限情報64として、プロトコルの制約条件を設けて、シミュレーションにおいて、このプロトコル制約条件に違反するか否かを判定してもよい。プロトコルの制約条件としては、次のようなものが挙げられる。
・ Simulation stop, execution speed drop, abnormal execution ・ Simulation result non-output ・ Dump information of each signal line, output stop of data such as judgment result ・ Non-generation of data or key to be passed to the next step A protocol constraint condition may be provided to determine whether or not the protocol constraint condition is violated in the simulation. Protocol restrictions include the following.

・回路への入力において許容できるプロトコル(入力プロトコル)
・回路内の動作において許容できるプロトコル(動作中プロトコル)
これらのプロトコル制約条件を、ランダムに選択するようにしてもよい。
・ Protocol that is acceptable for input to the circuit (input protocol)
・ Protocol that is acceptable for operation in the circuit (Protocol during operation)
These protocol constraint conditions may be selected at random.

なお、制限情報64は、回路設計データの暗号化の際に併せて暗号化し、復号化してもかまわないし、暗号化設計データ61とは別に与えてもよい。   The restriction information 64 may be encrypted and decrypted together with the circuit design data encryption, or may be provided separately from the encrypted design data 61.

また、シミュレーションにおいて不正アクセスをチェックするための回路を予め回路設計データに含めておいて、暗号化してもよい。このチェック回路は、シミュレーションのときにのみ動作し、回路設計後は動作がディセイブルされるように、構成する必要がある。   Further, a circuit for checking unauthorized access in the simulation may be included in the circuit design data in advance and encrypted. This check circuit needs to be configured so that it operates only during simulation and the operation is disabled after circuit design.

図11はシミュレーションにおいて不正アクセスをチェックする回路の一例を示す図である。図11(a)に示すチェック回路は、信号Aの変化回数が所定値(ここでは「8」)を越えたとき、信号Bの値にかかわらず、出力値を“0”に固定するものである。シミュレーション時には、信号Xに“1”→“0”を与え、外部リセットをかける。その後、図11(b)に示すように、所定の制限情報としての信号Aの変化回数が8を越えるまでは出力値は信号Bの値に一致するが、信号Aの変化回数が8を越えると、出力値は“0”に固定される。これにより、正しいシミュレーション結果が得られなくなる。回路製造時は、信号Xを“1”に固定し、このチェック回路が動作しないようにする。   FIG. 11 is a diagram illustrating an example of a circuit for checking unauthorized access in a simulation. The check circuit shown in FIG. 11A fixes the output value to “0” regardless of the value of the signal B when the number of changes of the signal A exceeds a predetermined value (here, “8”). is there. At the time of simulation, “1” → “0” is applied to the signal X, and an external reset is applied. Thereafter, as shown in FIG. 11B, the output value matches the value of the signal B until the number of changes of the signal A as the predetermined limit information exceeds 8, but the number of changes of the signal A exceeds 8. The output value is fixed to “0”. As a result, a correct simulation result cannot be obtained. At the time of circuit manufacture, the signal X is fixed to “1” so that this check circuit does not operate.

図12はチェック回路の他の例を示す図である。図12(a)に示すチェック回路は、信号Yの変化時において信号A,Bがともに“0”であることをプロトコル制約条件とし、信号Yの変化時に信号A,Bのいずれかが“0”でないときはプロトコル違反として認識し、信号Cの値にかかわらず、出力値を“0”に固定するものである。シミュレーション時には、信号Xに“1”→“0”を与え、外部リセットをかける。その後、図12(b)に示すように、信号Yの変化時において、信号Aと信号Bがともに“0”でないときは、出力値は“0”に固定される。これにより、正しいシミュレーション結果が得られなくなる。回路製造時は、信号Xを“1”、信号Yを“0”に固定し、このチェック回路が動作しないようにする。   FIG. 12 is a diagram illustrating another example of the check circuit. The check circuit shown in FIG. 12A has a protocol constraint condition that both the signals A and B are “0” when the signal Y changes, and one of the signals A and B is “0” when the signal Y changes. When it is not "", it is recognized as a protocol violation, and the output value is fixed to "0" regardless of the value of the signal C. At the time of simulation, “1” → “0” is applied to the signal X, and an external reset is applied. Thereafter, as shown in FIG. 12B, when the signal Y changes, when both the signal A and the signal B are not “0”, the output value is fixed to “0”. As a result, a correct simulation result cannot be obtained. At the time of circuit manufacture, the signal X is fixed to “1” and the signal Y is fixed to “0” so that this check circuit does not operate.

(タイミング調整)
図13および図14は本発明に係るLSI設計方法としてのタイミング調整方法を示す図である。このタイミング調整方法は、図3(a)に示すフローすなわち、暗号化A→処理B1→復号化Cの流れを含むものである。
(Timing adjustment)
13 and 14 are diagrams showing a timing adjustment method as an LSI design method according to the present invention. This timing adjustment method includes the flow shown in FIG. 3A, that is, the flow of encryption A → processing B1 → decryption C.

図13に示すように、まず、元の回路設計データ71からタイミング情報72を抽出する(S51)。ここでのタイミング情報とは、各論理ゲートから接続先の負荷までの遅延のことをいう。そして、所定の変換ルール73に従って、元の回路の内容が分からないように、かつ、タイミング情報72のみを合わせるように、すなわち各論理ゲートから接続先の負荷までの遅延を変化させないで、暗号化処理を行い(S52)、暗号化設計データ74を生成する。変換ルール73の内容がそのままキー75になる。このとき、図14(a),(b)に示すように、変換後の論理ゲート78の少なくとも1つについて、タイミング調整のためのバッファ79を付加する。   As shown in FIG. 13, first, timing information 72 is extracted from the original circuit design data 71 (S51). The timing information here refers to a delay from each logic gate to the load at the connection destination. Then, according to a predetermined conversion rule 73, encryption is performed so that the content of the original circuit is not known and only the timing information 72 is matched, that is, without changing the delay from each logic gate to the connection destination load. Processing is performed (S52), and encrypted design data 74 is generated. The content of the conversion rule 73 becomes the key 75 as it is. At this time, as shown in FIGS. 14A and 14B, a buffer 79 for timing adjustment is added to at least one of the converted logic gates 78.

そして、暗号化設計データ74について、図14(c)に示すように、目標タイミングを満たすように、付加したバッファ79のサイズを調整する(S53)。ここでは、暗号化処理S52で生成したキー75を用いる必要はない。バッファサイズ調整後、キー75すなわち所定の変換ルールを用いて、元の回路77を復号化する(S54)。このとき、図14(d)に示すように、調整されたバッファサイズを基にして、元の論理ゲートに変換する。この結果、目標タイミングが達成される。   Then, for the encryption design data 74, as shown in FIG. 14C, the size of the added buffer 79 is adjusted so as to satisfy the target timing (S53). Here, it is not necessary to use the key 75 generated in the encryption process S52. After adjusting the buffer size, the original circuit 77 is decrypted using the key 75, that is, a predetermined conversion rule (S54). At this time, as shown in FIG. 14D, the original logic gate is converted based on the adjusted buffer size. As a result, the target timing is achieved.

このようなタイミング調整方法によると、設計者に対して回路内容を秘匿したまま、タイミング調整を行わせることができる。   According to such a timing adjustment method, the timing adjustment can be performed while keeping the circuit contents secret from the designer.

(固有ID生成)
図15は暗号化設計データが表す回路構成の一例を示す図である。図15に示すように、暗号化設計データは、製品の種別を判定するための固有IDの判定回路としての回路固有IDレジスタを持っている。この回路固有IDレジスタに入力される固有IDの値は、変数で定義されている。また、この固有IDの変数の値を与える固有パラメータが定義されている。固有パラメータは、実際の固有IDとは異なる並び順で、定義される。
(Unique ID generation)
FIG. 15 is a diagram illustrating an example of a circuit configuration represented by the encrypted design data. As shown in FIG. 15, the encrypted design data has a circuit unique ID register as a unique ID determination circuit for determining the type of product. The value of the unique ID input to this circuit unique ID register is defined by a variable. In addition, a unique parameter that gives the value of this unique ID variable is defined. The unique parameters are defined in an order different from the actual unique ID.

シミュレーションを行う際に、入力する固有IDの値を“110”としても、回路固有IDレジスタの値とは並びが異なっており、“101”と新たに定義された固有IDの値が回路固有IDと一致して、はじめて、正常に動作する回路に生成される。また、次の設計工程では、入力する固有IDの値を“011”としても、新たに“101”と定義しなおされる。   Even when the input unique ID value is “110” when performing the simulation, the arrangement is different from the value of the circuit unique ID register, and the newly defined unique ID value is “101”. It is generated for the circuit that operates normally only when it matches. In the next design process, even if the input unique ID value is “011”, it is newly redefined as “101”.

なお、ここでの説明では、固有IDおよび入力する固有IDの値のビット数を3としたが、この値は任意とする。さらに、入力する固有IDと回路固有IDレジスタは、並びだけではなく、論理が反転していてもよい。   In the description here, the number of bits of the unique ID and the value of the unique ID to be input is 3, but this value is arbitrary. Furthermore, the input unique ID and circuit unique ID register may be not only arranged but also inverted in logic.

また、図16に示す回路では、固有IDのみではなく、論理回路中の、電源またはグランドに固定された全てのノードを全て変数で定義されている。   In the circuit shown in FIG. 16, not only the unique ID but also all nodes fixed to the power supply or ground in the logic circuit are defined by variables.

変数の値は、入力する固有IDの値と、それ以外の正常に動作するように固定された値が入力され、回路上では、回路固有IDレジスタ(図中のA,B,C)とそれ以外のレジスタ(図中のD,E)との区別がつかなくなり、容易に固有IDの値を知ることができなくなる。   As the variable value, the input unique ID value and other values fixed so as to operate normally are input. On the circuit, the circuit unique ID register (A, B, C in the figure) and It becomes impossible to distinguish from other registers (D and E in the figure), and the value of the unique ID cannot be easily known.

なお、上述した各方法は、当該方法を実現するためのプログラムを実行するコンピュータを備えた装置によって実現することができる。また、当該方法を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録したプログラムをコンピュータに実行させることによって実現することができる。   In addition, each method mentioned above is realizable with the apparatus provided with the computer which performs the program for implement | achieving the said method. Further, it can be realized by recording a program for realizing the method on a computer-readable recording medium and causing the computer to execute the program recorded on the recording medium.

本願発明者が提案する回路設計スタイルを示す図である。It is a figure which shows the circuit design style which this inventor proposes. 図1の回路設計スタイルにおける基本工程のパターンを示す図である。It is a figure which shows the pattern of the basic process in the circuit design style of FIG. (a),(b)は本発明に係る処理の流れを示す図である。(A), (b) is a figure which shows the flow of the process based on this invention. 暗号化処理の一例としての回路変換を示す図である。It is a figure which shows the circuit conversion as an example of an encryption process. (a)〜(d)は図4に示す回路変換の具体例を示す図である。(A)-(d) is a figure which shows the specific example of the circuit conversion shown in FIG. 図4に示す回路変換に用いるダミー回路の生成方法を示す図である。It is a figure which shows the production | generation method of the dummy circuit used for the circuit conversion shown in FIG. (a),(b)は復号化処理を説明するための図である。(A), (b) is a figure for demonstrating a decoding process. 検証処理としての第1の判定方法を示す図である。It is a figure which shows the 1st determination method as a verification process. 検証処理としての第2の判定方法を示す図である。It is a figure which shows the 2nd determination method as a verification process. 検証処理としてのシミュレーション制限方法を示す図である。It is a figure which shows the simulation restriction | limiting method as a verification process. (a),(b)はチェック回路の一例を示す図である。(A), (b) is a figure which shows an example of a check circuit. (a),(b)はチェック回路の一例を示す図である。(A), (b) is a figure which shows an example of a check circuit. タイミング調整方法を示す図である。It is a figure which shows a timing adjustment method. タイミング調整方法を示す図である。It is a figure which shows a timing adjustment method. 暗号化設計データが表す回路構成の一例を示す図である。It is a figure which shows an example of the circuit structure which encryption design data represents. 暗号化設計データが表す回路構成の一例を示す図である。It is a figure which shows an example of the circuit structure which encryption design data represents.

符号の説明Explanation of symbols

SA 暗号化処理
f0 元の回路
f1−fp−1 ダミー回路
KEY キー信号
11 回路設計データ
21 並び替え回路
22 セレクタ
25 変換ルール
26 ダミー論理データベース
27 出力ルール
30 暗号化回路
31 キー信号の入力信号線
41 暗号化設計データ
43 下位レベル設計データ(実際の設計データ)
44 リファレンスIP設計データ(動作モデル)
45 実出力値
46 出力期待値
51 暗号化された回路設計データ
53 実際の設計データ
54 プロトコル定義
55 実出力値
61 暗号化された回路設計データ
63 実際の設計データ
64 制限情報
72 タイミング情報
73 変換ルール
78 論理ゲート
79 バッファ
SA encryption processing f0 original circuit f1-fp-1 dummy circuit KEY key signal 11 circuit design data 21 rearrangement circuit 22 selector 25 conversion rule 26 dummy logic database 27 output rule 30 encryption circuit 31 key signal input signal line 41 Encrypted design data 43 Lower level design data (actual design data)
44 Reference IP design data (operation model)
45 Actual output value 46 Expected output value 51 Encrypted circuit design data 53 Actual design data 54 Protocol definition 55 Actual output value 61 Encrypted circuit design data 63 Actual design data 64 Restriction information 72 Timing information 73 Conversion rules 78 logic gate 79 buffer

Claims (9)

与えられた回路設計データに対し、暗号化処理を行う暗号化処理部を有するLSI設計装置におけるLSI設計方法であって、
前記暗号化処理部が、前記回路設計データが表す回路の全体または一部を元の回路として、回路変換を行い、暗号化回路を生成するステップを備えており、
前記回路変換ステップは、
前記元の回路と入力数および出力数が同一の少なくとも1つのダミー回路を、前記元の回路と並列に配置し、
前記元の回路およびダミー回路の出力を並び替える並び替え回路を配置し、
前記並び替え回路の出力から、選択信号に従って、前記元の回路の出力数に相当する数の信号を選択するセレクタを配置し、前記暗号化回路を生成するものであり、かつ、
前記選択信号をキー信号とし、前記元の回路の出力と前記セレクタの出力とが一致するようなキー信号の値を、前記暗号化回路のキーとするものである
ことを特徴とするLSI設計方法。
An LSI design method in an LSI design apparatus having an encryption processing unit for performing encryption processing on given circuit design data,
The encryption processing unit includes a step of generating an encryption circuit by performing circuit conversion using the whole or a part of the circuit represented by the circuit design data as an original circuit,
The circuit conversion step includes
Placing at least one dummy circuit having the same number of inputs and outputs as the original circuit in parallel with the original circuit;
Arranging a rearrangement circuit for rearranging the outputs of the original circuit and the dummy circuit;
A selector for selecting a number of signals corresponding to the number of outputs of the original circuit according to a selection signal from the output of the rearrangement circuit, and generating the encryption circuit; and
An LSI design method characterized in that the selection signal is used as a key signal, and the key signal value such that the output of the original circuit and the output of the selector match is used as the key of the encryption circuit. .
請求項1記載のLSI設計方法において、
前記暗号化処理部が、前記回路変換ステップにおいて用いるダミー回路を生成するステップを備え、
前記ダミー回路生成ステップは、
前記元の回路に対し、変換ルールに従って、ダミー回路の候補からなるダミー論理データベースを生成し、
前記ダミー論理データベースから、出力ルールに従って、ダミー回路を選択するものである
ことを特徴とするLSI設計方法。
The LSI design method according to claim 1,
The encryption processing unit includes a step of generating a dummy circuit used in the circuit conversion step,
The dummy circuit generation step includes
For the original circuit, in accordance with the conversion rules, generate a dummy logic database consisting of dummy circuit candidates,
An LSI design method, wherein a dummy circuit is selected from the dummy logic database according to an output rule.
請求項2記載のLSI設計方法において、
前記変換ルールは、論理値の反転、論理演算子の変換、および論理演算子の順序変更のうちの少なくとも1つを含むものである
ことを特徴とするLSI設計方法。
The LSI design method according to claim 2, wherein
The LSI design method, wherein the conversion rule includes at least one of logical value inversion, logical operator conversion, and logical operator order change.
請求項2記載のLSI設計方法において、
前記出力ルールは、ランダム選択である
ことを特徴とするLSI設計方法。
The LSI design method according to claim 2, wherein
The LSI design method, wherein the output rule is random selection.
請求項1記載のLSI設計方法において、
前記LSI設計装置が有する設計・検証処理部が、前記暗号化回路のレイアウトを行うステップを備え、
前記レイアウトステップは、
前記キー信号の入力信号線を、電源およびグランドのいずれにも接続可能なように、レイアウトを行うものである
ことを特徴とするLSI設計方法。
The LSI design method according to claim 1,
A design / verification processing unit included in the LSI design apparatus includes a step of laying out the encryption circuit;
The layout step includes
An LSI design method, wherein layout is performed so that an input signal line for the key signal can be connected to either a power supply or a ground.
請求項5記載のLSI設計方法において、
前記設計・検証処理部が、前記レイアウトにおいて、前記キーにしたがって前記キー信号を電源およびグランドのいずれか一方に接続し、前記元の回路のレイアウトを生成するステップを備えた
ことを特徴とするLSI設計方法。
The LSI design method according to claim 5, wherein
The LSI comprising: a step of generating a layout of the original circuit by connecting the key signal to one of a power supply and a ground according to the key in the layout in the design / verification processing unit Design method.
与えられた回路設計データに対し、暗号化処理を行う暗号化処理部とダミー論理データベースとを有するLSI設計装置におけるLSI設計方法であって、
前記暗号化処理部が、前記回路設計データが表す回路の全体または一部を元の回路として、回路変換を行ったダミー回路を少なくとも1つ前記ダミー論理データベースに出力し、前記ダミー論理データベースから出力される少なくとも1つのダミー回路によって、暗号化回路を生成するステップを備えており、
前記回路変換は、
前記元の回路と入力数および出力数が同一の少なくとも1つのダミー回路を、前記元の回路と並列に配置し、
前記元の回路およびダミー回路の出力を並び替える並び替え回路を配置し、
前記並び替え回路の出力から、選択信号に従って、前記元の回路の出力数に相当する数の信号を選択するセレクタを配置し、前記暗号化回路を生成するものであり、かつ、
前記選択信号をキー信号とし、前記元の回路の出力と前記セレクタの出力とが一致するようなキー信号の値を、前記暗号化回路のキーとするものである
ことを特徴とするLSI設計方法。
An LSI design method in an LSI design apparatus having an encryption processing unit and a dummy logic database for performing encryption processing on given circuit design data,
The encryption processing unit outputs at least one dummy circuit subjected to circuit conversion to the dummy logic database by using all or a part of the circuit represented by the circuit design data as an original circuit, and outputs from the dummy logic database Generating an encryption circuit by means of at least one dummy circuit,
The circuit conversion is
Placing at least one dummy circuit having the same number of inputs and outputs as the original circuit in parallel with the original circuit;
Arranging a rearrangement circuit for rearranging the outputs of the original circuit and the dummy circuit;
A selector for selecting a number of signals corresponding to the number of outputs of the original circuit according to a selection signal from the output of the rearrangement circuit, and generating the encryption circuit; and
An LSI design method characterized in that the selection signal is used as a key signal, and the key signal value such that the output of the original circuit and the output of the selector match is used as the key of the encryption circuit. .
暗号化処理部とダミー論理データベースとを有するLSI設計装置におけるLSI設計方法であって、
与えられた回路設計データが表す回路の全体または一部を元の回路として、回路変換を行い、暗号化回路を生成するステップを備えており、
前記回路変換ステップは、
前記暗号化処理部が、前記元の回路と所定の変換ルールとを入力し、前記変換ルールに基づいて前記元の回路を回路変換し、少なくとも1つのダミー回路を前記ダミー論理データベースに出力し、
前記ダミー論理データベースが、出力ルールを入力し、少なくとも1つのダミー回路を出力し、
前記暗号化処理部が、前記ダミー論理データベースから出力されたダミー回路を、前記元の回路と並列に配置し、
前記暗号化処理部が、前記元の回路およびダミー回路の出力を並び替える並び替え回路を配置し、
前記暗号化処理部が、前記並び替え回路の出力から、選択信号に従って、前記元の回路の出力数に相当する数の信号を選択するセレクタを配置し、前記暗号化回路を生成するものであり、かつ、
前記暗号化処理部が、前記選択信号をキー信号とし、前記元の回路の出力と前記セレクタの出力とが一致するようなキー信号の値を、前記暗号化回路のキーとするものである
ことを特徴とするLSI設計方法。
An LSI design method in an LSI design apparatus having an encryption processing unit and a dummy logic database,
A circuit conversion is performed using the whole or a part of a circuit represented by given circuit design data as an original circuit, and an encryption circuit is generated;
The circuit conversion step includes
The encryption processing unit inputs the original circuit and a predetermined conversion rule, converts the original circuit based on the conversion rule, and outputs at least one dummy circuit to the dummy logic database;
The dummy logic database inputs an output rule, outputs at least one dummy circuit,
The encryption processing unit arranges the dummy circuit output from the dummy logic database in parallel with the original circuit,
The encryption processing unit arranges a rearrangement circuit for rearranging the outputs of the original circuit and the dummy circuit,
The encryption processing unit arranges a selector for selecting a number of signals corresponding to the number of outputs of the original circuit according to a selection signal from the output of the rearrangement circuit, and generates the encryption circuit. ,And,
The encryption processing unit uses the selection signal as a key signal, and uses the value of the key signal such that the output of the original circuit matches the output of the selector as a key of the encryption circuit. LSI design method characterized by the above.
ダミー論理データベース生成部と、ダミー論理データベースと、ダミー論理データベース出力部とを含む暗号化処理部を有するLSI設計装置におけるLSI設計方法であって、
前記暗号化処理部が、与えられた回路設計データが表す回路の全体または一部を元の回路として、回路変換を行い、暗号化回路を生成するステップを備えており、
前記回路変換ステップは、
前記ダミー論理データベース生成部が、前記元の回路と所定の変換ルールとを入力し、前記変換ルールに基づいて前記元の回路を回路変換し、少なくとも1つのダミー回路を、前記ダミー論理データベースに出力し、
前記ダミー論理データベース出力部が、出力ルールを入力し、前記ダミー論理データベースから、少なくとも1つのダミー回路を出力し、
前記暗号化処理部が、前記ダミー論理データベースから出力されたダミー回路を、前記元の回路と並列に配置し、
前記暗号化処理部が、前記元の回路およびダミー回路の出力を並び替える並び替え回路を配置し、
前記暗号化処理部が、前記並び替え回路の出力から、選択信号に従って、前記元の回路の出力数に相当する数の信号を選択するセレクタを配置し、前記暗号化回路を生成するものであり、かつ、
前記暗号化処理部が、前記選択信号をキー信号とし、前記元の回路の出力と前記セレクタの出力とが一致するようなキー信号の値を、前記暗号化回路のキーとするものである
ことを特徴とするLSI設計方法。
An LSI design method in an LSI design apparatus having an encryption processing unit including a dummy logic database generation unit, a dummy logic database, and a dummy logic database output unit,
The encryption processing unit includes a step of generating an encryption circuit by performing circuit conversion using the whole or a part of a circuit represented by given circuit design data as an original circuit,
The circuit conversion step includes
The dummy logic database generation unit inputs the original circuit and a predetermined conversion rule, converts the original circuit based on the conversion rule, and outputs at least one dummy circuit to the dummy logic database And
The dummy logic database output unit inputs an output rule, and outputs at least one dummy circuit from the dummy logic database;
The encryption processing unit arranges the dummy circuit output from the dummy logic database in parallel with the original circuit,
The encryption processing unit arranges a rearrangement circuit for rearranging the outputs of the original circuit and the dummy circuit,
The encryption processing unit arranges a selector for selecting a number of signals corresponding to the number of outputs of the original circuit according to a selection signal from the output of the rearrangement circuit, and generates the encryption circuit. ,And,
The encryption processing unit uses the selection signal as a key signal, and uses the value of the key signal such that the output of the original circuit matches the output of the selector as a key of the encryption circuit. LSI design method characterized by the above.
JP2004217789A 2004-07-26 2004-07-26 LSI design method Expired - Fee Related JP3892004B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004217789A JP3892004B2 (en) 2004-07-26 2004-07-26 LSI design method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004217789A JP3892004B2 (en) 2004-07-26 2004-07-26 LSI design method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000034577A Division JP3888823B2 (en) 2000-02-14 2000-02-14 Semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JP2005018798A JP2005018798A (en) 2005-01-20
JP3892004B2 true JP3892004B2 (en) 2007-03-14

Family

ID=34191669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004217789A Expired - Fee Related JP3892004B2 (en) 2004-07-26 2004-07-26 LSI design method

Country Status (1)

Country Link
JP (1) JP3892004B2 (en)

Also Published As

Publication number Publication date
JP2005018798A (en) 2005-01-20

Similar Documents

Publication Publication Date Title
JP3888823B2 (en) Semiconductor integrated circuit
Alkabani et al. Remote activation of ICs for piracy prevention and digital right management
Gao et al. PUF-FSM: a controlled strong PUF
Wendt et al. Hardware obfuscation using PUF-based logic
Chakraborty et al. HARPOON: An obfuscation-based SoC design methodology for hardware protection
CN102783028B (en) Bit sequence generation device and bit column generation method
KR102499723B1 (en) Reliability enhancement methods for physically unclonable function bitstring generation
Khaleghi et al. IC piracy prevention via design withholding and entanglement
JP4960044B2 (en) Cryptographic processing circuit and IC card
US20130346928A1 (en) Method for protecting rtl ip core
CN109766729B (en) Integrated circuit for defending hardware trojan and encryption method thereof
Lotfy et al. An efficient design of Anderson PUF by utilization of the Xilinx primitives in the SLICEM
Islam et al. High-level synthesis of key based obfuscated RTL datapaths
US11797736B2 (en) SARO: scalable attack-resistant obfuscation of logic circuits
Rezaei et al. Global attack and remedy on IC-specific logic encryption
Cui et al. A new active IC metering technique based on locking scan cells
JP3892004B2 (en) LSI design method
US10999058B2 (en) System-on-chip and security circuit including a system-on-chip of this type
US20150188661A1 (en) Encrypted Digital Circuit Description Allowing Circuit Simulation
JP2004265437A (en) Design method and verifying method for lsi
Yoshimura et al. CRLock: A SAT and FALL attacks resistant logic locking method at register transfer level
Aramoon et al. A reconfigurable scan network based IC identification for embedded devices
Rakotomalala et al. Private circuits II versus fault injection attacks
Singhani Open-Source, End-to-End Auditable Tapeout of Hardware Cryptography Module
TWI744892B (en) Electronic system and method for operating an electronic system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060626

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061205

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101215

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101215

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111215

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111215

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121215

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees