(57)【特許請求の範囲】
【請求項１】
被制御回路部と、
前記被制御回路部への供給電圧を動的に制御する電圧制御部と
を備え、
前記被制御回路部は、
前記被制御回路部内で遅延を計測する遅延モニタ回路と、ここで、前記計測された遅延はモニタ遅延であり、
前記モニタ遅延の目標値であるターゲット遅延を示すターゲット遅延情報が格納されるターゲット遅延レジスタと
を備え、
前記ターゲット遅延情報は、チップ間バラツキを除いた遅延バラツキを持つ遅延ライブラリから得られ、前記被制御回路部は、前記遅延ライブラリを用いて設計され、
前記遅延モニタ回路は、前記モニタ遅延と前記ターゲット遅延情報で示される前記ターゲット遅延との比較を行い、前記比較の結果を示す比較結果信号を前記電圧制御部に送り、
前記電圧制御部は、前記比較結果信号に基づき、前記モニタ遅延が前記ターゲット遅延により近づくように前記供給電圧を制御する
半導体装置。
【請求項２】
請求項１に記載の半導体装置であって、
更に、電圧出力回路を備え、
前記電圧制御部は、前記供給電圧を示す供給電圧情報が格納される供給電圧レジスタを備え、前記供給電圧情報を更新することによって前記供給電圧を制御し、
前記電圧出力回路は、前記供給電圧情報に応じた前記供給電圧を前記被制御回路に出力する
半導体装置。
【請求項３】
請求項２に記載の半導体装置であって、
前記電圧制御部は、外部から電圧制御情報を受け取り、
前記電圧制御情報は、
前記ターゲット遅延情報と、
前記ターゲット遅延が得られる前記供給電圧の設計値であるノミナル電圧を示すノミナル電圧情報と
を含み、
前記ターゲット遅延情報と前記ノミナル電圧情報は互いに関連付けられ、
前記電圧制御部は、前記ターゲット遅延情報を前記被制御回路部に送り、前記被制御回路部は、前記ターゲット遅延情報を前記ターゲット遅延レジスタに格納し、
前記電圧制御部は、前記ノミナル電圧情報を前記供給電圧情報として用いることにより、前記供給電圧レジスタを初期設定する
半導体装置。
【請求項４】
請求項３に記載の半導体装置であって、
前記電圧制御情報は、更に、前記半導体装置のテスト時の条件下での前記モニタ遅延の期待値であるテスト遅延を示すテスト遅延情報を含み、
通常動作の前の前記テスト時、前記遅延モニタ回路は前記モニタ遅延を計測し、前記被制御回路部あるいは前記電圧制御部は、前記モニタ遅延と前記テスト遅延情報で示される前記テスト遅延との差分だけ前記ターゲット遅延を補正し、
前記通常動作時は前記補正後のターゲット遅延が用いられる
半導体装置。
【請求項５】
請求項４に記載の半導体装置であって、
前記被制御回路部内に設けられる前記遅延モニタ回路の数は複数であり、
前記複数の遅延モニタ回路は、前記被制御回路部内のそれぞれの位置で前記モニタ遅延を計測し、
前記ターゲット遅延の補正は、前記複数の遅延モニタ回路に対して別々に行われる
半導体装置。
【請求項６】
請求項３乃至５のいずれか一項に記載の半導体装置であって、
更に、電圧あるいはクロック周波数の異なる複数のモードのうち１つを指定するＤＶＦＳ（Dynamic  Voltage and Frequency Scaling）部を備え、
前記電圧制御情報は、前記ターゲット遅延情報と前記ノミナル電圧情報の組み合わせを前記複数のモード毎に有しており、
前記電圧制御部は、前記ＤＶＦＳ部によって指定された前記モードに対応した前記ターゲット遅延情報と前記ノミナル電圧情報の組み合わせを選択する
半導体装置。
【請求項７】
半導体装置の設計方法であって、
前記半導体装置は、
被制御回路部と、
前記被制御回路部への供給電圧を動的に制御する電圧制御部と
を備え、
前記被制御回路部は、
前記被制御回路部内で遅延を計測する遅延モニタ回路と、ここで、前記計測された遅延はモニタ遅延であり、
前記モニタ遅延の目標値であるターゲット遅延を示すターゲット遅延情報が格納されるターゲット遅延レジスタと
を備え、
前記ターゲット遅延情報は、チップ間バラツキを除いた遅延バラツキを持つ遅延ライブラリから得られ、前記被制御回路部は、前記遅延ライブラリを用いて設計され、
前記遅延モニタ回路は、前記モニタ遅延と前記ターゲット遅延情報で示される前記ターゲット遅延との比較を行い、前記比較の結果を示す比較結果信号を前記電圧制御部に送り、
前記電圧制御部は、前記比較結果信号に基づき、前記モニタ遅延が前記ターゲット遅延により近づくように前記供給電圧を制御し、
前記設計方法は、
前記遅延ライブラリを作成するステップと、
前記被制御回路部を含むチップの回路設計を行うステップと、
前記遅延ライブラリを用いて、前記チップのタイミング解析を行うステップと、
タイミング制約を満たす前記遅延ライブラリに基づいて、前記ターゲット遅延を決定するステップと
を含む
半導体装置の設計方法。
【請求項８】
請求項７に記載の半導体装置の設計方法であって、
前記遅延ライブラリを作成するステップは、前記電圧制御部による前記供給電圧の制御可能範囲内の複数種類の電圧のそれぞれに対して、複数種類の遅延ライブラリを作成するステップを含む
半導体装置の設計方法。
【請求項９】
請求項８に記載の半導体装置の設計方法であって、
前記電圧制御部は、前記ターゲット遅延が得られる前記供給電圧の設計値であるノミナル電圧を示すノミナル電圧情報を受け取り、前記供給電圧を前記ノミナル電圧情報で示される前記ノミナル電圧に初期設定し、
前記ターゲット遅延を決定するステップは、
前記複数種類の遅延ライブラリのうち前記タイミング制約を満たすものを選択するステップと、
前記選択された遅延ライブラリに基づいて、前記ターゲット遅延及び前記ノミナル電圧を決定するステップと
を含む
半導体装置の設計方法。
【請求項１０】
請求項９に記載の半導体装置の設計方法であって、
前記選択するステップは、前記タイミング制約を満たす遅延ライブラリのうち最も低い電圧に対応したものを選択するステップを含む
半導体装置の設計方法。
【請求項１１】
請求項９又は１０に記載の半導体装置の設計方法であって、
前記複数種類の遅延ライブラリのいずれも前記タイミング制約を満たさない場合、クロック周期に対する制約を変更した上で、前記回路設計をやり直すステップ
を更に含む
半導体装置の設計方法。
【請求項１２】
請求項７乃至１１のいずれか一項に記載の半導体装置の設計方法であって、
前記タイミング解析において設計マージンが考慮され、
前記設計マージンは、前記被制御回路部に含まれる前記遅延モニタ回路の数が多くなるにつれ、より小さく設定される
半導体装置の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、及び半導体装置の設計方法に関する。特に、本発明は、電圧制御機能を有する半導体装置、及びその半導体装置の設計方法に関する。
【背景技術】
【０００２】
一般的に、半導体装置の製造段階において、トランジスタ等の素子の物理構造や電気特性は、設計値からばらつく。そのようなばらつきは、製造ばらつき（manufacturing variability）と呼ばれている。製造された半導体装置の正常な動作を保証するためには、回路設計・検証段階で製造ばらつきを考慮に入れておくことが重要である。
【０００３】
例えば、一般的な静的タイミング解析（STA: Static Timing Analysis）では、コーナー条件（ワースト条件）での遅延値を用いることによりタイミング解析が行われる。つまり、製造ばらつきに応じたマージンが考慮される。コーナー条件でもタイミング制約が満たされるように回路を設計することにより、製造ばらつきに起因する遅延変動を吸収することができる。一方で、コーナー条件でもタイミング制約が満たされるように回路を設計することは、設計時間の増大を招く。
【０００４】
特許文献１（特開２００７−２５８５６９号公報）には、半導体装置の設計者にかかる負担を軽減するための技術が記載されている。具体的には、設計段階で考慮される製造ばらつきが通常よりも減らされる。半導体装置が実際に出来上がった後、その半導体装置において目標遅延が得られる電圧及び温度が計測される。そして、計測された電圧及び温度が、半導体装置のユーザに伝えられる。これにより、半導体装置の動作範囲は予め限定されるが、設計者にかかる負担は軽減される。
【０００５】
また、半導体装置の分野において、消費電力の低減は重要な課題の１つである。半導体装置の消費電力を低減することができる技術として、ＤＶＦＳ（Dynamic Voltage and Frequency Scaling）やＡＶＳ（Adaptive  Voltage Scaling）が知られている。
【０００６】
ＤＶＦＳは、被制御回路の電圧あるいは／及びクロック周波数を動的に切り替えることによって消費電力を制御する方式である。電圧とクロック周波数とは互いに関連しており、電圧が低くなればクロック周波数も下げる必要がある。逆に言えば、正常動作が保証される範囲内でクロック周波数を下げれば、その分だけ電圧（すなわち消費電力）を低くすることができる。このような観点から、ＤＶＦＳでは、正常動作可能な電圧とクロック周波数の組み合わせが複数用意され、それら組み合わせが複数の動作ポイント（モード）として提供される。タスクに応じて動作ポイントを動的に切り替えることによって、消費電力を制御することができる。ＤＶＦＳに関連する技術は、例えば、特許文献２（ＵＳ特許６，９４３，６１３）や特許文献３（ＵＳ特許７，０９３，１４３）に記載されている。
【０００７】
ＡＶＳは、被制御回路の状態（負荷、電力等）に応じて供給電圧を適応的に制御する方式である。ＡＶＳに関連する技術は、例えば、特許文献４（ＵＳ公開２００５／０２２５３７６）や特許文献５（ＵＳ特許６，９６７，５２２）に記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−２５８５６９号公報
【特許文献２】ＵＳ特許６，９４３，６１３
【特許文献３】ＵＳ特許７，０９３，１４３
【特許文献４】ＵＳ公開２００５／０２２５３７６
【特許文献５】ＵＳ特許６，９６７，５２２
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本願発明者は、電圧制御機能を搭載した半導体装置を設計する際にその電圧制御機能を考慮に入れる必要性を初めて認識した。また、本願発明者は、電圧制御機能を考慮に入れた設計手法に適した半導体装置の必要性を初めて認識した。
【課題を解決するための手段】
【００１０】
本発明の１つの観点において、半導体装置が提供される。その半導体装置は、被制御回路部と、被制御回路部への供給電圧を動的に制御する電圧制御部と、を備える。被制御回路部は、被制御回路部内で遅延を計測する遅延モニタ回路と、モニタ遅延の目標値であるターゲット遅延を示すターゲット遅延情報が格納されるターゲット遅延レジスタと、を備える。遅延モニタ回路は、モニタ遅延とターゲット遅延情報で示されるターゲット遅延との比較を行い、その比較結果を示す比較結果信号を電圧制御部に送る。電圧制御部は、比較結果信号に基づき、モニタ遅延がターゲット遅延により近づくように供給電圧を制御する。
【００１１】
本発明の他の観点において、半導体装置の設計方法が提供される。その半導体装置は、被制御回路部と、被制御回路部への供給電圧を動的に制御する電圧制御部と、を備える。被制御回路部は、被制御回路部内で遅延を計測する遅延モニタ回路と、モニタ遅延の目標値であるターゲット遅延を示すターゲット遅延情報が格納されるターゲット遅延レジスタと、を備える。遅延モニタ回路は、モニタ遅延とターゲット遅延情報で示されるターゲット遅延との比較を行い、その比較結果を示す比較結果信号を電圧制御部に送る。電圧制御部は、比較結果信号に基づき、モニタ遅延がターゲット遅延により近づくように供給電圧を制御する。設計方法は、（Ａ）チップ間ばらつきが実質的に０に設定された遅延ライブラリを作成するステップと、（Ｂ）被制御回路部を含むチップの回路設計を行うステップと、（Ｃ）遅延ライブラリを用いて、チップのタイミング解析を行うステップと、（Ｄ）タイミング制約を満たす遅延ライブラリに基づいて、上記ターゲット遅延を決定するステップと、を含む。
【発明の効果】
【００１２】
本発明は、電圧制御機能を搭載した半導体装置の設計に有用である。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の第１の実施の形態に係る半導体装置の構成を示すブロック図である。
【図２】図２は、電圧制御可能範囲を示す概念図である。
【図３】図３は、本実施の形態における適応型電圧制御を要約的に示すグラフである。
【図４】図４は、本実施の形態に係る半導体装置の設計・開発方法を示すフローチャートである。
【図５】図５は、本実施の形態における遅延ライブラリを示す概念図である。
【図６】図６は、本実施の形態における補正テーブルを示す概念図である。
【図７】図７は、本実施の形態における制約解析（ステップＳ３００）を示すフローチャートである。
【図８】図８は、タイミング解析を説明するための概念図である。
【図９】図９は、本実施の形態における制約解析（ステップＳ３００）を示すフローチャートである。
【図１０】図１０は、本発明の第２の実施の形態に係る半導体装置の構成を示すブロック図である。
【図１１】図１１は、本発明の第３の実施の形態に係る半導体装置の構成を示すブロック図である。
【図１２】図１２は、本発明の第４の実施の形態を説明するための模式図である。
【図１３】図１３は、第４の実施の形態におけるマージン補正テーブルを示す概念図である。
【図１４】図１４は、本発明の第５の実施の形態を説明するための模式図である。
【図１５】図１５は、第５の実施の形態における補正テーブルを示す概念図である。
【図１６】図１６は、本発明の第６の実施の形態を説明するための概念図である。
【図１７】図１７は、本発明の実施の形態に係る設計システムを示すブロック図である。
【発明を実施するための形態】
【００１４】
１．第１の実施の形態
１−１．半導体装置
図１は、本発明の第１の実施の形態に係る半導体装置１の構成を示すブロック図である。この半導体装置１は、電圧制御機能を有している。具体的には、半導体装置１は、電圧制御部２０、被制御回路部３０、及び電圧レギュレータ４０を備えている。被制御回路部３０は電圧制御の対象であり、電圧レギュレータ４０（電圧出力回路）はその被制御回路部３０に供給電圧Ｖｏｐを供給し、電圧制御部２０はその供給電圧Ｖｏｐを動的に制御する。尚、本実施の形態において、供給電圧Ｖｏｐは、電源電圧あるいは／及び基板バイアス電圧を意味する。
【００１５】
電圧制御部２０は、ＰＭＵ（Power Management Unit）の機能を有している。この電圧制御部２０は、記憶部２１及び供給電圧レジスタ２２を備えている。供給電圧レジスタ２２は、被制御回路部３０への供給電圧Ｖｏｐを示す供給電圧情報２３を格納するためのレジスタである。供給電圧情報２３は電圧レギュレータ４０（電圧出力回路）に送られ、電圧レギュレータ４０は、その供給電圧情報２３に応じた供給電圧Ｖｏｐを被制御回路３０に出力する。電圧制御部２０は、供給電圧制御情報２３を設定・更新することによって、被制御回路部３０への供給電圧Ｖｏｐを動的に制御することができる。
【００１６】
被制御回路部３０は、電圧制御の対象となるロジック回路群を備えている。また、被制御回路部３０は、少なくとも１つの遅延モニタ回路３１とターゲット遅延レジスタ３２を備えている。遅延モニタ回路３１は、被制御回路部３０内に設けられており、当該位置での遅延を計測する。遅延モニタ回路３１によって実際に計測された遅延は、以下「モニタ遅延」と参照される。ターゲット遅延レジスタ３２は、「ターゲット遅延Ｄｔ」を示すターゲット遅延情報１１を格納するためのレジスタである。ターゲット遅延Ｄｔとは、遅延モニタ回路３１によって得られるモニタ遅延の“目標値”である。遅延モニタ回路３１は、モニタ遅延を、ターゲット遅延情報１１で示されるターゲット遅延Ｄｔと比較し、その比較結果を示す比較結果信号３３を生成する機能も有する。
【００１７】
尚、図１の例では、被制御回路部３０内の異なる位置に複数の遅延モニタ回路３１−１、３１−２が配置されており、それら遅延モニタ回路３１−１、３１−２はそれぞれの位置でのモニタ遅延を取得する。また、それら遅延モニタ回路３１−１、３１−２のそれぞれに対してターゲット遅延レジスタ３２−１、３２−２が設けられている。但し、ターゲット遅延レジスタ３２は、複数の遅延モニタ回路３１によって共用されてもよい。
【００１８】
被制御回路部３０、電圧制御部２０及び電圧レギュレータ４０は全て、１チップ上に搭載されてもよい。あるいは、被制御回路部３０と電圧制御部２０が１チップ上に搭載され、電圧レギュレータ４０は当該チップの外に設けられてもよい。あるいは、被制御回路部３０だけが１チップ上に搭載され、電圧制御部２０と電圧レギュレータ４０は当該チップの外に設けられてもよい。
【００１９】
以上のように構成された半導体装置１は、外部から電圧制御情報１０を受け取り、その電圧制御情報１０に基づいて適応型の電圧制御を行う。電圧制御情報１０は、少なくとも、ターゲット遅延情報１１とノミナル電圧情報１２を含んでいる。ターゲット遅延情報１１は、上述の通り、遅延モニタ回路３１でのモニタ遅延の目標値であるターゲット遅延Ｄｔを示す。ノミナル電圧情報１２は、「ノミナル電圧Ｖｎｏｍ」を示す。ノミナル電圧Ｖｎｏｍとは、遅延モニタ回路３１においてターゲット遅延Ｄｔが得られる供給電圧Ｖｏｐの“設計値”である。つまり、ノミナル電圧Ｖｎｏｍで動作する遅延モニタ回路３１では、設計上、モニタ遅延はターゲット遅延Ｄｔとなることが期待される。従って、ターゲット遅延情報１１とノミナル電圧情報１２は、一組として互いに関連付けられる。このような電圧制御情報１０は、後述される本実施の形態に係る半導体装置の設計方法によって決定・作成される。
【００２０】
動作の初期段階において、電圧制御部２０は、外部から電圧制御情報１０を受け取り、その電圧制御情報１０を記憶部２１に格納する。また、電圧制御部２０は、ターゲット遅延情報１１を被制御回路部３０の各遅延モニタ回路３１に送る。各遅延モニタ回路３１は、受け取ったターゲット遅延情報１１を対応するターゲット遅延レジスタ３２に格納する。更に、電圧制御部２０は、ノミナル電圧情報１２を供給電圧情報２３として供給電圧レジスタ２２に格納することにより、供給電圧レジスタ２２の初期設定を行う。つまり、電圧制御部２０は、供給電圧Ｖｏｐをノミナル電圧Ｖｎｏｍに初期設定する。
【００２１】
通常動作時、電圧レギュレータ４０は、供給電圧レジスタ２２に設定された供給電圧情報２３に応じた供給電圧Ｖｏｐを、被制御回路部３０に供給する。遅延モニタ回路３１を含む被制御回路部３０は、その供給電圧Ｖｏｐで動作する。被制御回路部３０内の各遅延モニタ回路３１は、各々の位置においてモニタ遅延を計測する。また、各遅延モニタ回路３１は、ターゲット遅延レジスタ３２を参照して、モニタ遅延とターゲット遅延情報１１で示されるターゲット遅延Ｄｔとの比較を行う。そして、各遅延モニタ回路３１は、その比較結果を示す比較結果信号３３を電圧制御部２０に送る。
【００２２】
最初、電圧レギュレータ４０は、ノミナル電圧Ｖｎｏｍを被制御回路部３０に供給する。この時、遅延モニタ回路３１では、モニタ遅延はターゲット遅延Ｄｔとなることが期待される。しかしながら、実際には、チップ間の製造ばらつきや温度変動により、モニタ遅延はターゲット遅延Ｄｔからずれることが多い。そこで、電圧制御部２０は、各遅延モニタ回路３１から受け取る比較結果信号３３に基づいて、供給電圧Ｖｏｐを最適制御する。具体的には、電圧制御部２０は、モニタ遅延がターゲット遅延Ｄｔにより近づくように供給電圧Ｖｏｐを制御する。遅延モニタ回路３１が複数存在する場合、電圧制御部２０は、全体として最適な供給電圧Ｖｏｐを決定する。そして、電圧制御部２０は、供給電圧レジスタ２２に格納された供給電圧情報２３を、変更後の供給電圧Ｖｏｐを示すように更新する。
【００２３】
以上に説明されたように、本実施の形態に係る半導体装置１は、遅延モニタ回路３１でのモニタ遅延がターゲット遅延Ｄｔとなるように、供給電圧Ｖｏｐを適応的に制御する。但し、供給電圧Ｖｏｐは、無制限に制御できるわけではない。図２に示されるように、供給電圧Ｖｏｐは、最小電圧Ｖｍｉｎから最大電圧Ｖｍａｘまでの範囲ＶＲＮＧにおいて制御され得る。その範囲ＶＲＮＧは、以下「電圧制御可能範囲」と参照される。電圧制御可能範囲ＶＲＮＧは、仕様において予め定められる設計制約の１つであり、半導体装置１の設計時に参照される。
【００２４】
図３は、本実施の形態における適応型電圧制御を要約的に示す電圧−遅延グラフである。供給電圧Ｖｏｐとモニタ遅延との間には負の相関関係があり、供給電圧Ｖｏｐが高くなるほどモニタ遅延は小さくなる。製造ばらつき及び温度がセンター条件（ＣＥＮＴＥＲ）の場合、ノミナル電圧Ｖｎｏｍに対してターゲット遅延Ｄｔが得られる。製造ばらつきがセンター条件よりもＳＬＯＷ側となったチップの場合、あるいは、温度がセンター条件よりも高い場合、ノミナル電圧Ｖｎｏｍに対するモニタ遅延はターゲット遅延Ｄｔよりも大きくなる。従って、モニタ遅延がより小さくなるように、供給電圧Ｖｏｐはノミナル電圧Ｖｎｏｍよりも高圧側に調整される。一方、製造ばらつきがセンター条件よりもＦＡＳＴ側となったチップの場合、あるいは、温度がセンター条件よりも低い場合、ノミナル電圧Ｖｎｏｍに対するモニタ遅延はターゲット遅延Ｄｔよりも小さくなる。従って、モニタ遅延がより大きくなるように、供給電圧Ｖｏｐはノミナル電圧Ｖｎｏｍよりも低圧側に調整される。
【００２５】
このように、チップ間の製造ばらつきや温度変動に起因する遅延ばらつきは、本実施の形態に係る適応型電圧制御によってキャンセルされる。ここで、遅延ばらつきのキャンセルが、ハードウェアによって実現されていることに留意されたい。具体的には、被制御回路部３０に、遅延モニタ回路３１とターゲット遅延レジスタ３２が埋め込まれる。ターゲット遅延レジスタ３２にターゲット遅延情報１１を格納すれば、ターゲット遅延Ｄｔが得られるように供給電圧Ｖｏｐが自動的に制御され、結果として遅延ばらつきが解消される。言い換えれば、設計段階で適切なターゲット遅延Ｄｔを決めておけば、チップ間の遅延ばらつきは半導体装置側で自動的に解消される。
【００２６】
１−２．設計方法
一般的に、設計回路のタイミング解析（遅延解析）では、セルのセンター遅延値及びコーナー遅延値を提供する「遅延ライブラリ」が用いられる。コーナー遅延値は、製造ばらつきや温度変動に起因する“遅延ばらつき”が考慮された遅延値である。つまり、遅延ライブラリでは、製造ばらつきや温度変動を考慮して、所定のマージンが設定される。そのような遅延ライブラリを用いたタイミング解析により、ワーストケースでもタイミング制約が満たされるか否かが検証される。タイミング制約が満たされない場合、回路の設計がやり直される。例えば、信号駆動能力を高めるために、バッファサイズの増加やバッファの追加が行われる。このように、ワーストケースでも回路が正常動作するように、設計が行われる。
【００２７】
しかしながら、実際に製造されたチップにおいて、遅延がワーストケースとなることはまれである。すなわち、ワーストケースを見込んで追加されたバッファ等は、ほとんどのチップにとって冗長な回路構成となる。このような冗長な回路構成は、回路面積及び消費電力をいたずらに増加させる。つまり、設計段階でワーストケースの遅延ばらつきのみを考慮することは、設計期間の増加だけでなく、回路面積及び消費電力の不必要な増大を招く。
【００２８】
上述の通り、本実施の形態に係る半導体装置１は、適応型の電圧制御機能を有しており、チップ間の製造ばらつきや温度変動に起因する遅延ばらつきを自律的に解消することができる。設計段階で適切なターゲット遅延Ｄｔを決めておけば、遅延ばらつきは、半導体装置１での電圧制御によって自動的に解消される。本願発明者は、この点に着目し、半導体装置１で対応可能な遅延ばらつきを設計段階では考慮から除外することを思いついた。これにより、設計期間を短縮し、また、冗長な回路構成を未然に防ぐことができるはずである。冗長な回路構成が省かれれば、回路面積及び消費電力が削減される。
【００２９】
本実施の形態に係る設計方法は、以上に説明された観点に立脚しており、半導体装置１の電圧制御機能を考慮に入れる代わりに、半導体装置１で対応可能な遅延ばらつきを考慮から除外する。更に、本実施の形態に係る設計方法では、半導体装置１の電圧制御機能に必要な「電圧制御情報１０」が作成される。以下、本実施の形態に係る設計方法を詳しく説明する。
【００３０】
図４は、本実施の形態に係る半導体装置１の設計・開発方法を示すフローチャートである。
【００３１】
ステップＳ１００：基本設計データの作成
ステップＳ１００では、本実施の形態に係る設計処理に必要な基本データである遅延ライブラリＬＩＢ、補正テーブルＴＢＬ、設計制約データ、設計マージンデータなどが作成される。設計制約データや設計マージンデータは、通常と同様である。
【００３２】
図５は、本実施の形態における遅延ライブラリＬＩＢを概念的に示している。比較として、従来の遅延ライブラリも破線で示されている。遅延ライブラリで与えられる遅延分布は、ノミナル遅延値（平均値）μと、そのノミナル遅延値μからの遅延ばらつき（標準偏差）σで規定される。一般的に、遅延ライブラリで考慮される遅延ばらつきσは、次の式（１）で表される。
【００３３】
【数１】
0005524568.tif 000002
【００３４】
ここで、σｄ２ｄは「チップ間ばらつき」であり、σｗｉｄは「チップ内ばらつき」であり、σｃｎｔｌは「制御系起因のばらつき」である。上述の通り、本実施の形態によれば、半導体装置１で対応可能な遅延ばらつきが考慮から除外される。具体的には、チップ間ばらつきσｄ２ｄが考慮から除外され、実質的に“０”に設定される。
【００３５】
【数２】
0005524568.tif 000003
【００３６】
その結果、本実施の形態の遅延ライブラリＬＩＢで考慮される遅延ばらつきは、従来の遅延ライブラリと比較して小さくなる。図５に示されるように、本実施の形態の遅延分布（実線）は、従来の遅延分布（破線）よりも狭くなる。言い換えれば、本実施の形態の遅延ライブラリＬＩＢは、従来の遅延ライブラリよりも“タイト”になる。
【００３７】
このような遅延ライブラリＬＩＢが、様々な条件（供給電圧，温度）に対して作成される。図５には、例として、３種類の電源電圧ＶＤＤのそれぞれに対応した３種類の遅延ライブラリＬＩＢが示されている。電源電圧ＶＤＤが基準電圧Ｖｔｙｐより低い場合（ＶＤＤ＜Ｖｔｙｐ）、遅延分布はＳＬＯＷ側にシフトする。一方、電源電圧ＶＤＤが基準電圧Ｖｔｙｐより高い場合（ＶＤＤ＞Ｖｔｙｐ）、遅延分布はＦＡＳＴ側にシフトする。尚、ここでの複数種類の電圧は、図２で示された電圧制御可能範囲ＶＲＮＧ内に含まれており、それら複数種類の電圧のそれぞれに対応する複数種類の遅延ライブラリＬＩＢが作成される。
【００３８】
図６は、本実施の形態における補正テーブルＴＢＬを概念的に示している。補正テーブルＴＢＬは、電圧と遅延との間の相関関係を近似的に示すテーブルである。より詳細には、補正テーブルＴＢＬは、遅延補正係数αと電圧補正係数との対応関係を示している。電圧と遅延との間には負の相関関係がある（図３参照）。遅延をより小さくしなければならないとき、それに応じて電圧を上げる必要がある。逆に、遅延をより大きくしてもよいとき、電圧を下げることができる。補正テーブルＴＢＬは、遅延と電圧のそれぞれの補正倍率を“近似的”に示していると言える。この補正テーブルＴＢＬの利用方法は、後に詳しく説明される。
【００３９】
ステップＳ２００：回路設計
ステップＳ２００では、チップの回路設計が行われる。設計されるチップは、少なくとも被制御回路部３０を含んでいる。回路設計の手法は、従来と同じである。論理合成によって、設計回路のネットリストが作成され、レイアウト設計によって、設計回路のレイアウトデータが作成される。
【００４０】
このとき、図５で示された“タイト”な遅延ライブラリＬＩＢを用いて設計を進めることで、冗長な回路構成が省かれるため、回路面積及び消費電力が削減される。ただし、ここでは必ずしも“タイト”な遅延ライブラリＬＩＢを用いる必要は無い。設計段階でタイミングに関する設計制約を守りきれなかった場合、後述のタイミング解析でエラーとなり、再度回路設計（ステップＳ２００）に戻ってやり直す必要がでてくる。この後戻りをなくすため、通常のライブラリ、あるいは通常よりもタイトであるが、図５で示された“タイト”な遅延ライブラリＬＩＢよりも広いばらつきマージンをもった遅延ライブラリを用いることもできる。
【００４１】
ステップＳ３００：制約解析
ステップＳ３００では、ネットリスト、レイアウトデータ、設計制約、遅延ライブラリＬＩＢ等を用いることにより、制約解析が行われる。制約解析は、ＤＲＣ（Design Rule Check）やタイミング解析を含む。
【００４２】
タイミング解析では、図５で示された“タイト”な遅延ライブラリＬＩＢが用いられる。従って、通常の遅延ライブラリが用いられる場合と比較して、設計期間が短縮され、また、冗長な回路構成が未然に防止される。冗長な回路構成が省かれるため、回路面積及び消費電力が削減される。
【００４３】
また、タイミング制約を満たす最適な遅延ライブラリＬＩＢが選択される。そして、選択された遅延ライブラリＬＩＢに基づいて、ターゲット遅延Ｄｔとノミナル電圧Ｖｎｏｍの組み合わせが決定され、上述の電圧制御情報１０（ターゲット遅延情報１１、ノミナル電圧情報１２）が作成される。ここで、ノミナル電圧Ｖｎｏｍは、選択された遅延ライブラリＬＩＢに対応した電圧である。また、遅延モニタ回路３１でのターゲット遅延Ｄｔは、選択された遅延ライブラリＬＩＢのノミナル遅延値μに基づいて算出される。尚、タイミング制約を満たす遅延ライブラリＬＩＢが無い場合、設計制約が適宜変更された上で、回路設計（ステップＳ２００）がやり直されてもよい。ステップＳ３００の詳細は後述される。
【００４４】
ステップＳ４００：製造
ステップＳ４００において、設計が完了したチップが製造される。また、本実施の形態に係る半導体装置１が組み立てられる。
【００４５】
ステップＳ５００：テスト
ステップＳ５００において、半導体装置１の動作テストが実施される。
【００４６】
ステップＳ６００：実動作
上述の第１−１節で説明されたように、半導体装置１が動作する。
【００４７】
１−３．制約解析
次に、本実施の形態に係る制約解析（ステップＳ３００）をより詳しく説明する。図７は、本実施の形態における制約解析（ステップＳ３００）を示すフローチャートである。
【００４８】
ステップＳ３１０：
遅延ライブラリＬＩＢを用いることにより、タイミング解析が行われる。ここでのタイミング解析は、ＳＴＡ（Static
Timing Analysis）あるいは統計ＳＴＡである。図８は、回路が所望の動作周波数を満たすための条件（タイミング制約）を説明するための図である。その条件は、一般的に、次の式（３）で表される。
【００４９】
【数３】
0005524568.tif 000004
【００５０】
ステップＳ３２０〜Ｓ３４０：
複数種類の遅延ライブラリＬＩＢの中にタイミング制約を満たすものが有る場合（ステップＳ３２０；Ｙｅｓ）、次の処理が実行される。すなわち、タイミング制約を満たす遅延ライブラリＬＩＢの中で最適なものが選択される（ステップＳ３３０）。具体的には、タイミング制約を満たす範囲内で最も低い電圧（最も大きいノミナル遅延値μ）に対応した遅延ライブラリＬＩＢが選択される。そして、選択された遅延ライブラリＬＩＢに基づいて、ターゲット遅延Ｄｔとノミナル電圧Ｖｎｏｍの組み合わせが決定され、電圧制御情報１０が作成される（ステップＳ３４０）。ここで、ノミナル電圧Ｖｎｏｍは、選択された遅延ライブラリＬＩＢに対応した電圧である。また、遅延モニタ回路３１でのターゲット遅延Ｄｔは、選択された遅延ライブラリＬＩＢのノミナル遅延値μに基づいて算出される。
【００５１】
このように、本実施の形態では、タイミング制約を満たす範囲内で最も大きいターゲット遅延Ｄｔ（最も低いノミナル電圧Ｖｎｏｍ）が選択される。特に、タイミング解析ではタイトな遅延ライブラリＬＩＢが用いられるため、通常の遅延ライブラリが用いられる場合と比較して、より大きいターゲット遅延Ｄｔ（より低いノミナル電圧Ｖｎｏｍ）を選択することが可能である。言い換えれば、半導体装置１で対応可能な遅延ばらつきの分だけ設計マージンが小さくなり、ノミナル電圧Ｖｎｏｍを効率的に低減することが可能となる。その結果、無駄な消費電力が削減される。本実施の形態によれば、効率的な省電力設計が可能となる。
【００５２】
ステップＳ３５０：
一方、複数種類の遅延ライブラリＬＩＢの中にタイミング制約を満たすものが無い場合（ステップＳ３２０；Ｎｏ）、設計制約が変更される（ステップＳ３５０）。具体的には、タイミング解析の結果に基づいて、クロック周期（動作周波数）に関連する設計制約が変更される。その後、処理は、回路設計（ステップＳ２００）に戻る。
【００５３】
以上に説明された制約解析を実現するために、用意された全ての遅延ライブラリＬＩＢを順次用いて、タイミング解析を繰り返し実行することが考えられる。その一方で、処理時間を削減するために、次に説明されるような簡易で等価的な手法も可能である。図９を参照して、その簡易で等価的な手法を説明する。
【００５４】
ステップＳ３６１：
まず、代表的な１つの遅延ライブラリＬＩＢが選択される。例えば、基準電圧Ｖｔｙｐ（図５参照）に対応した遅延ライブラリＬＩＢが選択される。
【００５５】
ステップＳ３６２：
ステップＳ３６１で選択された遅延ライブラリＬＩＢを用いることにより、タイミング解析が行われる。このとき、回路が所望の動作周波数を満たすための条件（タイミング制約）としては、既出の式（３）の代わりに、下記式（４）が用いられる。
【００５６】
【数４】
0005524568.tif 000005
【００５７】
式（４）では、パラメータαを用いることにより遅延値が補正されている。このパラメータαが、図６で示された補正テーブルＴＢＬに現れる遅延補正係数αである。代表の遅延ライブラリＬＩＢを用いたタイミング解析を通して、上記式（４）が満たされる遅延補正係数αの範囲を算出することが可能である。尚、ここでは簡易的に、パラメータα一つで表現しているが、回路を構成するセルの種類によって電圧変化に対する遅延変化率が異なる場合があり、その場合は、それぞれのセルごとに別のパラメータαｎを設定することもできる。このときの手順については後述する。
【００５８】
ステップＳ３６３：
図６で示された補正テーブルＴＢＬを参照することにより、ステップＳ３６２で得られた遅延補正係数αの範囲に相当する電圧補正係数の範囲が求められる。尚、図６で示された補正テーブルＴＢＬでは、本方式の近似処理を考慮したマージンが電圧補正係数に加えられている。続いて、その電圧補正係数の範囲に、代表の遅延ライブラリＬＩＢの電圧（基準電圧Ｖｔｙｐ）を掛け合わせることによって、上記式（４）が満たされる電圧範囲が算出される。
【００５９】
ステップＳ３６４〜Ｓ３６７：
ステップＳ３６３で得られた電圧範囲が一部でも電圧制御可能範囲ＶＲＮＧ内にある場合（ステップＳ３６４；Ｙｅｓ）、それは、タイミング制約を満たす遅延ライブラリＬＩＢが存在すること（図７参照、ステップＳ３２０；Ｙｅｓ）に相当する。従って、既出のステップＳ３３０と同様に、その電圧範囲の中で最も低い電圧が選択される（ステップＳ３６５）。すなわち、タイミング制約を満たす範囲内で最も低い電圧（最も大きいα）が選択される。これにより、消費電力が最大限削減されることになる。選択された最低電圧が基準電圧Ｖｔｙｐより高い場合であっても、それは、消費電力の増加が最小限に抑えられていることを意味する。
【００６０】
本方式は近似的であるため、ステップＳ３６５で選択された最低電圧に対応した遅延ライブラリＬＩＢを用いることによって、（あるいは、近い遅延ライブラリＬＩＢを補間することによって）、タイミング解析が再度実施される（ステップＳ３６６）。このときの条件式は、式（３）でよい。タイミング制約が満たされることが確認されると、電圧制御情報１０が作成される（ステップＳ３６７）。ここで、ノミナル電圧Ｖｎｏｍは、ステップＳ３６５で選択された最低電圧である。また、遅延モニタ回路３１でのターゲット遅延Ｄｔは、その最低電圧に対応した遅延ライブラリＬＩＢのノミナル遅延値μに基づいて算出される。
【００６１】
ステップＳ３６８〜３６９：
一方、ステップＳ３６３で得られた電圧範囲が電圧制御可能範囲ＶＲＮＧ外の場合（ステップＳ３６４；Ｎｏ）、それは、電圧制御可能範囲ＶＲＮＧの最大値Ｖｍａｘが用いられてもタイミング制約が満たされないことを意味する。これは、タイミング制約を満たす遅延ライブラリＬＩＢが無いこと（図７参照、ステップＳ３２０；Ｎｏ）にも相当する。この場合、既出のステップＳ３５０と同様に、クロック周期（動作周波数）に関連する設計制約が変更される。
【００６２】
具体的には、まず、遅延補正係数αの許容値α’が設定される（ステップＳ３６８）。この許容値α’は、電圧制御可能範囲ＶＲＮＧ内の任意の電圧に対応する遅延補正係数αに設定される。許容値α’は、タイミングが最大限改善される最大電圧Ｖｍａｘに対応する遅延補正係数αに設定されてもよい。次に、許容値α’とパラメータβを含む下記条件式（５）が考慮される。
【００６３】
【数５】
0005524568.tif 000006
【００６４】
この条件式（５）が満たされるパラメータβが算出される。つまり、タイミング制約を満たすために、電圧制御と共に、クロック周期の変更が考慮される。言い換えれば、タイミング制約のうち電圧制御で達成できない残余分が、クロック周期の変更に換算される。条件式（５）を満たすパラメータβが算出されると、「クロック周期×β」が「新たなクロック周期」として設計制約に書き込まれる（ステップＳ３６９）。このようにして、クロック周期（動作周波数）に関連する設計制約が更新される。その後、処理は、回路設計（ステップＳ２００）に戻る。
【００６５】
１−４．効果
本実施の形態に係る半導体装置１は、適応型の電圧制御機能を有しており、チップ間の製造ばらつきや温度変動に起因する遅延ばらつきを自律的にキャンセルすることができる。従って、設計段階では、その電圧制御機能が考慮され、半導体装置１で対応可能な遅延ばらつきは考慮から除外される。具体的には、タイミング解析において、通常よりも“タイト”な遅延ライブラリＬＩＢが用いられる。これにより、設計期間を短縮し、また、冗長な回路構成を未然に防ぐことが可能となる。冗長な回路構成が省かれるため、回路面積及び消費電力が削減される。
【００６６】
半導体装置１の電圧制御機能に必要なターゲット遅延Ｄｔ及びノミナル電圧Ｖｎｏｍは、上記設計段階で決定される。このとき、本実施の形態では、タイミング制約を満たす範囲内で最も大きいターゲット遅延Ｄｔ（最も低いノミナル電圧Ｖｎｏｍ）が選択される。特に、タイミング解析ではタイトな遅延ライブラリＬＩＢが用いられるため、通常の遅延ライブラリが用いられる場合と比較して、より大きいターゲット遅延Ｄｔ（より低いノミナル電圧Ｖｎｏｍ）を選択することが可能である。言い換えれば、半導体装置１で対応可能な遅延ばらつきの分だけ設計マージンが小さくなり、ノミナル電圧Ｖｎｏｍを効率的に低減することが可能となる。その結果、無駄な消費電力が削減される。本実施の形態によれば、効率的な省電力設計が可能になると言える。
【００６７】
また、本実施の形態に係る半導体装置１は、遅延モニタ回路３１とターゲット遅延レジスタ３２を備えている。ターゲット遅延レジスタ３２には、上記設計手法により決定されたターゲット遅延Ｄｔを示すターゲット遅延情報１１が格納される。そして、遅延モニタ回路３１においてターゲット遅延Ｄｔが得られるように、供給電圧Ｖｏｐが自動的に制御される。このような回路構成は、本実施の形態に係る省電力設計手法に適していると言える。
【００６８】
２．第２の実施の形態
図１０は、本発明の第２の実施の形態に係る半導体装置１の構成を示すブロック図である。第１の実施の形態と重複する説明は適宜省略される。本実施の形態において、電圧制御情報１０は更に、「テスト遅延Ｄｔｅｓｔ」を示すテスト遅延情報１３を含んでいる。テスト遅延Ｄｔｅｓｔとは、半導体装置１のテスト（図４、ステップＳ５００）時の条件（電圧、温度）下でのモニタ遅延の期待値である。このテスト遅延情報１３も、設計段階で作成される。
【００６９】
テスト（ステップＳ５００）に先立って、電圧制御部２０は、外部から電圧制御情報１０を受け取り、その電圧制御情報１０を記憶部２１に格納する。更に、電圧制御部２０は、ターゲット遅延情報１１とテスト遅延情報１３を、被制御回路部３０の各遅延モニタ回路３１に送ってもよい。
【００７０】
テスト（ステップＳ５００）時、各遅延モニタ回路３１は、当該テスト条件下でのモニタ遅延を計測する。各遅延モニタ回路３１は、計測したモニタ遅延を示す情報を電圧制御部２０に送ってもよい。電圧制御部２０あるいは被制御回路部３０（遅延モニタ回路３１）は、各遅延モニタ回路３１に関して、モニタ遅延とテスト遅延Ｄｔｅｓｔとの差分を計算し、その差分だけターゲット遅延Ｄｔを補正する。つまり、通常動作前のテスト段階で、ターゲット遅延Ｄｔの予備的な補正が行われる。このターゲット遅延Ｄｔの予備補正は、被制御回路部３０に含まれる複数の遅延モニタ回路３１に対して別々に行われる。これにより、製造ばらつきに依る遅延変動分は事前に補正され、通常動作時には温度等の環境条件に依る遅延変動分の補正を行うだけでよくなり、より高速に補正を行うことが可能になる。また、遅延モニタ回路３１毎に被制御回路部３０の領域を分割し、それぞれの領域に最適な電圧Ｖｏｐを与えてもよい。この場合、遅延のチップ内ばらつきσｗｉｄのうちチップ内位置依存に起因する成分がキャンセルされる。ターゲット遅延レジスタ３２には、補正後のターゲット遅延Ｄｔを示すターゲット遅延情報１１’が格納され、これ以降は、補正後のターゲット遅延Ｄｔが用いられる。尚、上記差分（補正値）を示す情報は、電圧制御部２０の記憶部２１に格納され、適宜使用されてもよい。
【００７１】
本実施の形態によれば、テスト段階で、ターゲット遅延Ｄｔの予備補正が行われる。その結果、通常動作時の補正処理を高速に完了させることが可能となる。また、遅延のチップ内ばらつきσｗｉｄの一部がキャンセルされ得る。その場合、設計段階では、チップ間ばらつきσｄ２ｄに加えてチップ内ばらつきσｗｉｄの一部をも、考慮から除外することが可能である。すなわち、遅延ライブラリＬＩＢを更にタイトにすることができる。これにより、回路面積及び消費電力が更に削減され、好適である。
【００７２】
３．第３の実施の形態
本発明の第３の実施の形態では、第１の実施の形態に対して更にＤＶＦＳ（Dynamic Voltage and  Frequency Scaling）が適用される。ＤＶＦＳでは、ノミナル電圧Ｖｎｏｍとクロック周波数の組み合わせが複数用意され、それら組み合わせが複数の動作ポイント（モード）として提供される。
【００７３】
図１１は、第３の実施の形態に係る半導体装置１の構成を示すブロック図である。第１の実施の形態と重複する説明は適宜省略される。本実施の形態に係る半導体装置１は、第１の実施の形態の構成に加えて、更にＤＶＦＳ部５０を備えている。ＤＶＦＳ部５０は、電圧あるいはクロック周波数の異なる複数のモードのうち１つを指定するモード指定信号５１を、電圧制御部２０に送る。
【００７４】
電圧制御情報１０は、ターゲット遅延情報１１とノミナル電圧情報１２の組み合わせを、ＤＶＦＳの複数のモード毎に有している。例えば図１１において、ターゲット遅延情報１１Ａとノミナル電圧情報１２ＡはモードＡ用であり、ターゲット遅延情報１１Ｂとノミナル電圧情報１２ＢはモードＢ用であり、ターゲット遅延情報１１Ｃとノミナル電圧情報１２ＣはモードＣ用である。各モードに関する最適なターゲット遅延Ｄｔとノミナル電圧Ｖｎｏｍは、各モードで指定されたクロック周波数等に基づいて、第１の実施の形態と同様に決めることができる。尚、ＤＶＦＳによって電圧が指定される場合、その電圧がノミナル電圧Ｖｎｏｍとして用いられる。
【００７５】
電圧制御部２０は、外部から電圧制御情報１０を受け取り、その電圧制御情報１０を記憶部２１に格納する。更に、電圧制御部２０は、ＤＶＦＳ部５０からモード指定信号５１を受け取り、指定されたモードに対応したターゲット遅延情報１１とノミナル電圧情報１２の組み合わせを選択する。そして、電圧制御部２０は、選択したターゲット遅延情報１１を各遅延モニタ回路３１に送り、また、選択したノミナル電圧情報１２を供給電圧情報２３として供給電圧レジスタ２２に格納する。ＤＶＦＳ部５０によってモードが切り換えられた場合、電圧制御部２０は、新たなモードに応じたターゲット遅延情報１１とノミナル電圧情報１２を選択し、ターゲット遅延Ｄｔ及びノミナル電圧Ｖｎｏｍを切り換える。このようにして、ＤＶＦＳを本発明に組み込むことが可能となる。
【００７６】
４．第４の実施の形態
半導体装置１の電圧制御機能による遅延調整の精度は、被制御回路部３０に埋め込まれる遅延モニタ回路３１の数や分布に依存する。例えば、被制御回路部３０内に遅延モニタ回路３１が１つしか存在しない場合、その１つの遅延モニタ回路３１から遠く離れた信号パスでは、所望の遅延値からの誤差が大きくなる可能性がある。そこで、第４の実施の形態では、設計段階のタイミング解析（ステップＳ３１０、Ｓ３６２）において、遅延調整誤差に関する設計マージンが考慮される。
【００７７】
図１２は、本実施の形態におけるタイミング解析を説明するための模式図である。遅延調整誤差に寄与するパラメータの１つは、被制御回路部３０に搭載される遅延モニタ回路３１の数である。遅延モニタ回路３１の数が少なくなるにつれ、遅延調整誤差は大きくなると予想される。そこで、遅延モニタ回路３１の数が少なくなるにつれ、設計マージンはより大きく設定される。
【００７８】
また、遅延調整誤差に寄与する他のパラメータは、信号パスと直近の遅延モニタ回路３１との間の距離である。その距離が大きくなるにつれ、遅延調整誤差は大きくなると予想される。そこで、タイミング解析時の検証パスと直近の遅延モニタ回路３１との間の距離が大きくなるにつれ、当該検証パスに対する設計マージンはより大きく設定される。尚、この距離に依存する設計マージンは、タイミング解析時の検証パス毎に考える必要がある。
【００７９】
図１３は、上記２つのパラメータ（数、距離）の両方を考慮する場合のマージン係数γを与えるマージン補正テーブルＭＧＮの一例を示している。マージン係数γは、遅延モニタ回路３１の数が多くなるにつれて小さくなり、その数が少なくなるにつれて大きくなる。また、マージン係数γは、距離が大きくなるにつれて大きくなり、距離が小さくなるにつれて小さくなる。このようなマージン係数γが、下記式（６）に示されるように、タイミング解析時の条件式に組み込まれる。
【００８０】
【数６】
0005524568.tif 000007
【００８１】
タイミング解析では、この条件式（６）が用いられる。距離も考慮される場合、検証パス毎に別々のマージン係数γが用いられる。尚、上記例では２つのパラメータ（数、距離）が考慮されたが、それに限られない。但し、遅延モニタ回路３１の数は少なくとも考慮されることが好ましい。
【００８２】
５．第５の実施の形態
図１４に示されるように、トランジスタの閾値電圧（Ｖｔ）が異なる複数種のセルがロジック回路内に混在する場合がある（ＬＶＴ：低Ｖｔ、ＭＶＴ：中Ｖｔ、ＨＶＴ：高Ｖｔ）。これは、ロジック回路におけるリーク電流を抑制するためである。但し、閾値電圧Ｖｔが異なるトランジスタ間では、電圧変動に対する遅延変動率が異なる。そこで、第５の実施の形態では、閾値電圧Ｖｔ毎に異なる遅延補正係数αが用意される。
【００８３】
図１５は、本実施の形態において用いられる補正テーブルＴＢＬの一例を示している。図１５に示されるように、１つの電圧補正係数に対して３種類の遅延補正係数αＬ、αＭ、αＨが対応している。遅延補正係数αＬは低Ｖｔセルに適用され、遅延補正係数αＭは中Ｖｔセルに適用され、遅延補正係数αＨは高Ｖｔセルに適用される。タイミング解析では、図１５で示された補正テーブルＴＢＬが参照される。これにより、タイミング解析の精度が向上する。
【００８４】
なお、ここでは電圧変動に対する遅延変動率が異なるケースとして、閾値電圧が異なるセルを例示したが、閾値電圧の違いだけでなく、様々な要因で電圧変動率が異なるセル種類があった場合には、同様の手法をとれることは明らかである。
【００８５】
６．第６の実施の形態
多くの場合、遅延ライブラリはプロセス開発初期段階に設計され、その後は同じ遅延ライブラリが使用され続ける。しかし、製造プロセスは常に改善されており、製造ばらつきは時間とともに向上する。そのため、図１６に示されるように、ライブラリ設計時のノミナル遅延値μと遅延ばらつきσに比べ、実際のノミナル遅延値μ’と遅延ばらつきσ’の方が小さくなる場合がある。この場合、ライブラリ設計時と実際との間の差は、冗長な設計マージンとなり、いたずらに設計コストを増大させる原因となる。しかしながら、製造プロセスが改善されるたびに遅延ライブラリを再作成することも、多大な労力を要し、現実的でない。そこで、本発明の第６の実施の形態では、次のような処理が提案される。
【００８６】
まず、製品に組み込まれたリングオシレータ等を用いて遅延を測定し、実遅延データベースを作成する。次に、その実遅延データベースから得られる遅延分布と遅延ライブラリから得られる遅延分布とが比較され、両者のズレが算出される。そして、そのズレに応じた分だけ、ノミナル電圧Ｖｎｏｍ及びターゲット遅延Ｄｔが修正される。
【００８７】
具体的には、遅延ライブラリに基づいて、統計的な遅延パラメータ（μ＋σ）が算出される。また、実遅延データベースに基づいて、統計的な遅延パラメータ（μ’＋σ’）が算出される。そして、次の式（７）が成り立つ遅延補正係数αが算出される。
【００８８】
【数７】
0005524568.tif 000008
【００８９】
続いて、補正テーブルＴＢＬを参照することにより、算出された遅延補正係数αに対応する電圧補正係数が求められる。この電圧補正係数に基づいて、ノミナル電圧Ｖｎｏｍが修正（削減）される。そして、修正後のノミナル電圧Ｖｎｏｍを示す新たなノミナル電圧情報１２とそれに応じた新たなターゲット遅延情報１１が作成され、半導体装置１に提供される。これにより、回路の動作性能を維持しながら、電圧を更に下げることが可能となる。すなわち、製造プロセスの成熟に応じた電圧制御が可能となる。
【００９０】
尚、上述した実施の形態同士の組み合わせも可能である。
【００９１】
７．設計システム
本発明に係る設計手法は、コンピュータを利用した（computer-aided）設計システムにより実現され得る。図１７は、設計システム１００の一例を示すブロック図である。設計システム１００は、処理装置１１０、記憶装置１２０、入力装置１３０、及び出力装置１４０を備えている。処理装置１１０としてＣＰＵが例示される。記憶装置１２０としてＲＡＭやハードディスクドライブが例示される。入力装置１３０としてキーボードやマウスが例示される。出力装置１４０として表示装置が例示される。
【００９２】
記憶装置１２０には、遅延ライブラリＬＩＢ、補正テーブルＴＢＬ、ネットリストＮＥＴ、レイアウトデータＬＡＹ、設計制約データＳＤＣ、電圧制御情報１０、設計プログラムＰＲＯＧなどが格納される。
【００９３】
設計プログラムＰＲＯＧは、処理装置１１０により実行されるコンピュータプログラムである。設計プログラムＰＲＯＧ、コンピュータ読み取り可能な記録媒体に記録されていてもよい。処理装置１１０は、設計プログラムＰＲＯＧを実行することによって、半導体装置の設計処理を実現する。具体的には、処理装置１１０は、機能ブロックとして、遅延ライブラリ作成部１１１、回路設計部１１２、及び制約解析部１１３を備える。これら機能ブロックは、処理装置１１０と設計プログラムＰＲＯＧとの協働により実現される。
【００９４】
遅延ライブラリ作成部１１１は、上述のステップＳ１００を実行し、遅延ライブラリＬＩＢを作成する。回路設計部１１２は、上述のステップＳ２００を実行し、ネットリストＮＥＴ及びレイアウトデータＬＡＹを作成する。制約解析部１１３は、遅延ライブラリＬＩＢ、補正テーブルＴＢＬ、ネットリストＮＥＴ、レイアウトデータＬＡＹ、設計制約データＳＤＣ等を使用して、上述のステップＳ３００を実行する。これにより、制約解析部１１３は、半導体装置１に提供される電圧制御情報１０を作成する。
【００９５】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【符号の説明】
【００９６】
１    半導体装置
１０    電圧制御情報
１１    ターゲット遅延情報
１２    ノミナル電圧情報
１３    テスト遅延情報
２０    電圧制御部
２１    記憶部
２２    供給電圧レジスタ
２３    供給電圧情報
３０    被制御回路部
３１    遅延モニタ回路
３２    ターゲット遅延レジスタ
３３    比較結果信号
４０    電圧レギュレータ
５０    ＤＶＦＳ部
５１    モード指定信号
１００    設計システム
１１０    処理装置
１１１    遅延ライブラリ作成部
１１２    回路設計部
１１３    制約解析部
１２０    記憶装置
１３０    入力装置
１４０    出力装置
Ｄｔ      ターゲット遅延
Ｄｍ      モニタ遅延
Ｄｔｅｓｔ  テスト遅延
ＶＲＮＧ  電圧制御可能範囲
Ｖｎｏｍ  ノミナル電圧
Ｖｏｐ    供給電圧
ＬＩＢ    遅延ライブラリ
ＴＢＬ    補正テーブル
ＭＧＮ    マージン補正テーブル
ＮＥＴ    ネットリスト
ＬＡＹ    レイアウトデータ
ＳＤＣ    設計制約データ
ＰＲＯＧ  設計プログラム
【図１】
0005524568.tif 000009
【図２】
0005524568.tif 000010
【図３】
0005524568.tif 000011
【図４】
0005524568.tif 000012
【図５】
0005524568.tif 000013
【図６】
0005524568.tif 000014
【図７】
0005524568.tif 000015
【図８】
0005524568.tif 000016
【図９】
0005524568.tif 000017
【図１０】
0005524568.tif 000018
【図１１】
0005524568.tif 000019
【図１２】
0005524568.tif 000020
【図１３】
0005524568.tif 000021
【図１４】
0005524568.tif 000022
【図１５】
0005524568.tif 000023
【図１６】
0005524568.tif 000024
【図１７】
0005524568.tif 000025