(57)【要約】【課題】  クロックツリー及びクロックツリーに接続されたＦＦ回路全体で消費電力を低減できるクロックツリー設計方法及び装置を提供する。【解決手段】  自動配置配線処理を実行してクロックツリーを作成するクロックツリー設計方法であって、通常の自動配置配線処理により第１クロックツリーを作成する第１クロックツリー作成工程と、少なくとも第１クロックツリー及び第１クロックツリーに接続されたＦＦ回路の消費電力を算出する第１消費電力算出工程と、前記ＦＦ回路のクロックピンのピン容量を初期設定値より大きい値に変更するピン容量変更工程と、ピン容量の変更後に自動配置配線処理を実行して第２クロックツリーを作成する第２クロックツリー作成工程と、少なくとも第２クロックツリー及び第２クロックツリーに接続されたＦＦ回路の消費電力を算出する第２消費電力算出工程を有する。【選択図】        図４
2012043327.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータのハードウェア上でアプリケーションソフトウェアを実行することにより、クロック信号供給回路からクロック信号を供給するクロック配線と前記クロック配線上に配置されるクロックバッファの自動配置配線処理を実行してクロックツリーを作成するクロックツリー設計方法であって、
前記自動配置配線処理を実行し、第１クロックツリーを作成する第１クロックツリー作成工程と、
少なくとも前記第１クロックツリー及び前記第１クロックツリーに接続されたフリップフロップ回路の消費電力を算出する第１消費電力算出工程と、
前記第１クロックツリーの前記クロックバッファに接続される前記フリップフロップ回路のクロックピンのピン容量を、初期設定値より大きい値に変更するピン容量変更工程と、
前記ピン容量変更工程の実行後、前記自動配置配線処理を実行して第２クロックツリーを作成する第２クロックツリー作成工程と、
少なくとも前記第２クロックツリー及び前記第２クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第２消費電力算出工程を有することを特徴とするクロックツリー設計方法。
【請求項２】
前記ピン容量変更工程、前記第２クロックツリー作成工程、及び、前記第２消費電力算出工程を夫々複数回実行する場合は、前記ピン容量変更工程において前記ピン容量を夫々異なる値に変更することを特徴とする請求項１に記載のクロックツリー設計方法。
【請求項３】
前記ピン容量変更工程の実行前に、所定の入力手段から入力された前記クロックピンのピン容量の変更に用いる定数を取得する定数取得工程を実行し、
前記ピン容量変更工程は、前記クロックバッファに接続される前記フリップフロップ回路のクロックピンのピン容量を、前記初期設定値に前記定数を乗算した値に変更することを特徴とする請求項１または２に記載のクロックツリー設計方法。
【請求項４】
コンピュータのハードウェア上でアプリケーションソフトウェアを実行することにより、クロック信号供給回路からクロック信号を供給するクロック配線と前記クロック配線上に配置されるクロックバッファの自動配置配線処理を実行してクロックツリーを作成するクロックツリー設計方法であって、
前記自動配置配線処理を実行し、第１クロックツリーを作成する第１クロックツリー作成工程と、
少なくとも前記第１クロックツリー及び前記第１クロックツリーに接続されたフリップフロップ回路の消費電力を算出する第１消費電力算出工程と、
前記第１クロックツリーの前記クロックバッファの内、前記フリップフロップ回路に直接接続する前記クロックバッファを、駆動能力の高い前記クロックバッファに置き換えた第３クロックツリーを作成するクロックバッファ置換工程と、
少なくとも前記第３クロックツリー及び前記第３クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第３消費電力算出工程を有することを特徴とするクロックツリー設計方法。
【請求項５】
前記クロックバッファ置換工程、及び、前記第３消費電力算出工程を夫々複数回実行する場合は、前記クロックバッファ置換工程において前記クロックバッファを夫々異なる駆動能力の前記クロックバッファに変更することを特徴とする請求項４に記載のクロックツリー設計方法。
【請求項６】
請求項１〜５の何れかに記載のクロックツリー設計方法の各工程を所定のコンピュータ上でソフトウェア処理により実現させるためのプログラムステップを含むことを特徴とするクロックツリー設計プログラム。
【請求項７】
請求項６に記載のクロックツリー設計プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【請求項８】
クロック信号供給回路からクロック信号を供給するクロック配線と前記クロック配線上に配置されるクロックバッファの自動配置配線処理を実行してクロックツリーを作成するクロックツリー設計装置であって、
前記自動配置配線処理を行う自動配置配線手段と、
少なくとも前記自動配置配線手段によって作成された前記クロックツリー及び前記クロックツリーに接続されたフリップフロップ回路の消費電力を算出する消費電力解析手段と、
前記クロックバッファに接続される前記フリップフロップ回路のクロックピンのピン容量を、初期設定値より大きい値に変更するピン容量変更手段と、
前記自動配置配線手段により、前記自動配置配線処理を実行して第１クロックツリーを作成し、前記消費電力解析手段により、少なくとも前記第１クロックツリー及び前記第１クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第１処理を行う第１処理手段と、
前記ピン容量変更手段により、前記クロックバッファに接続される前記フリップフロップ回路のクロックピンのピン容量を、初期設定値より大きい値に変更し、前記自動配置配線手段により、前記ピン容量変更手段による前記ピン容量の変更後に、前記自動配置配線処理を実行して第２クロックツリーを作成し、前記消費電力解析手段により、少なくとも前記第２クロックツリー及び前記第２クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第２処理を行う第２処理手段を備えることを特徴とするクロックツリー設計装置。
【請求項９】
前記第２処理手段が、前記第２処理を複数回実行する場合は、前記ピン用量変更手段により、前記第２処理の実行毎に、前記ピン容量を夫々異なる値に変更することを特徴とする請求項８に記載のクロックツリー設計装置。
【請求項１０】
所定の入力手段から入力された前記クロックピンのピン容量の変更に用いる定数を取得する定数取得手段を備え、
前記ピン容量変更手段は、前記定数取得手段から前記定数を取得し、前記クロックバッファに接続される前記フリップフロップ回路のクロックピンのピン容量を、前記初期設定値に前記定数を乗算した値に変更することを特徴とする請求項８または９に記載のクロックツリー設計装置。
【請求項１１】
クロック信号供給回路からクロック信号を供給するクロック配線と前記クロック配線上に配置されるクロックバッファの自動配置配線処理を実行してクロックツリーを作成するクロック配線設計装置であって、
前記自動配置配線処理を行う自動配置配線手段と、
少なくとも前記自動配置配線手段によって作成された前記クロックツリー及び前記クロックツリーに接続されたフリップフロップ回路の消費電力を算出する消費電力解析手段と、
前記クロックツリーの前記クロックバッファの内、前記フリップフロップ回路に直接接続する前記クロックバッファを、駆動能力の高い前記クロックバッファに置き換えたクロックツリーを作成するクロックバッファ置換手段と、
前記自動配置配線手段により、前記自動配置配線処理を実行して第１クロックツリーを作成し、前記消費電力解析手段により、少なくとも前記第１クロックツリー及び前記第１クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第１処理を行う第１処理手段と、
前記クロックバッファ置換手段により、前記第１クロックツリーの前記クロックバッファの内、前記フリップフロップ回路に直接接続する前記クロックバッファを、駆動能力の高い前記クロックバッファに置き換えた第３クロックツリーを作成し、前記消費電力解析手段により、少なくとも前記第３クロックツリー及び前記第３クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第３処理を行う第３処理手段を備えることを特徴とするクロックツリー設計装置。
【請求項１２】
前記第３処理手段が、前記第３処理を複数回実行する場合は、前記クロックバッファ置換手段により、前記第３処理の実行毎に、前記クロックバッファを夫々異なる駆動能力の前記クロックバッファに変更することを特徴とする請求項１１に記載のクロックツリー設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号供給回路からクロック信号を供給するクロック配線とクロック配線上に配置されるクロックバッファの自動配置配線処理を実行してクロックツリーを作成するクロックツリー設計方法及びクロックツリー設計装置に関する。
【背景技術】
【０００２】
半導体集積回路（ＬＳＩ）のレイアウト設計では、ＬＳＩの正常動作のためにタイミング制約を満たす必要があり、クロック信号が供給されるフリップフロップ回路におけるクロック信号の到達タイミングのばらつき（クロックスキュー）を低減することが重要となっている。従来、クロックスキューを低減するための技術としては、例えば、クロックツリーシンセシス（ＣＴＳ）やＨ−Ｔｒｅｅ等のクロックツリー設計方法が用いられている。
【０００３】
ＣＴＳでは、回路の接続情報及び配置情報等を用い、クロック信号供給回路（クロックソース）に接続される配線を複数に分岐してツリー状のクロック配線を形成すると共に、クロックソースから各フリップフロップ回路（以下、適宜「ＦＦ回路」と称する）までのクロック信号の到達タイミングが等しくなるようにクロックバッファをクロック配線上に適宜配置して、クロックツリーを設計する。
【０００４】
また、Ｈ−Ｔｒｅｅでは、クロックバッファの右上、右下、左上、左下の等距離の位置に次段のクロックバッファを配置し、Ｈ字状のクロック配線で結んでクロックツリーを設計する。
【０００５】
尚、クロックツリーのクロックソースから一定の段数までのクロックバッファで構成される上段のクロックバッファ群をＨ−Ｔｒｅｅで構成し、クロックツリーの上段のクロックバッファ群を除くクロックバッファで構成される下段のクロックバッファ群をＣＴＳで構成する技術が提案されている（例えば、特許文献１参照）。
【０００６】
上述したＣＴＳやＨ−Ｔｒｅｅ等によって作成されるクロックツリーにおいて、更に、クロックスキューを低減するための手法として、例えば、クロックツリーの最終段のクロックバッファと、当該クロックバッファに接続されるＦＦ回路を隣接配置する技術が提案されている（例えば、特許文献２参照）。
【０００７】
ここで、タイミング制約を満たした上で、特に、携帯機器等のように電源が限られる機器で用いられるＬＳＩでは、消費電力の低減が重要となっており、様々な技術が提案されている。
【０００８】
クロックツリー設計における消費電力の低減を図るための技術としては、例えば、ＬＳＩを構成する複数の回路ブロックの内、動作する必要がない回路ブロックに供給されるクロック信号の伝搬を止める回路を設ける技術がある（例えば、特許文献３参照）。
【０００９】
また、消費電力の低減を図るための技術としては、例えば、消費電力の小さいインバータタイプのクロックバッファを用いる技術（例えば、特許文献４参照）や、クロックバッファの電源電圧を下げる技術が提案されている（例えば、特許文献５参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００３−７８０１４号公報
【特許文献２】特開２００６−８５３６２号公報
【特許文献３】特開２００６−１３４２１５号公報
【特許文献４】特開２００１−２１７３１６号公報
【特許文献５】特開２００７−３３５６００号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、クロックツリーの設計では、通常、タイミング制約を満たした上で、クロックツリー全体の回路規模を小さくすると、消費電力の低減を図ることができる。例えば、上述したＨ−Ｔｒｅｅ及びＣＴＳを組み合わせて用いる技術（特許文献１）では、結果として回路規模が低減され、消費電力の低減を図ることができる。
【００１２】
しかしながら、回路規模を小さくするために、クロックバッファの数を減らすとすると、ＦＦ回路に直接接続される最終段のクロックバッファでは、１つのクロックバッファに接続されるＦＦ回路の個数が増大することになる。この場合、最終段の各クロックバッファの出力負荷容量が増大することになり、クロック信号の波形が鈍り、ＦＦ回路に流れる貫通電流が増大して、ＦＦ回路においては消費電力が増大することになるという問題があった。同様に、回路規模を小さくするために、駆動能力の低いクロックバッファをできるだけ利用するようにしてクロックツリーを作成した場合でも、クロックバッファの駆動能力が低く抑えられていることから、クロック信号の波形が鈍り、ＦＦ回路に流れる貫通電流が増大して、ＦＦ回路においては消費電力が増大することになるという問題があった。
【００１３】
本発明は上記の問題に鑑みてなされたものであり、その目的は、クロックツリーだけでなく、クロックツリーに接続されるＦＦ回路を含め、全体で消費電力を低減することができるクロックツリー設計方法を提供する点にある。
【課題を解決するための手段】
【００１４】
上記目的を達成するための本発明に係るクロックツリー設計方法は、コンピュータのハードウェア上でアプリケーションソフトウェアを実行することにより、クロック信号供給回路からクロック信号を供給するクロック配線と前記クロック配線上に配置されるクロックバッファの自動配置配線処理を実行してクロックツリーを作成するクロックツリー設計方法であって、前記自動配置配線処理を実行し、第１クロックツリーを作成する第１クロックツリー作成工程と、少なくとも前記第１クロックツリー及び前記第１クロックツリーに接続されたフリップフロップ回路の消費電力を算出する第１消費電力算出工程と、前記第１クロックツリーの前記クロックバッファに接続される前記フリップフロップ回路のクロックピンのピン容量を、初期設定値より大きい値に変更するピン容量変更工程と、前記ピン容量変更工程の実行後、前記自動配置配線処理を実行して第２クロックツリーを作成する第２クロックツリー作成工程と、少なくとも前記第２クロックツリー及び前記第２クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第２消費電力算出工程を有することを第１の特徴とする。
【００１５】
更に好ましくは、上記特徴のクロックツリー設計方法は、前記ピン容量変更工程、前記第２クロックツリー作成工程、及び、前記第２消費電力算出工程を夫々複数回実行する場合は、前記ピン容量変更工程において前記ピン容量を夫々異なる値に変更する。
【００１６】
更に好ましくは、上記特徴のクロックツリー設計方法は、前記ピン容量変更工程の実行前に、所定の入力手段から入力された前記クロックピンのピン容量の変更に用いる定数を取得する定数取得工程を実行し、前記ピン容量変更工程は、前記クロックバッファに接続される前記フリップフロップ回路のクロックピンのピン容量を、前記初期設定値に前記定数を乗算した値に変更する。
【００１７】
上記目的を達成するための本発明に係るクロックツリー設計方法は、コンピュータのハードウェア上でアプリケーションソフトウェアを実行することにより、クロック信号供給回路からクロック信号を供給するクロック配線と前記クロック配線上に配置されるクロックバッファの自動配置配線処理を実行してクロックツリーを作成するクロックツリー設計方法であって、前記自動配置配線処理を実行し、第１クロックツリーを作成する第１クロックツリー作成工程と、少なくとも前記第１クロックツリー及び前記第１クロックツリーに接続されたフリップフロップ回路の消費電力を算出する第１消費電力算出工程と、前記第１クロックツリーの前記クロックバッファの内、前記フリップフロップ回路に直接接続する前記クロックバッファを、駆動能力の高い前記クロックバッファに置き換えた第３クロックツリーを作成するクロックバッファ置換工程と、少なくとも前記第３クロックツリー及び前記第３クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第３消費電力算出工程を有することを第２の特徴とする。
【００１８】
更に好ましくは、上記特徴のクロックツリー設計方法は、前記クロックバッファ置換工程、及び、前記第３消費電力算出工程を夫々複数回実行する場合は、前記クロックバッファ置換工程において前記クロックバッファを夫々異なる駆動能力の前記クロックバッファに変更する。
【００１９】
上記目的を達成するための本発明に係るクロックツリー設計プログラムは、上記何れかの特徴のクロックツリー設計方法の各工程を所定のコンピュータ上でソフトウェア処理により実現させるためのプログラムステップを含むことを特徴とする。
【００２０】
上記目的を達成するための本発明に係るコンピュータ読み取り可能な記録媒体は、上記特徴のクロックツリー設計プログラムが記録されていることを特徴とする。
【００２１】
上記目的を達成するための本発明に係るクロックツリー設計装置は、クロック信号供給回路からクロック信号を供給するクロック配線と前記クロック配線上に配置されるクロックバッファの自動配置配線処理を実行してクロックツリーを作成するクロックツリー設計装置であって、前記自動配置配線処理を行う自動配置配線手段と、少なくとも前記自動配置配線手段によって作成された前記クロックツリー及び前記クロックツリーに接続されたフリップフロップ回路の消費電力を算出する消費電力解析手段と、前記クロックバッファに接続される前記フリップフロップ回路のクロックピンのピン容量を、初期設定値より大きい値に変更するピン容量変更手段と、前記自動配置配線手段により、前記自動配置配線処理を実行して第１クロックツリーを作成し、前記消費電力解析手段により、少なくとも前記第１クロックツリー及び前記第１クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第１処理を行う第１処理手段と、前記ピン容量変更手段により、前記クロックバッファに接続される前記フリップフロップ回路のクロックピンのピン容量を、初期設定値より大きい値に変更し、前記自動配置配線手段により、前記ピン容量変更手段による前記ピン容量の変更後に、前記自動配置配線処理を実行して第２クロックツリーを作成し、前記消費電力解析手段により、少なくとも前記第２クロックツリー及び前記第２クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第２処理を行う第２処理手段を備えることを第１の特徴とする。
【００２２】
更に好ましくは、上記特徴のクロックツリー設計装置は、前記第２処理手段が、前記第２処理を複数回実行する場合は、前記ピン用量変更手段により、前記第２処理の実行毎に、前記ピン容量を夫々異なる値に変更する。
【００２３】
更に好ましくは、上記特徴のクロックツリー設計装置は、所定の入力手段から入力された前記クロックピンのピン容量の変更に用いる定数を取得する定数取得手段を備え、前記ピン容量変更手段は、前記定数取得手段から前記定数を取得し、前記クロックバッファに接続される前記フリップフロップ回路のクロックピンのピン容量を、前記初期設定値に前記定数を乗算した値に変更する。
【００２４】
上記目的を達成するための本発明に係るクロックツリー設計装置は、クロック信号供給回路からクロック信号を供給するクロック配線と前記クロック配線上に配置されるクロックバッファの自動配置配線処理を実行してクロックツリーを作成するクロック配線設計装置であって、前記自動配置配線処理を行う自動配置配線手段と、少なくとも前記自動配置配線手段によって作成された前記クロックツリー及び前記クロックツリーに接続されたフリップフロップ回路の消費電力を算出する消費電力解析手段と、前記クロックツリーの前記クロックバッファの内、前記フリップフロップ回路に直接接続する前記クロックバッファを、駆動能力の高い前記クロックバッファに置き換えたクロックツリーを作成するクロックバッファ置換手段と、前記自動配置配線手段により、前記自動配置配線処理を実行して第１クロックツリーを作成し、前記消費電力解析手段により、少なくとも前記第１クロックツリー及び前記第１クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第１処理を行う第１処理手段と、前記クロックバッファ置換手段により、前記第１クロックツリーの前記クロックバッファの内、前記フリップフロップ回路に直接接続する前記クロックバッファを、駆動能力の高い前記クロックバッファに置き換えた第３クロックツリーを作成し、前記消費電力解析手段により、少なくとも前記第３クロックツリー及び前記第３クロックツリーに接続された前記フリップフロップ回路の消費電力を算出する第３処理を行う第３処理手段を備えることを第２の特徴とする。
【００２５】
更に好ましくは、上記特徴のクロックツリー設計装置は、前記第３処理手段が、前記第３処理を複数回実行する場合は、前記クロックバッファ置換手段により、前記第３処理の実行毎に、前記クロックバッファを夫々異なる駆動能力の前記クロックバッファに変更する。
【発明の効果】
【００２６】
上記第１の特徴のクロックツリー設計方法、または、上記第１の特徴のクロックツリー設計装置によれば、クロックツリーに接続するＦＦ回路のピン容量を初期設定値より大きい値に設定してから自動配置配線を行うので、ＦＦ回路に入力されるクロック信号を急峻にすることができ、ＦＦ回路の貫通電流を抑えて、ＦＦ回路について消費電力の低減を図ることができる。尚、この場合、クロックツリーの最終段については、クロックバッファの個数が増える、或いは、駆動能力が大きいクロックバッファが使用されることになる。このため、クロックツリーのみでは消費電力が増大するが、上述したように、ＦＦ回路では消費電力が低減でき、ＦＦ回路における消費電力の低減量がクロックツリーにおける消費電力の増大量を上回る場合、回路全体で消費電力の低減を図ることができる。更に、上記第１の特徴のクロックツリー設計方法、または、上記第１の特徴のクロックツリー設計装置によれば、ピン容量を変更した場合と変更しなかった場合の両方について消費電力を算出することで、ピン容量の変更による消費電力の低減効果が確認でき、ピン容量の変更により消費電力の低減が図れる場合にのみ、ピン容量を変更して作成された第２クロックツリーを選択することが可能になる。
【００２７】
尚、最も消費電力を低減できるピン容量の値は、回路やプロセス等によって異なる。このため、上記第１の特徴のクロックツリー設計方法において、ピン容量変更工程、第２クロックツリー作成工程、及び、第２消費電力算出工程を夫々複数回実行するように構成し、または、上記第１の特徴のクロックツリー設計装置において、第２処理を複数回実行するように構成し、ピン容量を夫々異なる値に変更することで、より消費電力の低減効果が大きいピン容量の値を見つけることが可能になり、より消費電力の低減効果の高いクロックツリーを選択することが可能になる。
【００２８】
上記第２の特徴のクロックツリー設計方法、または、上記第２の特徴のクロックツリー設計装置によれば、クロックツリーの最終段のクロックバッファを駆動能力の大きいクロックバッファに置き換えるので、ＦＦ回路に入力されるクロック信号を急峻にすることができ、ＦＦ回路の貫通電流を抑えて、ＦＦ回路について消費電力の低減を図ることができる。尚、この場合、クロックツリーの最終段については、駆動能力が大きいクロックバッファが使用されることになり、クロックツリーのみでは消費電力が増大するが、上述したように、ＦＦ回路では消費電力が低減でき、ＦＦ回路における消費電力の低減量がクロックツリーにおける消費電力の増大量を上回る場合、回路全体で消費電力の低減を図ることができる。更に、上記第２の特徴のクロックツリー設計方法、または、上記第２の特徴のクロックツリー設計装置によれば、最終段のクロックバッファを置き換えた場合と置き換えなかった場合の両方について消費電力を算出することで、最終段のクロックバッファの置き換えによる消費電力の低減効果が確認でき、最終段のクロックバッファの置き換えにより消費電力の低減が図れる場合にのみ、最終段のクロックバッファを置き換えた第３クロックツリーを選択することが可能になる。
【００２９】
尚、最も消費電力を低減できるクロックバッファの駆動能力は、回路やプロセス等によって異なる。このため、上記第２の特徴のクロックツリー設計方法において、クロックバッファ置換工程及び第３消費電力算出工程を夫々複数回実行するように構成し、または、上記第２の特徴のクロックツリー設計装置において、第３処理を複数回実行するように構成し、夫々異なる駆動能力のクロックバッファに置き換えることで、より消費電力の低減効果が大きいクロックバッファの駆動能力を見つけることが可能になり、より消費電力の低減効果の高いクロックツリーを選択することが可能になる。
【００３０】
また、上記特徴のクロックツリー設計方法において、自動配置配線処理を既存のレイアウトツールを用いて行うように構成すれば、本願発明方法を簡素化できる。同様に、上記特徴のクロックツリー設計方法において、消費電力の算出を既存の消費電力解析ツールを用いて行うように構成すれば、本願発明方法を簡素化できる。更に、上記特徴のクロックツリー設計装置において、自動配置配線処理を既存のレイアウトツールを用いて行うように構成すれば、本願発明装置の構成を簡素化でき、本願発明装置を容易に作成することが可能になる。同様に、上記特徴のクロックツリー設計装置において、消費電力の算出を既存の消費電力解析ツールを用いて行うように構成すれば、本願発明装置の構成を簡素化でき、本願発明装置を容易に作成することが可能になる。
【図面の簡単な説明】
【００３１】
【図１】本発明に係るクロックツリー設計装置の第１実施形態における概略構成例を示したブロック図である。
【図２】第１クロックツリー及び第１クロックツリーのクロックバッファに接続されるＦＦ回路の概略構成例を示すブロック図である。
【図３】第２クロックツリー及び第２クロックツリーのクロックバッファに接続されるＦＦ回路の概略構成例を示すブロック図である。
【図４】本発明に係るクロックツリー設計方法の第１実施形態における処理手順を示すフローチャートである。
【図５】本発明に係るクロックツリー設計装置の第２実施形態における概略構成例を示したブロック図である。
【図６】第３クロックツリー及び第３クロックツリーのクロックバッファに接続されるＦＦ回路の概略構成例を示すブロック図である。
【図７】本発明に係るクロックツリー設計方法の第２実施形態における処理手順を示すフローチャートである。
【発明を実施するための形態】
【００３２】
以下、本発明に係るクロックツリー設計方法及びクロックツリー設計装置（以下、適宜「本発明方法」、「本発明装置」と略称する）の実施形態を図面に基づいて説明する。
【００３３】
〈第１実施形態〉
本発明方法及び本発明装置の第１実施形態について、図１〜図４を基に説明する。
【００３４】
先ず、本発明装置１Ａの構成について図１〜図３を基に説明する。ここで、図１は、本発明装置１Ａの概略構成例を、図２は、第１クロックツリー２Ａ及び第１クロックツリー２Ａを構成するクロックバッファ２２に接続されるＦＦ回路２３の概略構成例を、図３は、第２クロックツリー２Ｂ及び第２クロックツリー２Ｂを構成するクロックバッファ２２に接続されるＦＦ回路２３の概略構成例を、夫々示している。
【００３５】
本発明装置１Ａは、図１に示すように、本発明装置１Ａの各機能を制御するＣＰＵ１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央演算処理装置）、キーボード等からデータを受け付ける入力部１２（入力手段に相当）、ディスプレイ等の表示装置に表示データを出力する出力部１３、インターネット等のデータ伝送媒体を介して、本発明装置１Ａを構成するコンピュータの外部とデータ伝送を行う通信部１４、主記憶装置としてのＲＡＭ１５、及び、本発明装置１Ａの各機能を実現するためのクロックツリー設計プログラム１０及びクロックツリーの作成を行うネットリスト２（配線情報）が格納されたハードディスク１６を備えて構成されている。
【００３６】
より具体的には、本発明装置１Ａの各機能を実現するためのクロックツリー設計プログラム１０は、ＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体やインターネット等のデータ伝送媒体を介して、本発明装置１Ａをハードウェア的に構成するコンピュータがアクセス可能な記録装置内、本実施形態ではハードディスク１６内にインストールされて実用に供される。本発明装置１Ａは、本発明装置１Ａを構成するコンピュータ上で、当該コンピュータのコンピュータシステムのハードウェア資源を利用しながら、ハードディスク１６に記憶されたクロックツリー設計プログラム１０を、主記憶装置としてのＲＡＭ１５へ読み込んで実行することにより、本発明装置１Ａを構成する各機能を実現する。尚、本実施形態では、説明のために、ハードディスク１６上にクロックツリー設計プログラム１０が記憶されている場合を想定しているが、これに限るものではない。クロックツリー設計プログラム１０の一部または全部の機能が、別のコンピュータ上に記憶され、本発明装置１Ａを構成するコンピュータ上に読み込んで実行するように構成しても良いし、他のコンピュータ上で実行して結果を示すデータを取得するように構成しても良い。
【００３７】
本発明装置１Ａは、図１に示すように、クロックツリー設計プログラム１０を実行することにより、クロックソース２０（クロック信号供給回路に相当）からクロック信号を供給するクロック配線２１とクロック配線２１上に配置されるクロックバッファ２２の自動配置配線処理を実行してクロックツリー２Ａ、２Ｂを作成するように構成されている。より詳細には、本発明装置１Ａは、自動配置配線処理を実行する自動配置配線ツール１０ｃ（自動配置配線手段に相当）と、少なくとも自動配置配線ツール１０ｃによって作成されたクロックツリー２Ａ、２Ｂ及びクロックツリー２Ａ、２Ｂに接続されたフリップフロップ回路２３（ＦＦ回路２３）の消費電力を算出する消費電力解析ツール１０ｄ（消費電力解析手段に相当）と、クロックバッファ２２に接続されるＦＦ回路２３のクロックピンのピン容量を、初期設定値より大きい値に変更するピン容量変更手段１０ｂと、自動配置配線ツール１０ｃにより、自動配置配線処理を実行して図２に示す第１クロックツリー２Ａを作成し、消費電力解析ツール１０ｄにより、少なくとも第１クロックツリー２Ａ及び第１クロックツリー２Ａに接続されたＦＦ回路２３の消費電力を算出する第１処理を行う第１処理手段１０ｅと、ピン容量変更手段１０ｂにより、クロックバッファ２２に接続されるＦＦ回路２３のクロックピンのピン容量を、初期設定値より大きい値に変更し、自動配置配線ツール１０ｃにより、ピン容量変更手段１０ｂによるピン容量の変更後に、自動配置配線処理を実行して図３に示す第２クロックツリー２Ｂを作成し、消費電力解析ツール１０ｄにより、少なくとも第２クロックツリー２Ｂ及び第２クロックツリー２Ｂに接続されたＦＦ回路２３の消費電力を算出する第２処理を行う第２処理手段１０ｆを備えている。更に、本実施形態の本発明装置１Ａは、入力部１２から入力されたクロックピンのピン容量の変更に用いる定数を取得する定数取得手段１０ａを備えている。
【００３８】
尚、本実施形態では、自動配置配線ツール１０ｃは、ＣＴＳ処理を実行する既存の自動配置配線ツール１０ｃを利用することを想定して説明する。また、本実施形態では、消費電力解析ツール１０ｄは、既存の消費電力解析ツール１０ｄを利用することを想定して説明する。
【００３９】
続いて、本発明装置１Ａによる本発明方法の処理手順について、図２〜図４を基に説明する。ここで、図４は、本発明方法の処理手順を示している。尚、本実施形態では、本発明方法は、ＣＴＳ処理の前処理として、ＦＦ回路２３のピン容量を初期設定より大きい値に設定してＣＴＳ処理を実行することで、ＦＦ回路２３に入力されるクロック信号の急峻化を図るように構成されている。
【００４０】
クロックツリー設計プログラム１０が実行されると、図４に示すように、本発明装置１Ａは、先ず、ハードディスク１６に記憶されたネットリスト２をＲＡＭ１５上に読み込む（ステップ＃１００）。
【００４１】
続いて、本発明装置１Ａは、第１処理手段１０ｅにより、第１クロックツリー２Ａの作成及び消費電力の解析を行う第１処理を実行する（ステップ＃１１０）。
【００４２】
具体的には、第１処理手段１０ｅは、先ず、自動配置配線ツール１０ｃにより、ネットリスト２を用いてＣＴＳ処理を行い、図２に示す第１クロックツリー２Ａを作成する（ステップ＃１１１、第１クロックツリー作成工程）。
【００４３】
引き続き、第１処理手段１０ｅは、消費電力解析ツール１０ｄを用い、少なくとも第１クロックツリー２Ａ及び第１クロックツリー２Ａに接続されたＦＦ回路２３の消費電力を算出する（ステップ＃１１２、第１消費電力算出工程）。本実施形態では、消費電力解析ツール１０ｄは、回路全体の消費電力を算出するが、第１クロックツリー２Ａ及び第１クロックツリー２Ａに接続されたＦＦ回路２３を少なくとも含む一部回路の消費電力を部分的に解析するように構成しても良い。尚、第１消費電力算出工程（ステップ＃１１２）は、本実施形態では、第１クロックツリー作成工程の直後に実施しているが、これに限るものではなく、第１クロックツリー作成工程（ステップ＃１１１）後、後述する消費電力の比較表示（ステップ＃１３０）の前に実行すれば良い。
【００４４】
引き続き、本発明装置１Ａは、第２処理手段１０ｆにより、ＣＴＳ処理の前処理として、ＦＦ回路２３のクロックピンのピン容量を変更する処理を行うことにより、図３に示す第２クロックツリー２Ｂの作成及び消費電力の解析を行う第２処理を実行する（ステップ＃１２０）。
【００４５】
具体的には、第２処理手段１０ｆは、先ず、定数取得手段１０ａにより、入力部１２から入力されたクロックピンのピン容量の変更に用いる定数を取得する（ステップ＃１２１、定数取得工程）。引き続き、第２処理手段１０ｆは、ピン容量変更手段１０ｂを用い、クロックバッファ２２に接続されるＦＦ回路２３のクロックピンのピン容量を、初期設定値より大きい値に変更する（ステップ＃１２２、ピン容量変更工程）。より詳細には、ピン容量変更手段１０ｂは、定数取得手段１０ａから定数を取得し、クロックバッファ２２に接続されるＦＦ回路２３のクロックピンのピン容量を、初期設定値に定数を乗算した値に変更する。
【００４６】
引き続き、第２処理手段１０ｆは、自動配置配線ツール１０ｃにより、自動配置配線処理を実行して第２クロックツリー２Ｂを作成する（ステップ＃１２３、第２クロックツリー作成工程）。図２及び図３に示すように、第２クロックツリー２Ｂは、第１クロックツリー２Ａと比べ、最終段のクロックバッファ２２ａに接続されるＦＦ回路２３の数が少なくなり、クロック信号が急峻になる。
【００４７】
引き続き、第２処理手段１０ｆは、消費電力解析ツール１０ｄにより、少なくとも第２クロックツリー２Ｂ及び第２クロックツリー２Ｂに接続されたＦＦ回路２３の消費電力を算出する（ステップ＃１２４、第２消費電力算出工程）。尚、消費電力解析ツール１０ｄは、本実施形態では、上述したように、第２クロックツリー２Ｂを含む回路全体の消費電力を算出する。
【００４８】
本発明装置１Ａは、第１処理手段１０ｅによる第１処理及び第２処理手段１０ｆによる第２処理の実行後、通常のＣＴＳ処理で作成された第１クロックツリー２Ａの消費電力と、ＦＦ回路２３のクロックピンのピン容量を定数倍した後にＣＴＳ処理により作成された第２クロックツリー２Ｂの消費電力を比較表示する（ステップ＃１３０）。以上より、ＦＦ回路２３に入力されるクロック信号を急峻にすることによる消費電力削減効果がある場合、第２クロックツリー２Ｂの回路を選択利用することにより、消費電力を低減した回路を利用することが可能になる。
【００４９】
尚、本実施形態では、第２処理を１回実行する場合について説明したが、複数回実行するように構成しても良い。この場合には、ピン容量変更工程において、ピン容量を、第２処理毎に夫々異なる値に設定する。更に、第１クロックツリー２Ａ、及び、複数の第２クロックツリー２Ｂ夫々の消費電力の値を比較表示するように構成し、消費電力削減効果の高いクロックツリーを選択利用可能に構成する。
【００５０】
また、本実施形態では、ピン容量をキーボード等から入力して設定するように構成したが、これに限るものではない。定数の値を予め設定するように構成しても良いし、予め設定した定数の値を更に変更可能に構成しても良い。
【００５１】
〈第２実施形態〉
本発明方法及び本発明装置の第２実施形態について、図５〜図７を基に説明する。
【００５２】
先ず、本発明装置１Ｂの構成について図５を基に説明する。ここで、図５は、本発明装置１Ｂの概略構成例を、図６は、第３クロックツリー２Ｃ及び第３クロックツリー２Ｃを構成するクロックバッファ２２に接続されるＦＦ回路２３の概略構成例を、夫々示している。
【００５３】
本発明装置１Ｂの構成は、上記第１実施形態と同様に、図５に示すように、本発明装置１Ｂの各機能を制御するＣＰＵ１１、入力部１２、出力部１３、通信部１４、ＲＡＭ１５、及び、クロックツリー設計プログラム１０及びネットリスト２が記憶されたハードディスク１６を備えて構成されており、ハードディスク１６上に記憶されたクロックツリー設計プログラム１０をＲＡＭ１５上に読み出して実行することにより、本発明装置１Ｂの各機能を実現する。尚、本実施形態で用いるネットリスト２は、説明のため、上記第１実施形態と同じネットリスト２であることを想定している。
【００５４】
本発明装置１Ｂは、上記第１実施形態と同様に、クロックソース２０からクロック信号を供給するクロック配線２１とクロック配線２１上に配置されるクロックバッファ２２の自動配置配線処理を実行してクロックツリー２Ａ、２Ｃを作成するように構成されている。より詳細には、本発明装置１Ｂは、自動配置配線ツール１０ｃと、消費電力解析ツール１０ｄと、第１クロックツリー２Ａのクロックバッファ２２の内、ＦＦ回路２３に直接接続するクロックバッファ２２ａを、駆動能力の高いクロックバッファ２２ｂに置き換えた第３クロックツリー２Ｃを作成するクロックバッファ置換手段１０ｇと、自動配置配線ツール１０ｃにより、自動配置配線処理を実行して図２に示す第１クロックツリー２Ａを作成し、消費電力解析ツール１０ｄにより、少なくとも第１クロックツリー２Ａ及び第１クロックツリー２Ａに接続されたＦＦ回路２３の消費電力を算出する第１処理を行う第１処理手段１０ｅと、クロックバッファ置換手段１０ｇにより、第１クロックツリー２Ａのクロックバッファ２２の内、ＦＦ回路２３に直接接続するクロックバッファ２２ａを、駆動能力の高いクロックバッファ２２ｂに置き換えた第３クロックツリー２Ｃを作成し、消費電力解析ツール１０ｄにより、少なくとも第３クロックツリー２Ｃ及び第３クロックツリー２Ｃに接続されたＦＦ回路２３の消費電力を算出する第３処理を行う第３処理手段１０ｈを備えている。
【００５５】
尚、本実施形態では、上記第１実施形態と同様に、自動配置配線ツール１０ｃは、ＣＴＳ処理を実行する既存の自動配置配線ツール１０ｃを利用することを想定して説明する。また、上記第１実施形態と同様に、消費電力解析ツール１０ｄは、既存の消費電力解析ツール１０ｄを利用することを想定して説明する。
【００５６】
続いて、本発明装置１Ｂによる本発明方法の処理手順について、図２、図６及び図７を基に説明する。ここで、図７は、本発明方法の処理手順を示している。尚、本実施形態では、本発明方法は、ＣＴＳ処理の後処理として、図２に示すＦＦ回路２３に直接接続されるクロックバッファ２２ａを、図６に示す駆動能力の大きいクロックバッファ２２ｂに置き換えることで、ＦＦ回路２３に入力されるクロック信号の急峻化を図るように構成されている。
【００５７】
クロックツリー設計プログラム１０が実行されると、図７に示すように、本発明装置１Ｂは、先ず、ハードディスク１６に記憶されたネットリスト２をＲＡＭ１５上に読み込む（ステップ＃１００）。
【００５８】
続いて、本発明装置１Ｂは、第１処理手段１０ｅにより、第１クロックツリーの作成及び消費電力の解析を行う第１処理を実行する（ステップ＃１１０）。
【００５９】
具体的には、第１処理手段１０ｅは、先ず、自動配置配線ツール１０ｃにより、ネットリスト２を用いてＣＴＳ処理を行い、図２に示す第１クロックツリー２Ａを作成する（ステップ＃１１１、第１クロックツリー作成工程）。尚、本実施形態で作成される第１クロックツリー２Ａは、上記第１実施形態の第１クロックツリー２Ａと同じである。
【００６０】
引き続き、第１処理手段１０ｅは、消費電力解析ツール１０ｄを用い、少なくとも第１クロックツリー２Ａ及び第１クロックツリー２Ａに接続されたＦＦ回路２３の消費電力を算出する（ステップ＃１１２、第１消費電力算出工程）。本実施形態では、上記第１実施形態と同様に、消費電力解析ツール１０ｄは、第１クロックツリー２Ａを含む回路全体の消費電力を算出するが、第１クロックツリー２Ａ及び第１クロックツリー２Ａに接続されたＦＦ回路２３を少なくとも含む一部回路の消費電力を部分的に解析するように構成しても良い。更に、第１消費電力算出工程（ステップ＃１１２）は、本実施形態では、第１クロックツリー作成工程の直後に実施しているが、これに限るものではなく、上記第１実施形態と同様に、第１クロックツリー作成工程（ステップ＃１１１）後、後述する消費電力の比較表示（ステップ＃１３０）の前に実行すれば良い。
【００６１】
引き続き本発明装置１Ｂは、第３処理手段１０ｈにより、ＣＴＳ処理の後処理として、図２に示す第１クロックツリー２Ａの最終段のクロックバッファ２２ａを置き換える処理を行うことにより、図６に示す第３クロックツリー２Ｃの作成及び消費電力の解析を行う第３処理を実行する（ステップ＃１４０）。
【００６２】
具体的には、第３処理手段１０ｈは、先ず、クロックバッファ置換手段１０ｇを用い、図２に示す第１クロックツリー２Ａのクロックバッファ２２の内、ＦＦ回路２３に直接接続するクロックバッファ２２ａを、駆動能力が１段高いクロックバッファ２２ｂに一律に置き換えて第３クロックツリー２Ｃを作成する（ステップ＃１４１、クロックバッファ置換工程）。クロックバッファ２２ｂの駆動能力がクロックバッファ２２ａの駆動能力より高いことから、第３クロックツリー２Ｃは、第１クロックツリー２Ａに比べ、クロック信号が急峻になる。
【００６３】
引き続き、第３処理手段１０ｈは、消費電力解析ツール１０ｄにより、少なくとも第３クロックツリー２Ｃ及び第３クロックツリー２Ｃに接続されたＦＦ回路２３の消費電力を算出する（ステップ＃１４２、第３消費電力算出工程）。尚、消費電力解析ツール１０ｄは、本実施形態では、第１実施形態と同様に、第３クロックツリー２Ｃを含む回路全体の消費電力を算出する。
【００６４】
本発明装置１Ｂは、第１処理手段１０ｅによる第１処理及び第３処理手段１０ｈによる第３処理の実行後、通常のＣＴＳ処理で作成された第１クロックツリー２Ａの消費電力と、最終段のクロックバッファ２２ａを駆動能力の高いクロックバッファ２２ｂに置き換えた第３クロックツリー２Ｃの消費電力を比較表示する（ステップ＃１３０）。以上より、ＦＦ回路２３に入力されるクロック信号を急峻にすることによる消費電力削減効果がある場合、第３クロックツリー２Ｃの回路を選択利用することにより、消費電力を低減した回路を利用することが可能になる。
【００６５】
尚、本実施形態では、第３処理を１回実行する場合について説明したが、複数回実行するように構成しても良い。この場合には、クロックバッファ置換工程において、クロックバッファ２２ｂを、第３処理毎に、夫々異なる駆動能力のクロックバッファ２２ｂに置き換えるように構成する。更に、第１クロックツリー２Ａ、及び、複数の第３クロックツリー２Ｃ夫々の消費電力の値を比較表示するように構成し、消費電力削減効果の高いクロックツリーを選択利用可能に構成する。
【００６６】
また、本実施形態では、説明のために、引き上げる駆動能力の段階数を１段として説明したが、これに限るものではない。複数段階引き上げても良いし、入力部１２により段階数を指定できるように構成しても良い。
【００６７】
〈別実施形態〉
〈１〉上記第１実施形態及び第２実施形態では、消費電力の比較表示を行う（ステップ＃１３０）ように構成したが、消費電力の値が一番小さいクロックツリーを自動的に判定し、当該クロックツリーを含む回路を自動的に使用するように構成しても良い。
【００６８】
〈２〉上記第１実施形態及び第２実施形態では、自動配置配線ツール１０ｃがＣＴＳ処理を行う場合について説明したが、これに限るものではない。自動配置配線ツール１０ｃは、Ｈ−Ｔｒｅｅや、ＣＴＳ処理とＨ−Ｔｒｅｅを組み合わせる構成等、他の構成の自動配置配線ツール１０ｃであっても良い。
【００６９】
〈３〉上記第１実施形態及び第２実施形態では、自動配置配線ツール１０ｃとは別個に構成された消費電力解析ツール１０ｄを利用するように構成したが、これに限るものではなく、既存の自動配置配線ツール１０ｃが消費電力の解析機能を備える場合にはこれを利用するように構成しても良い。
【００７０】
〈４〉上記第１実施形態では、ＣＴＳ処理の前処理により、ＦＦ回路２３のクロックピンのピン容量を初期設定値より大きい値に設定するように構成したが、これに限るものではない。例えば、自動配置配線処理に必要な各論理回路の情報を規定したライブラリに、クロックピンの負荷容量を定数倍したＣＴＳ用ＦＦセルを用意しておき、従来のネットリスト２から対象となるＦＦ回路２３をＣＴＳ用ＦＦセルに変換したＣＴＳ用ネットリストを作成し（ピン容量変更工程に相当）、ＣＴＳ用ネットリストを用いて、自動配置配線ツール１０ｃで通常のＣＴＳ処理を行って第２クロックツリー２Ｂを作成する（第２クロックツリー作成工程に相当）ように構成しても良い。
【符号の説明】
【００７１】
１      本発明に係るクロックツリー設計装置
１Ａ    本発明に係るクロックツリー設計装置
１Ｂ    本発明に係るクロックツリー設計装置
２      ネットリスト
２Ａ    第１クロックツリー
２Ｂ    第２クロックツリー
２Ｃ    第３クロックツリー
１０    クロックツリー設計プログラム
１０ａ  定数取得手段
１０ｂ  ピン容量変更手段
１０ｃ  自動配置配線ツール
１０ｄ  消費電力解析ツール
１０ｅ  第１処理手段
１０ｆ  第２処理手段
１０ｇ  クロックバッファ置換手段
１０ｈ  第３処理手段
１１    ＣＰＵ
１２    入力部
１３    出力部
１４    通信部
１５    ＲＡＭ
１６    ハードディスク
２０    クロックソース
２１    クロック配線
２２    クロックバッファ
２２ａ  最終段のクロックバッファ
２２ｂ  最終段のクロックバッファ
２３    フリップフロップ回路（ＦＦ回路）
【図１】
2012043327.tif 000003
【図２】
2012043327.tif 000004
【図３】
2012043327.tif 000005
【図４】
2012043327.tif 000006
【図５】
2012043327.tif 000007
【図６】
2012043327.tif 000008
【図７】
2012043327.tif 000009