(57)【要約】【課題】高速性を保ちながらリーク電力を削減すること。【解決手段】半導体装置の設計装置は、記憶部と、設定部と、論理合成部と、を備える。記憶部は、異なる閾値電圧が定義された複数のセルライブラリを記憶する。設定部は、複数のセルライブラリのうち閾値電圧がより高い第１の閾値電圧が定義された第１のセルライブラリに、複数のセルライブラリに共通する規定の電源電圧より高い高電源電圧を供給するように設定する。論理合成部は、第１のセルライブラリ及び高電源電圧を用いて論理合成を行う。【選択図】図９
2016045886.tif 000002
【特許請求の範囲】
【請求項１】
異なる閾値電圧が定義された複数のセルライブラリのうち閾値電圧がより高い第１の閾値電圧が定義された第１のセルライブラリに、複数のセルライブラリに共通する規定の電源電圧より高い高電源電圧を供給するように設定し、
前記第１のセルライブラリ及び前記高電源電圧を用いて論理合成を行う
半導体装置の設計方法。
【請求項２】
前記高電源電圧は、
前記第１のセルライブラリに供給された場合に、前記複数のセルライブラリのうち前記第１の閾値電圧より低い第２の閾値電圧が定義された第２のセルライブラリに前記規定の電源電圧を供給した場合に満たされる制約条件を満たす電源電圧である、
請求項１に記載の半導体装置の設計方法。
【請求項３】
前記高電源電圧は、
前記第２のセルライブラリに前記規定の電源電圧を供給することで発揮される前記半導体装置の速度性能を、前記第１のセルライブラリに供給することにより発揮させる電源電圧である
請求項２に記載の半導体装置の設計方法。
【請求項４】
前記第１のセルライブラリに供給する電源電圧を前記規定の電源電圧から増加させて、前記第２のセルライブラリに前記規定の電源電圧を供給した場合の前記速度性能に到達した際の電源電圧を、前記高電源電圧として設定する
請求項３に記載の半導体装置の設計方法。
【請求項５】
前記第１の閾値電圧は前記第２の閾値電圧の次に閾値電圧が低いものであり、
前記複数のセルライブラリの中から前記第１のセルライブラリを選択し、
前記第１のセルライブラリに前記設定された前記高電源電圧を供給した場合に、前記制約条件を満たすように前記論理合成を行う
請求項２に記載の半導体装置の設計方法。
【請求項６】
前記論理合成後にクリティカルパスを特定し、
前記特定したクリティカルパス以外のパスにおける前記第１のセルライブラリを、前記第１の閾値電圧より高い第３の閾値電圧が定義された第３のセルライブラリに置き換える
請求項５に記載の半導体装置の設計方法。
【請求項７】
前記規定の電源電圧より高く、かつ、互いに異なる複数の電源電圧をさらに設定し、
前記複数の電源電圧の中から選択した一の電源電圧を前記高電源電圧として前記論理合成を行う
請求項１に記載の半導体装置の設計方法。
【請求項８】
異なる複数のゲート長をさらに設定し、
前記複数の電源電圧及び前記複数のゲート長の組み合わせの中から一の組み合わせを選択し、
前記選択した組み合わせに含まれるゲート長を適用した場合の前記第１のセルライブラリに、当該選択した組み合わせに含まれる電源電圧を前記高電源電圧として前記論理合成を行う
請求項７に記載の半導体装置の設計方法。
【請求項９】
異なる閾値電圧が定義された複数のセルライブラリを記憶する記憶部と、
前記複数のセルライブラリのうち閾値電圧がより高い第１の閾値電圧が定義された第１のセルライブラリに、前記複数のセルライブラリに共通する規定の電源電圧より高い高電源電圧を供給するように設定する設定部と、
前記第１のセルライブラリ及び前記高電源電圧を用いて論理合成を行う論理合成部と、
を備える半導体装置の設計装置。
【請求項１０】
異なる閾値電圧が定義された複数のセルライブラリのうち閾値電圧がより高い第１の閾値電圧が定義された第１のセルライブラリに、前記複数のセルライブラリに共通する規定の電源電圧より高い高電源電圧を供給するように設定する処理と、
前記第１のセルライブラリ及び前記高電源電圧を用いて論理合成を行う処理と、
をコンピュータに実行させる半導体装置のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計方法、設計装置及び設計プログラムに関し、例えば、高速かつ低消費電力を実現する半導体装置の設計方法、設計装置及び設計プログラムに関する。
【背景技術】
【０００２】
近年、半導体装置のトランジスタの微細化及び処理速度の高速化の要求が高まっている。ここで、ＭＯＳ（Metal-Oxide-Semiconductor）トランジスタから構成される半導体回路では、電源電圧が高いほど、また、ＭＯＳトランジスタの閾値電圧が小さいほど、高速に動作することができる（例えば、特許文献１の段落００２７）。
【０００３】
そこで、高速のＣＰＵ（Central Processing Unit）を設計するために、低閾値電圧ライブラリを用いて動作速度における最高速の性能を引き出す設計を行うことが一般的である。但し、低閾値電圧ライブラリは、リーク電力が相対的に大きい。そのため、高速性を保ちながらリーク電力を削減する方策を考える必要がある。
【０００４】
そこで、非特許文献１には、マルチ閾値電圧ライブラリを用いたトランジスタの設計技術として、低速、中速及び高速の３種類のトランジスタを用途に応じて使い分けることで、高速なＣＰＵを実現しつつ、リーク電力を削減できる技術（p.81, 4.4 マルチVtトランジスタ）が開示されている。また、非特許文献２には、低消費電力ＬＳＩ（Large Scale Integration）の設計技術（例えば、マルチ閾値電圧及びマルチ電源電圧設計の項）が開示されている。さらに、非特許文献３には、マルチ閾値電圧ライブラリを用いた設計フローとして、論理合成フェーズや配置配線フェーズ（例えば、設計フロー概略の項）について開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１６６６９８号公報
【非特許文献】
【０００６】
【非特許文献１】細井俊克、「小型化・省電力・高性能を実現したプラットフォーム技術」、NEC技報、Vol.61, No. 2, 2008, p.78 - 81
【非特許文献２】Michael Santarini、“最新技術動向をまとめて理解！：低消費電力LSIの設計技術 (2/5) - EDN Japan”、[online]、平成19年9月１日、EDN、[平成24年12月20日検索]、インターネット<http://ednjapan.com/edn/articles/0709/01/news018_2.html>
【非特許文献３】奥平  隆敏、中西  義直、「ローリーク設計手法の開発」、沖テクニカルレビュー、2005年7月、第203号Vol.72 No.3, p.48 - 51
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、非特許文献２では、クリティカルパスにおいては少なくとも（高速な）低閾値電圧ライブラリを用いる必要がある。そして、低閾値電圧ライブラリのリーク電力は他の閾値電圧ライブラリと比べて極めて大きいため、リーク電力の削減には限界があるという問題点がある。そこで、高速性を保ちながらリーク電力をさらに削減する必要がある。
【０００８】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
一実施の形態によれば、半導体装置のクリティカルパスに、標準電圧より高い電源電圧を設定したより低リーク電力のライブラリを用いてタイミング制約を満たすものである。
【発明の効果】
【００１０】
前記一実施の形態によれば、高速性を保ちながらリーク電力を削減する半導体装置を設計することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態１にかかる半導体装置の設計装置の構成を示すブロック図である。
【図２】本実施の形態１にかかる半導体装置の設計装置のハードウェア構成の例を示すブロック図である。
【図３】本実施の形態１にかかる半導体装置の設計方法の処理の流れを示すフローチャートである。
【図４】従来技術にかかるセルライブラリの概念を示す図である。
【図５】本実施の形態１にかかるセルライブラリの概念を示す図である。
【図６】本実施の形態１にかかるオーバードライブした高電源電圧の設定処理の流れを示すフローチャートである。
【図７】本実施の形態１にかかる論理合成処理の流れを示すフローチャートである。
【図８】本実施の形態１にかかるセルライブラリの置換処理の流れを示すフローチャートである。
【図９】本実施の形態１にかかる動作速度とリーク電力特性を説明するための図である。
【図１０】本実施の形態１にかかるトータル電力内訳の例を示す図である。
【図１１】本実施の形態２にかかる半導体装置の設計装置の構成を示すブロック図である。
【図１２】本実施の形態２にかかる動作速度とリーク電力特性を説明するための図である。
【図１３】本実施の形態２にかかるトータル電力内訳の例を示す図である。
【図１４】関連技術にかかる動作速度とリーク電力特性を説明するための図である。
【発明を実施するための形態】
【００１２】
以下では、上述した課題を解決するための手段を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１３】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１４】
さらに、以下の実施の形態において、その構成要素（動作ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００１５】
＜実施の形態１＞
まず、上述した非特許文献２及び非特許文献３の技術、並びに、その課題を詳述する。非特許文献２にかかるマルチ閾値電圧設計手法では、低閾値電圧、中閾値電圧及び高閾値電圧（それぞれ高速、中速及び低速（低消費電力用））のライブラリを用いる。そして、非特許文献２にかかるマルチ閾値電圧設計手法では、以下（１）〜（４）の設計フローとなる。
（１）低閾値電圧ライブラリを用い、タイミング制約（目標）を与えて論理合成を行い、最大性能とタイミング目標を実現する。
（２）回路におけるクリティカルパス（最高速度性能を必要とするパス）を特定する。
（３）（２）で特定したクリティカルパスに基づき、低閾値電圧ライブラリを必要としない部分（すなわち、クリティカルパス以外）を特定する。
（４）（３）で特定した部分の低閾値電圧ライブラリを中閾値または高閾値電圧ライブラリに置き換える。ここで、置き換えには、論理合成ツールの持つリーク削減機能を利用することもできる（非特許文献３）。
【００１６】
ここで、低閾値電圧ライブラリは、中閾値及び高閾値の電圧ライブラリと比べて高速に動作可能である。例えば、図１４は、４種類（Extreme low, Low, Standard, High）の閾値電圧ライブラリについて、標準電圧により動作させた場合の速度性能とリーク電力特性の関係を示している。ここでは、横軸が速度性能、縦軸がリーク電力（ｌｏｇで表示）を示す。
【００１７】
その上で、上記設計フロー（４）により、低閾値電圧ライブラリの占有率を下げ、回路全体の消費電力とリーク電力を低減することができる場合もある。
【００１８】
しかしながら、上記設計フローの場合、低閾値電圧ライブラリから中閾値又は高閾値ライブラリへの置き換えが、クリティカルパスの速度を悪化させる場合もある。この場合、リーク電力削減効果が得られないため、リーク削減に限度があるという課題が発生する。また、論理合成ツールのリーク電流制約機能の設計制約としての優先順位は、通常、タイミング制約よりも低いので、ある程度のリーク削減効果しか期待できないという課題もある（非特許文献３）。
【００１９】
ここで、クリティカルパスにおける各閾値電圧ライブラリの電源電圧には、いずれも標準電圧を用いる（非特許文献２）。標準電圧は、プロセス技術的、仕様上の最大電圧ともいえる。しかし、各閾値電圧ライブラリは、標準電圧より高い電源電圧により動作させることも可能である。そして、標準電圧より高い電源電圧により動作させることにより、各閾値電圧ライブラリは、通常よりも高速に動作することができる。
【００２０】
そこで、本実施の形態１にかかる半導体装置の設計方法では、異なる閾値電圧が定義された複数のセルライブラリのうち閾値電圧がより高い第１の閾値電圧が定義された第１のセルライブラリに、複数のセルライブラリに共通する規定の電源電圧より高い高電源電圧を供給するように設定し、前記第１のセルライブラリ及び前記高電源電圧を用いて論理合成を行う。このように、リーク電力特性がより低い中閾値又は高閾値電圧ライブラリに高電源電圧を供給することで、低閾値電圧ライブラリを用いなくても単に中閾値又は高閾値電圧ライブラリを用いる場合と比べて高速となる。同時に、低閾値電圧ライブラリを用いる場合と比べてリーク電力を削減することができる。
【００２１】
そして、前記高電源電圧は、前記第１のセルライブラリに供給された場合に、前記複数のセルライブラリのうち前記第１の閾値電圧より低い第２の閾値電圧が定義された第２のセルライブラリに前記規定の電源電圧を供給した場合に満たされる制約条件を満たす電源電圧であることが望ましい。これにより、低閾値電圧ライブラリを用いずに、低閾値電圧ライブラリを用いる場合と同等の性能を有する回路設計を実現できる。
【００２２】
さらに、前記高電源電圧は、前記第２のセルライブラリに前記規定の電源電圧を供給することで発揮される前記半導体装置の速度性能を、前記第１のセルライブラリに供給することにより発揮させる電源電圧であることが望ましい。これにより、低閾値電圧ライブラリを用いる場合と同等の動作速度を維持しつつ、リーク電力を削減することができる。
【００２３】
また、前記第１の閾値電圧は前記第２の閾値電圧の次に閾値電圧が低いものであり、前記複数のセルライブラリの中から前記第１のセルライブラリを選択し、前記第１のセルライブラリに前記設定された前記高電源電圧を供給した場合に、前記制約条件を満たすように前記論理合成を行うようにしてもよい。これにより、後述するオーバードライブ電圧の上げ幅を最小限にできる。
【００２４】
図１は、本実施の形態１にかかる半導体装置の設計装置１の構成を示すブロック図である。設計装置１は、複数のセルライブラリを用いて、所定の制約条件を満たす半導体装置の回路設計を行うためのコンピュータシステムである。設計装置１は、記憶部１１と、論理合成部１２とを少なくとも備える。
【００２５】
記憶部１１は、複数のセルライブラリ１１１、１１２、・・・１１ｎ（ｎは２以上の自然数。）を記憶する記憶装置である。代表して、セルライブラリ１１１は、閾値電圧１１１１と、高電源電圧１１１２とが定義されている。閾値電圧１１１１は、セルライブラリ１１１にかかるトランジスタに電流が流れ始める際の閾値となる電圧値である。ここで、各セルライブラリ１１１〜１１ｎには、それぞれ異なる閾値電圧が定義されている。そして、閾値電圧１１１１は、セルライブラリ１１１〜１１ｎ内に定義された各閾値電圧のうち、より高い電圧であるものとする。つまり、閾値電圧１１１１は、セルライブラリ１１１〜１１ｎ内に定義された各閾値電圧のうち電圧の高さが少なくとも下から２番目以上であるものとする。
【００２６】
高電源電圧１１１２は、複数のセルライブラリ１１１〜１１ｎに共通する規定の電源電圧（標準電圧）より電圧値が高い電源電圧である。ここで、高電源電圧１１１２は、標準電圧以上かつ最大定格未満の電圧である。そして、高電源電圧１１１２と標準電圧との差をオーバードライブ電圧とする。つまり、オーバードライブ電圧とは、高電源電圧１１１２における標準電圧からの超過分の電圧値である。そして、各セルライブラリ１１１〜１１ｎには、それぞれ高電源電圧が定義されている。または、各セルライブラリ１１１〜１１ｎには、それぞれオーバードライブ電圧が定義されていても良い。つまり、各セルライブラリに定義された高電源電圧が供給されるものとして設定されていればよい。尚、各セルライブラリ１１１〜１１ｎに設定されるオーバードライブ電圧の電圧値は異なっていても良い。
【００２７】
尚、セルライブラリ１１１〜１１ｎには、図示しない構成として、基本ゲート(NOR, NOR, NAND)に関する機能、所定の電圧・温度条件下で抽出されたゲート遅延時間やゲート消費電力、並びにセルサイズ等が含まれていても良い。
【００２８】
設定部１２は、複数のセルライブラリのうち閾値電圧がより高い閾値電圧１１１１（第１の閾値電圧）が定義されたセルライブラリ１１１（第１のセルライブラリ）に、高電源電圧１１１２を供給するように設定する。
【００２９】
論理合成部１２は、セルライブラリ１１１及び高電源電圧１１１２を用いて論理合成を行う。
【００３０】
図２は、本実施の形態１にかかる半導体装置の設計装置１のハードウェア構成の例を示すブロック図である。設計装置１は、例えば、汎用的なコンピュータシステムにより実現可能である。設計装置１は、例えば、ＣＰＵ（Central Processing Unit）１０１等の制御装置と、ＲＡＭ（Random Access Memory）１０２及びＲＯＭ（Read Only Memory）１０３等のメモリと、ＩＦ部１０４と、ＨＤＤ（Hard Disk Drive）１０５とを備えるものである。設計装置１は、その他図示しない構成として、キーボードやマウス等の入力装置やディスプレイ等の表示装置を備える。ＩＦ部１０４は、入力装置及び表示装置並びにネットワークを介して外部とのデータの送受信を行うインタフェースである。
【００３１】
ＨＤＤ１０５は、ＯＳ（Operating System）（不図示）と、設計プログラム１０５１と、論理セルライブラリ１０５２と、ＲＴＬ（Register Transfer Level）１０５３と、制約条件１０５４と、ネットリスト１０５５と、リーク情報１０５６と、遅延情報１０５７とが記憶されている。設計プログラム１０５１は、本実施の形態１にかかる半導体装置の設計処理が実装されたコンピュータプログラムである。論理セルライブラリ１０５２は、図１のセルライブラリ１１１〜１１ｎに相当する。ＲＴＬ１０５３は、ゲート・レベルのハードウェアの詳細を抽象化したレベルである。制約条件１０５４は、設計制約とも呼ばれ、タイミング目標、目標スピードが定義される。ネットリスト１０５５は、ゲート情報及びゲート間の接続情報が記述された回路データである。リーク情報１０５６は、論理合成後の設計内容に関するリーク電力の情報である。遅延情報１０５７は、論理合成後の設計内容に関する遅延時間の情報である。
【００３２】
ＣＰＵ１０１は、設計装置１における各種処理、ＲＡＭ１０２、ＲＯＭ１０３、ＩＦ部１０４及びＨＤＤ１０５へのアクセス等を制御する。設計装置１は、ＣＰＵ１０１がＨＤＤ１０５に記憶されたＯＳ及び設計プログラム１０５１を読み込み、実行する。これにより、設計装置１は、本実施の形態１にかかる半導体装置の設計処理を実現する。
【００３３】
図４は、従来技術にかかるセルライブラリの概念を示す図である。ここでは、セルライブラリＬ１〜Ｌ３が定義されているものとする。セルライブラリＬ１には、低閾値電圧Ｖｔｈ１及び標準電源電圧ＶｄｄＳが設定されている。セルライブラリＬ２には、中閾値電圧Ｖｔｈ２及び標準電源電圧ＶｄｄＳが設定されている。セルライブラリＬ３には、高閾値電圧Ｖｔｈ３及び標準電源電圧ＶｄｄＳが設定されている。つまり、セルライブラリＬ１は、低閾値電圧ライブラリであり、相対的に高速かつ高消費電力である。セルライブラリＬ２は、中閾値電圧ライブラリであり、相対的に中速かつ中消費電力である。セルライブラリＬ３は、高閾値電圧ライブラリであり、相対的に低速かつ低消費電力である。そして、セルライブラリＬ１〜Ｌ３は、電源電圧が標準電源電圧ＶｄｄＳで共通する。標準電源電圧ＶｄｄＳは、規定の電源電圧であり、例えば、１．０Ｖである。また、低閾値電圧Ｖｔｈ１、中閾値電圧Ｖｔｈ２、高閾値電圧Ｖｔｈ３はそれぞれ、０．２Ｖ、０．４Ｖ、０．６Ｖである。但し、電圧値の例はこれらに限定されない。
【００３４】
図５は、本実施の形態１にかかるセルライブラリの概念を示す図である。ここでは、セルライブラリＬ１１〜Ｌ１３，Ｌ２１〜Ｌ２３、Ｌ３１〜Ｌ３３が定義されているものとする。セルライブラリＬ１１〜Ｌ１３のそれぞれは、共通する低閾値電圧Ｖｔｈ１と、異なる電圧値である高電源電圧ＶｄｄＯ１〜ＶｄｄＯ３のいずれかが設定されている。セルライブラリＬ２１〜Ｌ２３のそれぞれは、共通する中閾値電圧Ｖｔｈ２と、異なる電圧値である高電源電圧ＶｄｄＯ１〜ＶｄｄＯ３のいずれかが設定されている。セルライブラリＬ３１〜Ｌ３３のそれぞれは、共通する高閾値電圧Ｖｔｈ３と、異なる電圧値である高電源電圧ＶｄｄＯ１〜ＶｄｄＯ３のいずれかが設定されている。ここで、高電源電圧ＶｄｄＯ１、ＶｄｄＯ２、ＶｄｄＯ３はいずれも標準電源電圧ＶｄｄＳより高い電圧値である。尚、本実施の形態では、低閾値電圧ライブラリであるセルライブラリＬ１１〜Ｌ１３は必須ではなく、オーバードライブした高電源電圧が設定されたセルライブラリＬ２１〜Ｌ２３又はＬ３１〜Ｌ３３のいずれかが少なくとも定義されていればよい。
【００３５】
図３は、本実施の形態１にかかる半導体装置の設計方法の処理の流れを示すフローチャートである。まず、設計装置１は、論理セルライブラリ１０５２、ＲＴＬ１０５３及び制約条件１０５４の設定を行う（Ｓ１０）。ここで、ＲＴＬ１０５３及び制約条件１０５４は、外部からユーザ等により与えられるものとする。また、設計装置１は、少なくとも中速又は高速のセルライブラリに、オーバードライブした高電源電圧を設定する。例えば、論理セルライブラリ１０５２は、図５のセルライブラリＬ２１〜Ｌ２３又はＬ３１〜Ｌ３３の少なくとも一部であるか、図５のセルライブラリの全てであるものとする。但し、ステップＳ１０で設定されるセルライブラリ及び高電源電圧の組み合わせは、少なくとも中速又は低速ライブラリであり、オーバードライブした高電源電圧を供給することにより、高速ライブラリに標準電圧を供給した場合と同等の制約条件を満たすものとする。
【００３６】
ここで、本実施の形態にかかるオーバードライブした高電源電圧の設定方法については、次のように表現することができる。すなわち、前記第１のセルライブラリに供給する電源電圧を前記規定の電源電圧から増加させて、前記第２のセルライブラリに前記規定の電源電圧を供給した場合の前記速度性能に到達した際の電源電圧を、前記高電源電圧として設定する。これにより、高電源電圧を必要以上に高く設定することがなくなるため、オーバードライブ電圧の上げ幅を最小限にできる。
【００３７】
図６は、本実施の形態１にかかるオーバードライブした高電源電圧の設定処理の流れを示すフローチャートである。まず、設計装置１は、各セルライブラリの電源電圧として標準電源電圧を設定する（Ｓ１１）。ここでは、記憶部１１のセルライブラリ１１１〜１ｎとして、予め図４のセルライブラリＬ１からＬ３が定義されたものとする。また、高速である低閾値電圧ライブラリであるセルライブラリＬ１については、標準電圧を電源電圧として制約条件１０５４を満たすものとする。
【００３８】
次に、設計装置１は、中速であるセルライブラリＬ２を選択し、制約条件１０５４を満たすか否か、つまり速度性能に到達したか否かを判定する（Ｓ１２）。ここでは、中速ライブラリに標準電圧が電源電圧として設定されているため、速度性能を満たさず、ステップＳ１３へ進む。
【００３９】
そして、設計装置１は、中速ライブラリの電源電圧をオーバードライブする（Ｓ１３）。例えば、セルライブラリＬ２に高電源電圧ＶｄｄＯ１を設定する。そして、再度、ステップＳ１２を実行する。このとき、速度性能に到達しなければ、設計装置１は、中速ライブラリの電源電圧をオーバードライブする。例えば、セルライブラリＬ２に高電源電圧ＶｄｄＯ１より高い高電源電圧ＶｄｄＯ２を設定する。
【００４０】
一方、ステップＳ１２で速度性能に到達していれば、設計装置１は、中速ライブラリの電源電圧をステップＳ１３でオーバードライブした電源電圧を高電源電圧として設定する（Ｓ１４）。このとき、設計装置１は、低速ライブラリであるセルライブラリＬ３についても同じ高電源電圧を設定するとよい。
【００４１】
尚、設計装置１は、中速ライブラリ及び低速ライブラリに複数の高電源電圧を設定してもよい。また、設計装置１は、低速ライブラリに対して図６の処理を適用しても構わない。
【００４２】
図３に戻り、説明を続ける。
設計装置１は、設定された論理セルライブラリ１０５２、ＲＴＬ１０５３及び制約条件１０５４に基づいて、中速ライブラリ及び高電源電圧を用いて論理合成を行う（Ｓ２０）。すなわち、ステップＳ１０において、クリティカルパスの速度性能を満たすことができる高電源電圧が設定された中速ライブラリをクリティカルパスに適用して論理合成を行う。これにより、設計装置１は、ネットリスト１０５５を生成する。尚、ステップＳ２０においては、クリティカルパス以外にも、高電源電圧が設定された中速ライブラリを適用してもよい。
【００４３】
その後、設計装置１は、ネットリスト１０５５を用いて配置配線を行い（Ｓ３０）、リーク情報１０５６及び遅延情報１０５７を生成する。以降、通常の回路設計プロセスが続くが、ここでは説明を省略する。
【００４４】
ここで、本実施の形態は、次のように表現することもできる。すなわち、前記規定の電源電圧より高く、かつ、互いに異なる複数の電源電圧をさらに設定（例えば、高電源電圧ＶｄｄＯ１〜ＶｄｄＯ３）し、前記複数の電源電圧の中から選択した一の電源電圧を前記高電源電圧として前記論理合成を行う。これにより、複数の高電源電圧の候補の中から適切なものを用いることができる。例えば、電源電圧の増分が最小となるものを選択するまで、繰り返しても良い。または、リーク電力の減少分が最大となるものを選択するまで繰り返しても良い。
【００４５】
図７は、本実施の形態１にかかる論理合成処理の流れを示すフローチャートである。まず、設計装置１は、高電源電圧ＶｄｄＯ１〜ＶｄｄＯ３の中から一の電源電圧を選択する（Ｓ２１）。つまり、設計装置１は、セルライブラリＬ２１〜Ｌ２３及びＬ３１〜Ｌ３３の中から任意のセルライブラリを選択する。次に、設計装置１は、選択したセルライブラリに、選択した高電源電圧を供給するようにして合成を行う（Ｓ２２）。その後、設計装置１は、制約条件１０５４を満たすか否かを判定する（Ｓ２３）。制約条件を満たさない場合、ステップＳ２１へ戻り、設計装置１は、他の高電源電圧及びセルライブラリを選択する。以降、制約条件を満たすまでステップＳ２１〜Ｓ２３を繰り返す。ここで、ステップＳ２３の制約条件として、リーク電力の上限を含めても良い。さらに、制約条件に加えて、電源電圧の増分が最小であるか否か、リーク電力の減少分が最大となるか否かも判定してもよい。
【００４６】
ステップＳ２３において、制約条件等を満たす場合、設計装置１は合成結果としてネットリスト１０５５を生成し、ＨＤＤ１０５に保存する。
【００４７】
また、本実施の形態では、論理合成後に次の処理を行うことが望ましい。すなわち、前記論理合成後にクリティカルパスを特定し、前記特定したクリティカルパス以外のパスにおける前記第１のセルライブラリを、前記第１の閾値電圧より高い第３の閾値電圧が定義された第３のセルライブラリに置き換える。これにより、クリティカルパスの速度を維持しつつ、それ以外のパスについてさらなるリーク電力を削減することができる。
【００４８】
図８は、本実施の形態１にかかるセルライブラリの置換処理の流れを示すフローチャートである。まず、設計装置１は、論理合成後に設計された半導体装置（回路）におけるクリティカルパスを特定する（Ｓ３１）。そして、設計装置１は、特定したクリティカルパスに基づいて、当該クリティカルパス以外のパスを特定する（Ｓ３２）。その後、設計装置１は、クリティカルパス以外のパスにおける中速ライブラリを（低速、高閾値の）低消費電力ライブラリに置換する（Ｓ３３）。これにより、高電源電圧が設定された中速ライブラリを回路全体に適用した場合に比べて、速度を維持しつつ、回路全体のリーク電力を低減することができる。尚、図８の処理は、論理合成処理内で行っても構わない。
【００４９】
ここで、一般に提供される閾値電圧ライブラリでは、閾値のレベルが一つ異なることにより、リーク電流量が約一桁異なることが多い。そのため、本実施の形態によりリーク電力量を飛躍的に削減することができる。
【００５０】
ここで、半導体装置の動作電力Ｐoperationは、以下の式（１）により求めることができる。
Ｐoperation＝α・ｆ・Ｃ・Ｖｄｄ２・ｎ      ・・・（１）
ここで、αは活性化率、ｆは周波数、Ｃは負荷容量、ｎは素子数、Ｖｄｄは電源電圧である。
【００５１】
また、半導体装置のリーク電力Ｐleakは、以下の式（２）により求めることができる。
Ｐleak＝Ｉleak・Ｖｄｄ・ｎ      ・・・（２）
ここで、Ｉleakはリーク電流である。
【００５２】
そして、トータル電力Ｐtotalは、以下の式（３）により求めることができる。
Ｐtotal＝Ｐoperation＋Ｐleak      ・・・（３）
【００５３】
図９は、本実施の形態１にかかる動作速度とリーク電力特性を説明するための図である。図９では、図１４と同じ４種類の閾値電圧ライブラリについて、それぞれ標準電圧からオーバードライブした高電源電圧を設定した場合の速度性能及びリーク電力の変化の推移を示すものである。つまり、リーク電力は、式（２）に基づき右肩上がりの特性となることを示す。
【００５４】
また、図９は、閾値電圧が“Extreme low”であるセルライブラリにおいて標準電圧を供給した場合のクリティカルパスの速度性能（“Target speed”）と同じ速度性能を、閾値電圧が“Low”であるセルライブラリにおいて高電源電圧を供給した場合に満たすことを示している。例えば、図６のように電源電圧を徐々に増加させていくことで、最低の閾値電圧（例えば、“Extreme low”）から一レベル高くした閾値電圧（例えば、“Low”）において、どの高電源電圧により、最低の閾値電圧と同じ速度性能を満たすか否かを特定できる。
【００５５】
図１０は、本実施の形態１にかかるトータル電力内訳の例を示す図である。図１０では、横軸をオーバードライブ電圧とし、縦軸を電力としたものである。そして、オーバードライブ電圧に対応するトータル電力とその内訳である動作電力及びリーク電力を示す。
【００５６】
ここで、トータル電力ｐｔ１、動作電力ｐｏ１、リーク電力ｐｌ１は、閾値電圧“Extreme low”のセルライブラリ（高速ライブラリ）においてオーバードライブ電圧０Ｖつまり標準電圧を供給した場合において、図９上の“Target speed”に示すクリティカルパスの速度性能を満たしたものとする。一方、トータル電力ｐｔ２、動作電力ｐｏ２、リーク電力ｐｌ２は、閾値電圧“low”のセルライブラリ（中速ライブラリ）においてオーバードライブ電圧が０．１Ｖの電源電圧を供給した場合において、図９上の“Target speed”に示すクリティカルパスの速度性能を満たしたものとする。
【００５７】
そのため、本実施の形態では、高電源電圧（標準電圧＋オーバードライブ電圧０．１Ｖ）を供給する中速ライブラリによりクリティカルパスの制約条件“Target speed”を満たすように論理合成することで、リーク電力ｐｌ１がリーク電力ｐｌ２へとおよそ一桁削減できる。このとき、動作電力ｐｏ１が式（１）に示すように電源電圧の２乗に比例して動作電力ｐｏ２へ増加しているが、式（３）に示すように、トータル電力ｐｔ１はトータル電力ｐｔ２へおよそ半減させることができる。
【００５８】
つまり、電源電圧をオーバードライブすることにより一段階高い閾値電圧(“Low”)のデバイス（セルライブラリ）でクリティカルパスの速度性能を満たすということは、電源電圧上昇に比例した動作電力の増大を伴うものの、およそ一桁低いリーク電力でクリティカルパスの速度を満たすということになる。
【００５９】
また、一般に、セルライブラリに標準電圧より高い電源電圧を供給することは、長期信頼性の面で懸念があるため採用にくい。しかしながら、図１０に示すようにオーバードライブ電圧を０．１Ｖ程度に抑えることで、上述したように動作電力の増加をある程度に抑えつつもリーク電力及びトータル電力を大幅に削減できる。よって、長期信頼性の面での懸念も解消できる。
【００６０】
尚、図３のステップＳ２０において、設計装置１は、中速ライブラリの代わりに低速ライブラリに高電源電圧を適用して論理合成を行っても構わない。高電源電圧の設置値次第では、これによっても高速ライブラリと同等の速度性能を満たすことができ、かつ、リーク電力を削減することができる。
【００６１】
＜実施の形態２＞
本実施の形態２は、上述した実施の形態１に改良例である。本実施の形態２では、実施の形態１にマルチＬｇライブラリを適用することで、マルチ閾値電圧ライブラリと併用するものである。ここで、マルチＬｇライブラリとは、ゲート長を長くすることで短チャネル効果を抑制して、リーク電流を削減するものである。
【００６２】
ここで、本実施の形態２では、異なる複数のゲート長をさらに設定し、前記複数の電源電圧及び前記複数のゲート長の組み合わせの中から一の組み合わせを選択し、前記選択した組み合わせに含まれるゲート長を適用した場合の前記第１のセルライブラリに、当該選択した組み合わせに含まれる電源電圧を前記オーバードライブ電圧として前記論理合成を行う。これにより、オーバードライブ電圧をより小さくすることができる。
【００６３】
図１１は、本実施の形態２にかかる半導体装置の設計装置１ａの構成を示すブロック図である。設計装置１ａは、実施の形態１にかかる設計装置１を改良したものである。設計装置１ａは、記憶部１１ａと、設定部１２ａと、論理合成部１３ａとを備える。記憶部１１ａは、セルライブラリ１１１ａ〜１１ｎａを記憶する。セルライブラリ１１１ａは、閾値電圧１１１１及びオーバードライブ電圧１１１２に加え、ゲート長１１１３が定義されている。セルライブラリ１１２ａ〜１１ｎａも同様である。
【００６４】
設定部１２ａは、設定部１２の機能に加え、異なる複数のゲート長をさらに設定する。論理合成部１３ａは、複数の電源電圧及び複数のゲート長の組み合わせの中から一の組み合わせを選択し、選択した組み合わせに含まれるゲート長を適用した場合のセルライブラリ１１１ａ（第１のセルライブラリ）に、当該選択した組み合わせに含まれる電源電圧を高電源電圧として論理合成を行う。
【００６５】
図１２は、本実施の形態２にかかる動作速度とリーク電力特性を説明するための図である。図１２は、マルチＬｇ技術に対して電源電圧をオーバードライブした場合の動作速度とリーク電力との関係を示す。マルチＬｇ技術では、その性質上、上述した２つの閾値電圧ライブラリにおけるリーク電流特性の中間あたりのリーク電流特性を持つ。図１２では、実施形態１よりも少ないオーバードライブ電圧量により、最も低い閾値電圧（“Extreme low”）のデバイスから約半桁リークの低いデバイス（“Extreme Low“のマルチＬｇ）でクリティカルパスの速度を満たすことができることを示す。
【００６６】
図１３は、本実施の形態２にかかるトータル電力内訳の例を示す図である。ここで、図１３の破線は、図１０の各電力に対応するものである。そのため、本実施の形態２では、オーバードライブ電圧が０Ｖから０．０８Ｖの間において、実施形態１に比べてリーク電力が低くなることを示す。
【００６７】
このように、本実施の形態２では、実施形態１より少ないオーバードライブ電源電圧量で、低リークデバイス（“Extreme Low”のマルチＬｇ）使用によるクリティカルパスの速度を満たすことが可能となる。そして、トータル電力としては、図１３に示すように、オーバードライブ電源電圧量が少ない領域で実施形態１（破線）よりも電力削減効果が大きくなる。
【００６８】
本実施の形態２は次のように表現することもできる。すなわち、異なるゲート長が定義された複数のセルライブラリのうちゲート長がより長い第１のゲート長が定義された第１のセルライブラリに、複数のセルライブラリに共通する規定の電源電圧より高い高電源電圧を供給するように設定し、前記第１のセルライブラリ及び前記高電源電圧を用いて論理合成を行う半導体装置の設計方法。これにより、閾値電圧が同じであってもゲート長がより長いセルライブラリに高電源電圧を用いることで、速度を維持しつつ、リーク電力を削減できる。
【００６９】
＜実施の形態３＞
本実施の形態３は、上述した実施の形態１の変形例である。上述した実施の形態１では、まず、オーバードライブされた高電源電圧を設定した中速ライブラリで制約条件を満たし、その後、クリティカルパス以外を低速ライブラリに置換することを示した。そこで、本実施の形態３では、先に、オーバードライブされた高電源電圧を設定した低速ライブラリで制約条件を満たし、その後、クリティカルパスを中速ライブラリに置換するものである。この場合でも、実施の形態１と同様の効果を奏することができる。
【００７０】
＜その他の実施の形態＞
上述した各実施の形態は、マイコン又はＳＯＣ（System On a Chip）製品全般の設計装置に適用できる。
【００７１】
さらに、本願は上述した実施の形態のみに限定されるものではなく、既に述べた本願の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、ハードウェアの構成として説明したが、本実施の形態は、これに限定されるものではない。本実施の形態は、上述した処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【００７２】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ(Blu-ray(登録商標) Disc)、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００７３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【００７４】
１  設計装置
１１  記憶部
１１１  セルライブラリ
１１１１  閾値電圧
１１１２  オーバードライブ電圧
１１１３  ゲート長
１１２  セルライブラリ
１１ｎ  セルライブラリ
１２  設定部
１３  論理合成部
１ａ  設計装置
１１ａ  記憶部
１１１ａ  セルライブラリ
１１２ａ  セルライブラリ
１１ｎａ  セルライブラリ
１２ａ  設定部
１３ａ  論理合成部
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  ＩＦ部
１０５  ＨＤＤ
１０５１  設計プログラム
１０５２  論理セルライブラリ
１０５３  ＲＴＬ
１０５４  制約条件
１０５５  ネットリスト
１０５６  リーク情報
１０５７  遅延情報
Ｌ１  セルライブラリ
Ｌ１１  セルライブラリ
Ｌ１２  セルライブラリ
Ｌ１３  セルライブラリ
Ｌ２  セルライブラリ
Ｌ２１  セルライブラリ
Ｌ２２  セルライブラリ
Ｌ２３  セルライブラリ
Ｌ３  セルライブラリ
Ｌ３１  セルライブラリ
Ｌ３２  セルライブラリ
Ｌ３３  セルライブラリ
Ｖｔｈ１  低閾値電圧
Ｖｔｈ２  中閾値電圧
Ｖｔｈ３  高閾値電圧
ＶｄｄＳ  標準電源電圧
ＶｄｄＯ１  オーバードライブ電源電圧
ＶｄｄＯ２  オーバードライブ電源電圧
ＶｄｄＯ３  オーバードライブ電源電圧
ｐｔ１  トータル電力
ｐｔ２  トータル電力
ｐｏ１  動作電力
ｐｏ２  動作電力
ｐｌ１  リーク電力
ｐｌ２  リーク電力
【図１】
2016045886.tif 000003
【図２】
2016045886.tif 000004
【図３】
2016045886.tif 000005
【図４】
2016045886.tif 000006
【図５】
2016045886.tif 000007
【図６】
2016045886.tif 000008
【図７】
2016045886.tif 000009
【図８】
2016045886.tif 000010
【図９】
2016045886.tif 000011
【図１０】
2016045886.tif 000012
【図１１】
2016045886.tif 000013
【図１２】
2016045886.tif 000014
【図１３】
2016045886.tif 000015
【図１４】
2016045886.tif 000016