(57)【要約】【課題】部分回路に関する相関のない複数種類の特性情報がそれぞれの特性の規格値を遵守し、部分回路の改善を図ること。【解決手段】設計支援装置５００は、検出部５０２により設計対象回路２００から部分回路を構成する任意のデータパスとデータパスに対応するクロックパスを検出し、選択部５０３により検出されたデータパスおよびクロックパス上のセル群から対象セルを選択し、対象セルを、置換部５０４により当該対象セルと同一機能で特性が異なるセルに置換する。置換された後のセルの特性に基づいて当該対象セルを含むパスの複数種類の特性分布を取得部５０５により取得し、判断部５０７により複数種類の特性分布がそれぞれの制約に違反しているか否かを判断する。【選択図】図５
2010272060.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
設計対象回路内の部分回路を構成するデータパスと前記データパスに対応するクロックパスを検出する検出手段、
前記データパスおよび前記クロックパス上のセル群から対象セルを選択する選択手段、
前記対象セルを、前記対象セルと同一機能で特性が異なるセルに置換する置換手段、
前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得する取得手段、
前記複数種類の特性情報がそれぞれの制約に違反しているか否かを判断する判断手段、
前記判断結果を出力する出力手段、
として機能させることを特徴とする設計支援プログラム。
【請求項２】
前記置換手段は、
前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の標準偏差が最も小さいセルに置換し、
前記取得手段は、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得することを特徴とする請求項１に記載の設計支援プログラム。
【請求項３】
前記検出手段は、
前記設計対象回路から、ホールドタイミングスラックの特性分布がホールドタイミングの制約に違反している部分回路を構成するデータパスおよび前記データパスに対応するクロックパスを検出し、
前記選択手段は、
前記検出手段により検出されたクロックパス上のセルのうち遅延値の特性分布の中央値が最大のセルと、前記検出手段により検出されたデータパス上のセルのうち遅延値の特性分布の中央値が最小のセルから、いずれか一方のセルを前記対象セルに選択することを特徴とする請求項１または２に記載の設計支援プログラム。
【請求項４】
前記置換手段は、
前記選択手段により選択された対象セルが前記クロックパス上のセルの場合、前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が前記対象セルの遅延値の特性分布の中央値よりも小さいセルに置換し、前記対象セルが前記データパス上のセルの場合、前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が前記対象セルの遅延値の特性分布の中央値よりも大きいセルに置換することを特徴とする請求項１〜３のいずれか１つに記載の設計支援プログラム。
【請求項５】
前記置換手段は、
前記選択手段により選択された対象セルが前記クロックパス上のセルの場合、前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が最も小さい値であるセルに置換し、前記対象セルが前記データパス上のセルの場合、前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が最も大きい値であるセルに置換することを特徴とする請求項１〜４のいずれか１つに記載の設計支援プログラム。
【請求項６】
前記検出手段は、
前記設計対象回路内から、セットアップタイミングスラックの特性分布がセットアップタイミングの制約に違反している部分回路を構成するデータパスおよび前記データパスに対応するクロックパスを検出し、
前記選択手段は、
前記検出手段により検出されたクロックパス上のセルのうちセルの遅延値の特性分布の中央値が最小のセル、または前記検出手段により検出されたデータパス上のセルのうちセルの遅延値の特性分布の中央値が最大のセルから、いずれか一方のセルを前記対象セルに選択することを特徴とする請求項１または２に記載の設計支援プログラム。
【請求項７】
前記置換手段は、
前記選択手段により選択された対象セルが前記クロックパス上のセルの場合、前記対象セルを、当該対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が前記対象セルの遅延値の特性分布の中央値よりも大きいセルに置換し、前記対象セルが前記データパス上のセルの場合、前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が前記対象セルの遅延値の特性分布の中央値よりも小さいセルに置換し、
前記取得手段は、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得することを特徴とする請求項１、２または６のいずれか１つに記載の設計支援プログラム。
【請求項８】
前記置換手段は、
前記選択手段により選択された対象セルを、当該対象セルと同機能で特性の異なるセルの中から消費電力値の特性分布の中央値が最も小さいセルに置換し、
前記取得手段は、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得することを特徴とする請求項１〜７のいずれか１つに記載の設計支援プログラム。
【請求項９】
設計対象回路内の部分回路を構成するデータパスと前記データパスに対応するクロックパスを検出する検出手段と、
前記検出手段により検出されたデータパスおよびクロックパス上のセル群から対象セルを選択する選択手段と、
前記選択手段により選択された対象セルを、前記対象セルと同一機能で特性が異なるセルに置換する置換手段と、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得する取得手段と、
前記取得手段により取得された複数種類の特性情報がそれぞれの制約に違反しているか否かを判断する判断手段と、
前記判断手段により判断された判断結果を出力する出力手段と、
を備えることを特徴とする設計支援装置。
【請求項１０】
コンピュータが、
設計対象回路内の部分回路を構成するデータパスと前記データパスに対応するクロックパスを検出する検出工程、
前記データパスおよび前記クロックパス上のセル群から対象セルを選択する選択工程、
前記対象セルを、前記対象セルと同一機能で特性が異なるセルに置換する置換工程、
前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得する取得工程、
前記複数種類の特性情報がそれぞれの制約に違反しているか否かを判断する判断工程、
前記判断工程により判断された判断結果を出力する出力工程、
を実行することを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示技術は、半導体集積回路の自動設計を支援する設計支援プログラム、設計支援装置、および設計支援方法に関する。
【背景技術】
【０００２】
従来、設計対象回路のタイミングの特性が規格値を遵守しているか否かを、レイアウト設計後の配線情報から抵抗値および容量値に基づいてシミュレーションすることで判断している。タイミングの特性とは、たとえば、セットアップタイミングおよびホールドタイミングの特性である。そして、設計対象回路のタイミングの特性および消費電力値の特性が規格値を遵守するために設計対象回路内のセルのサイズを変更する技術（以下、「従来技術１」と称する。）が知られている（たとえば、下記特許文献１，２参照。）。そして、タイミングの特性が規格値を遵守している設計対象回路の消費電力値が規格値を遵守するように設計する技術（以下、「従来技術２」と称する。）が知られている（たとえば、下記特許文献３参照。）。
【０００３】
また、製造上の要因により設計対象回路内の各セルの特性および設計対象回路の特性にばらつきが生じる。そこで、多項式によりセルの特性分布または設計対象回路の特性分布を算出する技術が知られている（たとえば、下記特許文献４参照。）。さらに、ばらつきを考慮してシミュレーションをおこなう技術が知られている（たとえば、下記特許文献５，６参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−５５７８号公報
【特許文献２】特開平９−１０７０３５号公報
【特許文献３】特開２００２−３４２４００号公報
【特許文献４】特開２００７−１３３４９７号公報
【特許文献５】特開平９−２６５４８８号公報
【特許文献６】特開２００５−１９５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術１では、レイアウトを設計しながらセルのサイズを変更している。そして、上述した従来技術２では、レイアウト設計後に処理を実施している。たとえば、設計対象回路に変更が生じた場合、再度、レイアウト設計をし直すため、レイアウト設計に手間がかかり設計が困難となる問題点があった。さらに、ばらつきを考慮してシミュレーションをおこなう技術では、特性のばらつきを考慮して設計をおこなうことができなかった。そのため、複数種類の特性に必ずしも相関があるとは限らないため、複数種類の特性が同時にそれぞれの特性の規格値を遵守させるのが困難となる問題点があった。
【０００６】
本開示技術は、上述した従来技術による問題点を解消するため、特性間の相関の有無にかかわらず部分回路の複数種類の特性分布を同時に制約に遵守させ、部分回路の改善を図ることができる設計支援プログラム、設計支援装置、および設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本開示技術は、設計対象回路内の部分回路を構成するデータパスと前記データパスに対応するクロックパスを検出し、検出されたデータパスおよびクロックパス上のセルから対象セルを選択し、選択された対象セルを、前記対象セルと同一機能で特性が異なるセルに置換し、置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得し、取得された複数種類の特性情報がそれぞれの制約に違反しているか否かを判断し、判断結果を出力することを要件とする。
【発明の効果】
【０００８】
本設計支援プログラム、設計支援装置、および設計支援方法によれば、特性間の相関の有無にかかわらず部分回路の複数種類の特性分布を同時に制約に遵守させ、部分回路の改善を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１の一実施例を示す説明図である。
【図２】設計対象回路の一例を示す説明図である。
【図３−１】セルの特性分布の一例を示す説明図である。
【図３−２】セルタイプごとに遅延値および消費電力値のμとσの一例を示す説明図である。
【図４】設計支援装置のハードウェア構成を示すブロック図である。
【図５】設計支援装置の機能的構成を示すブロック図である。
【図６】実施の形態１にかかる設計支援装置５００の設計支援処理手順を示すフローチャートである。
【図７】図６で示した置換・判断処理（ステップＳ６１２）の詳細な処理手順を示すフローチャートである。
【図８】実施の形態２にかかる設計支援装置５００の設計支援処理手順を示すフローチャートである。
【図９】図８に示した設定処理（ステップＳ８０１）の詳細な処理手順を示すフローチャートである。
【図１０】図８に示した置換処理１（ステップＳ８０６）の詳細な処理手順を示すフローチャートである。
【図１１】図８に示した置換処理２（ステップＳ８１０）の詳細な処理手順を示すフローチャート（その１）である。
【図１２】図８に示した置換処理２（ステップＳ８１０）の詳細な処理手順を示すフローチャート（その２）である。
【図１３】図８に示した置換処理３（ステップＳ８１３）の詳細な処理手順を示すフローチャート（その１）である。
【図１４】図８に示した置換処理３（ステップＳ８１３）の詳細な処理手順を示すフローチャート（その２）である。
【図１５】選択処理の詳細な処理手順について示すフローチャートである。
【図１６】決定処理の詳細な処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
本開示技術にかかる設計支援プログラム、設計支援装置、および設計支援方法の好適な実施の形態を詳細に説明する。まず、実施の形態１では、設計対象回路内の任意のデータパスおよびデータパスに対応するクロックパスから任意のセルを選択する。そして、選択されたセルのセルタイプを置換することで複数種類の特性がそれぞれの特性の規格値に遵守し、さらに置換前に比べて規格値に余裕があるかを判断する実施例を説明する。
【００１１】
つぎに、実施の形態２〜４にて、ホールドタイミングスラックの特性分布がホールドタイミングの規格値に違反しているパスから対象セルを選択し、選択されたセルのセルタイプを置換することで複数種類の特性がそれぞれの特性の規格値を遵守する実施例を説明する。まず、実施の形態２では、対象セルのセルタイプが、複数のセルタイプから遅延値の特性分布のσに基づいて決定されたセルタイプに置換される例を示す。
【００１２】
つぎに、実施の形態３では、対象セルのセルタイプが、複数のセルタイプから遅延値の特性分布のμに基づいて決定されたセルタイプに置換される例を示す。最後に、実施の形態４では、対象セルのセルタイプが、複数のセルタイプから消費電力値の特性分布のμに基づいて決定されたセルタイプに置換される例を示す。
【００１３】
以下に添付図面を参照して、実施の形態１〜４を詳細に説明する。
【００１４】
（実施の形態１）
図１は、実施の形態１の一実施例を示す説明図である。設計対象回路１００は、セルが初期配置済であり、クロックツリー合成後の部分回路の回路情報である。たとえば、Ｃｅｌｌ１は、セルタイプがＢＵＦ１である。設計対象回路１００内のＣｅｌｌ１〜Ｃｅｌｌ５の遅延値の特性分布に基づいてパス１０１のホールドタイミングスラックの特性分布およびセットアップタイミングスラックの特性分布が算出される。さらに、設計対象回路１００内のＣｅｌｌ１〜Ｃｅｌｌ５の消費電力値の特性分布に基づいてパス１０１の消費電力値の特性分布が算出される。パス１０１は、設計対象回路１００を構成するデータパスおよびデータパスに対応するクロックパスである。
【００１５】
そして、たとえば、Ｃｅｌｌ１が、セルタイプがＢＵＦ１からＢＵＦ４に置換されると、設計対象回路１００のパス１０１の各特性分布が再び算出される。そして、パス１０１の各特性分布が、各特性の規格値を遵守しているか否かが判断される。もしくは、パス１０１の少なくとも指定された特性分布が、置換前の指定された特性分布よりも規格値に対して余裕であるか否かが判断される。たとえば、消費電力値の特性分布が置換前に比べて規格値に対して余裕であるため、Ｃｅｌｌ１は、ＢＵＦ４に決定される。
【００１６】
これにより、セルの置換により設計対象回路の複数種類の特性情報から異なる種類間の相関の有無にかかわらず制約に違反している特性情報を特定できる。したがって、複数種類の特性情報からどの種類の特性が違反しているかを容易に検出でき、それぞれの特性を改善することで部分回路を改善することができる。
【００１７】
（設計対象回路）
図２は、設計対象回路の一例を示す説明図である。設計対象回路２００は、半導体集積回路内の部分回路を示している。設計対象回路２００は、ＦＦ１およびＦＦ２と、クロックパス２０１と、データパス２０２と、クロックパス２０１上のバッファであるＣｅｌｌ３〜Ｃｅｌｌ５と、データパス２０２上のバッファであるＣｅｌｌ１およびＣｅｌｌ２と、を含む構成である。設計対象回路２００では、理解の容易化のためにクロックパス２０１およびデータパス２０２上のセルをすべてバッファとしている。
【００１８】
実施の形態１では、Ｃｅｌｌ１〜Ｃｅｌｌ５をセル名として説明している。後述するＢＵＦ１〜ＢＵＦ４は、セルタイプとして説明している。セルタイプが同一であれば、同一機能で同一特性である。実際には、物理情報などの回路情報に含まれている情報である。
【００１９】
実際には、コンピュータが、物理情報などの回路情報にアクセスすることで処理を実施するが、本実施の形態では、回路図を用いて説明する。なお、設計対象回路２００は、記憶装置またはアクセス可能な外部のコンピュータの記憶装置に記憶されている。
【００２０】
（セルの特性分布）
図３−１は、セルの特性分布の一例を示す説明図である。実施の形態１では、バッファのセルタイプとしてＢＵＦ１〜ＢＵＦ４を用いてセルの特性分布を説明する。まず、遅延値の特性分布について説明する。ＢＵＦ１の特成分布では、中央値（μ）が５０である。ＢＵＦ２の特成分布では、μが７０である。ＢＵＦ３の特性分布では、μが１２０である。最後に、ＢＵＦ４の特成分布では、μが１１０である。
【００２１】
つぎに、消費電力値の特性分布について説明する。ＢＵＦ１の特成分布は、μを１５０として分布している。ＢＵＦ２の特成分布は、μを１３０として分布している。ＢＵＦ３は、μを１００として分布している。最後に、ＢＵＦ４は、μを９０として分布している。図３−２にてμと標準偏差（σ）とをテーブルで示す。
【００２２】
図３−２は、セルタイプごとに遅延値および消費電力値のμとσの一例を示す説明図である。テーブル３００は、セルタイプ３０１と、遅延値３０２のμと、遅延値３０２のσと、消費電力値３０３のμと、消費電力値３０３のσを含む構成である。ＢＵＦ２を例に挙げると、遅延値３０２のμは７０であり、消費電力値３０３のμは１３０であり、遅延値３０２のσは５であり、消費電力値３０３のσは１０である。なお、実際には、各セルの特性情報は、利用者によりあらかじめライブラリとして用意され、記憶装置またはアクセス可能な外部のコンピュータの記憶装置に記憶されている。
【００２３】
つぎに、各セルの特性分布に基づいてパスの特性分布が算出される例を説明する。各セルの特性分布は、正規分布の特性式を用いて表すことができる。まず、遅延値の特性式の一例を下記式１にて示す。
【００２４】
【数１】
2010272060.tif 000003
【００２５】
ただし、ｌは、セルタイプの数を示している。本実施の形態では、セルタイプの数をＢＵＦ１〜ＢＵＦ４までの４つであるとして説明する。そして、本実施の形態では、Ａ０〜Ａｍまでをあらかじめ利用者により決定されているとして、ＢＵＦ１〜ＢＵＦ４の遅延値の特性式を、それぞれα１〜α４にて示す。まず、ＢＵＦ１の遅延値の特性式をα１に、ＢＵＦ２の遅延値の特性式をα２に、ＢＵＦ３の遅延値の特性式をα３に、ＢＵＦ４の遅延値の特性式をα４に示す。
【００２６】
・α１＝５０＋２×ａ１＋１×ａ２
・α２＝７０＋１×ａ１＋３×ａ２
・α３＝１２０＋３×ａ１＋２×ａ２
・α４＝１１０＋４×ａ１＋２×ａ２
【００２７】
ａ１およびａ２は、正規乱数である。そのため、μが０で、σの２乗が１で表される。α１の“μ＋３σ”での値を例に挙げると、ａ１およびａ２には、３が代入される。したがって、α１の“μ＋３σ”での値は、５９である。なお、α１〜α４は、記憶装置またはアクセス可能な外部のコンピュータの記憶装置に記憶されている。
【００２８】
つぎに、消費電力値の特性式の一例を下記式２にて示す。
【００２９】
【数２】
2010272060.tif 000004
【００３０】
だだし、上述したようにｌは、セルタイプの数を示している。そして、本実施の形態では、Ｂ０〜Ｂｍまでをあらかじめ利用者により決定されているとして、ＢＵＦ１〜ＢＵＦ４の消費電力値の特性式を、β１〜β４にて示す。まず、ＢＵＦ１の消費電力値の特性式をβ１に、ＢＵＦ２の消費電力値の特性式をβ２に、ＢＵＦ３の消費電力値の特性式をβ３に、ＢＵＦ４の消費電力値の特性式をβ４に示す。
【００３１】
・β１＝１５０＋１×ｂ１＋２×ｂ２
・β２＝１３０＋４×ｂ１＋８×ｂ２
・β３＝１００＋２×ｂ１＋１×ｂ２
・β４＝９０＋１×ｂ１＋２×ｂ２
【００３２】
ｂ１およびｂ２は、正規乱数である。そのため、μが０で、σの２乗が１で表される。β１の“μ＋３σ”での値を例に挙げると、ｂ１およびｂ２には、３が代入される。したがって、β１の“μ＋３σ”での値は、１５９である。なお、β１〜β４は、記憶装置またはアクセス可能な外部のコンピュータの記憶装置に記憶されている。
【００３３】
つぎに、ホールドタイミングスラックについて説明する。ホールドタイミングスラックとは、図２を例に説明すると、ＦＦ２へ入力されるクロック信号の立ち上がりからＦＦ２へ入力されるデータ信号が変化するまでの時間である。そして、ホールドタイミングスラックの特性分布は、データパスおよびデータパスに対応するクロックパス上のセルの遅延値の特性式に基づいて多項式により算出される。ホールドタイミングスラックの特性分布を算出するための特性式の一例を下記式３に示す。
【００３４】
【数３】
2010272060.tif 000005
【００３５】
だだし、式３でのα１〜αｎは、部分回路を構成するデータパスおよびデータパスに対応するクロックパス上のセルの遅延値の特性式である。実施の形態１では、式３のα１は、設計対象回路２００内のＣｅｌｌ１の遅延値の特性式を示している。したがって、本実施の形態では、ｎは、Ｃｅｌｌ１からＣｅｌｌ５に対応して１〜５である。実施の形態１では、式３のｘ０〜ｘｎを下記式４のように利用者によって決定されていることとして説明する。さらに、下記式４では、設計対象回路２００内のデータパス２０２およびクロックパス２０１に基づいてホールドタイミングスラックの特性分布を算出するための特性式を示している。
【００３６】
Ｘ＝１００＋０．２×（Ｃｅｌｌ１の遅延値の特性式）＋０．３×（Ｃｅｌｌ２の遅延値の特性式）＋０．４×（Ｃｅｌｌ３の遅延値の特性式）＋０．５×（Ｃｅｌｌ４の遅延値の特性式）＋０．６×（Ｃｅｌｌ５の遅延値の特性式）
・・・式４
【００３７】
つぎに、セットアップタイミングスラックについて説明する。セットアップタイミングスラックとは、図２を例に説明すると、ＦＦ２へ入力されるデータ信号の変化からＦＦ２へ入力されるクロック信号の立ち上がりまでの時間である。そして、セットアップタイミングスラックの特性分布は、データパスおよびデータパスに対応するクロックパス上のセルの遅延値の特性分布に基づいて多項式により算出される。セットアップタイミングスラックの特性分布を算出するための特性式の一例を下記式５に示す。
【００３８】
【数４】
2010272060.tif 000006
【００３９】
だだし、式５でのαｎは、部分回路を構成するデータパスおよびデータパスに対応するクロックパス上のセルの遅延値の特性式である。実施の形態１では、式５のα１は、設計対象回路２００内のＣｅｌｌ１の遅延値の特性式を示している。さらに、実施の形態１では、式５のｙ０〜ｙｎを下記式６のように利用者によって決定されていることとして説明する。さらに、下記式６では、設計対象回路２００内のデータパス２０２およびクロックパス２０１に基づいてセットアップタイミングスラックの特性分布を算出するための特性式を示している。
【００４０】
Ｙ＝１５０＋０．２×（Ｃｅｌｌ１の遅延値の特性式）＋０．４×（Ｃｅｌｌ２の遅延値の特性式）＋０．６×（Ｃｅｌｌ３の遅延値の特性式）＋０．８×（Ｃｅｌｌ４の遅延値の特性式）＋１．０×（Ｃｅｌｌ５の遅延値の特性式）
・・・式６
【００４１】
つぎに、消費電力値の特性分布について説明する。消費電力値の特性分布は、データパスおよびデータパスに対応するクロックパス上のセルの消費電力値の特性分布に基づいて多項式により算出される。消費電力値の特性分布を算出するための特性式の一例を下記式７に示す。
【００４２】
【数５】
2010272060.tif 000007
【００４３】
だだし、式７でのβｎは、部分回路を構成するデータパスおよびデータパスに対応するクロックパス上のセルの消費電力値の特性式である。実施の形態１では、式７のβ１は、設計対象回路２００内のＣｅｌｌ１の消費電力値の特性式を示している。さらに、実施の形態１では、式７のｚ０〜ｚｎを下記式８のように利用者によって決定されているとして説明する。さらに、下記式８では、設計対象回路２００内のデータパス２０２およびクロックパス２０１に基づいて消費電力値の特性分布を算出するための特性式を示している。
【００４４】
Ｚ＝３００＋０．３×（Ｃｅｌｌ１の消費電力値の特性式）＋０．４×（Ｃｅｌｌ２の消費電力値の特性式）＋０．５×（Ｃｅｌｌ３の消費電力値の特性式）＋０．６×（Ｃｅｌｌ４の消費電力値の特性式）＋０．７×（Ｃｅｌｌ５の消費電力値の特性式）
・・・式８
【００４５】
なお、式４、式６、式８は、初期配置およびクロックツリーが構築された後に、部分回路に応じて利用者によりモデリングされる式である。そして、記憶装置またはアクセス可能な外部のコンピュータの記憶装置に記憶されている。
【００４６】
（設計支援装置のハードウェア構成）
図４は、設計支援装置のハードウェア構成を示すブロック図である。図４において、設計支援装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３と、磁気ディスクドライブ４０４と、磁気ディスク４０５と、光ディスクドライブ４０６と、光ディスク４０７と、ディスプレイ４０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）４０９と、キーボード４１０と、マウス４１１と、スキャナ４１２と、プリンタ４１３と、を備えている。また、各構成部はバス４００によってそれぞれ接続されている。
【００４７】
ここで、ＣＰＵ４０１は、設計支援装置の全体の制御を司る。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される。磁気ディスクドライブ４０４は、ＣＰＵ４０１の制御にしたがって磁気ディスク４０５に対するデータのリード／ライトを制御する。磁気ディスク４０５は、磁気ディスクドライブ４０４の制御で書き込まれたデータを記憶する。
【００４８】
光ディスクドライブ４０６は、ＣＰＵ４０１の制御にしたがって光ディスク４０７に対するデータのリード／ライトを制御する。光ディスク４０７は、光ディスクドライブ４０６の制御で書き込まれたデータを記憶したり、光ディスク４０７に記憶されたデータをコンピュータに読み取らせたりする。
【００４９】
ディスプレイ４０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ４０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００５０】
Ｉ／Ｆ４０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク４１４に接続され、このネットワーク４１４を介して他の装置に接続される。そして、Ｉ／Ｆ４０９は、ネットワーク４１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ４０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００５１】
キーボード４１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス４１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００５２】
スキャナ４１２は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ４１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ４１３は、画像データや文書データを印刷する。プリンタ４１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００５３】
（設計支援装置の機能的構成）
図５は、設計支援装置の機能的構成を示すブロック図である。設計支援装置５００は、設定部５０１と、検出部５０２と、選択部５０３と、置換部５０４と、取得部５０５と、算出部５０６と、判断部５０７と、削除部５０８と、挿入部５０９と、出力部５１０を含む構成である。各機能（設定部５０１〜出力部５１０）は、具体的には、たとえば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０９により、その機能を実現する。
【００５４】
まず、実施の形態１では、ホールドタイミングの規格値（Ｄｈｄ＿ｓｔ）と、セットアップタイミングの規格値（Ｄｓｕ＿ｓｔ）と、消費電力値の規格値（Ｐ＿ｓｔ）を、それぞれ下記に示す値を一例として説明する。
・Ｄｈｄ＿ｓｔ：１８５
・Ｄｓｕ＿ｓｔ：２５０
・Ｐ＿ｓｔ：７５０
【００５５】
なお、それぞれの特性の規格値は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されている。
【００５６】
設計対象回路２００内の各セルにセルタイプが設定されている例を下記にセル名：セルタイプとして示す。実際には、回路情報が、各セルがどのセルタイプであるかの情報を有している。
・Ｃｅｌｌ１：ＢＵＦ１
・Ｃｅｌｌ２：ＢＵＦ１
・Ｃｅｌｌ３：ＢＵＦ１
・Ｃｅｌｌ４：ＢＵＦ１
・Ｃｅｌｌ５：ＢＵＦ１
【００５７】
検出部５０２は、設計対象回路内の部分回路を構成するデータパスと当該データパスに対応するクロックパスを検出する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、設計対象回路２００から任意のデータパス２０２とデータパス２０２に対応するクロックパス２０１を検出する。
【００５８】
つぎに、選択部５０３は、検出部５０２により検出されたデータパスおよびクロックパス上のセル群から対象セルを選択する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、データパス２０２およびクロックパス２０１から任意のセルを対象セルとして選択する。たとえば、Ｃｅｌｌ１が対象セルに選択される。
【００５９】
置換部５０４は、選択部５０３により選択された対象セルを、対象セルと同一機能で特性が異なるセルに置換する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、対象セルであるＣｅｌｌ１のセルタイプと同一機能で特性が異なる任意のセルタイプに置換する。たとえば、Ｃｅｌｌ１は上述したようにＢＵＦ１である。したがって、Ｃｅｌｌ１のセルタイプをＢＵＦ４から、テーブル３００内のＢＵＦ４を除いて任意のセルタイプに置換する。たとえば、Ｃｅｌｌ１のセルタイプがＢＵＦ４からＢＵＦ２に置換される。なお、置換結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【００６０】
置換結果をセル名：セルタイプで下記に示す。
・Ｃｅｌｌ１：ＢＵＦ２
・Ｃｅｌｌ２：ＢＵＦ１
・Ｃｅｌｌ３：ＢＵＦ１
・Ｃｅｌｌ４：ＢＵＦ１
・Ｃｅｌｌ５：ＢＵＦ１
【００６１】
取得部５０５は、置換部５０４により対象セルが置換された後のデータパスおよびクロックパスに基づいて、部分回路に関する複数種類の特性情報を取得する機能を有する。ここで、特性情報とは、多項式を用いて算出される特性分布を示している。具体的には、たとえば、ＣＰＵ４０１が、置換後の設計対象回路２００に基づいて上記式４，６，８により算出されたホールドタイミングスラックの特性分布とセットアップタイミングスラックの特性分布と消費電力値の特性分布を取得する。
【００６２】
たとえば、対象セルが置換された置換済パス上のセルの特性に基づいて算出された複数種類の特性分布を下記に示す。
【００６３】
上記式４を用いて算出されたホールドタイミングスラックの特性分布をＸ０として下記に示す。まず、上記式４のＸに各セルの遅延値の特性式が代入されている例を示す。
・Ｘ０＝１００＋０．２×（７０＋１×ａ１＋３×ａ２）＋０．３×（５０＋２×ａ１＋１×ａ２）＋０．４×（５０＋２×ａ１＋１×ａ２）＋０．５×（５０＋２×ａ１＋１×ａ２）＋０．６×（５０＋２×ａ１＋１×ａ２）
【００６４】
つぎに、算出結果を示す。
・Ｘ０＝２０４＋３．８×ａ１＋２．４×ａ２
【００６５】
上記式６を用いて算出されたセットアップタイミングスラックの特性分布をＹ０として下記に示す。まず、上記式６に各セルの遅延値の特性式が代入されている例を示す。
・Ｙ０＝１５０＋０．２×（７０＋１×ａ１＋３×ａ２）＋０．４×（５０＋２×ａ１＋１×ａ２）＋０．６×（５０＋２×ａ１＋１×ａ２）＋０．８×（５０＋２×ａ１＋１×ａ２）＋１．０×（５０＋２×ａ１＋１×ａ２）
【００６６】
つぎに、算出結果を示す。
・Ｙ０＝３０４＋５．８×ａ１＋３．４×ａ２
【００６７】
上記式８を用いて算出された消費電力値をＺ０として下記に示す。まず、上記式８に各セルの遅延値の特性式が代入されている例を示す。
・Ｚ０＝３００＋０．３×（１３０＋４×ｂ１＋８×ｂ２）＋０．４×（１５０＋１×ｂ１＋２×ｂ２）＋０．５×（１５０＋１×ｂ１＋２×ｂ２）＋０．６×（１５０＋１×ｂ１＋２×ｂ２）＋０．７×（１５０＋１×ｂ１＋２×ｂ２）
【００６８】
つぎに、算出結果を示す。
・Ｚ０＝６５７＋３．４×ｂ１＋６．８×ｂ２
【００６９】
上述したように式４と、式６と、式８は、正規分布の特性式である。そして、本実施の形態では、各特性分布が“μ±３σ”にて規格値を満たすとする。なお、実際には、“μ±３σ”にて規格値を満たすとするのは一例であり、“μ±σ”であったり“μ±４σ”であったりと利用者により種々変更可能である。まず、ホールドタイミングスラックの特性分布は、最速値が規格値との比較対象となる。したがって、ホールドタイミングスラックの特性分布の“μ−３σ”がホールドタイミングの規格値以上であれば、ホールドタイミングスラックの特性分布が規格値を遵守している。
【００７０】
したがって、上述したＸ０のａ１およびａ２には、−３が代入される。下記にＸ０の算出結果を示す。
・Ｘ０＝１８５．４
【００７１】
つぎに、セットアップタイミングスラックの特性分布は、最速値が規格値との比較対象となる。したがって、セットアップタイミングスラックの特性分布の“μ−３σ”での値がセットアップタイミングの規格値以上であれば、セットアップタイミングスラックの特性分布が規格値を遵守している。
【００７２】
したがって、上述したＹ０のａ１およびａ２には、−３が代入される。下記にＹ０の取得結果を示す。
・Ｙ０＝２７６．４
【００７３】
そして、消費電力値の特性分布では、特性分布の最大値が規格値との比較対象となる。したがって、消費電力値の特性分布の“μ＋３σ”が消費電力値の規格値以下であれば、消費電力値の特性分布が規格値を遵守している。
【００７４】
したがって、上述したＺ０のｂ１およびｂ２には、３が代入される。下記にＺ０の取得結果を示す。
・Ｚ０＝６８７．６
【００７５】
また、複数種類の特性分布を取得することとして説明しているが、設計支援装置５００内で算出部５０６により算出することとしてもよい。
【００７６】
算出部５０６は、置換部５０４により対象セルが置換された後のデータパスおよびクロックパスに基づいて、部分回路に関する複数種類の特性情報を算出する機能を有する。
【００７７】
具体的には、たとえば、ＣＰＵ４０１が、設計対象回路２００内のセルのセルタイプに基づいて遅延値の特性式を取得して、式４、式６に代入することでホールドタイミングスラックの特性式とセットアップタイミングスラックの特性式を算出する。さらに、設計対象回路２００内のセルのセルタイプに基づいて消費電力値の特性式を取得して式８に代入することで算出する。なお、算出結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【００７８】
これにより、部分回路に関する複数種類の特性分布が、部分回路を構成するデータパスおよびデータパスに対応するクロックパス上のセルの特性分布に基づいて自動で算出される。したがって、規格値に違反している特性を容易に特定することができる。
【００７９】
つぎに、判断部５０７は、取得部５０５により取得された部分回路に関する複数種類の特性情報（または、算出部５０６により算出された複数種類の特性情報）がそれぞれの制約に違反しているか否かを判断する機能を有する。まず、判断部５０７がホールドタイミングスラックの特性分布が規格値を遵守しているか否かを判断する機能について説明する。
【００８０】
具体的には、たとえば、ＣＰＵ４０１が、ホールドタイミングスラックの特性分布の“μ−３σ”での値がＤｈｄ＿ｓｔ以上であるか否かを判断する。そして、特性分布の“μ−３σ”での値がＤｈｄ＿ｓｔ以上の場合、規格値を遵守していると判断し、特性分布の“μ−３σ”での値がＤｈｄ＿ｓｔ未満の場合、規格値に違反していると判断する。ホールドタイミングスラックの特性分布の“μ−３σ”での値は、１８５．４である。そして、Ｄｈｄ＿ｓｔは１８５である。
【００８１】
したがって、Ｘ０はＤｈｄ＿ｓｔ以上であると判断され、ホールドタイミングスラックの特性分布は、ホールドタイミングの規格値を遵守していると判断される。なお、判断結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【００８２】
つぎに、判断部５０７が、セットアップタイミングスラックの特性分布が規格値を遵守しているか否かを判断する機能について説明する。具体的には、たとえば、ＣＰＵ４０１が、セットアップタイミングスラックの特性分布の“μ−３σ”での値がＤｓｕ＿ｓｔ以上であるか否かを判断する。そして、特性分布の“μ−３σ”での値がＤｓｕ＿ｓｔ以上の場合、規格値を遵守していると判断し、特性分布の“μ−３σ”での値がＤｓｕ＿ｓｔ未満の場合、規格値に違反していると判断する。
【００８３】
セットアップタイミングスラックの特性分布の“μ−３σ”での値は、上述したように２７６．４である。そして、セットアップタイミングの規格値であるＤｓｕ＿ｓｔは２５０である。したがって、Ｙ０はＤｓｕ＿ｓｔ以上であるため、セットアップタイミングスラックの特性分布は、セットアップタイミングの規格値を遵守していると判断される。なお、判断結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【００８４】
最後に、判断部５０７が、消費電力値が規格値を遵守しているか否かを判断する機能について説明する。具体的には、たとえば、ＣＰＵ４０１が、消費電力値の特性分布の“μ＋３σ”での値がＰ＿ｓｔ以下であるか否かを判断する。そして、特性分布の“μ＋３σ”での値がＰ＿ｓｔ以下の場合、規格値を遵守していると判断し、特性分布の“μ＋３σ”での値がＰ＿ｓｔより大きい場合、規格値に違反していると判断する。
【００８５】
消費電力値の特性分布の“μ＋３σ”での値は、上述したように６８７．６である。そして、消費電力値の規格値であるＰ＿ｓｔは７５０である。したがって、Ｚ０はＰ＿ｓｔ以下であるため、消費電力値の特性分布は、消費電力値の規格値を遵守していると判断される。なお、判断結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【００８６】
したがって、置換後のホールドタイミングスラックの特性分布とセットアップタイミングスラックの特性分布と消費電力値の特性分布が、それぞれの特性の規格地を遵守している。
【００８７】
また、判断部５０７は、取得部５０５により取得された置換後の特性分布が置換前の特性分布よりも規格値に対して余裕があるか否かを判断する機能を有する。たとえば、利用者により少なくとも消費電力値が置換前の特性分布よりも規格値に対して余裕となるように置換すると指定された場合について説明する。
【００８８】
具体的には、たとえば、ＣＰＵ４０１が、Ｐ＿ｓｔから置換前の消費電力値の特性分布での“μ＋３σ”の値を引いた値を算出し、第１の算出結果とする。つぎに、Ｐ＿ｓｔから置換後の消費電力値の特性分布での“μ＋３σ”の値を引いた値を算出し、第２の算出結果とする。つぎに、第２の算出結果が第１の算出結果より大きい値であるか否かを判断する。
【００８９】
そして、たとえば、ＣＰＵ４０１が、第２の算出結果が第１の算出結果よりも大きい値である場合、置換後の特性分布が置換前の特性分布よりも規格値に対して余裕があると判断される。一方、第２の算出結果が第１の算出結果以下の場合、置換後の特性分布が置換前の特性分布よりも規格値に対して余裕がないと判断される。なお、“μ＋３σ”での値を用いて説明しているが、たとえば、“μ”での値により判断するなど種々変更可能である。
【００９０】
つぎに、たとえば、利用者により少なくともホールドタイミングスラックの特性分布が置換前の特性分布よりも規格値に対して余裕となるように置換すると指定された場合について説明する。
【００９１】
具体的には、たとえば、ＣＰＵ４０１が、Ｄｈｄ＿ｓｔから置換前のホールドタイミングスラックの特性分布での“μ−３σ”の値を引いた値を算出し、第１の算出結果とする。つぎに、Ｄｈｄ＿ｓｔから置換後のホールドタイミングスラックの特性分布での“μ−３σ”の値を引いた値を算出し、第２の算出結果とする。つぎに、第２の算出結果が第１の算出結果未満であるか否かを判断する。
【００９２】
そして、たとえば、ＣＰＵ４０１が、第２の算出結果が第１の算出結果未満である場合、置換後のホールドタイミングスラックの特性分布が置換前のホールドタイミングスラックの特性分布よりも規格値に対して余裕があると判断する。一方、第２の算出結果が第１の算出結果以上の場合、置換後のホールドタイミングスラックの特性分布が置換前のホールドタイミングスラックの特性分布よりも規格値に対して余裕がないと判断される。なお、判断結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。なお、“μ−３σ”での値を用いて説明しているが、たとえば、“μ”での値により判断するなど種々変更可能である。
【００９３】
これにより、複数種類の特性分布が規格値を遵守することができ、さらに、利用者により指定された種類の特性分布を最適化することができる。
【００９４】
また、置換部５０４は、判断部５０７により少なくとも１種類の特性情報が、特性情報の制約に違反していると判断された場合、あらたに対象セルと同一機能で特性が異なる複数のセルからすでに置換済みであるセルを除くセルに置換する機能を有する。または、置換部５０４は、判断部５０７により指定された種類の特性情報が、置換前の特性情報よりも特性情報の制約に対して余裕がないと判断された場合、対象セルと同一機能で特性が異なる複数のセルからあらたなセルに置換する機能を有する。
【００９５】
具体的には、たとえば、ＣＰＵ４０１が、置換済であるセルのセルタイプをリストに登録することで、リスト内に含まれているセルタイプであるか否かによりすでに置換済であるかを判断することができる。Ｃｅｌｌ１が対象セルの場合、置換済リストには、ＢＵＦ４とＢＵＦ２が登録されている。
【００９６】
そして、具体的には、たとえば、ＣＰＵ４０１が、対象セルのセルタイプをテーブル３００のセルタイプから置換済リスト内に含まれているセルタイプを除くセルタイプにあらたに置換する。たとえば、Ｃｅｌｌ１のセルタイプをＢＵＦ２からＢＵＦ３に置換する。なお、置換結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【００９７】
そして、再度、取得部５０５、判断部５０７の処理を繰り返すことで、複数の特性情報が、それぞれの制約に違反することを防止でき、それぞれの特性を最適化することができる。
【００９８】
また、選択部５０３は、判断部５０７により少なくとも１種類の特性情報が、特性情報の制約に違反していると判断された場合、検出部５０２により検出されたデータパスおよびクロックパス上のセル群からあらたに対象セルを選択する機能を有する。または、置換部５０４は、判断部５０７により指定された種類の特性情報が、置換前の特性情報よりも特性情報の制約に対して余裕がないと判断された場合、検出部５０２により検出されたパス上のセルからあらたに対象セルを選択する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、データパス２０２上のセルからＣｅｌｌ１を除くセルをあらたに対象セルに選択する。データパス２０２上のセルでＣｅｌｌ１を除くセルは、Ｃｅｌｌ２のみであるため、Ｃｅｌｌ２が選択される。
【００９９】
そして、再度、置換部５０４、取得部５０５、判断部５０７の処理を繰り返すことで、複数の特性情報が、それぞれの制約に違反することを防止でき、それぞれの特性を最適化することができる。
【０１００】
そして、出力部５１０は、判断部５０７により判断された判断結果を出力する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、複数種類の特性情報がそれぞれの特性情報の規格値を遵守していると判断した場合、各セルのセルタイプを回路情報に出力して保存する。また、たとえば、ＣＰＵ４０１が、複数種類の特性情報のうち少なくとも１つの種類の特性情報が、規格値を遵守していないと判断した場合、規格値を遵守できないことを出力する。
【０１０１】
出力形式としては、たとえば、ディスプレイ４０８への表示、プリンタ４１３への印刷出力、Ｉ／Ｆ４０９による外部装置への送信がある。また、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶することとしてもよい。
【０１０２】
これにより、セルの置換により設計対象回路の複数種類の特性情報から異なる種類間の相関の有無にかかわらず制約に違反している特性情報を特定できる。したがって、複数種類の特性情報からどの種類の特性が違反しているかを容易に検出でき、それぞれの特性を改善することで部分回路を改善することができる。
【０１０３】
なお、設定部５０１については、実施の形態１にて詳細な説明を行わなかったが、実施の形態２〜３にて詳細な説明をおこなう。
【０１０４】
（実施の形態１にかかる設計支援装置５００の設計支援処理手順）
図６は、実施の形態１にかかる設計支援装置５００の設計支援処理手順を示すフローチャートである。図６において、まず、検出部５０２により、回路情報からパスを検出する（ステップＳ６０１）。ここでのパスとは、部分回路を構成するデータパスおよび当該データパスに対応するクロックパスを指し、設計対象回路２００を例に挙げると、データパス２０２およびクロックパス２０１である。
【０１０５】
ステップＳ６０１のつぎに、未選択のパスがあるか否かを判断する（ステップＳ６０２）。そして、未選択のパスがあると判断された場合（ステップＳ６０２：Ｙｅｓ）、未選択のパスから１つのパスを選択し（ステップＳ６０３）、パス上のセルを検出する（ステップＳ６０４）。そして、未選択のセルがあるか否かを判断する（ステップＳ６０５）。
【０１０６】
未選択のセルがあると判断された場合（ステップＳ６０５：Ｙｅｓ）、置換済リストをクリアし（ステップＳ６０６）、選択部５０３により、未選択のセルから１つのセルを対象セルに選択する（ステップＳ６０７）。そして、対象セルのセルタイプを置換済リストに登録し（ステップＳ６０８）、同一機能で異なるセルのセルタイプを検索し（ステップＳ６０９）、置換済リストに含まれていないセルタイプがあるか否かを判断する（ステップＳ６１０）。
【０１０７】
置換済リストに含まれていないセルタイプがあると判断された場合（ステップＳ６１０：Ｙｅｓ）、未置換のセルタイプから１つのセルタイプを選択する（ステップＳ６１１）。つづいて、置換・判断処理を実行し（ステップＳ６１２）、ステップＳ６０９へ戻る。
【０１０８】
一方、置換済リストに含まれていないセルタイプがないと判断された場合（ステップＳ６１０：Ｎｏ）、ステップＳ６０５へ戻る。
【０１０９】
ステップＳ６０５において、未選択のセルがないと判断された場合（ステップＳ６０５：Ｎｏ）、ステップＳ６０２へ戻る。ステップＳ６０２において、未選択のパスがないと判断された場合（ステップＳ６０２：Ｎｏ）、回路情報を出力し（ステップＳ６１３）、一連の処理を終了する。
【０１１０】
図７は、図６で示した置換・判断処理（ステップＳ６１２）の詳細な処理手順を示すフローチャートである。まず、対象セルのセルタイプを検索されたセルタイプに置換し（ステップＳ７０１）、置換後の対象セルのセルタイプを置換済リストに登録する（ステップＳ７０２）。つづいて、算出部５０６により、置換後のホールドタイムの特性分布を算出し（ステップＳ７０３）、判断部５０７により、ホールドタイムの規格値を遵守しているか否かを判断する（ステップＳ７０４）。ホールドタイムの規格値を遵守している場合（ステップＳ７０４：Ｙｅｓ）、算出部５０６により、置換後のセットアップタイムの特性分布を算出し（ステップＳ７０５）、判断部５０７により、セットアップタイムの規格値を遵守しているか否かを判断する（ステップＳ７０６）。
【０１１１】
セットアップタイムの規格値を遵守していると判断された場合（ステップＳ７０６：Ｙｅｓ）、算出部５０６により、置換後の消費電力値の特性分布を算出し（ステップＳ７０７）、判断部５０７により、消費電力値の規格値を遵守しているか否かを判断する（ステップＳ７０８）。消費電力値の規格値を遵守していると判断された場合（ステップＳ７０８：Ｙｅｓ）、判断部５０７により、指定された特性分布が置換前よりも規格値に対して余裕であるか否かを判断する（ステップＳ７０９）。指定された特性分布が置換前よりも規格値に対して余裕であると判断された場合（ステップＳ７０９：Ｙｅｓ）、置換後の回路情報を保存し（ステップＳ７１０）、ステップＳ６０９へ戻る。
【０１１２】
一方、規格値を遵守していない場合（ステップＳ７０４：Ｎｏ、ステップＳ７０６：Ｎｏ、ステップＳ７０８：Ｎｏ）、置換前のセルタイプに戻し（ステップＳ７１１）、ステップＳ６０９へ戻る。さらに、置換前よりも規格値に対して余裕でないと判断された場合（ステップＳ７０９：Ｎｏ）、ステップＳ７１１へ移行する。
【０１１３】
（実施の形態２）
つぎに、実施の形態２について説明する。実施の形態２では、各セルが遅延値の特性分布のσに基づいて初期設定され、さらに、対象セルのセルタイプが遅延値の特性分布のσに基づいて置換される。これにより、セルの置換により設計対象回路の複数種類の特性情報から異なる種類間の相関の有無にかかわらず制約に違反している特性情報を特定できる。
【０１１４】
したがって、複数種類の特性情報からどの種類の特性が違反しているかを容易に検出でき、それぞれの特性を改善することができる。さらに、セルの遅延値のσに基づいて置換することで、製造後の半導体集積回路間にタイミングの特性のばらつきが生じることを低減するようにタイミングの特性を最適化することができる。
【０１１５】
そして、実施の形態１で説明した構成と同一構成については同一符号を付して説明を省略する。なお、実施の形態２では、複数種類の特性分布を算出するための特性式およびそれぞれの特性の規格値を実施の形態１で示した式および値と同一の式および値を用いて説明する。
【０１１６】
まず、設定部５０１は、設計対象回路の回路情報内の各セルを、特性の異なる複数のセルから遅延値の特性分布のσが最も小さい値であるセルに設定する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、設計対象回路２００を構成するデータパス２０２およびデータパス２０２に対応するクロックパス２０１上のセルを順次選択し、テーブル３００から選択されたセルと同一機能であり、遅延値の特性分布のσが最も小さいセルタイプを検索する。そして、選択されたセルのセルタイプを、検索されたセルタイプに設定する。なお、設定結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【０１１７】
設定結果をセル名：セルタイプで下記に示す。
・Ｃｅｌｌ１：ＢＵＦ１
・Ｃｅｌｌ２：ＢＵＦ１
・Ｃｅｌｌ３：ＢＵＦ１
・Ｃｅｌｌ４：ＢＵＦ１
・Ｃｅｌｌ５：ＢＵＦ１
【０１１８】
これにより、できる限り遅延値のσが小さい値にセルのセルタイプを設定でき、タイミング特性にばらつきが生じることを防止することができる。
【０１１９】
算出部５０６は、設定部５０１により設定されたセルの遅延値の特性分布に基づいてセットアップおよびホールドタイミングスラックの特性分布を算出し、各セルの消費電力値の特性分布に基づいて消費電力値の特性分布を算出する機能を有する。算出部５０６が特性分布を算出する機能は、実施の形態１で説明した機能と同一機能であるため詳細な説明を省略する。
【０１２０】
式４を用いて算出されたホールドタイミングスラックの特性分布をＸ１として下記に示す。まず、Ｘ１に各セルの遅延値の特性式が代入されている例を示す。
・Ｘ１＝１００＋０．２×（５０＋２×ａ１＋１×ａ２）＋０．３×（５０＋２×ａ１＋１×ａ２）＋０．４×（５０＋２×ａ１＋１×ａ２）＋０．５×（５０＋２×ａ１＋１×ａ２）＋０．６×（５０＋２×ａ１＋１×ａ２）
【０１２１】
つぎに、Ｘ１の算出結果を示す。
・Ｘ１＝２００＋４×ａ１＋２×ａ２
【０１２２】
式６を用いて算出されたセットアップタイミングスラックの特性分布をＹ１として下記に示す。まず、Ｙ１に各セルの遅延値の特性式が代入されている例を示す。
・Ｙ１＝１５０＋０．２×（５０＋２×ａ１＋１×ａ２）＋０．６×（５０＋２×ａ１＋１×ａ２）＋０．８×（５０＋２×ａ１＋１×ａ２）＋１．０×（５０＋２×ａ１＋１×ａ２）
【０１２３】
つぎに、Ｙ１の算出結果を示す。
・Ｙ１＝３００＋６×ａ１＋３×ａ２
【０１２４】
式８を用いて算出された消費電力値をＺ１として下記に示す。まず、Ｚ１に各セルの遅延値の特性式が代入されている例を示す。
・Ｚ１＝３００＋０．３×（５０＋２×ｂ１＋１×ｂ２）＋０．４×（５０＋２×ｂ１＋１×ｂ２）＋０．５×（５０＋２×ｂ１＋１×ｂ２）＋０．６×（５０＋２×ｂ１＋１×ｂ２）＋０．７×（５０＋２×ｂ１＋１×ｂ２）
【０１２５】
つぎに、Ｚ１の算出結果を示す。
・Ｚ１＝６７５＋２．５×ｂ１＋５×ｂ２
【０１２６】
上述したように式４と、式６と、式８は、正規分布の特性式である。そして、実施の形態２では、実施の形態１と同様に各特性分布の“μ±３σ”の値がすべて規格値を満たすか否かにより規格値を遵守しているとする。
【０１２７】
判断部５０７は、算出部５０６により算出された複数種類の特性分布が、それぞれの特性の規格値を遵守しているか否かを判断する機能を有する。判断部５０７は、実施の形態１で説明した機能と同一機能であるため詳細な説明を省略する。まず、ホールドタイミングスラックの特性分布は、最速値が規格値との比較対象となる。したがって、ホールドタイミングスラックの特性分布の“μ−３σ”がホールドタイミングの規格値以上であれば、ホールドタイミングスラックの特性分布が規格値を遵守している。
【０１２８】
したがって、上述したＸ１のａ１とａ２には、それぞれ−３が代入される。下記にＸ１の算出結果を示す。
・Ｘ１＝１８２
【０１２９】
Ｘ１はＤｈｄ＿ｓｔ以下であるため、ホールドタイミングスラックの特性分布は、ホールドタイミングの規格値に違反していると判断される。
【０１３０】
つぎに、セットアップタイミングスラックの特性分布は、最速値が規格値との比較対象となる。したがって、セットアップタイミングスラックの特性分布の“μ−３σ”がセットアップタイミングの規格値以上であれば、セットアップタイミングスラックの特性分布が規格値を遵守している。
【０１３１】
したがって、上述したＹ１のａ１とａ２には、それぞれ−３が代入される。下記にＹ１の算出結果を示す。
・Ｙ１＝２７３
【０１３２】
Ｙ１はＤｓｕ＿ｓｔ以上であるため、セットアップタイミングスラックの特性分布は、セットアップタイミングの規格値を遵守していると判断される。
【０１３３】
最後に、消費電力値の特性分布は、最大値が規格値との比較対象となる。したがって、消費電力値の特性分布の“μ＋３σ”が消費電力値の規格値以下であれば、消費電力値の特性分布が規格値を遵守している。
【０１３４】
したがって、上述したＺ１のｂ１とｂ２には、それぞれ３が代入される。下記にＺ１の算出結果を示す。
・Ｚ１＝６９７．５
【０１３５】
Ｚ１はＰ＿ｓｔ以下であるため、消費電力値の特性分布は、消費電力値の規格値を遵守していると判断される。
【０１３６】
つぎに、検出部５０２は、判断部５０７により設計対象回路の回路情報からホールドタイミングスラックの特性分布がホールドタイミングの規格値に違反していると判断されたパスを検出する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、判断結果に基づいてホールドタイミングの規格値に違反していると判断されているパスを検出する。上述したように判断部５０７によりホールドタイミングスラックの特性分布がホールドタイミングの規格値に違反していると判断されたため、検出部５０２では、クロックパス２０１およびデータパス２０２が検出される。
【０１３７】
また、検出部５０２は、判断部５０７により設計対象回路の回路情報からセットアップタイミングスラックの特性分布がセットアップタイミングの規格値に違反していると判断されたパスを検出する機能を有する。
【０１３８】
具体的には、たとえば、ＣＰＵ４０１が、判断結果に基づいてセットアップタイミングの規格値に違反していると判断されているパスを検出する。なお、本実施の形態では、設計対象回路２００内のパスが、クロックパス２０１およびデータパス２０２のみである。上述したように判断部５０７によりセットアップタイミングスラックの特性分布がセットアップタイミングの規格値を遵守していると判断されたため、検出部５０２では、パスが検出されない。
【０１３９】
また、検出部５０２は、判断部５０７により設計対象回路から消費電力値の特性分布が消費電力値の規格値に違反していると判断された部分回路を構成するデータパスおよびデータパスに対応するクロックパスを検出する機能を有する。なお、検出部５０２は、消費電力値の規格値に違反しているパスが無いと判断された場合に、消費電力値の規格値に違反しているパスを検出することとしてもよい。
【０１４０】
具体的には、たとえば、ＣＰＵ４０１が、記憶装置から判断結果を読み出して、消費電力値の規格値に違反していると判断されている部分回路を構成するデータパスおよびデータパスに対応するクロックパスを検出する。上述したように判断部５０７により消費電力値の特性分布が消費電力値の規格値を遵守していると判断されている。したがって、実施の形態２では、検出部５０２により消費電力値の規格値に違反していると判断されている部分回路を構成するデータパスおよびクロックパスが検出されない。
【０１４１】
つぎに、選択部５０３は、検出部５０２により検出されたクロックパス上のセルから遅延値の特性分布の中央値が最大のセルを対象セルに選択する機能を有する。または、検出されたデータパス上のセルから遅延値の特性分布の中央値が最小のセルを対象セルに選択する機能を有する。
【０１４２】
そして、具体的には、たとえば、ＣＰＵ４０１が、データパス２０２からセルをすべて抽出する。そして、セルごとにセルのセルタイプに基づいてテーブル３００から遅延値３０２のμを読み出す。そして、遅延値３０２のμが最大のセルを対象セル候補１に選択する。データパス２０２では、上述したようにＣｅｌｌ１およびＣｅｌｌ２がいずれもＢＵＦ１に設定されている。したがって、Ｃｅｌｌ１およびＣｅｌｌ２から任意のセルを対象セル候補１に選択する。ここでは、Ｃｅｌｌ１が対象セル候補１に選択されるとする。
【０１４３】
具体的には、たとえば、ＣＰＵ４０１が、クロックパス２０１からセルをすべて抽出する。そして、セルごとにセルタイプに基づいてテーブル３００からμを読み出す。そして、μが最大のセルを対象セル候補２に選択する。クロックパス２０１では、上述したようにＣｅｌｌ３〜Ｃｅｌｌ５がすべてＢＵＦ１に設定されている。したがって、Ｃｅｌｌ１〜Ｃｅｌｌ５の中から任意のセルを対象セル候補２に選択する。ここでは、Ｃｅｌｌ４が対象セル候補２に選択されるとする。
【０１４４】
対象セル候補１にはＣｅｌｌ１が選択され、対象セル候補２にはＣｅｌｌ４が選択されている。したがって、いずれか一方のセルが対象セルに選択される。たとえば、設計対象回路２００内のすべてのセルの遅延分布のμの平均値を算出し、算出された平均値と対象セル候補の遅延値のμとの差分の絶対値が大きい方のセルが対象セルに選択される。ただし、差分の絶対値が同一の場合、データパス上のセルが対象セルに選択されるとする。したがって、Ｃｅｌｌ１およびＣｅｌｌ４は、いずれもＢＵＦ１であるため、算出された平均値と対象セル候補との差分の絶対値は同一である。したがって、データパス２０２上のセルであるＣｅｌｌ１が選択される。
【０１４５】
これにより、クロックパスおよびデータパス上からホールドタイミングスラックに最も影響するセルを自動で選択することができる。したがって、ホールドタイミングスラックの特性を改善でき、同時にセットアップタイミングスラックおよび消費電力値を制約に遵守させることで部分回路の改善を図ることができる。
【０１４６】
つぎに、置換部５０４は、選択部５０３により選択された対象セルを、当該対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の標準偏差が最も小さいセルに置換する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、テーブル３００から対象セルのセルタイプを除くセルタイプから遅延値のσが最も小さい値のセルタイプを検索する。したがって、テーブル３００からＢＵＦ４が検索される。そして、たとえば、ＣＰＵ４０１が、対象セルのセルタイプを、検索されたセルタイプに置換する。なお、置換結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【０１４７】
置換結果を下記にセル名：セルタイプにて示す。
・Ｃｅｌｌ１：ＢＵＦ４
・Ｃｅｌｌ２：ＢＵＦ１
・Ｃｅｌｌ３：ＢＵＦ１
・Ｃｅｌｌ４：ＢＵＦ１
・Ｃｅｌｌ５：ＢＵＦ１
【０１４８】
そして、再度、算出部５０６によりパスの複数種類の特成分布が算出され、判断部５０７により算出された複数種類の特性分布がそれぞれの特性の規格値を遵守しているか否かが判断される。
【０１４９】
なお、算出方法は、上述したように式４と、式６と、式８に各セルの特性式を代入することで算出することができる。式４により算出されたホールドタイミングスラックの特性式をＸ２とし、式６により算出されたセットアップタイミングスラックの特性式をＹ２とし、式８により算出された消費電力値の特性式をＺ２とする。算出結果は下記のようになる。
【０１５０】
・Ｘ２＝２１２＋４．４×ａ１＋２．２×ａ２
・Ｙ２＝３１２＋６．４×ａ１＋３．２×ａ２
・Ｚ２＝６５７＋２．５×ｂ１＋５×ｂ２
【０１５１】
Ｘ２およびＹ２は特性分布の最速値である“μ−３σ”での値を、Ｚ２は特性分布の最大値である“μ＋３σ”での値を下記に示す。
・Ｘ２＝１９１．６
・Ｙ２＝２８３．２
・Ｚ２＝６７９．５
【０１５２】
Ｘ２、Ｙ２、Ｚ２は、判断部５０７によりそれぞれの規格値を遵守していると判断される。したがって、Ｃｅｌｌ１のセルタイプが置換されることで、置換後の設計対象回路２００に関する複数種類の特性分布がすべて規格値を遵守することができる。
【０１５３】
なお、出力部５１０は、実施の形態１の機能と同一機能であるため説明を省略する。
【０１５４】
そして、削除部５０８は、判断部５０７によりホールドタイミングに違反していると判断された場合、対象セルがクロックパス上のセルでありバッファであれば、対象セルを削除する機能を有する。
【０１５５】
具体的には、たとえば、ＣＰＵ４０１が、対象セルがクロックパス上のセルでありバッファであるか否かを判断する。そして、対象セルがクロックパス上のセルでありバッファであれば、設計対象回路２００内から対象セルを削除して、対象セルの入力に接続されている配線と出力に接続されている配線とを接続する。なお、削除結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【０１５６】
削除部５０８により対象セルが削除された後に、再度、算出部５０６により複数種類の特性情報が算出され、判断部５０７により複数種類の特性情報がそれぞれの規格値に違反しているか否かが判断される。
【０１５７】
つぎに、挿入部５０９は、判断部５０７によりホールドタイミングに違反していると判断された場合、対象セルがデータパス上のセルであれば、データパス上にあらたにバッファを挿入する機能を有する。
【０１５８】
具体的には、たとえば、ＣＰＵ４０１が、対象セルがデータパス上のセルであるか否かを判断する。そして、対象セルがデータパス上のセルであれば、あらたにバッファを挿入し、挿入されたバッファの入力と対象セルの出力とを接続する。そして、対象セルの出力先であるセルの入力と挿入したバッファの出力とを接続する。たとえば、挿入されるバッファは、複数のセルタイプの中から最も遅延値のμが小さいセルタイプとする。なお、挿入結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【０１５９】
挿入部５０９によりバッファが挿入された後に再度、算出部５０６および判断部５０７により複数種類の特性情報が算出され、複数種類の特性情報がそれぞれの規格値に違反しているか否かが判断される。
【０１６０】
実施の形態２では、ホールドタイミングの制約に違反している場合について説明した。つぎに、たとえば、検出部５０２によりセットアップタイミングの制約に違反しているデータパスおよびクロックパスが検出された場合の選択部５０３による対象セルの選択についてを下記に示す。
【０１６１】
セットアップタイミングの制約に違反している部分回路を構成するデータパスおよびクロックパスが検出された場合、選択部５０３は、クロックパス上のセルからセルのタイミングの特性分布の中央値が最小のセルを対象セルに選択する機能を有する。または、選択部５０３は、データパス上のセルからセルのタイミングの特性分布の中央値が最大のセルを対象セルに選択する機能を有する。
【０１６２】
具体的には、たとえば、ＣＰＵ４０１が、データパス２０２上のセルをすべて抽出する。そして、セルごとにセルタイプに基づいてテーブル３００からμを読み出す。つぎに、抽出したセルの中でμが最小のセルを対象セル候補１に選択する。
【０１６３】
そして、具体的には、たとえば、ＣＰＵ４０１が、クロックパス２０１上のセルをすべて抽出する。そして、セルごとにセルタイプに基づいてテーブル３００からμを読み出す。つぎに、抽出したセルの中でμが最大のセルを対象セル候補２に選択する。
【０１６４】
対象セル候補１または対象セル候補２のうち、いずれか一方のセルが対象セルに選択される。たとえば、設計対象回路２００内のすべてのセルの遅延分布のμの中央値を算出し、算出された中央値と対象セル候補の遅延値のμとの差分の絶対値が大きい方のセルが対象セルに選択される。ただし、差分の絶対値が対象候補セル１および対象候補セル２で同一の場合、データパス上のセルである対象候補セル１が対象セルに選択されるとする。なお、選択結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。そして、置換部５０４、判断部５０７、出力部５１０の機能は、ホールドタイミングの例と同一であるため説明を省略する。
【０１６５】
これにより、クロックパスおよびデータパス上からセットアップタイミングスラックに最も影響するセルを自動で選択することができる。したがって、セットアップタイミングスラックの特性を改善でき、同時にホールドタイミングスラックおよび消費電力値を制約に遵守させることで部分回路の改善を図ることができる。
【０１６６】
そして、削除部５０８は、判断部５０７によりセットアップタイミングの制約に違反していると判断された場合、対象セルがデータパス上のセルでありかつバッファであれば、対象セルを削除する機能を有する。
【０１６７】
具体的には、たとえば、ＣＰＵ４０１が、対象セルがデータパス上のセルでありバッファであるか否かを判断する。そして、対象セルがクロックパス上のセルでありバッファであれば、設計対象回路２００内から対象セルを削除して、対象セルの入力に接続されている配線と出力に接続されている配線とを接続する。なお、削除結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【０１６８】
つぎに、挿入部５０９は、判断部５０７によりセットアップタイミングに違反していると判断された場合、対象セルがクロックパス上のセルであれば、クロックパス上にあらたにバッファを挿入する機能を有する。
【０１６９】
具体的には、たとえば、ＣＰＵ４０１が、対象セルがクロックパス上のセルであるか否かを判断する。そして、対象セルがクロックパス上のセルであれば、あらたにバッファを挿入し当該バッファの入力と対象セルの出力とを接続する。そして、対象セルの出力先であるセルの入力と挿入したバッファの出力とを接続する。なお、挿入結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【０１７０】
また、消費電力値の制約に違反しているパスが検出された場合、選択部５０３は、パス上の任意のセルを選択する。よって、選択部５０３は、セットアップタイミングの制約に違反しているパスが検出された場合のように対象セルを選択しても、ホールドタイミングの制約に違反しているパスが検出された場合のように対象セルを選択してもよい。なお、選択結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。そして、置換部５０４、判断部５０７、削除部５０８、出力部５１０の機能は、セットアップタイミングの例と同一であるため説明を省略する。
【０１７１】
実施の形態２では、設計対象回路内から選択された対象セルのセルタイプが、遅延値の特性分布のσに基づいて置換される。これにより、セルの置換により設計対象回路の複数種類の特性情報から異なる種類間の相関の有無にかかわらず制約に違反している特性情報を特定できる。
【０１７２】
したがって、複数種類の特性情報からどの種類の特性が違反しているかを容易に検出でき、それぞれの特性を改善することができる。さらに、セルの遅延値のσに基づいて置換することで、ホールドタイミングスラックおよびセットアップタイミングスラックの特性にばらつきが生じることを低減させると同時に消費電力値の特性分布が規格値を遵守することができる。したがって、タイミングの特性にばらつきが少なくなるように部分回路を最適化し、部分回路の改善を図ることができる。
【０１７３】
（実施の形態２にかかる設計支援装置５００の設計支援処理手順）
図８は、実施の形態２にかかる設計支援装置５００の設計支援処理手順を示すフローチャートである。ここで説明する設計支援処理手順では、セットアップタイミングの特性分布、ホールドタイミングの特性分布、消費電力値の特性分布がそれぞれの特性の規格値を遵守していると判断された場合に終了するとする。そして、処理の対象となるパスは、任意のパスである。
【０１７４】
まず、設定部５０１により、設定処理を実行し（ステップＳ８０１）、Ｆｌａｇ１＝０とする（ステップＳ８０２）。Ｆｌａｇ１は、部分回路がホールドタイミングの制約に違反しているか、またはセットアップタイミングの制約に違反しているかを示すフラグである。つぎに、算出部５０６により、ホールドタイムの特性分布を算出し（ステップＳ８０３）、判断部５０７により、ホールドタイムの規格値を遵守しているか否かを判断する（ステップＳ８０４）。
【０１７５】
ホールドタイムの規格値を遵守していないと判断された場合（ステップＳ８０４：Ｎｏ）、Ｆｌａｇ１＝１とし（ステップＳ８０５）、置換処理１を実行し（ステップＳ８０６）、ステップＳ８０３へ戻る。
【０１７６】
一方、ホールドタイムの規格値を遵守していると判断された場合（ステップＳ８０４：Ｙｅｓ）、セットアップタイムの特性分布を算出し（ステップＳ８０７）、判断部５０７により、セットアップタイムの規格値を遵守しているか否かを判断する（ステップＳ８０８）。
【０１７７】
セットアップタイムの規格値を遵守していないと判断された場合（ステップＳ８０８：Ｎｏ）、Ｆｌａｇ１＝２（ステップＳ８０９）、置換処理２を実行し（ステップＳ８１０）、ステップＳ８０７へ戻る。
【０１７８】
一方、セットアップタイムの規格値を遵守していると判断された場合（ステップＳ８０８：Ｙｅｓ）、消費電力値の特性分布を算出し（ステップＳ８１１）、消費電力値の規格値を遵守しているか否かを判断する（ステップＳ８１２）。
【０１７９】
消費電力値の規格値を遵守していないと判断された場合（ステップＳ８１２：Ｎｏ）、置換処理３を実行し（ステップＳ８１３）、ステップＳ８１１へ戻る。
【０１８０】
一方、消費電力値の規格値を遵守していると判断された場合（ステップＳ８１２：Ｙｅｓ）、出力部５１０により、それぞれの規格値を遵守していることを出力し（ステップＳ８１４）、一連の処理を終了する。
【０１８１】
つぎに、図９は、図８に示した設定処理（ステップＳ８０１）の詳細な処理手順を示すフローチャートである。まず、部分回路を構成するデータパスおよびデータパスに対応するクロックパス上のセルの中で未選択のセルがあるか否かを判断する（ステップＳ９０１）。そして、未選択のセルがあると判断された場合（ステップＳ９０１：Ｙｅｓ）、未選択のセルから１つのセルを選択する（ステップＳ９０２）。つぎに、特性の異なる複数のセルタイプから遅延値の特性分布のσが最小のセルタイプを検索し（ステップＳ９０３）、複数検索されたか否かを判断する（ステップＳ９０４）。
【０１８２】
まず、複数検索されなかったと判断された場合（ステップＳ９０４：Ｎｏ）、置換部５０４により、選択されたセルのセルタイプを検索されたセルタイプに設定し（ステップＳ９０５）、ステップＳ９０１へ戻る。これにより、部分回路を構成するデータパスおよびデータパスに対応するクロックパス上の各セルが、遅延値のばらつきが少ないセルタイプに自動で設定され、タイミングの特性にばらつきが生じるのを防止することができる。
【０１８３】
一方、複数検索されたと判断された場合（ステップＳ９０４：Ｙｅｓ）、選択されたセルがクロックパス上のセルか否かを判断する（ステップＳ９０６）。クロックパス上のセルの場合（ステップＳ９０６：Ｙｅｓ）、置換部５０４により、選択されたセルのセルタイプを、検索されたセルから遅延値のμが最大のセルタイプに設定し（ステップＳ９０７）、ステップＳ９０１へ戻る。
【０１８４】
一方、選択されたセルがクロックパス上のセルでない場合（ステップＳ９０６：Ｎｏ）、置換部５０４により、選択されたセルのセルタイプを、検索されたセルから遅延値のμが最小のセルタイプに設定し（ステップＳ９０８）、ステップＳ９０１へ戻る。一方、未選択のセルがないと判断された場合（ステップＳ９０１：Ｎｏ）、ステップＳ８０２へ移行する。
【０１８５】
図１０は、図８に示した置換処理１（ステップＳ８０６）の詳細な処理手順を示すフローチャートである。まず、選択処理を実行し（ステップＳ１００１）、決定処理を実行する（ステップＳ１００２）。つぎに、対象セルのセルタイプを除いて遅延値のσが最小のセルタイプを検索し（ステップＳ１００３）、検索されたか否かを判断する（ステップＳ１００４）。検索された場合（ステップＳ１００４：Ｙｅｓ）、対象セルのセルタイプを検索されたセルタイプに置換し（ステップＳ１００５）、ステップＳ８０３へ戻る。
【０１８６】
一方、検索されなかった場合（ステップＳ１００４：Ｎｏ）、対象セルはデータパス上のセルであるか否かを判断する（ステップＳ１００６）。対象セルはデータパス上のセルであると判断された場合（ステップＳ１００６：Ｙｅｓ）、挿入部５０９により、遅延値のσが最小であるバッファを追加し（ステップＳ１００７）、ステップＳ８０３へ戻る。これにより、データパスの遅延量が増加し、ホールドタイミングの違反を防止することができる。
【０１８７】
一方、対象セルはデータパス上のセルでないと判断された場合（ステップＳ１００６：Ｎｏ）、対象セルはバッファか否かを判断する（ステップＳ１００８）。対象セルはバッファであると判断された場合（ステップＳ１００８：Ｙｅｓ）、削除部５０８により、対象セルを削除し（ステップＳ１００９）、ステップＳ８０３へ戻る。これにより、クロックパスの遅延が減少し、ホールドタイミングの違反を防止することができる。
【０１８８】
一方、対象セルはバッファでないと判断された場合（ステップＳ１００８：Ｎｏ）、対象セルを選択済リストに登録し（ステップＳ１０１０）、ステップＳ１００１へ戻る。
【０１８９】
図１１および図１２は、図８に示した置換処理２（ステップＳ８１０）の詳細な処理手順を示すフローチャートである。まず、図１１において選択処理を実行し（ステップＳ１１０１）、決定処理を実行する（ステップＳ１１０２）。つぎに、対象セルのセルタイプを除いて遅延値の特性分布のσが最小のセルタイプを検索し（ステップＳ１１０３）、検索されたか否かを判断する（ステップＳ１１０４）。検索された場合（ステップＳ１１０４：Ｙｅｓ）、ｉ＝１とし（ステップＳ１１０５）、置換部５０４により、対象セルのセルタイプを置換し（ステップＳ１１０６）、ステップＳ１１１３へ移行する（図１２内のステップ）。ここでのｉは、セルのセルタイプを置換することを示している。
【０１９０】
一方、検索されなかった場合（ステップＳ１１０４：Ｎｏ）、対象セルはクロックパス上のセルか否かを判断する（ステップＳ１１０７）。クロックパス上のセルの場合（ステップＳ１１０７：Ｙｅｓ）、ｉ＝２とし（ステップＳ１１０８）、挿入部５０９により、遅延値の特性分布のσが最小であるバッファを追加し（ステップＳ１１０９）、ステップＳ１１１３へ移行する（図１２内のステップ）。これにより、クロックパスの遅延を増加させ、セットアップタイミングの違反を防止することができる。なお、ここで、ｉは、バッファを追加することを示している。
【０１９１】
一方、クロックパス上のセルでない場合（ステップＳ１１０７：Ｎｏ）、対象セルはバッファであるか否かを判断する（ステップＳ１１１０）。対象セルはバッファであると判断された場合（ステップＳ１１１０：Ｙｅｓ）、ｉ＝３とし（ステップＳ１１１１）、削除部５０８により、対象セルを削除し（ステップＳ１１１２）、ステップＳ１１１３へ移行する（図１２内のステップ）。これにより、データパスの遅延を減少させ、セットアップタイミングの違反を防止することができる。なお、ここで、ｉは、対象セルを削除することを示している。
【０１９２】
一方、対象セルはバッファでないと判断された場合（ステップＳ１１１０：Ｎｏ）、対象セルを置換済リストに登録し（ステップＳ１１２０）、ステップＳ１１０１へ戻る。
【０１９３】
つぎに、図１２に移って、上述したステップＳ１１０６、ステップＳ１１０９、またはステップＳ１１１２の処理のつぎに、算出部５０６により、ホールドタイムの特性分布を算出する（ステップＳ１１１３）。そして、ホールドタイムの規格値を遵守しているか否かを判断する（ステップＳ１１１４）。ホールドタイムの規格値を遵守していると判断された場合（ステップＳ１１１４：Ｙｅｓ）、ステップＳ８０７へ戻る。
【０１９４】
一方、ホールドタイムの規格値を遵守していないと判断された場合（ステップＳ１１１４：Ｎｏ）、ｉが１か否か判断する（ステップＳ１１１５）。ｉが１の場合（ステップＳ１１１５：Ｙｅｓ）、置換前のセルタイプに戻し（ステップＳ１１１６）、ステップＳ１１０７へ戻る（図１１内のステップ）。
【０１９５】
一方、ｉが１でない場合（ステップＳ１１１５：Ｎｏ）、ｉが２か否か判断する（ステップＳ１１１７）。ｉが２の場合（ステップＳ１１１７：Ｙｅｓ）、追加前に戻し（ステップＳ１１１８）、ステップＳ１１２０へ移行する（図１１内のステップ）。一方、ｉが２でない場合（ステップＳ１１１７：Ｎｏ）、削除前に戻し（ステップＳ１１１９）、ステップＳ１１２０へ移行する（図１１内のステップ）。
【０１９６】
つぎに、図１３および図１４は、図８に示した置換処理３（ステップＳ８１３）の詳細な処理手順を示すフローチャートである。まず、選択処理を実行し（ステップＳ１３０１）、決定処理を実行し（ステップＳ１３０２）、消費電力値のμおよびσが対象セルのセルタイプより小さいセルタイプを検索する（ステップＳ１３０３）。つぎに、検索されたか否かを判断し（ステップＳ１３０４）、検索されなかったと判断された場合（ステップＳ１３０４：Ｎｏ）、消費電力値のμが対象セルのセルタイプよりも小さいセルタイプを検索する（ステップＳ１３０５）。そして、検索されたか否かを判断する（ステップＳ１３０６）。
【０１９７】
ステップＳ１３０４またはステップＳ１３０６において、検索されたと判断された場合（ステップＳ１３０４：Ｙｅｓ、ステップＳ１３０６：Ｙｅｓ）、検索されたセルタイプから遅延値の特性分布のσが最小のセルタイプを選択する（ステップＳ１３０７）。つぎに、ｉ＝１とし（ステップＳ１３０８）、置換部５０４により、対象セルのセルタイプを置換し（ステップＳ１３０９）、ステップＳ１３１３へ移行する（図１４内のステップ）。
【０１９８】
一方、検索されなかったと判断された場合（ステップＳ１３０６：Ｎｏ）、対象セルはバッファか否かを判断する（ステップＳ１３１０）。そして、対象セルはバッファであると判断された場合（ステップＳ１３１０：Ｙｅｓ）、ｉ＝３とし（ステップＳ１３１１）、削除部５０８により、対象セルを削除し（ステップＳ１３１２）、ステップＳ１３１３へ移行する（図１４内のステップ）。一方、対象セルはバッファでないと判断された場合（ステップＳ１３１０：Ｎｏ）、対象セルを置換済リストに登録し（ステップＳ１３２０）、ステップＳ１３０１へ戻る。
【０１９９】
つぎに、図１４に移って、上述したステップＳ１３０９またはステップＳ１３１２の処理のつぎに、算出部５０６により、ホールドタイムの特性分布を算出し（ステップＳ１３１３）、ホールドタイムの規格値を遵守しているか否かを判断する（ステップＳ１３１４）。ホールドタイムの規格値を遵守していると判断された場合（ステップＳ１３１４：Ｙｅｓ）、算出部５０６により、セットアップタイムの特性分布を算出し（ステップＳ１３１５）、セットアップタイムの規格値を遵守しているか否かを判断する（ステップＳ１３１６）。
【０２００】
ホールドタイムの規格値を遵守していないと判断された場合（ステップＳ１３１４：Ｎｏ）、または、セットアップタイムの規格値を遵守していないと判断された場合（ステップＳ１３１６：Ｎｏ）、ｉが１か否かを判断する（ステップＳ１３１７）。ｉが１であると判断された場合（ステップＳ１３１７：Ｙｅｓ）、置換前のセルタイプに戻し（ステップＳ１３１８）、ステップＳ１３１０へ戻る（図１３内のステップ）。一方、ｉが１でないと判断された場合（ステップＳ１３１７：Ｎｏ）、削除前に戻し（ステップＳ１３１９）、ステップＳ１３２０へ移行する（図１３内のステップ）。一方、セットアップタイムの規格値を遵守していると判断された場合（ステップＳ１３１６：Ｙｅｓ）、ステップＳ８１１へ戻る。
【０２０１】
つぎに、図１０、図１１、図１３にて示した選択処理（ステップＳ１００１、ステップＳ１１０１、ステップＳ１３０１）について説明する。図１５は、選択処理の詳細な処理手順について示すフローチャートである。まず、ｆｌａｇ１が０であるか否かを判断する（ステップＳ１５０１）。ｆｌａｇ１が０であると判断された場合（ステップＳ１５０１：Ｙｅｓ）、消費電力値のμが最大のセルを対象セル候補１に選択し（ステップＳ１５０２）、ステップＳ１００２（ステップＳ１１０２、ステップＳ１３０２）へ移行する。
【０２０２】
一方、ｆｌａｇ１が０でないと判断された場合（ステップＳ１５０１：Ｎｏ）、遅延値の特性分布のμの平均値を算出し（ステップＳ１５０３）、データパス上であり、決定済リストに含まれていないセルを検出する（ステップＳ１５０４）。そして、ｆｌａｇ１が１であるか否かを判断し（ステップＳ１５０５）、ｆｌａｇ１が１である場合（ステップＳ１５０５：Ｙｅｓ）、選択部５０３により、遅延値のμが最小のセルを対象セル候補１に選択する（ステップＳ１５０６）。
【０２０３】
一方、ｆｌａｇ１が１でない場合（ステップＳ１５０５：Ｎｏ）、選択部５０３により、遅延値のμが最大のセルを対象セル候補１に選択する（ステップＳ１５０７）。そして、ステップＳ１５０６またはステップＳ１５０７のつぎに、クロックパス上であり、決定済リストに含まれていないセルを検出する（ステップＳ１５０８）。そして、ｆｌａｇ１が１であるか否かを判断し（ステップＳ１５０９）、ｆｌａｇ１が１である場合（ステップＳ１５０９：Ｙｅｓ）、選択部５０３により、遅延値のμが最大のセルを対象セル候補２に選択する（ステップＳ１５１０）。
【０２０４】
一方、ｆｌａｇ１が１でない場合（ステップＳ１５０９：Ｎｏ）、選択部５０３により、遅延値のμが最小のセルを対象セル候補２に選択する（ステップＳ１５１１）。そして、ステップＳ１５１０またはステップＳ１５１１のつぎに、ステップＳ１００２（ステップＳ１１０２、ステップＳ１３０２）へ移行する。
【０２０５】
つぎに、図１０、図１１、図１３にて示した決定処理（ステップＳ１００２、ステップＳ１１０２、ステップＳ１３０２）について説明する。図１６は、決定処理の詳細な処理手順を示すフローチャートである。まず、対象セル候補１または２が選択されたか否かを判断し（ステップＳ１６０１）、選択されたと判断された場合（ステップＳ１６０１：Ｙｅｓ）、対象セル候補１が選択されたか否かを判断する（ステップＳ１６０２）。対象セル候補１が選択されたと判断された場合（ステップＳ１６０２：Ｙｅｓ）、対象セル候補２が選択されたか否かを判断する（ステップＳ１６０４）。対象セル候補２が選択されたと判断された場合（ステップＳ１６０４：Ｙｅｓ）、Ｎ＝｜パスに含まれるセルの遅延値のμの平均値−対象セル候補１の遅延値のμ｜を算出する（ステップＳ１６０５）。
【０２０６】
そして、Ｍ＝｜遅延値のμの平均値−対象セル候補２の遅延値のμ｜を算出し（ステップＳ１６０６）、Ｎ≧Ｍであるか否かを判断する（ステップＳ１６０７）。Ｎ≧Ｍでない場合（ステップＳ１６０７：Ｎｏ）、または対象セル候補１が選択されなかったと判断された場合（ステップＳ１６０２：Ｎｏ）、選択部５０３により、対象セル候補２を対象セルに選択する（ステップＳ１６０９）。
【０２０７】
一方、Ｎ≧Ｍの場合（ステップＳ１６０７：Ｙｅｓ）、または対象セル候補２が選択されなかったと判断された場合（ステップＳ１６０４：Ｎｏ）、選択部５０３により、対象セル候補１を対象セルに選択する（ステップＳ１６０８）。そして、ステップＳ１６０８のつぎに、ステップＳ１００３（ステップＳ１１０３、ステップＳ１３０３）へ移行する。
【０２０８】
一方、対象候補セル１または２が選択されなかったと判断された場合（ステップＳ１６０１：Ｎｏ）、出力部５１０により、置換不可であることを出力し（ステップＳ１６０３）、一連の処理を終了する。
【０２０９】
（実施の形態３）
つぎに、実施の形態３について説明する。実施の形態３では、遅延値のμに基づいて各セルのセルタイプが設定され、設計対象回路内から選択された対象セルが、遅延値のμに基づいて置換される。これにより、セルの置換により設計対象回路の複数種類の特性情報から異なる種類間の相関の有無にかかわらず制約に違反している特性情報を特定できる。
【０２１０】
したがって、複数種類の特性情報からどの種類の特性が違反しているかを容易に検出でき、それぞれの特性を改善することができる。さらに、セルの遅延値のμに基づいて置換することで、タイミング特性が向上するように最適化することができる。そして、実施の形態１または２で説明した構成と同一構成については同一符号を付して説明を省略し、実施の形態１または２で説明した処理と同一の処理についても説明を省略する。なお、実施の形態３では、複数種類の特性のそれぞれの規格値を実施の形態１で示した値と同一の値を用いて説明する。
【０２１１】
まず、設定部５０１は、設計対象回路の回路情報内の各セルを、特性の異なる複数のセルから遅延値の特性分布のμが最も小さい値であるセルに設定する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、記憶装置にアクセスして設計対象回路２００内のセルを順次選択する。そして、記憶装置にアクセスしてテーブル３００から遅延値の特性分布のμが最も小さいセルタイプを検索する。そして、選択されたセルのセルタイプを、検索されたセルタイプに設定する。なお、設定結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。これにより、遅延値が少ないデータパスおよびデータパスに対応するクロックパスを構築することができる。
【０２１２】
設定結果をセル名：セルタイプで下記に示す。
・Ｃｅｌｌ１：ＢＵＦ１
・Ｃｅｌｌ２：ＢＵＦ１
・Ｃｅｌｌ３：ＢＵＦ１
・Ｃｅｌｌ４：ＢＵＦ１
・Ｃｅｌｌ５：ＢＵＦ１
【０２１３】
つぎに、算出部５０６は、設定部５０１によりセルタイプが設定された後の複数種類の特性分布を算出する。なお、算出部５０６は、実施の形態１で説明した機能と同一機能であるため詳細な説明を省略する。さらに判断部５０７は、複数種類の特性分布が、それぞれの特性の規格値を遵守しているか否かを判断する。なお、判断部５０７は、実施の形態１で説明した機能と同一機能であるため詳細な説明を省略する。
【０２１４】
実施の形態２で示した設定結果の一例と同一であるため、設定後のパスの複数種類の特性分布に関する説明を省略する。したがって、ホールドタイミングスラックの特性分布がホールドタイミングの規格値に違反している。
【０２１５】
つぎに、検出部５０２は、ホールドタイミングに違反しているパスを検出する機能を有する。実施の形態２で説明した機能と同一機能であるため説明を省略する。よって、設計対象回路２００からクロックパス２０１とデータパス２０２が検出される。
【０２１６】
つぎに、選択部５０３は、検出部５０２により検出されたホールドタイミング違反であるクロックパス上のセルから遅延値の特性分布の中央値が最大のセルを対象セルに選択する機能を有する。または、データパス上のセルから遅延値の特性分布の中央値が最小のセルを対象セルに選択する機能を有する。選択部５０３は、実施の形態２で説明した機能と同一機能であるため説明を省略する。したがって、選択部５０３によりデータパス２０２上からＣｅｌｌ１が対象セル候補１に選択され、クロックパス２０１上からＣｅｌｌ４が対象セル候補２に選択される。
【０２１７】
データパス２０２上の対象セル候補１とクロックパス２０１上の対象セル候補２のいずれか一方のセルが、対象セルに選択される。選択基準として、実施の形態２で説明した基準と同一とする。したがって、Ｃｅｌｌ１およびＣｅｌｌ４は、いずれもＢＵＦ１であるため、データパス２０２上のセルであるため、Ｃｅｌｌ１が選択される。
【０２１８】
つぎに、置換部５０４は、選択部５０３により選択された対象セルが前記クロックパス上のセルの場合、対象セルを、当該対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が最も大きい値であるセルに置換する機能を有する。または、置換部５０４は、選択部５０３により選択された対象セルがデータパス上のセルの場合、対象セルを、当該対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が最も小さい値であるセルに置換する機能を有する。これにより、Ｃｅｌｌ１のセルタイプがＢＵＦ１からＢＵＦ２に置換される。
【０２１９】
置換後の各セルのセルタイプを下記に示す。
・Ｃｅｌｌ１：ＢＵＦ２
・Ｃｅｌｌ２：ＢＵＦ１
・Ｃｅｌｌ３：ＢＵＦ１
・Ｃｅｌｌ４：ＢＵＦ１
・Ｃｅｌｌ５：ＢＵＦ１
【０２２０】
これにより、対象セルをホールドタイミングの特性を改善することができるセルに自動で置換でき、複数種類の特性が同時に制約を遵守させることで部分回路の改善を図ることができる。なお、上述した置換部５０４の機能はホールドタイミングに違反している場合の機能であるため、セットアップタイミングに違反している場合の置換部５０４の機能は後述する。
【０２２１】
つぎに、算出部５０６は、置換部５０４により置換後の各セルの遅延値の特性分布に基づいてホールドタイミングスラックの特性分布およびセットアップタイミングスラックの特性分布を算出する機能を有する。さらに、算出部５０６は、置換部５０４により置換後の各セルの消費電力値の特性分布に基づいて消費電力値の特性分布を算出する機能を有する。なお、算出部５０６は、実施の形態１で説明した機能と同一機能であるため詳細な説明を省略する。
【０２２２】
置換後のデータパス２０２およびクロックパス２０１に基づいて、算出されたホールドタイミングスラックの特性式をＸ３に、セットアップタイミングの特性式をＹ３に、消費電力値の特性式をＺ３に示す。
・Ｘ３＝２０４＋３．８×ａ１＋２．４×ａ２
・Ｙ３＝３０４＋５．８×ａ１＋３．４×ａ２
・Ｚ３＝６５７＋３．４×ｂ１＋６．８×ｂ２
【０２２３】
そして、ホールドタイミングスラックの特性式の“μ−３σ”での値と、セットアップタイミングスラックの特性式の“μ−３σ”での値と、消費電力値の特性式の“μ＋３σ”での値を下記に示す。
・Ｘ３＝１８５．４
・Ｙ３＝２７６．４
・Ｚ３＝６８７．６
【０２２４】
つぎに、判断部５０７は、実施の形態１および２で説明した機能と同一機能であるため説明を省略する。Ｘ３がＤｈｄ＿ｓｔＨ以上であるためホールドタイミングスラックの特性分布は、ホールドタイミングの規格値を遵守していると判断される。そして、Ｙ３がＤｓｕ＿ｓｔ以上であるためセットアップタイミングスラックの特性分布は、セットアップタイミングの規格値を遵守していると判断される。さらに、Ｚ３がＰ＿ｓｔ以下であるため、消費電力値の特性分布は、消費電力値の規格値を遵守していると判断される。
【０２２５】
そして、出力部５１０は、実施の形態１および２で説明した機能と同一機能であるため説明を省略する。
【０２２６】
つぎに、セットアップタイミングの制約に違反している場合の置換部５０４の機能について説明する。セットアップタイミングの制約に違反しているときには、置換部５０４は、対象セルがクロックパス上のセルの場合、対象セルを、当該対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が最も小さい値であるセルに置換する機能を有する。
【０２２７】
これにより、セットアップタイミングの特性を改善することができるセルに自動で置換でき、複数種類の特性に制約を遵守させることで部分回路の改善を図ることができる。
【０２２８】
または、置換部５０４は、選択部５０３により選択された対象セルがデータパス上のセルの場合、対象セルを、当該対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が最も大きい値であるセルに置換する機能を有する。なお、実施の形態３では、ホールドタイミングに違反している場合の例により説明しているため、セットアップタイミングに違反している場合の例を省略する。
【０２２９】
これにより、セットアップタイミングの特性を改善することができるセルに自動で置換でき、複数種類の特性に制約を遵守させることで部分回路の改善を図ることができる。
【０２３０】
実施の形態３では、実施の形態２にて説明した処理と設定部５０１および置換部５０４に違いがあるが、その他の処理に関しては同一であるためフローチャートを用いての設計支援処理手順の説明を省略する。
【０２３１】
（実施の形態４）
実施の形態４では、対象セルのセルタイプが、複数のセルタイプから消費電力値の特性分布のμに基づいて決定される例を示す。特にホールドタイミングの規格値に違反している例を用いて説明する。
【０２３２】
まず、実施の形態４では、ホールドタイミングの規格値（Ｄｈｄ＿ｓｔ）とセットアップタイミングの規格値（Ｄｓｕ＿ｓｔ）と消費電力値の規格値（Ｐ＿ｓｔ）の一例としてそれぞれ下記に示す。
・Ｄｈｄ＿ｓｔ：２８５
・Ｄｓｕ＿ｓｔ：２５０
・Ｐ＿ｓｔ：７５０
【０２３３】
まず、設定部５０１は、各セルのセルタイプを、消費電力値の特性分布のμが最小であるセルタイプに設定する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、設計対象回路２００内のセルを順次選択し、テーブル３００から選択されたセルと同一機能であり、消費電力値の特性分布のμが最小であるセルタイプを検索する。そして、選択されたセルのセルタイプを、検索されたセルタイプに設定する。なお、設定結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【０２３４】
設定結果をセル名：セルタイプで下記に示す。
・Ｃｅｌｌ１：ＢＵＦ４
・Ｃｅｌｌ２：ＢＵＦ４
・Ｃｅｌｌ３：ＢＵＦ４
・Ｃｅｌｌ４：ＢＵＦ４
・Ｃｅｌｌ５：ＢＵＦ４
【０２３５】
これにより、各セルを、消費電力値のμが最小であるセルタイプに設定することで、消費電力値を低減することができる。
【０２３６】
算出部５０６は、設定部５０１により設定されたセルタイプの遅延値の特性分布に基づいてホールドタイミングスラックの特性分布およびセットアップタイミングスラックの特性分布を算出する機能を有する。さらに、算出部５０６は、設定されたセルタイプの消費電力値の特性分布に基づいて消費電力値の特性分布を算出する機能を有する。なお、算出部５０６は、実施の形態１〜３で説明した機能と同一機能であるため詳細な説明を省略する。
【０２３７】
設定後のデータパス２０２およびクロックパス２０１に基づいて算出されたホールドタイミングスラックの特性分布をＸ４に示し、セットアップタイミングスラックの特性分布をＹ４に示し、消費電力値の特性分布をＺ４に示す。
【０２３８】
・Ｘ４＝３２０＋８×ａ１＋４×ａ２
・Ｙ４＝４８０＋１２×ａ１＋６×ａ２
・Ｚ４＝５２５＋２．５×ｂ１＋５×ｂ２
【０２３９】
Ｘ４およびＹ４は“μ−３”での値を、Ｚ４は“μ＋３”での値を下記に示す。
・Ｘ４＝２８４
・Ｙ４＝４２６
・Ｚ４＝５４７．５
【０２４０】
そして、検出部５０２は、Ｘ４がＤｈｄ＿ｓｔ以下であるためホールドタイミングの制約に違反しているため設計対象回路２００を構成するデータパス２０２およびクロックパス２０１を検出する。なお、検出部５０２は、実施の形態２で説明した機能と同一機能であるため詳細な説明を省略する。
【０２４１】
つぎに、選択部５０３は、実施の形態２で説明した処理と同一処理であるため説明を省略する。なお、データパス２０２上のＣｅｌｌ１が対象セル候補１に、クロックパス２０１上のＣｅｌｌ４が対象セル候補２に選択される。そして、実施の形態２で説明したように対象セル候補１または２のいずれか一方のセルを選択する。したがって、対象セル候補１が対象セルに選択される。
【０２４２】
つぎに、置換部５０４は、選択部５０３により選択された対象セルがクロックパス上のセルの場合、対象セルを、当該対象セルと同機能で特性の異なるセルの中から遅延値のμが対象セルの遅延値のμより小さいセルに置換する機能を有する。または、置換部５０４は、選択部５０３により選択された対象セルがデータパス上のセルの場合、対象セルを、当該対象セルと同機能で特性の異なるセルの中から遅延値のμが対象セルの遅延値のμより大きいセルに置換する機能を有する。
【０２４３】
具体的には、たとえば、ＣＰＵ４０１が、テーブル３００から対象セルのセルタイプの遅延値のμを取得する。そして、対象セルがクロックパス上のセルの場合、遅延値のμが対象セルの遅延値のμよりも小さいセルタイプをテーブル３００から検索する。または、対象セルがデータパス上のセルの場合、遅延値のμが対象セルの遅延値のμよりも大きいセルタイプをテーブル３００から検索する。そして、対象セルのセルタイプを、検索されたセルタイプの中から任意のセルタイプに置換する。
【０２４４】
なお、置換結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。そして、ここで説明した置換部５０４の機能は、ホールドタイミング違反の場合の機能であるため、セットアップタイミング違反の場合の機能に関しては後述する。
【０２４５】
また、置換部５０４は、選択部５０３により選択された対象セルがクロックパス上のセルの場合、対象セルを、当該対象セルと同機能で特性の異なるセルの中から消費電力値のμが最も小さい値であるセルに置換する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、テーブル３００から対象セルのセルタイプを除くセルタイプから消費電力値のμが最も小さい値のセルタイプを検索する。したがって、テーブル３００からＢＵＦ４が検索される。そして、たとえば、ＣＰＵ４０１が、対象セルのセルタイプを、検索されたセルタイプに置換する。なお、置換結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【０２４６】
たとえば、対象セルは、データパス上のＣｅｌｌ１である。Ｃｅｌｌ１は、ＢＵＦ４であるため、テーブル３００からＢＵＦ４の遅延値３０２のμが読み出される。ＢＵＦ４の遅延値３０２のμは、１１０である。そして、遅延値３０２のμが対象セルの遅延値３０２のμよりも大きいセルタイプ３０１をテーブル３００から検索する。したがって、ＢＵＦ３が検索される。よって、Ｃｅｌｌ１のセルタイプが、ＢＵＦ４からＢＵＦ３に置換される。たとえば、遅延値３０２のμが対象セルの遅延値３０２のμよりも大きいセルタイプ３０１がテーブル３００から複数検索された場合、対象セルを、消費電力値３０３のμが最も小さい値のセルタイプ３０１に置換することとしてもよい。
【０２４７】
これにより、消費電力値を最も低減させることができるセルに自動で置換することで消費電力値の特性を最適化すると同時にセットアップタイミングスラックおよびホールドタイミングスラックが規格値を遵守することができる。したがって消費電力値が低減するように部分回路を最適化し、部分回路の改善を図ることができる。
【０２４８】
そして、算出部５０６は、実施の形態１〜３で説明した機能と同一の機能であるため詳細な説明を省略する。
【０２４９】
ホールドタイミングスラックの特性式をＸ５に示し、セットアップタイミングスラックの特性式をＹ５に示し、消費電力値の特性式をＺ５に示す。
【０２５０】
・Ｘ５＝３２２＋７．８×ａ１＋４×ａ２
・Ｙ５＝４８２＋１３×ａ１＋７．２×ａ２
・Ｚ５＝５２８＋２．８×ａ１＋４．７×ａ２
【０２５１】
Ｘ５およびＹ５は“μ−３σ”での値を、Ｚ５は“μ＋３σ”での値を下記に示す。
・Ｘ５＝２８６．６
・Ｙ５＝４２１．４
・Ｚ５＝５５０．５
【０２５２】
つぎに、判断部５０７は、実施の形態１〜３で説明した機能と同一の機能であるため詳細な説明を省略する。“μ−３σ”でのＸ５がＤｈｄ＿ｓｔ以上であるためホールドタイミングスラックの特性分布はホールドタイミングの制約を遵守している。“μ−３”でのＹ５はＤｓｕ＿ｓｔ以上であるためセットアップタイミングスラックの特性分布はセットアップタイミングの制約を遵守している。“μ＋３σ”でのＺ５はＰ＿ｓｔ以下であるため消費電力値の特性分布は消費電力値の制約を遵守している。したがって、複数種類の特性分布がそれぞれの規格値を遵守しているため処理を終了する。
【０２５３】
たとえば、実施の形態４では、消費電力値の特性分布の“μ＋３σ”での値が実施の形態３に比べて小さい値であるため、消費電力値の規格値に対して余裕であることが分かる。したがって、セルの消費電力値の特性に基づいて各セルのセルタイプを決定することで、複数種類の特性がそれぞれの規格値を遵守し、特に消費電力値の特性を重視して最適化することができる。
【０２５４】
つぎに、出力部５１０は、実施の形態１〜３で説明した機能と同一の機能であるため詳細な説明を省略する。
【０２５５】
つぎに、セットアップタイミング違反の場合について説明する。置換部５０４は、選択部５０３により選択された対象セルがクロックパス上のセルの場合、対象セルを、当該対象セルと同機能で特性の異なるセルの中から遅延値のμが対象セルの遅延値のμより大きいセルに置換する機能を有する。または、置換部５０４は、選択部５０３により選択された対象セルがデータパス上のセルの場合、対象セルを、当該対象セルと同機能で特性の異なるセルの中から遅延値のμが対象セルの遅延値のμより小さいセルに置換する機能を有する。
【０２５６】
具体的には、たとえば、ＣＰＵ４０１が、テーブル３００から対象セルのセルタイプの遅延値のμを取得する。そして、対象セルがクロックパス上のセルの場合、遅延値のμが対象セルの遅延値のμよりも大きいセルタイプをテーブル３００から検索する。または、対象セルがデータパス上のセルの場合、遅延値のμが対象セルの遅延値のμよりも小さいセルタイプをテーブル３００から検索する。そして、対象セルのセルタイプを、検索されたセルタイプの中から任意のセルタイプに置換する。
【０２５７】
なお、置換結果は、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。そして、判断部５０７、出力部５１０の機能は、上述した機能と同一であるため説明を省略する。
【０２５８】
実施の形態４では、実施の形態２および３にて説明した処理と設定部５０１および置換部５０４に違いがあるが、その他の処理に関しては同一であるためフローチャートを用いての設計支援処理手順の説明を省略する。
【０２５９】
以上説明したように、設計支援プログラム、設計支援方法、および設計支援装置によれば、部分回路を構成するデータパスおよびクロックパス上のセルから任意のセルを対象セルに選択し、当該対象セルと同一機能で特性の異なるセルに置換する。そして、置換後の部分回路に関する複数種類の特性分布が、それぞれの制約に違反しているか否かを判断することで、複数種類の特性から制約に違反している特性を特定できる。さらに、同時に複数の特性が制約を遵守することで、部分回路の改善を図ることができる。
【０２６０】
また、少なくとも１種類の特性分布が制約に違反していると判断された場合、対象セルを、異なる特性のセルにあらたに置換し、置換後の部分回路の複数種類の特性分布がそれぞれの制約に違反しているか否かを判断する。これにより、同時に複数の特性が制約を遵守することができ、部分回路の改善を図ることができる。
【０２６１】
また、少なくとも１種類の特性分布が制約に違反していると判断された場合、データパスおよびクロックパス上のセルからあらたに対象セルを選択し、置換後の部分回路の複数種類の特性分布がそれぞれの制約に違反しているか否かを判断する。これにより、同時に複数の特性が制約を遵守することができ、部分回路の改善を図ることができる。
【０２６２】
また、対象セルを、当該対象セルと同機能で特性の異なるセルの中で遅延値の特性分布のσが最も小さいセルに置換する。これにより、ホールドタイミングスラックおよびセットアップタイミングスラックの特性にばらつきが生じることを低減させると同時に消費電力値の特性分布が規格値を遵守することができる。したがって、タイミングの特性にばらつきが少なくなるように部分回路を最適化し、部分回路の改善を図ることができる。
【０２６３】
また、設計対象回路からホールドタイミングの制約に違反している部分回路を構成するデータパスおよびクロックパスを検出する。そして、クロックパス上のセルのうち遅延値のμが最大のセルとデータパス上のセルのうち遅延値のμが最小のセルから、いずれか一方のセルを対象セルに選択する。
【０２６４】
これにより、クロックパスおよびデータパス上からホールドタイミングスラックに最も影響するセルを自動で選択することができる。したがって、ホールドタイミングスラックの特性を改善でき、同時にセットアップタイミングスラックおよび消費電力値を制約に遵守させることで部分回路の改善を図ることができる。
【０２６５】
また、ホールドタイミングに違反している場合、対象セルがクロックパス上のセルであれば、対象セルを、遅延値のμが大きくなるように置換する。または、対象セルがデータパス上のセルであれば、対象セルを、遅延値のμが小さくなるように置換する。
【０２６６】
これにより、対象セルをホールドタイミングの特性を改善することができるセルに自動で置換でき、さらに複数種類の特性に制約を遵守させることで部分回路の改善を図ることができる。
【０２６７】
また、ホールドタイミングに違反している場合、対象セルがクロックパス上のセルであれば、対象セルを、対象セルと同一機能で異なる特性のセルの中で遅延値のμが最大のセルに置換する。または、対象セルがデータパス上のセルであれば、対象セルを、対象セルと同一機能で異なる特性のセルの中で遅延値のμが最小のセルに置換する。
【０２６８】
これにより、ホールドタイミングの特性を改善することができるセルに自動で置換でき、さらに複数種類の特性に制約を遵守させることで部分回路の改善を図ることができる。
【０２６９】
また、設計対象回路からセットアップタイミングの制約に違反している部分回路を構成するデータパスおよびクロックパスを検出する。そして、クロックパス上のセルのうち遅延値のμが最小のセルとデータパス上のセルのうち遅延値のμが最大のセルから、いずれか一方のセルを対象セルに選択する。
【０２７０】
これにより、クロックパスおよびデータパス上からセットアップタイミングスラックに最も影響するセルを自動で選択することができる。したがって、セットアップタイミングスラックの特性を改善でき、同時にホールドタイミングスラックおよび消費電力値を制約に遵守させることで部分回路の改善を図ることができる。
【０２７１】
また、セットアップタイミングに違反している場合、対象セルがクロックパス上のセルであれば、対象セルを、遅延値のμが小さくなるように置換する。または、対象セルがデータパス上のセルであれば、対象セルを、遅延値のμが大きくなるように置換する。これにより、セットアップタイミングの特性を改善することができるセルに自動で置換でき、複数種類の特性に制約を遵守させることで部分回路の改善を図ることができる。
【０２７２】
また、セットアップタイミングに違反している場合、対象セルがクロックパス上のセルであれば、対象セルを、対象セルと同一機能で異なる特性のセルの中で遅延値のμが最小のセルに置換する。または、対象セルがデータパス上のセルであれば、対象セルを、対象セルと同一機能で異なる特性のセルの中で遅延値のμが最大のセルに置換する。
【０２７３】
これにより、セットアップタイミングの特性を改善することができるセルに自動で置換でき、複数種類の特性に制約を遵守させることで部分回路の改善を図ることができる。
【０２７４】
また、対象セルを、当該対象セルと同機能で特性の異なるセルの中から消費電力値のμが最小のセルに置換する。これにより、消費電力値を最も低減させることができるセルに自動で置換することで消費電力値の特性を最適化すると同時にセットアップタイミングスラックおよびホールドタイミングスラックが規格値を遵守することができる。したがって消費電力値が低減するように部分回路を最適化し、部分回路の改善を図ることができる。
【０２７５】
また、対象セルが置換された後の指定された種類の特性分布が、対象セルが置換される前の指定された種類の特性分布よりも規格値に対して余裕があるか否かを判断する。これにより、利用者により指定された種類の特性分布を最適化し、同時にその他の種類の特成分布を規格値に遵守させる。したがって、利用者の必要に応じて部分回路の改善を図ることができる。
【０２７６】
また、複数種類の特性情報をセルの特性に基づいて自動で算出することで、規格値に違反している特性を容易に特定することができる。
【０２７７】
さらに、実施の形態１〜４で説明した機能は、レイアウト設計により初期配置がされてクロックツリーが生成された後の回路情報に実施することができる。したがって、レイアウト設計の初期段階で容易に複数種類の特性から制約違反の特性を特定することができ、回路変更が行われても手戻りが少なく設計期間を短縮することができる。
【０２７８】
なお、本実施の形態で説明した設計支援方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２７９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２８０】
（付記１）コンピュータを、
設計対象回路内の部分回路を構成するデータパスと前記データパスに対応するクロックパスを検出する検出手段、
前記検出手段により検出されたデータパスおよびクロックパス上のセル群から対象セルを選択する選択手段、
前記選択手段により選択された対象セルを、前記対象セルと同一機能で特性が異なるセルに置換する置換手段、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得する取得手段、
前記取得手段により取得された複数種類の特性情報がそれぞれの制約に違反しているか否かを判断する判断手段、
前記判断手段により判断された判断結果を出力する出力手段、
として機能させることを特徴とする設計支援プログラム。
【０２８１】
（付記２）前記置換手段は、
前記判断手段により少なくとも１種類の特性情報が、前記特性情報の制約に違反していると判断された場合、あらたに前記対象セルと同一機能で特性が異なる複数のセルからすでに置換済みであるセルを除くセルに置換し、
前記取得手段は、
前記対象セルがあらたに置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得し、
前記判断手段は、
前記取得手段により取得された複数種類の特性情報がそれぞれの制約に違反しているか否かを判断することを特徴とする付記１に記載の設計支援プログラム。
【０２８２】
（付記３）前記選択手段は、
前記判断手段により少なくとも１種類の特性情報が、前記特性情報の制約に違反していると判断された場合、前記データパスおよび前記クロックパス上のセル群から対象セルをあらたに選択することを特徴とする付記１または２に記載の設計支援プログラム。
【０２８３】
（付記４）前記置換手段は、
前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の標準偏差が最も小さいセルに置換し、
前記取得手段は、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得することを特徴とする付記１〜３のいずれか１つに記載の設計支援プログラム。
【０２８４】
（付記５）前記検出手段は、
前記設計対象回路から、ホールドタイミングスラックの特性分布がホールドタイミングの制約に違反している部分回路を構成するデータパスおよび前記データパスに対応するクロックパスを検出し、
前記選択手段は、
前記検出手段により検出されたクロックパス上のセルのうち遅延値の特性分布の中央値が最大のセルと、前記検出手段により検出されたデータパス上のセルのうち遅延値の特性分布の中央値が最小のセルから、いずれか一方のセルを前記対象セルに選択することを特徴とする付記１〜４のいずれか１つに記載の設計支援プログラム。
【０２８５】
（付記６）前記置換手段は、
前記選択手段により選択された対象セルが前記クロックパス上のセルの場合、前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が前記対象セルの遅延値の特性分布の中央値よりも小さいセルに置換し、前記対象セルが前記データパス上のセルの場合、前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が前記対象セルの遅延値の特性分布の中央値よりも大きいセルに置換することを特徴とする付記１〜５のいずれか１つに記載の設計支援プログラム。
【０２８６】
（付記７）前記置換手段は、
前記選択手段により選択された対象セルが前記クロックパス上のセルの場合、前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が最も小さい値であるセルに置換し、前記対象セルが前記データパス上のセルの場合、前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が最も大きい値であるセルに置換することを特徴とする付記１〜６のいずれか１つに記載の設計支援プログラム。
【０２８７】
（付記８）前記検出手段は、
前記設計対象回路内から、セットアップタイミングスラックの特性分布がセットアップタイミングの制約に違反している部分回路を構成するデータパスおよび前記データパスに対応するクロックパスを検出し、
前記選択手段は、
前記検出手段により検出されたクロックパス上のセルのうちセルの遅延値の特性分布の中央値が最小のセル、または前記検出手段により検出されたデータパス上のセルのうちセルの遅延値の特性分布の中央値が最大のセルから、いずれか一方のセルを前記対象セルに選択することを特徴とする付記１〜４のいずれか１つに記載の設計支援プログラム。
【０２８８】
（付記９）前記置換手段は、
前記選択手段により選択された対象セルが前記クロックパス上のセルの場合、前記対象セルを、当該対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が前記対象セルの遅延値の特性分布の中央値よりも大きいセルに置換し、前記対象セルが前記データパス上のセルの場合、前記対象セルを、前記対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が前記対象セルの遅延値の特性分布の中央値よりも小さいセルに置換し、
前記取得手段は、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得することを特徴とする付記１〜４および８のいずれか１つに記載の設計支援プログラム。
【０２８９】
（付記１０）前記置換手段は、
前記選択手段により選択された対象セルが前記クロックパス上のセルの場合、前記対象セルを、当該対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が最も大きい値であるセルに置換し、前記対象セルが前記データパス上のセルの場合、前記対象セルを当該対象セルと同機能で特性の異なるセルの中で遅延値の特性分布の中央値が最も小さい値であるセルを置換し、
前記取得手段は、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得することを特徴とする付記１〜４、８および９のいずれか１つに記載の設計支援プログラム。
【０２９０】
（付記１１）前記置換手段は、
前記選択手段により選択された対象セルを、当該対象セルと同機能で特性の異なるセルの中から消費電力値の特性分布の中央値が最も小さいセルに置換し、
前記取得手段は、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得することを特徴とする付記１〜１０のいずれか１つに記載の設計支援プログラム。
【０２９１】
（付記１２）前記取得手段は、
置換前の部分回路の指定された種類の特性情報を取得し、
前記判断手段は、
前記置換後の部分回路の指定された種類の特性情報が、前記取得手段により取得された置換前の前記パスの指定された種類の特性情報よりも規格値に対して余裕があるか否かを判断することを特徴とする付記１〜１１のいずれか１つに記載の設計支援プログラム。
【０２９２】
（付記１３）前記コンピュータを、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて複数種類の特性情報を算出する算出手段、として機能させ、
前記判断手段は、
前記算出手段により算出された複数種類の特性情報がそれぞれの制約に違反しているか否かを判断することを特徴とする付記１〜１２のいずれか１つに記載の設計支援プログラム。
【０２９３】
（付記１４）設計対象回路内の部分回路を構成するデータパスと前記データパスに対応するクロックパスを検出する検出手段と、
前記検出手段により検出されたデータパスおよびクロックパス上のセル群から対象セルを選択する選択手段と、
前記選択手段により選択された対象セルを、前記対象セルと同一機能で特性が異なるセルに置換する置換手段と、
前記置換手段により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得する取得手段と、
前記取得手段により取得された複数種類の特性情報がそれぞれの制約に違反しているか否かを判断する判断手段と、
前記判断手段により判断された判断結果を出力する出力手段と、
を備えることを特徴とする設計支援装置。
【０２９４】
（付記１５）コンピュータが、
設計対象回路内の部分回路を構成するデータパスと前記データパスに対応するクロックパスを検出する検出工程、
前記検出工程により検出されたデータパスおよびクロックパス上のセル群から対象セルを選択する選択工程、
前記選択工程により選択された対象セルを、前記対象セルと同一機能で特性が異なるセルに置換する置換工程、
前記置換工程により前記対象セルが置換された後のデータパスおよびクロックパスに基づいて、前記部分回路に関する複数種類の特性情報を取得する取得工程、
前記取得工程により取得された複数種類の特性情報がそれぞれの制約に違反しているか否かを判断する判断工程、
前記判断工程により判断された判断結果を出力する出力工程、
を実行することを特徴とする設計支援方法。
【符号の説明】
【０２９５】
１００，２００  設計対象回路
２０１  クロックパス
２０２  データパス
５００  設計支援装置
５０２  検出部
５０３  選択部
５０４  置換部
５０５  取得部
５０６  算出部
５０７  判断部
５１０  出力部
【図１】
2010272060.tif 000008
【図２】
2010272060.tif 000009
【図３−１】
2010272060.tif 000010
【図３−２】
2010272060.tif 000011
【図４】
2010272060.tif 000012
【図５】
2010272060.tif 000013
【図６】
2010272060.tif 000014
【図７】
2010272060.tif 000015
【図８】
2010272060.tif 000016
【図９】
2010272060.tif 000017
【図１０】
2010272060.tif 000018
【図１１】
2010272060.tif 000019
【図１２】
2010272060.tif 000020
【図１３】
2010272060.tif 000021
【図１４】
2010272060.tif 000022
【図１５】
2010272060.tif 000023
【図１６】
2010272060.tif 000024