JP2004265437A - Design method and verifying method for lsi - Google Patents

Design method and verifying method for lsi Download PDF

Info

Publication number
JP2004265437A
JP2004265437A JP2004117293A JP2004117293A JP2004265437A JP 2004265437 A JP2004265437 A JP 2004265437A JP 2004117293 A JP2004117293 A JP 2004117293A JP 2004117293 A JP2004117293 A JP 2004117293A JP 2004265437 A JP2004265437 A JP 2004265437A
Authority
JP
Japan
Prior art keywords
design data
circuit
simulation
encrypted
lsi
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.)
Pending
Application number
JP2004117293A
Other languages
Japanese (ja)
Inventor
Kentaro Shiomi
謙太郎 塩見
Akira Motohara
章 本原
Mutsumi Fujiwara
睦 藤原
Toshiyuki Yokoyama
敏之 横山
Katsuya Fujimura
克也 藤村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004117293A priority Critical patent/JP2004265437A/en
Publication of JP2004265437A publication Critical patent/JP2004265437A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To increase the secrecy of circuit design data higher than a conventional one by using encryption processing in the design of an LSI and to verify encrypted design data while maintaining their secrecy. <P>SOLUTION: In encryption processing SA, the encryption of circuit design data 11 requiring secrecy is carried out, and encrypted design data 12 and a decoding key 13 are created. The encrypted design data 12 are provided to a user executing designing/verifying processing S2, and the key 13 is also provided if necessary. In the designing/verifying processing SB, various kinds of processings are carried out on the encrypted design data 12 while keeping original contents of the circuit secret. In decoding processing SC, decoding of the encrypted design data 14 after the execution of the designing/verifying processing S2 is carried out, and the original circuit design data 15 are created. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

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

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

従来では、このような機密保持を要するLSIの設計は、設計に従事する人を限定したり、あるいは、設計を行う場所を特定したりすることによって、他の人に回路の中身が知られないようにしていた。   Conventionally, in designing an LSI that requires such confidentiality, the circuit contents are not known to other people by limiting the persons engaged in the design or specifying the place where the design is performed. Was like that.

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

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

また、暗号化された設計データについて、機密性を保ったまま、検証を実行できるようにすることを課題とする。   Another object is to enable verification of encrypted design data while maintaining confidentiality.

前記の課題を解決するために、請求項1の発明が講じた解決手段は、LSIの検証方法として、リファレンスとなる動作モデルとともに暗号化された回路設計データについて、回路動作の検証を行うステップを備え、前記検証ステップは、前記暗号化された回路設計データを復号化し、実際の設計データと前記動作モデルとを得るステップと、前記実際の設計データについてシミュレーションを実行し、実出力値を得るステップと、前記動作モデルについてシミュレーションを実行し、出力期待値を得るステップと、前記実出力値と前記出力期待値とを比較し、比較結果を出力するステップとを備えたものである。   In order to solve the above-mentioned problem, a solution taken by the invention of claim 1 includes, as an LSI verification method, a step of verifying a circuit operation of encrypted circuit design data together with a reference operation model. The verification step includes: decrypting the encrypted circuit design data to obtain actual design data and the operation model; and executing a simulation on the actual design data to obtain an actual output value. And performing a simulation on the behavior model to obtain an expected output value, and comparing the actual output value with the expected output value and outputting a comparison result.

また、請求項2の発明が講じた解決手段は、LSIの検証方法として、プロトコル定義とともに暗号化された回路設計データについて、回路動作の検証を行うステップを備え、前記検証ステップは、前記暗号化された回路設計データを復号化し、実際の設計データと前記プロトコル定義とを得るステップと、前記実際の設計データについてシミュレーションを実行し、実出力値を得るステップと、前記実出力値を前記プロトコル定義と比較し、比較結果を出力するステップとを備えたものである。   The solving means according to the invention of claim 2 includes, as an LSI verification method, a step of verifying a circuit operation of circuit design data encrypted together with a protocol definition, and the verification step includes the step of verifying the encryption. Decoding the circuit design data thus obtained to obtain actual design data and the protocol definition; executing a simulation on the actual design data to obtain an actual output value; And outputting a comparison result.

また、請求項3の発明が講じた解決手段は、LSIの検証方法として、暗号化された回路設計データをシミュレーションによって検証するステップを備え、前記検証ステップは、不正なアクセスによるシミュレーションを制限するものである。   According to a third aspect of the present invention, there is provided an LSI verification method comprising a step of verifying encrypted circuit design data by simulation as an LSI verification method, wherein the verification step restricts simulation due to unauthorized access. It is.

請求項4の発明では、前記請求項3のLSI検証方法における検証ステップは、前記暗号化された回路設計データを復号化し、実際の設計データを得るステップと、前記実際の設計データについてシミュレーションを実行するステップと、前記シミュレーションにおいて、所定の制限情報をカウントするステップと、カウント値が上限値を超えたとき、シミュレーションに制限措置を施すステップとを備えたものとする。   According to a fourth aspect of the present invention, the verification step in the LSI verification method according to the third aspect includes a step of decrypting the encrypted circuit design data to obtain actual design data, and executing a simulation on the actual design data. And a step of counting predetermined restriction information in the simulation, and a step of restricting the simulation when the count value exceeds an upper limit value.

請求項5の発明では、前記請求項4のLSI検証方法における所定の制限情報は、シミュレーションの実行ステップ、シミュレーションの実行時間、回路内の特定信号のトグル数、および回路への入力の組み合わせのうちの少なくとも1つを含むものとする。   According to a fifth aspect of the present invention, in the LSI verification method according to the fourth aspect, the predetermined restriction information includes a combination of a simulation execution step, a simulation execution time, a toggle number of a specific signal in the circuit, and an input to the circuit. At least one of the following.

請求項6の発明では、前記請求項5のLSI検証方法は、所定の制限情報をランダムに選択するものとする。   According to a sixth aspect of the present invention, in the LSI verification method of the fifth aspect, predetermined restriction information is randomly selected.

請求項7の発明では、前記請求項3のLSI検証方法における検証ステップは、前記暗号化された回路設計データを復号化し、実際の設計データを得るステップと、前記実際の設計データについてシミュレーションを実行するステップと、前記シミュレーションにおいて、所定のプロトコル制約条件を違反するか否かをチェックするステップと、違反したとき、シミュレーションに制限措置を施すステップとを備えたものとする。   According to a seventh aspect of the present invention, the verification step in the LSI verification method according to the third aspect includes a step of decrypting the encrypted circuit design data to obtain actual design data, and executing a simulation on the actual design data. And a step of checking whether or not a predetermined protocol constraint condition is violated in the simulation, and a step of restricting the simulation when the condition is violated.

請求項8の発明では、前記請求項7のLSI検証方法における所定のプロトコル制約条件は、入力プロトコル、および動作中プロトコルのうちの少なくとも1つを含むものとする。   In the invention of claim 8, the predetermined protocol constraint in the LSI verification method of claim 7 includes at least one of an input protocol and an operating protocol.

請求項9の発明では、前記請求項8のLSI検証方法は、前記所定のプロトコル制約条件をランダムに選択するものとする。   According to a ninth aspect of the present invention, in the LSI verification method of the eighth aspect, the predetermined protocol constraint condition is randomly selected.

請求項10の発明では、前記請求項4または7のLSI検証方法における制限措置は、シミュレーションの停止、実行速度低下および異常実行、シミュレーション結果の非出力、並びに、次ステップに渡すデータまたはキーの非生成のうちの少なくとも1つを含むものとする。   According to the tenth aspect of the present invention, the restricting measures in the LSI verification method according to the fourth or seventh aspect include stopping the simulation, lowering the execution speed and executing abnormally, not outputting the simulation result, and not outputting the data or key passed to the next step. It shall include at least one of the generations.

また、請求項11の発明が講じた解決手段は、LSI検証方法として、シミュレーションにおける不正アクセスをチェックするチェック回路を含む回路設計データを、暗号化処理するステップと、暗号化された回路設計データを、シミュレーションによって検証するステップとを備え、前記検証ステップは、前記チェック回路を動作させて、不正なアクセスによるシミュレーションを制限するものである。   According to an eleventh aspect of the present invention, as a LSI verification method, a step of encrypting circuit design data including a check circuit for checking an unauthorized access in a simulation; And verifying by simulation. The verifying step operates the check circuit to limit the simulation due to unauthorized access.

請求項12の発明では、前記請求項11のLSI検証方法におけるチェック回路は、シミュレーションにおいて、所定の制限情報のカウント値が上限値を超えたか否かをチェックするものとする。   According to a twelfth aspect of the present invention, the check circuit in the LSI verification method according to the eleventh aspect checks in simulation whether or not the count value of predetermined restriction information has exceeded an upper limit value.

請求項13の発明では、前記請求項11のLSI検証方法におけるチェック回路は、シミュレーションにおいて、プロトコル制約条件の違反の有無をチェックするものとする。   According to a thirteenth aspect of the present invention, the check circuit in the LSI verification method of the eleventh aspect checks, in a simulation, whether there is a violation of a protocol constraint condition.

また、請求項14の発明が講じた解決手段は、LSI設計方法として、与えられた回路設計データから、タイミング情報を抽出するステップと、前記回路設計データを抽出したタイミング情報のみを合わせて所定の変換ルールに従い、暗号化設計データに変換するとともに、少なくとも1つの論理ゲートにバッファを付加するステップと、前記暗号化設計データについて付加したバッファのサイズを調整するステップと、バッファサイズ調整後の前記暗号化設計データを、前記所定の変換ルールをキーとして復号化するステップとを備えたものである。   According to another aspect of the present invention, there is provided an LSI design method comprising the steps of: extracting timing information from given circuit design data; Converting the encrypted design data according to a conversion rule and adding a buffer to at least one logic gate; adjusting the size of the buffer added to the encrypted design data; Decrypting the design data using the predetermined conversion rule as a key.

また、請求項15の発明が講じた解決手段は、LSI設計方法として、固有IDの判定回路とともに暗号化された回路設計データについて復号化を行い、実際の設計データと前記固有IDの判定回路とを得るステップを備え、前記ステップは、入力された固有パラメータによって前記固有IDの判定回路に正しい値を定義するステップを有するものである。   According to another aspect of the present invention, there is provided an LSI design method that performs decryption on encrypted circuit design data together with a unique ID determination circuit, and compares actual design data with the unique ID determination circuit. And the step of defining a correct value in the circuit for determining the unique ID based on the input unique parameter.

以上のように本発明によると、暗号化によって、従来よりも回路設計データの機密性を高めることができる。また、暗号化された回路設計データを、機密を保持したまま、設計・検証させることができる。   As described above, according to the present invention, it is possible to enhance the confidentiality of circuit design data by encryption, compared to the related art. In addition, the encrypted circuit design data can be designed and verified while keeping confidentiality.

図1は本願発明者が提案する回路設計スタイルを示す図である。図1に示す設計スタイルでは、機密設計データの中身が見えなくても設計・検証処理SBが実行可能なように、設計データの暗号化処理SAおよび復号化処理SCが実行される。   FIG. 1 is a diagram showing a circuit design style proposed by the present inventors. In the design style shown in FIG. 1, the design data encryption process SA and the decryption process SC are executed so that the design / verification process 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 processing SA, encryption is performed on the design data 11 of the circuit requiring confidentiality, and encrypted design data 12 and a key 13 for decrypting the encrypted design data 12 are generated. The encrypted design data 12 is provided to a user who executes the design / verification processing SB. A key 13 is also provided as needed for the design / verification processing 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 executed is decrypted 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 a pattern of a basic process in the circuit design style of FIG. In the figure, (a) shows the encryption A, (b) shows the process B1 with the encrypted data as it is, (c) shows the data conversion B2 while keeping the encryption, and (d) shows the decryption C. Processing B1 and processing B2 are different in that decryption and encryption are not performed in processing B1 and a new key is not generated, but new encrypted data is generated together with a new key in processing 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 patterns of the basic steps shown in FIG. In the figure, the process shown in (a) is a combination of the encryption A, the process B1 as it is, and the decryption C. For example, a process of encrypting RTL level or behavior level design data, performing logic synthesis on the encrypted data, outputting encrypted gate level design data, and then decrypting the encrypted gate level design data. Corresponds to this. Thereby, the confidentiality of the design data during the logic synthesis can be maintained. Further, there may be a case where logical 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 the encryption A, the data conversion B2 maintaining the encryption, and the decryption C.

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

<暗号化処理>
(回路変換)
図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. Let n be the number of inputs and m be the number of outputs of the circuit f0. The circuit f0 may represent the whole of the 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. Then, a rearrangement circuit 21 and a selector 22 are provided at the subsequent stage. The rearranging 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, from the output O1, the first bits of the outputs of the circuits f0 to fp-1 are collected and rearranged and output, and from the output O2, the second bits of the outputs of the circuits f0 to fp-1 are collected and rearranged. Output. As a result, the number of p-bit signals corresponding to the number of outputs of the original circuit f0, that is, m signals, is output from the rearrangement circuit 21.

セレクタ22は、選択信号KEYに従って、並び替え回路21の各出力から1ビットずつを選択し、出力する。これにより、回路f0と同じm個の信号がセレクタ22から出力される。このような回路変換の結果、図4に示すような暗号化回路が生成される。   The selector 22 selects and outputs one bit from each output of the rearrangement circuit 21 according to the selection signal KEY. Thus, the same m signals as those of 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. Then, the value of the key signal KEY such that the output of the circuit f0 matches 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 easy automatic conversion. The increase in delay due to encryption is only a 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. Now, it is assumed that a two-input two-output circuit as shown in FIG. 5A is provided 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 illustrating a result of encrypting the circuit f0 using the dummy circuit f1. Further, the circuit shown in FIG. 5C is synthesized to obtain an encryption circuit as shown in FIG. The key for 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 a dummy circuit candidate is generated for the original circuit f0 according to a predetermined conversion rule 25. Then, the dummy logic DB 26 outputs arbitrary dummy circuits f1 to fp-1 according to a predetermined output rule 27. According to 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, and thus are suitable for automation processing.

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

<復号化処理>
図4に示すような回路変換によって得られた暗号化回路をレイアウトする際に、キー信号の入力信号線を、電源およびグランドのいずれにも接続可能なようにレイアウトを行う。これによって、レイアウト工程まで、元の回路の内容について機密を保つことができ、かつ、キーを用いて極めて容易に元の回路の復号化を実現することができる。
<Decryption processing>
When laying out the encryption circuit obtained by the circuit conversion as shown in FIG. 4, the layout is performed so that the input signal line of the key signal can be connected to both the power supply and the ground. Thus, the contents of the original circuit can be kept confidential until the layout process, and the decryption of the original circuit can be realized 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 present decryption processing. In FIG. 7, (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 both the power supply VDD and the ground VSS. Then, as shown in FIG. 7B, the input signal line 31 of the key signal KEY is connected to either the power supply or the ground according to the key ((0, 1, 0) in the example of the figure) (ECO ( Engineering Change Order)). Thus, the layout of the original circuit is decoded.

<設計・検証処理>
(判定)
暗号化設計データを、復号化してシミュレーションによる検証を行うとき、シミュレーション結果が正常であるか否かを判定するための期待値が必要になる。ところが、この期待値が外部から見えたとすると、回路の内容がこの期待値から推定可能になり、設計データの機密性が保てない。
<Design / verification process>
(Judgment)
When decrypting the encrypted design data and performing verification by simulation, an expected value for determining whether or not the simulation result is normal is required. However, if this 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 encrypting the circuit design data, the encryption is performed including the data which is the expected value of the simulation result or the data from which the expected value is obtained. Then, in the verification processing, it is determined whether or not the circuit operation is normal based on the comparison result between the simulation result and the expected value.

図8は本発明に係る検証方法としての第1の判定方法を示す図である。本判定方法では、シミュレーション結果の期待値を得る元になるデータとして、リファレンスとなる動作モデルを用いる。すなわち、図8に示すように、まず、動作モデルとともに暗号化された回路設計データ41をキー52を用いて復号化し(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, an operation model serving as a reference is used as data from which an expected value of a simulation result is obtained. That is, as shown in FIG. 8, first, the circuit design data 41 encrypted with the operation model is decrypted using the key 52 (S21), and the actual lower-level design data 43 (RTL or gate-level netlist ) And operation model design data 44 are obtained. 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 performed on the design data 44 of the operation model (S23), and an expected output value 46 is obtained. Then, the obtained actual output value 45 is compared with the expected output value 46, and it is determined whether or not the actual output value 45 and the expected output value 46 match at each simulation time (S24). In the example of FIG. 8, since the values match, a result notification 47 indicating that the simulation result is normal is output.

図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 becomes an expected value of the simulation result. That is, as shown in FIG. 9, first, the circuit design data 51 encrypted 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 of the input / output of the circuit and the value of the intermediate node indicated by the design data 53 is defined. Then, a simulation is performed 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 a result indicating that the simulation result is abnormal may be obtained, the actual output values 45 and 55, which are the simulation execution results, may be encrypted and output.

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

そこで、ここでは、検証結果出力から回路の内容が知得されないように、言い換えると、不正アクセスを監視、防止するために、シミュレーションに制限をかける方法を示す。   Therefore, here, a method is described in which the simulation is limited so that the contents of the circuit cannot be known 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 restriction information 64 is counted during the simulation. Then, when the count value exceeds a predetermined upper limit value, a restriction measure is applied to the simulation S42.

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

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

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

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

また、シミュレーションにおいて不正アクセスをチェックするための回路を予め回路設計データに含めておいて、暗号化してもよい。このチェック回路は、シミュレーションのときにのみ動作し、回路設計後は動作がディセイブルされるように、構成する必要がある。   Further, a circuit for checking for 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 as to operate only at the time of simulation and to disable the operation 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 showing an example of a circuit for checking an 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 given to the signal X, and an external reset is performed. 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 restriction 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 at "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 showing another example of the check circuit. The check circuit shown in FIG. 12A sets the protocol constraint condition that both the signals A and B are “0” when the signal Y changes, and when one of the signals A and B changes to “0” when the signal Y changes. If not, it is recognized as a protocol violation, and the output value is fixed at "0" regardless of the value of the signal C. At the time of simulation, “1” → “0” is given to the signal X, and an external reset is performed. Thereafter, as shown in FIG. 12B, when the signal A and the signal B are not “0” when the signal Y changes, the output value is fixed to “0”. As a result, a correct simulation result cannot be obtained. When the circuit is manufactured, the signal X is fixed at "1" and the signal Y is fixed at "0" so that this check circuit does not operate.

(タイミング調整)
図13および図14は本発明に係るLSI設計方法としてのタイミング調整方法を示す図である。このタイミング調整方法は、図3(a)に示すフローすなわち、暗号化A→処理B1→復号化Cの流れを含むものである。
(Timing adjustment)
FIG. 13 and FIG. 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 → process 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). Here, the timing information refers to a delay from each logic gate to a load at a connection destination. Then, according to a predetermined conversion rule 73, encryption is performed such that the contents of the original circuit are not known and the timing information 72 alone is adjusted, that is, without changing the delay from each logic gate to the load of the connection destination. A process 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 encrypted 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 processing S52. After the buffer size adjustment, 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 data is converted into the original logic gate 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とは異なる並び順で、定義される。
(Generate unique ID)
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 the product. The value of the unique ID input to the circuit unique ID register is defined by a variable. In addition, a unique parameter that gives the value of the variable of the unique ID is defined. The unique parameters are defined in a different order from the actual unique ID.

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

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

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

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

なお、上述した各方法は、当該方法を実現するためのプログラムを実行するコンピュータを備えた装置によって実現することができる。また、当該方法を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録したプログラムをコンピュータに実行させることによって実現することができる。   Each of the above-described methods can be implemented by an apparatus including a computer that executes a program for implementing the method. Further, the present invention can be realized by recording a program for implementing the method on a computer-readable recording medium and causing a computer to execute the program recorded on the recording medium.

本願発明者が提案する回路設計スタイルを示す図である。FIG. 3 is a diagram showing a circuit design style proposed by the present inventor. 図1の回路設計スタイルにおける基本工程のパターンを示す図である。FIG. 2 is a diagram illustrating a pattern of a basic process in the circuit design style of FIG. 1. (a),(b)は本発明に係る処理の流れを示す図である。(A), (b) is a figure which shows the flow of a process concerning this invention. 暗号化処理の一例としての回路変換を示す図である。FIG. 14 is a diagram illustrating 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に示す回路変換に用いるダミー回路の生成方法を示す図である。FIG. 5 is a diagram illustrating a method of generating a dummy circuit used for the circuit conversion illustrated in FIG. 4. (a),(b)は復号化処理を説明するための図である。(A), (b) is a figure for demonstrating a decoding process. 検証処理としての第1の判定方法を示す図である。FIG. 7 is a diagram illustrating a first determination method as a verification process. 検証処理としての第2の判定方法を示す図である。It is a figure showing the 2nd judgment method as verification processing. 検証処理としてのシミュレーション制限方法を示す図である。It is a figure showing a simulation restriction method as verification processing. (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. タイミング調整方法を示す図である。FIG. 4 is a diagram illustrating a timing adjustment method. タイミング調整方法を示す図である。FIG. 4 is a diagram illustrating a timing adjustment method. 暗号化設計データが表す回路構成の一例を示す図である。FIG. 9 is a diagram illustrating an example of a circuit configuration represented by encrypted design data. 暗号化設計データが表す回路構成の一例を示す図である。FIG. 9 is a diagram illustrating an example of a circuit configuration represented by encrypted design data.

符号の説明Explanation of reference numerals

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 rule 78 Logic gate 79 Buffer

Claims (15)

リファレンスとなる動作モデルとともに暗号化された回路設計データについて、回路動作の検証を行うステップを備え、
前記検証ステップは、
前記暗号化された回路設計データを復号化し、実際の設計データと、前記動作モデルとを得るステップと、
前記実際の設計データについてシミュレーションを実行し、実出力値を得るステップと、
前記動作モデルについてシミュレーションを実行し、出力期待値を得るステップと、
前記実出力値と前記出力期待値とを比較し、比較結果を出力するステップとを備えたものである
ことを特徴とするLSIの検証方法。
Verifying the circuit operation of the encrypted circuit design data together with the reference operation model,
The verification step includes:
Decrypting the encrypted circuit design data to obtain actual design data and the operation model;
Performing a simulation on the actual design data to obtain an actual output value;
Performing a simulation on the behavior model to obtain an expected output value;
Comparing the actual output value with the expected output value and outputting a comparison result.
プロトコル定義とともに暗号化された回路設計データについて、回路動作の検証を行うステップを備え、
前記検証ステップは、
前記暗号化された回路設計データを復号化し、実際の設計データと、前記プロトコル定義とを得るステップと、
前記実際の設計データについてシミュレーションを実行し、実出力値を得るステップと、
前記実出力値を、前記プロトコル定義と比較し、比較結果を出力するステップとを備えたものである
ことを特徴とするLSIの検証方法。
It includes a step of verifying the circuit operation of the circuit design data encrypted with the protocol definition,
The verification step includes:
Decrypting the encrypted circuit design data to obtain actual design data and the protocol definition;
Performing a simulation on the actual design data to obtain an actual output value;
Comparing the actual output value with the protocol definition and outputting a comparison result.
暗号化された回路設計データを、シミュレーションによって検証するステップを備え、
前記検証ステップは、不正なアクセスによるシミュレーションを制限するものである
ことを特徴とするLSIの検証方法。
Verifying the encrypted circuit design data by simulation,
The method of verifying an LSI according to claim 1, wherein the verifying step limits a simulation due to an unauthorized access.
請求項3記載のLSI検証方法において、
前記検証ステップは、
前記暗号化された回路設計データを復号化し、実際の設計データを得るステップと、
前記実際の設計データについてシミュレーションを実行するステップと、
前記シミュレーションにおいて、所定の制限情報をカウントするステップと、 カウント値が上限値を超えたとき、シミュレーションに制限措置を施すステップとを備えたものである
ことを特徴とするLSI検証方法。
4. The LSI verification method according to claim 3,
The verification step includes:
Decrypting the encrypted circuit design data to obtain actual design data;
Performing a simulation on the actual design data;
An LSI verification method, comprising: a step of counting predetermined restriction information in the simulation; and a step of performing a restriction measure on the simulation when the count value exceeds an upper limit value.
請求項4記載のLSI検証方法において、
前記所定の制限情報は、シミュレーションの実行ステップ、シミュレーションの実行時間、回路内の特定信号のトグル数、および回路への入力の組み合わせのうちの少なくとも1つを含むものである
ことを特徴とするLSI検証方法。
The LSI verification method according to claim 4,
The LSI verification method, wherein the predetermined restriction information includes at least one of a simulation execution step, a simulation execution time, a toggle number of a specific signal in a circuit, and a combination of inputs to the circuit. .
請求項5記載のLSI検証方法において、
前記所定の制限情報を、ランダムに選択する
ことを特徴とするLSI検証方法。
The LSI verification method according to claim 5,
An LSI verification method, wherein the predetermined restriction information is selected at random.
請求項3記載のLSI検証方法において、
前記検証ステップは、
前記暗号化された回路設計データを復号化し、実際の設計データを得るステップと、
前記実際の設計データについてシミュレーションを実行するステップと、
前記シミュレーションにおいて、所定のプロトコル制約条件を違反するか否かをチェックするステップと、
違反したとき、シミュレーションに制限措置を施すステップとを備えたものである
ことを特徴とするLSI検証方法。
4. The LSI verification method according to claim 3,
The verification step includes:
Decrypting the encrypted circuit design data to obtain actual design data;
Performing a simulation on the actual design data;
In the simulation, a step of checking whether or not a predetermined protocol constraint is violated;
Subjecting the simulation to a restriction measure when the violation is violated.
請求項7記載のLSI検証方法において、
前記所定のプロトコル制約条件は、入力プロトコル、および動作中プロトコルのうちの少なくとも1つを含むものである
ことを特徴とするLSI検証方法。
The LSI verification method according to claim 7,
The method according to claim 1, wherein the predetermined protocol constraint includes at least one of an input protocol and an operating protocol.
請求項8記載のLSI検証方法において、
前記所定のプロトコル制約条件を、ランダムに選択する
ことを特徴とするLSI検証方法。
The LSI verification method according to claim 8,
An LSI verification method, wherein the predetermined protocol constraint condition is selected at random.
請求項4または7記載のLSI検証方法において、
前記制限措置は、シミュレーションの停止、実行速度低下および異常実行、シミュレーション結果の非出力、並びに、次ステップに渡すデータまたはキーの非生成のうちの少なくとも1つを含むものである
ことを特徴とするLSI検証方法。
The LSI verification method according to claim 4 or 7,
The above-mentioned limiting measure includes at least one of stop of simulation, execution speed reduction and abnormal execution, non-output of simulation result, and non-generation of data or key to be passed to the next step. Method.
シミュレーションにおける不正アクセスをチェックするチェック回路を含む回路設計データを、暗号化処理するステップと、
暗号化された回路設計データを、シミュレーションによって検証するステップとを備え、
前記検証ステップは、前記チェック回路を動作させて、不正なアクセスによるシミュレーションを制限するものである
ことを特徴とするLSI検証方法。
Encrypting circuit design data including a check circuit for checking unauthorized access in simulation;
Verifying the encrypted circuit design data by simulation.
The LSI verification method according to claim 1, wherein the verification step operates the check circuit to limit a simulation due to an unauthorized access.
請求項11記載のLSI検証方法において、
前記チェック回路は、シミュレーションにおいて、所定の制限情報のカウント値が上限値を超えたか否かをチェックするものである
ことを特徴とするLSI検証方法。
The LSI verification method according to claim 11,
The LSI verification method according to claim 1, wherein the check circuit checks whether a count value of predetermined restriction information exceeds an upper limit value in a simulation.
請求項11記載のLSI検証方法において、
前記チェック回路は、シミュレーションにおいて、プロトコル制約条件の違反の有無をチェックするものである
ことを特徴とするLSI検証方法。
The LSI verification method according to claim 11,
An LSI verification method according to claim 1, wherein said check circuit checks whether there is a violation of a protocol constraint condition in a simulation.
与えられた回路設計データから、タイミング情報を抽出するステップと、
前記回路設計データを、抽出したタイミング情報のみを合わせて、所定の変換ルールに従い、暗号化設計データに変換するとともに、少なくとも1つの論理ゲートにバッファを付加するステップと、
前記暗号化設計データについて、付加したバッファのサイズを調整するステップと、
バッファサイズ調整後の前記暗号化設計データを、前記所定の変換ルールをキーとして、復号化するステップとを備えた
ことを特徴とするLSI設計方法。
Extracting timing information from given circuit design data;
Converting the circuit design data into encrypted design data according to a predetermined conversion rule by combining only the extracted timing information, and adding a buffer to at least one logic gate;
Adjusting the size of the added buffer for the encrypted design data;
Decrypting the encrypted design data after adjusting the buffer size using the predetermined conversion rule as a key.
固有IDの判定回路とともに暗号化された回路設計データについて、復号化を行い、実際の設計データと、前記固有IDの判定回路とを得るステップを備え、
前記ステップは、入力された固有パラメータによって、前記固有IDの判定回路に正しい値を定義するステップを有する
ことを特徴とするLSI設計方法。
Decrypting the circuit design data encrypted together with the unique ID determination circuit to obtain actual design data and the unique ID determination circuit;
An LSI design method, wherein the step includes a step of defining a correct value in the circuit for determining the unique ID based on the input unique parameter.
JP2004117293A 2004-04-12 2004-04-12 Design method and verifying method for lsi Pending JP2004265437A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004117293A JP2004265437A (en) 2004-04-12 2004-04-12 Design method and verifying method for lsi

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004117293A JP2004265437A (en) 2004-04-12 2004-04-12 Design method and verifying method for lsi

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 (1)

Publication Number Publication Date
JP2004265437A true JP2004265437A (en) 2004-09-24

Family

ID=33128492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004117293A Pending JP2004265437A (en) 2004-04-12 2004-04-12 Design method and verifying method for lsi

Country Status (1)

Country Link
JP (1) JP2004265437A (en)

Similar Documents

Publication Publication Date Title
JP3888823B2 (en) Semiconductor integrated circuit
Gao et al. PUF-FSM: a controlled strong PUF
Alkabani et al. Remote activation of ICs for piracy prevention and digital right management
Baumgarten et al. Preventing IC piracy using reconfigurable logic barriers
Wendt et al. Hardware obfuscation using PUF-based logic
JP6608457B2 (en) A method for generating physically unclonable function bitstreams with improved reliability
Karmakar et al. A new logic encryption strategy ensuring key interdependency
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
Karmakar et al. Hardware IP protection using logic encryption and watermarking
Dunbar et al. A practical circuit fingerprinting method utilizing observability don't care conditions
Shariffuddin et al. Review on arbiter physical unclonable function and its implementation in FPGA for IoT security applications
Cui et al. A new active IC metering technique based on locking scan cells
US20110154062A1 (en) Protection of electronic systems from unauthorized access and hardware piracy
Juretus et al. Characterization of in-cone logic locking resiliency against the SAT attack
US20150188661A1 (en) Encrypted Digital Circuit Description Allowing Circuit Simulation
JP3892004B2 (en) LSI design method
JP2004265437A (en) Design method and verifying method for lsi
Davis et al. Digital IP protection using threshold voltage control
Yoshimura et al. CRLock: A SAT and FALL attacks resistant logic locking method at register transfer level
Qu et al. Digital fingerprint: A practical hardware security primitive
Chhabra et al. Key-based obfuscation using ht-like trigger circuit for 128-bit aes hardware ip core
Rakotomalala et al. Private circuits II versus fault injection attacks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070111

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070313