(57)【要約】【課題】簡素な方式でありながらも、高い見積もり精度を実現できる消費電力算出装置および算出方法を提供する。【解決手段】消費電力算出装置は、基本セルおよびフリップフロップ相互間の接続の定義とテストパターンとに基づいた論理回路の論理シミュレーションを、基本セルの遅延時間を無視して行い、クロック信号のそれぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移を把握する論理シミュレーションツールと、それぞれの周期内の基本セルおよびフリップフロップの状態の遷移と、ライブラリに登録した消費電力に関する情報とから、クロック信号のそれぞれの周期内の論理回路の消費電力を算出する消費電力算出ツールとを有する。【選択図】図１
2009025884.tif 000002
【特許請求の範囲】
【請求項１】
複数種の基本セルが組み合わされて構成された複数の組合せ論理回路と複数のフリップフロップとが交互に接続されて構成され、複数の入力端子を有し、前記フリップフロップに供給されるクロック信号に同期して動作する論理回路の消費電力を算出する装置において、
前記基本セルおよびフリップフロップのそれぞれの、論理状態の遷移に伴う消費電力に関する情報を登録したライブラリと、
前記基本セルおよびフリップフロップ相互間の接続の定義と、前記論理回路の複数の入力端子に入力される信号の前記クロック信号の複数周期にわたる変化を定義したテストパターンとに基づいて、前記論理回路の論理シミュレーションを、該論理回路を構成するそれぞれの基本セルの遅延時間を無視するとともに、それぞれのフリップフロップに前記クロック信号の周期に比較して短い固定の遅延時間を与えて行い、前記クロック信号のそれぞれの周期内に発生する前記それぞれの基本セルおよびフリップフロップの状態の遷移を把握する論理シミュレーションツールと、
前記論理シミュレーションツールが把握したそれぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移と、前記ライブラリに登録した消費電力に関する情報とから、該それぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を把握することによって、前記クロック信号のそれぞれの周期内の前記論理回路の消費電力を算出する消費電力算出ツールとを有することを特徴とする消費電力算出装置。
【請求項２】
前記ライブラリは、消費電力に関する情報に加えて、前記複数種の基本セルのそれぞれの遅延時間に関する情報を登録したものであり、
前記消費電力算出ツールは、前記論理シミュレーションツールが把握した前記それぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移の、該それぞれの周期内でのタイミングを、前記ライブラリに登録された遅延時間に関する情報を参照して把握し、前記把握したそれぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を、該把握したそれぞれの周期内でのタイミングに応じて分配した瞬間消費電力を算出する消費電力分配ツールをさらに有することを特徴とする請求項１記載の消費電力算出装置。
【請求項３】
前記消費電力分配ツールは、前記消費電力の分配を、前記クロック信号のそれぞれの周期を複数に分割した単位期間毎に行うことを特徴とする請求項２記載の消費電力算出装置。
【請求項４】
前記消費電力算出ツールは、前記論理回路を構成するそれぞれの基本セルおよびフリップフロップの負荷容量が登録された負荷容量ファイル、もしくは、前記接続の定義を参照して、前記それぞれの基本セルおよびフリップフロップの負荷容量を把握し、該把握した負荷容量に依存した前記それぞれの周期内の前記それぞれの基本セルおよびフリップフロップの消費電力を把握することによって、前記それぞれの周期内の論理回路の消費電力を算出することを特徴とする請求項１ないし３のいずれかに記載の消費電力算出装置。
【請求項５】
前記消費電力算出ツールは、前記それぞれの基本セルおよびフリップフロップの負荷容量が登録された負荷容量ファイル、もしくは、前記接続の定義を参照して、前記それぞれの基本セルおよびフリップフロップの負荷容量を把握し、該把握した負荷容量に依存した前記それぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を把握し、
前記消費電力分配ツールは、前記それぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移の、該それぞれの周期内での、前記消費電力算出ツールが把握したそれぞれの基本セルおよびフリップフロップの負荷容量に依存した、タイミングを把握して、前記消費電力の分配を行うことを特徴とする請求項２または３に記載の消費電力算出装置。
【請求項６】
複数種の基本セルが組み合わされて構成された複数の組合せ論理回路と複数のフリップフロップとが交互に接続されて構成され、複数の入力端子を有し、前記フリップフロップに供給されるクロック信号に同期して動作する論理回路の消費電力を算出する方法において、
前記基本セルおよびフリップフロップのそれぞれの、論理状態の遷移に伴う消費電力に関する情報を登録したライブラリを用意し、
前記基本セルおよびフリップフロップ相互間の接続の定義と、前記論理回路の複数の入力端子に入力される信号の前記クロック信号の複数周期にわたる変化を定義したテストパターンとに基づいて、前記論理回路の論理シミュレーションを、該論理回路を構成するそれぞれの基本セルの遅延時間を無視するとともに、それぞれのフリップフロップに前記クロック信号の周期に比較して短い固定の遅延時間を与えて行い、前記クロック信号のそれぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの前記クロック信号の状態の遷移を把握し、
前記論理シミュレーションによって把握したそれぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移と、前記ライブラリに登録した消費電力に関する情報とから、該それぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を把握することによって、前記クロック信号のそれぞれの周期内の前記論理回路の消費電力を算出することを特徴とする消費電力算出方法。
【請求項７】
前記ライブラリを、消費電力に関する情報に加えて、前記複数種の基本セルのそれぞれの遅延時間に関する情報を登録したものとして用意し、
前記論理シミュレーションによって把握した、前記それぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移の、該それぞれの周期内でのタイミングを、前記ライブラリに登録された遅延時間に関する情報を参照して把握し、前記把握したそれぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を、該把握したそれぞれの周期内でのタイミングに応じて分配した瞬間消費電力をさらに算出することを特徴とする請求項６記載の消費電力算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、組合せ論理回路とフリップフロップとが交互に接続されて構成され、フリップフロップに供給されるクロック信号に同期して動作する論理回路（同期回路）の消費電力を算出する消費電力算出装置および算出方法に関するものである。
【背景技術】
【０００２】
現在、論理回路の消費電力を算出する方法として、一般的に、テストパターン（テストベクタ）を使用した消費電力の算出方法（例えば、特許文献１参照）と、テストパターンを使用しない消費電力の算出方法の２通りがある。
【０００３】
図７は、テストパターンを使用した消費電力の算出方法の工程を表すフローチャートである。テストパターンを使用した消費電力の算出方法では、同図のフローチャートに示すように、論理回路のネットリストに対して、テストパターンを使用して論理シミュレーションを行い、そのシミュレーション結果となるシミュレーションファイルをハードディスクなどに出力する。
【０００４】
続いて、シミュレーションファイルから、ネットリストの全ノードのトグル情報（トグル回数）を抜き出し、全ノードにトグル情報を割り当てる。そして、各ノードのトグル情報と、パワー登録ライブラリに登録されている、負荷容量に依存した、論理回路を構成する各セルについての１回のトグル当たりの単位消費電力とから消費電力を算出し、消費電力算出レポートを出力する。
【０００５】
テストパターンを使用した消費電力の算出方法は、各ノードのトグル情報を詳細に割り当てることができるので、消費電力の算出精度が高いという利点がある。しかし、各セルの遅延を考慮したゲートレベル論理シミュレーションは長い時間がかかる。
【０００６】
このため、消費電力算出のために専用の論理シミュレーションを実行することは現実的ではない。従って、例えば、論理検証のために行ったシミュレーション結果を、シミュレーションファイルとして、一旦、ハードディスクなどの記憶装置に格納し、その後、消費電力算出を行うときに、再び読み出して使用することが必要になる。このように、論理シミュレーションを含めた消費電力算出処理は、消費電力算出に特化した一連の処理として実行することができず、他の目的の処理と一部を共用する、複雑な処理が必要になる。また、遅延を考慮したシミュレーション結果のファイルサイズは極めて大きく、必要な記憶装置の容量を確保することが困難であるなど、扱いに注意が必要である。
【０００７】
一方、テストパターンを使用しない消費電力の算出方法では、半導体集積回路の入力端子（入力ピン）やフリップフロップの出力端子などの各ノードに平均的なトグル情報を割り当てる。そして、各ノードのトグル情報と、各セルの単位消費電力とから消費電力を算出し、消費電力算出レポートを出力する。
【０００８】
テストパターンを使用しない消費電力の算出方法は、テストパターンを使用しないので、簡易的に実行できるという利点がある。しかし、テストパターンを使用しない消費電力の算出方法では、各ノードが、ある時間には変化するが、ある時間には全く変化しないというような時間の概念がないので、テストパターンを使用した消費電力の算出方法よりも精度が悪いという問題があった。
【０００９】
【特許文献１】特開平１１−３４５２５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、前記従来技術に基づく問題点を解消し、テストパターンを使用しない消費電力の算出方法に近い簡素な方式で、テストパターンを使用した消費電力の算出方法と同等の高い消費電力算出精度を実現できる消費電力算出装置および算出方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明は、複数種の基本セルが組み合わされて構成された複数の組合せ論理回路と複数のフリップフロップとが交互に接続されて構成され、複数の入力端子を有し、前記フリップフロップに供給されるクロック信号に同期して動作する論理回路の消費電力を算出する装置において、
前記基本セルおよびフリップフロップのそれぞれの、論理状態の遷移に伴う消費電力に関する情報を登録したライブラリと、
前記基本セルおよびフリップフロップ相互間の接続の定義と、前記論理回路の複数の入力端子に入力される信号の前記クロック信号の複数周期にわたる変化を定義したテストパターンとに基づいて、前記論理回路の論理シミュレーションを、該論理回路を構成するそれぞれの基本セルの遅延時間を無視するとともに、それぞれのフリップフロップに前記クロック信号の周期に比較して短い固定の遅延時間を与えて行い、前記クロック信号のそれぞれの周期内に発生する前記それぞれの基本セルおよびフリップフロップの状態の遷移を把握する論理シミュレーションツールと、
前記論理シミュレーションツールが把握したそれぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移と、前記ライブラリに登録した消費電力に関する情報とから、該それぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を把握することによって、前記クロック信号のそれぞれの周期内の前記論理回路の消費電力を算出する消費電力算出ツールとを有することを特徴とする消費電力算出装置を提供するものである。
【００１２】
ここで、前記ライブラリは、消費電力に関する情報に加えて、前記複数種の基本セルのそれぞれの遅延時間に関する情報を登録したものであり、
前記消費電力算出ツールは、前記論理シミュレーションツールが把握した前記それぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移の、該それぞれの周期内でのタイミングを、前記ライブラリに登録された遅延時間に関する情報を参照して把握し、前記把握したそれぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を、該把握したそれぞれの周期内でのタイミングに応じて分配した瞬間消費電力を算出する消費電力分配ツールをさらに有することが好ましい。
【００１３】
また、前記消費電力分配ツールは、前記消費電力の分配を、前記クロック信号のそれぞれの周期を複数に分割した単位期間毎に行うことが好ましい。
【００１４】
また、前記消費電力算出ツールは、前記論理回路を構成するそれぞれの基本セルおよびフリップフロップの負荷容量が登録された負荷容量ファイル、もしくは、前記接続の定義を参照して、前記それぞれの基本セルおよびフリップフロップの負荷容量を把握し、該把握した負荷容量に依存した前記それぞれの周期内の前記それぞれの基本セルおよびフリップフロップの消費電力を把握することによって、前記それぞれの周期内の論理回路の消費電力を算出することが好ましい。
【００１５】
また、前記消費電力算出ツールは、前記それぞれの基本セルおよびフリップフロップの負荷容量が登録された負荷容量ファイル、もしくは、前記接続の定義を参照して、前記それぞれの基本セルおよびフリップフロップの負荷容量を把握し、該把握した負荷容量に依存した前記それぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を把握し、
前記消費電力分配ツールは、前記それぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移の、該それぞれの周期内での、前記消費電力算出ツールが把握したそれぞれの基本セルおよびフリップフロップの負荷容量に依存した、タイミングを把握して、前記消費電力の分配を行うことが好ましい。
【００１６】
また、本発明は、複数種の基本セルが組み合わされて構成された複数の組合せ論理回路と複数のフリップフロップとが交互に接続されて構成され、複数の入力端子を有し、前記フリップフロップに供給されるクロック信号に同期して動作する論理回路の消費電力を算出する方法において、
前記基本セルおよびフリップフロップのそれぞれの、論理状態の遷移に伴う消費電力に関する情報を登録したライブラリを用意し、
前記基本セルおよびフリップフロップ相互間の接続の定義と、前記論理回路の複数の入力端子に入力される信号の前記クロック信号の複数周期にわたる変化を定義したテストパターンとに基づいて、前記論理回路の論理シミュレーションを、該論理回路を構成するそれぞれの基本セルの遅延時間を無視するとともに、それぞれのフリップフロップに前記クロック信号の周期に比較して短い固定の遅延時間を与えて行い、前記クロック信号のそれぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの前記クロック信号の状態の遷移を把握し、
前記論理シミュレーションによって把握したそれぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移と、前記ライブラリに登録した消費電力に関する情報とから、該それぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を把握することによって、前記クロック信号のそれぞれの周期内の前記論理回路の消費電力を算出することを特徴とする消費電力算出方法を提供する。
【００１７】
ここで、前記ライブラリを、消費電力に関する情報に加えて、前記複数種の基本セルのそれぞれの遅延時間に関する情報を登録したものとして用意し、
前記論理シミュレーションによって把握した、前記それぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移の、該それぞれの周期内でのタイミングを、前記ライブラリに登録された遅延時間に関する情報を参照して把握し、前記把握したそれぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を、該把握したそれぞれの周期内でのタイミングに応じて分配した瞬間消費電力をさらに算出することが好ましい。
【発明の効果】
【００１８】
本発明では、テストパターンを使用するため、高い消費電力算出精度を実現できる。しかも、基本セルの遅延時間を無視して論理シミュレーションを行うため、短時間で実行することができる。従って、消費電力算出に特化した簡易的な論理シミュレーションツールを備えた消費電力算出装置を構成し、論理シミュレーションを含めた消費電力算出を、一連の処理として、容易に実施することが可能である。
【発明を実施するための最良の形態】
【００１９】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の消費電力算出装置および算出方法を詳細に説明する。
【００２０】
図１は、本発明の消費電力算出装置の構成を表す一実施形態の概略図である。同図に示す消費電力算出装置１０は、例えば、ＣＭＯＳ型の同期回路のように、複数種の基本セルが組み合わされて構成された複数の組合せ論理回路と複数のフリップフロップとが交互に接続されて構成され、複数の入力端子（例えば、半導体集積回路の入力ピン）を有し、フリップフロップに供給されるクロック信号に同期して動作する論理回路（同期回路）の消費電力を算出する（見積もりをする）。
【００２１】
消費電力算出装置１０は、ライブラリ１４と、論理シミュレーションツール２０と、消費電力算出ツール２２とによって構成されている。また、消費電力算出ツール２２は、消費電力分配ツール２４を含む。なお、図１には、説明の都合上、ネットリスト１２と、テストパターン１６と、負荷容量ファイル１８と、シミュレーションファイル２６と、消費電力算出レポート２８も表示されている。
【００２２】
ライブラリ１４は、基本セルおよびフリップフロップのそれぞれの、論理状態の遷移に伴う消費電力に関する情報、すなわち、負荷容量に依存した、基本セルおよびフリップフロップを含む各セルについての１回のトグル当たりの消費電力を登録したデータベースである。また、ライブラリ１４には、消費電力に関する情報に加えて、複数種の基本セルのそれぞれの遅延時間に関する情報（負荷容量に依存した遅延時間情報）も登録されている。
【００２３】
ここで、基本セルは、ＡＮＤ回路、ＯＲ回路、インバータ回路等のように、各種のゲート回路を含む。さらに、各種の複合論理ゲートや、より複雑な論理回路を基本セルとすることも可能である。
【００２４】
続いて、論理シミュレーションツール２０は、論理回路を構成する基本セルおよびフリップフロップ相互間の接続の定義であるネットリスト１２と、論理回路の複数の入力端子に入力される信号の、クロック信号の複数周期にわたる変化を定義したテストパターン１６とに基づいて、論理回路の論理シミュレーションを、論理回路を構成するそれぞれの基本セルの遅延時間を無視するとともに（ゼロ遅延論理シミュレーション）、それぞれのフリップフロップにクロック信号の周期に比較して短い固定の遅延時間、例えば、１ｐｓを与えて行い、クロック信号のそれぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移（トグル情報）を把握（算出）する。
【００２５】
ここで、テストパターン１６は、従来のテストパターンを使用した消費電力の算出方法の場合と同じものを使用する。
【００２６】
消費電力算出ツール２２は、論理シミュレーションツール２０が把握した、それぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移と、ライブラリ１４に登録した消費電力に関する情報とから、それぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を把握することによって、クロック信号のそれぞれの周期内の論理回路の消費電力（時間平均消費電力）を算出する。
【００２７】
さらに、消費電力算出ツール２２は、論理回路を構成するそれぞれの基本セルおよびフリップフロップの負荷容量が登録された負荷容量ファイル１８を参照して、それぞれの基本セルおよびフリップフロップの負荷容量（出力端子に接続される配線と、配線を介して接続される他の基本セルやフリップフロップの入力端子の容量）を把握することもできる。もしくは、接続の定義であるネットリスト１２を参照するとともに、実配線の容量、もしくは、仮想配線の容量を利用して、負荷容量を把握することもできる。そして、把握した負荷容量に依存したそれぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を把握することによって、それぞれの周期内の論理回路の消費電力を算出することもできる。
【００２８】
消費電力分配ツール２４は、論理シミュレーションツール２０が把握したそれぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移の、それぞれの周期内でのタイミングを、ライブラリ１４に登録された遅延時間に関する情報を参照して把握する。そして、把握したそれぞれの周期内のそれぞれの基本セルおよびフリップフロップの消費電力を、把握したそれぞれの周期内でのタイミングに応じて分配した瞬間消費電力（ピークパワー）を算出する。
【００２９】
消費電力分配ツール２４は、消費電力の分配を、クロック信号のそれぞれの周期を複数に分割した単位期間毎、例えば、１ｎｓ毎に行う。さらに、消費電力分配ツール２４は、クロック信号のそれぞれの周期内に発生するそれぞれの基本セルおよびフリップフロップの状態の遷移の、それぞれの基本セルおよびフリップフロップの負荷容量（消費電力算出ツール２２が把握したものであってもよい）に依存した、タイミングを把握して、消費電力の分配を行うこともできる。
【００３０】
基本的に、消費電力算出装置１０は、コンピュータのメインメモリ上で全ての処理を行う。すなわち、論理シミュレーションツール２０が把握した、各セルのトグル情報をメインメモリ上に保持した状態で、消費電力算出ツール２２が、そのメインメモリ上に保持したトグル情報を受け取って処理を行う。しかし、論理シミュレーションツール２０から、シミュレーション結果となるシミュレーションファイル２６をハードディスクなどの記憶装置に出力し、消費電力算出ツール２２は、記憶装置から、シミュレーションファイル２６を読み出して処理を行うようにすることもできる。この場合にも、シミュレーションファイル２６のファイルサイズが小さいため、記憶装置の記憶容量が不足することは無い。
【００３１】
消費電力の算出には、従来のテストパターンを使用した消費電力の算出方法で用いられる、遅延時間を考慮した論理シミュレーションで得られる情報は過剰である。本発明では、消費電力の算出に特化し、そのために必要十分な情報が得られるゼロ遅延論理シミュレーションを行う。
【００３２】
ゼロ遅延論理シミュレーションでは、各々のフリップフロップにおけるセットアップエラーおよびホールドタイムエラーは無視される。ただし、全てのフリップフロップは、その次段のフリップフロップでのホールドタイムエラーによるデータの突き抜けを防止するために、その出力信号に、クロック信号の周期に比較して短い固定の遅延時間、例えば、１ｐｓを与える（設定する）。
【００３３】
本発明の消費電力算出方法には、時間平均消費電力の算出方法と、ピークパワー（瞬間最大消費電力）の算出方法の２通りがある。まず、時間平均消費電力の算出方法について説明する。
【００３４】
時間平均消費電力を算出する場合、図２のフローチャートに示すように、論理シミュレーションツール２０により、論理回路のネットリスト１２と、テストパターン１６とに基づいて、消費電力算出に特化したゼロ遅延論理シミュレーションを行う。そして、論理シミュレーションの結果から、クロック信号のそれぞれの周期内に発生する各セルの状態の遷移（トグル情報）を把握し、全ノードにトグル情報を割り当てる。
【００３５】
論理シミュレーションを行う時には、各セルのどの入力端子が変化して、その出力端子がトグルしたのかという情報を取得することが望ましい。セルの種類によっては、複数の入力端子の内のどの入力端子が変化してその出力端子がトグルしたかによって、消費電力が異なる場合がある。そのような場合に、変化した入力端子の情報を参照することで消費電力の算出精度を向上させることができる。
【００３６】
前述の通り、論理シミュレーションツール２０から、シミュレーション結果となるシミュレーションファイル２６を記憶装置に出力することもできる。本発明の消費電力算出方法では、ゼロ遅延論理シミュレーションを行う。そのため、従来と比べて、シミュレーション時間を大幅に短縮することができ、かつ、シミュレーションファイル２６のファイルサイズも大幅に小さくできるという利点がある。
【００３７】
続いて、消費電力算出ツール２２により、論理シミュレーションツール２０が把握したクロック信号のそれぞれの周期内に発生する各セルの状態の遷移と、ライブラリ１４に登録された、各セルの論理状態の遷移に伴う消費電力に関する情報とから、クロック信号のそれぞれの周期内の各セルの消費電力を把握する。そして、クロック信号のそれぞれの周期内の論理回路の消費電力を算出して、消費電力算出レポート２８を出力する。
【００３８】
消費電力算出ツール２２は、さらに、負荷容量ファイル１８、もしくは、ネットリスト１２を参照して、各セルの負荷容量を把握し、把握した負荷容量に依存したそれぞれの周期内の各セルの消費電力を把握することによって、それぞれの周期内の論理回路の消費電力を算出することもできる。これにより、各セルの負荷容量を考慮した消費電力を算出することができる。
【００３９】
論理シミュレーションツール２０から、シミュレーションファイル２６を記憶装置に出力した場合、消費電力算出ツール２２は、記憶装置から、シミュレーションファイル２６を読み出して処理を行うこともできる。例えば、論理回路の各ブロックの電源電圧を変えて消費電力の算出を複数回行う時等に、シミュレーションファイルを使用することによって、論理シミュレーションを繰り返し行う必要がない。消費電力の算出だけをやり直せばよいので、消費電力の算出にかかる時間を大幅に削減できる。
【００４０】
次に、ピークパワーの算出方法について説明する。
【００４１】
ピークパワーの算出は、時間平均消費電力を算出した後で行う。ピークパワーを算出する場合、消費電力分配ツール２４により、時間平均消費電力を算出する時に論理シミュレーションツール２０が把握したクロック信号のそれぞれの周期内に発生する各セルの状態の遷移の、クロック信号のそれぞれの周期内でのタイミングを把握する。これは、ライブラリ１４に登録された各セルの遅延時間に関する情報を参照して行われる。
【００４２】
続いて、消費電力分配ツール２４は、消費電力算出ツール２２が把握したクロック信号のそれぞれの周期内の各セルの消費電力を、把握したクロック信号のそれぞれの周期内でのタイミングに応じて分配し、消費電力算出レポート２８を出力する。
【００４３】
消費電力分配ツール２４は、さらに、クロック信号のそれぞれの周期内に発生する各セルの状態の遷移の、それぞれの周期内でのタイミングを、消費電力算出ツール２２が把握した各セルの負荷容量に依存したタイミングとして把握して、消費電力の分配を行うこともできる。
【００４４】
各セルのトグル情報は、ゼロ遅延論理シミュレーションによって、クロック信号のそれぞれの周期内では同一時刻に発生したものとして得られる。しかし、前述の通り、各セルのトグルが、クロック信号のそれぞれの周期内のどのタイミングで発生するかは、ライブラリ１４に登録された遅延時間に関する情報を参照して把握することができる。消費電力分配ツール２４は、この情報を利用して、各セルの消費電力を、クロック信号のそれぞれの周期内で分配する。この分配は、例えば１ｎｓの単位時間（通常は、クロック信号の周期を等間隔に分割した単位時間）毎に行うことができる。
【００４５】
消費電力分配ツール２４が行うタイミングの把握は、例えば、ＳＴＡ（静的タイミング解析）ツールなどと同様の遅延計算エンジンを利用して行うことができる。しかし、ピークパワーの算出の場合、例えば、ｎｓ単位のタイミングが把握できれば十分である。従って、ＳＴＡを行う場合に比較して精度を落としても問題はない。これによって、遅延計算に要する時間を削減することができる。
【００４６】
次に、一例を挙げて、本発明の消費電力算出方法を具体的に説明する。
【００４７】
図３は、論理回路の一部の構成を表す一実施形態の概略図である。同図には、論理回路（同期回路）３０の一部分である、２つのフリップフロップＦＦ１，ＦＦ２と、その間に設けられた組合せ論理回路３２とを示している。同図には、組合せ論理回路３２を構成する基本セルとして、ＡＮＤ回路ＡＮＤ１，ＡＮＤ２と、ＯＲ回路ＯＲ１とが示されている。また、これ以外の回路構成については、説明を簡単化するため概念的に表されている。
【００４８】
フリップフロップＦＦ１，ＦＦ２のクロック入力端子にはクロック信号ｃｌｋが入力されている。フリップフロップＦＦ１の出力信号は、組合せ論理回路３２に入力されるｉｎ１として２つのＡＮＤ回路ＡＮＤ１，ＡＮＤ２のそれぞれの一方の入力端子に入力されている。ＡＮＤ回路ＡＮＤ１，ＡＮＤ２の出力信号ｓｉｇ１，ｓｉｇ２はＯＲ回路ＯＲ１に入力され、ＯＲ回路ＯＲ１の出力信号ｓｉｇ３は、組合せ論理回路３２の出力信号として、フリップフロップＦＦ２のデータ入力端子に入力されている。
【００４９】
図示していないが、フリップフロップＦＦ１のデータ入力端子には、他の組合せ論理回路からの出力信号が入力される。標準入力（半導体集積回路の入力ピン）に入力された信号を、入力バッファ回路を介して入力することや、メモリセルやその他のマクロセルの出力端子からの信号を入力することも可能である。ＡＮＤ回路ＡＮＤ１，ＡＮＤ２の他方の入力端子には、組合せ論理回路３２を構成する他の基本セルの出力信号が入力される。注目する時間範囲内において、ＡＮＤ回路ＡＮＤ１の他方の入力端子に入力される信号は‘１’の状態を保ち、ＡＮＤ回路ＡＮＤ２の他方の入力端子に入力される信号は‘０’の状態を保つとする。フリップフロップＦＦ２からは出力信号ｏｕｔ１が出力されている。出力信号ｏｕｔ１は、他の組合せ論理回路に入力される。メモリセルやマクロセルの入力端子に入力することや、標準出力（半導体集積回路の出力ピン）に出力バッファを介して入力することも可能である。
【００５０】
次に、論理回路３０の動作を説明する。
【００５１】
以下の説明では、クロック信号ｃｌｋの第１の立ち上がりエッジのタイミングにおいてフリップフロップＦＦ１のデータ入力端子に入力される信号が‘１’であり、続く、クロック信号の第２の立ち上がりエッジのタイミングにおいてフリップフロップＦＦ１のデータ入力端子に入力される信号が‘０’であるものとする。なお、ＡＮＤ回路ＡＮＤ２の他方の入力端子の信号は‘０’で一定であるため、その出力信号ｓｉｇ２は‘０’で一定である。
【００５２】
クロック信号ｃｌｋの第１の立ち上がりエッジから所定の遅延時間だけ遅れて、フリップフロップＦＦ１の出力信号ｉｎ１は‘１’となる。これにより、ＡＮＤ回路ＡＮＤ１の出力信号ｓｉｇ１が‘１’となり、ＯＲ回路ＯＲ１の出力信号ｓｉｇ３も‘１’となる。そして、フリップフロップＦＦ２の出力信号ｏｕｔ１は、クロック信号ｃｌｋの第２の立ち上がりエッジから所定の遅延時間だけ遅れて‘１’となる。
【００５３】
また、クロック信号ｃｌｋの第２の立ち上がりエッジから所定の遅延時間だけ遅れて、フリップフロップＦＦ１の出力信号ｉｎ１は‘０’となる。これにより、ＡＮＤ回路ＡＮＤ１の出力信号ｓｉｇ１が‘０’となり、ＯＲ回路ＯＲ１の出力信号ｓｉｇ３も‘０’となる。そして、フリップフロップＦＦ２の出力信号ｏｕｔ１は、クロック信号ｃｌｋの第３の立ち上がりエッジから所定の遅延時間だけ遅れて‘０’となる。
【００５４】
従来のテストパターンを使用した消費電力の算出方法では、フリップフロップＦＦ１，ＦＦ２と、ＡＮＤ回路ＡＮＤ１，ＡＮＤ２およびＯＲ回路ＯＲ１などの基本セルとを含む、各セルの遅延時間を考慮して論理シミュレーションが行われる。従って、図４（Ａ）のタイミングチャートに示すように、各基本セルの出力信号は、前段のセルから、各基本セル自身による遅延時間に相当する時間ずつ順次ずれて変化する。また、フリップフロップＦＦ１，ＦＦ２の出力信号は、クロック信号ｃｌｋの立ち上がりから、フリップフロップＦＦ１，ＦＦ２自身の遅延時間に相当する所定の時間の後に変化する。
【００５５】
これに対し、本発明の消費電力算出方法では、各セルの遅延時間を無視した論理シミュレーション（ゼロ遅延論理シミュレーション）が行われる。従って、図４（Ｂ）のタイミングチャートに示すように、各基本セルの出力信号は、フリップフロップＦＦ１の出力信号ｉｎ１が変化したタイミングと同じタイミングで変化する。なお、それぞれのフリップフロップは、その次段のフリップフロップでのデータの突き抜け（ホールドタイムエラー）を防止するために、その出力信号が、クロック信号ｃｌｋの周期に比較して短い固定の遅延時間、例えば、１ｐｓの後に変化するように設定される。
【００５６】
次に、図５および図６のグラフを参照して、図３に示す論理回路３０の時間平均消費電力およびピークパワーの算出結果の一例を説明する。これらのグラフの縦軸は消費電力［μＷ］、横軸はシミュレーション時刻［ｎｓ］を表す。また、これらのグラフでは、図４（Ｂ）のタイミングチャートに合わせてクロック信号の周期を６ｎｓとしている。
【００５７】
ここで、ライブラリ１４に登録された、各セルの論理状態の遷移に伴う消費電力に関する情報から把握される、クロック信号ｃｌｋの１周期の間の各セルの消費電力は以下の通りである。
【００５８】
（１）ＦＦ１：３μＷ（そのうち、クロック端子による消費電力が０．５μＷ）
（２）ＡＮＤ１：１．５μＷ
（３）ＡＮＤ２：０Ｗ（トグルが発生しないため）
（４）ＯＲ１：２μＷ
（５）ＦＦ２：２．５μＷ（そのうち、クロック端子による消費電力が０．５μＷ）
【００５９】
図４（Ｂ）に示した、論理シミュレーションツール２０による、消費電力算出に特化したゼロ遅延論理シミュレーションの結果、および、上記のように把握した消費電力に関する情報にもとづいて、クロック信号の３周期の期間内に消費される電力を、１ｎｓの期間毎に算出すると、図５のようになる。これを３周期分の合計時間１８ｎｓで割ると、時間平均消費電力を算出することができる。すなわち、論理回路３０の、図３に示した部分の、上記期間の時間平均消費電力は、以下の通りである。
（７μＷ＋９μＷ＋３μＷ）×１ｎｓ／１８ｎｓ＝１．１μＷ
【００６０】
図５のグラフの、６ｎｓから始まるクロック信号の周期内において、６〜７ｎｓの期間は、フリップフロップＦＦ１の消費電力（１）＝３μＷと、ＡＮＤ回路ＡＮＤ１の消費電力（２）＝１．５μＷと、ＯＲ回路ＯＲ１の消費電力（４）＝２μＷと、フリップフロップＦＦ２のクロック端子による消費電力（５）＝０．５μＷとの合計で７．０μＷである。その後、７〜１２ｎｓの期間は、いずれの基本セルもしくはフリップフロップにおいてもトグルは発生しないため、消費電力は０である。
【００６１】
次に、１２ｎｓから始まるクロック信号の周期内において、１２〜１３ｎｓの期間は、フリップフロップＦＦ１の消費電力（１）＝３μＷと、ＡＮＤ回路ＡＮＤ１の消費電力（２）＝１．５μＷと、ＯＲ回路ＯＲ１の消費電力（４）＝２μＷと、フリップフロップＦＦ２の消費電力（５）＝２．５μＷとの合計で９μＷである。その後、１３〜１８ｎｓの期間は、トグルが発生しないため、消費電力は０である。そして、１８ｎｓから始まるクロック信号の周期内において、１８〜１９ｎｓの期間は、フリップフロップＦＦ１のクロック端子による消費電力（１）＝０．５μＷと、フリップフロップＦＦ２の消費電力（５）＝２．５μＷとの合計で３μＷである。
【００６２】
なお、図５では、１ｎｓの期間毎に消費電力を算出したため、クロック信号のそれぞれの周期内の特定の１ｎｓの期間内に電力が消費されるという結果が得られた。しかし、時間平均消費電力の算出において必要なのは、クロック信号の各周期内の消費電力のみであり、図５に示された、それぞれの周期内での電力消費のタイミングの情報は不要である。さらにいえば、図４（Ｂ）に示された、それぞれのフリップフロップもしくは基本セルの出力信号が変化するタイミングの情報も、時間平均消費電力の算出のためには不要である。クロック信号のそれぞれの周期内に発生する、それぞれの基本セルおよびフリップフロップの状態の遷移が把握できれば、すなわち、それぞれの周期内に、どの基本セルおよびフリップフロップの状態の遷移が発生するかが把握できれば、ライブラリに登録された消費電力に関する情報を参照して、それぞれの周期内の消費電力を算出し、時間平均消費電力を算出することができる。
【００６３】
図示は省略するが、図３に示した部分のフリップフロップＦＦ１，ＦＦ２および組合せ論理回路３２の前段および後段に、さらに複数段のフリップフロップと組合せ論理回路とが交互に接続されて、論理回路３０が構成される。この論理回路３０の複数の入力端子（半導体集積回路の入力端子や、メモリセルやその他のマクロセルからの信号が入力される端子、等）に、クロック信号の複数周期にわたる信号の論理値の変化を定義したテストパターンを入力した結果、図４に示した期間内において、図３に示した部分のフリップフロップおよび基本セルが、図４でシミュレーションしたような状態の遷移を行い、その部分の消費電力が、図５に示したように算出される。実際には、論理回路全体について同様の論理シミュレーションを行って消費電力を算出し、テストパターンの全期間（もしくは、任意の一部の期間）についての時間平均消費電力を求める。
【００６４】
続いて、クロック信号の周期内での消費電力の分配によるピークパワーの算出について説明する。消費電力の分配のため、消費電力分配ツール２４は、ライブラリ１４に登録された、各セルの遅延時間に関する情報を参照して、クロック信号のそれぞれの周期内で、それぞれの基本セルおよびフリップフロップの状態が遷移するタイミングを把握する。ここで、図３の組合せ論理回路３２において、クロック信号ｃｌｋのそれぞれの立ち上がりエッジから、それぞれの基本セルの入力端子に信号が到達（伝播）するまでの時間（フリップフロップＦＦ１，ＦＦ２については、クロック端子にクロック信号が到達するまでの時間）が、以下のように把握されるとする。
【００６５】
（１）ＦＦ１：０ｎｓ
（２）ＡＮＤ１：１．５ｎｓ
（４）ＯＲ１：３．３ｎｓ
（５）ＦＦ２：０ｎｓ
【００６６】
ここで、ＡＮＤ回路ＡＮＤ２については、注目する時間範囲内には状態遷移は発生しない。ＡＮＤ回路ＡＮＤ１については、クロック信号ｃｌｋの立ち上がりエッジから、ライブラリ１４に登録された、フリップフロップＦＦ１の遅延時間の後に、入力端子に信号が到達する。ＯＲ回路ＯＲ１については、ＡＮＤ回路ＡＮＤ１の出力端子の信号ｓｉｇ１が変化した時点で入力端子の信号が変化するので、ライブラリ１４に登録された、フリップフロップＦＦ１の遅延時間とＡＮＤ回路ＡＮＤ１の遅延時間とを合計した時間において、入力端子に信号が到達する。
【００６７】
厳密には、入力端子（フリップフロップの場合はクロック端子）に信号が到達してから、出力端子に出力されるまでの間で、基本セルもしくはフリップフロップの状態が遷移し、電力が消費される。しかしここでは、入力端子に信号が到達した時点で状態の遷移が発生し、電力が消費されると見なして、分配を行う。
【００６８】
この、把握した、各セルの状態が遷移するタイミングに応じて各セルの消費電力結果を分配すると、図６に示すようなピークパワーの算出結果を得ることができる。図６において、点線は、ピークパワーの遷移状態を表す。
【００６９】
図６のグラフにおいて、クロック信号の周期（６ｎｓ）を分割した１ｎｓの単位期間毎に、消費電力の分配を行った。まず、６ｎｓから始まるクロック信号の周期内において、フリップフロップＦＦ１の状態遷移は０ｎｓ後に発生するので、フリップフロップＦＦ１の消費電力（１）＝３μＷと、フリップフロップＦＦ２のクロック端子による消費電力（５）＝０．５μＷとが、６〜７ｎｓの期間に分配される。次に、ＡＮＤ回路ＡＮＤ１の状態遷移は１．５ｎｓ後に発生するので、ＡＮＤ回路ＡＮＤ１の消費電力（２）＝１．５μＷが、７〜８ｎｓの期間に分配される。さらに、ＯＲ回路ＯＲ１の状態遷移は３．３ｎｓ後に発生するので、ＯＲ回路ＯＲ１の消費電力（４）＝２μＷが、９〜１０ｎｓの期間に分配される。１２ｎｓから始まるクロック信号の周期内、および、１８ｎｓから始まるクロック信号の周期内においても、同様に分配が行われる。
【００７０】
以上のようにして、時間平均消費電力およびピークパワーを算出することができる。なお、論理回路３０の図３に示した部分には、クロック信号ｃｌｋの立ち上がりエッジで動作するフリップフロップＦＦ１，ＦＦ２のみが含まれている。従って、図４（Ｂ）に示すように、本発明で利用するゼロ遅延論理シミュレーションでは、クロック信号ｃｌｋの立ち上がりエッジから固定遅延時間の後にそれぞれの基本セルの状態の遷移が発生する。そして、時間平均消費電力算出においては、図５に示されるように、クロック信号ｃｌｋの隣り合う立ち上がりエッジ間を周期として、それぞれの周期内に消費される電力が算出される。さらに、ピーク電力算出においては、図６に示すように、それぞれの、隣り合う立ち上がりエッジ間の周期内での、遷移のタイミングに応じて消費電力が分配される。しかし、クロック信号ｃｌｋの立ち下がりエッジで動作するフリップフロップ、および、そのフリップフロップの出力を入力信号とする組合せ論理回路を構成する基本セルの状態は、本発明のゼロ遅延論理シミュレーションでは、クロック信号ｃｌｋの立ち下がりエッジから固定遅延時間の後に遷移する。このようなフリップフロップおよび基本セルの消費電力についても、同様に扱うことができる。すなわち、時間平均消費電力算出においては、クロック信号ｃｌｋの、隣り合う立ち下がりエッジ間を周期として、それぞれの周期内に消費される電力が算出される。そして、隣り合う立ち上がりエッジ間の周期内に消費される電力とともに、平均化することが可能である。さらに、ピークパワーの算出においては、それぞれの、隣り合う立ち下がりエッジ間の周期内での、遷移のタイミングに応じて消費電力が分配される。そして、隣り合う立ち上がりエッジ間の周期内で分配された消費電力と合算することが可能である。
【００７１】
ここで、ライブラリ１４に登録された、論理状態の遷移に伴う消費電力に関する情報（消費電力テーブル）、および遅延時間の情報（遅延時間テーブル）について一例を挙げて説明する。
【００７２】
ライブラリ１４には、論理状態の遷移に伴う消費電力に関する情報および遅延時間に関する情報が、例えば、下記表１〜３のように登録されている。ここで、表１には、ＡＮＤ回路ＡＮＤ１，ＡＮＤ２の消費電力および遅延時間の情報が登録されている。同様に、表２にはＯＲ回路ＯＲ１、表３にはフリップフロップＦＦ１，ＦＦ２の消費電力および遅延時間の情報が登録されている。Ａ１，Ａ２は入力端子、Ｚは出力端子、ＣＫはクロック入力端子、Ｄはデータ入力端子、Ｑはデータ出力端子、ｐｏｗｅｒ（μＷ）は消費電力、ｄｅｌａｙ（ｎｓ）は遅延時間を表す。
【００７３】
【表１】
2009025884.tif 000003
【００７４】
【表２】
2009025884.tif 000004
【００７５】
【表３】
2009025884.tif 000005
【００７６】
表１〜３において、ｒは‘０’から‘１’、ｆは‘１’から‘０’への信号の遷移を意味する。出力端子（ＺまたはＱ）の信号遷移時の入力端子（Ａ１，Ａ２，ＣＫ）のｒ／ｆは、その入力端子の信号遷移に起因して出力端子の信号が遷移したことを表す。また、出力端子の‘−’は、状態遷移なしを意味する。
【００７７】
表１〜３には、それぞれの入力端子および出力端子の状態の遷移に対して１つの消費電力および遅延時間のみが示されているが、実際には、負荷容量に依存した値として、異なる負荷容量の場合について、その各々の場合の消費電力および遅延時間が登録される。そして、負荷容量ファイル１８、もしくは、ネットリスト１２を参照して把握した負荷容量に応じて、登録された、もしくは、登録された値からの補間によって算出した消費電力および遅延時間が利用される。
【００７８】
なお、実際には、表１〜３のように、様々な場合毎に異なる消費電力が登録される。さらに、表１〜３には示されていないが、負荷容量に依存した値として消費電力および遅延時間が登録される。段落００５８に示した消費電力、および、段落００６４に示した信号到達時間は、場合分けをせずに、かつ、特定の負荷容量の場合について算出した例である。
【００７９】
また、表３に示されたように、フリップフロップＦＦ１，ＦＦ２は、クロック信号ｃｌｋの立ち下がりのタイミングでも電力を消費する。図５では省略されているが、クロック信号ｃｌｋの立ち下がりエッジのタイミングでの消費電力を分けて算出することも可能である。フリップフロップＦＦ１，ＦＦ２は、さらに、データ入力端子の状態の変化によっても電力を消費する。図６では省略されているが、ピークパワーの算出において、フリップフロップのデータ入力端子の遷移による消費電力を、その遷移のタイミングに応じて分配することも可能である。
【００８０】
図５には示していないが、この他に、配線容量と次段セルの入力端子容量の充放電による消費電力も別途計算され、加算される。配線容量および次段セルの入力端子の容量の充放電による消費電力は、例えば、容量Ｃと電圧Ｖとから算出される（１／２×ＣＶ2）。ピークパワーの算出においては、充放電による消費電力についても、例えば、それぞれの配線および入力端子が接続されたフリップフロップもしくは基本セルの状態が遷移するタイミングに応じて、分配することができる。
【００８１】
表１〜３は、入力端子または出力端子の信号の論理状態が変化する（トグルする）ことによるＡＣ的な電力を登録したものである。これは、例えば、特開平６−３１７６１６号公報の図４に対応するものである。実際には、これに加えて、特開平６−３１７６１６号公報の図５のような、入出力の端子の状態の組合せに依存するＤＣ消費電力が登録される。正確には、ＡＣ消費電力とＤＣ消費電力の両方が加算されて、消費電力が算出される。
【００８２】
本発明のゼロ遅延論理シミュレーションでは、フリップフロップに与えた遅延時間の後に、それぞれの組合せ論理回路の入力側から出力側までの全てのノードの論理状態が決定する。すなわち、組合せ論理回路を構成する全ての基本セルの入力端子および出力端子の論理状態が決定する。この、決定した状態に対応するそれぞれの基本セルのＤＣ消費電力を、クロック信号の該当する周期内のＤＣ消費電力とすることができる。すなわち、基本セルのＤＣ消費電力の把握は、それぞれの周期内において１回（クロック信号の立ち上がりエッジで動作するフリップフロップと、立ち下がりエッジで動作するフリップフロップの両方を含む論理回路の場合には、立ち上がりエッジ間の周期内と、立ち下がりエッジ間の周期内とのそれぞれについて、１回）のみ行えばよい。
【００８３】
これに対して、従来の遅延時間を考慮した論理シミュレーションでは、それぞれの組合せ論理回路を構成する基本セルの入力端子および出力端子の状態が、クロック信号のそれぞれの周期内の異なるタイミングにおいて順番に決定されていく。従って、それぞれの周期内で、入力端子の状態と出力端子の状態とのさまざまな組み合わせが発生し、ＤＣ消費電力の算出を複数回行うことが必要になる。
【００８４】
基本セルのＤＣ消費電力は、一般的に、状態の違いによる変化が小さい。このため、遅延時間を無視した本発明の論理シミュレーションによっても十分な精度を得ることができる。なお、クロック信号の周期内でＡＣ消費電力の分配を行ってピーク消費電力を求める場合であっても、ＤＣ消費電力については、分配を行う必要はない。
【００８５】
従来の消費電力の算出方法では、それぞれの基本セルの遅延時間を考慮した論理シミュレーションを行うため、シミュレーションに長い時間を要する。従って、例えば、論理検証のための論理シミュレーションを行い、シミュレーションファイルを出力した後、そのシミュレーションファイルを使用して消費電力を算出する２段階の処理が行われていた。これに対し、本発明では、消費電力算出に特化した論理シミュレーション（それぞれの基本セルの遅延時間を無視したゼロ遅延論理シミュレーション）を行う論理シミュレーションツール２０と、消費電力算出ツール２２とを備えた消費電力算出装置１０内で、論理シミュレーションと消費電力算出とを、一連の処理として実施する。ゼロ遅延論理シミュレーションは、短時間で実行することができる。しかも、消費電力算出を一連の処理として実施することができるため、消費電力算出全体の処理を、従来の方法に比較してはるかに短い時間で、かつ、簡素な処理で実施することができる。
【００８６】
また、ゼロ遅延論理シミュレーションによって形成されるシミュレーションファイルは、容量が小さい。従って、シミュレーションファイルを記憶装置に出力することなく、論理シミュレーションツール２０および消費電力算出ツール２２とを実現するプログラムを実行するコンピュータのメインメモリ上に保持したまま、論理シミュレーションと消費電力算出とを連続して実行することがきる。
【００８７】
本発明では、上記の通り、シミュレーションファイルを出力して記憶装置に格納することなく、論理シミュレーションと消費電力算出とを連続的に行うことができる。さらに、本発明では、シミュレーションファイルを記憶装置に格納することもできる。この場合でも、従来と比べて圧倒的にファイルサイズが小さいので、ファイルを記憶する記憶装置の容量を気にする心配もない。
【００８８】
この場合、ゼロ遅延論理シミュレーションによって得られる、クロック信号のそれぞれの周期内に発生する各セルの端子（各ノード）のトグル（論理状態の遷移）の、周期内での発生のタイミングの情報を含んだシミュレーションファイルを、そのまま、記憶装置に格納することも可能である。しかし、ゼロ遅延論理シミュレーションによって得られるトグルタイミング（クロック信号ｃｌｋのそれぞれのエッジから、固定の遅延時間の経過後）の情報は、消費電力算出には不要である。従って、それぞれの周期内に発生する各セルのトグルの情報だけを記録することによって、そのファイルサイズを大幅に削減できる。また、シミュレーションファイル２６は、アスキーファイルの形式でもよいが、バイナリファイルの形式で記憶することによって、ファイルサイズをさらに削減することができる。
【００８９】
なお、本発明は、どのような構成の論理回路にも適用可能である。図３には、論理回路３０の、フリップフロップＦＦ１，ＦＦ２の間に組合せ論理回路３２が接続された部分のみを示したが、実際には、さまざまな組合せ論理回路と、多数のフリップフロップとが、多段にわたって、さまざまに枝分かれしながら接続された論理回路を、本発明の算出装置もしくは算出方法による消費電力算出の対象とすることができる。消費電力算出の対象とする論理回路は、フリップフロップ、および、基本セルを組み合わせて構成した組合せ論理回路に加えて、各種のマクロセル等を含むことも可能である。マクロセルについても、それぞれの端子の状態の遷移に伴う消費電力がライブラリに登録されている場合には、本発明の算出装置および算出方法による消費電力算出が可能である。また、ゼロ遅延論理シミュレーションを行う時のフリップフロップの出力信号の固定遅延時間、および、消費電力分配ツールが、消費電力の分配を行う単位期間は、何ら限定されず、０よりも長く、かつ、クロック信号の周期よりも短い時間であればよい。両者の大小関係は限定されないが、通常、固定遅延時間よりも単位期間の方を大きくすることが好ましい。さらに、本発明は、コンピュータ上で動作するプログラムによって実現することも可能である。
【００９０】
本発明は、基本的に以上のようなものである。
以上、本発明の消費電力算出装置および算出方法について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【図面の簡単な説明】
【００９１】
【図１】本発明の消費電力算出装置の構成を表す一実施形態の概略図である。
【図２】本発明の消費電力算出方法の工程を表すフローチャートである。
【図３】論理回路の構成を表す一実施形態の概略図である。
【図４】（Ａ）および（Ｂ）は、それぞれ、図３に示す回路に対する、従来の論理シミュレーション結果および本発明の論理シミュレーション結果を表すタイミングチャートである。
【図５】本発明に係る時間平均消費電力の算出結果を表すタイミングチャートである。
【図６】本発明に係るピークパワーの算出結果を表すタイミングチャートである。
【図７】従来のテストパターンを使用した消費電力の算出方法の工程を表すフローチャートである。
【符号の説明】
【００９２】
１０  消費電力算出装置
１４  ライブラリ
１２  ネットリスト
１６  テストパターン
１８  負荷容量ファイル
２０  論理シミュレーションツール
２２  消費電力算出ツール
２４  消費電力分配ツール
２６  シミュレーションファイル
２８  消費電力算出レポート
３０  論理回路（同期回路）
３２  組合せ論理回路
ＦＦ１，ＦＦ２  フリップフロップ
ＡＮＤ１，ＡＮＤ２  ＡＮＤ回路
ＯＲ１  ＯＲ回路
【図１】
2009025884.tif 000006
【図２】
2009025884.tif 000007
【図３】
2009025884.tif 000008
【図４】
2009025884.tif 000009
【図５】
2009025884.tif 000010
【図６】
2009025884.tif 000011
【図７】
2009025884.tif 000012