(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-25
(45)【発行日】2022-04-04
(54)【発明の名称】半導体装置及び半導体装置の設計方法
(51)【国際特許分類】
H01L 21/822 20060101AFI20220328BHJP
H01L 27/04 20060101ALI20220328BHJP
H01L 21/82 20060101ALI20220328BHJP
【FI】
H01L27/04 U
H01L21/82 L
H01L27/04 D
(21)【出願番号】P 2018025195
(22)【出願日】2018-02-15
【審査請求日】2021-02-10
(73)【特許権者】
【識別番号】518055442
【氏名又は名称】株式会社吉川システック
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】長友 春敏
【審査官】市川 武宜
(56)【参考文献】
【文献】特開2006-156805(JP,A)
【文献】特開2000-082745(JP,A)
【文献】国際公開第2017/026350(WO,A1)
【文献】中国特許出願公開第105391542(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 21/822
H01L 21/82
H01L 27/04
(57)【特許請求の範囲】
【請求項1】
フリップフロップと、
入力が入力信号線に接続された第1のバッファ及び第2のバッファと、
入力が前記第1のバッファの出力に接続され、出力が前記フリップフロップのデータ入力又はクロック入力の一方に接続されたインバータと、
入力が前記第2のバッファの出力に接続され、出力が前記フリップフロップのデータ入力又はクロック入力の他方に接続された第3のバッファとを有し、
前記第3のバッファによる信号の遅延時間よりも前記インバータによる信号の遅延時間を大きくする寄生容量を発生させるよう前記インバータに係る入力の配線と出力の配線とが並行に配置されていることを特徴とする半導体装置。
【請求項2】
前記インバータによる信号の遅延時間が、前記第3のバッファによる信号の遅延時間よりも大きいことを特徴とする請求項1記載の半導体装置。
【請求項3】
前記インバータの出力が前記フリップフロップのデータ入力に接続され、前記第3のバッファの出力が前記フリップフロップのクロック入力に接続されていることを特徴とする請求項1又は2記載の半導体装置。
【請求項4】
前記インバータの出力が前記フリップフロップのクロック入力に接続され、前記第3のバッファの出力が前記フリップフロップのデータ入力に接続されていることを特徴とする請求項1又は2記載の半導体装置。
【請求項5】
フリップフロップと、入力が入力信号線に接続される第1のバッファ及び第2のバッファと、入力が前記第1のバッファの出力に接続され、出力が前記フリップフロップのデータ入力又はクロック入力の一方に接続されるインバータと、入力が前記第2のバッファの出力に接続され、出力が前記フリップフロップのデータ入力又はクロック入力の他方に接続される第3のバッファとを有する半導体装置の設計方法であって、
回路情報に基づいて、前記フリップフロップ、前記第1のバッファ、前記第2のバッファ、前記第3のバッファ、及び前記インバータを接続する配線を含むレイアウト設計を行う工程と、
前記レイアウト設計により得られた情報に対して、配線を追加あるいは修正して
前記第3のバッファによる信号の遅延時間よりも前記インバータによる信号の遅延時間を大きくする寄生容量を発生させるよう前記インバータに係る入力の配線と出力の配線とを並行に配置する工程とを有することを特徴とする半導体装置の設計方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置及び半導体装置の設計方法に関する。
【背景技術】
【0002】
近年、半導体装置の不当なリバースエンジニアリングが増えてきている。リバースエンジニアリングの手法として、半導体装置が実装されたチップ表面からの光学的解析だけでなく、配線層を1層ずつ剥離して撮影し、得られた画像を重ね合わせ、ソフトウェアツールで配線情報を抽出し回路図を再現する技術も用いられている。
【0003】
リバースエンジニアリングを防止するための様々な方法が提案されており(例えば、特許文献1~9参照)、リバースエンジニアリングを防ぐために、例えば配線層に工夫を施す方法や、配線層よりも下層にある拡散層やバルクを利用する方法が提案されている。例えば、特許文献1には、ゲートをフローティング状態にしたトランジスタの特性を寄生容量及び寄生抵抗により異ならせ、リバースエンジニアリングによって半導体装置を再現することを困難にする技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【文献】米国特許第9437555号明細書
【文献】特開平6-163539号公報
【文献】特開平9-92727号公報
【文献】米国特許第6117762号明細書
【文献】米国特許第6979606号明細書
【文献】米国特許第7128271号明細書
【文献】米国特許第9337156号明細書
【文献】特表2004-518273号公報
【文献】特開2014-135386号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、前述した特許文献1に記載の技術では、以下のような問題がある。ゲートがフローティング状態であるために、電源電圧からグランドへ無駄な消費電流が流れるとともに、クロストーク等でノイズが入ると電圧変動が起こって動作や消費電流が安定しない。また、複数のトランジスタによって発生する出力電圧は、2値化された電圧ではなく連続したアナログ量になるため、それを受けるコンパレータには高精度のアナログ特性が要求され、消費電流やサイズが大きくなる。このような消費電流やサイズの制約によって、1チップ上に搭載できる個数に制約が発生する。また、リバースエンジニアリングを防止する他の方法においては、半導体製造プロセスの変更が必要になり、プロセス開発期間やコストが増加するといった問題がある。本発明の目的は、半導体製造プロセスの変更等を行うことなく、半導体装置のリバースエンジニアリングを困難にする半導体装置を提供することである。
【課題を解決するための手段】
【0006】
本発明に係る半導体装置は、フリップフロップと、入力が入力信号線に接続された第1のバッファ及び第2のバッファと、入力が前記第1のバッファの出力に接続され、出力が前記フリップフロップのデータ入力又はクロック入力の一方に接続されたインバータと、入力が前記第2のバッファの出力に接続され、出力が前記フリップフロップのデータ入力又はクロック入力の他方に接続された第3のバッファとを有し、前記第3のバッファによる信号の遅延時間よりも前記インバータによる信号の遅延時間を大きくする寄生容量を発生させるよう前記インバータに係る入力の配線と出力の配線とが並行に配置されていることを特徴とする。
【発明の効果】
【0007】
本発明によれば、半導体装置のリバースエンジニアリングを困難にする半導体装置を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の実施形態における半導体装置の構成例を示す図である。
【
図2】本実施形態におけるバッファ及びインバータの回路構成例を示す図である。
【
図3】本実施形態における半導体装置の動作を説明するタイミングチャートである。
【
図4】本実施形態における半導体装置の設計方法の例を示すフローチャートである。
【
図5】本実施形態における半導体装置の他の構成例を示す図である。
【
図6】本実施形態における半導体装置の適用例を示す図である。
【
図7】本実施形態における半導体装置の設計方法を実現可能なコンピュータの構成例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を図面に基づいて説明する。
【0010】
図1は、本発明の実施形態における半導体装置の構成例を示す図である。本実施形態における半導体装置10は、バッファ11、13、14、インバータ12、及びフリップフロップ15を有する。バッファ11、13には、入力信号SINが入力される。バッファ11の出力がインバータ12に入力され、インバータ12の出力がフリップフロップ15のデータ入力端子(D)に入力される。また、バッファ13の出力がバッファ14に入力され、バッファ14の出力がフリップフロップ15のクロック入力端子(CK)に入力される。フリップフロップ15のデータ出力端子(Q)からの出力が出力信号SOUTとして出力される。
【0011】
バッファ11、13、14は、例えば
図2(A)に示すように構成される。Pチャネル型トランジスタTR21、TR23のソースが電源電圧(VDD)に接続され、Nチャネル型トランジスタTR22、TR24のソースが基準電位(例えばグランド)に接続される。トランジスタTR21、TR22は、ゲートに入力信号INが入力され、ドレインが相互に接続されている。また、トランジスタTR23、TR24は、ゲートがトランジスタTR21、TR22のドレインの相互接続点に接続され、ドレインが相互に接続されている。トランジスタTR23、TR24のドレインの相互接続点の電位が出力信号OUTとして出力される。
【0012】
つまり、バッファ11、13、14は、Pチャネル型トランジスタTR21及びNチャネル型トランジスタTR22により構成されるインバータと、Pチャネル型トランジスタTR23及びNチャネル型トランジスタTR24により構成されるインバータとが直列接続されている。
【0013】
また、インバータ12は、例えば
図2(B)に示すように構成される。Pチャネル型トランジスタTR25のソースが電源電圧(VDD)に接続され、Nチャネル型トランジスタTR26のソースが基準電位(例えばグランド)に接続される。トランジスタTR25、TR26は、ゲートに入力信号INが入力され、ドレインが相互に接続されている。トランジスタTR25、TR26のドレインの相互接続点の電位が出力信号OUTとして出力される。
【0014】
図1に示したように、本実施形態における半導体装置10において、フリップフロップ15のデータ入力端子(D)には、バッファ11及びインバータ12を介して、入力信号SINが反転して入力される。また、フリップフロップ15のクロック入力端子(CK)には、バッファ13及びバッファ14を介して、入力信号SINが反転されずに入力される。また、本実施形態における半導体装置10では、インバータ12に係る入力の配線WIと出力の配線WOとが並行に配置されている。
【0015】
このようにインバータ12に係る入力の配線WIと出力の配線WOとを配置することで、並行に配置された配線WIと配線WOとによる寄生容量PCは、ミラー効果により、通常出力に付く場合の寄生容量よりも大きくなり、インバータ12の遅延時間は大きくなる。なお、本実施形態において、配線WIと配線WOとによる寄生容量PCがある場合のインバータ12の遅延時間は、バッファ11、13、14の遅延時間よりも大きくなるものとする。例えば配線WIと配線WOとを50μm程度の長さで並行に配置することで、バッファ11、13、14の遅延時間よりもインバータ12の遅延時間が大きくなるような寄生容量PCを発生させることが可能である。
【0016】
ここで、配線WIと配線WOとによる寄生容量PCがない場合、入力信号SINは、バッファ11及びインバータ12を介してフリップフロップ15のデータ入力端子(D)に入力されるとともに、バッファ13及びバッファ14を介してフリップフロップ15のクロック入力端子(CK)に入力される。バッファ14は2段の直列接続されたインバータで構成されるため、入力信号SINは、フリップフロップ15においてクロック入力端子(CK)よりもデータ入力端子(D)に早く到達する。
【0017】
例えば、
図3に信号D-Aとして示すように、時刻T31において、入力信号SINがローレベル(“L”)からハイレベル(“H”)に変化すると、クロック入力端子(CK)への入力信号が変化する時刻T33よりも前の時刻T32において、データ入力端子(D)への入力信号が“H”から“L”に変化する。したがって、時刻T33において、クロック入力端子(CK)への入力信号が“L”から“H”に立ち上がると、フリップフロップ15は“L”をラッチし、フリップフロップ15の出力信号は、信号SOUT-Aとして示すように“L”となる。
【0018】
それに対して、本実施形態では、配線WIと配線WOとによる寄生容量PCにより、インバータ12の遅延時間がバッファ11、13、14の遅延時間よりも大きくなるため、入力信号SINは、フリップフロップ15においてクロック入力端子(CK)よりもデータ入力端子(D)に遅く到達する。
【0019】
例えば、
図3に信号D-Bとして示すように、クロック入力端子(CK)への入力信号が変化する時刻T33よりも後の時刻T34において、データ入力端子(D)への入力信号が“H”から“L”に変化する。したがって、時刻T33において、クロック入力端子(CK)への入力信号が“L”から“H”に立ち上がると、フリップフロップ15は“H”をラッチし、フリップフロップ15の出力信号は、信号SOUT-Bとして示すように“H”となる。
【0020】
このように本実施形態における半導体装置10は、インバータ12に係る入力の配線WIと出力の配線WOとを並行に配置することにより発生する寄生容量PCを利用することで、トランジスタ、抵抗、容量等の実際の素子とそれらの接続のみを抽出して再現した場合とは異なる動作を示す。すなわち、レイアウトから回路図を読み取るだけでは正常動作(同じ動作)を再現することができず、配線に付く寄生容量もレイアウトから読み取らないと、リバースエンジニアリングにより動作を再現することができない。実際の半導体装置において、寄生容量に関する情報量は膨大であるため、その解析は非常に困難である。したがって、半導体装置のリバースエンジニアリングを困難にし、光学的・破壊的なリバースエンジニアリングによる不正コピーや不正使用目的の回路解析を防止することが可能となる。
【0021】
また、並行に配置する配線は、通常の配線の作成工程で作成すればよいので、半導体製造プロセスの変更もない。なお、並行に配置する配線の一方は、素子が接続されない(フローティング状態の)ダミーの配線であってもよいし、素子が接続される実配線であってもよい。
【0022】
図4は、本実施形態における半導体装置の設計方法の例を示すフローチャートである。
図4に示す処理は、例えばレイアウト設計等を行う半導体装置の設計装置により実行される。まず、ステップS41にて、設計装置は、回路情報に基づいてレイアウト設計を行い、半導体装置10における各素子に係る配置配線を行う。
【0023】
次に、ステップS42にて、設計装置は、ステップS41でのレイアウト設計により得られた情報に対し配線を追加あるいは修正することにより、
図1に示したインバータ12のような対象とするインバータに係る入力の配線と出力の配線とを並行に配置する。そして、ステップS43にて、設計装置は、対象とするインバータに係る入力の配線と出力の配線とを並行に配置するように変更したレイアウト情報を出力して処理を終了する。
【0024】
なお、前述した例では、入力信号SINが、バッファ11及びインバータ12を介してフリップフロップ15のデータ入力端子(D)に入力され、バッファ13及びバッファ14を介してフリップフロップ15のクロック入力端子(CK)に入力される例を示したがこれに限定されるものではない。例えば、
図5に示す半導体装置50のように、入力信号SINが、バッファ51及びバッファ52を介してフリップフロップ55のデータ入力端子(D)に入力され、バッファ53及びインバータ54を介してフリップフロップ55のクロック入力端子(CK)に入力されるようにしてもよい。インバータ54に係る入力の配線WIと出力の配線WOとを並行に配置して寄生容量PCを発生させることで、寄生容量PCがない場合と異なる動作を行うようにすることが可能である。
【0025】
図6は、本実施形態における半導体装置の適用例を示す図である。
図6において、100は、本実施形態における半導体装置を含む半導体チップである。半導体チップ100において、各種の論理処理を行う論理処理回路部110に対して、1個又は複数個の本実施形態における半導体装置120の出力が接続される。論理処理回路部110は、半導体装置120の出力を用いて一部又は全部の論理処理を行うことで、論理処理回路部110における入力と出力との関係は、半導体装置120の出力状態にも依存する。前述したように、リバースエンジニアリングにより本実施形態における半導体装置120の出力状態を判明することは困難であり、論理処理回路部110における入力と出力との関係を解析することも困難となり、半導体チップの不正コピー等を防止することが可能となる。
【0026】
前述した実施形態における半導体装置の設計方法は、例えばCPU又はMPU、RAM、ROM等を有するコンピュータが、記憶部に記憶されたプログラムを実行することで実現でき、前記プログラムは本発明の実施形態に含まれる。また、コンピュータが前記機能を果たすように動作させるプログラムを、例えばCD-ROMのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものであり、前記プログラムを記録した記録媒体は本発明の実施形態に含まれる。前記プログラムを記録する記録媒体としては、CD-ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
【0027】
また、コンピュータがプログラムを実行し処理を行うことにより、前記実施形態の機能が実現されるプログラムプロダクトは、本発明の実施形態に含まれる。前記プログラムプロダクトとしては、前記実施形態の機能を実現するプログラム自体、前記プログラムが読み込まれたコンピュータがある。また、前記プログラムプロダクトとして、ネットワークを介して通信可能に接続されたコンピュータに前記プログラムを提供可能な送信装置、当該送信装置を備えるネットワークシステム等がある。
【0028】
また、供給されたプログラムがコンピュータにおいて稼動しているOS(オペレーティングシステム)又は他のアプリケーションソフト等と協働して前記実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。また、供給されたプログラムの処理のすべて又は一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて前記実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。また、本発明をネットワーク環境で利用するべく、全部又は一部のプログラムが他のコンピュータで実行されるようになっていても良い。
【0029】
例えば、前述した実施形態における半導体装置の設計方法は、
図7に示すようなコンピュータ(設計装置)により実現でき、そのCPU(Central Processing Unit)により前述した実施形態における半導体装置の設計方法の動作が実施される。
図7は、本実施形態における半導体装置の設計方法を実現可能なコンピュータの構成例を示す図である。バス201には、CPU202、ROM(Read Only Memory)203、RAM(Random Access Memory)204、ネットワークインターフェース205、入力装置206、出力装置207、及び外部記憶装置208が接続されている。
【0030】
CPU202は、データの処理や演算を行うとともに、バス201を介して接続された各構成要素を制御するものである。ROM203には、予めブートプログラムが記憶されており、このブートプログラムをCPU202が実行することにより、コンピュータが起動する。外部記憶装置208にコンピュータプログラムが記憶されており、そのコンピュータプログラムがRAM204にコピーされてCPU202により実行することで、例えば前述した半導体装置の設計方法の各処理等が行われる。RAM204は、データの入出力、送受信のためのワークメモリ、各構成要素の制御のための一時記憶として用いられる。
【0031】
ネットワークインターフェース205は、ネットワークに接続するためのインターフェースである。入力装置206は、例えばキーボードやポインティングデバイス(マウス)等であり、各種指定や入力等を行うことができる。出力装置207は、ディスプレイやプリンタ等であり、表示や印刷等を行うことができる。外部記憶装置208は、例えばハードディスク記憶装置やCD-ROMのような記録媒体等であり、電源を切っても記憶内容が消えない。
【0032】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0033】
11、13、14、51、52、53 バッファ
12、54 インバータ
15、55 フリップフロップ
100 半導体チップ
110 論理処理回路部
120 半導体装置
SIN 入力信号
SOUT 出力信号